diff --git a/src/endWeek/reports/cellblockReport.js b/src/endWeek/reports/cellblockReport.js new file mode 100644 index 0000000000000000000000000000000000000000..610c1e38100edc55f9ba88b9baba282bf5486022 --- /dev/null +++ b/src/endWeek/reports/cellblockReport.js @@ -0,0 +1,335 @@ +/** + * @returns {DocumentFragment} + */ +App.EndWeek.cellblockReport = function() { + const el = new DocumentFragment(); + let r; + + _slaves = App.Utils.sortedEmployees(App.Entity.facilities.cellblock); + _DL = _slaves.length, _SL = V.slaves.length, _brokenSlaves = 0, _idleBonus = 0, _softenedQuirks = 0, _trustMalus = 0, _FLsFetish = 0; + + if (V.cellblockDecoration !== "standard") { + _devBonus = 1; + } else { + _devBonus = 0; + } + _cellblockNameCaps = capFirstChar(V.cellblockName); + V.flSex = App.EndWeek.getFLSex(App.Entity.facilities.cellblock); + r.push(` /* FIXME: should be local, passed as a parameter to saRules */`); + + if (S.Wardeness) { + <<setLocalPronouns S.Wardeness>> + + if (S.Wardeness.health.condition < -80) { + improveCondition(S.Wardeness, 20); + } else if ((S.Wardeness.health.condition < -40)) { + improveCondition(S.Wardeness, 15); + } else if ((S.Wardeness.health.condition < 0)) { + improveCondition(S.Wardeness, 10); + } else if ((S.Wardeness.health.condition < 90)) { + improveCondition(S.Wardeness, 7); + } + if (S.Wardeness.devotion <= 60) { + S.Wardeness.devotion += 2; + } + S.Wardeness.devotion += _devBonus; + if (S.Wardeness.trust < 60) { + S.Wardeness.trust += 3; + } + if (S.Wardeness.rules.living !== "luxurious") { + S.Wardeness.rules.living = "luxurious"; + } + if (S.Wardeness.rules.rest !== "restrictive") { + S.Wardeness.rules.rest = "restrictive"; + } + if (S.Wardeness.fetishStrength <= 95) { + if (S.Wardeness.fetish !== "sadist") { + if (fetishChangeChance(S.Wardeness) > random(0,100)) { + _FLsFetish = 1, S.Wardeness.fetishKnown = 1, S.Wardeness.fetish = "sadist"; + } + } else if (S.Wardeness.fetishKnown === 0) { + _FLsFetish = 1, S.Wardeness.fetishKnown = 1; + } else { + _FLsFetish = 2, S.Wardeness.fetishStrength += 4; + } + } + if (S.Wardeness.energy > 95) || (S.Wardeness.fetish === "sadist") { + _devBonus++, _trustMalus++, _idleBonus++; + } + + V.SlaveFullName(S.Wardeness) + r.push(` is serving as the Wardeness.`); + if (S.Wardeness.relationship === -3 && S.Wardeness.devotion > 50) { + _devBonus++, _trustMalus++, _idleBonus++; + r.push(`As your ${V.wife}, ${he} tries ${his} best to break the disobedient slaves to your will.`); + } + if (_FLsFetish === 1) { + r.push(`One day ${he} demands obedience. The next day ${he} strikes a slave when it isn't given. The next, ${he} seems more excited than embarrassed when beating a prisoner. Soon, ${he}'s looking for an excuse to punish. ${He}'s <span class="pink">become more of a sadist.</span>`); + } else if ((_FLsFetish === 2)) { + r.push(`Being not only allowed but encouraged to get off while punishing prisoners <span class="lightsalmon">deepens ${his} sadism.</span>`); + } + if (setup.wardenessCareers.includes(S.Wardeness.career)) { + _devBonus++, _trustMalus++, _idleBonus++; + r.push(`${He} has experience with detecting security issues and grinding down potential miscreants from ${his} life before ${he} was a slave, making ${him} more effective.`); + } else if (S.Wardeness.skill.wardeness >= V.masteredXP) { + _devBonus++, _trustMalus++, _idleBonus++; + r.push(`${He} has experience with detecting security issues and grinding down potential miscreants from working for you, making ${him} more effective.`); + } else { + S.Wardeness.skill.wardeness += random(1,Math.ceil((S.Wardeness.intelligence+S.Wardeness.intelligenceImplant)/15) + 8); + } + if (S.Wardeness.fetish === "sadist") { + r.push(`${He} uses the prisoners to gratify ${his} sadism, terrifying them and quickly breaking their resistance.`); + } else if (S.Wardeness.energy > 95) { + r.push(`${He} is so sexually depraved that ${he} constantly molests the prisoners, breaking them to a life of servitude.`); + } + if (S.Wardeness.sexualFlaw === "malicious" || S.Wardeness.sexualFlaw === "abusive") { + _devBonus++, _trustMalus += 2, _idleBonus += 2; + r.push(`Sexual abuse of prisoners has become an end for ${him}, not a means. ${He} inspires ${his} prisoners to do everything possible to qualify to get away from ${him}, even as ${he} slowly grinds away their interest in sex to do it.`); + } else if (S.Wardeness.sexualQuirk === "caring") { + _devBonus--, _trustMalus--, _idleBonus--; + r.push(`${His} kindness sometimes shows through ${his} tough facade, letting prisoners get off easier than they should.`); + } + if (S.Wardeness.dick > 2) && (canPenetrate(S.Wardeness)) { + _devBonus++, _trustMalus++, _idleBonus++; + r.push(`${His} molestation of the prisoners is more varied and effective because ${he} has a dick to fuck them with.`); + } + if (S.Wardeness.muscles > 35) { + _devBonus++, _trustMalus++, _idleBonus++; + r.push(`${He} is strong enough to restrain anyone that tries anything with ${his} own hands.`); + } + if (S.Wardeness.devotion > 95) { + _devBonus++, _trustMalus++, _idleBonus++; + r.push(`${His} devotion to you is so absolute that ${he} sees breaking bitches for your service as a noble calling.`); + } + <<for _slave range _slaves>> + if (S.Wardeness.rivalryTarget === _slave.ID) { + r.push(`${He} greatly enjoys breaking ${his} `); + V.rivalryTerm(S.Wardeness) + r.push(`,${ _${slave.slaveName}}'s will.`); + _slave.devotion++, _slave.trust -= 3; + if (random(1,100) > 30) { + S.Wardeness.rivalry++, _slave.rivalry++; + } + } else if (S.Wardeness.relationshipTarget === _slave.ID) { + r.push(`${He} hates having to break ${his} `); + V.relationshipTerm(S.Wardeness) + r.push(`,${ _${slave.slaveName}}, but ${his} devotion to you wins out in the end.`); + _slave.devotion++, _slave.trust -= 3; + if (random(1,100) >= 50) { + r.push(`${His} and${ _${slave.slaveName}}'s relationship has been shattered by these events.`); + S.Wardeness.relationship = 0, S.Wardeness.relationshipTarget = 0 _slave.relationship = 0, _slave.relationshipTarget = 0; + } + } else if (areRelated(S.Wardeness, _slave)) { + <<setLocalPronouns _slave 2>> + r.push(`${He} shows ${his} `); + V.relativeTerm(S.Wardeness,_slave) + r.push(`${ _${slave.slaveName}} no mercy, making sure ${_he2} understands ${_his2} place.`); + _slave.devotion++, _slave.trust--; + } + <</for>> + if (_DL < V.cellblock && !slaveResting(S.Wardeness)) { + _seed = random(1,10)+((V.cellblock-_DL)*(random(150,170)+(_idleBonus*10))); + cashX(_seed, "cellblock", S.Wardeness); + <br> Since ${he} doesn't have enough prisoners to manage to keep ${him} busy, ${he} works on citizens' slaves, earning <span class="yellowgreen"> + V.cashFormat(_seed) + r.push(`.</span>`); + } + if (_DL > 0) {<br><br> + } + } + + if (_DL > 0) { + + if (_DL === 1) {''One slave is being confined in V.cellblockName until they are willing to obey.'' + } else {''_DL slaves are being confined in V.cellblockName until they are willing to obey.'' + } + } + + if (S.Wardeness) { + V.i = V.slaveIndices[V.WardenessID]; + r.push(` /* apply following SA passages to facility leader */`); + if (V.showEWD !== 0) { + <br><br> + /* 000-250-006 */ + if (V.seeImages && V.seeReportImages) { + <div class="imageRef tinyImg"> + r.push(`${V.SlaveArt(${S.Wardeness}}, 0, 0)`); + </div> + } + /* 000-250-006 */ + <<includeDOM App.EndWeek.favoriteIcon(slave)>> + <span class='slave-name'> + V.SlaveFullName(slave)</span> is serving as the Wardeness in V.cellblockName. + <br> + r.push(`${V.App.SlaveAssignment.choosesOwnClothes(slave)}`); + tired(slave); + <<includeDOM App.SlaveAssignment.rules(slave)>> + r.push(`${V.App.SlaveAssignment.diet(slave)}`); + <<includeDOM App.SlaveAssignment.longTermEffects(slave)>> + r.push(`${V.App.SlaveAssignment.drugs(slave)}`); + r.push(`${V.App.SlaveAssignment.relationships(slave)}`); + r.push(`${V.App.SlaveAssignment.rivalries(slave)}`); + <br> + V.App.SlaveAssignment.devotion(slave) + } else { + App.SlaveAssignment.choosesOwnClothes(slave); + tired(slave); + App.SlaveAssignment.rules(slave); + App.SlaveAssignment.diet(slave); + App.SlaveAssignment.longTermEffects(slave); + App.SlaveAssignment.drugs(slave); + App.SlaveAssignment.relationships(slave); + App.SlaveAssignment.rivalries(slave); + App.SlaveAssignment.devotion(slave); + } + } + + <<for _slave range _slaves>> + V.i = V.slaveIndices[_slave.ID]; + <<setLocalPronouns _slave>> + if (_slave.devotion <= 20) { + if (_slave.trust >= -20) { + if ((_slave.hears === -1 && _slave.earwear !== "hearing aids") || (_slave.hears === 0 && _slave.earwear === "muffling ear plugs") ||(_slave.hears === -2)) { + _slave.devotion -= 2, _slave.trust -= 2; + } else { + _slave.devotion -= 4, _slave.trust -= 4; + } + } else { + _slave.devotion++; + } + } + switch (V.cellblockDecoration) { + case "Paternalist": + _slave.rules.living = "normal"; + if (_slave.inflation > 0) { + deflate(_slave); + } + case "Pastoralist": + _slave.rules.living = "spare"; + if (_slave.inflation === 0) { + if (_slave.pregKnown === 0 && _slave.bellyImplant < 1500) { + _slave.inflation = 2, _slave.inflationType = "milk", _slave.inflationMethod = 1; + } else { + _slave.inflation = 1, _slave.inflationType = "milk", _slave.inflationMethod = 1; + } + SetBellySize(_slave); + } + case "Hedonistic": + _slave.rules.living = "spare"; + if (_slave.weight < 200) { + if (_slave.weightDirection === 1) { + _slave.weight += 5; + } else if (_slave.weightDirection === -1) { + _slave.weight += 1; + } else { + _slave.weight += 3; + } + } + if (_slave.muscles > -100) { + _slave.muscles -= 2; + } + if (_slave.inflation === 0) { + if (_slave.pregKnown === 0 && _slave.bellyImplant < 1500) { + _slave.inflation = 3, _slave.inflationType = "food", _slave.inflationMethod = 1; + } else { + _slave.inflation = 1, _slave.inflationType = "food", _slave.inflationMethod = 1; + } + SetBellySize(_slave); + } + default: + _slave.rules.living = "spare"; + if (_slave.inflation > 0) { + deflate(_slave); + } + } + if (V.cellblockUpgrade === 1) { + if (_slave.behavioralFlaw !== "none") && (_slave.behavioralQuirk === "none") { + SoftenBehavioralFlaw(_slave); + _slave.devotion -= 10, _softenedQuirks++; + } else if ((_slave.sexualFlaw !== "none") && (_slave.sexualQuirk === "none")) { + SoftenSexualFlaw(_slave); + _slave.devotion -= 10, _softenedQuirks++; + } + } + _slave.devotion += _devBonus, _slave.trust -= _trustMalus; + if (S.Wardeness) && (S.Wardeness.sexualFlaw === "malicious") && (_slave.energy >= 2) { + _slave.energy -= 2; + } + if (_slave.health.condition < -80) { + improveCondition(_slave, 20); + } else if ((_slave.health.condition < -40)) { + improveCondition(_slave, 15); + } else if ((_slave.health.condition < 0)) { + improveCondition(_slave, 10); + } else if ((_slave.health.condition < 40)) { + improveCondition(_slave, 7); + } else if ((_slave.health.condition < 100)) { + improveCondition(_slave, 3); + } + if (V.showEWD !== 0) { + <br><br> + /* 000-250-006 */ + if (V.seeImages && V.seeReportImages) { + <div class="imageRef tinyImg"> + r.push(`${V.SlaveArt(_slave}, 0, 0)`); + </div> + } + /* 000-250-006 */ + <<includeDOM App.EndWeek.favoriteIcon(_slave)>> + <span class='slave-name'> + V.SlaveFullName(_slave)</span> + if (_slave.choosesOwnAssignment === 2) { + r.push(`${V.App.SlaveAssignment.choosesOwnJob(_slave)}`); + } else { + r.push(`is confined in ${V.cellblockName}.`); + } + <br> ${He} + V.App.SlaveAssignment.stayConfined(_slave) + <br> + <<includeDOM App.SlaveAssignment.rules(_slave)>> + r.push(`${V.App.SlaveAssignment.diet(_slave)}`); + <<includeDOM App.SlaveAssignment.longTermEffects(_slave)>> + r.push(`${V.App.SlaveAssignment.drugs(_slave)}`); + r.push(`${V.App.SlaveAssignment.relationships(_slave)}`); + r.push(`${V.App.SlaveAssignment.rivalries(_slave)}`); + <br> + V.App.SlaveAssignment.devotion(_slave) + } else { + <<silently>> + App.SlaveAssignment.choosesOwnJob(_slave); + App.SlaveAssignment.stayConfined(_slave); + App.SlaveAssignment.rules(_slave); + App.SlaveAssignment.diet(_slave); + App.SlaveAssignment.longTermEffects(_slave); + App.SlaveAssignment.drugs(_slave); + App.SlaveAssignment.relationships(_slave); + App.SlaveAssignment.rivalries(_slave); + App.SlaveAssignment.devotion(_slave); + <</silently>> + } + <</for>> + if (_softenedQuirks) || (_brokenSlaves) { + <br><br> + if (_softenedQuirks > 0) { + _cellblockNameCaps's advanced compliance systems successfully softened + if (_softenedQuirks === 1) { + r.push(`one slave's mental flaw into an <span class="green">appealing quirk,</span> though the constant correction caused them <span class="mediumorchid">considerable anguish.</span>`); + } else { + _softenedQuirks slaves' mental flaws into <span class="green">appealing quirks,</span> though the constant correction caused them <span class="mediumorchid">considerable anguish.</span> + } + } + if (_brokenSlaves > 0) { + if (_brokenSlaves === 1) { + r.push(`One slave is now willing to <span class="hotpink">do as they're told</span> and has been released.`); + } else { + _brokenSlaves slaves are now willing to <span class="hotpink">do as they're told</span> and have been released. + } + if (V.cellblockDecoration !== "standard") { + <br><br> _cellblockNameCaps's V.cellblockDecoration atmosphere <span class="hotpink">had an impact on them while they were</span> imprisoned. + } + } + } + if (_DL > 0 || S.Wardeness) { + <br><br> + } +}; \ No newline at end of file diff --git a/src/endWeek/reportsTW/cellblockReport.tw b/src/endWeek/reportsTW/cellblockReport.tw new file mode 100644 index 0000000000000000000000000000000000000000..bce62060aab12817cd65981eb38d46657d915d0e --- /dev/null +++ b/src/endWeek/reportsTW/cellblockReport.tw @@ -0,0 +1,5 @@ +:: Cellblock Report [nobr] + +/* This passage probably isn't really necessary but it helps organize the profiler output. + * TODO: Once all the facility reports look like this, we should probably get rid of these intermediate passages. */ +<<includeDOM App.EndWeek.cellBlockReport()>> diff --git a/src/uncategorized/cellblockReport.tw b/src/uncategorized/cellblockReport.tw deleted file mode 100644 index 8a2d3b4426fdf6360f035987da697c5d79beae08..0000000000000000000000000000000000000000 --- a/src/uncategorized/cellblockReport.tw +++ /dev/null @@ -1,308 +0,0 @@ -:: Cellblock Report [nobr] - -<<set _slaves = App.Utils.sortedEmployees(App.Entity.facilities.cellblock)>> -<<set _DL = _slaves.length, _SL = $slaves.length, _brokenSlaves = 0, _idleBonus = 0, _softenedQuirks = 0, _trustMalus = 0, _FLsFetish = 0>> - -<<if $cellblockDecoration != "standard">> - <<set _devBonus = 1>> -<<else>> - <<set _devBonus = 0>> -<</if>> -<<set _cellblockNameCaps = capFirstChar($cellblockName)>> -<<set $flSex = App.EndWeek.getFLSex(App.Entity.facilities.cellblock)>> /* FIXME: should be local, passed as a parameter to saRules */ - -<<if (_S.Wardeness)>> - <<setLocalPronouns _S.Wardeness>> - - <<if (_S.Wardeness.health.condition < -80)>> - <<run improveCondition(_S.Wardeness, 20)>> - <<elseif (_S.Wardeness.health.condition < -40)>> - <<run improveCondition(_S.Wardeness, 15)>> - <<elseif (_S.Wardeness.health.condition < 0)>> - <<run improveCondition(_S.Wardeness, 10)>> - <<elseif (_S.Wardeness.health.condition < 90)>> - <<run improveCondition(_S.Wardeness, 7)>> - <</if>> - <<if (_S.Wardeness.devotion <= 60)>> - <<set _S.Wardeness.devotion += 2>> - <</if>> - <<set _S.Wardeness.devotion += _devBonus>> - <<if _S.Wardeness.trust < 60>> - <<set _S.Wardeness.trust += 3>> - <</if>> - <<if (_S.Wardeness.rules.living != "luxurious")>> - <<set _S.Wardeness.rules.living = "luxurious">> - <</if>> - <<if _S.Wardeness.rules.rest != "restrictive">> - <<set _S.Wardeness.rules.rest = "restrictive">> - <</if>> - <<if _S.Wardeness.fetishStrength <= 95>> - <<if _S.Wardeness.fetish != "sadist">> - <<if fetishChangeChance(_S.Wardeness) > random(0,100)>> - <<set _FLsFetish = 1, _S.Wardeness.fetishKnown = 1, _S.Wardeness.fetish = "sadist">> - <</if>> - <<elseif _S.Wardeness.fetishKnown == 0>> - <<set _FLsFetish = 1, _S.Wardeness.fetishKnown = 1>> - <<else>> - <<set _FLsFetish = 2, _S.Wardeness.fetishStrength += 4>> - <</if>> - <</if>> - <<if (_S.Wardeness.energy > 95) || (_S.Wardeness.fetish == "sadist")>> - <<set _devBonus++, _trustMalus++, _idleBonus++>> - <</if>> - <<= SlaveFullName(_S.Wardeness)>> is serving as the Wardeness. - <<if _S.Wardeness.relationship == -3 && _S.Wardeness.devotion > 50>> - <<set _devBonus++, _trustMalus++, _idleBonus++>> - As your $wife, $he tries $his best to break the disobedient slaves to your will. - <</if>> - <<if (_FLsFetish == 1)>> - One day $he demands obedience. The next day $he strikes a slave when it isn't given. The next, $he seems more excited than embarrassed when beating a prisoner. Soon, $he's looking for an excuse to punish. $He's @@.pink;become more of a sadist.@@ - <<elseif (_FLsFetish == 2)>> - Being not only allowed but encouraged to get off while punishing prisoners @@.lightsalmon;deepens $his sadism.@@ - <</if>> - <<if setup.wardenessCareers.includes(_S.Wardeness.career)>> - <<set _devBonus++, _trustMalus++, _idleBonus++>> - $He has experience with detecting security issues and grinding down potential miscreants from $his life before $he was a slave, making $him more effective. - <<elseif _S.Wardeness.skill.wardeness >= $masteredXP>> - <<set _devBonus++, _trustMalus++, _idleBonus++>> - $He has experience with detecting security issues and grinding down potential miscreants from working for you, making $him more effective. - <<else>> - <<set _S.Wardeness.skill.wardeness += random(1,Math.ceil((_S.Wardeness.intelligence+_S.Wardeness.intelligenceImplant)/15) + 8)>> - <</if>> - <<if _S.Wardeness.fetish == "sadist">> - $He uses the prisoners to gratify $his sadism, terrifying them and quickly breaking their resistance. - <<elseif _S.Wardeness.energy > 95>> - $He is so sexually depraved that $he constantly molests the prisoners, breaking them to a life of servitude. - <</if>> - <<if _S.Wardeness.sexualFlaw == "malicious" || _S.Wardeness.sexualFlaw == "abusive">> - <<set _devBonus++, _trustMalus += 2, _idleBonus += 2>> - Sexual abuse of prisoners has become an end for $him, not a means. $He inspires $his prisoners to do everything possible to qualify to get away from $him, even as $he slowly grinds away their interest in sex to do it. - <<elseif _S.Wardeness.sexualQuirk == "caring">> - <<set _devBonus--, _trustMalus--, _idleBonus-->> - $His kindness sometimes shows through $his tough facade, letting prisoners get off easier than they should. - <</if>> - <<if (_S.Wardeness.dick > 2) && (canPenetrate(_S.Wardeness))>> - <<set _devBonus++, _trustMalus++, _idleBonus++>> - $His molestation of the prisoners is more varied and effective because $he has a dick to fuck them with. - <</if>> - <<if (_S.Wardeness.muscles > 35)>> - <<set _devBonus++, _trustMalus++, _idleBonus++>> - $He is strong enough to restrain anyone that tries anything with $his own hands. - <</if>> - <<if (_S.Wardeness.devotion > 95)>> - <<set _devBonus++, _trustMalus++, _idleBonus++>> - $His devotion to you is so absolute that $he sees breaking bitches for your service as a noble calling. - <</if>> - <<for _slave range _slaves>> - <<if _S.Wardeness.rivalryTarget == _slave.ID>> - $He greatly enjoys breaking $his <<print rivalryTerm(_S.Wardeness)>>, _slave.slaveName's will. - <<set _slave.devotion++, _slave.trust -= 3>> - <<if random(1,100) > 30>> - <<set _S.Wardeness.rivalry++, _slave.rivalry++>> - <</if>> - <<elseif _S.Wardeness.relationshipTarget == _slave.ID>> - $He hates having to break $his <<print relationshipTerm(_S.Wardeness)>>, _slave.slaveName, but $his devotion to you wins out in the end. - <<set _slave.devotion++, _slave.trust -= 3>> - <<if random(1,100) >= 50>> - $His and _slave.slaveName's relationship has been shattered by these events. - <<set _S.Wardeness.relationship = 0, _S.Wardeness.relationshipTarget = 0 _slave.relationship = 0, _slave.relationshipTarget = 0>> - <</if>> - <<elseif areRelated(_S.Wardeness, _slave)>> - <<setLocalPronouns _slave 2>> - $He shows $his <<print relativeTerm(_S.Wardeness,_slave)>> _slave.slaveName no mercy, making sure _he2 understands _his2 place. - <<set _slave.devotion++, _slave.trust-->> - <</if>> - <</for>> - <<if (_DL < $cellblock && !slaveResting(_S.Wardeness))>> - <<set _seed = random(1,10)+(($cellblock-_DL)*(random(150,170)+(_idleBonus*10)))>> - <<run cashX(_seed, "cellblock", _S.Wardeness)>> - <br> Since $he doesn't have enough prisoners to manage to keep $him busy, $he works on citizens' slaves, earning @@.yellowgreen;<<print cashFormat(_seed)>>.@@ - <</if>> - <<if (_DL > 0)>><br><br><</if>> -<</if>> - -<<if (_DL > 0)>> - <<if (_DL == 1)>>''One slave is being confined in $cellblockName until they are willing to obey.''<<else>>''_DL slaves are being confined in $cellblockName until they are willing to obey.''<</if>> -<</if>> - -<<if (_S.Wardeness)>> - <<set $i = $slaveIndices[$WardenessID]>> /* apply following SA passages to facility leader */ - <<if $showEWD != 0>> - <br><br> - /* 000-250-006 */ - <<if $seeImages && $seeReportImages>> - <div class="imageRef tinyImg"> - <<= SlaveArt(_S.Wardeness, 0, 0)>> - </div> - <</if>> - /* 000-250-006 */ - <<includeDOM App.EndWeek.favoriteIcon($slaves[$i])>> - <span class='slave-name'><<= SlaveFullName($slaves[$i])>></span> is serving as the Wardeness in $cellblockName. - <br> - <<= App.SlaveAssignment.choosesOwnClothes($slaves[$i])>> - <<run tired($slaves[$i])>> - <<includeDOM App.SlaveAssignment.rules($slaves[$i])>> - <<= App.SlaveAssignment.diet($slaves[$i])>> - <<includeDOM App.SlaveAssignment.longTermEffects($slaves[$i])>> - <<= App.SlaveAssignment.drugs($slaves[$i])>> - <<= App.SlaveAssignment.relationships($slaves[$i])>> - <<= App.SlaveAssignment.rivalries($slaves[$i])>> - <br> <<= App.SlaveAssignment.devotion($slaves[$i])>> - <<else>> - <<run App.SlaveAssignment.choosesOwnClothes($slaves[$i])>> - <<run tired($slaves[$i])>> - <<run App.SlaveAssignment.rules($slaves[$i])>> - <<run App.SlaveAssignment.diet($slaves[$i])>> - <<run App.SlaveAssignment.longTermEffects($slaves[$i])>> - <<run App.SlaveAssignment.drugs($slaves[$i])>> - <<run App.SlaveAssignment.relationships($slaves[$i])>> - <<run App.SlaveAssignment.rivalries($slaves[$i])>> - <<run App.SlaveAssignment.devotion($slaves[$i])>> - <</if>> -<</if>> - -<<for _slave range _slaves>> - <<set $i = $slaveIndices[_slave.ID]>> - <<setLocalPronouns _slave>> - <<if (_slave.devotion <= 20)>> - <<if (_slave.trust >= -20)>> - <<if ((_slave.hears == -1 && _slave.earwear != "hearing aids") || (_slave.hears == 0 && _slave.earwear == "muffling ear plugs") ||(_slave.hears == -2))>> - <<set _slave.devotion -= 2, _slave.trust -= 2>> - <<else>> - <<set _slave.devotion -= 4, _slave.trust -= 4>> - <</if>> - <<else>> - <<set _slave.devotion++>> - <</if>> - <</if>> - <<switch $cellblockDecoration>> - <<case "Paternalist">> - <<set _slave.rules.living = "normal">> - <<if (_slave.inflation > 0)>> - <<run deflate(_slave)>> - <</if>> - <<case "Pastoralist">> - <<set _slave.rules.living = "spare">> - <<if _slave.inflation == 0>> - <<if _slave.pregKnown == 0 && _slave.bellyImplant < 1500>> - <<set _slave.inflation = 2, _slave.inflationType = "milk", _slave.inflationMethod = 1>> - <<else>> - <<set _slave.inflation = 1, _slave.inflationType = "milk", _slave.inflationMethod = 1>> - <</if>> - <<run SetBellySize(_slave)>> - <</if>> - <<case "Hedonistic">> - <<set _slave.rules.living = "spare">> - <<if _slave.weight < 200>> - <<if _slave.weightDirection == 1>> - <<set _slave.weight += 5>> - <<elseif _slave.weightDirection == -1>> - <<set _slave.weight += 1>> - <<else>> - <<set _slave.weight += 3>> - <</if>> - <</if>> - <<if _slave.muscles > -100>> - <<set _slave.muscles -= 2>> - <</if>> - <<if _slave.inflation == 0>> - <<if _slave.pregKnown == 0 && _slave.bellyImplant < 1500>> - <<set _slave.inflation = 3, _slave.inflationType = "food", _slave.inflationMethod = 1>> - <<else>> - <<set _slave.inflation = 1, _slave.inflationType = "food", _slave.inflationMethod = 1>> - <</if>> - <<run SetBellySize(_slave)>> - <</if>> - <<default>> - <<set _slave.rules.living = "spare">> - <<if (_slave.inflation > 0)>> - <<run deflate(_slave)>> - <</if>> - <</switch>> - <<if $cellblockUpgrade == 1>> - <<if (_slave.behavioralFlaw != "none") && (_slave.behavioralQuirk == "none")>> - <<run SoftenBehavioralFlaw(_slave)>> - <<set _slave.devotion -= 10, _softenedQuirks++>> - <<elseif (_slave.sexualFlaw != "none") && (_slave.sexualQuirk == "none")>> - <<run SoftenSexualFlaw(_slave)>> - <<set _slave.devotion -= 10, _softenedQuirks++>> - <</if>> - <</if>> - <<set _slave.devotion += _devBonus, _slave.trust -= _trustMalus>> - <<if (_S.Wardeness) && (_S.Wardeness.sexualFlaw == "malicious") && (_slave.energy >= 2)>> - <<set _slave.energy -= 2>> - <</if>> - <<if (_slave.health.condition < -80)>> - <<run improveCondition(_slave, 20)>> - <<elseif (_slave.health.condition < -40)>> - <<run improveCondition(_slave, 15)>> - <<elseif (_slave.health.condition < 0)>> - <<run improveCondition(_slave, 10)>> - <<elseif (_slave.health.condition < 40)>> - <<run improveCondition(_slave, 7)>> - <<elseif (_slave.health.condition < 100)>> - <<run improveCondition(_slave, 3)>> - <</if>> - <<if $showEWD != 0>> - <br><br> - /* 000-250-006 */ - <<if $seeImages && $seeReportImages>> - <div class="imageRef tinyImg"> - <<= SlaveArt(_slave, 0, 0)>> - </div> - <</if>> - /* 000-250-006 */ - <<includeDOM App.EndWeek.favoriteIcon(_slave)>> - <span class='slave-name'><<= SlaveFullName(_slave)>></span> - <<if _slave.choosesOwnAssignment == 2>> - <<= App.SlaveAssignment.choosesOwnJob(_slave)>> - <<else>> - is confined in $cellblockName. - <</if>> - <br> $He <<= App.SlaveAssignment.stayConfined(_slave)>> - <br> - <<includeDOM App.SlaveAssignment.rules(_slave)>> - <<= App.SlaveAssignment.diet(_slave)>> - <<includeDOM App.SlaveAssignment.longTermEffects(_slave)>> - <<= App.SlaveAssignment.drugs(_slave)>> - <<= App.SlaveAssignment.relationships(_slave)>> - <<= App.SlaveAssignment.rivalries(_slave)>> - <br> <<= App.SlaveAssignment.devotion(_slave)>> - <<else>> - <<silently>> - <<run App.SlaveAssignment.choosesOwnJob(_slave)>> - <<run App.SlaveAssignment.stayConfined(_slave)>> - <<run App.SlaveAssignment.rules(_slave)>> - <<run App.SlaveAssignment.diet(_slave)>> - <<run App.SlaveAssignment.longTermEffects(_slave)>> - <<run App.SlaveAssignment.drugs(_slave)>> - <<run App.SlaveAssignment.relationships(_slave)>> - <<run App.SlaveAssignment.rivalries(_slave)>> - <<run App.SlaveAssignment.devotion(_slave)>> - <</silently>> - <</if>> -<</for>> -<<if (_softenedQuirks) || (_brokenSlaves)>> - <br><br> - <<if (_softenedQuirks > 0)>> - _cellblockNameCaps's advanced compliance systems successfully softened - <<if (_softenedQuirks == 1)>> - one slave's mental flaw into an @@.green;appealing quirk,@@ though the constant correction caused them @@.mediumorchid;considerable anguish.@@ - <<else>> - _softenedQuirks slaves' mental flaws into @@.green;appealing quirks,@@ though the constant correction caused them @@.mediumorchid;considerable anguish.@@ - <</if>> - <</if>> - <<if (_brokenSlaves > 0)>> - <<if (_brokenSlaves == 1)>> - One slave is now willing to @@.hotpink;do as they're told@@ and has been released. - <<else>> - _brokenSlaves slaves are now willing to @@.hotpink;do as they're told@@ and have been released. - <</if>> - <<if $cellblockDecoration != "standard">> - <br><br> _cellblockNameCaps's $cellblockDecoration atmosphere @@.hotpink;had an impact on them while they were@@ imprisoned. - <</if>> - <</if>> -<</if>> -<<if _DL > 0 || _S.Wardeness>> - <br><br> -<</if>>