From 5732bf387fb504d683a3249ca4ba1002a043e636 Mon Sep 17 00:00:00 2001 From: DCoded <dcoded@live.com> Date: Wed, 8 Jul 2020 00:18:28 -0400 Subject: [PATCH] Moved farmyard shows section to new file --- src/endWeek/saWorkTheFarm.js | 354 +----------------- .../farmyard/shows/saFarmyardShows.js | 353 +++++++++++++++++ 2 files changed, 357 insertions(+), 350 deletions(-) create mode 100644 src/facilities/farmyard/shows/saFarmyardShows.js diff --git a/src/endWeek/saWorkTheFarm.js b/src/endWeek/saWorkTheFarm.js index 15d3dac78e3..7bc68e538b7 100644 --- a/src/endWeek/saWorkTheFarm.js +++ b/src/endWeek/saWorkTheFarm.js @@ -8,11 +8,8 @@ App.SlaveAssignment.workTheFarm = function (slave) { let frag = document.createDocumentFragment(); const - { he, him, his, hers, He, His } = getPronouns(slave), + { he, him, his, He, His } = getPronouns(slave), incomeStats = getSlaveStatisticData(slave, V.facility.farmyard), - arcology = V.arcologies[0], - _beautiful = beautiful(slave), - _pretty = pretty(slave), slaveApproves = () => sexualQuirks.includes(slave.sexualQuirk) || behavorialQuirks.includes(slave.behavioralQuirk) || fetishes.includes(slave.fetish); @@ -26,7 +23,7 @@ App.SlaveAssignment.workTheFarm = function (slave) { function fullReport(slave) { - const report = App.UI.appendNewElement("p", frag, '', "indent"); + const report = App.UI.DOM.appendNewElement("p", frag, '', "indent"); let r = []; @@ -199,350 +196,7 @@ App.SlaveAssignment.workTheFarm = function (slave) { if (V.farmyardShows) { const shows = App.UI.DOM.appendNewElement("p", frag, '', "indent"); - let r = []; - - incomeStats.income += App.Facilities.Farmyard.farmShowsIncome(slave); - - r.push(`${He} also puts on shows with animals this week.`); - - // Open FS Subsection - - if (arcology.FSSupremacist !== "unset") { - if (isSuperiorRace(slave)) { - if (V.seeBestiality) { - r.push(`Since ${arcology.FSSupremacistRace} slaves are in fashion, ${he} attracts a little more attention than if ${he} wasn't ${arcology.FSSupremacistRace}.`); - } else { - r.push(`Society <span class="reputation dec">disapproves</span> of your allowing a member of the elite race to be degraded in such a fashion, and thus ${he} didn't earn as much.`); - } - } - } - - if (arcology.FSSubjugationist !== "unset") { - if (isInferiorRace(slave)) { - if (V.seeBestiality) { - r.push(`Society <span class="reputation inc">approves</span> of the degradation you submit your ${arcology.FSSubjugationistRace} slaves to, and so ${he} earns you a bit more.`); - } else { - r.push(`Fewer people want to go see a ${arcology.FSSubjugationistRace} slave put on a show, and so ${he} doesn't earn as much as ${he} otherwise could.`); - } - } else { - r.push(`Society doesn't disapprove of ${him} not being ${arcology.FSSubjugationistRace}, but ${he} doesn't earn as much as ${he} would if ${he} was.`); - } - } - - if (arcology.FSRepopulationFocus !== "unset") { - if (isPreg(slave)) { - if (slave.eggType !== "human") { - r.push(`Society is <span class="reputation dec">disgusted</span> by ${his} pregnancy when they realize that what it is in ${his} womb is not human.`); - } else { - r.push(`Society <span class="reputation inc">greatly approves</span> of your having pregnant slaves ${V.seeBestiality ? `have sex` : `put on shows`} with animals.`); - } - } - } - - if (arcology.FSRestart !== "unset") { - if (isPreg(slave)) { - if (slave.eggType !== "human") { - r.push(`Society is disgusted by ${his} pregnancy until they learn that what is in ${his} womb is not human.`); - } else { - r.push(`Society is <span class="reputation dec">extremely disgusted</span> by ${his} pregnancy and the fact that you would have ${him} ${V.seeBestiality ? `have sex` : `put on shows`} with animals while sporting a baby bump.`); - } - } - } - - if (arcology.FSGenderRadicalist !== "unset") { - if (slave.dick > 0) { - r.push(`${His} patrons <span class="reputation inc">approve</span> of the fact that ${he} has a dick.`); - } else { - r.push(`${His} patrons <span class="reputation dec">are disappointed</span> that ${he} doesn't have a dick.`); - } - } - - if (arcology.FSGenderFundamentalist !== "unset") { - if (isPreg(slave) || setup.fakeBellies.includes(slave.bellyAccessory)) { - r.push(`${His} viewers <span class="reputation inc">approve</span> of the fact that ${he} is sporting a baby bump${setup.fakeBellies.includes(slave.bellyAccessory) ? `, even though ${hers} isn't real` : ``}.`); - } else { - r.push(`${His} viewers <span class="reputation dec">are disappointed</span> that ${he} isn't pregnant.`); - } - } - - if (arcology.FSPaternalist !== "unset") { - if (V.seeBestiality && V.farmyardBreeding) { - r.push(`Your citizens are <span class="reputation dec">very disapproving</span> of the fact that you would allow something as degrading as having your slaves be knocked up by filthy beasts.`); - } else { - r.push(`Your citizens <span class="reputation dec">disapprove</span> of the fact that you would allow your slaves to be degraded in such a manner.`); - } - } - - if (arcology.FSDegradationist !== "unset") { - if (V.seeBestiality && V.farmyardBreeding) { - r.push(`Your citizens are <span class="reputation inc">very approving</span> of the fact that you would allow something as degrading as having your slaves be knocked up by filthy beasts.`); - } else { - r.push(`Your citizens <span class="reputation inc">approve</span> of the fact that you would allow your slaves to be degraded in such a manner.`); - } - } - - if (arcology.FSBodyPurist !== "unset") { - if (SlaveStatsChecker.isModded(slave)) { - r.push(`The members of the audience <span class="reputation dec">disapprove</span> that you would use a slave with such heavy modifications to put on shows.`); //TODO: add checks for amount of modification (piercings, tats, etc) - } - } - - if (arcology.FSTransformationFetishist !== "unset") { - if (SlaveStatsChecker.isModded(slave)) { - r.push(`The members of the audience <span class="reputation inc">approve</span> that you would use a slave with such heavy modifications to put on shows.`); //TODO: add checks for amount of modification (piercings, tats, etc) - } - } - - if (arcology.FSYouthPreferentialist !== "unset") { - if (isYoung(slave)) { - r.push(`${arcology.name}'s citizens <span class="reputation dec">disapprove</span> of your using such old slaves to put on shows.`); - } else { - r.push(`${arcology.name}'s citizens <span class="reputation inc">approve</span> of your using young slaves to put on shows.`); - } - } - - if (arcology.FSMaturityPreferentialist !== "unset") { - if (isYoung(slave)) { - r.push(`${arcology.name}'s citizens <span class="reputation inc">approve</span> of your using mature slaves to put on shows.`); - } else { - r.push(`${arcology.name}'s citizens <span class="reputation dec">disapprove</span> of your using such young slaves to put on shows.`); - } - } - - if (arcology.FSSlimnessEnthusiast !== "unset") { - if (!isSlim(slave)) { - r.push(`Society finds your using a slave with such a flabby body <span class="reputation dec">absolutely disgusting.</span>`); - } - } - - if (arcology.FSAssetExpansionist !== "unset") { - if (!isSlim && genderLawPass(slave)) { - r.push(`Society <span class="reputation inc">approves</span> of the fact that you respect their ideals in using a larger slave.`); - } - } - - if (arcology.FSPastoralist !== "unset") { - if (slave.boobs >= 1000) { - r.push(`The fact that ${slave.slaveName} has such large udders pleases your citizens.`); - } - - if (slave.lactation > 0) { - r.push(`Your citizens ${slave.boobs >= 1000 ? `also ` : ``}approve of the fact that ${he} is visibly lactating.`); - } - } - - if (arcology.FSPhysicalIdealist !== "unset") { - if (genderLawPass(slave)) { - r.push(`The fact that ${slave.slaveName} has what is considered the ideal form also helps ${him} attract attention, and so ${he} earns a bit more.`); - } - } - - if (arcology.FSHedonisticDecadence !== "unset") { - if (slave.weight > 10) { - // TODO: write this - } else { - // TODO: write this - } - } - - if (arcology.FSChattelReligionist !== "unset") { - if (slave.devotion <= 20) { - // TODO: write this - } else { - // TODO: write this - } - } - - if (arcology.FSPetiteAdmiration !== "unset") { - if (heightPass(slave)) { - r.push(`The fact that you are using such small slaves <span class="reputation inc">pleases your citizens.</span>`); - } else { - r.push(`The fact that you are using such small slaves <span class="reputation dec">displeases your citizens.</span>`); - } - } - - if (arcology.FSStatuesqueGlorification !== "unset") { - if (heightPass(slave)) { - r.push(`Your citizens <span class="reputation inc">approve</span> of your using such tall slaves for putting on shows.`); - } else { - r.push(`Your citizens <span class="reputation dec">disapprove</span> of your using such tall slaves for putting on shows.`); - } - } - - // Close FS Subsection - - if (setup.entertainmentCareers.includes(slave.career)) { - r.push(`${He} has experience with putting on shows from ${his} life before ${he} was a slave, making ${him} more effective at putting on shows.`); - } - - if (setup.farmerCareers.includes(slave.career)) { - // TODO: write this - } - - if (slave.prestige === 1) { - r.push(`Because some of your citizens already know of ${him}, ${he} earns more.`); - } else if (slave.prestige === 2) { - r.push(`Because a lot of your citizens already know of ${him}, ${he} earns quite a bit more.`); - } else if (slave.prestige === 3) { - r.push(`Because ${he} is so famous, ${he} earns a lot more then ${he} would otherwise.`); - } - - if (slave.porn.prestige === 1) { - r.push(`${He} earns a bit more because some of your citizens already know ${him} from porn.`); - } else if (slave.porn.prestige === 2) { - r.push(`${He} earns quite a bit more because a lot of your citizens already know ${him} from porn.`); - } else if (slave.porn.prestige === 3) { - r.push(`${He} earns a lot more because ${he} is so famous from porn.`); - } - - if (slave.health.condition > 20) { - r.push(`${He} is in such excellent health that ${he} is able to put on longer and more energetic shows, earning you more.`); - } else if (slave.health.condition < -20) { - r.push(`${His} poor health negatively affects ${his} ability to put on good shows, cutting into your profits.`); - } - - if (slave.face > 40) { - r.push(`${He} is so ${_beautiful} that ${his} audience is willing to pay more to watch ${him} put on shows.`); - } else if (slave.face > 10) { - r.push(`${He} is so ${_pretty} that ${his} audience is willing to pay more to watch ${him} put on shows.`); - } else if (slave.face < -10) { - r.push(`${His} audience isn't willing to pay as much because of how unattractive ${his} face is.`); - } else if (slave.face < -40) { - r.push(`${His} audience isn't willing to pay as much because of how hard ${his} face is to look at.`); - } - - // TODO: write this block with different combinations of trust / devotion - if (slave.devotion > 50) { - // TODO: write this - } else if (slave.devotion < -50) { - // TODO: write this - } - - if (slave.trust > 50) { - // TODO: write this - } else if (slave.trust < -50) { - // TODO: write this - } - - if (slave.weight > 30 && arcology.FSHedonisticDecadence === "unset") { - r.push(`Your citizens are not willing to pay as much to see such a fat slave put on shows, so ${he} loses some income.`); - } else if (slave.weight < -30) { - r.push(`Your citizens don't like watching such a sickly-looking slaves put on shows, so ${he} loses some income.`); - } - - if (slave.muscles > 30) { - // TODO: write this - do we want something for muscles? - } else if (slave.muscles < -30) { - r.push(`${slave.slaveName} is so weak that ${he} cannot even properly handle the animals ${he}'s assigned to ${V.seeBestiality ? `fuck` : `work with`}, and isn't able to put on any sort of meaningful show.`); - } - - if (!canSeePerfectly(slave)) { - r.push(`${His} ${!canSee(slave) ? `blindness makes it impossible` : `nearsightedness makes it harder`} for ${him} to see what ${he}'s doing, affecting ${his} ability to put on a good show.`); - } - - if (slave.hears < 0) { - r.push(`${His} ${slave.hears < -1 ? `lack of` : `poor`} hearing makes it difficult for ${him} to hear what ${his} audience wants from ${him}, which really affects ${his} earnings.`); - } - - if (isPreg(slave)) { - r.push(`${His}${slave.bellyPreg > 100000 ? ` advanced` : ``} pregnancy makes it more difficult for him to effectively put on a good show.`); - } - - if (slave.health.tired > 60) { - r.push(`${He} is so tired that the energy in ${his} shows is basically nonexistent, affecting ${his} profits.`); - } - - if (slave.intelligence > 50) { - // TODO: write this - include something about .intelligenceImplant? - } else if (slave.intelligence < -50) { - // TODO: write this - } - - if (slave.energy <= 20) { - // TODO: write this - } else if (slave.energy <= 40) { - // TODO: write this - } else if (slave.energy <= 60) { - // TODO: write this - } else if (slave.energy <= 80) { - // TODO: write this - } else if (slave.energy <= 95) { - // TODO: write this - } else { - // TODO: write this - } - - // TODO: add more to the fetishes and flaws / quirks - switch (slave.fetish) { - case "submissive": - if (V.seeBestiality) { - if (slave.fetishKnown) { - r.push(`${He} is so submissive that ${he} willingly accepts ${his} position as an animal's fucktoy and <span class="reputation inc">is able to put on a decent show</span>.`); - } else { - r.push(`${V.Headgirl ? `${V.Headgirl.slaveName} notices` : `You notice`} that ${slave.slaveName} seems to have really taken to ${his} position as a fucktoy for animals. <span class="lightcoral">${He}'s a submissive!</span>`); - } - } else { - if (slave.fetishKnown) { - r.push(`Being a submissive, ${he} <span class="reputation dec">doesn't have the confidence required</span> to really put on a good show.`); - } else { - r.push(`${slave.slaveName} doesn't seem to have the type of fortitude needed to put on a show, and after some probing, you discover why - it turns out <span class="lightcoral">${he}'s a submissive!</span>`); - } - } - break; - - case "humiliation": - if (V.seeBestiality) { - if (slave.fetishKnown) { - r.push(`${slave.slaveName} uses the most of this humiliating experience to really put on a show, to <span class="reputation inc">the approval of ${his} audience</span>.`); - } else { - // TODO: - } - } else { - // TODO: not sure about this one - } - break; - - default: - break; - } - - switch (slave.behavioralFlaw) { - case "devout": - r.push(`${He} often prays ${V.seeBestiality ? ` while getting fucked by animals` : ` during ${his} shows`}, which your citizens <span class="reputation dec">find off-putting.</span>`); - break; - - default: - break; - } - - switch (slave.behavioralQuirk) { - case "sinful": - r.push(`${He} relishes in ${his} ability to do something so sinful and depraved, and <span class="reputation inc">really puts on a show.</span>`); - break; - - default: - break; - } - - switch (slave.sexualFlaw) { - case "shamefast": - r.push(`${His} crippling shamefastness <span class="reputation dec">limits ${his} ability</span> to put on a decent show.`); - break; - - default: - break; - } - - switch (slave.sexualQuirk) { - case "perverted": - r.push(`${His} shows are a <span class="reputation inc">real spectacle,</span> since ${he} is so perverted taht ${he} is willing to go far beyond the bare minimum.`); - break; - - default: - break; - } - - $(shows).append(r.join(' ')); + $(shows).append(App.Facilities.Farmyard.putOnShows(slave)); } // Close Shows @@ -550,7 +204,7 @@ App.SlaveAssignment.workTheFarm = function (slave) { // Open Long-Term Effects function longTermEffects(slave) { - const longTermEffects = App.UI.appendNewElement("p", frag, '', "indent"); + const longTermEffects = App.UI.DOM.appendNewElement("p", frag, '', "indent"); let r = []; diff --git a/src/facilities/farmyard/shows/saFarmyardShows.js b/src/facilities/farmyard/shows/saFarmyardShows.js new file mode 100644 index 00000000000..914d6c110c4 --- /dev/null +++ b/src/facilities/farmyard/shows/saFarmyardShows.js @@ -0,0 +1,353 @@ +App.Facilities.Farmyard.putOnShows = function (slave) { + const + { he, him, his, hers, He, His } = getPronouns(slave), + incomeStats = getSlaveStatisticData(slave, V.facility.farmyard), + arcology = V.arcologies[0], + _beautiful = beautiful(slave), + _pretty = pretty(slave); + + let r = []; + + incomeStats.income += App.Facilities.Farmyard.farmShowsIncome(slave); + + r.push(`${He} also puts on shows with animals this week.`); + + // Open FS Subsection + + if (arcology.FSSupremacist !== "unset") { + if (isSuperiorRace(slave)) { + if (V.seeBestiality) { + r.push(`Since ${arcology.FSSupremacistRace} slaves are in fashion, ${he} attracts a little more attention than if ${he} wasn't ${arcology.FSSupremacistRace}.`); + } else { + r.push(`Society <span class="reputation dec">disapproves</span> of your allowing a member of the elite race to be degraded in such a fashion, and thus ${he} didn't earn as much.`); + } + } + } + + if (arcology.FSSubjugationist !== "unset") { + if (isInferiorRace(slave)) { + if (V.seeBestiality) { + r.push(`Society <span class="reputation inc">approves</span> of the degradation you submit your ${arcology.FSSubjugationistRace} slaves to, and so ${he} earns you a bit more.`); + } else { + r.push(`Fewer people want to go see a ${arcology.FSSubjugationistRace} slave put on a show, and so ${he} doesn't earn as much as ${he} otherwise could.`); + } + } else { + r.push(`Society doesn't disapprove of ${him} not being ${arcology.FSSubjugationistRace}, but ${he} doesn't earn as much as ${he} would if ${he} was.`); + } + } + + if (arcology.FSRepopulationFocus !== "unset") { + if (isPreg(slave)) { + if (slave.eggType !== "human") { + r.push(`Society is <span class="reputation dec">disgusted</span> by ${his} pregnancy when they realize that what it is in ${his} womb is not human.`); + } else { + r.push(`Society <span class="reputation inc">greatly approves</span> of your having pregnant slaves ${V.seeBestiality ? `have sex` : `put on shows`} with animals.`); + } + } + } + + if (arcology.FSRestart !== "unset") { + if (isPreg(slave)) { + if (slave.eggType !== "human") { + r.push(`Society is disgusted by ${his} pregnancy until they learn that what is in ${his} womb is not human.`); + } else { + r.push(`Society is <span class="reputation dec">extremely disgusted</span> by ${his} pregnancy and the fact that you would have ${him} ${V.seeBestiality ? `have sex` : `put on shows`} with animals while sporting a baby bump.`); + } + } + } + + if (arcology.FSGenderRadicalist !== "unset") { + if (slave.dick > 0) { + r.push(`${His} patrons <span class="reputation inc">approve</span> of the fact that ${he} has a dick.`); + } else { + r.push(`${His} patrons <span class="reputation dec">are disappointed</span> that ${he} doesn't have a dick.`); + } + } + + if (arcology.FSGenderFundamentalist !== "unset") { + if (isPreg(slave) || setup.fakeBellies.includes(slave.bellyAccessory)) { + r.push(`${His} viewers <span class="reputation inc">approve</span> of the fact that ${he} is sporting a baby bump${setup.fakeBellies.includes(slave.bellyAccessory) ? `, even though ${hers} isn't real` : ``}.`); + } else { + r.push(`${His} viewers <span class="reputation dec">are disappointed</span> that ${he} isn't pregnant.`); + } + } + + if (arcology.FSPaternalist !== "unset") { + if (V.seeBestiality && V.farmyardBreeding) { + r.push(`Your citizens are <span class="reputation dec">very disapproving</span> of the fact that you would allow something as degrading as having your slaves be knocked up by filthy beasts.`); + } else { + r.push(`Your citizens <span class="reputation dec">disapprove</span> of the fact that you would allow your slaves to be degraded in such a manner.`); + } + } + + if (arcology.FSDegradationist !== "unset") { + if (V.seeBestiality && V.farmyardBreeding) { + r.push(`Your citizens are <span class="reputation inc">very approving</span> of the fact that you would allow something as degrading as having your slaves be knocked up by filthy beasts.`); + } else { + r.push(`Your citizens <span class="reputation inc">approve</span> of the fact that you would allow your slaves to be degraded in such a manner.`); + } + } + + if (arcology.FSBodyPurist !== "unset") { + if (SlaveStatsChecker.isModded(slave)) { + r.push(`The members of the audience <span class="reputation dec">disapprove</span> that you would use a slave with such heavy modifications to put on shows.`); //TODO: add checks for amount of modification (piercings, tats, etc) + } + } + + if (arcology.FSTransformationFetishist !== "unset") { + if (SlaveStatsChecker.isModded(slave)) { + r.push(`The members of the audience <span class="reputation inc">approve</span> that you would use a slave with such heavy modifications to put on shows.`); //TODO: add checks for amount of modification (piercings, tats, etc) + } + } + + if (arcology.FSYouthPreferentialist !== "unset") { + if (isYoung(slave)) { + r.push(`${arcology.name}'s citizens <span class="reputation dec">disapprove</span> of your using such old slaves to put on shows.`); + } else { + r.push(`${arcology.name}'s citizens <span class="reputation inc">approve</span> of your using young slaves to put on shows.`); + } + } + + if (arcology.FSMaturityPreferentialist !== "unset") { + if (isYoung(slave)) { + r.push(`${arcology.name}'s citizens <span class="reputation inc">approve</span> of your using mature slaves to put on shows.`); + } else { + r.push(`${arcology.name}'s citizens <span class="reputation dec">disapprove</span> of your using such young slaves to put on shows.`); + } + } + + if (arcology.FSSlimnessEnthusiast !== "unset") { + if (!isSlim(slave)) { + r.push(`Society finds your using a slave with such a flabby body <span class="reputation dec">absolutely disgusting.</span>`); + } + } + + if (arcology.FSAssetExpansionist !== "unset") { + if (!isSlim && genderLawPass(slave)) { + r.push(`Society <span class="reputation inc">approves</span> of the fact that you respect their ideals in using a larger slave.`); + } + } + + if (arcology.FSPastoralist !== "unset") { + if (slave.boobs >= 1000) { + r.push(`The fact that ${slave.slaveName} has such large udders pleases your citizens.`); + } + + if (slave.lactation > 0) { + r.push(`Your citizens ${slave.boobs >= 1000 ? `also ` : ``}approve of the fact that ${he} is visibly lactating.`); + } + } + + if (arcology.FSPhysicalIdealist !== "unset") { + if (genderLawPass(slave)) { + r.push(`The fact that ${slave.slaveName} has what is considered the ideal form also helps ${him} attract attention, and so ${he} earns a bit more.`); + } + } + + if (arcology.FSHedonisticDecadence !== "unset") { + if (slave.weight > 10) { + // TODO: write this + } else { + // TODO: write this + } + } + + if (arcology.FSChattelReligionist !== "unset") { + if (slave.devotion <= 20) { + // TODO: write this + } else { + // TODO: write this + } + } + + if (arcology.FSPetiteAdmiration !== "unset") { + if (heightPass(slave)) { + r.push(`The fact that you are using such small slaves <span class="reputation inc">pleases your citizens.</span>`); + } else { + r.push(`The fact that you are using such small slaves <span class="reputation dec">displeases your citizens.</span>`); + } + } + + if (arcology.FSStatuesqueGlorification !== "unset") { + if (heightPass(slave)) { + r.push(`Your citizens <span class="reputation inc">approve</span> of your using such tall slaves for putting on shows.`); + } else { + r.push(`Your citizens <span class="reputation dec">disapprove</span> of your using such tall slaves for putting on shows.`); + } + } + + // Close FS Subsection + + if (setup.entertainmentCareers.includes(slave.career)) { + r.push(`${He} has experience with putting on shows from ${his} life before ${he} was a slave, making ${him} more effective at putting on shows.`); + } + + if (setup.farmerCareers.includes(slave.career)) { + // TODO: write this + } + + if (slave.prestige === 1) { + r.push(`Because some of your citizens already know of ${him}, ${he} earns more.`); + } else if (slave.prestige === 2) { + r.push(`Because a lot of your citizens already know of ${him}, ${he} earns quite a bit more.`); + } else if (slave.prestige === 3) { + r.push(`Because ${he} is so famous, ${he} earns a lot more then ${he} would otherwise.`); + } + + if (slave.porn.prestige === 1) { + r.push(`${He} earns a bit more because some of your citizens already know ${him} from porn.`); + } else if (slave.porn.prestige === 2) { + r.push(`${He} earns quite a bit more because a lot of your citizens already know ${him} from porn.`); + } else if (slave.porn.prestige === 3) { + r.push(`${He} earns a lot more because ${he} is so famous from porn.`); + } + + if (slave.health.condition > 20) { + r.push(`${He} is in such excellent health that ${he} is able to put on longer and more energetic shows, earning you more.`); + } else if (slave.health.condition < -20) { + r.push(`${His} poor health negatively affects ${his} ability to put on good shows, cutting into your profits.`); + } + + if (slave.face > 40) { + r.push(`${He} is so ${_beautiful} that ${his} audience is willing to pay more to watch ${him} put on shows.`); + } else if (slave.face > 10) { + r.push(`${He} is so ${_pretty} that ${his} audience is willing to pay more to watch ${him} put on shows.`); + } else if (slave.face < -10) { + r.push(`${His} audience isn't willing to pay as much because of how unattractive ${his} face is.`); + } else if (slave.face < -40) { + r.push(`${His} audience isn't willing to pay as much because of how hard ${his} face is to look at.`); + } + + // TODO: write this block with different combinations of trust / devotion + if (slave.devotion > 50) { + // TODO: write this + } else if (slave.devotion < -50) { + // TODO: write this + } + + if (slave.trust > 50) { + // TODO: write this + } else if (slave.trust < -50) { + // TODO: write this + } + + if (slave.weight > 30 && arcology.FSHedonisticDecadence === "unset") { + r.push(`Your citizens are not willing to pay as much to see such a fat slave put on shows, so ${he} loses some income.`); + } else if (slave.weight < -30) { + r.push(`Your citizens don't like watching such a sickly-looking slaves put on shows, so ${he} loses some income.`); + } + + if (slave.muscles > 30) { + // TODO: write this - do we want something for muscles? + } else if (slave.muscles < -30) { + r.push(`${slave.slaveName} is so weak that ${he} cannot even properly handle the animals ${he}'s assigned to ${V.seeBestiality ? `fuck` : `work with`}, and isn't able to put on any sort of meaningful show.`); + } + + if (!canSeePerfectly(slave)) { + r.push(`${His} ${!canSee(slave) ? `blindness makes it impossible` : `nearsightedness makes it harder`} for ${him} to see what ${he}'s doing, affecting ${his} ability to put on a good show.`); + } + + if (slave.hears < 0) { + r.push(`${His} ${slave.hears < -1 ? `lack of` : `poor`} hearing makes it difficult for ${him} to hear what ${his} audience wants from ${him}, which really affects ${his} earnings.`); + } + + if (isPreg(slave)) { + r.push(`${His}${slave.bellyPreg > 100000 ? ` advanced` : ``} pregnancy makes it more difficult for him to effectively put on a good show.`); + } + + if (slave.health.tired > 60) { + r.push(`${He} is so tired that the energy in ${his} shows is basically nonexistent, affecting ${his} profits.`); + } + + if (slave.intelligence > 50) { + // TODO: write this - include something about .intelligenceImplant? + } else if (slave.intelligence < -50) { + // TODO: write this + } + + if (slave.energy <= 20) { + // TODO: write this + } else if (slave.energy <= 40) { + // TODO: write this + } else if (slave.energy <= 60) { + // TODO: write this + } else if (slave.energy <= 80) { + // TODO: write this + } else if (slave.energy <= 95) { + // TODO: write this + } else { + // TODO: write this + } + + // TODO: add more to the fetishes and flaws / quirks + switch (slave.fetish) { + case "submissive": + if (V.seeBestiality) { + if (slave.fetishKnown) { + r.push(`${He} is so submissive that ${he} willingly accepts ${his} position as an animal's fucktoy and <span class="reputation inc">is able to put on a decent show</span>.`); + } else { + r.push(`${V.Headgirl ? `${V.Headgirl.slaveName} notices` : `You notice`} that ${slave.slaveName} seems to have really taken to ${his} position as a fucktoy for animals. <span class="lightcoral">${He}'s a submissive!</span>`); + } + } else { + if (slave.fetishKnown) { + r.push(`Being a submissive, ${he} <span class="reputation dec">doesn't have the confidence required</span> to really put on a good show.`); + } else { + r.push(`${slave.slaveName} doesn't seem to have the type of fortitude needed to put on a show, and after some probing, you discover why - it turns out <span class="lightcoral">${he}'s a submissive!</span>`); + } + } + break; + + case "humiliation": + if (V.seeBestiality) { + if (slave.fetishKnown) { + r.push(`${slave.slaveName} uses the most of this humiliating experience to really put on a show, to <span class="reputation inc">the approval of ${his} audience</span>.`); + } else { + // TODO: + } + } else { + // TODO: not sure about this one + } + break; + + default: + break; + } + + switch (slave.behavioralFlaw) { + case "devout": + r.push(`${He} often prays ${V.seeBestiality ? ` while getting fucked by animals` : ` during ${his} shows`}, which your citizens <span class="reputation dec">find off-putting.</span>`); + break; + + default: + break; + } + + switch (slave.behavioralQuirk) { + case "sinful": + r.push(`${He} relishes in ${his} ability to do something so sinful and depraved, and <span class="reputation inc">really puts on a show.</span>`); + break; + + default: + break; + } + + switch (slave.sexualFlaw) { + case "shamefast": + r.push(`${His} crippling shamefastness <span class="reputation dec">limits ${his} ability</span> to put on a decent show.`); + break; + + default: + break; + } + + switch (slave.sexualQuirk) { + case "perverted": + r.push(`${His} shows are a <span class="reputation inc">real spectacle,</span> since ${he} is so perverted taht ${he} is willing to go far beyond the bare minimum.`); + break; + + default: + break; + } + + return r.join(' '); +}; -- GitLab