diff --git a/src/endWeek/saWorkTheFarm.js b/src/endWeek/saWorkTheFarm.js new file mode 100644 index 0000000000000000000000000000000000000000..b15c0d4c3b41f275b698800e01fb9c07ecd4163e --- /dev/null +++ b/src/endWeek/saWorkTheFarm.js @@ -0,0 +1,595 @@ +/* eslint-disable no-unused-vars */ +/* eslint-disable no-undef */ +window.saWorkTheFarm = /** @param {App.Entity.SlaveState} slave */ function saWorkTheFarm(slave) { + "use strict"; + const V = State.variables; + const arcology = V.arcologies[0]; + var pronouns = getPronouns(slave); + var he = pronouns.pronoun, him = pronouns.object, his = pronouns.possessive, hers = pronouns.possessivePronoun, himself = pronouns.objectReflexive, boy = pronouns.noun; + var He = capFirstChar(he), His = capFirstChar(his); + var incomeStats = getSlaveStatisticData(slave, V.facility.farmyard); + + var t = `works as a farmhand this week. `; + + if (V.Farmer !== 0) { + t += `While there, ${he} benefits from ${Farmer.slaveName}'s `; + if (V.Farmer.physicalAge < 21) { + t += `youthful energy`; + } else { + t += `care`; + } + if (V.Farmer.oralSkill) { // TODO: keep this? replace with something else? + t += ` and talented tongue`; + } + t += `. `; + if (slave.devotion < V.FarmerDevotionThreshold) { + slave.devotion += V.FarmerDevotionBonus; + } + if (slave.devotion < V.FarmerTrustThreshold) { + slave.trust += V.FarmerTrustBonus; + } + if (slave.health < 100) { + slave.health += V.FarmerHealthBonus; + } + } + + // Open Food Production + + let food = Math.trunc(foodAmount(slave)); + if (food < 1) { + food = 1; + } + V.food += food + V.foodTotal += food; + incomeStats.food += food; + + if (V.Farmer) { + t += `${Farmer.slaveName} watches over ${him}, making sure that ${he} doesn't slack off and works as hard as ${he} should. `; + } + if (slave.devotion > 50) { + t += `${He}'s so devoted to you that ${he} works harder and produces more food. `; + } else if (slave.devotion < -50) { + t += `${He}'s so resistant that ${he} doesn't work as hard, and thus produces less food.`; + } + if (slave.health > 50) { + t += `${His} shining health helps ${him} really work hard. `; + } else if (slave.health < -50) { + t += `${His} poor health impedes ${his} ability to work efficiently. `; + } + if (slave.muscles > 50) { + t += `${His} muscular form helps $him work better, increasing ${his} productivity. `; + } else if (slave.muscles < -50) { + t += `$He is so weak that $he is not able to work effectively. `; + } + if (slave.weight > 95) { + t += `${He} is so overweight that ${he} has to stop every few minutes to catch ${his} breath, and so ${his} productivity suffers. `; + } + if (slave.eyes === -1) { + t += `${His} nearsightedness makes it harder for $him to work as hard as ${he} otherwise would. `; + } else if (slave.eyes < -1) { + t += `${His} blindness makes it extremely difficult for $him to work, severely limiting ${his} production. `; + } + if (slave.hears === -1) { + t += `${He} is hard-of-hearing, which gets in the way of ${his} work whenever ${he} misses directions`; + if (V.Farmer) { + t += ` from ${Farmer.slaveName}`; + } + t += `. `; + } else if (slave.hears < -1) { + t += `${He} is deaf, which gets in the way of ${his} work whenever ${he} misses directions`; + if (V.Farmer) { + t += ` from ${Farmer.slaveName}`; + } + t += `. `; + } + if (slave.tired === 1) { + t += `${He} is so tired that ${he} doesn't have the energy to work efficiently, impacting ${his} production. `; + } + t += `As a result, ${he} produces @@.chocolate;` + massFormat(food) + `@@ of food over the week. ` + + // Close Food Production + + // Open Shows + + incomeStats.income += farmShowsIncome(slave); + + if (V.farmyardShows) { + t += `${He} also puts on shows with animals this week. `; + + //Open FS Subsection + + if (arcology.FSSupremacist != "unset") { + if (slave.race === arcology.FFSupremacistRace) { + t += `Society @@.red;disapproves@@ 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 (slave.race === arcology.FSSubjugationistRace) { + t += `Society @@.green;approves@@ of the degradation you submit your ` + arcology.FSSubjugationistRace + ` slaves to, and so ${he} earns you a bit more. `; + } else { + t += `Society doesn't disapprove of ${him} not being ` + arcology.FSSubjugationistRace + `, but ${he} doesn't earn as much as ${he} would if ${he} was ` + arcology.FSSubjugationistRace + `. `; + } + } + if (arcology.FSRepopulationFocus != "unset") { + if (slave.pregWeek > 16) { + if (slave.eggType !== "human") { + t += `Society is @@.red;disgusted@@ by ${his} pregnancy when they realize that what it is in ${his} womb is not human. `; + } else { + t += `Society @@.green;greatly approves@@ of your having pregnant slaves `; + if (V.seeBestiality === 1) { + t += `have sex`; + } else { + t += `put on shows`; + } + t += ` with animals. `; + } + } + } + if (arcology.FSRestart != "unset") { + if (slave.pregWeek > 16) { + if (slave.eggType !== "human") { + t += `Society is disgusted by ${his} pregnancy until they learn that what is in ${his} womb is not human. `; + } else { + t += `Society is @@.red;extremely disgusted@@ by ${his} pregnancy and the fact that you would have ${him} `; + if (V.seeBestiality === 1) { + t += `have sex`; + } else if (V.farmyardShows) { + t += `put on shows`; + } + t += ` with animals while sporting a baby bump. `; + } + } + } + if (arcology.FSGenderRadicalist !== "unset") { + if (slave.dick > 0) { + t += `${His} patrons @@.green;approve@@ of the fact that ${he} has a dick. ` + } else { + // TODO: not sure what to do for this + } + } + if (arcology.FSGenderFundamentalist !== "unset") { + if (slave.pregWeek > 16) { + t += `${His} patrons @@.green;approve@@ of the fact that ${he} is sporting a baby bump.` + } else { + // TODO: also this + } + if (slave.dick > 0) { + // TODO: something here? + } + } + if (arcology.FSPaternalist !== "unset") { + if (V.seeBestiality === 1 && V.farmyardBreeding) { + t += `Your citizens are @@.red;very disapproving@@ of the fact that you would allow something as degrading as having your slaves to be knocked up by filthy beasts. `; + } else { + t += `Your citizens @@.red;disapprove@@ of the fact that you would allow your slaves to be degraded in such a manner. `; + } + } + if (arcology.FSDegradationist != "unset") { + if (V.seeBestiality === 1 && V.farmyardBreeding) { + t += `Your citizens are @@.green;very approving@@ of the fact that you would allow something as degrading as having your slaves to be knocked up by filthy beasts. `; + } else { + t += `Your citizens @@.green;approve@@ of the fact that you would allow your slaves to be degraded in such a manner. `; + } + } + if (arcology.FSBodyPurist !== "unset") { + /* TODO: requirements for these might change */ + if (slave.boobsImplant > 0) { + // TODO: add stuff here + } + if (slave.buttImplant > 0) { + // TODO: add stuff here + } + if (slave.faceImplant > 0) { + // TODO: add stuff here + } + if (slave.lipsImplant > 0) { + // TODO: add stuff here + } + } + if (arcology.FSTransformationFetishist !== "unset") { + /* TODO: requirements for these might change */ + if (slave.boobsImplant > 0) { + // TODO: add stuff here + } + if (slave.buttImplant > 0) { + // TODO: add stuff here + } + if (slave.faceImplant > 0) { + // TODO: add stuff here + } + if (slave.lipsImplant > 0) { + // TODO: add stuff here + } + } + if (arcology.FSYouthPreferentialist !== "unset") { + if (slave.visualAge > 25) { // TODO: not sure about this age + t += arcology.name + `'s citizens @@.red;disapprove@@ of your using such old slaves to put on shows. `; + } else { + t += arcology.name + `'s citizens @@.green;approve@@ of your using young slaves to put on shows. `; + } + } + if (arcology.FSMaturityPreferentialist !== "unset") { + if (slave.visualAge > 25) { // TODO: not sure about this age + t += arcology.name + `'s citizens @@.green;approve@@ of your using mature slaves to put on shows. `; + } else { + t += arcology.name + `'s citizens @@.red;disapprove@@ of your using such young slaves to put on shows. `; + } + } + if (arcology.FSSlimnessEnthusiast !== "unset") { + if (slave.weight > 10) { + t += `Society finds a slave with such a flabby body @@.red;absolutely disgusting.@@ ` + } + if (slave.boobs > 799) { + t += `Your citizens `; + if (slave.weight > 10) { + t += `also `; + } + t += `don't approve of you using a slave with such large tits as a showgirl. `; + } + if (slave.butt > 3) { + // TODO: write this + } + } + if (arcology.FSAssetExpansionist !== "unset") { + if (slave.weight > 10) { + // TODO: should weight be in here? + } + if (slave.boobs > 799) { + // TODO: write this + } + if (slave.butt > 3) { + // TODO: write this + } + } + if (arcology.FSPastoralist !== "unset") { + if (slave.boobs > 799) { + // TODO: does this make sense? + } + if (slave.lactation > 0) { + // TODO: write this + } + } + if (arcology.FSPhysicalIdealist !== "unset") { + if (slave.height > 169) { + // TODO: write this + } else { + // TODO: write this + } + } + 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 + } + } + + // Close FS Subsection + + if (setup.entertainmentCareers.includes(slave.career)) { + t += ` ${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: does this even make sense to include? + // TODO: write this + } + if (slave.prestige === 1) { + t += `Because some of your citizens already know of ${him}, ${he} earns more. `; + } else if (slave.prestige === 2) { + t += `Because a lot of your citizens already know of ${him}, ${he} earns quite a bit more. `; + } else if (slave.prestige === 3) { + t += `Because ${he} is so famous, ${he} earns a lot more then ${he} would otherwise.` + } + if (slave.pornPrestige === 1) { // TODO: are prestige and pornPrestige mutually exclusive? + t += `${He} earns a bit more because some of your citizens already know $him from porn. `; + } else if (slave.pornPrestige === 2) { + t += `${He} earns quite a bit more because a lot of your citizens already know $him from porn. `; + } else if (slave.pornPrestige === 3) { + t += `${He} earns a lot more because ${he} is so famous from porn. `; + } + if (slave.health > 20) { + t += `${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 < -20) { + t += `${His} poor health negatively affects ${his} ablility to put on good shows, cutting into your profits. `; + } + if (slave.face > 40) { + t += `${He} is so `; + if (slave.genes === "XY") { + t += `handsome`; + } else { + t += `beautiful`; + } + t += ` that ${his} audience is willing to pay more to watch ${him} put on shows. `; + } else if (slave.face > 10) { + t += `${He} is so `; + if (slave.genes === "XY") { + t += `good-looking`; + } else { + t += `pretty`; + } + t += ` that ${his} audience is willing to pay more to watch ${him} put on shows. `; + } else if (slave.face < -10) { + t += `${His} audience isn't willing to pay as much because of how unattractive ${his} face is. `; + } else if (slave.face < -40) { + t += `${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") { + t += `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) { + t += `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) { + // TODO: write this - maybe something about the slave's ability to handle the animal? + } + if (slave.eyes < 1) { + t += `${His} `; + if (slave.eyes < 0) { + t += `blindness makes it impossible`; + } else { + t += `nearsightedness makes it harder`; + } + t += ` for ${him} to see what ${he}'s doing, affecting ${his} ability to put on a good show. `; + } + if (slave.hears < 0) { + t += `${His} `; + if (slave.hears < -1) { + t += `lack of`; + } else { + t += `poor`; + } + t += `hearing makes it difficult for ${him} to do a good job of putting on a show. `; + } + if (slave.boobs > 800) { + // TODO: write this + } + if (slave.butt > 4) { + // TODO: write this + } + if (slave.preg > 10) { + // TODO: write this + } + if (slave.tired === 1) { + t += `${He} is so tired that the energy in ${his} shows is basically nonexistent, affecting ${his} profits. `; + } + if (slave.chem > 10) { + // TODO: write this - would this make sense to include? + } + 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 + } + if (slave.fetish === "submissive") { + // TODO: write this + } else if (slave.fetish === "humiliation") { + // TODO: write this + } else if (slave.fetish === "masochist") { + // TODO: write this + } // TODO: incoroporate quirks + } + + // Close Shows + + // Open Long-Term Effects + + if (slave.fetishKnown && (slave.fetish === "submissive" || slave.fetish === "humiliation" || slave.fetish === "masochist") || slave.energy > 95) { + if (V.farmyardShows) { + if (V.seeBestiality === 1) { + t += `Getting fucked by animals is the perfect job for ${him}, as far as ${he} can tell. @@.hotpink;${He} is happy@@ to spend ${his} days being utterly degraded. `; + } else { + t += `${He} loves putting on shows with animals, and as far as ${he} can tell, it's the perfect job for ${him}. @@.hotpink;${He} is happy@@ to spend ${his} days doing something so degrading. `; // TODO: not sure how degrading putting on shows is + } + } + slave.devotion += 1; + if (slave.need) { + slave.need = 0; + } + } + if (slave.behavioralQuirk === "fitness") { + t += slave.slaveName + ` @@.hotpink;privately enjoys@@ the exercise ${he} receives while working in ${farmyardName}. `; + slave.devotion += 1; + } + + // Close Long-Term Effects + + // Open Vignettes + + if (V.showVignettes) { + let vignette = GetVignette(slave); + t += `__This week__ ` + vignette.text; + if (vignette.type === "cash") { + FResult(slave); + if (vignette.effect > 0) { + t += ` @@.yellowgreen;making you an extra ` + cashFormat(Math.trunc(V.FResult*vignette.effect)) + `.@@ `; + } else if (vignette.effect < 0) { + t += ` @@.red;losing you ` + cashFormat(Math.abs(Math.trunc(V.FResult*vignette.effect))) + `.@@ `; + } else { + t += ` an incident without lasting effect. `; + } + cashX(Math.trunc(V.FResult*vignette.effect), "farmyard"); + incomeStats.income += (Math.trunc(V.FResult*vignette.effect)); + } else if (vignette.type === "devotion") { + if (vignette.effect > 0) { + if (slave.devotion > 50) { + t += ` @@.hotpink;increasing ${his} devotion to you.@@ `; + } else if (slave.devotion >= -20) { + t += ` @@.hotpink;increasing ${his} acceptance of you.@@ `; + } else if (slave.devotion >= -20) { + t += ` @@.hotpink;reducing ${his} dislike of you.@@ `; + } else { + t += ` @@.hotpink;reducing ${his} hatred of you.@@ `; + } + } else if (vignette.effect < 0) { + if (slave.devotion > 50) { + t += ` @@.mediumorchid;reducing ${his} devotion to you.@@ `; + } else if (slave.devotion >= 20) { + t += ` @@.mediumorchid;reducing ${his} acceptance of you.@@ `; + } else if (slave.devotion >= -20) { + t += ` @@.mediumorchid;increasing ${his} dislike of you.@@ `; + } else { + t += ` @@.mediumorchid;increasing ${his} hatred of you.@@ `; + } + } else { + t += ` an incident without lasting effect. `; + } + slave.devotion += 1*vignette.effect; + } else if (vignette.type === "trust") { + if (vignette.effect > 0) { + if (slave.trust > 20) { + t += ` @@.mediumaquamarine;increasing ${his} trust in you.@@ `; + } else if (slave.trust >= -20) { + t += ` @@.mediumaquamarine;reducing ${his} fear of you.@@ `; + } else { + t += ` @@.mediumaquamarine;reducing ${his} terror of you.@@ `; + } + } else if (vignette.effect < 0) { + if (slave.trust > 20) { + t += ` @@.gold;reducing ${his} trust in you.@@ `; + } else if (slave.trust >= -20) { + t += ` @@.gold;increasing ${his} fear of you.@@ `; + } else { + t += ` @@.gold;increasing ${his} terror of you.@@ `; + } + } else { + t += ` an incident without lasting effect. `; + } + slave.trust += 1*vignette.effect; + } else if (vignette.type === "health") { + if (vignette.effect > 0) { + t += ` @@.green;improving ${his} health.@@ `; + } else if (vignette.effect < 0) { + t += ` @@.red;affecting ${his} health.@@ `; + } else { + t += ` an incident without lasting effect. `; + } + slave.health += 2*vignette.effect; + } else { + FResult(slave); + if (vignette.effect > 0) { + t += ` @@.green;gaining you a bit of reputation.@@ `; + } else if (vignette.effect < 0) { + t += ` @@.red;losing you a bit of reputation.@@ `; + } else { + t += ` an incident without lasting effect. `; + } + repX(Math.trunc(V.FResult*vignette.effect*0.1), "vignette", slave); + incomeStats.rep += Math.trunc(V.FResult*vignette.effect*0.1); + } + } + + // Close Vignettes + + // Open Facility Decorations + + if (V.farmyardDecoration !== "standard") { + let fsGain = Math.min(0.0001*V.FSSingleSlaveRep*(food), 1); + switch (V.farmyardDecoration) { + case "Roman Revivalist": + arcology.FSRomanRevivalist = Math.clamp(arcology.FSRomanRevivalist += fsGain,0,100); + break; + case "Aztec Revivalist": + arcology.FSAztecRevivalist = Math.clamp(arcology.FSAztecRevivalist += fsGain,0,100); + break; + case "Egyptian Revivalist": + arcology.FSEgyptianRevivalist = Math.clamp(arcology.FSEgyptianRevivalist += fsGain,0,100); + break; + case "Edo Revivalist": + arcology.FSEdoRevivalist = Math.clamp(arcology.FSEdoRevivalist += fsGain,0,100); + break; + case "Arabian Revivalist": + arcology.FSArabianRevivalist = Math.clamp(arcology.FSArabianRevivalist += fsGain,0,100); + break; + case "Chinese Revivalist": + arcology.FSChineseRevivalist = Math.clamp(arcology.FSChineseRevivalist += fsGain,0,100); + break; + case "Chattel Religionist": + arcology.FSChattelReligionist = Math.clamp(arcology.FSChattelReligionist += fsGain,0,100); + break; + case "Degradationist": + arcology.FSDegradationist = Math.clamp(arcology.FSDegradationist += fsGain,0,100); + break; + case "Repopulation Focus": + arcology.FSRepopulationFocus = Math.clamp(arcology.FSRepopulationFocus += fsGain,0,100); + break; + case "Eugenics": + arcology.FSRestart = Math.clamp(arcology.FSRestart += fsGain,0,100); + break; + case "Asset Expansionist": + arcology.FSAssetExpansionist = Math.clamp(arcology.FSAssetExpansionist += fsGain,0,100); + break; + case "Transformation Fetishist": + arcology.FSTransformationFetishist = Math.clamp(arcology.FSTransformationFetishist += fsGain,0,100); + break; + case "Gender Radicalist": + arcology.FSGenderRadicalist = Math.clamp(arcology.FSGenderRadicalist += fsGain,0,100); + break; + case "Gender Fundamentalist": + arcology.FSGenderFundamentalist = Math.clamp(arcology.FSGenderFundamentalist += fsGain,0,100); + break; + case "Physical Idealist": + arcology.FSPhysicalIdealist = Math.clamp(arcology.FSPhysicalIdealist += fsGain,0,100); + break; + case "Hedonistic": + arcology.FSHedonisticDecadence = Math.clamp(arcology.FSHedonisticDecadence += fsGain,0,100); + break; + case "Supremacist": + arcology.FSSupremacist = Math.clamp(arcology.FSSupremacist += fsGain,0,100); + break; + case "Subjugationist": + arcology.FSSubjugationist = Math.clamp(arcology.FSSubjugationist += fsGain,0,100); + break; + case "Paternalist": + arcology.FSPaternalist = Math.clamp(arcology.FSPaternalist += fsGain,0,100); + break; + case "Pastoralist": + arcology.FSPastoralist = Math.clamp(arcology.FSPastoralist += fsGain,0,100); + break; + case "Maturity Preferentialist": + arcology.FSMaturityPreferentialist = Math.clamp(arcology.FSMaturityPreferentialist += fsGain,0,100); + break; + case "Youth Preferentialist": + arcology.FSYouthPreferentialist = Math.clamp(arcology.FSYouthPreferentialist += fsGain,0,100); + break; + case "Body Purist": + arcology.FSBodyPurist = Math.clamp(arcology.FSBodyPurist += fsGain,0,100); + break; + case "Slimness Enthusiast": + arcology.FSSlimnessEnthusiast = Math.clamp(arcology.FSSlimnessEnthusiast += fsGain,0,100); + break; + } + } + + return t; +} \ No newline at end of file diff --git a/src/facilities/farmyard/farmyard.tw b/src/facilities/farmyard/farmyard.tw index 94f736840d23bdb99d178205487e589408e8343f..fa2afef1a024459a14cc7365483fe86142e2c563 100644 --- a/src/facilities/farmyard/farmyard.tw +++ b/src/facilities/farmyard/farmyard.tw @@ -212,6 +212,7 @@ $farmyardNameCaps is an oasis of growth in the midst of the jungle of steel and <<else>> Slaves ''are not'' being bred with animals. [[Begin breeding|Farmyard][$farmyardBreeding = 1]] + <br> <</if>> <</if>> <<else>> diff --git a/src/facilities/farmyard/farmyardReport.tw b/src/facilities/farmyard/farmyardReport.tw index a95c2f80bf0fcd47787f39a00a54c31bdc9245b5..38e287e669d0849344520c1f59d36dca82f6cc65 100644 --- a/src/facilities/farmyard/farmyardReport.tw +++ b/src/facilities/farmyard/farmyardReport.tw @@ -102,9 +102,10 @@ <<for _dI = 0; _dI < _DL; _dI++>> <<set $i = $slaveIndices[$FarmyardiIDs[_dI]]>> - <<setLocalPronouns $slaves[$i] 2>> + <<setLocalPronouns $slaves[$i]>> + <<setLocalPronouns $Farmer 2>> <<if $Farmer.rivalryTarget == $slaves[$i].ID>> - $He forces $his <<print rivalryTerm($Farmer)>> to service all the slaves in the farmyard. + _He2 forces _his2 <<print rivalryTerm($Farmer)>> to service all the slaves in $farmyardName. /* TODO: not sure about this */ <<set $slaves[$i].devotion -= 2, $slaves[$i].trust -= 2>> <<if canDoVaginal($slaves[$i])>> <<set $slaves[$i].vaginalCount += 10, $vaginalTotal += 10>> @@ -120,13 +121,13 @@ <<set $slaves[_FLs].rivalry++, $Farmer.rivalry++, $slaves[$i].rivalry++>> <</if>> <<elseif $Farmer.relationshipTarget == $slaves[$i].ID>> - $He dotes over $his <<print relationshipTerm($Farmer)>>, $slaves[$i].slaveName, making sure _he2 isn't worked too hard, but unfortunately manages to get in the way of _his2 work. + _He2 dotes over _his2 <<print relationshipTerm($Farmer)>>, $slaves[$i].slaveName, making sure $he isn't worked too hard, but unfortunately manages to get in the way of $his work. <<set $slaves[$i].devotion++, $FarmerCashBonus -= 0.05>> <<elseif $familyTesting == 1 && areRelated($Farmer, $slaves[$i]) > 0>> - $He pays special attention to $his <<print relativeTerm($Farmer.ID,$slaves[$i].ID)>>, $slaves[$i].slaveName, making sure _he2 is treated well and showing off _his2 skills. /* TODO: does this need rewriting? */ + _He2 pays special attention to _his2 <<print relativeTerm($Farmer.ID,$slaves[$i].ID)>>, $slaves[$i].slaveName, making sure $he is treated well and showing off $his skills. /* TODO: does this need rewriting? */ <<set $slaves[$i].trust++, $FarmerCashBonus += 0.05>> <<elseif $Farmer.relationTarget == $slaves[$i].ID && $familyTesting == 0>> - $He pays special attention to $his $slaves[$i].relation, $slaves[$i].slaveName, making sure _he2 is treated well and showing off _his2 skills. /* TODO: does this need rewriting? */ + _He2 pays special attention to _his2 $slaves[$i].relation, $slaves[$i].slaveName, making sure $he is treated well and showing off $his skills. /* TODO: does this need rewriting? */ <<set $slaves[$i].trust++, $FarmerCashBonus += 0.05>> <</if>> <</for>> @@ -250,7 +251,7 @@ <<else>> is working out of $farmyardName. <</if>> - <br> $He <<include "SA work the farm">> + <br> $He <<= saWorkTheFarm($slaves[$i])>> <br> <<= saChoosesOwnClothes($slaves[$i])>> <<include "SA rules">> @@ -263,6 +264,7 @@ <<else>> <<silently>> <<include "SA chooses own job">> + <<_dump = saWorkTheFarm($slaves[$i])>> <<include "SA work the farm">> <<set _chosenClothes = saChoosesOwnClothes($slaves[$i])>> <<include "SA rules">> @@ -313,7 +315,7 @@ <</script>> <br><br> - $farmyardNameCaps <<if _profits > 0>>makes you @@.yellowgreen;<<print cashFormat(_profits)>>@@ and <</if>>produced @@.chocolate;<<print massFormat(_foodWeek)>>@@ of food this week. + $farmyardNameCaps <<if _profits > 0>>makes you @@.yellowgreen;<<print cashFormat(Math.trunc(_profits))>>@@ and <</if>>produced @@.chocolate;<<print massFormat(_foodWeek)>>@@ of food this week. <<set $food += _foodWeek>> diff --git a/src/facilities/farmyard/saWorkTheFarm.tw b/src/facilities/farmyard/saWorkTheFarm.tw deleted file mode 100644 index e9182e01ce544891fb58a4116d8aa418afc835d6..0000000000000000000000000000000000000000 --- a/src/facilities/farmyard/saWorkTheFarm.tw +++ /dev/null @@ -1,494 +0,0 @@ -:: SA work the farm [nobr] - -<!-- Statistics gathering --> -<<set _slave = $slaves[$i]>> -<<set _incomeStats = getSlaveStatisticData(_slave, _slave.assignment === Job.FARMYARD ? $facility.farmyard : undefined)>> -<<set _incomeStats.food = 0>> -<<set _arcology = $arcologies[0]>> - -<<if ndef _slave.lactationAdaptation>> - <<set _slave.lactationAdaptation = 0>> -<</if>> - -<<set _food = 0>> - -works as a farmhand this week. -<<if $farmyard > 0>> -<<if $farmyardBreeding < 2>> - <<if ($Farmer != 0)>> - While there, $he gets the benefit of $Farmer.slaveName's <<if ($Farmer.physicalAge < 21)>>youthful energy<<else>>care<</if>><<if ($Farmer.oralSkill >= 100)>> and talented tongue<</if>>. - <<if (_slave.devotion < $FarmerDevotionThreshold)>> - <<set _slave.devotion += $FarmerDevotionBonus>> - <</if>> - <<if (_slave.trust < $FarmerTrustThreshold)>> - <<set _slave.trust += $FarmerTrustBonus>> - <</if>> - <<if (_slave.health < 100)>> - <<set _slave.health += $FarmerHealthBonus>> - <</if>> - <</if>> -<</if>> -<</if>> - -/* OPEN FOOD PRODUCTION */ - -<<set _food = foodAmount(_slave)>> - -/* TODO: rewrite these so they string together */ -<<if ($Farmer != 0)>> - <<print $Farmer.slaveName>> watches over $him, making sure that $he doesn't slack off and works as hard as $he needs to. -<</if>> -<<if (_slave.devotion > 50)>> - $He's so devoted to you that $he works harder and produces more food. -<<elseif (_slave.devotion < -50)>> - $He's so resistant that $he doesn't work as hard, and thus produces less food. -<</if>> - -<<if (_slave.health > 50)>> - $His shining health helps $him really work hard. -<<elseif (_slave.health < -50)>> - $His poor health impedes $his ability to work efficiently. -<</if>> - -<<if (_slave.muscles > 50)>> - $His muscular form helps $him work better, increasing $his productivity. -<<elseif (_slave).muscles < -50>> - $He is so weak that $he is not able to work effectively. -<</if>> - -<<if (_slave.weight > 95)>> - $He is so overweight that $he has to stop every few minutes to catch $his breath, and so $his productivity suffers. -<</if>> - -<<if (_slave.eyes == -1)>> - $His nearsightedness makes it harder for $him to work as hard as $he otherwise would. -<<elseif (_slave.eyes < -1)>> - $His blindness makes it extremely difficult for $him to work, severely limiting $his production. -<</if>> - -<<if (_slave.hears == -1)>> - $He is hard-of-hearing, which gets in the way of $his work whenever $he misses directions<<if $Farmer != 0>> from $Farmer.name<</if>>. -<<elseif (_slave.hears < -1)>> - $He is deaf, which gets in the way of $his work whenever $he misses directions<<if $Farmer != 0>> from $Farmer.name<</if>>. -<</if>> - -<<if (_slave.tired == 1)>> - $He is so tired that $he doesn't have the energy to work efficiently, impacting $his production. -<</if>> - -<<set _food = Math.trunc(_food)>> -<<if _food < 1>> - <<set _food = 1>> -<</if>> -<<set $foodTotal += _food, $food += _food>> - -As a result, $he produces @@.chocolate;<<print massFormat(_food)>>@@ of food over the week. -<<set _incomeStats.food += _food>> - -/* CLOSE FOOD PRODUCTION */ - -/* OPEN SHOWS */ - -<<set _incomeStats.income += farmShowsIncome(_slave)>> -<<if $farmyardShows == 1>> - -$He also puts on shows with animals this week. - - /* OPEN FS SUBSECTION */ - -/* TODO: rewrite some of these to sound more natural */ - <<if _arcology.FSSupremacist != "unset">> - <<if _slave.race == _arcology.FSSupremacistRace>> - Society @@.red;disapproves@@ 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>> - <</if>> - <<if _arcology.FSSubjugationist != "unset">> - <<if _slave.race == _arcology.FSSubjugationistRace>> - Society @@.green;approves@@ of the degradation you submit your _arcology.FSSubjugationistRace slaves to, and so $he earns you a bit more. - <<else>> - Society doesn't disapprove of $him not being _arcology.FSSubjugationistRace, but $he doesn't earn as much as $he would if he was _arcology.FSSubjugationistRace. - <</if>> - <</if>> - <<if _arcology.FSRepopulationFocus != "unset">> - <<if _slave.pregWeek > 16>> - <<if _slave.eggType != "human">> - Society @@.green;approves@@ of you putting another child in $him, even if it isn't a human child. /* TODO: does this make sense? */ - <</if>> - Society @@.green;greatly approves@@ of your having pregnant slaves <<if $seeBestiality == 1>>put on shows<<else>>have sex<</if>> with animals. - <<else>> - Society @@.red;disapproves@@ of your having slaves <<if $seeBestiality == 1>>put on shows<<else>>have sex<</if>> with animals while not sporting baby bumps. - <</if>> - <</if>> - <<if _arcology.FSRestart != "unset">> - <<if _slave.pregWeek > 16>> - <<if _slave.eggType != "human">> - Society is @@.red;disgusted@@ by $his pregnancy, especially when they realize that what it is in $his womb is not human. /* TODO: does this make sense? */ - <</if>> - <<else>> - Society is @@.red;extremely disgusted@@ by $his pregnancy and the fact that you would have $him <<if $seeBestiality == 1>>put on shows<<else>>have sex<</if>> with animals while sporting a baby bump. - <</if>> - <</if>> - <<if _arcology.FSGenderRadicalist != "unset">> - <<if _slave.genes == "XY">> - /* TODO: not sure what to do for this */ - <<else>> - <</if>> - <</if>> - <<if _arcology.FSGenderFundamentalist != "unset">> - <<if _slave.genes == "XX">> - /* TODO: not sure what to do for this */ - <<else>> - <</if>> - <</if>> - <<if _arcology.FSPaternalist != "unset">> - <<if $seeBestiality == 1>> - <<if $farmyardBreeding == 1>> - Your citizens are @@.red;very disapproving@@ of the fact that you would go so far as to allow your slaves to be knocked up by filthy beasts. - <<else>> - Your citizens @@.red;disapprove@@ of the fact that you would allow your slaves to be degraded in such a manner. - <</if>> - <</if>> - <</if>> - <<if _arcology.FSDegradationist != "unset">> - <<if $seeBestiality == 1>> - <<if $farmyardBreeding == 1>> - Your citizens are @@.green;very approving@@ of the fact that you would go so far as to allow your slaves to be knocked up by filthy beasts. /* TODO: write something more original for these */ - <<else>> - Your citizens @@.green;approve@@ of the fact that you would allow your slaves to be degraded in such a manner. - <</if>> - <</if>> - <</if>> - <<if _arcology.FSBodyPurist != "unset">> - /* TODO: requirements for these might change */ - <<if _slave.boobsImplant > 0>> - <</if>> - <<if _slave.buttImplant > 0>> - <</if>> - <<if _slave.faceImplant > 0>> - <</if>> - <<if _slave.lipsImplant > 0>> - <</if>> - <</if>> - <<if _arcology.FSTransformationFetishist != "unset">> - <<if _slave.boobsImplant > 0>> - <</if>> - <<if _slave.buttImplant > 0>> - <</if>> - <<if _slave.faceImplant > 0>> - <</if>> - <<if _slave.lipsImplant > 0>> - <</if>> - <</if>> - <<if _arcology.FSYouthPreferentialist != "unset">> - <<if _slave.visualAge > 25>> - _arcology.name's citizens @@.red;disapprove@@ of your using such old slaves to put on shows. - <<else>> - _arcology.name's citizens @@.green;approve@@ of your using young slaves to put on shows. - <</if>> - <</if>> - <<if _arcology.FSMaturityPreferentialist != "unset">> - <<if _slave.visualAge > 25>> - _arcology.name's citizens @@.green;approve@@ of your using mature slaves to put on shows. - <<else>> - _arcology.name's citizens @@.red;disapprove@@ of your using young slaves to put on shows. - <</if>> - <</if>> - <<if _arcology.FSSlimnessEnthusiast != "unset">> - <<if _slave.weight > 10>> - Society finds such a flabby slave @@.red;absolutely disgusting.@@ /* TODO: this needs work */ - <</if>> - <<if _slave.boobs > 799>> - <</if>> - <<if _slave.butt > 3>> - <</if>> - <</if>> - <<if _arcology.FSAssetExpansionist != "unset">> - <<if _slave.weight > 10>> /* TODO: not sure if weight should be in here */ - <</if>> - <<if _slave.boobs > 799>> - <</if>> - <<if _slave.butt > 3>> - <</if>> - <</if>> - <<if _arcology.FSPastoralist != "unset">> - <<if _slave.boobs > 799>> /* TODO: this will probably change */ - <</if>> - <<if _slave.lactation > 0>> - <</if>> - <</if>> - <<if _arcology.FSPhysicalIdealist != "unset">> - <<if _slave.height > 169>> - <<else>> - <</if>> - <</if>> - <<if _arcology.FSHedonisticDecadence != "unset">> - <<if _slave.weight > 10>> - <<else>> - <</if>> - <</if>> - <<if _arcology.FSChattelReligionist != "unset">> - <<if _slave.devotion < 21>> - <</if>> - <</if>> - - /* CLOSE FS SUBSECTION */ - - <<if setup.entertainmentCareers.includes(_slave.career)>> - <</if>> - - <<if setup.farmerCareers.includes(_slave.career)>> - <</if>> - - <<if _slave.prestige == 1>> - Because some of your citizens already know of $him, $he earns more. - <<elseif _slave.prestige == 2>> - Because a lot of your citizens already know of $him, he earns quite a bit more. - <<elseif _slave.prestige == 3>> - Because $he is so famous, $he earns a lot more then $he would otherwise. - <</if>> - - <<if _slave.pornPrestige == 1>> /* TODO: are pornPrestige and prestige mutually exclusive? */ - $He earns a bit more because some of your citizens already know $him from porn. - <<elseif _slave.pornPrestige == 2>> - $He earns quite a bit more because a lot of your citizens already know $him from porn. - <<elseif _slave.pornPrestige == 3>> - $He earns a lot more because $he is so famous from porn. - <</if>> - - <<if _slave.health > 20>> - $He is in such excellent health that $he is able to put on longer shows, earning you more. - <<elseif _slave.health < -20>> - $He is in such poor health that $he isn't able to put on shows for very long, cutting into your profits. - <</if>> - - <<if _slave.face > 10>> - $He is so <<if _slave.genes == "XX">>pretty<<else>>good-looking<</if>> that $his audience pays more to watch $him put on shows. - <<elseif _slave.face < -10>> - $His audience isn't willing to pay as much because of how unattractive $his face is. /* TODO: not real happy with this sentence */ - <</if>> - - /* TODO: rewrite this block to work with different combinations of trust / devotion */ - <<if _slave.devotion > 50>> - $He is so devoted to you - <<elseif _slave.devotion < -50>> - $He is so resistant - <</if>> - - <<if _slave.trust > 50>> - and so trusting that $he tries hard to - <<elseif _slave.trust < -50>> - and so fearful that $he does - <</if>> - - <<if _slave.weight > 30>> - Your citizens are not willing to pay as much to see such a fat slave put on shows, so $he loses some income. - <<elseif _slave.weight < -30>> /* TODO: not happy with this */ - Your citizens are not willing to pay as much to see such a skinny slave put on shows, so $he loses some income. - <</if>> - - <<if _slave.muscles > 30>> - <<elseif _slave.muscles < -30>> - <</if>> - - <<if _slave.eyes < 1>> - $His <<if _slave.eyes < 0>>blindness<<else>>nearsightedness makes it harder for $him to see what $he's doing, affecting $his ability to put on a good show. - <</if>> - - <<if _slave.hears < 0>> - $His <<if _slave.hears < -1>>lack of <<else>>poor <</if>>hearing makes it difficult for $him to do a good job of putting on a show. - <</if>> - - <<if _slave.boobs > 800>> - <</if>> - - <<if _slave.butt > 4>> - <</if>> - - <<if _slave.preg < 0>> - <</if>> - - <<if _slave.tired == 1>> - $He is so tired that the energy in $his shows is basically nonexistent, affecting $his profits. - <</if>> - - <<if _slave.chem > 10>> - <</if>> - - <<if _slave.intelligence > 50>> - <<elseif _slave.intelligence < -50>> - <</if>> - - <<if _slave.energy < 20>> - <</if>> - - <<if _slave.fetish == "submissive">> - <<elseif _slave.fetish == "humiliation">> - <<elseif _slave.fetish == "masochist">> - <</if>> - -<</if>> - -/* CLOSE SHOWS*/ - - <<if _slave.fetishKnown && ((_slave.fetish == ("submissive") || ("humiliation") || ("masochist")) || (_slave.energy > 95))>> - <<if $farmyardShows == 1>> - <<if $seeBestiality == 1>> - Getting fucked by animals is the perfect job for $him, as far as $he can tell. @@.hotpink;$He is happy@@ to spend $his days being utterly degraded. - <<else>> - $He loves putting on shows with animals, and as far as $he can tell, it's the perfect job for $him. @@.hotpink;$He is happy@@ to spend $his days doing something so degrading. /* TODO: should this use a different set of fetishes? also not sure how degrading putting on shows is */ - <</if>> - <<else>> - /* TODO: add something here for slaves that are not putting on shows */ - <</if>> - <<set _slave.devotion += 1>> - <<if _slave.need>><<set _slave.need = 0>><</if>> - <</if>> - <</if>> - -<<if (_slave.behavioralQuirk == "fitness")>> - _slave.slaveName @@.hotpink;privately enjoys@@ the exercise $he receives while working in $farmyardName. - <<set _slave.devotion += 1>> -<</if>> - -/* TODO: add more vignettes */ -<<if ($showVignettes == 1 && (_slave.assignment == "work as a farmhand"))>> - <<set _vignette = GetVignette(_slave)>> - __This week__ _vignette.text - <<if (_vignette.type == "cash")>> - <<set FResult(_slave)>> - <<if (_vignette.effect > 0)>> - @@.yellowgreen;making you an extra <<print cashFormat(Math.trunc($FResult*_vignette.effect))>>.@@ - <<elseif (_vignette.effect < 0)>> - @@.red;losing you <<print cashFormat(Math.abs(Math.trunc($FResult*_vignette.effect)))>>.@@ - <<else>> - an incident without lasting effect. - <</if>> - <<set cashX(Math.trunc($FResult*_vignette.effect), "farmyard")>> - <<set _incomeStats.income += Math.trunc($FResult*_vignette.effect)>> - <<elseif (_vignette.type == "devotion")>> - <<if (_vignette.effect > 0)>> - <<if _slave.devotion > 50>> - @@.hotpink;increasing $his devotion to you.@@ - <<elseif _slave.devotion >= -20>> - @@.hotpink;increasing $his acceptance of you.@@ - <<elseif _slave.devotion > -10>> - @@.hotpink;reducing $his dislike of you.@@ - <<else>> - @@.hotpink;reducing $his hatred of you.@@ - <</if>> - <<elseif (_vignette.effect < 0)>> - <<if _slave.devotion > 50>> - @@.mediumorchid;reducing $his devotion to you.@@ - <<elseif _slave.devotion >= -20>> - @@.mediumorchid;reducing $his acceptance of you.@@ - <<elseif _slave.devotion > -10>> - @@.mediumorchid;increasing $his dislike of you.@@ - <<else>> - @@.mediumorchid;increasing $his hatred of you.@@ - <</if>> - <<else>> - an incident without lasting effect. - <</if>> - <<set _slave.devotion += 1*_vignette.effect>> - <<elseif (_vignette.type == "trust")>> - <<if (_vignette.effect > 0)>> - <<if _slave.trust > 20>> - @@.mediumaquamarine;increasing $his trust in you.@@ - <<elseif _slave.trust > -10>> - @@.mediumaquamarine;reducing $his fear of you.@@ - <<else>> - @@.mediumaquamarine;reducing $his terror of you.@@ - <</if>> - <<elseif (_vignette.effect < 0)>> - <<if _slave.trust > 20>> - @@.gold;reducing $his trust in you.@@ - <<elseif _slave.trust >= -20>> - @@.gold;increasing $his fear of you.@@ - <<else>> - @@.gold;increasing $his terror of you.@@ - <</if>> - <<else>> - an incident without lasting effect. - <</if>> - <<set _slave.trust += 1*_vignette.effect>> - <<elseif (_vignette.type == "health")>> - <<if (_vignette.effect > 0)>> - @@.green;improving $his health.@@ - <<elseif (_vignette.effect < 0)>> - @@.red;affecting $his health.@@ - <<else>> - an incident without lasting effect. - <</if>> - <<set _slave.health += 2*_vignette.effect>> - <<else>> - <<set FResult(_slave)>> - <<if (_vignette.effect > 0)>> - @@.green;gaining you a bit of reputation.@@ - <<elseif (_vignette.effect < 0)>> - @@.red;losing you a bit of reputation.@@ - <<else>> - an incident without lasting effect. - <</if>> - <<run repX( Math.trunc($FResult*_vignette.effect*0.1), "vignette", _slave)>> - <<set _incomeStats.rep += Math.trunc($FResult*_vignette.effect*0.1)>> - <</if>> - -<</if>> - -/* FACILITY DECORATION IMPACTS */ - -<<if _slave.assignment == "work as a farmhand">> -<<if $farmyardDecoration != "standard">> -<<set _fsGain = Math.min(0.0001*$FSSingleSlaveRep*(_food), 1)>> -<<switch $farmyardDecoration>> -<<case "Roman Revivalist">> - <<set $arcologies[0].FSRomanRevivalist = Math.clamp($arcologies[0].FSRomanRevivalist += _fsGain,0,100)>> -<<case "Aztec Revivalist">> - <<set $arcologies[0].FSAztecRevivalist = Math.clamp($arcologies[0].FSAztecRevivalist += _fsGain,0,100)>> -<<case "Egyptian Revivalist">> - <<set $arcologies[0].FSEgyptianRevivalist = Math.clamp($arcologies[0].FSEgyptianRevivalist += _fsGain,0,100)>> -<<case "Edo Revivalist">> - <<set $arcologies[0].FSEdoRevivalist = Math.clamp($arcologies[0].FSEdoRevivalist += _fsGain,0,100)>> -<<case "Arabian Revivalist">> - <<set $arcologies[0].FSArabianRevivalist = Math.clamp($arcologies[0].FSArabianRevivalist += _fsGain,0,100)>> -<<case "Chinese Revivalist">> - <<set $arcologies[0].FSChineseRevivalist = Math.clamp($arcologies[0].FSChineseRevivalist += _fsGain,0,100)>> -<<case "Chattel Religionist">> - <<set $arcologies[0].FSChattelReligionist = Math.clamp($arcologies[0].FSChattelReligionist += _fsGain,0,100)>> -<<case "Degradationist">> - <<set $arcologies[0].FSDegradationist = Math.clamp($arcologies[0].FSDegradationist += _fsGain,0,100)>> -<<case "Repopulation Focus">> - <<set $arcologies[0].FSRepopulationFocus = Math.clamp($arcologies[0].FSRepopulationFocus += _fsGain,0,100)>> -<<case "Eugenics">> - <<set $arcologies[0].FSRestart = Math.clamp($arcologies[0].FSRestart += _fsGain,0,100)>> -<<case "Asset Expansionist">> - <<set $arcologies[0].FSAssetExpansionist = Math.clamp($arcologies[0].FSAssetExpansionist += _fsGain,0,100)>> -<<case "Transformation Fetishist">> - <<set $arcologies[0].FSTransformationFetishist = Math.clamp($arcologies[0].FSTransformationFetishist += _fsGain,0,100)>> -<<case "Gender Radicalist">> - <<set $arcologies[0].FSGenderRadicalist = Math.clamp($arcologies[0].FSGenderRadicalist += _fsGain,0,100)>> -<<case "Gender Fundamentalist">> - <<set $arcologies[0].FSGenderFundamentalist = Math.clamp($arcologies[0].FSGenderFundamentalist += _fsGain,0,100)>> -<<case "Physical Idealist">> - <<set $arcologies[0].FSPhysicalIdealist = Math.clamp($arcologies[0].FSPhysicalIdealist += _fsGain,0,100)>> -<<case "Hedonistic">> - <<set $arcologies[0].FSHedonisticDecadence = Math.clamp($arcologies[0].FSHedonisticDecadence += _fsGain,0,100)>> -<<case "Supremacist">> - <<set $arcologies[0].FSSupremacist = Math.clamp($arcologies[0].FSSupremacist += _fsGain,0,100)>> -<<case "Subjugationist">> - <<set $arcologies[0].FSSubjugationist = Math.clamp($arcologies[0].FSSubjugationist += _fsGain,0,100)>> -<<case "Paternalist">> - <<set $arcologies[0].FSPaternalist = Math.clamp($arcologies[0].FSPaternalist += _fsGain,0,100)>> -<<case "Pastoralist">> - <<set $arcologies[0].FSPastoralist = Math.clamp($arcologies[0].FSPastoralist += _fsGain,0,100)>> -<<case "Maturity Preferentialist">> - <<set $arcologies[0].FSMaturityPreferentialist = Math.clamp($arcologies[0].FSMaturityPreferentialist += _fsGain,0,100)>> -<<case "Youth Preferentialist">> - <<set $arcologies[0].FSYouthPreferentialist = Math.clamp($arcologies[0].FSYouthPreferentialist += _fsGain,0,100)>> -<<case "Body Purist">> - <<set $arcologies[0].FSBodyPurist = Math.clamp($arcologies[0].FSBodyPurist += _fsGain,0,100)>> -<<case "Slimness Enthusiast">> - <<set $arcologies[0].FSSlimnessEnthusiast = Math.clamp($arcologies[0].FSSlimnessEnthusiast += _fsGain,0,100)>> -<</switch>> -<</if>> -<</if>> diff --git a/src/js/datatypeCleanupJS.js b/src/js/datatypeCleanupJS.js index 93ea2152a3abad1a9882792981e239475116e3b5..502086521a4b20e603f73a0d36efcf497978bab0 100644 --- a/src/js/datatypeCleanupJS.js +++ b/src/js/datatypeCleanupJS.js @@ -1440,6 +1440,7 @@ window.FacilityDatatypeCleanup = (function() { /* facility specific variables */ BrothelDatatypeCleanup(); DairyDatatypeCleanup(); + FarmyardDatatypeCleanup(); ClubDatatypeCleanup(); ServantsQuartersDatatypeCleanup(); SchoolroomDatatypeCleanup(); @@ -1561,6 +1562,16 @@ window.FacilityDatatypeCleanup = (function() { V.milkmaidImpregnates = Math.clamp(+V.milkmaidImpregnates, 0, 1) || 0; } + function FarmyardDatatypeCleanup() { + V.farmyard = Math.max(+V.farmyard, 0) || 0; + V.farmyardBreeding = Math.clamp(+V.farmyardBreeding, 0, 1) || 0; + V.farmyardShows = Math.clamp(+V.farmyardShows, 0, 1) || 0; + /* farmer */ + V.Farmer = V.slaves.find(function(s) { + return s.assignment === "be the Farmer"; + }) || 0; + } + function ClubDatatypeCleanup() { /* ads */ V.clubAdsSpending = Math.clamp(+V.clubAdsSpending, 0, 5000) || 0; diff --git a/src/js/economyJS.js b/src/js/economyJS.js index b87818bda4d696b4cb20314274ae09f7e4076512..33f09c86e304632e6d87c18c2d0fcb640bfe110c 100644 --- a/src/js/economyJS.js +++ b/src/js/economyJS.js @@ -610,6 +610,8 @@ window.getSlaveCost = function(s) { case Job.FARMYARD: if(s.livingRules === LivingRule.NORMAL) { cost += rulesCost * 1.5; + } else if (State.variables.farmyardDecoration === 'Roman Revivalist') { + cost += rulesCost * 1.5; } else { cost += rulesCost; } @@ -660,9 +662,7 @@ window.getSlaveCost = function(s) { cost += rulesCost * 0.90; } break; - case Job.MADAM: case Job.DJ: case Job.NURSE: case Job.WARDEN: - case Job.ATTEND: case Job.STEWARD: case Job.MILKMAID: case Job.TEACHER: - case Job.MATRON: + case Job.MADAM: case Job.DJ: case Job.NURSE: case Job.WARDEN: case Job.ATTEND: case Job.STEWARD: case Job.MILKMAID: case Job.FARMER: case Job.TEACHER: case Job.MATRON: cost += rulesCost * 2; break; default: @@ -1049,7 +1049,7 @@ window.getSlaveStatisticData = function(s, facility) { // Base data, even without facility return { ID: s.ID, slaveName: s.slaveName, customLabel: s.customLabel, - income: 0, adsIncome: 0, rep: 0, cost: getSlaveCost(s), + income: 0, adsIncome: 0, rep: 0, food: 0, cost: getSlaveCost(s), customers: 0 /* brothel, club, ... */ }; } @@ -1063,7 +1063,7 @@ window.getSlaveStatisticData = function(s, facility) { } else { const data = { ID: s.ID, slaveName: s.slaveName, customLabel: s.customLabel, - income: 0, adsIncome: 0, rep: 0, cost: getSlaveCost(s), + income: 0, adsIncome: 0, rep: 0, food: 0, cost: getSlaveCost(s), customers: 0 /* brothel, club, ... */ }; facility.income.set(s.ID, data); diff --git a/src/js/food.js b/src/js/food.js index e1382fb4cc571af5d83d3396660073837d029e82..97d39a998e59eb46780f9221def75beb37f4bad8 100644 --- a/src/js/food.js +++ b/src/js/food.js @@ -2,13 +2,13 @@ /** @param {App.Entity.SlaveState} slave */ window.foodAmount = function (slave) { const V = State.variables; - var food = 400; //kg / food produced by base slave / week + var food = 400; // kg / food produced by base slave / week if (!slave) { return null; } else { - if (V.Farmer !== 0) { //if a farmer is assigned - food *= 1.1; //TODO: expand this to account for farmer XP and skill - if (V.Farmer.skillFA >= V.masteredXP) { //if farmer is master + if (V.Farmer !== 0) { // if a farmer is assigned + food *= 1.1; // TODO: expand this to account for farmer XP and skill + if (V.Farmer.skillFA >= V.masteredXP) { // if farmer is master food *= 1.1; } } @@ -17,36 +17,36 @@ window.foodAmount = function (slave) { } else if (slave.devotion < -50) { food *= 0.8; } - if (slave.health > 50) { //slave is extremely healthy or more + if (slave.health > 50) { // slave is extremely healthy or more food *= 1.1; - } else if (slave.health < -50) { //slave is unhealthy or less + } else if (slave.health < -50) { // slave is unhealthy or less food *= 0.8; } - if (slave.muscles > 30) { //slave is muscular or more + if (slave.muscles > 30) { // slave is muscular or more food *= 1.1; - } else if (slave.muscles <= -6) { //slave is weak or less + } else if (slave.muscles <= -6) { // slave is weak or less food *= 0.8; } - if (slave.weight > 95) { //slave is overweight or more + if (slave.weight > 95) { // slave is overweight or more food *= 0.9; - } else if (slave.weight > 130) { //slave is fat or more + } else if (slave.weight > 130) { // slave is fat or more food *= 0.8; - } else if (slave.weight > 160) { //slave is obese or more + } else if (slave.weight > 160) { // slave is obese or more food *= 0.7; - } else if (slave.weight > 190) { //slave is very obese or more + } else if (slave.weight > 190) { // slave is very obese or more food *= 0.6; } - if (slave.eyes === -1) { //slave is nearsighted + if (slave.eyes === -1) { // slave is nearsighted food *= 0.8; - } else if (slave.eyes < -1) { //slave is blind + } else if (slave.eyes < -1) { // slave is blind food *= 0.6; } - if (slave.hears === -1) { //slave is hard of hearing + if (slave.hears === -1) { // slave is hard of hearing food *= 0.8; - } else if (slave.hears < -1) { //slave is deaf + } else if (slave.hears < -1) { // slave is deaf food *= 0.6; } - if (slave.tired === 1) { //slave is tired + if (slave.tired === 1) { // slave is tired food *= 0.8; } food = Math.trunc(food); @@ -57,47 +57,47 @@ window.foodAmount = function (slave) { /** @param {App.Entity.SlaveState} slave */ window.farmShowsIncome = function (slave) { - //TODO: incorporate farmyardRestraints + // TODO: incorporate farmyardRestraints const V = State.variables; let arcology = V.arcologies[0]; - let cash = 999; //TODO: this is just a placeholder + let cash = 100; // TODO: this is just a placeholder if (!slave) { return null; } else { - if (V.Farmer !== 0) { //farmer is assigned + if (V.Farmer !== 0) { // farmer is assigned cash *= 1.1; - if (V.Farmer.skillFA >= V.masteredXP) { //farmer is master + if (V.Farmer.skillFA >= V.masteredXP) { // farmer is master cash *= 1.1; } } /* OPEN FS EFFECTS */ if (arcology.FSSupremacist !== "unset") { - if (slave.race === arcology.FSSupremacistRace) { //slave is of supreme race - cash *= 0.9; //TODO: should supreme race slaves receive a penalty? - repX(-10, "food"); //TODO: should this cause a rep loss + if (slave.race === arcology.FSSupremacistRace) { // slave is of supreme race + cash *= 0.9; // TODO: should supreme race slaves receive a penalty? + repX(-10, "food"); // TODO: should this cause a rep loss } } if (arcology.FSSubjugationist !== "unset") { - if (slave.race === arcology.FSSubjugationistRace) { //slave is of subjugated race + if (slave.race === arcology.FSSubjugationistRace) { // slave is of subjugated race cash *= 1.1; - repX(10, "food"); //TODO: should this cause a rep gain? + repX(10, "food"); // TODO: should this cause a rep gain? } else { - cash *= 0.9; //TODO: should unsubjugated race slaves receive a penalty? + cash *= 0.9; // TODO: should unsubjugated race slaves receive a penalty? } } if (arcology.FSRepopulationFocus !== "unset") { - if (slave.pregWeek > 16) { //slave is visibly pregnant - if (slave.eggType !== "human") { //with a non-human + if (slave.pregWeek > 16) { // slave is visibly pregnant + if (slave.eggType !== "human") { // with a non-human cash *= 1.1; } cash *= 1.2; - } else { //slave is not visibly pregnant - cash *= 0.8; //TODO: should non-pregnant slaves receive a penalty? + } else { // slave is not visibly pregnant + cash *= 0.8; // TODO: should non-pregnant slaves receive a penalty? } } if (arcology.FSRestart !== "unset") { - if (slave.pregWeek > 16) { //slave is visibly pregnant - if (slave.eggType !== "human") { //with a non-human + if (slave.pregWeek > 16) { // slave is visibly pregnant + if (slave.eggType !== "human") { // with a non-human cash *= 0.9; repX(-15, "food"); } @@ -106,207 +106,222 @@ window.farmShowsIncome = function (slave) { } } if (arcology.FSGenderRadicalist !== "unset") { - if (slave.genes === "XY") { //TODO: does this make sense? + if (slave.dick > 0) { // TODO: does this make sense? cash *= 1.1; } else { cash *= 0.8; } } if (arcology.FSGenderFundamentalist !== "unset") { - if (slave.genes === "XX") { - cash *= 1.1; //TODO: does this make sense? + if (slave.dick > 0) { + cash *= 1.1; // TODO: does this make sense? } else { cash *= 0.8; } } if (arcology.FSPaternalist !== "unset") { if (V.seeBestiality === 1) { - if (V.farmyardBreeding === 1) { //slaves are being bred + if (V.farmyardBreeding === 1) { // slaves are being bred cash *= 0.8; - } else { //slaves are putting on shows + } else { // slaves are putting on shows cash *= 0.9; } } } if (arcology.FSDegradationist !== "unset") { if (V.seeBestiality === 1) { - if (V.farmyardBreeding === 1) { //slaves are being bred + if (V.farmyardBreeding === 1) { // slaves are being bred cash *= 1.2; - } else { //slaves are putting on shows + } else { // slaves are putting on shows cash *= 1.1; } } } if (arcology.FSBodyPurist !== "unset") { - if (slave.boobsImplant > 0) { //slave has breast implants + if (slave.boobsImplant > 0) { // slave has breast implants cash *= 0.9; } - if (slave.buttImplant > 0) { //slave has butt implants + if (slave.buttImplant > 0) { // slave has butt implants cash *= 0.9; } - if (slave.faceImplant > 0) { //slave has had facial surgery + if (slave.faceImplant > 0) { // slave has had facial surgery cash *= 0.9; } - if (slave.lipsImplant > 0) { //slave has lip implants + if (slave.lipsImplant > 0) { // slave has lip implants cash *= 0.9; } } if (arcology.FSTransformationFetishist !== "unset") { - if (slave.boobsImplant > 0) { //slave has breast implants + if (slave.boobsImplant > 0) { // slave has breast implants cash *= 1.1; } - if (slave.buttImplant > 0) { //slave has butt implants + if (slave.buttImplant > 0) { // slave has butt implants cash *= 1.1; } - if (slave.faceImplant > 0) { //slave has had facial surgery + if (slave.faceImplant > 0) { // slave has had facial surgery cash *= 1.1; } - if (slave.lipsImplant > 0) { //slave has lip implants + if (slave.lipsImplant > 0) { // slave has lip implants cash *= 1.1; } } if (arcology.FSYouthPreferentialist !== "unset") { - if (slave.visualAge > 25) { //slave looks older than 25 - cash *= 0.8; //TODO: not sure what age this should be + if (slave.visualAge > 25) { // slave looks older than 25 + cash *= 0.8; // TODO: not sure what age this should be } else { cash *= 1.2; } } if (arcology.FSMaturityPreferentialist !== "unset") { - if (slave.visualAge > 25) { //slave looks older than 25 - cash *= 1.2; //TODO: not sure what age this should be + if (slave.visualAge > 25) { // slave looks older than 25 + cash *= 1.2; // TODO: not sure what age this should be } else { cash *= 0.8; } } if (arcology.FSSlimnessEnthusiast !== "unset") { - if (slave.weight > 10) { //slave is curvy or more - cash *= 0.9; //TODO: not sure what weight this should be - } //TODO: should implants affect income? - if (slave.boobs > 799) { //slave has larger than a D cup - cash *= 0.9; //TODO: should this be smaller? + if (slave.weight > 10) { // slave is curvy or more + cash *= 0.9; // TODO: not sure what weight this should be + } // TODO: should implants affect income? + if (slave.boobs > 799) { // slave has larger than a D cup + cash *= 0.9; // TODO: should this be smaller? } - if (slave.butt > 3) { //slave has bigger than a bubble butt + if (slave.butt > 3) { // slave has bigger than a bubble butt cash *= 0.9; } } if (arcology.FSAssetExpanionist !== "unset") { - if (slave.weight > 10) { //slave is curvy or more - cash *= 1.1; //TODO: not sure what weight this should be - } //TODO: should implants affect income? - if (slave.boobs > 799) { //slave has larger than a D cup - cash *= 1.1; //TODO: should this be smaller? + if (slave.weight > 10) { // slave is curvy or more + cash *= 1.1; // TODO: not sure what weight this should be + } // TODO: should implants affect income? + if (slave.boobs > 799) { // slave has larger than a D cup + cash *= 1.1; // TODO: should this be smaller? } - if (slave.butt > 3) { //slave has bigger than a bubble butt + if (slave.butt > 3) { // slave has bigger than a bubble butt cash *= 1.1; } } if (arcology.FSPastoralist !== "unset") { - if (slave.boobs > 799) { //slave has larger than a D cup + if (slave.boobs > 799) { // slave has larger than a D cup cash *= 1.2; } - if (slave.lactation > 0) { //slave is lactating + if (slave.lactation > 0) { // slave is lactating cash *= 1.1; } } if (arcology.FSPhysicalIdealist !== "unset") { - if (slave.height > 169) { //slave is tall or taller + if (slave.height > 169) { // slave is tall or taller cash *= 1.1; - } else if (slave.height < 160) { //slave is short or shorter + } else if (slave.height < 160) { // slave is short or shorter cash *= 0.9; } } if (arcology.FSHedonisticDecadence !== "unset") { - if (slave.weight > 10) { //slave is curvy or fatter + if (slave.weight > 10) { // slave is curvy or fatter cash *= 1.1; - } else if (slave.weight < -10) { //slave is thin or thinner + } else if (slave.weight < -10) { // slave is thin or thinner cash *= 0.9; } } - if (arcology.FSChattelReligionist !== "unset") { //TODO: I don't know what to put for this one - if (slave.devotion < 21) { //if slave is careful or less + if (arcology.FSChattelReligionist !== "unset") { // TODO: I don't know what to put for this one + if (slave.devotion < 21) { // if slave is careful or less cash *= 0.9; } } - //TODO: should I add the ancient cultures FS? + // TODO: should I add the ancient cultures FS? /* CLOSE FS EFFECTS */ + if (setup.entertainmentCareers.includes(slave.career)) { cash *= 1.1; } else if (setup.farmerCareers.includes(slave.career)) { cash *= 1.1; } - if (slave.prestige === 1) { //slave is prestigious + if (slave.prestige === 1) { // slave is prestigious cash *= 1.1; - } else if (slave.prestige === 2) { //slave is very prestigious + } else if (slave.prestige === 2) { // slave is very prestigious cash *= 1.2; - } else if (slave.prestige === 3) { //slave is extremely prestigious + } else if (slave.prestige === 3) { // slave is extremely prestigious cash *= 1.3; } - if (slave.pornPrestige === 1) { //slave is prestigious from porn + if (slave.pornPrestige === 1) { // slave is prestigious from porn cash *= 1.1; - } else if (slave.pornPrestige === 2) { //slave is very prestigious from porn + } else if (slave.pornPrestige === 2) { // slave is very prestigious from porn cash *= 1.2; - } else if (slave.pornPrestige === 3) { //slave is extremely prestigious from porn + } else if (slave.pornPrestige === 3) { // slave is extremely prestigious from porn cash *= 1.3; - } //TODO: add relationship checks - if (slave.health > 20) { //slave is very healthy or more + } // TODO: add relationship checks + if (slave.health > 20) { // slave is very healthy or more cash *= 1.1; - } else if (slave.health < -20) { //slave is less than unhealthy + } else if (slave.health < -20) { // slave is less than unhealthy cash *= 0.8; } - if (slave.face > 10) { //slave is very pretty or more + if (slave.face > 40) { // slave is beautiful or more + cash *= 1.3; + } else if (slave.face > 10) { // slave is very pretty or more cash *= 1.1; - } else if (slave.face < -10) { //slave is less than unattractive - cash *= 0.8; + } else if (slave.face < -10) { // slave is less than unattractive + cash *= 0.9; + } else if (slave.face < -40) { // slave is less than ugly + cash *= 0.7 } - if (slave.devotion > 50) { //slave is devoted or more + if (slave.devotion > 50) { // slave is devoted or more cash *= 1.1; - } else if (slave.devotion < -50) { //slave is reluctant or less + } else if (slave.devotion < -50) { // slave is reluctant or less cash *= 0.8; } - if (slave.trust > 50) { //slave is trusting or more + if (slave.trust > 50) { // slave is trusting or more cash *= 1.1; - } else if (slave.trust < -50) { //slave is less than frightened - cash *= 0.8; //TODO: should trust be a factor? + } else if (slave.trust < -50) { // slave is less than frightened + cash *= 0.8; // TODO: should trust be a factor? } - if (slave.weight > 30) { //slave is curvy or more - cash *= 0.8; //TODO: tie in Hedonistic FS - } else if (slave.weight < -30) { //slave is very thin or less - cash *= 0.8; //TODO: put this on a scale + if (slave.weight > 30) { // slave is curvy or more + cash *= 0.8; // TODO: tie in Hedonistic FS + } else if (slave.weight < -30) { // slave is very thin or less + cash *= 0.8; // TODO: put this on a scale } - if (slave.muscles > 30) { //slave is muscular or more - cash *= 0.9; //TODO: tie in height eugenics policy - } else if (slave.muscles < -30) { //slave is very weak or less - cash *= 0.9; //TODO: should this be on a scale? + if (slave.muscles > 30) { // slave is muscular or more + cash *= 0.9; // TODO: tie in height eugenics policy + } else if (slave.muscles < -30) { // slave is very weak or less + cash *= 0.9; // TODO: should this be on a scale? } - if (slave.eyes < 1) { //slaves eyesight is nearsighted or worse - cash *= 0.9; //TODO: should nearsighted and blind slaves receive a penalty? + if (slave.eyes < 1) { // slaves eyesight is nearsighted or worse + cash *= 0.9; // TODO: should nearsighted and blind slaves receive a penalty? } - if (slave.hears < 0) { //slave is hard of hearing or less - cash *= 0.9; //TODO: should hard of hearing slaves receive a penalty? + if (slave.hears < 0) { // slave is hard of hearing or less + cash *= 0.9; // TODO: should hard of hearing slaves receive a penalty? } - if (slave.boobs > 800) { //slave has a DD cup or bigger - cash *= 0.9; //TODO: would this make sense? + if (slave.boobs > 800) { // slave has a DD cup or bigger + cash *= 0.9; // TODO: would this make sense? } - if (slave.butt > 4) { //slave has an enormous butt or bigger - cash *= 0.9; //TODO: would this make sense? + if (slave.butt > 4) { // slave has an enormous butt or bigger + cash *= 0.9; // TODO: would this make sense? } - if (slave.preg < 0) { //slave is not fertile - cash *= 0.8; //TODO: not sure how to incorporate pregnancy - } //TODO: incorporate skills - if (slave.tired === 1) { //slave is tired + if (slave.preg > 10) { // slave is pregnant and showing + cash *= 0.8; // TODO: not sure how to incorporate pregnancy + } // TODO: incorporate skills + if (slave.tired === 1) { // slave is tired cash *= 0.9; } - if (slave.chem > 10) { //slave has high genetic damage + if (slave.chem > 10) { // slave has high genetic damage cash *= 0.9; } - if (slave.intelligence > 50) { //slave is very smart or better + if (slave.intelligence > 50) { // slave is very smart or better cash *= 1.1; - } else if (slave.intelligence < -50) { //slave is very slow or less + } else if (slave.intelligence < -50) { // slave is very slow or less cash *= 0.8; } - if (slave.energy < 20) { //slave has poor sex drive or less + if (slave.energy <= 20) { // slave has no sex drive + cash *= 0.7; + } else if (slave.energy <= 40) { // slave has poor sex drive + cash *= 0.8; + } else if (slave.energy <= 60) { // slave has average sex drive cash *= 0.9; + } else if (slave.energy <= 80) { // slave has good sex drive + cash *= 1.1; + } else if (slave.energy <= 95) { // slave has powerful sex drive + cash *= 1.2; + } else { // slave is a nymphomaniac + cash *= 1.3; } if (slave.fetish === "submissive") { cash *= 1.1; @@ -314,7 +329,7 @@ window.farmShowsIncome = function (slave) { cash *= 1.1; } else if (slave.fetish === "masochist") { cash *= 1.1; - } //TODO: tie in quirks and flaws + } // TODO: tie in quirks and flaws return cash; } }; diff --git a/src/js/utilJS.js b/src/js/utilJS.js index 0e4e61a472e921aab621dd69367d90fb928a3720..969a8e6e349c421f0413fe6451d09a0fba869a0d 100644 --- a/src/js/utilJS.js +++ b/src/js/utilJS.js @@ -603,7 +603,7 @@ window.cashFormat = function(s) { if (s > 0) { return `¤${ num(s)}`; } else { - return `¤${s}`; + return `¤${ s.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',')}`; } }; diff --git a/src/js/vignettes.js b/src/js/vignettes.js index bc39f1dc80b58204232b5430cec176f8530eafbd..ed98dc5241a81161dc6220b766d219ed9eb43249 100644 --- a/src/js/vignettes.js +++ b/src/js/vignettes.js @@ -3559,7 +3559,7 @@ window.GetVignette = /** @param {App.Entity.SlaveState} slave */ function GetVig }); } //TODO: add more vignettes - if ((V.farmyardShows === 1) && (V.seeBestiality === 1)) { + if ((V.farmyardBreeding) && (V.seeBestiality === 1)) { vignettes.push({ text: `a citizen didn't realize how disgusting he found bestiality until he attended one of ${V.farmyardName}'s shows,`, type: "rep", diff --git a/src/npc/fPCImpreg.tw b/src/npc/fPCImpreg.tw index a6e6b23a125979a496151b5954d4b6d13e7d1275..29d611f7bbdb6fbcb67b3c594ed78419997dde75 100644 --- a/src/npc/fPCImpreg.tw +++ b/src/npc/fPCImpreg.tw @@ -123,7 +123,7 @@ You repeat this ritual throughout the week, ensuring that $activeSlave.slaveName <</if>> <</if>> <<if $arcologies[0].FSGenderRadicalist != "unset" && $activeSlave.mpreg == 1>> - Society @@.green;approves@@ of your fucking your slaves ass pregnant; this advances the ideal all a slave needs is $his rear. + Society @@.green;approves@@ of your fucking your slaves' asses pregnant; this advances the ideal all a slave needs is $his rear. <<run repX($FSSingleSlaveRep*($arcologies[0].FSGenderRadicalist/$FSLockinLevel), "futureSocieties", $activeSlave)>> <<set $arcologies[0].FSGenderRadicalist += 0.05*$FSSingleSlaveRep>> <<elseif $arcologies[0].FSGenderFundamentalist != "unset" && $activeSlave.mpreg == 1>> diff --git a/src/npc/fSlaveImpregConsummate.tw b/src/npc/fSlaveImpregConsummate.tw index c7b0adde93ed825146422a3ad9b4dd8f317d12c5..c70527ee76b56a969eb0513eb0134ee9436cb016 100644 --- a/src/npc/fSlaveImpregConsummate.tw +++ b/src/npc/fSlaveImpregConsummate.tw @@ -278,7 +278,7 @@ Throughout the week, you keep $activeSlave.slaveName's <<if $activeSlave.mpreg = <<set $failedElite += 1>> <</if>> <<if $arcologies[0].FSGenderRadicalist != "unset" && $activeSlave.mpreg == 1>> - Society @@.green;approves@@ of your breeding your slaves ass; this advances the ideal all a slave needs is their rear. + Society @@.green;approves@@ of your breeding your slave's ass; this advances the ideal all a slave needs is their rear. <<run repX($FSSingleSlaveRep*($arcologies[0].FSGenderRadicalist/$FSLockinLevel), "futureSocieties", $activeSlave)>> <<set $arcologies[0].FSGenderRadicalist += 0.05*$FSSingleSlaveRep>> <<elseif $arcologies[0].FSGenderFundamentalist != "unset" && $activeSlave.mpreg == 1>> diff --git a/src/uncategorized/remoteSurgery.tw b/src/uncategorized/remoteSurgery.tw index 197321305feb9a8f363cf0f9e0ae4757de53e389..10c396c0a0eeb1aefc6a8653fd13578290cd9484 100644 --- a/src/uncategorized/remoteSurgery.tw +++ b/src/uncategorized/remoteSurgery.tw @@ -632,7 +632,7 @@ $He has //$His supportive mesh implant prevents reconstruction// <<else>> <<if ($activeSlave.boobShape == "saggy") || ($activeSlave.boobShape == "downward-facing")>> - [[Breast lift|Surgery Degradation][$activeSlave.boobShape = "normal", $activeSlave.health -= 20,cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $surgeryType = "breastLift"]]<<if $activeSlave.preg > $activeSlave.pregData.normalBirth/1.42 || ($activeSlave.boobs >= 5000 && $activeSlave.boobs < 8000)>>//$His current state may result in $his breasts becoming saggy again//<</if>> + [[Breast lift|Surgery Degradation][$activeSlave.boobShape = "normal", $activeSlave.health -= 20,cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $surgeryType = "breastLift"]]<<if $activeSlave.preg > $activeSlave.pregData.normalBirth/1.42 || ($activeSlave.boobs >= 5000 && $activeSlave.boobs < 8000)>> //$His current state may result in $his breasts becoming saggy again//<</if>> <<else>> <<if ($activeSlave.boobShape == "normal")>> [[Reshape them to be perkier|Surgery Degradation][$activeSlave.boobShape = "perky",cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave),$activeSlave.health -= 10,$surgeryType = "breastReconstruction"]] diff --git a/src/uncategorized/slaveInteract.tw b/src/uncategorized/slaveInteract.tw index 0e5d8a4045907af200018ef2777affa7abc6ef28..3f1f8cf9edf5b622d6bc1a1c2d24fda64b3e45ab 100644 --- a/src/uncategorized/slaveInteract.tw +++ b/src/uncategorized/slaveInteract.tw @@ -1670,9 +1670,9 @@ Hormones: <strong><span id="hormones"> <br> <<if $activeSlave.clitPiercing == 3>> <<if $activeSlave.dick < 1>> - $His smart clit piercing is set to + $His smart clit piercing <<if $activeSlave.vaginalAccessory == "smart bullet vibrator">>and smart bullet vibrator are<<else>>is<</if>> set to <<else>> - $His smart frenulum piercing is set to + $His smart frenulum piercing <<if $activeSlave.vaginalAccessory == "smart bullet vibrator">>and smart bullet vibrator are<<else>>is<</if>> set to <</if>> <<else>> $His smart bullet vibe is set to