diff --git a/src/events/RE/reCitizenHookup.js b/src/events/RE/reCitizenHookup.js index 159cb62000f4c10e839d60c98c6d5e403611bd02..e98214b5602e45b3d845660479ef4adb4e2ad88b 100644 --- a/src/events/RE/reCitizenHookup.js +++ b/src/events/RE/reCitizenHookup.js @@ -1,13 +1,13 @@ App.Events.RECitizenHookup = class RECitizenHookup extends App.Events.BaseEvent { eventPrerequisites() { return [ - () => V.ConcubineID !== 0 + () => V.policies.regularParties === 1, ]; } execute(node) { let r = []; - let _repopHookupPregnant; + let repopHookupPregnant; V.nextButton = "Continue"; V.nextLink = "RIE Eligibility Check"; @@ -18,7 +18,8 @@ App.Events.RECitizenHookup = class RECitizenHookup extends App.Events.BaseEvent } } const FS = fsArray.random(); - const fsAdj = (fsArray.length > 0) ? App.Data.FutureSociety.get(FS).adj : "none"; + console.log(FS); + const fsAdj = (fsArray.length > 0) ? App.Data.FutureSociety.records[FS].adj : "none"; r.push(`At night, the best living areas in the arcology offer a constant mélange of selective entertainments. There's a perpetual social scrum of who is to be invited to what going on, and you occupy a preeminent place atop it, mostly aloof from the struggles of your citizens for recognition and influence. You're invited to almost everything, since everyone who lives here knows the value of being in favor with the owner of the arcology. Invitations to your parties, of course, are some of the most valuable social currency in the arcology and one of ${V.assistant.name}'s most important duties is to help you manage them without wasting your valuable time. It's not actually necessary for you to attend your own parties, since almost everyone will be glad to be seen in the entertainment area of the penthouse whether or not the`); if (V.PC.title === 1) { @@ -26,8 +27,9 @@ App.Events.RECitizenHookup = class RECitizenHookup extends App.Events.BaseEvent } else { r.push(`proprietress`); } - r.push(` is actually present.`); - // <br><br> + r.push(`is actually present.`); + App.Events.addParagraph(node, r); + r = []; r.push(`But tonight, you've put in an appearance. Your citizens are drinking your`); if (V.arcologies[0].FSPastoralist !== "unset") { r.push(`milk`); @@ -36,7 +38,7 @@ App.Events.RECitizenHookup = class RECitizenHookup extends App.Events.BaseEvent } else { r.push(`alcohol`); } - r.push(` and eating your food, though of course they helped pay for it through their rent. They're performing a complex dance of social dominance, and it all radiates around you, with complex unspoken rules of collective approval governing which citizens cycle past you for a word, and for how long. During a low point in the ebb and flow,`); + r.push(`and eating your food, though of course they helped pay for it through their rent. They're performing a complex dance of social dominance, and it all radiates around you, with complex unspoken rules of collective approval governing which citizens cycle past you for a word, and for how long. During a low point in the ebb and flow,`); switch (fsAdj) { case "Subjugationist": case "Supremacist": @@ -50,10 +52,10 @@ App.Events.RECitizenHookup = class RECitizenHookup extends App.Events.BaseEvent break; case "Repopulationist": if (V.arcologies[0].FSRepopulationFocusLaw === 1 && (random(1, 10) > 3)) { - _repopHookupPregnant = 1; + repopHookupPregnant = 1; r.push(`a heavily pregnant young lady`); } else { - _repopHookupPregnant = 0; + repopHookupPregnant = 0; r.push(`a pretty, fertile young woman with wide, child-bearing hips`); } break; @@ -138,12 +140,13 @@ App.Events.RECitizenHookup = class RECitizenHookup extends App.Events.BaseEvent default: r.push(`a pretty young woman`); } - r.push(`sidles up to you. She begins to introduce herself, but one of the advantages of your connection to the arcology is that you always know who everyone is, and you greet her by name, which people have never learned not to be impressed by. She gushes about some of your recent `); + r.push(`sidles up to you. She begins to introduce herself, but one of the advantages of your connection to the arcology is that you always know who everyone is, and you greet her by name, which people have never learned not to be impressed by. She gushes about some of your recent`); if (fsAdj !== "none") { r.push(fsAdj); } r.push(`actions, displaying an unusual grasp of what you've been planning. Despite her sincere interest, she's obviously got something else on her mind.`); - // <br><br> + App.Events.addParagraph(node, r); + r = []; r.push(`She's yours for the taking, if you want her, and if her praise and proximity weren't enough to make that clear, she manages to`); switch (fsAdj) { case "Subjugationist": @@ -157,7 +160,7 @@ App.Events.RECitizenHookup = class RECitizenHookup extends App.Events.BaseEvent r.push(`press her flirting as far she can decorously take it, batting her eyes at you coquettishly.`); break; case "Repopulationist": - if (_repopHookupPregnant === 1) { + if (repopHookupPregnant === 1) { r.push(`lean back just far enough that her full term, triplets rounded middle splits the front of her overly tight dress.`); } else { r.push(`press her hips up against your own, before leaning in and whispering`); @@ -244,317 +247,296 @@ App.Events.RECitizenHookup = class RECitizenHookup extends App.Events.BaseEvent r.push(`flirt with you quite hard without crossing any lines between a citizen and an arcology owner.`); } r.push(`She's clearly attracted to you; even the most consummate actress would have difficulty fooling you, and her breath is a little quick, her pupils are a bit dilated, and she's blushing cutely. But she's no fool, either. A casual liaison with ${PCTitle()} would be a tremendous social boost for her.`); - // <br><br> + App.Events.addParagraph(node, r); - // <span id="result"> - // <<link "Keep aloof without offending her">> - // <<replace "#result">> - r.push(`You thank her for her praise, weighting the words in just the right way to communicate that you consider her flirtations worthy compliments, and nothing more. She understands immediately, communicating acceptance and pleasure at her own daring with nothing more than a thankful look in your eyes. This is how you approach matters like this. You are the ruler of this place and it behooves you to maintain a balance atop all your citizens without showing any susceptibility to solicitation. A little incident like this has little effect on its own, but your habit of maintaining proper reserve creates a reputation for judiciousness that <span class="green">businesspeople consider attractive for arcology investment.</span>`); - V.arcologies[0].prosperity += 3; - // <</replace>> - // <</link>> - // <br> - // <<link "To them that hath, it shall be given">> - // <<replace "#result">> - r.push(`You're not exactly starved for casual sex, but you've never thought there was any such thing as too much of a good thing. You place a `); - if (V.PC.title === 1) { - r.push(`masculine`); - } else { - r.push(`feminine`); + const choices = [ + new App.Events.Result(`Keep aloof without offending her`, aloof), + new App.Events.Result(`To them that hath, it shall be given`, give) + ]; + if (fsAdj !== "none") { + choices.push(new App.Events.Result(`Emphasize her societal style with exhibitionism`, exhibitionism)); } - r.push(` hand against the small of her back, feeling the warmth of her through the material of her evening wear. You hear a slight gasp from her as she realizes that her gambit has succeeded with more immediate effect than she expected. She shivers with anticipation as you steer her back through a side door, making a discreet exit towards your private suite.`); - if (S.Concubine) { - const { - he, his - } = getPronouns(S.Concubine); - if (S.Concubine.intelligence+S.Concubine.intelligenceImplant > 50) { - r.push(`${S.Concubine.slaveName} is there, of course, and ${he} instantly`); - if (canSee(S.Concubine)) { - r.push(`sees`); - } else { - r.push(`realizes`); - } - r.push(` that ${his} continued presence for a ménage à trois is wanted by both you and your guest.`); - } else if (S.Concubine.intelligence+S.Concubine.intelligenceImplant < -50) { - r.push(`${S.Concubine.slaveName} is there, of course, absentmindly doing whatever it is ${he} does when you are not around, and unsurprisingly fails to `); - if (canSee(S.Concubine)) { - r.push(`see`); - } else { - r.push(`realize`); - } - r.push(` that ${his} presence might not be wanted.`); - } else if (S.Concubine.fetish === "mindbroken") { - r.push(`${S.Concubine.slaveName} is there, of course, completely indifferent to you or your guest's presence.`); - } + App.Events.addResponses(node, choices); + + function aloof() { + const frag = new DocumentFragment(); + let r = []; + r.push(`You thank her for her praise, weighting the words in just the right way to communicate that you consider her flirtations worthy compliments, and nothing more. She understands immediately, communicating acceptance and pleasure at her own daring with nothing more than a thankful look in your eyes. This is how you approach matters like this. You are the ruler of this place and it behooves you to maintain a balance atop all your citizens without showing any susceptibility to solicitation. A little incident like this has little effect on its own, but your habit of maintaining proper reserve creates a reputation for judiciousness that <span class="green">businesspeople consider attractive for arcology investment.</span>`); + V.arcologies[0].prosperity += 3; + App.Events.addParagraph(frag, r); + return frag; } - r.push(`Your guest restrains her eager praise now that you're in private, but her wide-eyed appreciation of your domain is compliment enough. Once in your suite, she strips, revealing`); - switch (fsAdj) { - case "Subjugationist": - case "Supremacist": - r.push(`her fresh, pure body.`); - break; - case "Gender Radicalist": - r.push(`perky young breasts, a pretty pussy, and a stiff dick above it.`); - break; - case "Gender Fundamentalist": - r.push(`perky young breasts and an elegantly coiffed strip of hair that perfectly highlights her demure pussy.`); - break; - case "Repopulationist": - if (_repopHookupPregnant === 1) { - if (random(1, 10) > 7) { - r.push(`an experienced body, comfortable with the burdens of pregnancy.`); + + function give() { + const frag = new DocumentFragment(); + let r = []; + r.push(`You're not exactly starved for casual sex, but you've never thought there was any such thing as too much of a good thing. You place a`); + if (V.PC.title === 1) { + r.push(`masculine`); + } else { + r.push(`feminine`); + } + r.push(`hand against the small of her back, feeling the warmth of her through the material of her evening wear. You hear a slight gasp from her as she realizes that her gambit has succeeded with more immediate effect than she expected. She shivers with anticipation as you steer her back through a side door, making a discreet exit towards your private suite.`); + if (S.Concubine) { + const { + he, his + } = getPronouns(S.Concubine); + if (S.Concubine.intelligence+S.Concubine.intelligenceImplant > 50) { + r.push(`${S.Concubine.slaveName} is there, of course, and ${he} instantly`); + if (canSee(S.Concubine)) { + r.push(`sees`); } else { - r.push(`an inexperienced body undergoing its very first pregnancy.`); + r.push(`realizes`); } - r.push(`She's taken good care of herself; not a single stretch mark can be seen across her proportionally giant belly.`); - } else { - if (V.arcologies[0].FSRepopulationFocusLaw === 1) { - r.push(`an experienced body, ready and eager to grow fecund once more.`); + r.push(`that ${his} continued presence for a ménage à trois is wanted by both you and your guest.`); + } else if (S.Concubine.intelligence+S.Concubine.intelligenceImplant < -50) { + r.push(`${S.Concubine.slaveName} is there, of course, absentmindly doing whatever it is ${he} does when you are not around, and unsurprisingly fails to`); + if (canSee(S.Concubine)) { + r.push(`see`); } else { - r.push(`an inexperienced body, but one with potential for becoming quite fecund.`); + r.push(`realize`); } + r.push(`that ${his} presence might not be wanted.`); + } else if (S.Concubine.fetish === "mindbroken") { + r.push(`${S.Concubine.slaveName} is there, of course, completely indifferent to you or your guest's presence.`); } - break; - case "Eugenics": - r.push(`a near flawless body; the only distinguishable mark on it: a small tattoo of a prestigious school.`); - break; - case "Paternalist": - r.push(`a nice young body, with all the little attractions and flaws of a free girl's.`); - break; - case "Degradationist": - r.push(`a taut body covered in dominant tattoos and spiky piercings.`); - break; - case "Body Purist": - r.push(`a delectably curvaceous young body unmarred by any trace of surgical intervention.`); - break; - case "Transformation Fetishist": - r.push(`a massive fake bubble butt to go with her fake boobs.`); - break; - case "Youth Preferentialist": - r.push(`that her whole body looks fresh, untouched, and quite young.`); - break; - case "Maturity Preferentialist": - r.push(`a big pair of motherly tits, generous hips, a broad ass, and total self confidence.`); - break; - case "Slimness Enthusiast": - r.push(`perky little breasts, a smooth waist, trim hips, and a cute little ass.`); - break; - case "Asset Expansionist": - r.push(`an inhumanly enormous ass to match her similarly improbable boobs.`); - break; - case "Pastoralist": - r.push(`amply milk-fed assets.`); - break; - case "Physical Idealist": - r.push(`the dimples that form on the sides of her cute buttocks when she flexes.`); - break; - case "Hedonistic": - r.push(`well-fed and delightfully jiggly assets.`); - break; - case "Chattel Religionist": - r.push(`a fresh and ready body, adorned here and there with sensual devotional jewelry.`); - break; - case "Roman Revivalist": - r.push(`a graceful, milk-pale vision of classical beauty.`); - break; - case "Neo-Imperialism": - r.push(`a statuesque body, corded with fit musculature made for practical service.`); - break; - case "Aztec Revivalist": - r.push(`a strong, tight, bronze body.`); - break; - case "Egyptian Revivalist": - r.push(`a perfect expanse of smooth, warm, tanned skin.`); - break; - case "Edo Revivalist": - r.push(`a graceful form so perfectly pale that her face requires almost no whitening at all.`); - break; - case "Arabian Revivalist": - r.push(`a nubile young body perfectly formed for a Sultan's bed.`); - break; - case "Chinese Revivalist": - r.push(`a pretty young body that would not look out of place in an Imperial bed.`); - break; - case "Intellectual Dependency": - r.push(`a young body practically begging you for dick.`); - break; - case "Slave Professionalism": - r.push(`an elegant, mature body that knows its way around the bedroom.`); - break; - case "Petite Admiration": - r.push(`an adorably petite figure.`); - break; - case "Statuesque Glorification": - r.push(`that you have to crane your neck back to take in her full stature.`); - break; - default: - r.push(`a hot young body.`); - } - r.push(`Citizens like her often appreciate a good hard fuck, since regular submission to a pounding from sex slaves would be a scandal. There's little opprobrium waiting for you if it's known you had her, though, and she's deliciously eager as you press her down onto the bed`); - if (V.PC.dick === 0) { - r.push(` and pull on your usual harness`); - } - r.push(`. She ruts herself hard back against you as you thrust into her, moaning, and after a short while she begs for it even harder, so you flip her over and mount her like a bitch, making her scream.`); - if (S.Concubine) { - const { - his, him - } = getPronouns(S.Concubine); - r.push(`The view of your conquest's rutting back is nice, of course, but after enjoying it for a few moments you pull ${S.Concubine.slaveName} in`); - if (S.Concubine.intelligence+S.Concubine.intelligenceImplant > 50) { - r.push(`and kiss your favorite deeply, playing with ${him} as you fuck.`); - } else if (S.Concubine.intelligence+S.Concubine.intelligenceImplant < -50) { - r.push(`and kiss your favorite idiot deeply, keeping ${him} from feeling left out as you fuck.`); - } else if (S.Concubine.fetish === "mindbroken") { - r.push(`and play with ${his} body as you fuck.`); } + r.push(`Your guest restrains her eager praise now that you're in private, but her wide-eyed appreciation of your domain is compliment enough. Once in your suite, she strips, revealing`); + switch (fsAdj) { + case "Subjugationist": + case "Supremacist": + r.push(`her fresh, pure body.`); + break; + case "Gender Radicalist": + r.push(`perky young breasts, a pretty pussy, and a stiff dick above it.`); + break; + case "Gender Fundamentalist": + r.push(`perky young breasts and an elegantly coiffed strip of hair that perfectly highlights her demure pussy.`); + break; + case "Repopulationist": + if (repopHookupPregnant === 1) { + if (random(1, 10) > 7) { + r.push(`an experienced body, comfortable with the burdens of pregnancy.`); + } else { + r.push(`an inexperienced body undergoing its very first pregnancy.`); + } + r.push(`She's taken good care of herself; not a single stretch mark can be seen across her proportionally giant belly.`); + } else { + if (V.arcologies[0].FSRepopulationFocusLaw === 1) { + r.push(`an experienced body, ready and eager to grow fecund once more.`); + } else { + r.push(`an inexperienced body, but one with potential for becoming quite fecund.`); + } + } + break; + case "Eugenics": + r.push(`a near flawless body; the only distinguishable mark on it: a small tattoo of a prestigious school.`); + break; + case "Paternalist": + r.push(`a nice young body, with all the little attractions and flaws of a free girl's.`); + break; + case "Degradationist": + r.push(`a taut body covered in dominant tattoos and spiky piercings.`); + break; + case "Body Purist": + r.push(`a delectably curvaceous young body unmarred by any trace of surgical intervention.`); + break; + case "Transformation Fetishist": + r.push(`a massive fake bubble butt to go with her fake boobs.`); + break; + case "Youth Preferentialist": + r.push(`that her whole body looks fresh, untouched, and quite young.`); + break; + case "Maturity Preferentialist": + r.push(`a big pair of motherly tits, generous hips, a broad ass, and total self confidence.`); + break; + case "Slimness Enthusiast": + r.push(`perky little breasts, a smooth waist, trim hips, and a cute little ass.`); + break; + case "Asset Expansionist": + r.push(`an inhumanly enormous ass to match her similarly improbable boobs.`); + break; + case "Pastoralist": + r.push(`amply milk-fed assets.`); + break; + case "Physical Idealist": + r.push(`the dimples that form on the sides of her cute buttocks when she flexes.`); + break; + case "Hedonistic": + r.push(`well-fed and delightfully jiggly assets.`); + break; + case "Chattel Religionist": + r.push(`a fresh and ready body, adorned here and there with sensual devotional jewelry.`); + break; + case "Roman Revivalist": + r.push(`a graceful, milk-pale vision of classical beauty.`); + break; + case "Neo-Imperialism": + r.push(`a statuesque body, corded with fit musculature made for practical service.`); + break; + case "Aztec Revivalist": + r.push(`a strong, tight, bronze body.`); + break; + case "Egyptian Revivalist": + r.push(`a perfect expanse of smooth, warm, tanned skin.`); + break; + case "Edo Revivalist": + r.push(`a graceful form so perfectly pale that her face requires almost no whitening at all.`); + break; + case "Arabian Revivalist": + r.push(`a nubile young body perfectly formed for a Sultan's bed.`); + break; + case "Chinese Revivalist": + r.push(`a pretty young body that would not look out of place in an Imperial bed.`); + break; + case "Intellectual Dependency": + r.push(`a young body practically begging you for dick.`); + break; + case "Slave Professionalism": + r.push(`an elegant, mature body that knows its way around the bedroom.`); + break; + case "Petite Admiration": + r.push(`an adorably petite figure.`); + break; + case "Statuesque Glorification": + r.push(`that you have to crane your neck back to take in her full stature.`); + break; + default: + r.push(`a hot young body.`); + } + r.push(`Citizens like her often appreciate a good hard fuck, since regular submission to a pounding from sex slaves would be a scandal. There's little opprobrium waiting for you if it's known you had her, though, and she's deliciously eager as you press her down onto the bed`); + if (V.PC.dick === 0) { + r.push(`and pull on your usual harness`); + } + r.push(`. She ruts herself hard back against you as you thrust into her, moaning, and after a short while she begs for it even harder, so you flip her over and mount her like a bitch, making her scream.`); + if (S.Concubine) { + const { + his, him + } = getPronouns(S.Concubine); + r.push(`The view of your conquest's rutting back is nice, of course, but after enjoying it for a few moments you pull ${S.Concubine.slaveName} in`); + if (S.Concubine.intelligence+S.Concubine.intelligenceImplant > 50) { + r.push(`and kiss your favorite deeply, playing with ${him} as you fuck.`); + } else if (S.Concubine.intelligence+S.Concubine.intelligenceImplant < -50) { + r.push(`and kiss your favorite idiot deeply, keeping ${him} from feeling left out as you fuck.`); + } else if (S.Concubine.fetish === "mindbroken") { + r.push(`and play with ${his} body as you fuck.`); + } + } + r.push(`When your guest is finally spent, she showers, dresses, and leaves discreetly, offering you a proper thank you. This is the kind of thing that <span class="green">builds a lasting reputation</span> in the Free Cities.`); + repX(5000, "event"); + if (fsAdj === "Repopulationist" && V.PC.dick !== 0 && repopHookupPregnant === 0 && (random(1, 100) > 40)) { + const desc = "a tasteful morning-after message, with attached positive pregnancy test, from a pretty " + fsAdj + " citizen you bred"; + V.trinkets.push(desc); + } else if (fsAdj !== "none") { + const desc = "a tasteful morning-after message from a pretty " + fsAdj + " citizen"; + V.trinkets.push(desc); + } else { + V.trinkets.push("a tasteful morning-after message from a pretty citizen"); + } + App.Events.addParagraph(frag, r); + return frag; } - r.push(`When your guest is finally spent, she showers, dresses, and leaves discreetly, offering you a proper thank you. This is the kind of thing that <span class="green">builds a lasting reputation</span> in the Free Cities.`); - repX(5000, "event"); - if (fsAdj === "Repopulationist" && V.PC.dick !== 0 && _repopHookupPregnant === 0 && (random(1, 100) > 40)) { - const desc = "a tasteful morning-after message, with attached positive pregnancy test, from a pretty " + fsAdj + " citizen you bred"; - V.trinkets.push(desc); - } else if (fsAdj !== "none") { - const desc = "a tasteful morning-after message from a pretty " + fsAdj + " citizen"; - V.trinkets.push(desc); - } else { - V.trinkets.push("a tasteful morning-after message from a pretty citizen"); - } - // <</replace>> - // <</link>> - if (fsAdj !== "none") { - // <br> - // <<link "Emphasize her societal style with exhibitionism">> - // <<replace "#result">> + + function exhibitionism() { + const frag = new DocumentFragment(); + let r = []; r.push(`You turn to face her straight on, and something about the look in your eye fills her with mixed apprehension and anticipation. You agree with her banter and praise her for being so forward-thinking, before transitioning to more direct praise of her style and then her body. You're speaking in a tone that cuts through the room, and by the time you kiss your willing conquest, there's not a person in the room who isn't paying attention. They all understand the message: this gathering is turning into something else, now. Those few who aren't willing to fuck in public withdraw, and everyone who didn't come with a sexual partner sends urgent messages to have appropriate slaves brought from their apartments. You make out with her for a while, letting everyone make arrangements, and then pull her clothes off, making sure her`); + if (fsAdj !== "none") { + V.arcologies[0][FS] += 5; + } switch (fsAdj) { case "Subjugationist": case "Supremacist": r.push(`superior body`); - if (fsAdj === "Supremacist") { - V.arcologies[0].FSSupremacist += 5; - } else { - V.arcologies[0].FSSubjugationist += 5; - } break; case "Gender Radicalist": r.push(`tits and stiff dick`); - V.arcologies[0].FSGenderRadicalist += 5; break; case "Gender Fundamentalist": r.push(`femininity`); - V.arcologies[0].FSGenderFundamentalist += 5; break; case "Repopulationist": - if (_repopHookupPregnant === 1) { + if (repopHookupPregnant === 1) { r.push(`fecund body`); } else { r.push(`ready-to-be-bred body`); } - V.arcologies[0].FSRepopulationFocus += 5; break; case "Eugenics": r.push(`perfect body`); - V.arcologies[0].FSRestart += 5; break; case "Paternalist": r.push(`appealing body`); - V.arcologies[0].FSPaternalist += 5; break; case "Degradationist": r.push(`dominant form`); - V.arcologies[0].FSDegradationist += 5; break; case "Body Purist": r.push(`natural body`); - V.arcologies[0].FSBodyPurist += 5; break; case "Transformation Fetishist": r.push(`fake butt`); - V.arcologies[0].FSTransformationFetishist += 5; break; case "Youth Preferentialist": r.push(`young body`); - V.arcologies[0].FSYouthPreferentialist += 5; break; case "Maturity Preferentialist": r.push(`mature body`); - V.arcologies[0].FSMaturityPreferentialist += 5; break; case "Slimness Enthusiast": r.push(`slender body`); - V.arcologies[0].FSSlimnessEnthusiast += 5; break; case "Asset Expansionist": r.push(`curvaceous form`); - V.arcologies[0].FSAssetExpansionist += 5; break; case "Pastoralist": r.push(`milk-fed assets`); - V.arcologies[0].FSPastoralist += 5; break; case "Physical Idealist": r.push(`muscular body`); - V.arcologies[0].FSPhysicalIdealist += 5; break; case "Hedonistic": r.push(`plump body`); - V.arcologies[0].FSHedonisticDecadence += 5; break; case "Chattel Religionist": r.push(`divine sexuality`); - V.arcologies[0].FSChattelReligionist += 5; break; case "Roman Revivalist": r.push(`elegant form`); - V.arcologies[0].FSRomanRevivalist += 5; break; case "Neo-Imperialism": r.push(`chiseled body`); - V.arcologies[0].FSNeoImperialist += 5; break; case "Aztec Revivalist": r.push(`well-built form`); - V.arcologies[0].FSAztecRevivalist += 5; break; case "Egyptian Revivalist": r.push(`beautiful tanned body`); - V.arcologies[0].FSEgyptianRevivalist += 5; break; case "Arabian Revivalist": case "Chinese Revivalist": case "Edo Revivalist": r.push(`graceful form`); - if (fsAdj === "Edo Revivalist") { - V.arcologies[0].FSEdoRevivalist += 5; - } else if (fsAdj === "Arabian Revivalist") { - V.arcologies[0].FSArabianRevivalist += 5; - } else { - V.arcologies[0].FSChineseRevivalist += 5; - } break; case "Intellectual Dependency": r.push(`extreme horniness`); - V.arcologies[0].FSIntellectualDependency += 5; break; case "Slave Professionalism": r.push(`experienced body`); - V.arcologies[0].FSSlaveProfessionalism += 5; break; case "Petite Admiration": r.push(`tiny form`); - V.arcologies[0].FSPetiteAdmiration += 5; break; case "Statuesque Glorification": r.push(`towering form`); - V.arcologies[0].FSStatuesqueGlorification += 5; break; default: r.push(`hot young body`); } - r.push(`is obvious to everyone. The message is clear, and your guest of honor is the center of attention as you take her there in view of the arcology's leading citizens. Naturally, the story percolates, making it clear that there's nothing you won't do to <span class="green">further acceptance of${fsAdj} principles.</span>`); - // <</replace>> - // <</link>> + r.push(`is obvious to everyone. The message is clear, and your guest of honor is the center of attention as you take her there in view of the arcology's leading citizens. Naturally, the story percolates, making it clear that there's nothing you won't do to <span class="green">further acceptance of ${fsAdj} principles.</span>`); + + App.Events.addParagraph(frag, r); + return frag; } - // </span> } }; diff --git a/src/events/randomEvent.js b/src/events/randomEvent.js index 025e34d73960067b57869574d2fa8fc5c6f1fa0b..3215f8a62f644994aa03fde94bebd8a6d77dd891 100644 --- a/src/events/randomEvent.js +++ b/src/events/randomEvent.js @@ -134,6 +134,7 @@ App.Events.getNonindividualEvents = function() { new App.Events.REBusyMasterSuite(), new App.Events.REMalefactor(), new App.Events.REMaleCitizenHookup(), + new App.Events.RECitizenHookup(), new App.Events.REFSNonconformist(), new App.Events.RESEndowment(), new App.Events.RESMove(), diff --git a/src/uncategorized/randomNonindividualEvent.tw b/src/uncategorized/randomNonindividualEvent.tw index 0e4753af1f7fb8f75fa15178c5abafe38005423b..19a19b8ad73d89053af114a9fc971125c9ab2bf9 100644 --- a/src/uncategorized/randomNonindividualEvent.tw +++ b/src/uncategorized/randomNonindividualEvent.tw @@ -395,11 +395,6 @@ <</if>> <<if $policies.regularParties == 1>> - <<if ($PC.vagina > 0 && $PC.title == 0) && (random(0,99) < $seeDicks)>> - /*<<set $events.push("RE male citizen hookup")>> moved to js */ - <<else>> - <<set $events.push("RE citizen hookup")>> - <</if>> <<if ($rep-10000 > random(1,10000) || ($debugMode > 0 && $debugModeEventSelection > 0))>> <<if ($PC.vagina > 0 && $PC.boobs >= 300 && $PC.title == 0) && (random(0,99) < $seeDicks)>> <<set $events.push("RE male arcology owner")>>