diff --git a/src/endWeek/economics/persBusiness.js b/src/endWeek/economics/persBusiness.js index e07afbfa3ff5ae2881f973fd4a1b6382031f8e05..d3f11a542b9c6fe29357d29d034190dd0de93807 100644 --- a/src/endWeek/economics/persBusiness.js +++ b/src/endWeek/economics/persBusiness.js @@ -1,8 +1,8 @@ /** - * @returns {DocumentFragment} + * @returns {HTMLElement} */ App.EndWeek.personalBusiness = function() { - const el = new DocumentFragment(); + const el = document.createElement("p"); let r = []; let he, him; let income; @@ -53,7 +53,7 @@ App.EndWeek.personalBusiness = function() { } else { r.push(`You have finally recovered from your injuries.`); } - } else if ((V.personalAttention === "whoring")) { + } else if (V.personalAttention === "whoring") { income = random(2000, 4500); if (V.PC.belly >= 1500) { if (V.arcologies[0].FSRepopulationFocus !== "unset") { @@ -105,7 +105,7 @@ App.EndWeek.personalBusiness = function() { } } V.enduringRep *= .5; - } else if ((V.personalAttention === "upkeep")) { + } else if (V.personalAttention === "upkeep") { if (V.PC.belly >= 5000) { r.push(`You spend your free time hustling around your penthouse, cleaning and making sure everything is in order. You manage to reduce your upkeep by 20%. Your`); if (V.PC.preg > 0) { @@ -120,13 +120,13 @@ App.EndWeek.personalBusiness = function() { r.push(`This is much easier to do without a big baby bump in the way.`); } } - } else if ((V.personalAttention === "defensive survey")) { + } else if (V.personalAttention === "defensive survey") { r.push(`This week you focus on surveying your defenses in person, <span class="green">making yourself more known throughout ${V.arcologies[0].name}.</span>`); repX(50 * V.PC.skill.warfare, "personalBusiness"); if (V.PC.skill.warfare < 100) { r.push(`${IncreasePCSkills('warfare', 0.5)}`); } - } else if ((V.personalAttention === "development project")) { + } else if (V.personalAttention === "development project") { if ((V.arcologies[0].prosperity + 1 * (1 + Math.ceil(V.PC.skill.engineering / 100))) < V.AProsperityCap) { r.push(`This week you focus on contributing to a local development project, <span class="green">boosting prosperity.</span>`); V.arcologies[0].prosperity += 1 * (1 + Math.ceil(V.PC.skill.engineering / 100)); @@ -137,9 +137,9 @@ App.EndWeek.personalBusiness = function() { r.push(`Contributing to a local development project this week <span class="yellow">would be futile.</span>`); V.personalAttention = "business"; } - } else if ((V.personalAttention === "proclamation")) { + } else if (V.personalAttention === "proclamation") { /* handled after this if chain */ - } else if ((V.personalAttention === "smuggling")) { + } else if (V.personalAttention === "smuggling") { const qualifiedFS = []; if (V.arcologies[0].FSDegradationistDecoration >= 80) { qualifiedFS.push("degradationist"); @@ -487,7 +487,7 @@ App.EndWeek.personalBusiness = function() { } FutureSocieties.Change("RomanRevivalist", 2); } - } else if ((V.cash > 1000)) { + } else if (V.cash > 1000) { income = Math.trunc(Math.min(3000 * Math.log(V.cash), V.cash * 0.07)); r.push(`This week, your business endeavors made you <span class="yellowgreen">${cashFormat(income)}.</span>`); cashX(income, "personalBusiness"); diff --git a/src/endWeek/economics/personalNotes.js b/src/endWeek/economics/personalNotes.js new file mode 100644 index 0000000000000000000000000000000000000000..f066bba907a7a2c4a074fb4ecd2229da2e20caab --- /dev/null +++ b/src/endWeek/economics/personalNotes.js @@ -0,0 +1,475 @@ +/** + * @returns {HTMLElement} + */ +App.EndWeek.personalNotes = function() { + const el = document.createElement("p"); + let r = []; + let milk; + let milkSale; + if (V.useTabs === 0) { + App.UI.DOM.appendNewElement("h2", el, `Personal Notes`); + } + if (V.playerAging !== 0) { + let birthday = `Your birthday is `; + if (V.PC.birthWeek === 51) { + birthday += `next week`; + if (V.playerAging === 2) { + birthday += `; you'll be turning ${V.PC.actualAge + 1}`; + } + } else { + birthday += `in ${52 - V.PC.birthWeek} weeks`; + } + birthday += `.`; + r.push(birthday); + } + r.push(App.Desc.Player.boobs()); + r.push(App.Desc.Player.belly()); + r.push(App.Desc.Player.crotch()); + r.push(App.Desc.Player.butt()); + if (V.PC.lactation > 0) { + if (V.PC.rules.lactation !== "none" && V.PC.rules.lactation !== "induce") { + V.PC.lactationDuration = 2; + if (V.PC.rules.lactation === "sell") { + /* watch this be a disaster */ + milk = milkAmount(V.PC); + r.push(`Whenever you have a free moment and a chest swollen with milk, you spend your time attached to the nearest milker. As a result, you produce${milk} liters of sellable milk over the week.`); + if (V.arcologies[0].FSPastoralistLaw === 1) { + milkSale = milk * (28 + Math.trunc(V.arcologies[0].FSPastoralist / 30)); + r.push(`Since breast milk is ${V.arcologies[0].name}'s only legal dairy product, and yours is in a class all of its own, society can't get enough of it and you make <span class="yellowgreen">${cashFormat(milkSale)}.</span>`); + } else if (V.arcologies[0].FSPastoralist !== "unset") { + milkSale = milk * (12 + Math.trunc(V.arcologies[0].FSPastoralist / 30)); + r.push(`Since milk is fast becoming a major part of the ${V.arcologies[0].name}'s dietary culture, and yours is in a class all of its own, you make <span class="yellowgreen">${cashFormat(milkSale)}.</span>`); + } else { + milkSale = milk * 8; + r.push(`Your milk is sold for <span class="yellowgreen">${cashFormat(milkSale)}.</span>`); + } + cashX(milkSale, "personalBusiness"); + } else { + r.push(`You regularly see to your breasts to make sure your milk production doesn't dry up; be it by hand, milker, or mouth, you keep yourself comfortably drained.`); + } + } else { + if (V.PC.belly < 1500) { + V.PC.lactationDuration--; + if (V.PC.lactationDuration === 0) { + r.push(`With no reason to continue production, your <span class="yellow">lactation has stopped.</span>`); + V.PC.lactation = 0; + } + } + } + } + if (V.PC.preg > 0) { + const oldCount = V.PC.pregType; + if (V.PC.preg <= 2) { + fetalSplit(V.PC, 1000); + WombCleanYYFetuses(V.PC); + } + if (V.pregnancyMonitoringUpgrade === 1) { + if (oldCount < V.PC.pregType) { + r.push(`While making use of the advanced pregnancy monitoring equipment, you are surprised to find <span class="lime">your womb is a little more occupied than last checkup.</span>`); + } else if (oldCount > V.PC.pregType) { + r.push(`While making use of the advanced pregnancy monitoring equipment, you are surprised to find <span class="orange">your womb houses less life than last checkup.</span>`); + if (V.PC.pregType === 0) { + r.push(`For all intents and purposes, <span class="yellow">you are no longer pregnant.</span>`); + TerminatePregnancy(V.PC); + } + } + } else if (oldCount > V.PC.pregType && V.PC.pregType === 0) { + TerminatePregnancy(V.PC); + } + if (V.PC.preg === 15) { + if (V.PC.pregKnown === 0) { + r.push(`Your areolae have gotten dark. Some cursory tests reveal <span class="lime">you are about fifteen weeks pregnant.</span> How did that manage to slip past you?`); + V.PC.pregKnown = 1; + } else { + r.push(`Your areolae have gotten dark. Just another step along your pregnancy.`); + } + } else if (V.PC.belly >= 1500) { + if ((V.PC.preg > 20) && (V.PC.lactation === 0)) { + if (V.PC.preg > random(18, 30)) { + r.push(`A moist sensation on your breasts draws your attention; <span class="lime">your milk has come in.</span>`); + V.PC.lactation = 1; + } + } + if (V.PC.lactation === 1) { + V.PC.lactationDuration = 2; + } + } + if (V.PC.preg >= V.PC.pregData.normalBirth / 4) { + const gigantomastiaMod = V.PC.geneticQuirks.gigantomastia === 2 ? (V.PC.geneticQuirks.macromastia === 2 ? 3 : 2) : 1; + /* trim this down */ + let boobTarget; + if (V.PC.geneMods.NCS === 1) { + boobTarget = 100; + } else if (V.PC.geneticQuirks.androgyny === 2) { + boobTarget = 400; + } else if (V.PC.physicalAge >= 18) { + if (V.PC.pregType >= 8) { + boobTarget = 1500; + /* 2000 */ + } else if (V.PC.pregType >= 5) { + boobTarget = 1400; + } else if (V.PC.pregType >= 2) { + boobTarget = 1000; + } else { + boobTarget = 800; + } + } else if (V.PC.physicalAge >= 13) { + if (V.PC.pregType >= 8) { + boobTarget = 1500; + /* 1800 */ + } else if (V.PC.pregType >= 5) { + boobTarget = 1400; + } else if (V.PC.pregType >= 2) { + boobTarget = 1000; + } else { + boobTarget = 800; + } + } else if (V.PC.physicalAge >= 8) { + if (V.PC.pregType >= 8) { + boobTarget = 1400; + } else if (V.PC.pregType >= 5) { + boobTarget = 1000; + } else if (V.PC.pregType >= 2) { + boobTarget = 800; + } else { + boobTarget = 600; + } + } else { + if (V.PC.pregType >= 8) { + boobTarget = 1000; + } else if (V.PC.pregType >= 5) { + boobTarget = 8000; + } else if (V.PC.pregType >= 2) { + boobTarget = 600; + } else { + boobTarget = 400; + } + } + /* boobTarget *= gigantomastiaMod;*/ + if (V.PC.geneMods.NCS === 0) { + /* + if (V.PC.pregType >= 30) { + if (V.PC.weight <= 65) { + r.push(`${He} has <span class="lime">gained weight</span> in order to better sustain ${himself} and ${his} children.`); + V.PC.weight += 1; + } + if (random(1,100) > 60) { + if ((V.PC.boobs - V.PC.boobsImplant) < boobTarget) { + r.push(`${His} breasts <span class="lime">greatly swell</span> to meet the upcoming demand.`); + V.PC.boobs += 100; + if (V.PC.boobShape !== "saggy" && V.PC.preg > V.PC.pregData.normalBirth/1.25 && (V.PC.breastMesh !== 1) && (V.PC.drugs !== "sag-B-gone")) { + r.push(`${His} immensely engorged <span class="orange">breasts become saggy</span> in the last stages of ${his} pregnancy as ${his} body undergoes changes in anticipation of the forthcoming birth.`); + V.PC.boobShape = "saggy"; + } + } + if (V.PC.geneticQuirks.androgyny !== 2) { + if (V.PC.hips < 2) { + r.push(`${His} hips <span class="lime">widen</span> for ${his} upcoming birth.`); + V.PC.hips += 1; + } + if (V.PC.butt < 14) { + r.push(`${His} butt <span class="lime">swells with added fat</span> from ${his} changing body.`); + V.PC.butt += 1; + } + } + } + } else if ((V.PC.pregType >= 10)) { + if (random(1,100) > 80 && ((V.PC.boobs - V.PC.boobsImplant) < boobTarget)) { + V.PC.boobs += 50; + if (V.PC.boobShape !== "saggy" && (V.PC.breastMesh !== 1) && (V.PC.drugs !== "sag-B-gone")) { + if (V.PC.preg > random(V.PC.pregData.normalBirth/1.25, V.PC.pregData.normalBirth*2.05)) { + r.push(`${His} swollen <span class="orange">breasts become saggy</span> in the last stages of ${his} pregnancy as ${his} body undergoes changes in anticipation of the forthcoming birth.`); + V.PC.boobShape = "saggy"; + } + } + } + } + */ + if ((V.PC.boobs - V.PC.boobsImplant) < boobTarget) { + if (V.PC.boobs >= 1400) { + if (random(1, 100) > 90) { + r.push(`Unsurprisingly, your cow tits <span class="lime">have swollen even larger</span> with your pregnancy.`); + V.PC.boobs += 25; + } + } else if (V.PC.boobs >= 1200) { + if (random(1, 100) > 90) { + r.push(`Your already huge breasts have <span class="lime">grown even heavier</span> with your pregnancy.`); + V.PC.boobs += 25; + if (V.PC.boobs >= 1400) { + r.push(`Your desk is steadily starting to disappear; <span class="lime">H-cups will do that.</span>`); + } + } + } else if (V.PC.boobs >= 1000) { + if (random(1, 100) > 75) { + r.push(`Your already large breasts have <span class="lime">grown even larger</span> with your pregnancy.`); + V.PC.boobs += 25; + if (V.PC.boobs >= 1200) { + r.push(`Nothing fits comfortably now; your tailor says <span class="lime">it's your G-cup knockers.</span> Your back agrees.`); + } + } + } else if (V.PC.boobs >= 800) { + if (random(1, 100) > 75) { + r.push(`Your breasts have <span class="lime">grown a bit larger</span> to feed your coming ${(V.PC.pregType === 1) ? `child`:`children`}.`); + V.PC.boobs += 25; + if (V.PC.boobs >= 1000) { + r.push(`You popped your bra when you put it on; <span class="lime">time to order some F-cups.</span>`); + } + } + } else if (V.PC.boobs >= 650) { + if (random(1, 100) > 80) { + r.push(`Your breasts have <span class="lime">grown a bit larger</span> to feed your coming ${(V.PC.pregType === 1) ? `child`:`children`}.`); + V.PC.boobs += 25; + if (V.PC.boobs >= 800) { + r.push(`Their prominence, and a quick measuring, reveals <span class="lime">you now sport DDs.</span>`); + } + } + } else if (V.PC.boobs >= 500) { + if (random(1, 100) > 80) { + r.push(`Your breasts have <span class="lime">grown a bit larger</span> to feed your coming ${(V.PC.pregType === 1) ? `child`:`children`}.`); + V.PC.boobs += 25; + if (V.PC.boobs >= 650) { + r.push(`They're big, sensitive, <span class="lime">and now a D-cup.</span>`); + } + } + } else if (V.PC.boobs >= 400) { + if (random(1, 100) > 80) { + r.push(`Your breasts have <span class="lime">gotten heavier</span> alongside your pregnancy.`); + V.PC.boobs += 25; + if (V.PC.boobs >= 500) { + r.push(`They spill dramatically out of your bra now, which means <span class="lime">you've graduated to a C-cup.</span>`); + } + } + } else if (V.PC.boobs >= 300) { + if (random(1, 100) > 75) { + r.push(`Your breasts have <span class="lime">swollen</span> alongside your pregnancy.`); + V.PC.boobs += 25; + if (V.PC.boobs >= 400) { + r.push(`A quick measuring after your top started to feel too constricting reveals <span class="lime">you are now a B-cup!</span>`); + } + } + } else { + if (random(1, 100) > 75) { + r.push(`Your chest <span class="lime">has filled out slightly</span> with your pregnancy.`); + V.PC.boobs += 25; + if (V.PC.boobs >= 300) { + r.push(`They've gotten so big that <span class="lime">you can now fill an A-cup bra.</span>`); + } + } + } + if (V.PC.boobShape !== "saggy" && V.PC.preg > random(V.PC.pregData.normalBirth / 1.25, V.PC.pregData.normalBirth * 2.5) && (V.PC.breastMesh !== 1) && (V.PC.drugs !== "sag-B-gone")) { + r.push(`Your <span class="orange">breasts become saggy</span> in the last stages of pregnancy as your body undergoes changes in anticipation of the forthcoming birth.`); + V.PC.boobShape = "saggy"; + } + } + /* + if (V.PC.preg > V.PC.pregData.normalBirth/1.25 && V.PC.physicalAge >= 18 && V.PC.hips === 1 && V.PC.hipsImplant === 0 && random(1,100) > 90) { + r.push(`${His} hips <span class="lime">widen</span> to better support ${his} gravidity.`); + V.PC.hips += 1; + } else if (V.PC.preg > V.PC.pregData.normalBirth/1.42 && V.PC.physicalAge >= 18 && V.PC.hips === 0 && V.PC.hipsImplant === 0 && random(1,100) > 70) { + r.push(`${His} hips <span class="lime">widen</span> to better support ${his} gravidity.`); + V.PC.hips += 1; + } + */ + } + } + /* --------------- main labor triggers: -------- */ + if (V.PC.preg > V.PC.pregData.normalBirth / 8) { + if (WombBirthReady(V.PC, V.PC.pregData.normalBirth * 1.075) > 0) { // check for really ready fetuses - 43 weeks - max, overdue + V.PC.labor = 1; + } else if (WombBirthReady(V.PC, V.PC.pregData.normalBirth) > 0 && (random(1, 100) > 50)) { // check for really ready fetuses - 40 weeks - normal*/ + V.PC.labor = 1; + } else if (WombBirthReady(V.PC, V.PC.pregData.normalBirth / 1.1111) > 0 && (random(1, 100) > 90)) { // check for really ready fetuses - 36 weeks minimum */ + V.PC.labor = 1; + } + if (V.PC.labor === 1) { + if (V.PC.birthsTotal > 0) { + r.push(App.UI.DOM.makeElement("div", `<span class="red">A dull cramp runs down your middle.</span> You'll be giving birth soon.`)); + } else { + r.push(App.UI.DOM.makeElement("div", `You begin to experience <span class="red">odd cramps</span> in your lower body. Contractions, more than likely.`)); + } + } + /* + if (V.dangerousPregnancy === 1 && V.PC.labor !== 1) { + if (V.PC.pregAdaptation < 500) { + miscarriageChance = -10; + miscarriageChance += ((V.PC.bellyPreg / 1000) - V.PC.pregAdaptation); + r.push(` // this could use to not be linear`); + if (V.PC.inflation > 0) { + miscarriageChance += 10; + } + miscarriageChance -= (V.PC.curatives === 1 ? 100 : 0); + if (V.PC.health.health < -20) { + miscarriageChance -= (V.PC.health.health); + } else if (V.PC.health.health > 80) { + miscarriageChance -= (V.PC.health.health / 10); + } + if (V.PC.weight < -50) { + miscarriageChance -= (V.PC.weight); + } + if (V.PC.bellyAccessory === "a support band") { + miscarriageChance -= 30; + } + miscarriageChance = Math.round(miscarriageChance); + if (miscarriageChance > random(0, 100)) { + chance = random(1, 100); + if (V.PC.preg >= V.PC.pregData.normalBirth / 1.33) { + V.PC.labor = 1, V.birthee = 1; + miscarriage = 1; + } else if (V.PC.preg > V.PC.pregData.normalBirth / 1.48) { + V.PC.labor = 1, V.PC.prematureBirth = 1; + miscarriage = 1; + } else if (V.PC.preg > V.PC.pregData.normalBirth / 1.6 && chance > 10) { + V.PC.labor = 1, V.PC.prematureBirth = 1; + miscarriage = 1; + } else if (V.PC.preg > V.PC.pregData.normalBirth / 1.73 && chance > 40) { + V.PC.labor = 1, V.PC.prematureBirth = 1; + miscarriage = 1; + } else if (V.PC.preg > V.PC.pregData.normalBirth / 1.81 && chance > 75) { + V.PC.labor = 1, V.PC.prematureBirth = 1; + miscarriage = 1; + } else { + r.push(`${His} overwhelmed body has <span class="orange">forced ${him} to miscarry,</span> possibly saving ${his} life.`); + V.PC.preg = 0; + if (V.PC.sexualFlaw === "breeder") { + r.push(`${He} is <span class="mediumorchid">filled with violent, all-consuming hatred</span> at ${himself} for failing to carry to term and you for allowing this to happen.`); + if (V.PC.pregType > 4) { + r.push(`The loss of so many children at once <span class="red">shatters the distraught breeder's mind.</span>`); + V.PC.fetish = "mindbroken", V.PC.behavioralQuirk = "none", V.PC.behavioralFlaw = "none", V.PC.sexualQuirk = "none", V.PC.sexualFlaw = "none", V.PC.devotion = 0, V.PC.trust = 0; + } else { + r.push(`${He} cares little for what punishment awaits ${his} actions.`); + V.PC.devotion -= 25 * V.PC.pregType; + } + } else if (V.PC.devotion < -50) { + r.push(`${He} is <span class="mediumorchid">filled with violent, consuming hatred</span> and <span class="gold">fear.</span> Even though ${he} knew ${his} bab`); + if (V.PC.pregType > 1) { + r.push(`ies were`); + } else { + r.push(`y was`); + } + r.push(` likely destined for a slave orphanage, it seems ${he} cared for `); + if (V.PC.pregType > 1) { + r.push(`them`); + } else { + r.push(`it`); + } + r.push(` and blames you for the loss.`); + V.PC.devotion -= 25, V.PC.trust -= 25; + } else if (V.PC.devotion < -20) { + r.push(`${He} is <span class="mediumorchid">afflicted by desperate, inconsolable grief</span> and <span class="gold">horror.</span> Even though ${he} knew ${his} bab`); + if (V.PC.pregType > 1) { + r.push(`ies were`); + } else { + r.push(`y was`); + } + r.push(` likely destined for a slave orphanage, it seems ${he} cared for `); + if (V.PC.pregType > 1) { + r.push(`them`); + } else { + r.push(`it`); + } + r.push(`.`); + V.PC.devotion -= 10, V.PC.trust -= 20; + } else if (V.PC.fetish === "pregnancy") { + r.push(`${He} is <span class="mediumorchid">filled with deep regret</span> and <span class="gold">fear.</span>`); + if (V.PC.fetishKnown === 1) { + r.push(`To a pregnancy fetishist, ending it like this hurts far worse than birth ever would.`); + } else { + r.push(`It appears ${he} was more attached to ${his} baby bump than ${he} let on and is hurting even more for it.`); + } + fetishModifier = V.PC.fetishStrength / 2; + V.PC.devotion -= 1 * fetishModifier, V.PC.trust -= 1 * fetishModifier; + } else if (V.PC.devotion <= 20) { + r.push(`${He} is <span class="mediumorchid">consumed by enduring sorrow</span> and <span class="gold">horror.</span> Even though ${he} knew ${his} bab`); + if (V.PC.pregType > 1) { + r.push(`ies were`); + } else { + r.push(`y was`); + } + r.push(` likely destined for a slave orphanage, it seems ${he} cared for `); + if (V.PC.pregType > 1) { + r.push(`them`); + } else { + r.push(`it`); + } + r.push(`.`); + V.PC.devotion -= 5, V.PC.trust -= 5; + } else if (V.PC.devotion <= 50) { + r.push(`${He} is dully obedient. ${He} has been broken to slave life so thoroughly that even this is neither surprising nor affecting.`); + } else { + r.push(`${He} is <span class="mediumorchid">disappointed by this development</span> and <span class="gold">afraid</span> of your reaction. By failing to carry to term, ${he} has failed your will.`); + V.PC.devotion -= 10, V.PC.trust -= 10; + } + TerminatePregnancy(V.PC); + actX(V.PC, "abortions"); + if (V.PC.abortionTat > -1) { + V.PC.abortionTat++; + r.push(`The temporary tattoo of a child has been replaced with ${his} `); + V.ordinalSuffix(V.PC.abortionTat) + r.push(` crossed out infant.`); + cashX(forceNeg(V.modCost), "slaveMod", V.PC); + } + miscarriage = 1; + } + } + } + if (V.seeExtreme === 1) { + if (miscarriage !== 1 && V.PC.bellyPreg >= 100000 && V.PC.geneMods.rapidCellGrowth !== 1) { + r.push(` // If ${he} can't relieve the pressure that way, will ${he} hold?`); + if (V.PC.bellyPreg >= 500000 || V.PC.wombImplant !== "restraint") { + if ((V.PC.belly > (V.PC.pregAdaptation * 3200)) || V.PC.bellyPreg >= 500000) { + burstChance = -80; + burstChance += ((V.PC.belly / 1000) - V.PC.pregAdaptation); + r.push(` // this could use to not be linear`); + if (V.PC.health.health < -20) { + burstChance -= (V.PC.health.health); + } else if (V.PC.health.health > 80) { + burstChance -= (V.PC.health.health / 10); + } + if (V.PC.weight < 0) { + burstChance -= V.PC.weight; + } + burstChance -= V.PC.bellySag; + burstChance -= V.PC.muscles; + if (V.PC.bellyAccessory === "a support band") { + burstChance -= 10; + } + if (V.PC.pregControl === "slow gestation") { + burstChance -= 20; + } + if (V.PC.assignment === "get treatment in the clinic") { + if (S.Nurse) { + burstChance -= 100; + } else { + burstChance -= 30; + } + } else if (V.PC.assignment === "work in the dairy" && V.dairyPregSetting === 3) { + burstChance -= 250; + } + if (V.PC.pregControl === "speed up") { + if (burstChance > 0) { + burstChance *= 4; + } + } + burstChance = Math.round(burstChance); + if (burstChance > random(0, 100)) { + V.PC.burst = 1; + } else { + r.push(`Constant <span class="red">`); + if (V.PC.geneticQuirks.uterineHypersensitivity === 2) { + r.push(`painful orgasms`); + } else { + r.push(`sharp pains`); + } + r.push(`</span> from ${his} womb strongly suggest <span class="red">${his} body is beginning to break.</span>`); + } + } + } + } + } + } + */ + } + } + App.Events.addParagraph(el, r); + return el; +}; diff --git a/src/endWeek/economics/reputation.js b/src/endWeek/economics/reputation.js new file mode 100644 index 0000000000000000000000000000000000000000..700859646e8394b4053a1de1cfea87e5d66cecb4 --- /dev/null +++ b/src/endWeek/economics/reputation.js @@ -0,0 +1,996 @@ +/** + * @returns {HTMLElement} + */ +App.EndWeek.reputation = function() { + const el = document.createElement("p"); + let r = []; + let _repLoss; + + if (V.useTabs === 0) { + App.UI.DOM.appendNewElement("h2", el, `Reputation`); + } + r.push(`On formal occasions, you are announced as ${PCTitle()}.`); + if (V.arcologies[0].FSChattelReligionist !== "unset") { + if (V.arcologies[0].FSChattelReligionistCreed === 1) { + r.push(`${V.arcologies[0].name} keeps the creed of the ${V.nicaea.name}. The faithful`); + if (V.nicaea.achievement === "slaves") { + if (V.slaves.length > 50) { + r.push(`<span class="green">strongly approve</span> of the large`); + FutureSocieties.Change("ChattelReligionist", 5); + } else if (V.slaves.length > 20) { + r.push(`<span class="green">approve</span> of the good`); + FutureSocieties.Change("ChattelReligionist", 2); + } else { + r.push(`are not impressed by the`); + } + r.push(`number of people you're giving the honor of sexual servitude.`); + } else if (V.nicaea.achievement === "devotion") { + if (V.averageDevotion > 80) { + r.push(`<span class="green">strongly approve</span> of the worshipfulness`); + FutureSocieties.Change("ChattelReligionist", 5); + } else if (V.averageDevotion > 50) { + r.push(`<span class="green">approve</span> of the devotion`); + FutureSocieties.Change("ChattelReligionist", 2); + } else { + r.push(`are not impressed by the devotion`); + } + r.push(`of your slaves.`); + } else { + if (V.averageTrust > 50) { + r.push(`<span class="green">strongly approve</span> of the great trust your slaves place in you.`); + FutureSocieties.Change("ChattelReligionist", 5); + } else if (V.averageTrust > 20) { + r.push(`<span class="green">approve</span> of the trust your slaves place in you.`); + FutureSocieties.Change("ChattelReligionist", 2); + } else { + r.push(`are not impressed by the fear many of your slaves feel towards you.`); + } + } + } + } + + let _repDecay = 0.05; + let _enduringRep = V.enduringRep; + if (V.arcologies[0].FSChattelReligionistLaw === 1) { + _enduringRep = Math.min(_enduringRep + 2000, 12000); + } + if (V.arcologies[0].FSRestartDecoration === 100) { + _enduringRep = Math.min(_enduringRep + 2000, 13000); + /* that 13000 is not a typo, it allows for some stacking of FSRestart and FSChattel */ + } + if (V.rep > _enduringRep) { + if (V.arcologies[0].FSMaturityPreferentialistLaw === 1) { + if (V.PC.actualAge >= 65) { + r.push(`Since you're getting on in years and have an impressive list of accomplishments, and ${V.arcologies[0].name}'s society respects age, your reputation degrades quite slowly.`); + _repLoss = Math.trunc((V.rep - _enduringRep) * (_repDecay - 0.0125)); + } else if (V.PC.actualAge >= 50) { + r.push(`Since you're well into middle age and have an impressive list of accomplishments, and ${V.arcologies[0].name}'s society respects age, your reputation degrades quite slowly.`); + _repLoss = Math.trunc((V.rep - _enduringRep) * (_repDecay - 0.0125)); + } else if (V.PC.actualAge < 35) { + r.push(`Since you're unusually young for an arcology owner, and ${V.arcologies[0].name}'s society respects age, your reputation degrades quite quickly.`); + _repLoss = Math.trunc((V.rep - _enduringRep) * (_repDecay + 0.0125)); + } else { + r.push(`Since you're only entering middle age, and ${V.arcologies[0].name}'s society respects age, your reputation degrades fairly quickly.`); + _repLoss = Math.trunc((V.rep - _enduringRep) * (_repDecay)); + } + } else if (V.arcologies[0].FSYouthPreferentialistLaw === 1) { + if (V.PC.actualAge >= 65) { + r.push(`Since you're getting on in years and have an impressive list of accomplishments, but ${V.arcologies[0].name}'s society is coming to prefer youth to experience, so your reputation degrades fairly quickly.`); + _repLoss = Math.trunc((V.rep - _enduringRep) * (_repDecay + 0.0125)); + } else if (V.PC.actualAge >= 50) { + r.push(`You're well into middle age and have an impressive list of accomplishments, but ${V.arcologies[0].name}'s society is coming to prefer youth to experience, so your reputation degrades fairly quickly.`); + _repLoss = Math.trunc((V.rep - _enduringRep) * (_repDecay + 0.0125)); + } else if (V.PC.actualAge < 35) { + r.push(`You're unusually young for an arcology owner, but ${V.arcologies[0].name}'s society doesn't mind.`); + _repLoss = Math.trunc((V.rep - _enduringRep) * (_repDecay)); + } else { + r.push(`Since you're entering middle age, and ${V.arcologies[0].name}'s society respects youth, your reputation degrades fairly quickly.`); + _repLoss = Math.trunc((V.rep - _enduringRep) * (_repDecay + 0.0125)); + } + } else { + if (V.PC.actualAge >= 65) { + r.push(`Since you're getting on in years and have an impressive list of accomplishments, and ${V.arcologies[0].name}'s society respects age, your reputation degrades quite slowly.`); + _repLoss = Math.trunc((V.rep - _enduringRep) * (_repDecay - 0.0125)); + } else if (V.PC.actualAge >= 50) { + r.push(`Since you're well into middle age and have an impressive list of accomplishments, your reputation degrades fairly slowly.`); + _repLoss = Math.trunc((V.rep - _enduringRep) * (_repDecay - 0.0125)); + } else if (V.PC.actualAge < 35) { + r.push(`Since you're unusually young for an arcology owner, your reputation degrades fairly quickly.`); + _repLoss = Math.trunc((V.rep - _enduringRep) * (_repDecay + 0.0125)); + } else { + _repLoss = Math.trunc((V.rep - _enduringRep) * (_repDecay)); + } + } + if (V.arcologies[0].FSChattelReligionistLaw === 1) { + if (_repLoss > 100) { + _repLoss -= 100; + V.PC.degeneracy = 0; + } else { + _repLoss = 0; + V.PC.degeneracy = 0; + } + r.push(`Since you are the Prophet, your reputation degrades less.`); + } + if (V.arcologies[0].FSRestartDecoration === 100) { + if (_repLoss > 100) { + _repLoss -= 100; + V.PC.degeneracy = 0; + } else { + _repLoss = 100; + V.PC.degeneracy = 0; + } + r.push(`Since you are an established member of the Societal Elite, your public reputation degrades less.`); + } + if (_enduringRep > 8000) { + r.push(`However, you have been a figure of renown for so long that much of your reputation has become permanent.`); + } else if (_enduringRep > 5000) { + r.push(`However, you have been a figure of repute for enough time that part of your reputation has become permanent.`); + } else if (_enduringRep > 2000) { + r.push(`However, you have been a figure of regard for long enough that some of your reputation has become permanent.`); + } + if (_repLoss > 500 * (1 - (5 - V.baseDifficulty) / 10)) { + _repLoss = 500 * (1 - (5 - V.baseDifficulty) / 10); + } else if (_repLoss < 0) { + _repLoss = 0; + } + V.enduringRep += Math.trunc(1 + Math.pow((10000 - V.enduringRep) / 5770, 2) * _repLoss * 0.1); + } else { + if (V.arcologies[0].FSChattelReligionistLaw === 1 || V.arcologies[0].FSRestartDecoration === 100) { + V.PC.degeneracy = 0; + } + _repLoss = 0; + if (_enduringRep > 8000) { + r.push(`You have been a figure of renown for so long that your reputation does not decay past its present level.`); + } else if (_enduringRep > 5000) { + r.push(`You have been a figure of repute for enough time that your reputation does not decay past its present level.`); + } else if (_enduringRep > 2000) { + r.push(`You have been a figure of regard for long enough that your reputation does not decay past its present level.`); + } + } + + /* play games with overflow. Gains are calculated (and then sadly rounded) on previous pages but losses are calculated here, after the overflow happened. Let's borrow from the past.*/ + if (V.lastWeeksRepExpenses.overflow < 0) { + V.rep += Math.abs(V.lastWeeksRepExpenses.overflow); + V.lastWeeksRepExpenses.overflow = 0; + } + repX(forceNeg(_repLoss), "multiplier"); + + if (V.weatherAwareness === 0 && V.weatherCladding === 2) { + r.push(`The public <span class="green">is awestruck</span> of the beautiful weather hardening you have applied to the arcology's exterior, though they do not understand why you would waste so much money first ruining your arcology's appearance before doing this.`); + repX(10, "architecture"); + } else if (V.weatherAwareness === 0 && V.weatherCladding === 1) { + r.push(`The public <span class="red">disapproves</span> of the ugly weather hardening you have applied to the arcology's exterior, not understanding what you're worried about.`); + repX(-100, "architecture"); + } + + if (V.arcologies[0].FSRestartDecoration === 100) { + r.push(`As a member of the Societal Elite, your appearance has no bearing on your reputation.`); + } else { + if (V.PC.dick === 0 && V.PC.boobs >= 300 && V.PC.title === 0) { + if (V.rep > 18000) { + r.push(`Your reputation is so well-established that society has accepted your notoriously feminine appearance despite how unusual it is for a prominent slaveowner to look like you do.`); + if (V.arcologies[0].FSGenderRadicalist > 30) { + r.push(`Indeed, society sees you as entirely male, since you are powerful, and <span class="green">strongly approves</span> of your nonconformity; this advances the redefinition of gender around power.`); + FutureSocieties.Change("GenderRadicalist", 5); + } else if (V.arcologies[0].FSGenderFundamentalist > 30) { + r.push(`Indeed, society has been reconciled to female leadership, preferring to see you as a mother figure.`); + } + } else if (V.arcologies[0].FSGenderRadicalist > 40) { + r.push(`Society accepts you as an arcology owner, since it has become open-minded about power and gender.`); + if (V.arcologies[0].FSGenderRadicalist > 50) { + r.push(`Indeed, society sees you as fundamentally male, since you are powerful, and <span class="green">strongly approves</span> of your audacity; this advances the redefinition of gender around power.`); + FutureSocieties.Change("GenderRadicalist", 5); + } + } else { + r.push(`Most prominent slaveowners are male, and your obviously feminine appearance makes it <span class="red">harder for you to maintain your reputation.</span>`); + repX(forceNeg(Math.min((V.rep * 0.05), 500)), "PCappearance"); + if (V.arcologies[0].FSGenderFundamentalist > 10) { + r.push(`Society <span class="red">strongly resents</span> your being an arcology owner; this damages the idea that women should not be in positions of responsibility.`); + FutureSocieties.Change("GenderFundamentalist", -5); + } + } + } else if ((V.PC.boobs >= 300) || V.PC.title === 0) { + if (V.rep > 15000) { + r.push(`Your reputation is so strong that society has accepted your feminine appearance despite how unusual it is for a prominent slaveowner to look like you do.`); + if (V.arcologies[0].FSGenderRadicalist > 30) { + r.push(`Indeed, society sees you as entirely male, since you are powerful, and <span class="green">strongly approves</span> of your nonconformity; this advances the redefinition of gender around power.`); + FutureSocieties.Change("GenderRadicalist", 5); + } else if (V.arcologies[0].FSGenderFundamentalist > 30) { + r.push(`Indeed, society has been reconciled to your feminine appearance, seeing you as a person apart.`); + } + } else if (V.arcologies[0].FSGenderRadicalist > 20) { + r.push(`Society accepts you as an arcology owner, since it has become open-minded anyone who has a cock and fucks.`); + if (V.arcologies[0].FSGenderRadicalist > 30) { + r.push(`Indeed, society sees you as dominant, since you fuck bitches, and <span class="green">strongly approves</span> of your nonconformity; this advances the redefinition of gender around power.`); + FutureSocieties.Change("GenderRadicalist", 5); + } + } else { + r.push(`Most prominent slaveowners are very masculine, and your feminine appearance makes it <span class="red">harder for you to maintain your reputation.</span>`); + repX(forceNeg(Math.min((V.rep * 0.025), 250)), "PCappearance"); + if (V.arcologies[0].FSGenderFundamentalist > 30) { + r.push(`Society <span class="red">strongly resents</span> your being an arcology owner; this damages the idea that feminine people should not be in positions of responsibility.`); + FutureSocieties.Change("GenderFundamentalist", -5); + } + } + } else if ((V.PC.dick === 0) || (V.PC.vagina !== -1)) { + if (V.rep > 15000) { + r.push(`Your reputation is so strong that society has accepted your unorthodox arrangement downstairs, for an arcology owner.`); + if (V.arcologies[0].FSGenderRadicalist > 30) { + r.push(`Indeed, society sees you as entirely male, since you are powerful, and <span class="green">strongly approves</span> of your nonconformity; this advances the redefinition of gender around power.`); + FutureSocieties.Change("GenderRadicalist", 5); + } else if (V.arcologies[0].FSGenderFundamentalist > 30) { + r.push(`Indeed, society has been reconciled to your strangeness, seeing you as a person apart.`); + } + } else if (V.arcologies[0].FSGenderRadicalist > 20) { + r.push(`Society accepts you as an arcology owner, since it has become open-minded about the exact genital layout of powerful people.`); + if (V.arcologies[0].FSGenderRadicalist > 30) { + r.push(`Indeed, society sees you as dominant, since you are powerful, and <span class="green">strongly approves</span> of your nonconformity; this advances the redefinition of gender around power.`); + FutureSocieties.Change("GenderRadicalist", 5); + } + } else { + r.push(`Most prominent slaveowners are very masculine, and though your unorthodox arrangement downstairs isn't obvious when you're clothed, the rumors are unavoidable and it's <span class="red">harder for you to maintain your reputation.</span>`); + repX(forceNeg(Math.min((V.rep * 0.025), 250)), "PCappearance"); + if (V.arcologies[0].FSGenderFundamentalist > 30) { + r.push(`Society <span class="red">strongly resents</span> your being an arcology owner; this damages the idea that people who are not men should not be in positions of responsibility.`); + FutureSocieties.Change("GenderFundamentalist", -5); + } + } + } + } + + /* height block here */ + + if (V.arcologies[0].FSChattelReligionistLaw === 1 || V.arcologies[0].FSRestartDecoration === 100) { + /* already handled above */ + } else if (V.arcologies[0].FSIntellectualDependency !== "unset") { + if (V.PC.intelligence + V.PC.intelligenceImplant < -10) { + if (V.rep > 18000) { + r.push(`You've somehow built such a reputation for yourself that your lack of a brain is no longer a societal concern.`); + } else { + repX(forceNeg(Math.min((V.rep * 0.025), 100)), "PCappearance"); + r.push(`Society <span class="red">is uncomfortable</span> with just how slow you are. While they may find your mannerisms cute, it is not befitting of a leader.`); + } + } + } else if (V.arcologies[0].FSSlaveProfessionalism !== "unset") { + if (V.PC.intelligence + V.PC.intelligenceImplant < 100) { + if (V.rep > 18000) { + r.push(`You've built such a reputation for yourself that you not being a genius is no longer a societal concern.`); + } else { + repX(forceNeg(Math.min((V.rep * 0.05), 750)), "PCappearance"); + r.push(`Society <span class="red">strongly despises</span> being led by someone so easily outsmarted by even the slave population.`); + FutureSocieties.Change("SlaveProfessionalism", -10); + } + } + } else if (V.PC.intelligence + V.PC.intelligenceImplant <= 10) { + if (V.rep > 18000) { + r.push(`You've managed to build such a reputation for yourself that your lack of intelligence is no longer a societal concern.`); + } else { + repX(forceNeg(Math.min((V.rep * 0.05), 750)), "PCappearance"); + r.push(`Society <span class="red">is uncomfortable</span> being led by someone not smart. Your lack of intelligence brings your every action under scrutiny.`); + } + } else if (V.PC.intelligence + V.PC.intelligenceImplant <= 50) { + if (V.rep > 12000) { + r.push(`You've built such a reputation for yourself that your lack of intelligence is no longer a societal concern.`); + } else { + repX(forceNeg(Math.min((V.rep * 0.05), 500)), "PCappearance"); + r.push(`Society <span class="red">is uncomfortable</span> being led by someone not very smart. Your lack of intelligence brings your every action under scrutiny.`); + } + } + + if (V.policies.sexualOpenness === 1) { + if (V.arcologies[0].FSChattelReligionistLaw === 1 || V.arcologies[0].FSRestartDecoration === 100) { + /* already handled above */ + } else { + if (V.arcologies[0].FSGenderRadicalist !== "unset") { + if (V.rep > 18000) { + r.push(`You are so well regarded that society has acquiesced that getting penetrated is not a sure sign of femininity.`); + } else { + r.push(`Society views getting fucked as sign of femininity and is <span class="red">strongly against your sexual preferences.</span>`); + FutureSocieties.Change("GenderRadicalist", -1); + repX(-1000, "PCactions"); + } + } else if (V.arcologies[0].FSGenderFundamentalist !== "unset" && V.PC.vagina !== -1 && V.PC.title === 0) { + if (V.rep > 10000) { + r.push(`Society has grown accustomed to your efforts enough to not care that you enjoy slave dick. In fact, it even <span class="green">strengthens</span> traditional gender roles, even though you insist on breaking them.`); + FutureSocieties.Change("GenderFundamentalist", 1); + } else { + r.push(`Society wonders if you would be happier in a whore house getting fucked all day instead of trying to lead an arcology. Your efforts <span class="red">strongly support</span> the idea that women should not be in positions of responsibility.`); + FutureSocieties.Change("GenderFundamentalist", -3); + repX(-1000, "PCactions"); + } + } else { + if (V.rep > 15000) { + r.push(`You are so well liked that society has accepted that you enjoy taking everything a slave has to offer.`); + } else { + r.push(`Society finds your penchant for taking slave dick <span class="red">very distasteful</span> for a slaveowner.`); + repX(-500, "PCactions"); + } + } + } + } + + if (V.secExpEnabled > 0) { + if (V.SecExp.smilingMan.progress === 20) { + r.push(`The grim statue of the Smiling Man outside your arcology <span class="green">reminds the world of who managed to eliminate such a threat.</span>`); + repX(100, "architecture"); + } + + if (V.SecExp.edicts.weaponsLaw === 3) { + r.push(`The absence of any kind of restriction on weaponry within your arcology is <span class="green">welcomed by your citizens</span> as sign of your respect for the ideals the Free Cities stand for.`); + repX(20, "edicts"); + } + } + + if (V.SF.Toggle && V.SF.Active >= 1 && V.SF.UC.Assign > 0) { + const sfArray = []; + sfArray.push(`Assigning a`); + if (V.SF.UC.Assign === 1) { + sfArray.push(`small`); + } else { + sfArray.push(`large`); + } + sfArray.push(`portion of ${V.SF.Lower} to <span class="green">undercover work, slightly boosts your reputation.</span>`); + App.Events.addNode(el, sfArray, "div"); + let _value; + if (V.SF.UC.Assign === 1) { + _value = V.SF.ArmySize * 0.05; + } else { + _value = V.SF.ArmySize * 0.25; + } + repX(_value, "specialForces"); + } else if (V.SF.FS.BadOutcome === "ISOLATION") { + r.push(App.UI.DOM.makeElement("div", `Your citizens are <span class="red">very displeased</span> that you are hosting a legion of heavily armed squatters in your basement.`)); + repX(forceNeg(V.SF.ArmySize + App.SF.upgrades.total()), "specialForces"); + } + + if (V.arcologies[0].FSSupremacist !== "unset") { + if (V.PC.race === V.arcologies[0].FSSupremacistRace) { + r.push(`Since you are a member of the ${V.PC.race} race, society <span class="green">strongly approves</span> of your ownership of the arcology.`); + FutureSocieties.Change("Supremacist", 5); + } + } else if (V.arcologies[0].FSSubjugationist !== "unset") { + if (V.PC.race === V.arcologies[0].FSSubjugationistRace) { + if (V.rep > 15000) { + r.push(`Your reputation is so strong that society has accepted your ${V.PC.race}ness despite you being an inferior race.`); + } else { + r.push(`Society <span class="red">loathes;</span> being lead by an inferior ${V.PC.race}, believing that any other race would make a far better leader than you.`); + repX(forceNeg(200 * (V.arcologies[0].FSSubjugationist / V.FSLockinLevel)), "PCappearance"); + } + } + } + + if (V.arcologies[0].FSAssetExpansionist !== "unset") { + if (V.PC.boobs >= 1400) { + r.push(`Society loves enormous breasts and you are no exception; your`); + if (V.PC.boobsImplant > 0) { + r.push(`chest balloons`); + } else { + r.push(`cow tits`); + } + r.push(`<span class="green">improve</span> your public image.`); + repX(10, "PCappearance"); + } + if (V.PC.butt >= 5) { + r.push(`Society loves big butts and you are no exception; your`); + if (V.PC.buttImplant > 0) { + r.push(`inflated ass`); + } else { + r.push(`fat ass`); + } + r.push(`<span class="green">improves</span> your public image.`); + repX(10, "PCappearance"); + } + if (V.PC.balls >= 9) { + r.push(`Society loves big things and the bulge in your crotch is no exception; your swollen balls <span class="green">improve</span> your public image.`); + repX((5 * V.PC.ballsImplant), "PCappearance"); + } + } else if (V.arcologies[0].FSSlimnessEnthusiast !== "unset") { + if (V.PC.boobs >= 1000) { + r.push(`Society finds big breasts unsightly and you are no exception; your`); + if (V.PC.boobsImplant > 0) { + r.push(`chest balloons`); + } else { + r.push(`fat tits`); + } + r.push(`<span class="red">harm</span> your public image.`); + repX(forceNeg((V.PC.boobs / 100) * 3), "PCappearance"); + } + if (V.PC.butt >= 5) { + r.push(`Society finds big butts unsightly and you are no exception; your`); + if (V.PC.buttImplant > 0) { + r.push(`inflated ass`); + } else { + r.push(`fat ass`); + } + r.push(`<span class="red">harms</span> your public image.`); + repX(forceNeg(10 * V.PC.butt), "PCappearance"); + } + } + + if (V.arcologies[0].FSTransformationFetishist !== "unset") { + if (V.PC.boobsImplant > 0) { + r.push(`Society loves fake breasts and yours are no exception; your breast implants <span class="green">improve</span> your public image.`); + repX((V.PC.boobsImplant / 5), "PCappearance"); + } + if (V.PC.buttImplant > 0) { + r.push(`Society loves fake butts and yours are no exception; your ass implants <span class="green">improve</span> your public image.`); + repX((7 * V.PC.buttImplant), "PCappearance"); + } + if (V.PC.ballsImplant > 0) { + r.push(`Society loves everything augmented and the bulge in your crotch is no exception; your swollen balls <span class="green">improve</span> your public image.`); + repX((5 * (V.PC.ballsImplant)), "PCappearance"); + } + if (V.arcologies[0].FSRepopulationFocus !== "unset") { + if (V.PC.boobs >= 1000 && V.PC.boobsImplant === 0) { + r.push(`Society approves of anything that helps the repopulation efforts. Your large breasts promise plentiful milk and <span class="green">improve</span> your public image.`); + repX((V.PC.boobs / 50), "PCappearance"); + } + if (V.PC.balls >= 5) { + r.push(`Society loves anything that helps the repopulation efforts. Your huge fertile balls indicate that you're a successful breeder and <span class="green">strongly improves</span> your public image.`); + repX((15 * V.PC.balls), "PCappearance"); + } + } + } else if (V.arcologies[0].FSBodyPurist !== "unset") { + if (V.PC.boobsImplant !== 0) { + r.push(`Society finds fake breasts repulsive and yours are no exception; your balloon-like breasts <span class="red">harm</span> your public image.`); + repX(forceNeg(V.PC.boobsImplant / 10), "PCappearance"); + } + if (V.PC.buttImplant > 0) { + r.push(`Society finds fake butts unsightly and yours is no exception; your inflated ass <span class="red">harms</span> your public image.`); + repX(forceNeg(10 * V.PC.buttImplant), "PCappearance"); + } + if (V.PC.ballsImplant > 0) { + r.push(`Society finds everything unnatural disgusting and the grotesque bulge in your crotch is no exception; your gel filled balls <span class="red">harm</span> your public image.`); + repX(forceNeg(10 * V.PC.ballsImplant), "PCappearance"); + } + if (V.arcologies[0].FSRepopulationFocus !== "unset" && V.PC.boobs >= 1000 && V.PC.boobsImplant === 0) { + r.push(`Society approves of anything that helps the repopulation efforts. Your large breasts promise plentiful milk and <span class="green">improve</span> your public image.`); + repX((V.PC.boobs / 50), "PCappearance"); + } + } else if ((V.arcologies[0].FSRepopulationFocus !== "unset")) { + if (V.PC.boobs >= 1000 && V.PC.boobsImplant === 0) { + r.push(`Society approves of anything that helps the repopulation efforts. Your large breasts promise plentiful milk and <span class="green">improve</span> your public image.`); + repX((V.PC.boobs / 50), "PCappearance"); + } + if (V.PC.balls >= 5) { + r.push(`Society loves anything that helps the repopulation efforts. Your huge fertile balls indicate that you're a successful breeder and <span class="green">strongly improves</span> your public image.`); + repX((5 * (V.PC.balls)), "PCappearance"); + } + } + + if ( + (V.PC.belly >= 1500) || + (V.PC.career === "escort" && V.PC.belly >= 500 && V.PC.preg > 0) + ) { + if (V.arcologies[0].FSRestart !== "unset") { + if (V.arcologies[0].FSRestartDecoration === 100) { + if (V.PC.pregSource !== -1 && V.PC.pregSource !== -6) { + r.push(`Most prominent female owners avoid being penetrated on`); + if (V.policies.sexualOpenness === 1) { + r.push(`principle, though you choose the opposite; your fecund figure suggests a slave knocked you up, a huge`); + } else { + r.push(`principle; your fecund figure exposes not only your willingness to be penetrated, but your`); + } + r.push(`breach of eugenics. Your citizens are <span class="red">livid</span> over your actions and are calling for your removal.`); + repX(-500, "PCactions"); + if (V.eugenicsFullControl !== 1) { + V.failedElite += 100; + } + } else { + r.push(`Since it is public knowledge that you are carrying a child in the name of eugenics, society views you as a bearer of the future and <span class="green">celebrates</span> your contributions to society.`); + repX(200, "PCappearance"); + V.failedElite -= 10; + } + } else { + if (V.PC.pregSource !== -1 && V.PC.pregSource !== -6) { + r.push(`Most prominent female owners avoid being penetrated on`); + if (V.policies.sexualOpenness === 1) { + r.push(`principle, though you choose the opposite; your fecund figure suggests a slave knocked you up, a huge`); + } else { + r.push(`principle; your fecund figure exposes not only your willingness to be penetrated, but your`); + } + r.push(`breach of the eugenics you are pushing for. Your citizens are <span class="red">disgusted</span> by both your body and your lack of commitment.`); + repX(-500, "PCactions"); + if (V.eugenicsFullControl !== 1) { + V.failedElite += 50; + } + } else { + r.push(`Since it is public knowledge that you are carrying a child in the name of eugenics, society views you as a bearer of modernity and <span class="green">commends</span> your contributions to society.`); + repX(200, "PCappearance"); + V.failedElite -= 5; + } + } + } else if (V.arcologies[0].FSRepopulationFocus >= 60) { + r.push(`Most prominent female owners avoid being penetrated on principle, but your arcology values motherhood so much that it is more <span class="green">pleased</span> with your dedication than it is disappointed in your`); + if (V.policies.sexualOpenness === 1) { + r.push(`suspected slave baby.`); + } else { + r.push(`penetration.`); + } + repX(10, "PCappearance"); + } else { + r.push(`Most prominent female owners avoid being penetrated on`); + if (V.policies.sexualOpenness === 1) { + r.push(`principle, though you choose the opposite; your fecund figure suggests a slave knocked you up,`); + } else { + r.push(`principle; your fecund figure exposes your willingness to be penetrated,`); + } + r.push(`making it <span class="red">harder for you to maintain your reputation.</span>`); + repX(-200, "PCactions"); + } + } + + if (V.PC.career === "escort" && V.rep < 16000) { + r.push(`Society <span class="red">frowns</span> over being run by an ex-whore. The presence of porn of you on the net doesn't aid your reputation either.`); + repX(forceNeg(Math.min((V.rep * 0.05), 500)), "PCactions"); + } else if (V.PC.career === "escort") { + r.push(`Your reputation is so strong that society has accepted your previous endeavors despite how unusual it is for a prominent slaveowner to have once nearly been a slave.`); + } + if (V.PC.career === "servant" && V.rep < 12000) { + r.push(`Society <span class="red">frowns</span> over being run by an ex-`); + if (V.PC.title === 1) { + r.push(`butler,`); + } else { + r.push(`maid,`); + } + r.push(`despite how prominent their previous owner was.`); + repX(forceNeg(Math.min((V.rep * 0.05), 500)), "PCactions"); + } else if (V.PC.career === "servant") { + r.push(`Your reputation is so strong that society has accepted your previous vocation despite how unusual it is for a prominent slaveowner to have once been nothing more than a lowly servant.`); + } + if (V.PC.career === "gang" && V.rep < 15000) { + r.push(`Society <span class="red">frowns</span> over being run by an ex-gang leader, no matter how strong they might have been.`); + repX(forceNeg(Math.min((V.rep * 0.05), 500)), "PCactions"); + } else if (V.PC.career === "BlackHat" && V.rep < 15000) { + r.push(`Society <span class="red">dislikes</span> being run by someone so capable of dredging up secrets, especially when they used to do it for the highest bidder.`); + repX(forceNeg(Math.min((V.rep * 0.05), 500)), "PCactions"); + } else if (V.PC.career === "gang" || V.PC.career === "BlackHat") { + r.push(`Your reputation is strong enough that society has come to accept your background as part of your image.`); + } + + if (V.PCSlutContacts === 2) { + r.push(`You are actively starring in pornographic videos. While they are rather exclusive, <span class="red">some still leak out to the public,</span> harming your image.`); + repX(-50, "PCactions"); + if (canGetPregnant(V.PC)) { + r.push(`That's not all that leaks out of you, considering all your shoots are rubber free.`); + r.push(knockMeUp(V.PC, 20, 0, -5, true)); + } + } + + if (V.arcologies[0].FSRomanRevivalist !== "unset") { + if (V.mercenaries > 0) { + r.push(`Society <span class="green">approves</span> of how you are providing for the defense of the state, as should all citizens of the new Rome.`); + FutureSocieties.Change("RomanRevivalist", V.mercenaries); + } + if (V.slaves.length > 20 && V.cash > 50000) { + r.push(`Society <span class="green">strongly approves</span> of your wealth and prosperity, fit goals for the`); + if (V.PC.customTitle) { + r.push(`${V.PC.customTitle}`); + } else if (V.PC.title === 1) { + r.push(`new Roman man.`); + } else { + r.push(`rising Roman lady.`); + } + FutureSocieties.Change("RomanRevivalist", 5); + } + if (V.language !== "Latin") { + r.push(`Continuing to use ${V.language} as the lingua franca of ${V.arcologies[0].name} rather than the storied Latin <span class="red">disappoints</span> society and causes doubt about your revivalist project.`); + FutureSocieties.Change("RomanRevivalist", -2); + } + } else if (V.arcologies[0].FSAztecRevivalist !== "unset") { + if (V.PC.visualAge >= 35) { + r.push(`Society <span class="green">approves</span> of your advancing age, which advances the ancient Aztec ideal of an experienced leader of the people.`); + FutureSocieties.Change("AztecRevivalist", 1); + } + if (V.HeadGirlID === 0) { + r.push(`Society <span class="red">disapproves</span> of you not having a Head Girl as an advisor and assistant.`); + FutureSocieties.Change("AztecRevivalist", -2); + } else { + r.push(`Society <span class="green">approves</span> of your reliance on a Head Girl as an advisor and assistant.`); + FutureSocieties.Change("AztecRevivalist", 2); + } + if (V.PC.skill.warfare < 0) { + r.push(`Society <span class="red">greatly disapproves</span> of your feebleness in the arts of war.`); + FutureSocieties.Change("AztecRevivalist", -4); + } else if (V.PC.skill.warfare < 50) { + r.push(`Society <span class="red">disapproves</span> of you not being properly trained in the arts of war.`); + FutureSocieties.Change("AztecRevivalist", -2); + } else { + r.push(`Society <span class="green">approves</span> of having a leader that is trained in the arts of war.`); + FutureSocieties.Change("AztecRevivalist", 2); + } + if (V.language !== "Nahuatl") { + r.push(`Continuing to use ${V.language} as the lingua franca of ${V.arcologies[0].name} rather than the revived Nahuatl <span class="red">disappoints</span> society and causes doubt about your revivalist project.`); + FutureSocieties.Change("AztecRevivalist", -3); + } + } else if (V.arcologies[0].FSNeoImperialist !== "unset") { + if (V.mercenaries > 0) { + r.push(`Society <span class="green">approves</span> of your strong militarism and elite mercenaries, as your tradition of Imperial conquest glorifies military success above all else.`); + FutureSocieties.Change("NeoImperialist", V.mercenaries); + } + if (V.slaves.length > 20 && V.cash > 50000) { + r.push(`Society <span class="green">strongly approves</span> of your great wealth and prosperity, as is only fitting for an`); + if (V.PC.customTitle) { + r.push(`${V.PC.customTitle}`); + } else if (V.PC.title === 1) { + r.push(`proper Imperial noble.`); + } else { + r.push(`graceful Imperial noble.`); + } + FutureSocieties.Change("NeoImperialist", 5); + } + if (V.cash < 1000) { + r.push(`Society <span class="red">disapproves</span> of your poverty; it is viewed as completely unbefitting for an Imperial ruler to have so little cash on hand, and indicative of weakness in your rule.`); + FutureSocieties.Change("NeoImperialist", -2); + } + if (V.PC.skill.warfare < 0) { + r.push(`Society <span class="red">greatly disapproves</span> of your weakness in combat. The core duty of any Imperial noble is to fight, and your failure to understand the art of war is an unacceptable weakness.`); + FutureSocieties.Change("NeoImperialist", -4); + } else if (V.PC.skill.warfare < 50) { + r.push(`Society <span class="red">disapproves</span> of you lacking training in the art of warfare, as fighting is a core duty of any Imperial noble.`); + FutureSocieties.Change("NeoImperialist", -2); + } else { + r.push(`Society <span class="green">approves</span> of having a leader who is a capable warrior. Your strength in battle is seen proof of your indisputable right to rule.`); + FutureSocieties.Change("NeoImperialist", 2); + } + } else if (V.arcologies[0].FSEgyptianRevivalist !== "unset") { + const _racialVarieties = new Set(V.slaves.map((s) => s.race)); + if (_racialVarieties.size > 4) { + r.push(`Society <span class="green">strongly approves</span> of how you own a cornucopia of different races, which advances the ancient Egyptian ideal of cosmopolitan sex slavery.`); + FutureSocieties.Change("EgyptianRevivalist", 5); + } + if (V.language !== "Ancient Egyptian") { + r.push(`Continuing to use ${V.language} as the lingua franca of V.arcologies[0].name rather than revived Ancient Egyptian <span class="red">disappoints</span> society and causes doubt about your revivalist project.`); + FutureSocieties.Change("EgyptianRevivalist", -2); + } + } else if (V.arcologies[0].FSEdoRevivalist !== "unset") { + const _threshold = Math.trunc(V.rep / 2000); + if (V.publicServants <= _threshold) { + r.push(`Society <span class="red">disapproves</span> of your failure to provide for cultural development by offering public servants or club slaves in a number that befits your reputation.`); + FutureSocieties.Change("EdoRevivalist", -2); + } else { + r.push(`Society <span class="green">approves</span> of your provision for cultural development by offering public servants and club slaves in a number that befits your reputation.`); + FutureSocieties.Change("EdoRevivalist", 2); + } + if (V.language !== "Japanese") { + r.push(`Continuing to use ${V.language} as the lingua franca of ${V.arcologies[0].name} rather than pure Japanese <span class="red">disappoints</span> society and causes doubt about your revivalist project.`); + FutureSocieties.Change("EdoRevivalist", -2); + } + } else if (V.arcologies[0].FSArabianRevivalist !== "unset") { + if (V.fuckSlaves < V.rep / 3500) { + r.push(`Society <span class="red">disapproves</span> of the small size of your harem, feeling that you do not have enough fucktoys or slaves in your master suite for your reputation.`); + FutureSocieties.Change("ArabianRevivalist", -2); + } else { + r.push(`Society <span class="green">approves</span> of the size of your harem, feeling that you have a good number of fucktoys and slaves in your master suite for your reputation.`); + FutureSocieties.Change("ArabianRevivalist", 2); + } + if (V.language !== "Arabic") { + r.push(`Continuing to use ${V.language} as the lingua franca of ${V.arcologies[0].name} rather than the Arabic in which the word of God was passed to Muhammad <span class="red">disappoints</span> society and causes doubt about your revivalist project.`); + FutureSocieties.Change("ArabianRevivalist", -2); + } + } else if (V.arcologies[0].FSChineseRevivalist !== "unset") { + if (V.HeadGirlID === 0) { + r.push(`Society <span class="red">disapproves</span> of your failure to rely on a Head Girl, as proper imperial administration requires,`); + FutureSocieties.Change("ChineseRevivalist", -2); + } else { + r.push(`Society <span class="green">approves</span> of your reliance on a Head Girl, as proper imperial administration requires,`); + FutureSocieties.Change("ChineseRevivalist", 2); + } + if (V.RecruiterID === 0) { + r.push(`<span class="red">disapproves</span> of your failure to maintain a Recruiter to expand the Middle Kingdom,`); + FutureSocieties.Change("ChineseRevivalist", -2); + } else { + r.push(`<span class="green">approves</span> of your maintaining a Recruiter to expand the Middle Kingdom,`); + FutureSocieties.Change("ChineseRevivalist", 2); + } + if (V.BodyguardID === 0) { + r.push(`and <span class="red">disapproves</span> of your failure to keep a Bodyguard as befits a proper imperial palace.`); + FutureSocieties.Change("ChineseRevivalist", -2); + } else { + r.push(`and <span class="green">approves</span> of your keeping a Bodyguard, as befits a proper imperial palace.`); + FutureSocieties.Change("ChineseRevivalist", 2); + } + if (V.language !== "Chinese") { + r.push(`Continuing to use ${V.language} as the lingua franca of ${V.arcologies[0].name} rather than the Chinese of the Middle Kingdom <span class="red">disappoints</span> society and causes doubt about your revivalist project.`); + FutureSocieties.Change("ChineseRevivalist", -2); + } + } + + let _noEugenics; + let _yesEugenics; + if (V.arcologies[0].FSRepopulationFocus !== "unset") { + if (policies.countEugenicsSMRs() > 0) { + r.push(`Society <span class="red">disapproves</span> of your policies sterilizing potential mothers. Your insistence on eugenics hinders adoption of your new society.`); + _noEugenics = -1 * policies.countEugenicsSMRs(); + FutureSocieties.Change("RepopulationFocus", _noEugenics); + } + } else if (V.arcologies[0].FSPaternalist !== "unset") { + if (policies.countEugenicsSMRs() > 0) { + r.push(`Society <span class="red">disapproves</span> of your policies forcefully sterilizing slaves, especially when they snuff out the life growing within them.`); + _noEugenics = -1 * policies.countEugenicsSMRs(); + FutureSocieties.Change("Paternalist", _noEugenics); + } + } else if ((V.arcologies[0].FSRestart !== "unset") && V.arcologies[0].FSPaternalist === "unset") { + if (policies.countEugenicsSMRs() > 0 && V.arcologies[0].FSRestartSMR !== 1) { + r.push(`Society <span class="green"> approves</span> of your slave eugenics policies, easing them into more thorough eugenics.`); + _yesEugenics = policies.countEugenicsSMRs(); + FutureSocieties.Change("Eugenics", _yesEugenics); + V.failedElite -= (1 * policies.countEugenicsSMRs()); + } else if (V.arcologies[0].FSRestartSMR === 1) { + V.failedElite -= (2 * policies.countEugenicsSMRs()); + } + } + + if (V.arcologies[0].FSRepopulationFocus !== "unset" && V.birthsTotal > 0) { + r.push(`The number of children you've brought into the world <span class="green">pleases</span> your citizens.`); + if (V.birthsTotal < 1000) { + repX(V.birthsTotal, "PCactions"); + } else { + repX(1000, "PCactions"); + } + } + + if (V.shelterAbuse > 5) { + if (V.arcologies[0].FSPaternalist !== "unset") { + r.push(`You are on the Slave Shelter's public list of abusive slaveowners. Society <span class="red">disapproves</span> of your falling foul of such a well regarded charity.`); + FutureSocieties.Change("Paternalist", -2); + } else if (V.arcologies[0].FSDegradationist !== "unset") { + r.push(`You are on the Slave Shelter's public list of abusive slaveowners. Your citizens find this hilarious, and <span class="green">approve</span> of your taking advantage of a pack of idiots.`); + FutureSocieties.Change("Degradationist", 2); + } + } + + if (V.TCR.schoolPresent === 1) { + if (V.arcologies[0].FSRestart !== "unset") { + r.push(`Your Eugenics focused society <span class="red">disagrees</span> with the local branch of The Cattle Ranch's views on slave breeding. Until society sees them as nothing more than mindless cattle and not human, they are in conflict with current reproduction standards.`); + FutureSocieties.Change("Eugenics", -1); + } else if (V.arcologies[0].FSPaternalist !== "unset") { + r.push(`While they can't stop what happens to slaves outside of your arcology, they can <span class="red">disapprove and protest</span> you allowing a branch of the mentally and physically abusive Cattle Ranch to be established in your arcology.`); + FutureSocieties.Change("Paternalist", -2); + } + } + + if (V.policies.cash4Babies === 1) { + if (V.arcologies[0].FSDegradationist !== "unset") { + r.push(`Society <span class="green">approves</span> of your poor treatment of slave infants.`); + repX(5 * V.FSSingleSlaveRep * (V.arcologies[0].FSDegradationist / V.FSLockinLevel), "babyTransfer"); + } else if (V.arcologies[0].FSRestart !== "unset") { + if (V.eugenicsFullControl !== 1) { + r.push(`The Societal Elite <span class="red">strongly disapproves</span> of your creating an economic incentive for the lower classes to breed and sell infants, holding back acceptance of your new society.`); + V.failedElite += 5; + } else { + r.push(`Society <span class="red">strongly disapproves</span> of your creating an economic incentive for the lower classes to breed and sell infants, holding back acceptance of your new society.`); + } + V.arcologies[0].FSRestart -= V.FSSingleSlaveRep; + repX(forceNeg((5 * V.FSSingleSlaveRep * (V.arcologies[0].FSRestart / V.FSLockinLevel)) + (V.rep / 40)), "babyTransfer"); + } else if (V.arcologies[0].FSPaternalist !== "unset") { + r.push(`Society <span class="red">greatly despises</span> your poor treatment of slave infants.`); + repX(forceNeg((25 * V.FSSingleSlaveRep * (V.arcologies[0].FSPaternalist / V.FSLockinLevel)) + (V.rep / 20)), "babyTransfer"); + } else if (V.arcologies[0].FSRepopulationFocus !== "unset") { + r.push(`Society <span class="red">disapproves</span> of your poor treatment of your future population, holding back acceptance of your new society.`); + V.arcologies[0].FSRepopulationFocus -= V.FSSingleSlaveRep; + repX(forceNeg((5 * V.FSSingleSlaveRep * (V.arcologies[0].FSRepopulationFocus / V.FSLockinLevel)) + (V.rep / 20)), "babyTransfer"); + } else { + r.push(`Your citizens <span class="red">disapprove</span> of your poor treatment of slave children.`); + repX(forceNeg(V.rep / 20), "babyTransfer"); + } + } + + if (V.policies.mixedMarriage === 1) { + r.push(`Your citizens`); + if (V.arcologies[0].FSPaternalist >= 80) { + r.push(`are so paternalistic that they <span class="green">approve</span> of`); + FutureSocieties.Change("Paternalist", 2); + } else if (V.arcologies[0].FSPaternalist >= 40) { + r.push(`are paternalistic enough to tolerate`); + } else { + r.push(`<span class="red">disapprove</span> of`); + repX(-50, "PCactions"); + } + r.push(`your support for marriage between citizens and slaves.`); + } + + let _care; + if (V.citizenOrphanageTotal > 0) { + if (V.arcologies[0].FSPaternalist !== "unset") { + r.push(`The public <span class="green">approves</span> of the way you're providing for ${V.citizenOrphanageTotal} of your slaves' children to be raised as citizens.`); + FutureSocieties.Change("Paternalist", V.citizenOrphanageTotal); + if (V.privateOrphanageTotal > 0) { + r.push(`Raising ${num(V.privateOrphanageTotal)} of your slaves' children privately is considered even more <span class="green">impressive.</span>`); + _care = V.privateOrphanageTotal * 2; + FutureSocieties.Change("Paternalist", _care); + } + } else if (V.arcologies[0].FSDegradationist !== "unset") { + r.push(`The public <span class="red">disapproves</span> of the way you're providing for ${V.citizenOrphanageTotal} of your slaves' children to be raised as citizens.`); + _care = -V.citizenOrphanageTotal; + FutureSocieties.Change("Degradationist", _care); + if (V.privateOrphanageTotal > 0) { + r.push(`Fortunately your raising slaves' children privately is not publicly known.`); + } + } + } else if (V.privateOrphanageTotal > 0) { + if (V.arcologies[0].FSPaternalist !== "unset") { + r.push(`Raising ${num(V.privateOrphanageTotal)} of your slaves' children privately is considered extremely <span class="green">impressive.</span>`); + _care = V.privateOrphanageTotal * 2; + FutureSocieties.Change("Paternalist", _care); + } else if (V.arcologies[0].FSDegradationist !== "unset") { + r.push(`Fortunately your raising slaves' children privately is not publicly known.`); + } + } + if (V.breederOrphanageTotal > 0 && V.arcologies[0].FSRepopulationFocus !== "unset") { + r.push(`The public <span class="green">approves</span> of the way you've dedicated ${num(V.breederOrphanageTotal)} of your slaves' children to be raised into future breeders.`); + const _futureBreeders = Math.round(((V.breederOrphanageTotal / 100) + 1)); + FutureSocieties.Change("RepopulationFocus", _futureBreeders); + } + + if (V.arcologies[0].FSNull !== "unset") { + r.push(`Your cultural openness <span class="green">helps your reputation,</span> since few citizens have disputes with your permissive approach.`); + repX(50 * V.FSSingleSlaveRep * (V.arcologies[0].FSNull / V.FSLockinLevel), "policies"); + } + + if (V.arcologies[0].FSRestartLaw === 1) { + r.push(`Your laws requiring the non-elite to pay additional taxes or be sterilized <span class="red">agitates</span> some of your citizens, but they don't matter. Only your <span class="green">pleased</span> elite do.`); + repX(-100, "policies"); + V.failedElite -= 1; + } + + if (V.arcologies[0].FSHedonisticDecadenceLaw === 1) { + r.push(`The burgeoning prosperity brought on by new business through your policies <span class="green">builds your reputation,</span> since nearly every citizen has something available to satisfy their cravings.`); + repX(100, "policies"); + } + + if (V.arcologies[0].FSIntellectualDependencyLaw === 1) { + r.push(`The protections you have in place to protect invalids <span class="green">adds to your reputation,</span> since every citizen will eventually find themselves benefitting from it.`); + repX(100, "policies"); + } + + if (V.policies.SMR.frigiditySMR === 1) { + r.push(`Your market regulations regarding slave sex drives <span class="red">outrages</span> your citizens seeking sex slaves, since only slaves disinterested in sex are available.`); + repX(-250, "policies"); + } + + if (V.PC.degeneracy > 0) { + if (V.PC.degeneracy > 100) { + r.push(`There are <span class="red">severe and devastating rumors</span> about you spreading across the arcology.`); + repX(forceNeg(100 * V.PC.degeneracy), "PCactions"); + V.enduringRep = 0; + } else if (V.PC.degeneracy > 75) { + r.push(`There are <span class="red">severe rumors</span> about you spreading across the arcology.`); + repX(forceNeg(20 * V.PC.degeneracy), "PCactions"); + } else if (V.PC.degeneracy > 50) { + r.push(`There are <span class="red">bad rumors</span> about you spreading across the arcology.`); + repX(forceNeg(10 * V.PC.degeneracy), "PCactions"); + } else if (V.PC.degeneracy > 25) { + r.push(`There are <span class="red">rumors</span> about you spreading across the arcology.`); + repX(forceNeg(5 * V.PC.degeneracy), "PCactions"); + } else if (V.PC.degeneracy > 10) { + r.push(`There are <span class="red">minor rumors</span> about you spreading across the arcology.`); + repX(forceNeg(2 * V.PC.degeneracy), "PCactions"); + } else { + r.push(`The occasional rumor about you can be heard throughout the arcology.`); + repX(forceNeg(1 * V.PC.degeneracy), "PCactions"); + } + } + + if (V.FCNNstation === 1) { + r.push(`Playing host to the Free Cities News Network brings <span class="green">approval</span> from those who still consider freedom of the press a virtue.`); + repX(500, "policies"); + } + + if (V.secExpEnabled > 0 && V.SecExp.buildings.propHub && V.SecExp.buildings.propHub.upgrades.fakeNews > 0) { + r.push(`The authenticity department produces and distributes copious amounts of plausible enough news and reports, <span class="green">increasing your reputation.</span>`); + repX(10 * V.SecExp.buildings.propHub.upgrades.fakeNews, "policies"); + } + + App.Events.addParagraph(el, r); + r = []; + const _repGain = hashSum(V.lastWeeksRepIncome); + _repLoss = hashSum(V.lastWeeksRepExpenses); + if (_repGain > _repLoss) { + r.push(App.UI.DOM.makeElement("span", `Your reputation increased this week.`, "green")); + } else if (_repGain < _repLoss) { + r.push(App.UI.DOM.makeElement("span", `Your reputation decreased this week.`, "red")); + } + + + if (isNaN(V.rep)) { + r.push(App.UI.DOM.makeElement("p", `Error: rep is outside accepted range, please report this issue`, "red")); + } + + if (V.rep > 20000) { + r.push(`Your reputation is capped.`); + } else if (V.rep-V.enduringRep > 7500) { + r.push(`Your base rate of reputation decay is very high.`); + } else if (V.rep-V.enduringRep > 5000) { + r.push(`Your base rate of reputation decay is high.`); + } else if (V.rep-V.enduringRep > 2500) { + r.push(`Your base rate of reputation decay is moderate.`); + } else if (V.rep-V.enduringRep > 0) { + r.push(`Your base rate of reputation decay is low.`); + } + if (V.enduringRep >= 10000) { + r.push(`Your legend is perfected, reducing reputation decay to its lowest possible level.`); + V.enduringRep = 10000; + } + + if (V.policies.alwaysSubsidizeRep === 1) { + if (V.rep <= 19900) { + repX(100, "policies"); + r.push(`Reputation subsidized as planned.`); + if (V.PC.degeneracy > 1) { + V.PC.degeneracy -= 1; + } + } else if (V.PC.degeneracy > 1) { + V.PC.degeneracy -= 1; + r.push(`Rumors quelled as planned.`); + } else { + cashX(1000, "policies"); + r.push(`Reputation subsidy reclaimed this week since your reputation is capped.`); + } + } + + if (V.failedElite > 1) { + V.failedElite -= 1; + } + if (V.PC.degeneracy > 1) { + V.PC.degeneracy -= 1; + } + + if (V.arcologies[0].FSRestartDecoration === 100) { + if (V.eugenicsFullControl !== 1) { + if (V.failedElite > 300) { + r.push(`The Societal Elite <span class="red">are plotting your demise.</span>`); + } else if (V.failedElite > 250) { + r.push(`The Societal Elite <span class="red">are openly discussing about your failures.</span> It would be in your best interests to appease them.`); + } else if (V.failedElite > 200) { + r.push(`The Societal Elite <span class="red">are avoiding you.</span> Getting back on their good side is a good idea, lest you want to disappear.`); + } else if (V.failedElite > 150) { + r.push(`The Societal Elite <span class="red">stop their conversations around you.</span> You may want to consider your actions more.`); + } else if (V.failedElite > 100) { + r.push(`The Societal Elite <span class="red">seem to dislike you.</span>`); + } else if (V.failedElite > 50) { + r.push(`The Societal Elite <span class="red">mutter about you.</span>`); + } else if (V.failedElite > 0) { + r.push(`The Societal Elite <span class="red">question some of your actions.</span>`); + } else { + r.push(`The Societal Elite hold you in high regards.`); + } + } else { + r.push(`The Societal Elite can think what they want, they know better than to try and cross you again.`); + } + } else if (V.arcologies[0].FSRestart !== "unset") { + if (V.eugenicsFullControl !== 1) { + if (V.failedElite > 300) { + r.push(`The Societal Elite <span class="red">have departed from your arcology in disgust.</span>`); + FutureSocieties.remove("FSRestart"); + repX(forceNeg(10000), "event"); + V.eliteFail = random(30, 100); + V.eliteFailTimer = 15; + if (V.eliteFail > V.topClass - 20) { + V.eliteFail = V.topClass - 20; + } + if (V.arcologies[0].prosperity > 50) { + V.arcologies[0].prosperity -= random(20, 40); + } + } else if (V.failedElite > 250) { + r.push(`The Societal Elite <span class="red">are openly discussing leaving.</span> It would be in your best interests to appease them.`); + } else if (V.failedElite > 200) { + r.push(`The Societal Elite <span class="red">are avoiding you.</span> Getting back on their good side is a good idea, lest you want to disappear.`); + } else if (V.failedElite > 150) { + r.push(`The Societal Elite <span class="red">stop their conversations around you.</span> You may want to consider your actions more.`); + } else if (V.failedElite > 100) { + r.push(`The Societal Elite <span class="red">seem to dislike you.</span>`); + } else if (V.failedElite > 50) { + r.push(`The Societal Elite <span class="red">mutter about you.</span>`); + } else if (V.failedElite > 0) { + r.push(`The Societal Elite <span class="red">question some of your actions.</span>`); + } else { + r.push(`The Societal Elite hold you in warm regards.`); + } + } else { + r.push(`The Societal Elite can think what they want, they know better than to try and cross you again.`); + } + } + App.Events.addParagraph(el, r); + return el; +}; diff --git a/src/endWeek/saDrugs.js b/src/endWeek/saDrugs.js index 794e1fdb090c75197ccd886001090fb484304102..8fe4927f1f8c826c1b895df2a7a1ec6ffe67267f 100644 --- a/src/endWeek/saDrugs.js +++ b/src/endWeek/saDrugs.js @@ -1672,22 +1672,10 @@ App.SlaveAssignment.drugs = (function() { healthDamage(slave, 20); induce(slave); V.birthee = 1; - r += ` ${He} has been ready to give birth for some time now. Suppressing birth for so long <span class="red">greatly affects ${his} health.</span> ${He} may <span class="red">have trouble</span> giving birth to ${his} oversized child`; - if (slave.pregType > 1) { - r += `ren`; - } - r += `. ${He} seems to be in distress, ${his} body is <span class="red">forcing ${his} child`; - if (slave.pregType > 1) { - r += `ren`; - } - r += ` out!</span>`; + r += ` ${He} has been ready to give birth for some time now. Suppressing birth for so long <span class="red">greatly affects ${his} health.</span> ${He} may <span class="red">have trouble</span> giving birth to ${his} oversized ${(slave.pregType === 1) ? `child`:`children`}. ${He} seems to be in distress, ${his} body is <span class="red">forcing ${his} ${(slave.pregType === 1) ? `child`:`children`} out!</span>`; } else if (WombBirthReady(slave, slave.pregData.normalBirth * 1.25) > 0) { healthDamage(slave, 20); - r += ` ${He} has been ready to give birth for some time now. Suppressing birth for so long <span class="red">greatly affects ${his} health.</span> ${He} may <span class="red">have trouble</span> giving birth to ${his} oversized child`; - if (slave.pregType > 1) { - r += `ren`; - } - r += `. `; + r += ` ${He} has been ready to give birth for some time now. Suppressing birth for so long <span class="red">greatly affects ${his} health.</span> ${He} may <span class="red">have trouble</span> giving birth to ${his} oversized ${(slave.pregType === 1) ? `child` : `children`}. `; } else if (WombBirthReady(slave, slave.pregData.normalBirth) > 0) { healthDamage(slave, 10); r += ` Labor suppressing agents <span class="red">negatively affect ${his} health.</span> `; diff --git a/src/npc/generate/newSlaveIntro.js b/src/npc/generate/newSlaveIntro.js index ba09c4b6975eca5e0a07b4f8ee5b40c1b72259c8..96b362af692208f39c9e5ae11ac5c19a208613c2 100644 --- a/src/npc/generate/newSlaveIntro.js +++ b/src/npc/generate/newSlaveIntro.js @@ -3463,11 +3463,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest = } else { r.push(`be pushed to the ground. Standing over ${him}, staring ${him} down as ${he} peeks around your firm globe of a middle, you order ${him} to worship your pregnancy.`); if (slave.fetish === "pregnancy") { - r.push(`${He} complies eagerly. ${He} begins with sucking your popped navel before running ${his} tongue across the taut, smooth surface of your pregnancy. Once ${he} has finished with your belly, ${he} lowers ${himself} under it to begin work on your needy pussy. Before long, ${his} overzealous efforts have you quaking in pleasure, rousing your ${(V.PC.pregType === 1) ? `child` : `children`}. Once ${he} finishes you off, ${he} returns to rubbing your belly, soothing your rowdy child`); - if (V.PC.pregType > 1) { - r.push(`ren`); - } - r.push(`and <span class="hotpink">solidifying ${his} place</span> beneath you.`); + r.push(`${He} complies eagerly. ${He} begins with sucking your popped navel before running ${his} tongue across the taut, smooth surface of your pregnancy. Once ${he} has finished with your belly, ${he} lowers ${himself} under it to begin work on your needy pussy. Before long, ${his} overzealous efforts have you quaking in pleasure, rousing your ${(V.PC.pregType === 1) ? `child` : `children`}. Once ${he} finishes you off, ${he} returns to rubbing your belly, soothing your rowdy ${(V.PC.pregType === 1) ? `child`:`children`}and <span class="hotpink">solidifying ${his} place</span> beneath you.`); slave.devotion += 15; } else { r.push(`${He} shifts ${his} gaze between your middle and your face, not sure what to do. Losing patience, you toss a tube of cream at ${him}. ${He} shakily massages it onto your stretched skin, missing spots, much to your pleasure. With reason, you force ${him} onto ${his} back, turn around, and plant your needy cunt directly onto ${his} face. Struggling to breath under your weight, ${he} begins eating you out in desperation. After coaxing ${him} to massage your belly as ${he} does, you quickly climax across ${his} face and gently lift yourself off the coughing ${girl}. ${He} now <span class="hotpink">understands ${his} place in life</span> and is <span class="gold">terrified</span> about what ${he} will have to do if ${he} wants to survive.`); @@ -3630,11 +3626,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest = } else { r.push(`You knew ${he} had a breast fetishist and ${his} eagerness to lighten a lactating ${womanP} proves that.`); } - r.push(`A kick from within startles you from your thoughts; you pat your gravid middle, reassuring your child`); - if (V.PC.pregType > 1) { - r.push(`ren`); - } - r.push(`that you'll make sure to save some milk for them. ${He}'s already starting to <span class="hotpink">show understanding of ${his} place</span> and even <span class="mediumaquamarine">beginning to build trust</span> with you.`); + r.push(`A kick from within startles you from your thoughts; you pat your gravid middle, reassuring your ${(V.PC.pregType === 1) ? `child`:`children`} that you'll make sure to save some milk for them. ${He}'s already starting to <span class="hotpink">show understanding of ${his} place</span> and even <span class="mediumaquamarine">beginning to build trust</span> with you.`); slave.devotion += 15; slave.trust += 15; } else { diff --git a/src/pregmod/personalNotes.tw b/src/pregmod/personalNotes.tw deleted file mode 100644 index bc2ab16cd9d4734f2f9d8253bc4c7ab0e36d6e7b..0000000000000000000000000000000000000000 --- a/src/pregmod/personalNotes.tw +++ /dev/null @@ -1,406 +0,0 @@ -:: Personal Notes [nobr] - -<<if $useTabs == 0>>__Personal Notes__<</if>> -<br> -<<if ($playerAging != 0)>>Your birthday is <<if $PC.birthWeek == 51>>next week<<if $playerAging == 2>>; you'll be turning <<print $PC.actualAge+1>><</if>><<else>>in <<print 52-$PC.birthWeek>> weeks<</if>>.<</if>> -<<= App.Desc.Player.boobs()>> -<<= App.Desc.Player.belly()>> -<<= App.Desc.Player.crotch()>> -<<= App.Desc.Player.butt()>> -<<if $PC.lactation > 0>> - <<if $PC.rules.lactation != "none" && $PC.rules.lactation != "induce">> - <<set $PC.lactationDuration = 2>> - <<if $PC.rules.lactation == "sell">> - /* watch this be a disaster */ - <<set _milk = milkAmount($PC)>> - Whenever you have a free moment and a chest swollen with milk, you spend your time attached to the nearest milker. As a result, you produce _milk liters of sellable milk over the week. - <<if ($arcologies[0].FSPastoralistLaw == 1)>> - <<set _milkSale = _milk*(28+Math.trunc($arcologies[0].FSPastoralist/30))>> - Since breast milk is $arcologies[0].name's only legal dairy product, and yours is in a class all of its own, society can't get enough of it and you make @@.yellowgreen;<<print cashFormat(_milkSale)>>.@@ - <<elseif ($arcologies[0].FSPastoralist != "unset")>> - <<set _milkSale = _milk*(12+Math.trunc($arcologies[0].FSPastoralist/30))>> - Since milk is fast becoming a major part of the $arcologies[0].name's dietary culture, and yours is in a class all of its own, you make @@.yellowgreen;<<print cashFormat(_milkSale)>>.@@ - <<else>> - <<set _milkSale = _milk*8>> - Your milk is sold for @@.yellowgreen;<<print cashFormat(_milkSale)>>.@@ - <</if>> - <<run cashX(_milkSale, "personalBusiness")>> - <<else>> - You regularly see to your breasts to make sure your milk production doesn't dry up; be it by hand, milker, or mouth, you keep yourself comfortably drained. - <</if>> - <<else>> - <<if $PC.belly < 1500>> - <<set $PC.lactationDuration-->> - <<if $PC.lactationDuration == 0>> - With no reason to continue production, your @@.yellow;lactation has stopped.@@ - <<set $PC.lactation = 0>> - <</if>> - <</if>> - <</if>> -<</if>> -<<if $PC.preg > 0>> - <<set _oldCount = $PC.pregType>> - <<if $PC.preg <= 2>> - <<run fetalSplit($PC, 1000)>> - <<run WombCleanYYFetuses($PC)>> - <</if>> - <<if $pregnancyMonitoringUpgrade == 1>> - <<if _oldCount < $PC.pregType>> - While making use of the advanced pregnancy monitoring equipment, you are surprised to find @@.lime;your womb is a little more occupied than last checkup.@@ - <<elseif _oldCount > $PC.pregType>> - While making use of the advanced pregnancy monitoring equipment, you are surprised to find @@.orange;your womb houses less life than last checkup.@@ - <<if $PC.pregType == 0>> - For all intents and purposes, @@.yellow;you are no longer pregnant.@@ - <<run TerminatePregnancy($PC)>> - <</if>> - <</if>> - <<elseif _oldCount > $PC.pregType && $PC.pregType == 0>> - <<run TerminatePregnancy($PC)>> - <</if>> - <<if $PC.preg == 15>> - <<if $PC.pregKnown == 0>> - Your areolae have gotten dark. Some cursory tests reveal @@.lime;you are about fifteen weeks pregnant.@@ How did that manage to slip past you? - <<set $PC.pregKnown = 1>> - <<else>> - Your areolae have gotten dark. Just another step along your pregnancy. - <</if>> - <<elseif $PC.belly >= 1500>> - <<if ($PC.preg > 20) && ($PC.lactation == 0)>> - <<if $PC.preg > random(18,30)>> - A moist sensation on your breasts draws your attention; @@.lime;your milk has come in.@@ - <<set $PC.lactation = 1>> - <</if>> - <</if>> - <<if $PC.lactation == 1>> - <<set $PC.lactationDuration = 2>> - <</if>> - <</if>> - <<if ($PC.preg >= $PC.pregData.normalBirth/4)>> - <<set _gigantomastiaMod = $PC.geneticQuirks.gigantomastia == 2 ? ($PC.geneticQuirks.macromastia == 2 ? 3 : 2) : 1>> - /* trim this down */ - <<if $PC.geneMods.NCS == 1>> - <<set _boobTarget = 100>> - <<elseif $PC.geneticQuirks.androgyny == 2>> - <<set _boobTarget = 400>> - <<elseif $PC.physicalAge >= 18>> - <<if $PC.pregType >= 8>> - <<set _boobTarget = 1500>> /* 2000 */ - <<elseif $PC.pregType >= 5>> - <<set _boobTarget = 1400>> - <<elseif $PC.pregType >= 2>> - <<set _boobTarget = 1000>> - <<else>> - <<set _boobTarget = 800>> - <</if>> - <<elseif $PC.physicalAge >= 13>> - <<if $PC.pregType >= 8>> - <<set _boobTarget = 1500>> /* 1800 */ - <<elseif $PC.pregType >= 5>> - <<set _boobTarget = 1400>> - <<elseif $PC.pregType >= 2>> - <<set _boobTarget = 1000>> - <<else>> - <<set _boobTarget = 800>> - <</if>> - <<elseif $PC.physicalAge >= 8>> - <<if $PC.pregType >= 8>> - <<set _boobTarget = 1400>> - <<elseif $PC.pregType >= 5>> - <<set _boobTarget = 1000>> - <<elseif $PC.pregType >= 2>> - <<set _boobTarget = 800>> - <<else>> - <<set _boobTarget = 600>> - <</if>> - <<else>> - <<if $PC.pregType >= 8>> - <<set _boobTarget = 1000>> - <<elseif $PC.pregType >= 5>> - <<set _boobTarget = 8000>> - <<elseif $PC.pregType >= 2>> - <<set _boobTarget = 600>> - <<else>> - <<set _boobTarget = 400>> - <</if>> - <</if>> - /*<<set _boobTarget *= _gigantomastiaMod>>*/ - <<if ($PC.geneMods.NCS == 0)>> - /* - <<if $PC.pregType >= 30>> - <<if ($PC.weight <= 65)>> - $He has @@.lime;gained weight@@ in order to better sustain $himself and $his children. - <<set $PC.weight += 1>> - <</if>> - <<if (random(1,100) > 60)>> - <<if (($PC.boobs - $PC.boobsImplant) < _boobTarget)>> - $His breasts @@.lime;greatly swell@@ to meet the upcoming demand. - <<set $PC.boobs += 100>> - <<if $PC.boobShape != "saggy" && $PC.preg > $PC.pregData.normalBirth/1.25 && ($PC.breastMesh != 1) && ($PC.drugs != "sag-B-gone")>> - $His immensely engorged @@.orange;breasts become saggy@@ in the last stages of $his pregnancy as $his body undergoes changes in anticipation of the forthcoming birth. - <<set $PC.boobShape = "saggy">> - <</if>> - <</if>> - <<if $PC.geneticQuirks.androgyny != 2>> - <<if ($PC.hips < 2)>> - $His hips @@.lime;widen@@ for $his upcoming birth. - <<set $PC.hips += 1>> - <</if>> - <<if ($PC.butt < 14)>> - $His butt @@.lime;swells with added fat@@ from $his changing body. - <<set $PC.butt += 1>> - <</if>> - <</if>> - <</if>> - <<elseif ($PC.pregType >= 10)>> - <<if random(1,100) > 80 && (($PC.boobs - $PC.boobsImplant) < _boobTarget)>> - <<set $PC.boobs += 50>> - <<if $PC.boobShape != "saggy" && ($PC.breastMesh != 1) && ($PC.drugs != "sag-B-gone")>> - <<if $PC.preg > random($PC.pregData.normalBirth/1.25, $PC.pregData.normalBirth*2.05)>> - $His swollen @@.orange;breasts become saggy@@ in the last stages of $his pregnancy as $his body undergoes changes in anticipation of the forthcoming birth. - <<set $PC.boobShape = "saggy">> - <</if>> - <</if>> - <</if>> - <</if>> - */ - <<if ($PC.boobs - $PC.boobsImplant) < _boobTarget>> - <<if $PC.boobs >= 1400>> - <<if random(1,100) > 90>> - Unsurprisingly, your cow tits @@.lime;have swollen even larger@@ with your pregnancy. - <<set $PC.boobs += 25>> - <</if>> - <<elseif $PC.boobs >= 1200>> - <<if random(1,100) > 90>> - Your already huge breasts have @@.lime;grown even heavier@@ with your pregnancy. - <<set $PC.boobs += 25>> - <<if $PC.boobs >= 1400>> - Your desk is steadily starting to disappear; @@.lime;H-cups will do that.@@ - <</if>> - <</if>> - <<elseif $PC.boobs >= 1000>> - <<if random(1,100) > 75>> - Your already large breasts have @@.lime;grown even larger@@ with your pregnancy. - <<set $PC.boobs += 25>> - <<if $PC.boobs >= 1200>> - Nothing fits comfortably now; your tailor says @@.lime;it's your G-cup knockers.@@ Your back agrees. - <</if>> - <</if>> - <<elseif $PC.boobs >= 800>> - <<if random(1,100) > 75>> - Your breasts have @@.lime;grown a bit larger@@ to feed your coming child<<if $PC.pregType > 1>>ren<</if>>. - <<set $PC.boobs += 25>> - <<if $PC.boobs >= 1000>> - You popped your bra when you put it on; @@.lime;time to order some F-cups.@@ - <</if>> - <</if>> - <<elseif $PC.boobs >= 650>> - <<if random(1,100) > 80>> - Your breasts have @@.lime;grown a bit larger@@ to feed your coming child<<if $PC.pregType > 1>>ren<</if>>. - <<set $PC.boobs += 25>> - <<if $PC.boobs >= 800>> - Their prominence, and a quick measuring, reveals @@.lime;you now sport DDs.@@ - <</if>> - <</if>> - <<elseif $PC.boobs >= 500>> - <<if random(1,100) > 80>> - Your breasts have @@.lime;grown a bit larger@@ to feed your coming child<<if $PC.pregType > 1>>ren<</if>>. - <<set $PC.boobs += 25>> - <<if $PC.boobs >= 650>> - They're big, sensitive, @@.lime;and now a D-cup.@@ - <</if>> - <</if>> - <<elseif $PC.boobs >= 400>> - <<if random(1,100) > 80>> - Your breasts have @@.lime;gotten heavier@@ alongside your pregnancy. - <<set $PC.boobs += 25>> - <<if $PC.boobs >= 500>> - They spill dramatically out of your bra now, which means @@.lime;you've graduated to a C-cup.@@ - <</if>> - <</if>> - <<elseif $PC.boobs >= 300>> - <<if random(1,100) > 75>> - Your breasts have @@.lime;swollen@@ alongside your pregnancy. - <<set $PC.boobs += 25>> - <<if $PC.boobs >= 400>> - A quick measuring after your top started to feel too constricting reveals @@.lime;you are now a B-cup!@@ - <</if>> - <</if>> - <<else>> - <<if random(1,100) > 75>> - Your chest @@.lime;has filled out slightly@@ with your pregnancy. - <<set $PC.boobs += 25>> - <<if $PC.boobs >= 300>> - They've gotten so big that @@.lime;you can now fill an A-cup bra.@@ - <</if>> - <</if>> - <</if>> - <<if _sagCheck>> - <<if $PC.boobShape != "saggy" && $PC.preg > random($PC.pregData.normalBirth/1.25, $PC.pregData.normalBirth*2.5) && ($PC.breastMesh != 1) && ($PC.drugs != "sag-B-gone")>> - $His @@.orange;breasts become saggy@@ in the last stages of $his pregnancy as $his body undergoes changes in anticipation of the forthcoming birth. - <<set $PC.boobShape = "saggy">> - <</if>> - <</if>> - <</if>> - /* - <<if $PC.preg > $PC.pregData.normalBirth/1.25 && $PC.physicalAge >= 18 && $PC.hips == 1 && $PC.hipsImplant == 0 && random(1,100) > 90>> - $His hips @@.lime;widen@@ to better support $his gravidity. - <<set $PC.hips += 1>> - <<elseif $PC.preg > $PC.pregData.normalBirth/1.42 && $PC.physicalAge >= 18 && $PC.hips == 0 && $PC.hipsImplant == 0 && random(1,100) > 70>> - $His hips @@.lime;widen@@ to better support $his gravidity. - <<set $PC.hips += 1>> - <</if>> - */ - <</if>> - <</if>> - /*--------------- main labor triggers: -------- */ - <<if $PC.preg > $PC.pregData.normalBirth/8>> - <<if WombBirthReady($PC, $PC.pregData.normalBirth*1.075) > 0>> /*check for really ready fetuses - 43 weeks - max, overdue*/ - <<set $PC.labor = 1>> - <<elseif WombBirthReady($PC, $PC.pregData.normalBirth) > 0 && (random(1,100) > 50)>> /*check for really ready fetuses - 40 weeks - normal*/ - <<set $PC.labor = 1>> - <<elseif WombBirthReady($PC, $PC.pregData.normalBirth/1.1111) > 0 && (random(1,100) > 90)>> /*check for really ready fetuses - 36 weeks minimum */ - <<set $PC.labor = 1>> - <</if>> - <<if $PC.labor == 1>> - <br> - <<if $PC.birthsTotal > 0>> - @@.red;A dull cramp runs down your middle.@@ You'll be giving birth soon. - <<else>> - You begin to experience @@.red;odd cramps@@ in your lower body. Contractions, more than likely. - <</if>> - <</if>> - /* - <<if $dangerousPregnancy == 1 && $PC.labor != 1>> - <<if $PC.pregAdaptation < 500>> - <<set _miscarriageChance = -10>> - <<set _miscarriageChance += (($PC.bellyPreg/1000)-$PC.pregAdaptation)>> // this could use to not be linear - <<if $PC.inflation > 0>> - <<set _miscarriageChance += 10>> - <</if>> - <<set _miscarriageChance -= ($PC.curatives == 1 ? 100 : 0)>> - <<if $PC.health.health < -20>> - <<set _miscarriageChance -= ($PC.health.health)>> - <<elseif $PC.health.health > 80>> - <<set _miscarriageChance -= ($PC.health.health/10)>> - <</if>> - <<if $PC.weight < -50>> - <<set _miscarriageChance -= ($PC.weight)>> - <</if>> - <<if $PC.bellyAccessory == "a support band">> - <<set _miscarriageChance -= 30>> - <</if>> - <<set _miscarriageChance = Math.round(_miscarriageChance)>> - <<if _miscarriageChance > random(0,100)>> - <<set _chance = random(1,100)>> - <<if $PC.preg >= $PC.pregData.normalBirth/1.33>> - <<set $PC.labor = 1, $birthee = 1>> - <<set _miscarriage = 1>> - <<elseif $PC.preg > $PC.pregData.normalBirth/1.48>> - <<set $PC.labor = 1, $PC.prematureBirth = 1>> - <<set _miscarriage = 1>> - <<elseif $PC.preg > $PC.pregData.normalBirth/1.6 && _chance > 10>> - <<set $PC.labor = 1, $PC.prematureBirth = 1>> - <<set _miscarriage = 1>> - <<elseif $PC.preg > $PC.pregData.normalBirth/1.73 && _chance > 40>> - <<set $PC.labor = 1, $PC.prematureBirth = 1>> - <<set _miscarriage = 1>> - <<elseif $PC.preg > $PC.pregData.normalBirth/1.81 && _chance > 75>> - <<set $PC.labor = 1, $PC.prematureBirth = 1>> - <<set _miscarriage = 1>> - <<else>> - $His overwhelmed body has @@.orange;forced $him to miscarry,@@ possibly saving $his life. - <<set $PC.preg = 0>> - <<if $PC.sexualFlaw == "breeder">> - $He is @@.mediumorchid;filled with violent, all-consuming hatred@@ at $himself for failing to carry to term and you for allowing this to happen. - <<if $PC.pregType > 4>> - The loss of so many children at once @@.red;shatters the distraught breeder's mind.@@ - <<set $PC.fetish = "mindbroken", $PC.behavioralQuirk = "none", $PC.behavioralFlaw = "none", $PC.sexualQuirk = "none", $PC.sexualFlaw = "none", $PC.devotion = 0, $PC.trust = 0>> - <<else>> - $He cares little for what punishment awaits $his actions. - <<set $PC.devotion -= 25*$PC.pregType>> - <</if>> - <<elseif $PC.devotion < -50>> - $He is @@.mediumorchid;filled with violent, consuming hatred@@ and @@.gold;fear.@@ Even though $he knew $his bab<<if $PC.pregType > 1>>ies were<<else>>y was<</if>> likely destined for a slave orphanage, it seems $he cared for <<if $PC.pregType > 1>>them<<else>>it<</if>> and blames you for the loss. - <<set $PC.devotion -= 25, $PC.trust -= 25>> - <<elseif $PC.devotion < -20>> - $He is @@.mediumorchid;afflicted by desperate, inconsolable grief@@ and @@.gold;horror.@@ Even though $he knew $his bab<<if $PC.pregType > 1>>ies were<<else>>y was<</if>> likely destined for a slave orphanage, it seems $he cared for <<if $PC.pregType > 1>>them<<else>>it<</if>>. - <<set $PC.devotion -= 10, $PC.trust -= 20>> - <<elseif $PC.fetish == "pregnancy">> - $He is @@.mediumorchid;filled with deep regret@@ and @@.gold;fear.@@ - <<if $PC.fetishKnown == 1>> - To a pregnancy fetishist, ending it like this hurts far worse than birth ever would. - <<else>> - It appears $he was more attached to $his baby bump than $he let on and is hurting even more for it. - <</if>> - <<set _fetishModifier = $PC.fetishStrength/2>> - <<set $PC.devotion -= 1*_fetishModifier, $PC.trust -= 1*_fetishModifier>> - <<elseif $PC.devotion <= 20>> - $He is @@.mediumorchid;consumed by enduring sorrow@@ and @@.gold;horror.@@ Even though $he knew $his bab<<if $PC.pregType > 1>>ies were<<else>>y was<</if>> likely destined for a slave orphanage, it seems $he cared for <<if $PC.pregType > 1>>them<<else>>it<</if>>. - <<set $PC.devotion -= 5, $PC.trust -= 5>> - <<elseif $PC.devotion <= 50>> - $He is dully obedient. $He has been broken to slave life so thoroughly that even this is neither surprising nor affecting. - <<else>> - $He is @@.mediumorchid;disappointed by this development@@ and @@.gold;afraid@@ of your reaction. By failing to carry to term, $he has failed your will. - <<set $PC.devotion -= 10, $PC.trust -= 10>> - <</if>> - <<set TerminatePregnancy($PC)>> - <<run actX($PC, "abortions")>> - <<if $PC.abortionTat > -1>> - <<set $PC.abortionTat++>> - The temporary tattoo of a child has been replaced with $his <<= ordinalSuffix($PC.abortionTat)>> crossed out infant. - <<run cashX(forceNeg($modCost), "slaveMod", $PC)>> - <</if>> - <<set _miscarriage = 1>> - <</if>> - <</if>> - <</if>> - <<if $seeExtreme == 1>> - <<if _miscarriage != 1 && $PC.bellyPreg >= 100000 && $PC.geneMods.rapidCellGrowth != 1>> // If $he can't relieve the pressure that way, will $he hold? - <<if $PC.bellyPreg >= 500000 || $PC.wombImplant != "restraint">> - <<if (($PC.belly > ($PC.pregAdaptation*3200)) || $PC.bellyPreg >= 500000)>> - <<set _burstChance = -80>> - <<set _burstChance += (($PC.belly/1000)-$PC.pregAdaptation)>> // this could use to not be linear - <<if $PC.health.health < -20>> - <<set _burstChance -= ($PC.health.health)>> - <<elseif $PC.health.health > 80>> - <<set _burstChance -= ($PC.health.health/10)>> - <</if>> - <<if $PC.weight < 0>> - <<set _burstChance -= $PC.weight>> - <</if>> - <<set _burstChance -= $PC.bellySag>> - <<set _burstChance -= $PC.muscles>> - <<if $PC.bellyAccessory == "a support band">> - <<set _burstChance -= 10>> - <</if>> - <<if $PC.pregControl == "slow gestation">> - <<set _burstChance -= 20>> - <</if>> - <<if $PC.assignment == "get treatment in the clinic">> - <<if _S.Nurse>> - <<set _burstChance -= 100>> - <<else>> - <<set _burstChance -= 30>> - <</if>> - <<elseif $PC.assignment == "work in the dairy" && $dairyPregSetting == 3>> - <<set _burstChance -= 250>> - <</if>> - <<if $PC.pregControl == "speed up">> - <<if _burstChance > 0>> - <<set _burstChance *= 4>> - <</if>> - <</if>> - <<set _burstChance = Math.round(_burstChance)>> - <<if _burstChance > random(0,100)>> - <<set $PC.burst = 1>> - <<else>> - Constant @@.red;<<if $PC.geneticQuirks.uterineHypersensitivity == 2>>painful orgasms<<else>>sharp pains<</if>>@@ from $his womb strongly suggest @@.red;$his body is beginning to break.@@ - <</if>> - <</if>> - <</if>> - <</if>> - <</if>> - <</if>> - */ - <</if>> -<</if>> diff --git a/src/uncategorized/economics.tw b/src/uncategorized/economics.tw index 63a0e062bd2b55ed00e9183216bbd5c3ef36f769..4b5464c4c211914ec5bd4becbca17500f1b92a2b 100644 --- a/src/uncategorized/economics.tw +++ b/src/uncategorized/economics.tw @@ -37,12 +37,11 @@ <<include "securityReport">> <</if>> -<<include "Reputation">> -<br> <<includeDOM App.EndWeek.personalBusiness()>> +<<includeDOM App.EndWeek.reputation()>> +<<includeDOM App.EndWeek.personalBusiness()>> <<if $PC.boobs >= 1000 || $PC.pregKnown == 1 || $playerAging != 0>> - <br><br> - <<include "Personal Notes">> + <<includeDOM App.EndWeek.personalNotes()>> <</if>> <<else>> @@ -112,7 +111,7 @@ <div id="Reputation" class="tab-content"> <div class="content"> - <<include "Reputation">> + <<includeDOM App.EndWeek.reputation()>> </div> </div> @@ -125,7 +124,7 @@ <<if $PC.boobs >= 1000 || $PC.pregKnown == 1 || $playerAging != 0>> <div id="Personal" class="tab-content"> <div class="content"> - <<include "Personal Notes">> + <<includeDOM App.EndWeek.personalNotes()>> </div> </div> <</if>> diff --git a/src/uncategorized/reputation.tw b/src/uncategorized/reputation.tw deleted file mode 100644 index 33c014f0a81d3a815942ac1a558736320b4e3ff0..0000000000000000000000000000000000000000 --- a/src/uncategorized/reputation.tw +++ /dev/null @@ -1,920 +0,0 @@ -:: Reputation [nobr] - -<<if $useTabs == 0>><br>__Reputation__<</if>> -<br> - -On formal occasions, you are announced as <<= PCTitle()>>. - -<<if $arcologies[0].FSChattelReligionist != "unset">> - <<if $arcologies[0].FSChattelReligionistCreed == 1>> - $arcologies[0].name keeps the creed of the $nicaea.name. The faithful - <<if $nicaea.achievement == "slaves">> - <<if $slaves.length > 50>> - @@.green;strongly approve@@ of the large - <<run FutureSocieties.Change("ChattelReligionist", 5)>> - <<elseif $slaves.length > 20>> - @@.green;approve@@ of the good - <<run FutureSocieties.Change("ChattelReligionist", 2)>> - <<else>> - are not impressed by the - <</if>> - number of people you're giving the honor of sexual servitude. - <<elseif $nicaea.achievement == "devotion">> - <<if $averageDevotion > 80>> - @@.green;strongly approve@@ of the worshipfulness - <<run FutureSocieties.Change("ChattelReligionist", 5)>> - <<elseif $averageDevotion > 50>> - @@.green;approve@@ of the devotion - <<run FutureSocieties.Change("ChattelReligionist", 2)>> - <<else>> - are not impressed by the devotion - <</if>> - of your slaves. - <<else>> - <<if $averageTrust > 50>> - @@.green;strongly approve@@ of the great trust your slaves place in you. - <<run FutureSocieties.Change("ChattelReligionist", 5)>> - <<elseif $averageTrust > 20>> - @@.green;approve@@ of the trust your slaves place in you. - <<run FutureSocieties.Change("ChattelReligionist", 2)>> - <<else>> - are not impressed by the fear many of your slaves feel towards you. - <</if>> - <</if>> - <</if>> -<</if>> - -<<set _repDecay = 0.05, -_enduringRep = $enduringRep>> -<<if $arcologies.FSChattelReligionistLaw == 1>> - <<set _enduringRep = Math.min(_enduringRep + 2000, 12000)>> -<</if>> -<<if $arcologies.FSRestartDecoration == 100>> - <<set _enduringRep = Math.min(_enduringRep + 2000, 13000)>> /* that 13000 is not a typo, it allows for some stacking of FSRestart and FSChattel */ -<</if>> -<<if $rep > _enduringRep>> - <<if $arcologies[0].FSMaturityPreferentialistLaw == 1>> - <<if $PC.actualAge >= 65>> - Since you're getting on in years and have an impressive list of accomplishments, and $arcologies[0].name's society respects age, your reputation degrades quite slowly. - <<set _repLoss = Math.trunc(($rep-_enduringRep)*(_repDecay-0.0125))>> - <<elseif $PC.actualAge >= 50>> - Since you're well into middle age and have an impressive list of accomplishments, and $arcologies[0].name's society respects age, your reputation degrades quite slowly. - <<set _repLoss = Math.trunc(($rep-_enduringRep)*(_repDecay-0.0125))>> - <<elseif $PC.actualAge < 35>> - Since you're unusually young for an arcology owner, and $arcologies[0].name's society respects age, your reputation degrades quite quickly. - <<set _repLoss = Math.trunc(($rep-_enduringRep)*(_repDecay+0.0125))>> - <<else>> - Since you're only entering middle age, and $arcologies[0].name's society respects age, your reputation degrades fairly quickly. - <<set _repLoss = Math.trunc(($rep-_enduringRep)*(_repDecay))>> - <</if>> - <<elseif $arcologies[0].FSYouthPreferentialistLaw == 1>> - <<if $PC.actualAge >= 65>> - Since you're getting on in years and have an impressive list of accomplishments, but $arcologies[0].name's society is coming to prefer youth to experience, so your reputation degrades fairly quickly. - <<set _repLoss = Math.trunc(($rep-_enduringRep)*(_repDecay+0.0125))>> - <<elseif $PC.actualAge >= 50>> - You're well into middle age and have an impressive list of accomplishments, but $arcologies[0].name's society is coming to prefer youth to experience, so your reputation degrades fairly quickly. - <<set _repLoss = Math.trunc(($rep-_enduringRep)*(_repDecay+0.0125))>> - <<elseif $PC.actualAge < 35>> - You're unusually young for an arcology owner, but $arcologies[0].name's society doesn't mind. - <<set _repLoss = Math.trunc(($rep-_enduringRep)*(_repDecay))>> - <<else>> - Since you're entering middle age, and $arcologies[0].name's society respects youth, your reputation degrades fairly quickly. - <<set _repLoss = Math.trunc(($rep-_enduringRep)*(_repDecay+0.0125))>> - <</if>> - <<else>> - <<if $PC.actualAge >= 65>> - Since you're getting on in years and have an impressive list of accomplishments, and $arcologies[0].name's society respects age, your reputation degrades quite slowly. - <<set _repLoss = Math.trunc(($rep-_enduringRep)*(_repDecay-0.0125))>> - <<elseif $PC.actualAge >= 50>> - Since you're well into middle age and have an impressive list of accomplishments, your reputation degrades fairly slowly. - <<set _repLoss = Math.trunc(($rep-_enduringRep)*(_repDecay-0.0125))>> - <<elseif $PC.actualAge < 35>> - Since you're unusually young for an arcology owner, your reputation degrades fairly quickly. - <<set _repLoss = Math.trunc(($rep-_enduringRep)*(_repDecay+0.0125))>> - <<else>> - <<set _repLoss = Math.trunc(($rep-_enduringRep)*(_repDecay))>> - <</if>> - <</if>> - <<if $arcologies[0].FSChattelReligionistLaw == 1>> - <<if _repLoss > 100>> - <<set _repLoss -= 100, $PC.degeneracy = 0>> - <<else>> - <<set _repLoss = 0, $PC.degeneracy = 0>> - <</if>> - Since you are the Prophet, your reputation degrades less. - <</if>> - <<if $arcologies[0].FSRestartDecoration == 100>> - <<if _repLoss > 100>> - <<set _repLoss -= 100, $PC.degeneracy = 0>> - <<else>> - <<set _repLoss = 100, $PC.degeneracy = 0>> - <</if>> - Since you are an established member of the Societal Elite, your public reputation degrades less. - <</if>> - <<if _enduringRep > 8000>> - However, you have been a figure of renown for so long that much of your reputation has become permanent. - <<elseif _enduringRep > 5000>> - However, you have been a figure of repute for enough time that part of your reputation has become permanent. - <<elseif _enduringRep > 2000>> - However, you have been a figure of regard for long enough that some of your reputation has become permanent. - <</if>> - <<if _repLoss > 500 * (1 - (5 - $baseDifficulty) / 10)>> - <<set _repLoss = 500 * (1 - (5 - $baseDifficulty) / 10)>> - <<elseif _repLoss < 0>> - <<set _repLoss = 0>> - <</if>> - <<set $enduringRep += Math.trunc(1 + Math.pow((10000 - $enduringRep) / 5770, 2) * _repLoss * 0.1)>> -<<else>> - <<if $arcologies[0].FSChattelReligionistLaw == 1 || $arcologies[0].FSRestartDecoration == 100>> - <<set $PC.degeneracy = 0>> - <</if>> - <<set _repLoss = 0>> - <<if _enduringRep > 8000>> - You have been a figure of renown for so long that your reputation does not decay past its present level. - <<elseif _enduringRep > 5000>> - You have been a figure of repute for enough time that your reputation does not decay past its present level. - <<elseif _enduringRep > 2000>> - You have been a figure of regard for long enough that your reputation does not decay past its present level. - <</if>> -<</if>> - -/*play games with overflow. Gains are calculated (and then sadly rounded) on previous pages but losses are calculated here, after the overflow happened. Let's borrow from the past.*/ -<<if $lastWeeksRepExpenses.overflow < 0>> - <<set $rep += Math.abs($lastWeeksRepExpenses.overflow)>> - <<set $lastWeeksRepExpenses.overflow = 0>> -<</if>> -<<run repX(forceNeg(_repLoss), "multiplier")>> - -<<if ($weatherAwareness == 0) && ($weatherCladding == 2)>> - The public @@.green;is awestruck@@ of the beautiful weather hardening you have applied to the arcology's exterior, though they do not understand why you would waste so much money first ruining your arcology's appearance before doing this. - <<run repX(10, "architecture")>> -<<elseif ($weatherAwareness == 0) && ($weatherCladding == 1)>> - The public @@.red;disapproves@@ of the ugly weather hardening you have applied to the arcology's exterior, not understanding what you're worried about. - <<run repX(-100, "architecture")>> -<</if>> - -<<if $arcologies[0].FSRestartDecoration == 100>> - As a member of the Societal Elite, your appearance has no bearing on your reputation. -<<else>> - <<if ($PC.dick == 0) && ($PC.boobs >= 300) && $PC.title == 0>> - <<if $rep > 18000>> - Your reputation is so well-established that society has accepted your notoriously feminine appearance despite how unusual it is for a prominent slaveowner to look like you do. - <<if $arcologies[0].FSGenderRadicalist > 30>> - Indeed, society sees you as entirely male, since you are powerful, and @@.green;strongly approves@@ of your nonconformity; this advances the redefinition of gender around power. - <<run FutureSocieties.Change("GenderRadicalist", 5)>> - <<elseif $arcologies[0].FSGenderFundamentalist > 30>> - Indeed, society has been reconciled to female leadership, preferring to see you as a mother figure. - <</if>> - <<elseif $arcologies[0].FSGenderRadicalist > 40>> - Society accepts you as an arcology owner, since it has become open-minded about power and gender. - <<if $arcologies[0].FSGenderRadicalist > 50>> - Indeed, society sees you as fundamentally male, since you are powerful, and @@.green;strongly approves@@ of your audacity; this advances the redefinition of gender around power. - <<run FutureSocieties.Change("GenderRadicalist", 5)>> - <</if>> - <<else>> - Most prominent slaveowners are male, and your obviously feminine appearance makes it @@.red;harder for you to maintain your reputation.@@ - <<run repX(forceNeg(Math.min(($rep*0.05), 500)), "PCappearance")>> - <<if $arcologies[0].FSGenderFundamentalist > 10>> - Society @@.red;strongly resents@@ your being an arcology owner; this damages the idea that women should not be in positions of responsibility. - <<run FutureSocieties.Change("GenderFundamentalist", -5)>> - <</if>> - <</if>> - <<elseif ($PC.boobs >= 300) || $PC.title == 0>> - <<if $rep > 15000>> - Your reputation is so strong that society has accepted your feminine appearance despite how unusual it is for a prominent slaveowner to look like you do. - <<if $arcologies[0].FSGenderRadicalist > 30>> - Indeed, society sees you as entirely male, since you are powerful, and @@.green;strongly approves@@ of your nonconformity; this advances the redefinition of gender around power. - <<run FutureSocieties.Change("GenderRadicalist", 5)>> - <<elseif $arcologies[0].FSGenderFundamentalist > 30>> - Indeed, society has been reconciled to your feminine appearance, seeing you as a person apart. - <</if>> - <<elseif $arcologies[0].FSGenderRadicalist > 20>> - Society accepts you as an arcology owner, since it has become open-minded anyone who has a cock and fucks. - <<if $arcologies[0].FSGenderRadicalist > 30>> - Indeed, society sees you as dominant, since you fuck bitches, and @@.green;strongly approves@@ of your nonconformity; this advances the redefinition of gender around power. - <<run FutureSocieties.Change("GenderRadicalist", 5)>> - <</if>> - <<else>> - Most prominent slaveowners are very masculine, and your feminine appearance makes it @@.red;harder for you to maintain your reputation.@@ - <<run repX(forceNeg(Math.min(($rep*0.025), 250)), "PCappearance")>> - <<if $arcologies[0].FSGenderFundamentalist > 30>> - Society @@.red;strongly resents@@ your being an arcology owner; this damages the idea that feminine people should not be in positions of responsibility. - <<run FutureSocieties.Change("GenderFundamentalist", -5)>> - <</if>> - <</if>> - <<elseif ($PC.dick == 0) || ($PC.vagina != -1)>> - <<if $rep > 15000>> - Your reputation is so strong that society has accepted your unorthodox arrangement downstairs, for an arcology owner. - <<if $arcologies[0].FSGenderRadicalist > 30>> - Indeed, society sees you as entirely male, since you are powerful, and @@.green;strongly approves@@ of your nonconformity; this advances the redefinition of gender around power. - <<run FutureSocieties.Change("GenderRadicalist", 5)>> - <<elseif $arcologies[0].FSGenderFundamentalist > 30>> - Indeed, society has been reconciled to your strangeness, seeing you as a person apart. - <</if>> - <<elseif $arcologies[0].FSGenderRadicalist > 20>> - Society accepts you as an arcology owner, since it has become open-minded about the exact genital layout of powerful people. - <<if $arcologies[0].FSGenderRadicalist > 30>> - Indeed, society sees you as dominant, since you are powerful, and @@.green;strongly approves@@ of your nonconformity; this advances the redefinition of gender around power. - <<run FutureSocieties.Change("GenderRadicalist", 5)>> - <</if>> - <<else>> - Most prominent slaveowners are very masculine, and though your unorthodox arrangement downstairs isn't obvious when you're clothed, the rumors are unavoidable and it's @@.red;harder for you to maintain your reputation.@@ - <<run repX(forceNeg(Math.min(($rep*0.025), 250)), "PCappearance")>> - <<if $arcologies[0].FSGenderFundamentalist > 30>> - Society @@.red;strongly resents@@ your being an arcology owner; this damages the idea that people who are not men should not be in positions of responsibility. - <<run FutureSocieties.Change("GenderFundamentalist", -5)>> - <</if>> - <</if>> - <</if>> -<</if>> - -/* height block here */ - -<<if $arcologies[0].FSChattelReligionistLaw == 1 || $arcologies[0].FSRestartDecoration == 100>> - /* already handled above */ -<<elseif $arcologies[0].FSIntellectualDependency != "unset">> - <<if $PC.intelligence+$PC.intelligenceImplant < -10>> - <<if $rep > 18000>> - You've somehow built such a reputation for yourself that your lack of a brain is no longer a societal concern. - <<else>> - <<run repX(forceNeg(Math.min(($rep*0.025), 100)), "PCappearance")>> - Society @@.red;is uncomfortable@@ with just how slow you are. While they may find your mannerisms cute, it is not befitting of a leader. - <</if>> - <</if>> -<<elseif $arcologies[0].FSSlaveProfessionalism != "unset">> - <<if $PC.intelligence+$PC.intelligenceImplant < 100>> - <<if $rep > 18000>> - You've built such a reputation for yourself that you not being a genius is no longer a societal concern. - <<else>> - <<run repX(forceNeg(Math.min(($rep*0.05), 750)), "PCappearance")>> - Society @@.red;strongly despises@@ being led by someone so easily outsmarted by even the slave population. - <<run FutureSocieties.Change("SlaveProfessionalism", -10)>> - <</if>> - <</if>> -<<elseif $PC.intelligence+$PC.intelligenceImplant <= 10>> - <<if $rep > 18000>> - You've managed to build such a reputation for yourself that your lack of intelligence is no longer a societal concern. - <<else>> - <<run repX(forceNeg(Math.min(($rep*0.05), 750)), "PCappearance")>> - Society @@.red;is uncomfortable@@ being led by someone not smart. Your lack of intelligence brings your every action under scrutiny. - <</if>> -<<elseif $PC.intelligence+$PC.intelligenceImplant <= 50>> - <<if $rep > 12000>> - You've built such a reputation for yourself that your lack of intelligence is no longer a societal concern. - <<else>> - <<run repX(forceNeg(Math.min(($rep*0.05), 500)), "PCappearance")>> - Society @@.red;is uncomfortable@@ being led by someone not very smart. Your lack of intelligence brings your every action under scrutiny. - <</if>> -<</if>> - -<<if $policies.sexualOpenness == 1>> - <<if $arcologies[0].FSChattelReligionistLaw == 1 || $arcologies[0].FSRestartDecoration == 100>> - /* already handled above */ - <<else>> - <<if $arcologies[0].FSGenderRadicalist != "unset">> - <<if $rep > 18000>> - You are so well regarded that society has acquiesced that getting penetrated is not a sure sign of femininity. - <<else>> - Society views getting fucked as sign of femininity and is @@.red;strongly against your sexual preferences.@@ - <<run FutureSocieties.Change("GenderRadicalist", -1)>> - <<run repX(-1000, "PCactions")>> - <</if>> - <<elseif $arcologies[0].FSGenderFundamentalist != "unset" && $PC.vagina != -1 && $PC.title == 0>> - <<if $rep > 10000>> - Society has grown accustomed to your efforts enough to not care that you enjoy slave dick. In fact, it even @@.green;strengthens@@ traditional gender roles, even though you insist on breaking them. - <<run FutureSocieties.Change("GenderFundamentalist", 1)>> - <<else>> - Society wonders if you would be happier in a whore house getting fucked all day instead of trying to lead an arcology. Your efforts @@.red;strongly support@@ the idea that women should not be in positions of responsibility. - <<run FutureSocieties.Change("GenderFundamentalist", -3)>> - <<run repX(-1000, "PCactions")>> - <</if>> - <<else>> - <<if $rep > 15000>> - You are so well liked that society has accepted that you enjoy taking everything a slave has to offer. - <<else>> - Society finds your penchant for taking slave dick @@.red;very distasteful@@ for a slaveowner. - <<run repX(-500, "PCactions")>> - <</if>> - <</if>> - <</if>> -<</if>> - -<<if $secExpEnabled > 0>> - <<if $SecExp.smilingMan.progress === 20>> - The grim statue of the Smiling Man outside your arcology @@.green;reminds the world of who managed to eliminate such a threat.@@ - <<run repX(100, "architecture")>> - <</if>> - - <<if $SecExp.edicts.weaponsLaw == 3>> - The absence of any kind of restriction on weaponry within your arcology is @@.green;welcomed by your citizens@@ as sign of your respect for the ideals the Free Cities stand for. - <<run repX(20, "edicts")>> - <</if>> -<</if>> - -<<if $SF.Toggle && $SF.Active >= 1 && $SF.UC.Assign > 0>> - <br>Assigning a <<if $SF.UC.Assign === 1>>small<<else>>large<</if>> portion of $SF.Lower to @@.green;undercover work, slightly boosts your reputation.@@ - <<if $SF.UC.Assign === 1>> - <<set _value = $SF.ArmySize * 0.05>> - <<else>> - <<set _value = $SF.ArmySize * 0.25>> - <</if>> - <<run repX(_value, "specialForces")>> <br> -<<elseif $SF.FS.BadOutcome === "ISOLATION">> - <br>Your citizens are @@.red;very displeased@@ that you are hosting a legion of heavily armed squatters in your basement. - <<run repX(forceNeg($SF.ArmySize + App.SF.upgrades.total()), "specialForces")>> -<</if>> - -<<if $arcologies[0].FSSupremacist != "unset">> - <<if ($PC.race == $arcologies[0].FSSupremacistRace)>> - Since you are a member of the $PC.race race, society @@.green;strongly approves@@ of your ownership of the arcology. - <<run FutureSocieties.Change("Supremacist", 5)>> - <</if>> -<<elseif $arcologies[0].FSSubjugationist != "unset">> - <<if ($PC.race == $arcologies[0].FSSubjugationistRace)>> - <<if $rep > 15000>> - Your reputation is so strong that society has accepted your <<print $PC.race>>ness despite you being an inferior race. - <<else>> - Society @@.red;loathes;@@ being lead by an inferior $PC.race, believing that any other race would make a far better leader than you. - <<run repX(forceNeg(200*($arcologies[0].FSSubjugationist/$FSLockinLevel)), "PCappearance")>> - <</if>> - <</if>> -<</if>> - -<<if $arcologies[0].FSAssetExpansionist != "unset">> - <<if $PC.boobs >= 1400>> - Society loves enormous breasts and you are no exception; your <<if $PC.boobsImplant > 0>>chest balloons<<else>>cow tits<</if>> @@.green;improve@@ your public image. - <<run repX(10, "PCappearance")>> - <</if>> - <<if $PC.butt >= 5>> - Society loves big butts and you are no exception; your <<if $PC.buttImplant > 0>>inflated ass<<else>>fat ass<</if>> @@.green;improves@@ your public image. - <<run repX(10, "PCappearance")>> - <</if>> - <<if $PC.balls >= 9>> - Society loves big things and the bulge in your crotch is no exception; your swollen balls @@.green;improve@@ your public image. - <<run repX((5*$PC.ballsImplant), "PCappearance")>> - <</if>> -<<elseif $arcologies[0].FSSlimnessEnthusiast != "unset">> - <<if $PC.boobs >= 1000>> - Society finds big breasts unsightly and you are no exception; your <<if $PC.boobsImplant > 0>>chest balloons<<else>>fat tits<</if>> @@.red;harm@@ your public image. - <<run repX(forceNeg(($PC.boobs/100)*3), "PCappearance")>> - <</if>> - <<if $PC.butt >= 5>> - Society finds big butts unsightly and you are no exception; your <<if $PC.buttImplant > 0>>inflated ass<<else>>fat ass<</if>> @@.red;harms@@ your public image. - <<run repX(forceNeg(10*$PC.butt), "PCappearance")>> - <</if>> -<</if>> - -<<if $arcologies[0].FSTransformationFetishist != "unset">> - <<if $PC.boobsImplant > 0>> - Society loves fake breasts and yours are no exception; your breast implants @@.green;improve@@ your public image. - <<run repX(($PC.boobsImplant/5), "PCappearance")>> - <</if>> - <<if $PC.buttImplant > 0>> - Society loves fake butts and yours are no exception; your ass implants @@.green;improve@@ your public image. - <<run repX((7*$PC.buttImplant), "PCappearance")>> - <</if>> - <<if $PC.ballsImplant > 0>> - Society loves everything augmented and the bulge in your crotch is no exception; your swollen balls @@.green;improve@@ your public image. - <<run repX((5*($PC.ballsImplant)), "PCappearance")>> - <</if>> - <<if ($arcologies[0].FSRepopulationFocus != "unset")>> - <<if $PC.boobs >= 1000 && $PC.boobsImplant == 0>> - Society approves of anything that helps the repopulation efforts. Your large breasts promise plentiful milk and @@.green;improve@@ your public image. - <<run repX(($PC.boobs/50), "PCappearance")>> - <</if>> - <<if $PC.balls >= 5>> - Society loves anything that helps the repopulation efforts. Your huge fertile balls indicate that you're a successful breeder and @@.green;strongly improves@@ your public image. - <<run repX((15*$PC.balls), "PCappearance")>> - <</if>> - <</if>> -<<elseif $arcologies[0].FSBodyPurist != "unset">> - <<if $PC.boobsImplant != 0>> - Society finds fake breasts repulsive and yours are no exception; your balloon-like breasts @@.red;harm@@ your public image. - <<run repX(forceNeg($PC.boobsImplant/10), "PCappearance")>> - <</if>> - <<if $PC.buttImplant > 0>> - Society finds fake butts unsightly and yours is no exception; your inflated ass @@.red;harms@@ your public image. - <<run repX(forceNeg(10*$PC.buttImplant), "PCappearance")>> - <</if>> - <<if $PC.ballsImplant > 0>> - Society finds everything unnatural disgusting and the grotesque bulge in your crotch is no exception; your gel filled balls @@.red;harm@@ your public image. - <<run repX(forceNeg(10*$PC.ballsImplant), "PCappearance")>> - <</if>> - <<if ($arcologies[0].FSRepopulationFocus != "unset") && $PC.boobs >= 1000 && $PC.boobsImplant == 0>> - Society approves of anything that helps the repopulation efforts. Your large breasts promise plentiful milk and @@.green;improve@@ your public image. - <<run repX(($PC.boobs/50), "PCappearance")>> - <</if>> -<<elseif ($arcologies[0].FSRepopulationFocus != "unset")>> - <<if $PC.boobs >= 1000 && $PC.boobsImplant == 0>> - Society approves of anything that helps the repopulation efforts. Your large breasts promise plentiful milk and @@.green;improve@@ your public image. - <<run repX(($PC.boobs/50), "PCappearance")>> - <</if>> - <<if $PC.balls >= 5>> - Society loves anything that helps the repopulation efforts. Your huge fertile balls indicate that you're a successful breeder and @@.green;strongly improves@@ your public image. - <<run repX((5*($PC.balls)), "PCappearance")>> - <</if>> -<</if>> - -<<if (($PC.belly >= 1500) || ($PC.career == "escort" && $PC.belly >= 500)) && $PC.preg > 0>> - <<if $arcologies[0].FSRestart != "unset">> - <<if $arcologies[0].FSRestartDecoration == 100>> - <<if $PC.pregSource != -1 && $PC.pregSource != -6>> - Most prominent female owners avoid being penetrated on - <<if $policies.sexualOpenness == 1>> - principle, though you choose the opposite; your fecund figure suggests a slave knocked you up, a huge - <<else>> - principle; your fecund figure exposes not only your willingness to be penetrated, but your - <</if>> - breach of eugenics. Your citizens are @@.red;livid@@ over your actions and are calling for your removal. - <<run repX(-500, "PCactions")>> - <<if $eugenicsFullControl != 1>> - <<set $failedElite += 100>> - <</if>> - <<else>> - Since it is public knowledge that you are carrying a child in the name of eugenics, society views you as a bearer of the future and @@.green;celebrates@@ your contributions to society. - <<run repX(200, "PCappearance")>> - <<set $failedElite -= 10>> - <</if>> - <<else>> - <<if $PC.pregSource != -1 && $PC.pregSource != -6>> - Most prominent female owners avoid being penetrated on - <<if $policies.sexualOpenness == 1>> - principle, though you choose the opposite; your fecund figure suggests a slave knocked you up, a huge - <<else>> - principle; your fecund figure exposes not only your willingness to be penetrated, but your - <</if>> - breach of the eugenics you are pushing for. Your citizens are @@.red;disgusted@@ by both your body and your lack of commitment. - <<run repX(-500, "PCactions")>> - <<if $eugenicsFullControl != 1>> - <<set $failedElite += 50>> - <</if>> - <<else>> - Since it is public knowledge that you are carrying a child in the name of eugenics, society views you as a bearer of modernity and @@.green;commends@@ your contributions to society. - <<run repX(200, "PCappearance")>> - <<set $failedElite -= 5>> - <</if>> - <</if>> - <<elseif $arcologies[0].FSRepopulationFocus >= 60>> - Most prominent female owners avoid being penetrated on principle, but your arcology values motherhood so much that it is more @@.green;pleased@@ with your dedication than it is disappointed in your - <<if $policies.sexualOpenness == 1>> - suspected slave baby. - <<else>> - penetration. - <</if>> - <<run repX(10, "PCappearance")>> - <<else>> - Most prominent female owners avoid being penetrated on - <<if $policies.sexualOpenness == 1>> - principle, though you choose the opposite; your fecund figure suggests a slave knocked you up, - <<else>> - principle; your fecund figure exposes your willingness to be penetrated, - <</if>> - making it @@.red;harder for you to maintain your reputation.@@ - <<run repX(-200, "PCactions")>> - <</if>> -<</if>> - -<<if $PC.career == "escort" && $rep < 16000>> - Society @@.red;frowns@@ over being run by an ex-whore. The presence of porn of you on the net doesn't aid your reputation either. - <<run repX(forceNeg(Math.min(($rep*0.05), 500)), "PCactions")>> -<<elseif $PC.career == "escort">> - Your reputation is so strong that society has accepted your previous endeavors despite how unusual it is for a prominent slaveowner to have once nearly been a slave. -<</if>> -<<if $PC.career == "servant" && $rep < 12000>> - Society @@.red;frowns@@ over being run by an ex-<<if $PC.title == 1>>butler<<else>>maid<</if>>, despite how prominent their previous owner was. - <<run repX(forceNeg(Math.min(($rep*0.05), 500)), "PCactions")>> -<<elseif $PC.career == "servant">> - Your reputation is so strong that society has accepted your previous vocation despite how unusual it is for a prominent slaveowner to have once been nothing more than a lowly servant. -<</if>> -<<if $PC.career == "gang" && $rep < 15000>> - Society @@.red;frowns@@ over being run by an ex-gang leader, no matter how strong they might have been. - <<run repX(forceNeg(Math.min(($rep*0.05), 500)), "PCactions")>> -<<elseif $PC.career == "BlackHat" && $rep < 15000>> - Society @@.red;dislikes@@ being run by someone so capable of dredging up secrets, especially when they used to do it for the highest bidder. - <<run repX(forceNeg(Math.min(($rep*0.05), 500)), "PCactions")>> -<<elseif $PC.career == "gang" || $PC.career == "BlackHat">> - Your reputation is strong enough that society has come to accept your background as part of your image. -<</if>> - -<<if $PCSlutContacts == 2>> - You are actively starring in pornographic videos. While they are rather exclusive, @@.red;some still leak out to the public,@@ harming your image. - <<run repX(-50, "PCactions")>> - <<if canGetPregnant($PC)>> - That's not all that leaks out of you, considering all your shoots are rubber free. - <<= knockMeUp($PC, 20, 0, -5, 1)>> - <</if>> -<</if>> - -<<if $arcologies[0].FSRomanRevivalist != "unset">> - <<if $mercenaries > 0>> - Society @@.green;approves@@ of how you are providing for the defense of the state, as should all citizens of the new Rome. - <<run FutureSocieties.Change("RomanRevivalist", $mercenaries)>> - <</if>> - <<if ($slaves.length > 20) && ($cash > 50000)>> - Society @@.green;strongly approves@@ of your wealth and prosperity, fit goals for the <<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title == 1>>new Roman man<<else>>rising Roman lady<</if>>. - <<run FutureSocieties.Change("RomanRevivalist", 5)>> - <</if>> - <<if $language != "Latin">> - Continuing to use $language as the lingua franca of $arcologies[0].name rather than the storied Latin @@.red;disappoints@@ society and causes doubt about your revivalist project. - <<run FutureSocieties.Change("RomanRevivalist", -2)>> - <</if>> -<<elseif $arcologies[0].FSAztecRevivalist != "unset">> - <<if $PC.visualAge >= 35>> - Society @@.green;approves@@ of your advancing age, which advances the ancient Aztec ideal of an experienced leader of the people. - <<run FutureSocieties.Change("AztecRevivalist", 1)>> - <</if>> - <<if $HeadGirlID == 0>> - Society @@.red;disapproves@@ of you not having a Head Girl as an advisor and assistant. - <<run FutureSocieties.Change("AztecRevivalist", -2)>> - <<else>> - Society @@.green;approves@@ of your reliance on a Head Girl as an advisor and assistant. - <<run FutureSocieties.Change("AztecRevivalist", 2)>> - <</if>> - <<if $PC.skill.warfare < 0>> - Society @@.red;greatly disapproves@@ of your feebleness in the arts of war. - <<run FutureSocieties.Change("AztecRevivalist", -4)>> - <<elseif $PC.skill.warfare < 50>> - Society @@.red;disapproves@@ of you not being properly trained in the arts of war. - <<run FutureSocieties.Change("AztecRevivalist", -2)>> - <<else>> - Society @@.green;approves@@ of having a leader that is trained in the arts of war. - <<run FutureSocieties.Change("AztecRevivalist", 2)>> - <</if>> - <<if $language != "Nahuatl">> - Continuing to use $language as the lingua franca of $arcologies[0].name rather than the revived Nahuatl @@.red;disappoints@@ society and causes doubt about your revivalist project. - <<run FutureSocieties.Change("AztecRevivalist", -3)>> - <</if>> - <<elseif $arcologies[0].FSNeoImperialist != "unset">> - <<if $mercenaries > 0>> - Society @@.green;approves@@ of your strong militarism and elite mercenaries, as your tradition of Imperial conquest glorifies military success above all else. - <<run FutureSocieties.Change("NeoImperialist", $mercenaries)>> - <</if>> - <<if ($slaves.length > 20) && ($cash > 50000)>> - Society @@.green;strongly approves@@ of your great wealth and prosperity, as is only fitting for an <<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title == 1>>proper Imperial noble<<else>>graceful Imperial noble<</if>>. - <<run FutureSocieties.Change("NeoImperialist", 5)>> - <</if>> - <<if ($cash < 1000)>> - Society @@.red;disapproves@@ of your poverty; it is viewed as completely unbeffiting for an Imperial ruler to have so little cash on hand, and indicative of weakness in your rule. - <<run FutureSocieties.Change("NeoImperialist", -2)>> - <</if>> - <<if $PC.skill.warfare < 0>> - Society @@.red;greatly disapproves@@ of your weakness in combat. The core duty of any Imperial noble is to fight, and your failure to understand the art of war is an unacceptable weakness. - <<run FutureSocieties.Change("NeoImperialist", -4)>> - <<elseif $PC.skill.warfare < 50>> - Society @@.red;disapproves@@ of you lacking training in the art of warfare, as fighting is a core duty of any Imperial noble. - <<run FutureSocieties.Change("NeoImperialist", -2)>> - <<else>> - Society @@.green;approves@@ of having a leader who is a capable warrior. Your strength in battle is seen proof of your indisputable right to rule. - <<run FutureSocieties.Change("NeoImperialist", 2)>> - <</if>> -<<elseif $arcologies[0].FSEgyptianRevivalist != "unset">> - <<set _racialVarieties = new Set($slaves.map((s) => s.race))>> - <<if _racialVarieties.size > 4>> - Society @@.green;strongly approves@@ of how you own a cornucopia of different races, which advances the ancient Egyptian ideal of cosmopolitan sex slavery. - <<run FutureSocieties.Change("EgyptianRevivalist", 5)>> - <</if>> - <<if $language != "Ancient Egyptian">> - Continuing to use $language as the lingua franca of $arcologies[0].name rather than revived Ancient Egyptian @@.red;disappoints@@ society and causes doubt about your revivalist project. - <<run FutureSocieties.Change("EgyptianRevivalist", -2)>> - <</if>> -<<elseif $arcologies[0].FSEdoRevivalist != "unset">> - <<set _threshold = Math.trunc($rep/2000)>> - <<if $publicServants <= _threshold>> - Society @@.red;disapproves@@ of your failure to provide for cultural development by offering public servants or club slaves in a number that befits your reputation. - <<run FutureSocieties.Change("EdoRevivalist", -2)>> - <<else>> - Society @@.green;approves@@ of your provision for cultural development by offering public servants and club slaves in a number that befits your reputation. - <<run FutureSocieties.Change("EdoRevivalist", 2)>> - <</if>> - <<if $language != "Japanese">> - Continuing to use $language as the lingua franca of $arcologies[0].name rather than pure Japanese @@.red;disappoints@@ society and causes doubt about your revivalist project. - <<run FutureSocieties.Change("EdoRevivalist", -2)>> - <</if>> -<<elseif $arcologies[0].FSArabianRevivalist != "unset">> - <<if $fuckSlaves < $rep/3500>> - Society @@.red;disapproves@@ of the small size of your harem, feeling that you do not have enough fucktoys or slaves in your master suite for your reputation. - <<run FutureSocieties.Change("ArabianRevivalist", -2)>> - <<else>> - Society @@.green;approves@@ of the size of your harem, feeling that you have a good number of fucktoys and slaves in your master suite for your reputation. - <<run FutureSocieties.Change("ArabianRevivalist", 2)>> - <</if>> - <<if $language != "Arabic">> - Continuing to use $language as the lingua franca of $arcologies[0].name rather than the Arabic in which the word of God was passed to Muhammad @@.red;disappoints@@ society and causes doubt about your revivalist project. - <<run FutureSocieties.Change("ArabianRevivalist", -2)>> - <</if>> -<<elseif $arcologies[0].FSChineseRevivalist != "unset">> - <<if $HeadGirlID == 0>> - Society @@.red;disapproves@@ of your failure to rely on a Head Girl, as proper imperial administration requires, - <<run FutureSocieties.Change("ChineseRevivalist", -2)>> - <<else>> - Society @@.green;approves@@ of your reliance on a Head Girl, as proper imperial administration requires, - <<run FutureSocieties.Change("ChineseRevivalist", 2)>> - <</if>> - <<if $RecruiterID == 0>> - @@.red;disapproves@@ of your failure to maintain a Recruiter to expand the Middle Kingdom, - <<run FutureSocieties.Change("ChineseRevivalist", -2)>> - <<else>> - @@.green;approves@@ of your maintaining a Recruiter to expand the Middle Kingdom, - <<run FutureSocieties.Change("ChineseRevivalist", 2)>> - <</if>> - <<if $BodyguardID === 0>> - and @@.red;disapproves@@ of your failure to keep a Bodyguard as befits a proper imperial palace. - <<run FutureSocieties.Change("ChineseRevivalist", -2)>> - <<else>> - and @@.green;approves@@ of your keeping a Bodyguard, as befits a proper imperial palace. - <<run FutureSocieties.Change("ChineseRevivalist", 2)>> - <</if>> - <<if $language != "Chinese">> - Continuing to use $language as the lingua franca of $arcologies[0].name rather than the Chinese of the Middle Kingdom @@.red;disappoints@@ society and causes doubt about your revivalist project. - <<run FutureSocieties.Change("ChineseRevivalist", -2)>> - <</if>> -<</if>> - -<<if ($arcologies[0].FSRepopulationFocus != "unset")>> - <<if policies.countEugenicsSMRs() > 0>> - Society @@.red;disapproves@@ of your policies sterilizing potential mothers. Your insistence on eugenics hinders adoption of your new society. - <<set _noEugenics = -1 * policies.countEugenicsSMRs()>> - <<run FutureSocieties.Change("RepopulationFocus", _noEugenics)>> - <</if>> -<<elseif $arcologies[0].FSPaternalist != "unset">> - <<if policies.countEugenicsSMRs() > 0>> - Society @@.red;disapproves@@ of your policies forcefully sterilizing slaves, especially when they snuff out the life growing within them. - <<set _noEugenics = -1 * policies.countEugenicsSMRs()>> - <<run FutureSocieties.Change("Paternalist", _noEugenics)>> - <</if>> -<<elseif ($arcologies[0].FSRestart != "unset") && $arcologies[0].FSPaternalist == "unset">> - <<if policies.countEugenicsSMRs() > 0 && $arcologies[0].FSRestartSMR != 1>> - Society @@.green; approves@@ of your slave eugenics policies, easing them into more thorough eugenics. - <<set _yesEugenics = policies.countEugenicsSMRs()>> - <<run FutureSocieties.Change("Eugenics", _yesEugenics)>> - <<set $failedElite -= (1 * policies.countEugenicsSMRs())>> - <<elseif $arcologies[0].FSRestartSMR == 1>> - <<set $failedElite -= (2 * policies.countEugenicsSMRs())>> - <</if>> -<</if>> - -<<if ($arcologies[0].FSRepopulationFocus != "unset") && ($birthsTotal > 0)>> - The number of children you've brought into the world @@.green;pleases@@ your citizens. - <<if $birthsTotal < 1000>> - <<run repX($birthsTotal, "PCactions")>> - <<else>> - <<run repX(1000, "PCactions")>> - <</if>> -<</if>> - -<<if $shelterAbuse > 5>> - <<if $arcologies[0].FSPaternalist != "unset">> - You are on the Slave Shelter's public list of abusive slaveowners. Society @@.red;disapproves@@ of your falling foul of such a well regarded charity. - <<run FutureSocieties.Change("Paternalist", -2)>> - <<elseif $arcologies[0].FSDegradationist != "unset">> - You are on the Slave Shelter's public list of abusive slaveowners. Your citizens find this hilarious, and @@.green;approve@@ of your taking advantage of a pack of idiots. - <<run FutureSocieties.Change("Degradationist", 2)>> - <</if>> -<</if>> - -<<if $TCR.schoolPresent == 1>> - <<if $arcologies[0].FSRestart != "unset">> - Your Eugenics focused society @@.red;disagrees@@ with the local branch of The Cattle Ranch's views on slave breeding. Until society sees them as nothing more than mindless cattle and not human, they are in conflict with current reproduction standards. - <<run FutureSocieties.Change("Eugenics", -1)>> - <<elseif $arcologies[0].FSPaternalist != "unset">> - While they can't stop what happens to slaves outside of your arcology, they can @@.red;disapprove and protest@@ you allowing a branch of the mentally and physically abusive Cattle Ranch to be established in your arcology. - <<run FutureSocieties.Change("Paternalist", -2)>> - <</if>> -<</if>> - -<<if $policies.cash4Babies == 1>> - <<if $arcologies[0].FSDegradationist != "unset">> - Society @@.green;approves@@ of your poor treatment of slave infants. - <<run repX(5*$FSSingleSlaveRep*($arcologies[0].FSDegradationist/$FSLockinLevel), "babyTransfer")>> - <<elseif $arcologies[0].FSRestart != "unset">> - <<if $eugenicsFullControl != 1>> - The Societal Elite @@.red;strongly disapproves@@ of your creating an economic incentive for the lower classes to breed and sell infants, holding back acceptance of your new society. - <<set $failedElite += 5>> - <<else>> - Society @@.red;strongly disapproves@@ of your creating an economic incentive for the lower classes to breed and sell infants, holding back acceptance of your new society. - <</if>> - <<set $arcologies[0].FSRestart -= $FSSingleSlaveRep>> - <<run repX(forceNeg((5*$FSSingleSlaveRep*($arcologies[0].FSRestart/$FSLockinLevel))+($rep/40)), "babyTransfer")>> - <<elseif $arcologies[0].FSPaternalist != "unset">> - Society @@.red;greatly despises@@ your poor treatment of slave infants. - <<run repX(forceNeg((25*$FSSingleSlaveRep*($arcologies[0].FSPaternalist/$FSLockinLevel))+($rep/20)), "babyTransfer")>> - <<elseif $arcologies[0].FSRepopulationFocus != "unset">> - Society @@.red;disapproves@@ of your poor treatment of your future population, holding back acceptance of your new society. - <<set $arcologies[0].FSRepopulationFocus -= $FSSingleSlaveRep>> - <<run repX(forceNeg((5*$FSSingleSlaveRep*($arcologies[0].FSRepopulationFocus/$FSLockinLevel))+($rep/20)), "babyTransfer")>> - <<else>> - Your citizens @@.red;disapprove@@ of your poor treatment of slave children. - <<run repX(forceNeg($rep/20), "babyTransfer")>> - <</if>> -<</if>> - -<<if $policies.mixedMarriage == 1>> - Your citizens - <<if $arcologies[0].FSPaternalist >= 80>> - are so paternalistic that they @@.green;approve@@ of - <<run FutureSocieties.Change("Paternalist", 2)>> - <<elseif $arcologies[0].FSPaternalist >= 40>> - are paternalistic enough to tolerate - <<else>> - @@.red;disapprove@@ of - <<run repX(-50, "PCactions")>> - <</if>> - your support for marriage between citizens and slaves. -<</if>> - -<<if $citizenOrphanageTotal > 0>> - <<if $arcologies[0].FSPaternalist != "unset">> - The public @@.green;approves@@ of the way you're providing for $citizenOrphanageTotal of your slaves' children to be raised as citizens. - <<run FutureSocieties.Change("Paternalist", $citizenOrphanageTotal)>> - <<if $privateOrphanageTotal > 0>> - Raising <<print num($privateOrphanageTotal)>> of your slaves' children privately is considered even more @@.green;impressive.@@ - <<set _care = $privateOrphanageTotal*2>> - <<run FutureSocieties.Change("Paternalist", _care)>> - <</if>> - <<elseif $arcologies[0].FSDegradationist != "unset">> - The public @@.red;disapproves@@ of the way you're providing for $citizenOrphanageTotal of your slaves' children to be raised as citizens. - <<set _care = -$citizenOrphanageTotal>> - <<run FutureSocieties.Change("Degradationist", _care)>> - <<if $privateOrphanageTotal > 0>>Fortunately your raising slaves' children privately is not publicly known.<</if>> - <</if>> -<<elseif $privateOrphanageTotal > 0>> - <<if $arcologies[0].FSPaternalist != "unset">> - Raising <<print num($privateOrphanageTotal)>> of your slaves' children privately is considered extremely @@.green;impressive.@@ - <<set _care = $privateOrphanageTotal*2>> - <<run FutureSocieties.Change("Paternalist", _care)>> - <<elseif $arcologies[0].FSDegradationist != "unset">> - Fortunately your raising slaves' children privately is not publicly known. - <</if>> -<</if>> -<<if $breederOrphanageTotal > 0 && $arcologies[0].FSRepopulationFocus != "unset">> - The public @@.green;approves@@ of the way you've dedicated <<print num($breederOrphanageTotal)>> of your slaves' children to be raised into future breeders. - <<set _futureBreeders = Math.round((($breederOrphanageTotal/100)+1))>> - <<run FutureSocieties.Change("RepopulationFocus", _futureBreeders)>> -<</if>> - -<<if $arcologies[0].FSNull != "unset">> - Your cultural openness @@.green;helps your reputation,@@ since few citizens have disputes with your permissive approach. - <<run repX(50*$FSSingleSlaveRep*($arcologies[0].FSNull/$FSLockinLevel), "policies")>> -<</if>> - -<<if $arcologies[0].FSRestartLaw == 1>> - Your laws requiring the non-elite to pay additional taxes or be sterilized @@.red;agitates@@ some of your citizens, but they don't matter. Only your @@.green;pleased@@ elite do. - <<run repX(-100, "policies")>> - <<set $failedElite -= 1>> -<</if>> - -<<if $arcologies[0].FSHedonisticDecadenceLaw == 1>> - The burgeoning prosperity brought on by new business through your policies @@.green;builds your reputation,@@ since nearly every citizen has something available to satisfy their cravings. - <<run repX(100, "policies")>> -<</if>> - -<<if $arcologies[0].FSIntellectualDependencyLaw == 1>> - The protections you have in place to protect invalids @@.green;adds to your reputation,@@ since every citizen will eventually find themselves benefitting from it. - <<run repX(100, "policies")>> -<</if>> - -<<if $policies.SMR.frigiditySMR == 1>> - Your market regulations regarding slave sex drives @@.red;outrages@@ your citizens seeking sex slaves, since only slaves disinterested in sex are available. - <<run repX(-250, "policies")>> -<</if>> - -<<if $PC.degeneracy > 0>> - <<if $PC.degeneracy > 100>> - There are @@.red;severe and devastating rumors@@ about you spreading across the arcology. - <<run repX(forceNeg(100*$PC.degeneracy), "PCactions")>> - <<set $enduringRep = 0>> - <<elseif $PC.degeneracy > 75>> - There are @@.red;severe rumors@@ about you spreading across the arcology. - <<run repX(forceNeg(20*$PC.degeneracy), "PCactions")>> - <<elseif $PC.degeneracy > 50>> - There are @@.red;bad rumors@@ about you spreading across the arcology. - <<run repX(forceNeg(10*$PC.degeneracy), "PCactions")>> - <<elseif $PC.degeneracy > 25>> - There are @@.red;rumors@@ about you spreading across the arcology. - <<run repX(forceNeg(5*$PC.degeneracy), "PCactions")>> - <<elseif $PC.degeneracy > 10>> - There are @@.red;minor rumors@@ about you spreading across the arcology. - <<run repX(forceNeg(2*$PC.degeneracy), "PCactions")>> - <<else>> - The occasional rumor about you can be heard throughout the arcology. - <<run repX(forceNeg(1*$PC.degeneracy), "PCactions")>> - <</if>> -<</if>> - -<<if $FCNNstation == 1>> - Playing host to the Free Cities News Network brings @@.green;approval@@ from those who still consider freedom of the press a virtue. - <<run repX(500, "policies")>> -<</if>> - -<<if $secExpEnabled > 0 && $SecExp.buildings.propHub && $SecExp.buildings.propHub.upgrades.fakeNews > 0>> - The authenticity department produces and distributes copious amounts of plausible enough news and reports, @@.green;increasing your reputation.@@ - <<run repX(10 * $SecExp.buildings.propHub.upgrades.fakeNews, "policies")>> -<</if>> - -<br> -<<set _repGain = hashSum($lastWeeksRepIncome), _repLoss = hashSum($lastWeeksRepIncome)>> -<<if _repGain > _repLoss>> - @@.green;Your reputation increased this week.@@ -<<elseif _repGain < _repLoss>> - @@.red;Your reputation decreased this week.@@ -<</if>> - - -<<if isNaN($rep)>> - <br>@@.red;Error: rep is outside accepted range, please report this issue@@ -<</if>> - -<<if $rep > 20000>> - Your reputation is capped. -<<elseif $rep-$enduringRep > 7500>> - Your base rate of reputation decay is very high. -<<elseif $rep-$enduringRep > 5000>> - Your base rate of reputation decay is high. -<<elseif $rep-$enduringRep > 2500>> - Your base rate of reputation decay is moderate. -<<elseif $rep-$enduringRep > 0>> - Your base rate of reputation decay is low. -<</if>> -<<if $enduringRep >= 10000>> - Your legend is perfected, reducing reputation decay to its lowest possible level. - <<set $enduringRep = 10000>> -<</if>> - -<<if $policies.alwaysSubsidizeRep == 1>> - <<if $rep <= 19900>> - <<run repX(100, "policies")>> - Reputation subsidized as planned. - <<if $PC.degeneracy > 1>> - <<set $PC.degeneracy -= 1>> - <</if>> - <<elseif $PC.degeneracy > 1>> - <<set $PC.degeneracy -= 1>> - Rumors quelled as planned. - <<else>> - <<run cashX(1000, "policies")>> - Reputation subsidy reclaimed this week since your reputation is capped. - <</if>> -<</if>> - -<<if $failedElite > 1>> - <<set $failedElite -= 1>> -<</if>> -<<if $PC.degeneracy > 1>> - <<set $PC.degeneracy -= 1>> -<</if>> - -<<if $arcologies[0].FSRestartDecoration == 100>> - <<if $eugenicsFullControl != 1>> - <<if $failedElite > 300>> - The Societal Elite @@.red;are plotting your demise.@@ - <<elseif $failedElite > 250>> - The Societal Elite @@.red;are openly discussing about your failures.@@ It would be in your best interests to appease them. - <<elseif $failedElite > 200>> - The Societal Elite @@.red;are avoiding you.@@ Getting back on their good side is a good idea, lest you want to disappear. - <<elseif $failedElite > 150>> - The Societal Elite @@.red;stop their conversations around you.@@ You may want to consider your actions more. - <<elseif $failedElite > 100>> - The Societal Elite @@.red;seem to dislike you.@@ - <<elseif $failedElite > 50>> - The Societal Elite @@.red;mutter about you.@@ - <<elseif $failedElite > 0>> - The Societal Elite @@.red;question some of your actions.@@ - <<else>> - The Societal Elite hold you in high regards. - <</if>> - <<else>> - The Societal Elite can think what they want, they know better than to try and cross you again. - <</if>> -<<elseif $arcologies[0].FSRestart != "unset">> - <<if $eugenicsFullControl != 1>> - <<if $failedElite > 300>> - The Societal Elite @@.red;have departed from your arcology in disgust.@@ - <<run FutureSocieties.remove("FSRestart")>> - <<run repX(forceNeg(10000), "event")>> - <<set $eliteFail = random(30,100), - $eliteFailTimer = 15>> - <<if $eliteFail > $topClass - 20>> - <<set $eliteFail = $topClass - 20>> - <</if>> - <<if $arcologies[0].prosperity > 50>> - <<set $arcologies[0].prosperity -= random(20,40)>> - <</if>> - <<elseif $failedElite > 250>> - The Societal Elite @@.red;are openly discussing leaving.@@ It would be in your best interests to appease them. - <<elseif $failedElite > 200>> - The Societal Elite @@.red;are avoiding you.@@ Getting back on their good side is a good idea, lest you want to disappear. - <<elseif $failedElite > 150>> - The Societal Elite @@.red;stop their conversations around you.@@ You may want to consider your actions more. - <<elseif $failedElite > 100>> - The Societal Elite @@.red;seem to dislike you.@@ - <<elseif $failedElite > 50>> - The Societal Elite @@.red;mutter about you.@@ - <<elseif $failedElite > 0>> - The Societal Elite @@.red;question some of your actions.@@ - <<else>> - The Societal Elite hold you in warm regards. - <</if>> - <<else>> - The Societal Elite can think what they want, they know better than to try and cross you again. - <</if>> -<</if>> \ No newline at end of file