diff --git a/src/endWeek/saRules_old.js b/src/endWeek/saRules_old.js index 85ed0e37dc10a9d5ddf6a3459f0ef1bd62cd1c0b..491d9382acfc594875cebe9dbc130b6d591fcdef 100644 --- a/src/endWeek/saRules_old.js +++ b/src/endWeek/saRules_old.js @@ -4,8 +4,7 @@ const PC = V.PC, energy = V.freeSexualEnergy, - averageDick = V.averageDick, - slaves = V.slaves; + averageDick = V.averageDick; /** * @param {App.Entity.SlaveState} slave @@ -98,6 +97,7 @@ r += `is forbidden to masturbate or seek sexual release, which <span class="mediumorchid">highly frustrates</span> ${him}. `; slave.devotion -= 2; } + /* r += `${noReleaseDrugEffects(slave)}`; - port it from saRulesWidgets when we need it */ } } else if (!App.Utils.hasNonassignmentSex(slave) && release.masturbation === 1) { if (slave.devotion <= 20) { @@ -137,8 +137,9 @@ } else { // hasNonassignmentSex is true if (!App.Utils.hasFamilySex(slave) && release.slaves === 0) { // no family and no other slaves, so must be his partner - r += `finds frequent sexual release with his ${relationshipTerm(slave)} <span class="lightgreen">${getSlave(slave.relationshipTarget).slaveName}</span>, which he is <span class="mediumaquamarine">thankful for</span>. `; - slave.need -= 20; // TODO: probably should be based on BOTH slaves' need, leaving the less needy partner slighly frustrated + r += `finds frequent sexual release with his ${relationshipTerm(slave)} <span class="lightgreen">${getSlave(slave.relationshipTarget).slaveName},</span> which he is <span class="mediumaquamarine">thankful for.</span> `; + /* r += `${partnerDrugEffects(slave)}`; - port it from saRulesWidgets when we need it */ + slave.need -= 20; // TODO: probably should be based on BOTH slaves' need, leaving the less needy partner slightly frustrated slave.trust++; } else if (!V.universalRulesConsent) { const whom = (release.slaves === 1) ? `other slaves` : `${his} family`; @@ -1060,7 +1061,11 @@ SimpleSexAct.Slave(slave, 7); break; case "cumslut": - r += `suck or be sucked by any slave ${he} fancies. `; + if (slave.rules.release.slaves === 1) { + r += `suck or be sucked by any slave ${he} fancies. `; + } else { + r += `suck or be sucked by any relative ${he} fancies. `; + } fuckCount = jsRandom(5, 15); slave.counter.oral += fuckCount; V.oralTotal += fuckCount; diff --git a/src/js/economyJS.js b/src/js/economyJS.js index 1d87f72018f4b2392fa33f9c08080ccbdd2eeb27..792083c0306dfc87624eab738247e6a0707221ea 100644 --- a/src/js/economyJS.js +++ b/src/js/economyJS.js @@ -1421,7 +1421,7 @@ window.slaveJobValues = function(lowerClassSexDemandRef, middleClassSexDemandRef // The quality/value of each sexual act s.sexQuality = FResult(s); - if (!App.Utils.hasNonAssignmentSex(s) && s.rules.reward !== "orgasm" && s.energy >= 20) { + if (!App.Utils.hasNonassignmentSex(s) && s.rules.reward !== "orgasm" && s.energy >= 20) { s.sexQuality += 2; } if (canDoAnal(s) && s.anus === 0) { diff --git a/src/js/releaseRules.js b/src/js/releaseRules.js index b622efdbdf67798a96533c965fd2db8bf70fcf59..07f353a444c00a914ed7dd6df9f10bcffbaa186f 100644 --- a/src/js/releaseRules.js +++ b/src/js/releaseRules.js @@ -56,6 +56,15 @@ App.Utils.hasNonassignmentSex = function hasNonassignmentSex(slave) { return (slave.rules.release.slaves === 1) || this.hasFamilySex(slave) || this.hasPartnerSex(slave); }; +/** + * Returns true if there is any restriction at all on how a slave may choose to get off. + * @param {App.Entity.SlaveState} slave + * @returns {boolean} + */ +App.Utils.releaseRestricted = function releaseRestricted(slave) { + return (slave.rules.release.slaves === 0) || (slave.rules.release.family === 0) || (slave.rules.release.masturbation === 0) || (slave.rules.release.partner === 0); +}; + /** * Returns a short summary of the slave's release rules * @param {App.Entity.SlaveState} slave @@ -168,7 +177,7 @@ App.Desc.releaseDesc = function releaseDesc(slave) { r += "other slaves; $he must find sexual release in $his duties."; } } else if (rel.masturbation === 0 && rel.partner === 0 && includeFamily === 1 && rel.slaves === 0 && rel.master === 0) { - r += "$he is not allowed to masturbate. $He is only allowed to acheive sexual release with close family members,"; + r += "$he is not allowed to masturbate. $He is only allowed to achieve sexual release with close family members,"; appendFrequency = true; } else if (rel.masturbation === 0 && rel.partner === 0 && includeFamily === 0 && rel.slaves === 0 && rel.master === 1) { r += "$he is not allowed to masturbate. $He must find you if $he wants sexual release,"; diff --git a/src/uncategorized/saRules.tw b/src/uncategorized/saRules.tw index 3062b5fde3c6c80af278d4fd701214118f95717b..b1586cb4733706731e3d7d580b41dbdcdec20ff9 100644 --- a/src/uncategorized/saRules.tw +++ b/src/uncategorized/saRules.tw @@ -2,8 +2,6 @@ <<set _release = $slaves[$i].rules.release>> -/* TODO: may need updating to detail effects of chastity */ - <<if $slaves[$i].fuckdoll == 0>> $He <<if $slaves[$i].fetish == "mindbroken">> @@ -25,14 +23,14 @@ $He hates $himself for climaxing, and knows the mild aphrodisiacs in the food are forcing $his arousal, @@.gold;frightening $him.@@ <<set $slaves[$i].trust -= 1>> <</if>> - <<set $slaves[$i].need -= 20>> - <<elseif (_release != "permissive") && (_release != "masturbation") && (_release != "chastity")>> - gets off at work, so being unable to sate $his urges doesn't affect $him seriously. - <<set $slaves[$i].need -= 20>> - <<else>> + <<elseif App.Utils.hasNonassignmentSex($slaves[$i])>> + gets off at work as well as during $his rest time. + <<elseif _release.masturbation == 0>> gets off at work, so being unable to touch $himself doesn't bother $him. - <<set $slaves[$i].need -= 20>> + <<else>> + gets off at work, so being unable to sate $his urges doesn't affect $him seriously. <</if>> + <<set $slaves[$i].need -= 20>> <<else>> wasn't a popular enough hole to sate $his arousal, leaving $him @@.gold;uncomfortably horny@@ despite $his conditions. <<set $slaves[$i].trust -= 3>> @@ -47,31 +45,43 @@ <<case "be the Madam">> <<set $slaves[$i].need -= ($BrothiIDs.length*10)>> <<if $slaves[$i].energy <= 20>> - is frigid and has little interest in getting off<<if (_release != "permissive")>>, making the rule restricting $his sexual outlets superfluous<</if>>. + is frigid and has little interest in getting off<<if App.Utils.releaseRestricted($slaves[$i])>>, making the rule restricting $his sexual outlets superfluous<</if>>. <<set $slaves[$i].need = 0>> <<elseif $slaves[$i].need < $slaves[$i].needCap*0.5>> - <<if (_release != "permissive") && (_release != "masturbation") && (_release != "chastity")>> - gets off at work, so being forbidden from masturbation doesn't really bother $him. - <<set $slaves[$i].need -= 20>> + <<if App.Utils.hasNonassignmentSex($slaves[$i])>> + gets off at work as well as during $his rest time. + <<elseif _release.masturbation == 0>> + gets off at work, so being unable to touch $himself doesn't bother $him. <<else>> - gets off at work, so $he doesn't feel the need for release that often. - <<set $slaves[$i].need -= 20>> + gets off at work, so being unable to sate $his urges doesn't affect $him seriously. <</if>> + <<set $slaves[$i].need -= 20>> <<else>> - <<if (_release == "restrictive" || _release == "chastity")>> - willingly begs you to - <<saRulesPlayerFetishPlay>> - whenever $he crosses paths with you. - <<saRulesPlayerEnergy>> - <<saRulesPlayerDiscoversFetish>> - <<saRulesPlayerDrugEffects>> - <<elseif (_release == "masturbation")>> + <<if (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 0)>> + <<if (_release.master === 1)>> + willingly begs you to + <<saRulesPlayerFetishPlay>> + whenever $he crosses paths with you. + <<saRulesPlayerEnergy>> + <<saRulesPlayerDiscoversFetish>> + <<saRulesPlayerDrugEffects>> + <<else>> /* _release.master === 0 */ + <<saRulesNoRelease>> + <<saRulesNoReleaseDrugEffects>> + <</if>> + <<elseif (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 1)>> <<if ($slaves[$i].devotion < 80)>> is a little disappointed that $he's limited to $his <<if !hasAnyArms($slaves[$i])>>imagination<<else>>hand<<if hasBothArms($slaves[$i])>>s<</if>><</if>> and toys, but @@.mediumaquamarine;trusts you know what's best for $him.@@ <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<else>> - @@.mediumaquamarine;trusts your judgment@@ that only $he really knows how to pleasure $himself, though $he @@.mediumorchid;often wonders why you don't use $him.@@ - <<set $slaves[$i].trust += 1, $slaves[$i].devotion -= 2, $slaves[$i].need = 0>> + @@.mediumaquamarine;trusts your judgment@@ that only $he really knows how to pleasure + <<if _release.master === 0>> + $himself, though $he @@.mediumorchid;often wonders why you don't use $him.@@ + <<set $slaves[$i].devotion -= 2>> + <<else>> + $himself. + <</if>> + <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <</if>> <<if $slaves[$i].devotion > 20>> When $he does play with $himself, $he @@ -79,14 +89,19 @@ <<saRulesMasturbationDiscoversFetish>> <</if>> <<saRulesMasturbationDrugEffects>> - <<else>> /* releaseRules not restrictive */ - <<if ($universalRulesConsent == 0)>> + <<else>> /* hasNonassignmentSex is true */ + <<if (!App.Utils.hasFamilySex($slaves[$i]) && _release.slaves === 0)>> + /* no family and no other slaves, so release must be coming from her partner */ + finds frequent sexual release with his <<= relationshipTerm($slaves[$i])>> @@.lightgreen;<<= getSlave($slaves[$i].relationshipTarget).slaveName>>,@@ which $he is @@.mediumaquamarine;thankful for.@@ + <<set $slaves[$i].trust++, $slaves[$i].need -= 20>> /* TODO: probably should be based on BOTH slaves' need, leaving the less needy partner slightly frustrated */ + <<saRulesPartnerDrugEffects>> + <<elseif ($universalRulesConsent == 0)>> happily @@.mediumaquamarine;avails $himself@@ of your permission to <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<saRulesRapeFetish>> <<saRulesRapeDiscoversFetish>> <<else>> /* universalRulesConsent is not zero */ - @@.mediumaquamarine;relies@@ on your other slaves for mutual satisfaction, + @@.mediumaquamarine;relies@@ on <<if _release.slaves === 1>>your other slaves<<else>>$his family<</if>> for mutual satisfaction, <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<saRulesConsentFetish>> <<saRulesConsentDiscoversFetish>> @@ -99,7 +114,7 @@ <<set $slaves[$i].devotion += 1, $slaves[$i].trust += 1>> <<if ($universalRulesConsent == 0)>> - <<if (_release != "restrictive" && _release != "chastity" && _release != "chastity")>> + <<if (_release.slaves === 1)>> <<if ($slaves[$i].energy > 95)>> <<if $BrothiIDs.length > 2>> Under the rules, $he's allowed to demand that other slaves get $him off, and $he @@.hotpink;adores@@ you for leaving plentiful outlets for $his nymphomania under $his care. @@ -215,35 +230,40 @@ $He hates $himself for climaxing, and knows the mild aphrodisiacs in the food are forcing $his arousal, @@.gold;frightening $him.@@ <<set $slaves[$i].trust -= 1>> <</if>> - <<set $slaves[$i].need -= 20>> - <<elseif (_release != "permissive") && (_release != "masturbation") && (_release != "chastity")>> - gets off at work, so being forbidden to masturbate doesn't affect $him seriously. - <<set $slaves[$i].need -= 20>> + <<elseif App.Utils.hasNonassignmentSex($slaves[$i])>> + gets off at work as well as during $his rest time. + <<elseif _release.masturbation == 0>> + gets off at work, so being unable to touch $himself doesn't bother $him. <<else>> - gets off at work, so $he doesn't feel the need to masturbate frequently. - <<set $slaves[$i].need -= 20>> + gets off at work, so being unable to sate $his urges doesn't affect $him seriously. <</if>> + <<set $slaves[$i].need -= 20>> <<else>> - <<if (_release == "restrictive" || _release == "chastity")>> - <<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>> - refuses to come up to the penthouse for sexual release, and is @@.gold;severely punished@@ for illicit masturbation. - <<set $slaves[$i].trust -= 2>> - <<elseif ($slaves[$i].devotion <= 50)>> - <<if $slaves[$i].devotion <= 20>> - occasionally comes to the penthouse to beg for sexual release. - <<else>> - doesn't mind having to come to the penthouse to beg for sexual release. - <</if>> - <<saRulesPlayerEnergy>> - <<else>> /* $slaves[$i].devotion > 50 */ - willingly comes up to the penthouse and begs you to - <<saRulesPlayerFetishPlay>> - every break $he gets. - <<saRulesPlayerEnergy>> - <</if>> /* closes $slaves[$i].devotion > 50 */ - <<saRulesPlayerDiscoversFetish>> - <<saRulesPlayerDrugEffects>> - <<elseif (_release == "masturbation")>> + <<if (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 0)>> + <<if _release.master == 1>> + <<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>> + refuses to come up to the penthouse for sexual release, and is @@.gold;severely punished@@ for illicit masturbation. + <<set $slaves[$i].trust -= 2>> + <<elseif ($slaves[$i].devotion <= 50)>> + <<if $slaves[$i].devotion <= 20>> + occasionally comes to the penthouse to beg for sexual release. + <<else>> + doesn't mind having to come to the penthouse to beg for sexual release. + <</if>> + <<saRulesPlayerEnergy>> + <<else>> /* $slaves[$i].devotion > 50 */ + willingly comes up to the penthouse and begs you to + <<saRulesPlayerFetishPlay>> + every break $he gets. + <<saRulesPlayerEnergy>> + <</if>> /* closes $slaves[$i].devotion > 50 */ + <<saRulesPlayerDiscoversFetish>> + <<saRulesPlayerDrugEffects>> + <<else>> //* _release.master === 0 */ + <<saRulesNoRelease>> + <<saRulesNoReleaseDrugEffects>> + <</if>> + <<elseif (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 1)>> <<if $slaves[$i].sexualFlaw == "attention whore">> @@.hotpink;enjoys being allowed to masturbate,@@ especially since it's often to the pleasure of an aroused client. <<set $slaves[$i].devotion += 1, $slaves[$i].need = 0>> @@ -260,8 +280,14 @@ is a little disappointed that $he's limited to $his <<if !hasAnyArms($slaves[$i])>>imagination<<else>>hand<<if hasBothArms($slaves[$i])>>s<</if>><</if>> and toys, but @@.mediumaquamarine;trusts you know what's best for $him.@@ <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<else>> - @@.mediumaquamarine;trusts your judgment@@ that only $he really knows how to pleasure $himself, though $he @@.mediumorchid;often wonders why you don't use $him.@@ - <<set $slaves[$i].trust += 1, $slaves[$i].devotion -= 2, $slaves[$i].need = 0>> + @@.mediumaquamarine;trusts your judgment@@ that only $he really knows how to pleasure + <<if _release.master === 0>> + $himself, though $he @@.mediumorchid;often wonders why you don't use $him.@@ + <<set $slaves[$i].devotion -= 2>> + <<else>> + $himself. + <</if>> + <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <</if>> <<if $slaves[$i].devotion > 20>> When $he does play with $himself, $he @@ -269,22 +295,28 @@ <<saRulesMasturbationDiscoversFetish>> <</if>> <<saRulesMasturbationDrugEffects>> - <<else>> /* releaseRules not restrictive */ - <<if ($universalRulesConsent == 0)>> + <<else>> /* hasNonassignmentSex is true */ + <<set _whom = (_release.slaves === 1) ? "other slaves" : $his + " family">> + <<if (!App.Utils.hasFamilySex($slaves[$i]) && _release.slaves === 0)>> + /* no family and no other slaves, so release comes from her partner */ + finds frequent sexual release with his <<= relationshipTerm($slaves[$i])>> @@.lightgreen;<<= getSlave($slaves[$i].relationshipTarget).slaveName>>,@@ which $he is @@.mediumaquamarine;thankful for.@@ + <<set $slaves[$i].trust++, $slaves[$i].need -= 20>> /* TODO: probably should be based on BOTH slaves' need, leaving the less needy partner slightly frustrated */ + <<saRulesPartnerDrugEffects>> + <<elseif ($universalRulesConsent == 0)>> <<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>> - <<if (_release == "permissive")>> + <<if (_release.masturbation === 1)>> masturbates whenever $he can find a private moment to take care of the urges induced by the food, @@.mediumaquamarine;slightly reducing $his fear@@ of you. <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<else>> - refuses to use other slaves to get off, and is forced to take additional clients @@.gold;as punishment@@ for illicit masturbation. + refuses to use _whom to get off, and is forced to take additional clients @@.gold;as punishment@@ for illicit masturbation. <<set $slaves[$i].trust -= 2, $slaves[$i].need -= 10>> <</if>> <<elseif ($slaves[$i].devotion <= 20)>> - <<if (_release == "permissive")>> - prefers to masturbate rather than demanding sex from other slaves or giving free samples, @@.mediumaquamarine;slightly reducing $his fear@@ of you. + <<if (_release.masturbation === 1)>> + prefers to masturbate rather than demanding sex from _whom or giving free samples, @@.mediumaquamarine;slightly reducing $his fear@@ of you. <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<else>> - is forced by the urges induced by the food to either demand sex from other slaves or attempt to attract additional clients. $He @@.hotpink;hates $himself@@ for it. + is forced by the urges induced by the food to either demand sex from _whom or attempt to attract additional clients. $He @@.hotpink;hates $himself@@ for it. <<set $slaves[$i].devotion += 1, $slaves[$i].need *= 0.5>> <</if>> <<elseif ($slaves[$i].devotion <= 50)>> @@ -300,28 +332,28 @@ <</if>> <<else>> /* universalRulesConsent is not zero */ <<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>> - <<if (_release == "permissive")>> - prefers to masturbate rather than asking other slaves for sex or giving free samples, @@.mediumaquamarine;slightly reducing $his fear@@ of you. + <<if (_release.masturbation === 1)>> + prefers to masturbate rather than asking _whom for sex or giving free samples, @@.mediumaquamarine;slightly reducing $his fear@@ of you. <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<else>> - refuses to ask other slaves for sex, and is @@.gold;severely punished@@ for illicit masturbation. + refuses to ask _whom for sex, and is @@.gold;severely punished@@ for illicit masturbation. <<set $slaves[$i].trust -= 2, $slaves[$i].need -= 10>> <</if>> <<elseif ($slaves[$i].devotion <= 20)>> - <<if (_release == "permissive")>> - prefers to masturbate rather than trading sex with other slaves or giving free samples, @@.mediumaquamarine;slightly reducing $his fear@@ of you. + <<if (_release.masturbation === 1)>> + prefers to masturbate rather than trading sex with _whom or giving free samples, @@.mediumaquamarine;slightly reducing $his fear@@ of you. <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<else>> - is forced by the urges induced by the food to either swap sex with other slaves or attempt to attract additional clients. $He @@.hotpink;hates $himself@@ for it. + is forced by the urges induced by the food to either swap sex with _whom or attempt to attract additional clients. $He @@.hotpink;hates $himself@@ for it. <<set $slaves[$i].devotion += 1, $slaves[$i].need *= 0.5>> <</if>> <<elseif ($slaves[$i].devotion <= 50)>> - @@.hotpink;accepts having to ask@@ other slaves for sex, + @@.hotpink;accepts having to ask@@ _whom for sex, <<set $slaves[$i].devotion += 1, $slaves[$i].need = 0>> <<saRulesConsentFetish>> <<saRulesConsentDiscoversFetish>> <<else>> - @@.mediumaquamarine;relies@@ on your other slaves for mutual satisfaction, + @@.mediumaquamarine;relies@@ on _whom for mutual satisfaction, <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<saRulesConsentFetish>> <<saRulesConsentDiscoversFetish>> @@ -394,7 +426,7 @@ Under the rules, $he will someday find $himself constantly molested by other slaves, but $he's already in such constant terror it that it doesn't cross $his mind. <</if>> <</if>> - <<elseif (_release != "restrictive" && _release != "chastity" && _release != "chastity")>> + <<elseif (_release.slaves === 1)>> <<if ($slaves[$i].energy > 95)>> <<if $BrothiIDs.length > 2>> Under the rules, $he's allowed to demand that other slaves get $him off, and $he @@.hotpink;adores@@ you for providing plentiful outlets for $his nymphomania. @@ -540,31 +572,43 @@ <</if>> <<case "be the DJ">> <<if $slaves[$i].energy <= 20>> - is frigid and has little interest in getting off<<if (_release != "permissive")>>, making the rule restricting $his sexual outlets superfluous<</if>>. + is frigid and has little interest in getting off<<if App.Utils.releaseRestricted($slaves[$i])>>, making the rule restricting $his sexual outlets superfluous<</if>>. <<set $slaves[$i].need = 0>> <<elseif $slaves[$i].need < $slaves[$i].needCap*0.5>> - <<if (_release != "permissive") && (_release != "masturbation") && (_release != "chastity")>> - gets off at work, so being forbidden from masturbation doesn't really bother $him. - <<set $slaves[$i].need -= 20>> + <<if App.Utils.hasNonassignmentSex($slaves[$i])>> + gets off at work as well as during $his rest time. + <<elseif _release.masturbation == 0>> + gets off at work, so being unable to touch $himself doesn't bother $him. <<else>> - gets off at work, so $he doesn't feel the need for release that often. - <<set $slaves[$i].need -= 20>> + gets off at work, so being unable to sate $his urges doesn't affect $him seriously. <</if>> + <<set $slaves[$i].need -= 20>> <<else>> - <<if (_release == "restrictive" || _release == "chastity")>> - willingly begs you to - <<saRulesPlayerFetishPlay>> - whenever $he crosses paths with you. - <<saRulesPlayerEnergy>> - <<saRulesPlayerDiscoversFetish>> - <<saRulesPlayerDrugEffects>> - <<elseif (_release == "masturbation")>> + <<if (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 0)>> + <<if _release.master === 1>> + willingly begs you to + <<saRulesPlayerFetishPlay>> + whenever $he crosses paths with you. + <<saRulesPlayerEnergy>> + <<saRulesPlayerDiscoversFetish>> + <<saRulesPlayerDrugEffects>> + <<else>> /* _release.master === 0 */ + <<saRulesNoRelease>> + <<saRulesNoReleaseDrugEffects>> + <</if>> + <<elseif (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 1)>> <<if ($slaves[$i].devotion < 80)>> is a little disappointed that $he's limited to $his <<if !hasAnyArms($slaves[$i])>>imagination<<else>>hand<<if hasBothArms($slaves[$i])>>s<</if>><</if>> and toys, but @@.mediumaquamarine;trusts you know what's best for $him.@@ <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<else>> - @@.mediumaquamarine;trusts your judgment@@ that only $he really knows how to pleasure $himself, though $he @@.mediumorchid;often wonders why you don't use $him.@@ - <<set $slaves[$i].trust += 1, $slaves[$i].devotion -= 2, $slaves[$i].need = 0>> + @@.mediumaquamarine;trusts your judgment@@ that only $he really knows how to pleasure + <<if _release.master === 0>> + $himself, though $he @@.mediumorchid;often wonders why you don't use $him.@@ + <<set $slaves[$i].devotion -= 2>> + <<else>> + $himself. + <</if>> + <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <</if>> <<if $slaves[$i].devotion > 20>> When $he does play with $himself, $he @@ -572,14 +616,19 @@ <<saRulesMasturbationDiscoversFetish>> <</if>> <<saRulesMasturbationDrugEffects>> - <<else>> /* releaseRules not restrictive */ - <<if ($universalRulesConsent == 0)>> + <<else>> /* hasNonassignmentSex is true */ + <<if (!App.Utils.hasFamilySex($slaves[$i]) && _release.slaves === 0)>> + /* no family and no other slaves, so release comes from her partner */ + finds frequent sexual release with his <<= relationshipTerm($slaves[$i])>> @@.lightgreen;<<= getSlave($slaves[$i].relationshipTarget).slaveName>>,@@ which $he is @@.mediumaquamarine;thankful for.@@ + <<set $slaves[$i].trust++, $slaves[$i].need -= 20>> /* TODO: probably should be based on BOTH slaves' need, leaving the less needy partner slightly frustrated */ + <<saRulesPartnerDrugEffects>> + <<elseif ($universalRulesConsent == 0)>> happily @@.mediumaquamarine;avails $himself@@ of your permission to <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<saRulesRapeFetish>> <<saRulesRapeDiscoversFetish>> <<else>> /* universalRulesConsent is not zero */ - @@.mediumaquamarine;relies@@ on your other slaves for mutual satisfaction, + @@.mediumaquamarine;relies@@ on <<if _release.slaves === 1>>your other slaves<<else>>$his family<</if>> for mutual satisfaction, <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<saRulesConsentFetish>> <<saRulesConsentDiscoversFetish>> @@ -592,7 +641,7 @@ <<set $slaves[$i].devotion += 1, $slaves[$i].trust += 1>> <<if ($universalRulesConsent == 0)>> - <<if (_release != "restrictive" && _release != "chastity" && _release != "chastity")>> + <<if (_release.slaves === 1)>> <<if ($slaves[$i].energy > 95)>> <<if $ClubiIDs.length > 2>> Under the rules, $he's allowed to demand that other slaves get $him off, and $he @@.hotpink;adores@@ you for leaving plentiful, tantalizing, outlets for $his nymphomania under $his care. @@ -716,35 +765,40 @@ $He hates $himself for climaxing, and knows the mild aphrodisiacs in the food are forcing $his arousal, @@.gold;frightening $him.@@ <<set $slaves[$i].trust -= 1>> <</if>> - <<set $slaves[$i].need -= 20>> - <<elseif (_release != "permissive") && (_release != "masturbation") && (_release != "chastity")>> - gets off at work, so being forbidden to masturbate doesn't affect $him seriously. - <<set $slaves[$i].need -= 20>> + <<elseif App.Utils.hasNonassignmentSex($slaves[$i])>> + gets off at work as well as during $his rest time. + <<elseif _release.masturbation == 0>> + gets off at work, so being unable to touch $himself doesn't bother $him. <<else>> - gets off at work, so $he doesn't feel the need to masturbate frequently. - <<set $slaves[$i].need -= 20>> + gets off at work, so being unable to sate $his urges doesn't affect $him seriously. <</if>> + <<set $slaves[$i].need -= 20>> <<else>> - <<if (_release == "restrictive" || _release == "chastity")>> - <<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>> - refuses to come up to the penthouse for sexual release, and is @@.gold;severely punished@@ for illicit masturbation. - <<set $slaves[$i].trust -= 2>> - <<elseif ($slaves[$i].devotion <= 50)>> - <<if $slaves[$i].devotion <= 20>> - occasionally comes to the penthouse to beg for sexual release. - <<else>> - doesn't mind having to come to the penthouse to beg for sexual release. - <</if>> - <<saRulesPlayerEnergy>> - <<else>> /* $slaves[$i].devotion > 50 */ - willingly comes up to the penthouse and begs you to - <<saRulesPlayerFetishPlay>> - every break $he gets. - <<saRulesPlayerEnergy>> - <</if>> /* closes $slaves[$i].devotion > 50 */ - <<saRulesPlayerDiscoversFetish>> - <<saRulesPlayerDrugEffects>> - <<elseif (_release == "masturbation")>> + <<if (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 0)>> + <<if _release.master === 1>> + <<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>> + refuses to come up to the penthouse for sexual release, and is @@.gold;severely punished@@ for illicit masturbation. + <<set $slaves[$i].trust -= 2>> + <<elseif ($slaves[$i].devotion <= 50)>> + <<if $slaves[$i].devotion <= 20>> + occasionally comes to the penthouse to beg for sexual release. + <<else>> + doesn't mind having to come to the penthouse to beg for sexual release. + <</if>> + <<saRulesPlayerEnergy>> + <<else>> /* $slaves[$i].devotion > 50 */ + willingly comes up to the penthouse and begs you to + <<saRulesPlayerFetishPlay>> + every break $he gets. + <<saRulesPlayerEnergy>> + <</if>> /* closes $slaves[$i].devotion > 50 */ + <<saRulesPlayerDiscoversFetish>> + <<saRulesPlayerDrugEffects>> + <<else>> /* _release.master === 0 */ + <<saRulesNoRelease>> + <<saRulesNoReleaseDrugEffects>> + <</if>> + <<elseif (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 1)>> <<if $slaves[$i].sexualFlaw == "attention whore">> @@.hotpink;enjoys being allowed to masturbate,@@ especially since it's often on stage for $clubName's amusement. <<set $slaves[$i].devotion += 1, $slaves[$i].need = 0>> @@ -761,8 +815,14 @@ is a little disappointed that $he's limited to $his <<if !hasAnyArms($slaves[$i])>>imagination<<else>>hand<<if hasBothArms($slaves[$i])>>s<</if>><</if>> and toys, but @@.mediumaquamarine;trusts you know what's best for $him.@@ <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<else>> - @@.mediumaquamarine;trusts your judgment@@ that only $he really knows how to pleasure $himself, though $he @@.mediumorchid;often wonders why you don't use $him.@@ - <<set $slaves[$i].trust += 1, $slaves[$i].devotion -= 2, $slaves[$i].need = 0>> + @@.mediumaquamarine;trusts your judgment@@ that only $he really knows how to pleasure + <<if _release.master === 0>> + $himself, though $he @@.mediumorchid;often wonders why you don't use $him.@@ + <<set $slaves[$i].devotion -= 2>> + <<else>> + $himself. + <</if>> + <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <</if>> <<if $slaves[$i].devotion > 20>> When $he does play with $himself, $he @@ -770,22 +830,28 @@ <<saRulesMasturbationDiscoversFetish>> <</if>> <<saRulesMasturbationDrugEffects>> - <<else>> /* releaseRules not restrictive */ - <<if ($universalRulesConsent == 0)>> + <<else>> /* hasNonassignmentSex is true */ + <<set _whom = (_release.slaves === 1) ? "other slaves" : $his + " family">> + <<if (!App.Utils.hasFamilySex($slaves[$i]) && _release.slaves === 0)>> + /* no family and no other slaves, so release comes from her partner */ + finds frequent sexual release with his <<= relationshipTerm($slaves[$i])>> @@.lightgreen;<<= getSlave($slaves[$i].relationshipTarget).slaveName>>,@@ which $he is @@.mediumaquamarine;thankful for.@@ + <<set $slaves[$i].trust++, $slaves[$i].need -= 20>> /* TODO: probably should be based on BOTH slaves' need, leaving the less needy partner slightly frustrated */ + <<saRulesPartnerDrugEffects>> + <<elseif ($universalRulesConsent == 0)>> <<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>> - <<if (_release == "permissive")>> + <<if (_release.masturbation === 1)>> masturbates whenever $he can find a private moment to take care of the urges induced by the food, @@.mediumaquamarine;slightly reducing $his fear@@ of you. <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<else>> - refuses to use other slaves to get off, and is forced to spend time with the citizens and their wandering hands @@.gold;as punishment@@ for illicit masturbation. + refuses to use _whom to get off, and is forced to spend time with the citizens and their wandering hands @@.gold;as punishment@@ for illicit masturbation. <<set $slaves[$i].trust -= 2, $slaves[$i].need -= 10>> <</if>> <<elseif ($slaves[$i].devotion <= 20)>> - <<if (_release == "permissive")>> - prefers to masturbate rather than demanding sex from other slaves or offering $himself up, @@.mediumaquamarine;slightly reducing $his fear@@ of you. + <<if (_release.masturbation === 1)>> + prefers to masturbate rather than demanding sex from _whom or offering $himself up, @@.mediumaquamarine;slightly reducing $his fear@@ of you. <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<else>> - is forced by the urges induced by the food to either demand sex from other slaves or offering $himself to patrons. $He @@.hotpink;hates $himself@@ for it. + is forced by the urges induced by the food to either demand sex from _whom or offering $himself to patrons. $He @@.hotpink;hates $himself@@ for it. <<set $slaves[$i].devotion += 1, $slaves[$i].need *= 0.5>> <</if>> <<elseif ($slaves[$i].devotion <= 50)>> @@ -801,28 +867,28 @@ <</if>> <<else>> /* universalRulesConsent is not zero */ <<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>> - <<if (_release == "permissive")>> - prefers to masturbate rather than asking other slaves for sex or offering $himself to patrons, @@.mediumaquamarine;slightly reducing $his fear@@ of you. + <<if (_release.masturbation === 1)>> + prefers to masturbate rather than asking _whom for sex or offering $himself to patrons, @@.mediumaquamarine;slightly reducing $his fear@@ of you. <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<else>> - refuses to ask other slaves for sex, and is @@.gold;severely punished@@ for illicit masturbation. + refuses to ask _whom for sex, and is @@.gold;severely punished@@ for illicit masturbation. <<set $slaves[$i].trust -= 2, $slaves[$i].need -= 10>> <</if>> <<elseif ($slaves[$i].devotion <= 20)>> - <<if (_release == "permissive")>> - prefers to masturbate rather than trading sex with other slaves or offering $himself up, @@.mediumaquamarine;slightly reducing $his fear@@ of you. + <<if (_release.masturbation === 1)>> + prefers to masturbate rather than trading sex with _whom or offering $himself up, @@.mediumaquamarine;slightly reducing $his fear@@ of you. <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<else>> - is forced by the urges induced by the food to either swap sex with other slaves or attempt to seduce amorous citizens. $He @@.hotpink;hates $himself@@ for it. + is forced by the urges induced by the food to either swap sex with _whom or attempt to seduce amorous citizens. $He @@.hotpink;hates $himself@@ for it. <<set $slaves[$i].devotion += 1, $slaves[$i].need *= 0.5>> <</if>> <<elseif ($slaves[$i].devotion <= 50)>> - @@.hotpink;accepts having to ask@@ other slaves for sex, + @@.hotpink;accepts having to ask@@ _whom for sex, <<set $slaves[$i].devotion += 1, $slaves[$i].need = 0>> <<saRulesConsentFetish>> <<saRulesConsentDiscoversFetish>> <<else>> - @@.mediumaquamarine;relies@@ on your other slaves for mutual satisfaction, + @@.mediumaquamarine;relies@@ on _whom for mutual satisfaction, <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<saRulesConsentFetish>> <<saRulesConsentDiscoversFetish>> @@ -867,7 +933,7 @@ Under the rules, $he will someday find $himself constantly molested by other slaves, but $he's already in such constant terror it that it doesn't cross $his mind. <</if>> <</if>> - <<elseif (_release != "restrictive" && _release != "chastity" && _release != "chastity")>> + <<elseif (_release.slaves === 1)>> <<if ($slaves[$i].energy > 95)>> <<if $ClubiIDs.length > 2>> Under the rules, $he's allowed to demand that other slaves get $him off, and $he @@.hotpink;adores@@ you for providing plentiful outlets for $his nymphomania. @@ -1014,31 +1080,43 @@ <<case "be the Nurse">> <<set $slaves[$i].need -= ($CliniciIDs.length*3)>> <<if $slaves[$i].energy <= 20>> - is frigid and has little interest in getting off<<if (_release != "permissive")>>, making the rule restricting $his sexual outlets superfluous<</if>>. + is frigid and has little interest in getting off<<if App.Utils.releaseRestricted($slaves[$i])>>, making the rule restricting $his sexual outlets superfluous<</if>>. <<set $slaves[$i].need = 0>> <<elseif $slaves[$i].need < $slaves[$i].needCap*0.5>> - <<if (_release != "permissive") && (_release != "masturbation") && (_release != "chastity")>> - gets off at work, so being forbidden from masturbation doesn't really bother $him. - <<set $slaves[$i].need -= 20>> + <<if App.Utils.hasNonassignmentSex($slaves[$i])>> + gets off at work as well as during $his rest time. + <<elseif _release.masturbation == 0>> + gets off at work, so being unable to touch $himself doesn't bother $him. <<else>> - gets off at work, so $he doesn't feel the need for release that often. - <<set $slaves[$i].need -= 20>> + gets off at work, so being unable to sate $his urges doesn't affect $him seriously. <</if>> + <<set $slaves[$i].need -= 20>> <<else>> - <<if (_release == "restrictive" || _release == "chastity")>> - willingly begs you to - <<saRulesPlayerFetishPlay>> - whenever $he crosses paths with you. - <<saRulesPlayerEnergy>> - <<saRulesPlayerDiscoversFetish>> - <<saRulesPlayerDrugEffects>> - <<elseif (_release == "masturbation")>> + <<if (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 0)>> + <<if _release.master === 1>> + willingly begs you to + <<saRulesPlayerFetishPlay>> + whenever $he crosses paths with you. + <<saRulesPlayerEnergy>> + <<saRulesPlayerDiscoversFetish>> + <<saRulesPlayerDrugEffects>> + <<else>> /* _release.master === 0 */ + <<saRulesNoRelease>> + <<saRulesNoReleaseDrugEffects>> + <</if>> + <<elseif (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 1)>> <<if ($slaves[$i].devotion < 80)>> is a little disappointed that $he's limited to $his <<if !hasAnyArms($slaves[$i])>>imagination<<else>>hand<<if hasBothArms($slaves[$i])>>s<</if>><</if>> and toys, but @@.mediumaquamarine;trusts you know what's best for $him.@@ <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<else>> - @@.mediumaquamarine;trusts your judgment@@ that only $he really knows how to pleasure $himself, though $he @@.mediumorchid;often wonders why you don't use $him.@@ - <<set $slaves[$i].trust += 1, $slaves[$i].devotion -= 2, $slaves[$i].need = 0>> + @@.mediumaquamarine;trusts your judgment@@ that only $he really knows how to pleasure + <<if _release.master === 0>> + $himself, though $he @@.mediumorchid;often wonders why you don't use $him.@@ + <<set $slaves[$i].devotion -= 2>> + <<else>> + $himself. + <</if>> + <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <</if>> <<if $slaves[$i].devotion > 20>> When $he does play with $himself, $he @@ -1046,14 +1124,19 @@ <<saRulesMasturbationDiscoversFetish>> <</if>> <<saRulesMasturbationDrugEffects>> - <<else>> /* releaseRules not restrictive */ - <<if ($universalRulesConsent == 0)>> + <<else>> /* hasNonassignmentSex is true */ + <<if (!App.Utils.hasFamilySex($slaves[$i]) && _release.slaves === 0)>> + /* no family and no other slaves, so release comes from her partner */ + finds frequent sexual release with his <<= relationshipTerm($slaves[$i])>> @@.lightgreen;<<= getSlave($slaves[$i].relationshipTarget).slaveName>>,@@ which $he is @@.mediumaquamarine;thankful for.@@ + <<set $slaves[$i].trust++, $slaves[$i].need -= 20>> /* TODO: probably should be based on BOTH slaves' need, leaving the less needy partner slightly frustrated */ + <<saRulesPartnerDrugEffects>> + <<elseif ($universalRulesConsent == 0)>> happily @@.mediumaquamarine;avails $himself@@ of your permission to <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<saRulesRapeFetish>> <<saRulesRapeDiscoversFetish>> <<else>> /* universalRulesConsent is not zero */ - @@.mediumaquamarine;relies@@ on your other slaves for mutual satisfaction, + @@.mediumaquamarine;relies@@ on <<if _release.slaves === 1>>your other slaves<<else>>$his family<</if>> for mutual satisfaction, <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<saRulesConsentFetish>> <<saRulesConsentDiscoversFetish>> @@ -1066,7 +1149,7 @@ <<set $slaves[$i].devotion += 1, $slaves[$i].trust += 1>> <<if ($universalRulesConsent == 0)>> - <<if (_release != "restrictive" && _release != "chastity" && _release != "chastity")>> + <<if (_release.slaves === 1)>> <<if ($slaves[$i].energy > 95)>> <<if $slaves.length > 5>> Under the rules, $he's allowed to demand that other slaves get $him off, and $he @@.hotpink;happily avails@@ $himself to any slaves visiting the patients under $his care. @@ -1174,11 +1257,14 @@ <<else>> <<set _lover = 0>> <</if>> + <<if _lover == 0 && $seeIncest == 1 && $familyTesting == 1>> + <<set _famVisitor = randomRelatedSlave($slaves[$i], (s) => { return canWalk(s) && isSlaveAvailable(s) && App.Utils.sexAllowed($slaves[$i], s); } )>> + <</if>> <<if $slaves[$i].devotion < -50>> - is so unhappy that $he has little interest in getting off<<if (_release != "permissive")>>, making the rule restricting $his sexual outlets superfluous<</if>>. + is so unhappy that $he has little interest in getting off<<if App.Utils.releaseRestricted($slaves[$i])>>, making the rule restricting $his sexual outlets superfluous<</if>>. <<set $slaves[$i].need = 0>> <<elseif $slaves[$i].energy <= 20>> - is frigid and has little interest in getting off<<if (_release != "permissive")>>, making the rule restricting $his sexual outlets superfluous<</if>>. + is frigid and has little interest in getting off<<if App.Utils.releaseRestricted($slaves[$i])>>, making the rule restricting $his sexual outlets superfluous<</if>>. <<set $slaves[$i].need = 0>> <<elseif $slaves[$i].relationship == -3>> is well taken care of during $his stay in $clinicName; you make sure your $wife's every sexual need is handled personally. @@ -1199,6 +1285,10 @@ <<set $slaves[$i].need = 0>> is well taken care of during $his stay in $clinicName; $his <<if $slaves[$i].relationship == 3>>friend with benefits<<elseif $slaves[$i].relationship == 4>>sweetheart<<else>>_wife2<</if>> frequently stops by when $he gets the chance to make sure $his sexual needs are properly handled. <<set $slaves[_lover].counter.oral += 14, $oralTotal += 14>> + <<elseif (def _famVisitor)>> + is well-loved by $his family; this week, his <<= relativeTerm($slaves[$i], _famVisitor)>> @@.lightgreen;_famVisitor.slaveName@@ pays special attention to $him, making sure $his sexual needs are met. + <<set $slaves[$i].need = 0>> + <<set _famVisitor.counter.oral += 7, $oralTotal += 7>> <<elseif $Nurse != 0>> is routinely brought to orgasm by $Nurse.slaveName as part of $his duties. <<if canPenetrate($slaves[$i]) && $Nurse.boobs >= 500>> @@ -1208,7 +1298,7 @@ /* possible cumflation code here */ <</if>> <<set $slaves[$i].need -= 60>> - <<elseif (_release == "masturbation") || (_release == "permissive")>> + <<elseif _release.masturbation === 1>> <<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>> takes solace in $his permission to masturbate rather than being forced to seek other means of release, @@.mediumaquamarine;reducing $his fear@@ of you. <<set $slaves[$i].trust += 2, $slaves[$i].need = 0>> @@ -1311,7 +1401,7 @@ <<else>> Under the rules, $he will find $himself constantly molested by other slaves once $he leaves $clinicName, but $he's already in such constant terror it that it doesn't cross $his mind. <</if>> - <<elseif (_release != "restrictive" && _release != "chastity")>> + <<elseif (_release.slaves === 1)>> <<if ($slaves[$i].energy > 95)>> Under the rules, $he's allowed to demand that other slaves get $him off, and $he @@.hotpink;eagerly takes the opportunity@@ whenever visiting slaves are present. <<set $slaves[$i].devotion += 1>> @@ -1434,32 +1524,59 @@ <<case "be the Wardeness">> <<set $slaves[$i].need -= ($CellBiIDs.length*5)>> <<if $slaves[$i].energy <= 20>> - is frigid and has little interest in getting off<<if (_release != "permissive")>>, making the rule restricting $his sexual outlets superfluous<</if>>. + is frigid and has little interest in getting off<<if App.Utils.releaseRestricted($slaves[$i])>>, making the rule restricting $his sexual outlets superfluous<</if>>. <<set $slaves[$i].need = 0>> <<elseif $slaves[$i].need < $slaves[$i].needCap*0.5>> gets off at work, so $he doesn't feel the need for release that often. <<set $slaves[$i].need -= 20>> <<else>> - <<if (_release == "restrictive" || _release == "chastity")>> - willingly begs you to - <<saRulesPlayerFetishPlay>> - whenever $he crosses paths with you. - <<saRulesPlayerEnergy>> - <<saRulesPlayerDiscoversFetish>> - <<saRulesPlayerDrugEffects>> - <<elseif (_release == "masturbation")>> - opts to @@.mediumaquamarine;take advantage of the prisoners@@ to - <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> - <<saRulesRapeFetish>> - <<saRulesRapeDiscoversFetish>> - <<saRulesPermissiveDrugEffects>> + <<if (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 0)>> + <<if _release.master === 1>> + willingly begs you to + <<saRulesPlayerFetishPlay>> + whenever $he crosses paths with you. + <<saRulesPlayerEnergy>> + <<saRulesPlayerDiscoversFetish>> + <<saRulesPlayerDrugEffects>> + <<else>> /* _release.master === 0 */ + <<saRulesNoRelease>> + <<saRulesNoReleaseDrugEffects>> + <</if>> + <<elseif (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 1)>> + <<if ($slaves[$i].devotion < 80)>> + is a little disappointed that $he's limited to $his <<if !hasAnyArms($slaves[$i])>>imagination<<else>>hand<<if hasBothArms($slaves[$i])>>s<</if>><</if>> and toys, especially with her prisoners available to her, but @@.mediumaquamarine;trusts you know what's best for $him.@@ + <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> + <<else>> + @@.mediumaquamarine;trusts your judgment@@ that only $he really knows how to pleasure + <<if _release.master === 0>> + $himself, though $he @@.mediumorchid;often wonders why you don't use $him.@@ + <<set $slaves[$i].devotion -= 2>> + <<else>> + $himself. + <</if>> + <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> + <</if>> + <<if $slaves[$i].devotion > 20>> + When $he does play with $himself, $he + <<saRulesMasturbationFetishPlay>> + <<saRulesMasturbationDiscoversFetish>> + <</if>> + <<saRulesMasturbationDrugEffects>> <<else>> - happily @@.mediumaquamarine;avails $himself of the prisoners@@ to - <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> - <<saRulesRapeFetish>> - <<saRulesRapeDiscoversFetish>> - <<saRulesPermissiveDrugEffects>> - <</if>> /* closes releaseRules not restrictive */ + <<if (!App.Utils.hasFamilySex($slaves[$i]) && _release.slaves === 0)>> + /* no family and no other slaves, so release comes from her partner */ + finds frequent sexual release with his <<= relationshipTerm($slaves[$i])>> @@.lightgreen;<<= getSlave($slaves[$i].relationshipTarget).slaveName>>,@@ which $he is @@.mediumaquamarine;thankful for.@@ + <<set $slaves[$i].trust++, $slaves[$i].need -= 20>> /* TODO: probably should be based on BOTH slaves' need, leaving the less needy partner slightly frustrated */ + <<saRulesPartnerDrugEffects>> + <<else>> + /* wardeness is not bound by Universal Consent */ + opts to @@.mediumaquamarine;take advantage of the prisoners@@ to + <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> + <<saRulesRapeFetish>> + <<saRulesRapeDiscoversFetish>> + <<saRulesPermissiveDrugEffects>> + <</if>> + <</if>> <</if>> $He is @@.hotpink;very happy@@ with $his private room in $cellblockName and @@.mediumaquamarine;trusts@@ you a bit more for placing $him in charge of it. @@ -1691,31 +1808,43 @@ <<case "be the Attendant">> <<set $slaves[$i].need -= ($SpaiIDs.length*3)>> <<if $slaves[$i].energy <= 20>> - is frigid and has little interest in getting off<<if (_release != "permissive")>>, making the rule restricting $his sexual outlets superfluous<</if>>. + is frigid and has little interest in getting off<<if App.Utils.releaseRestricted($slaves[$i])>>, making the rule restricting $his sexual outlets superfluous<</if>>. <<set $slaves[$i].need = 0>> <<elseif $slaves[$i].need < $slaves[$i].needCap*0.5>> - <<if (_release != "permissive") && (_release != "masturbation") && (_release != "chastity")>> - gets off while relieving $his charges, so being forbidden from masturbation doesn't really bother $him. - <<set $slaves[$i].need -= 20>> + <<if App.Utils.hasNonassignmentSex($slaves[$i])>> + gets off at work as well as during $his rest time. + <<elseif _release.masturbation == 0>> + gets off at work, so being unable to touch $himself doesn't bother $him. <<else>> - gets off while relieving $his charges, so $he doesn't feel the need for release that often. - <<set $slaves[$i].need -= 20>> + gets off at work, so being unable to sate $his urges doesn't affect $him seriously. <</if>> + <<set $slaves[$i].need -= 20>> <<else>> - <<if (_release == "restrictive" || _release == "chastity")>> - willingly begs you to - <<saRulesPlayerFetishPlay>> - whenever $he crosses paths with you. - <<saRulesPlayerEnergy>> - <<saRulesPlayerDiscoversFetish>> - <<saRulesPlayerDrugEffects>> - <<elseif (_release == "masturbation")>> + <<if (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 0)>> + <<if _release.master === 1>> + willingly begs you to + <<saRulesPlayerFetishPlay>> + whenever $he crosses paths with you. + <<saRulesPlayerEnergy>> + <<saRulesPlayerDiscoversFetish>> + <<saRulesPlayerDrugEffects>> + <<else>> /* _release.master === 0 */ + <<saRulesNoRelease>> + <<saRulesNoReleaseDrugEffects>> + <</if>> + <<elseif (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 1)>> <<if ($slaves[$i].devotion < 80)>> is a little disappointed that $he's limited to $his <<if !hasAnyArms($slaves[$i])>>imagination<<else>>hand<<if hasBothArms($slaves[$i])>>s<</if>><</if>>, creams, and toys, but @@.mediumaquamarine;trusts you know what's best for $him.@@ <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<else>> - @@.mediumaquamarine;trusts your judgment@@ that only $he really knows how to pleasure $himself, though $he @@.mediumorchid;often wonders why you don't use $him.@@ - <<set $slaves[$i].trust += 1, $slaves[$i].devotion -= 2, $slaves[$i].need = 0>> + @@.mediumaquamarine;trusts your judgment@@ that only $he really knows how to pleasure + <<if _release.master === 0>> + $himself, though $he @@.mediumorchid;often wonders why you don't use $him.@@ + <<set $slaves[$i].devotion -= 2>> + <<else>> + $himself. + <</if>> + <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <</if>> <<if $slaves[$i].devotion > 20>> When $he does play with $himself, $he @@ -1723,14 +1852,19 @@ <<saRulesMasturbationDiscoversFetish>> <</if>> <<saRulesMasturbationDrugEffects>> - <<else>> /* releaseRules not restrictive */ - <<if ($universalRulesConsent == 0)>> + <<else>> /* hasNonassignmentSex is true */ + <<if (!App.Utils.hasFamilySex($slaves[$i]) && _release.slaves === 0)>> + /* no family and no other slaves, so release comes from her partner */ + finds frequent sexual release with his <<= relationshipTerm($slaves[$i])>> @@.lightgreen;<<= getSlave($slaves[$i].relationshipTarget).slaveName>>@@ which $he is @@.mediumaquamarine;thankful for.@@ + <<set $slaves[$i].trust++, $slaves[$i].need -= 20>> /* TODO: probably should be based on BOTH slaves' need, leaving the less needy partner slightly frustrated */ + <<saRulesPartnerDrugEffects>> + <<elseif ($universalRulesConsent == 0)>> happily @@.mediumaquamarine;avails $himself@@ of your permission to <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<saRulesRapeFetish>> <<saRulesRapeDiscoversFetish>> <<else>> /* universalRulesConsent is not zero */ - @@.mediumaquamarine;relies@@ on your other slaves for mutual satisfaction, + @@.mediumaquamarine;relies@@ on <<if _release.slaves === 1>>your other slaves<<else>>$his family<</if>> for mutual satisfaction, <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<saRulesConsentFetish>> <<saRulesConsentDiscoversFetish>> @@ -1743,7 +1877,7 @@ <<set $slaves[$i].devotion += 1, $slaves[$i].trust += 1>> <<if ($universalRulesConsent == 0)>> - <<if (_release != "restrictive" && _release != "chastity" && _release != "chastity")>> + <<if (_release.slaves === 1)>> <<if ($slaves[$i].energy > 95)>> <<if $SpaiIDs.length > 2>> Under the rules, $he's allowed to demand that other slaves get $him off, and $he @@.hotpink;adores@@ you for all the warm, moist bodies lounging around $spaName. @@ -1864,26 +1998,31 @@ <</if>> <<set $slaves[$i].need -= 60>> <<else>> - <<if (_release == "restrictive" || _release == "chastity")>> - <<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>> - refuses to come up to the penthouse for sexual release, or to beg to share a bath with you, and is @@.gold;severely punished@@ for illicit masturbation. - <<set $slaves[$i].trust -= 2>> - <<elseif ($slaves[$i].devotion <= 50)>> - <<if $slaves[$i].devotion <= 20>> - occasionally comes to the penthouse to beg for sexual release or for you to join $him in $spaName. - <<else>> - doesn't mind having to come to the penthouse to beg for sexual release or for you to join $him in $spaName. - <</if>> - <<saRulesPlayerEnergy>> - <<else>> /* $slaves[$i].devotion > 50 */ - willingly comes up to the penthouse and begs you to - <<saRulesPlayerFetishPlay>> - whenever the urge strikes. - <<saRulesPlayerEnergy>> - <</if>> /* closes $slaves[$i].devotion > 50 */ - <<saRulesPlayerDiscoversFetish>> - <<saRulesPlayerDrugEffects>> - <<elseif (_release == "masturbation")>> + <<if (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 0)>> + <<if _release.master === 1>> + <<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>> + refuses to come up to the penthouse for sexual release, or to beg to share a bath with you, and is @@.gold;severely punished@@ for illicit masturbation. + <<set $slaves[$i].trust -= 2>> + <<elseif ($slaves[$i].devotion <= 50)>> + <<if $slaves[$i].devotion <= 20>> + occasionally comes to the penthouse to beg for sexual release or for you to join $him in $spaName. + <<else>> + doesn't mind having to come to the penthouse to beg for sexual release or for you to join $him in $spaName. + <</if>> + <<saRulesPlayerEnergy>> + <<else>> /* $slaves[$i].devotion > 50 */ + willingly comes up to the penthouse and begs you to + <<saRulesPlayerFetishPlay>> + whenever the urge strikes. + <<saRulesPlayerEnergy>> + <</if>> /* closes $slaves[$i].devotion > 50 */ + <<saRulesPlayerDiscoversFetish>> + <<saRulesPlayerDrugEffects>> + <<else>> /* _release.master === 0 */ + <<saRulesNoRelease>> + <<saRulesNoReleaseDrugEffects>> + <</if>> + <<elseif (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 1)>> <<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>> takes solace in $his permission to masturbate rather than being forced to beg for sex, @@.mediumaquamarine;reducing $his fear@@ of you. <<set $slaves[$i].trust += 2, $slaves[$i].need = 0>> @@ -1897,8 +2036,14 @@ is a little disappointed that $he's limited to $his <<if !hasAnyArms($slaves[$i])>>imagination<<else>>hand<<if hasBothArms($slaves[$i])>>s<</if>><</if>> and toys, but @@.mediumaquamarine;trusts you know what's best for $him.@@ <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<else>> - @@.mediumaquamarine;trusts your judgment@@ that only $he really knows how to pleasure $himself, though $he @@.mediumorchid;often wonders why you don't use $him.@@ - <<set $slaves[$i].trust += 1, $slaves[$i].devotion -= 2, $slaves[$i].need = 0>> + @@.mediumaquamarine;trusts your judgment@@ that only $he really knows how to pleasure + <<if _release.master === 0>> + $himself, though $he @@.mediumorchid;often wonders why you don't use $him.@@ + <<set $slaves[$i].devotion -= 2>> + <<else>> + $himself. + <</if>> + <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <</if>> <<if $slaves[$i].devotion > 20>> When $he does play with $himself, $he @@ -1906,22 +2051,28 @@ <<saRulesMasturbationDiscoversFetish>> <</if>> <<saRulesMasturbationDrugEffects>> - <<else>> /* releaseRules not restrictive */ - <<if ($universalRulesConsent == 0)>> + <<else>> /* hasNonassignmentSex is true */ + <<set _whom = (_release.slaves === 1) ? "other slaves" : $his + " family">> + <<if (!App.Utils.hasFamilySex($slaves[$i]) && _release.slaves === 0)>> + /* no family and no other slaves, so release comes from her partner */ + finds frequent sexual release with his <<= relationshipTerm($slaves[$i])>> @@.lightgreen;<<= getSlave($slaves[$i].relationshipTarget).slaveName>>@@ which $he is @@.mediumaquamarine;thankful for.@@ + <<set $slaves[$i].trust++, $slaves[$i].need -= 20>> /* TODO: probably should be based on BOTH slaves' need, leaving the less needy partner slightly frustrated */ + <<saRulesPartnerDrugEffects>> + <<elseif ($universalRulesConsent == 0)>> <<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>> - <<if (_release == "permissive")>> + <<if (_release.masturbation === 1)>> masturbates whenever $he can find a private moment to take care of the urges induced by the food, @@.mediumaquamarine;slightly reducing $his fear@@ of you. <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<else>> - refuses to ask other slaves for sex, and is @@.gold;severely punished@@ for illicit masturbation. + refuses to ask _whom for sex, and is @@.gold;severely punished@@ for illicit masturbation. <<set $slaves[$i].trust -= 2, $slaves[$i].need -= 10>> <</if>> <<elseif ($slaves[$i].devotion <= 20)>> - <<if (_release == "permissive")>> - prefers to masturbate rather than demanding sex from other slaves, @@.mediumaquamarine;slightly reducing $his fear@@ of you. + <<if (_release.masturbation === 1)>> + prefers to masturbate rather than demanding sex from _whom, @@.mediumaquamarine;slightly reducing $his fear@@ of you. <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<else>> - is forced by the urges induced by the food to demand sex from other slaves, and @@.hotpink;hates $himself@@ for it. + is forced by the urges induced by the food to demand sex from _whom, and @@.hotpink;hates $himself@@ for it. <<set $slaves[$i].devotion += 1, $slaves[$i].need *= 0.5>> <</if>> <<elseif ($slaves[$i].devotion <= 50)>> @@ -1937,28 +2088,28 @@ <</if>> <<else>> /* universalRulesConsent is not zero */ <<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>> - <<if (_release == "permissive")>> - prefers to masturbate rather than asking other slaves for sex or giving free samples, @@.mediumaquamarine;slightly reducing $his fear@@ of you. + <<if (_release.masturbation === 1)>> + prefers to masturbate rather than asking _whom for sex or giving free samples, @@.mediumaquamarine;slightly reducing $his fear@@ of you. <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<else>> - refuses to ask other slaves for sex, and is @@.gold;severely punished@@ for illicit masturbation. + refuses to ask _whom for sex, and is @@.gold;severely punished@@ for illicit masturbation. <<set $slaves[$i].trust -= 2, $slaves[$i].need -= 10>> <</if>> <<elseif ($slaves[$i].devotion <= 20)>> - <<if (_release == "permissive")>> - prefers to masturbate rather than trading sex with other slaves, @@.mediumaquamarine;slightly reducing $his fear@@ of you. + <<if (_release.masturbation === 1)>> + prefers to masturbate rather than trading sex with _whom, @@.mediumaquamarine;slightly reducing $his fear@@ of you. <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<else>> - is forced by the urges induced by the food to swap sex with other slaves, and @@.hotpink;hates $himself@@ for it. + is forced by the urges induced by the food to swap sex with _whom, and @@.hotpink;hates $himself@@ for it. <<set $slaves[$i].devotion += 1, $slaves[$i].need *= 0.5>> <</if>> <<elseif ($slaves[$i].devotion <= 50)>> - @@.hotpink;accepts having to ask@@ other slaves for sex, + @@.hotpink;accepts having to ask@@ _whom for sex, <<set $slaves[$i].devotion += 1, $slaves[$i].need = 0>> <<saRulesConsentFetish>> <<saRulesConsentDiscoversFetish>> <<else>> - @@.mediumaquamarine;relies@@ on your other slaves for mutual satisfaction, + @@.mediumaquamarine;relies@@ on _whom for mutual satisfaction, <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<saRulesConsentFetish>> <<saRulesConsentDiscoversFetish>> @@ -2054,7 +2205,7 @@ Under the rules, $he will someday find $himself constantly molested by other slaves, but $he's already in such constant terror it that it doesn't cross $his mind. <</if>> <</if>> - <<elseif (_release != "restrictive" && _release != "chastity")>> + <<elseif (_release.slaves === 1)>> <<if ($slaves[$i].energy > 95)>> <<if $SpaiIDs.length > 2>> Under the rules, $he's allowed to demand that other slaves get $him off, and $he @@.hotpink;adores@@ you for providing plentiful outlets for $his nymphomania. @@ -2196,31 +2347,41 @@ <<case "be the Matron">> <<set $slaves[$i].need -= ($NurseryiIDs.length*3)>> <<if $slaves[$i].energy <= 20>> - is frigid and has little interest in getting off<<if (_release != "permissive")>>, making the rule restricting $his sexual outlets superfluous<</if>>. + is frigid and has little interest in getting off<<if App.Utils.releaseRestricted($slaves[$i])>>, making the rule restricting $his sexual outlets superfluous<</if>>. <<set $slaves[$i].need = 0>> <<elseif $slaves[$i].need < $slaves[$i].needCap*0.5>> - <<if (_release != "permissive") && (_release != "masturbation") && (_release != "chastity")>> + <<if (_release.masturbation === 0)>> gets off while relieving $his charges, so being forbidden from masturbation doesn't really bother $him. - <<set $slaves[$i].need -= 20>> <<else>> gets off while relieving $his charges, so $he doesn't feel the need for release that often. - <<set $slaves[$i].need -= 20>> <</if>> + <<set $slaves[$i].need -= 20>> <<else>> - <<if (_release == "restrictive" || _release == "chastity")>> - willingly begs you to - <<saRulesPlayerFetishPlay>> - whenever $he crosses paths with you. - <<saRulesPlayerEnergy>> - <<saRulesPlayerDiscoversFetish>> - <<saRulesPlayerDrugEffects>> - <<elseif (_release == "masturbation")>> + <<if (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 0)>> + <<if _release.master === 1>> + willingly begs you to + <<saRulesPlayerFetishPlay>> + whenever $he crosses paths with you. + <<saRulesPlayerEnergy>> + <<saRulesPlayerDiscoversFetish>> + <<saRulesPlayerDrugEffects>> + <<else>> /* _release.master === 0 */ + <<saRulesNoRelease>> + <<saRulesNoReleaseDrugEffects>> + <</if>> + <<elseif (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 1)>> <<if ($slaves[$i].devotion < 80)>> is a little disappointed that $he's limited to $his <<if !hasAnyArms($slaves[$i])>>imagination<<else>>hand<<if hasBothArms($slaves[$i])>>s<</if>><</if>>, creams, and toys, but @@.mediumaquamarine;trusts you know what's best for $him.@@ <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<else>> - @@.mediumaquamarine;trusts your judgment@@ that only $he really knows how to pleasure $himself, though $he @@.mediumorchid;often wonders why you don't use $him.@@ - <<set $slaves[$i].trust += 1, $slaves[$i].devotion -= 2, $slaves[$i].need = 0>> + @@.mediumaquamarine;trusts your judgment@@ that only $he really knows how to pleasure + <<if _release.master === 0>> + $himself, though $he @@.mediumorchid;often wonders why you don't use $him.@@ + <<set $slaves[$i].devotion -= 2>> + <<else>> + $himself. + <</if>> + <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <</if>> <<if $slaves[$i].devotion > 20>> When $he does play with $himself, $he @@ -2228,14 +2389,19 @@ <<saRulesMasturbationDiscoversFetish>> <</if>> <<saRulesMasturbationDrugEffects>> - <<else>> /* releaseRules not restrictive */ - <<if ($universalRulesConsent == 0)>> + <<else>> /* hasNonassignmentSex is true */ + <<if (!App.Utils.hasFamilySex($slaves[$i]) && _release.slaves === 0)>> + /* no family and no other slaves, so release comes from her partner */ + finds frequent sexual release with his <<= relationshipTerm($slaves[$i])>> @@.lightgreen;<<= getSlave($slaves[$i].relationshipTarget).slaveName>>@@ which $he is @@.mediumaquamarine;thankful for.@@ + <<set $slaves[$i].trust++, $slaves[$i].need -= 20>> /* TODO: probably should be based on BOTH slaves' need, leaving the less needy partner slightly frustrated */ + <<saRulesPartnerDrugEffects>> + <<elseif ($universalRulesConsent == 0)>> happily @@.mediumaquamarine;avails $himself@@ of your permission to <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<saRulesRapeFetish>> <<saRulesRapeDiscoversFetish>> <<else>> /* universalRulesConsent is not zero */ - @@.mediumaquamarine;relies@@ on your other slaves for mutual satisfaction, + @@.mediumaquamarine;relies@@ on <<if _release.slaves === 1>>your other slaves<<else>>$his family<</if>> for mutual satisfaction, <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<saRulesConsentFetish>> <<saRulesConsentDiscoversFetish>> @@ -2248,7 +2414,7 @@ <<set $slaves[$i].devotion += 1, $slaves[$i].trust += 1>> <<if ($universalRulesConsent == 0)>> - <<if (_release != "restrictive" && _release != "chastity" && _release != "chastity")>> + <<if (_release.slaves === 1)>> <<if ($slaves[$i].energy > 95)>> <<if $NurseryiIDs.length > 2>> Under the rules, $he's allowed to demand that other slaves get $him off, and $he @@.hotpink;adores@@ you for all the nannies busily scurrying around $nurseryName. @@ -2369,26 +2535,31 @@ <</if>> <<set $slaves[$i].need -= 60>> <<else>> - <<if (_release == "restrictive" || _release == "chastity")>> - <<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>> - refuses to come up to the penthouse for sexual release and is @@.gold;severely punished@@ for illicit masturbation. - <<set $slaves[$i].trust -= 2>> - <<elseif ($slaves[$i].devotion <= 50)>> - <<if $slaves[$i].devotion <= 20>> - occasionally comes to the penthouse to beg for sexual release. - <<else>> - doesn't mind having to come to the penthouse to beg for sexual release. - <</if>> - <<saRulesPlayerEnergy>> - <<else>> /* $slaves[$i].devotion > 50 */ - willingly comes up to the penthouse and begs you to - <<saRulesPlayerFetishPlay>> - whenever the urge strikes. - <<saRulesPlayerEnergy>> - <</if>> /* closes $slaves[$i].devotion > 50 */ - <<saRulesPlayerDiscoversFetish>> - <<saRulesPlayerDrugEffects>> - <<elseif (_release == "masturbation")>> + <<if (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 0)>> + <<if _release.master === 1>> + <<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>> + refuses to come up to the penthouse for sexual release and is @@.gold;severely punished@@ for illicit masturbation. + <<set $slaves[$i].trust -= 2>> + <<elseif ($slaves[$i].devotion <= 50)>> + <<if $slaves[$i].devotion <= 20>> + occasionally comes to the penthouse to beg for sexual release. + <<else>> + doesn't mind having to come to the penthouse to beg for sexual release. + <</if>> + <<saRulesPlayerEnergy>> + <<else>> /* $slaves[$i].devotion > 50 */ + willingly comes up to the penthouse and begs you to + <<saRulesPlayerFetishPlay>> + whenever the urge strikes. + <<saRulesPlayerEnergy>> + <</if>> /* closes $slaves[$i].devotion > 50 */ + <<saRulesPlayerDiscoversFetish>> + <<saRulesPlayerDrugEffects>> + <<else>> /* _release.master === 0 */ + <<saRulesNoRelease>> + <<saRulesNoReleaseDrugEffects>> + <</if>> + <<elseif (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 1)>> <<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>> takes solace in $his permission to masturbate rather than being forced to beg for sex, @@.mediumaquamarine;reducing $his fear@@ of you. <<set $slaves[$i].trust += 2, $slaves[$i].need = 0>> @@ -2402,8 +2573,14 @@ is a little disappointed that $he's limited to $his <<if !hasAnyArms($slaves[$i])>>imagination<<else>>hand<<if hasBothArms($slaves[$i])>>s<</if>><</if>> and toys, but @@.mediumaquamarine;trusts you know what's best for $him.@@ <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<else>> - @@.mediumaquamarine;trusts your judgment@@ that only $he really knows how to pleasure $himself, though $he @@.mediumorchid;often wonders why you don't use $him.@@ - <<set $slaves[$i].trust += 1, $slaves[$i].devotion -= 2, $slaves[$i].need = 0>> + @@.mediumaquamarine;trusts your judgment@@ that only $he really knows how to pleasure + <<if _release.master === 0>> + $himself, though $he @@.mediumorchid;often wonders why you don't use $him.@@ + <<set $slaves[$i].devotion -= 2>> + <<else>> + $himself. + <</if>> + <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <</if>> <<if $slaves[$i].devotion > 20>> When $he does play with $himself, $he @@ -2411,22 +2588,28 @@ <<saRulesMasturbationDiscoversFetish>> <</if>> <<saRulesMasturbationDrugEffects>> - <<else>> /* releaseRules not restrictive */ - <<if ($universalRulesConsent == 0)>> + <<else>> /* hasNonassignmentSex is true */ + <<set _whom = (_release.slaves === 1) ? "other slaves" : $his + " family">> + <<if (!App.Utils.hasFamilySex($slaves[$i]) && _release.slaves === 0)>> + /* no family and no other slaves, so release comes from her partner */ + finds frequent sexual release with his <<= relationshipTerm($slaves[$i])>> @@.lightgreen;<<= getSlave($slaves[$i].relationshipTarget).slaveName>>@@ which $he is @@.mediumaquamarine;thankful for.@@ + <<set $slaves[$i].trust++, $slaves[$i].need -= 20>> /* TODO: probably should be based on BOTH slaves' need, leaving the less needy partner slightly frustrated */ + <<saRulesPartnerDrugEffects>> + <<elseif ($universalRulesConsent == 0)>> <<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>> - <<if (_release == "permissive")>> + <<if (_release.masturbation === 1)>> masturbates whenever $he can find a private moment to take care of the urges induced by the food, @@.mediumaquamarine;slightly reducing $his fear@@ of you. <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<else>> - refuses to ask other slaves for sex, and is @@.gold;severely punished@@ for illicit masturbation. + refuses to ask _whom for sex, and is @@.gold;severely punished@@ for illicit masturbation. <<set $slaves[$i].trust -= 2, $slaves[$i].need -= 10>> <</if>> <<elseif ($slaves[$i].devotion <= 20)>> - <<if (_release == "permissive")>> - prefers to masturbate rather than demanding sex from other slaves, @@.mediumaquamarine;slightly reducing $his fear@@ of you. + <<if (_release.masturbation === 1)>> + prefers to masturbate rather than demanding sex from _whom, @@.mediumaquamarine;slightly reducing $his fear@@ of you. <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<else>> - is forced by the urges induced by the food to demand sex from other slaves, and @@.hotpink;hates $himself@@ for it. + is forced by the urges induced by the food to demand sex from _whom, and @@.hotpink;hates $himself@@ for it. <<set $slaves[$i].devotion += 1, $slaves[$i].need *= 0.5>> <</if>> <<elseif ($slaves[$i].devotion <= 50)>> @@ -2442,28 +2625,28 @@ <</if>> <<else>> /* universalRulesConsent is not zero */ <<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>> - <<if (_release == "permissive")>> - prefers to masturbate rather than asking other slaves for sex or giving free samples, @@.mediumaquamarine;slightly reducing $his fear@@ of you. + <<if (_release.masturbation === 1)>> + prefers to masturbate rather than asking _whom for sex or giving free samples, @@.mediumaquamarine;slightly reducing $his fear@@ of you. <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<else>> - refuses to ask other slaves for sex, and is @@.gold;severely punished@@ for illicit masturbation. + refuses to ask _whom for sex, and is @@.gold;severely punished@@ for illicit masturbation. <<set $slaves[$i].trust -= 2, $slaves[$i].need -= 10>> <</if>> <<elseif ($slaves[$i].devotion <= 20)>> - <<if (_release == "permissive")>> - prefers to masturbate rather than trading sex with other slaves, @@.mediumaquamarine;slightly reducing $his fear@@ of you. + <<if (_release.masturbation === 1)>> + prefers to masturbate rather than trading sex with _whom, @@.mediumaquamarine;slightly reducing $his fear@@ of you. <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<else>> - is forced by the urges induced by the food to swap sex with other slaves, and @@.hotpink;hates $himself@@ for it. + is forced by the urges induced by the food to swap sex with _whom, and @@.hotpink;hates $himself@@ for it. <<set $slaves[$i].devotion += 1, $slaves[$i].need *= 0.5>> <</if>> <<elseif ($slaves[$i].devotion <= 50)>> - @@.hotpink;accepts having to ask@@ other slaves for sex, + @@.hotpink;accepts having to ask@@ _whom for sex, <<set $slaves[$i].devotion += 1, $slaves[$i].need = 0>> <<saRulesConsentFetish>> <<saRulesConsentDiscoversFetish>> <<else>> - @@.mediumaquamarine;relies@@ on your other slaves for mutual satisfaction, + @@.mediumaquamarine;relies@@ on _whom for mutual satisfaction, <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<saRulesConsentFetish>> <<saRulesConsentDiscoversFetish>> @@ -2559,7 +2742,7 @@ Under the rules, $he will someday find $himself constantly molested by other slaves, but $he's already in such constant terror it that it doesn't cross $his mind. <</if>> <</if>> - <<elseif (_release != "restrictive" && _release != "chastity")>> + <<elseif (_release.slaves === 1)>> <<if ($slaves[$i].energy > 95)>> <<if $NurseryiIDs.length > 2>> Under the rules, $he's allowed to demand that other slaves get $him off, and $he @@.hotpink;adores@@ you for providing plentiful outlets for $his nymphomania. @@ -2717,31 +2900,41 @@ <</if>> <<set $slaves[$i].counter.oral += _sexLessons, $oralTotal += _sexLessons>> <<if $slaves[$i].energy <= 20>> - is frigid and has little interest in getting off<<if (_release != "permissive")>>, making the rule restricting $his sexual outlets superfluous<</if>>. + is frigid and has little interest in getting off<<if App.Utils.releaseRestricted($slaves[$i])>>, making the rule restricting $his sexual outlets superfluous<</if>>. <<set $slaves[$i].need = 0>> <<elseif $slaves[$i].need < $slaves[$i].needCap*0.5>> - <<if (_release != "permissive") && (_release != "masturbation") && (_release != "chastity")>> + <<if (_release.masturbation == 0)>> gets off with $his students, so being forbidden from masturbation doesn't really bother $him. - <<set $slaves[$i].need -= 20>> <<else>> gets off with $his students, so $he doesn't feel the need for release that often. - <<set $slaves[$i].need -= 20>> <</if>> + <<set $slaves[$i].need -= 20>> <<else>> - <<if (_release == "restrictive" || _release == "chastity")>> - willingly begs you to - <<saRulesPlayerFetishPlay>> - in front of $his class whenever $he crosses paths with you. - <<saRulesPlayerEnergy>> - <<saRulesPlayerDiscoversFetish>> - <<saRulesPlayerDrugEffects>> - <<elseif (_release == "masturbation")>> + <<if (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 0)>> + <<if _release.master === 1>> + willingly begs you to + <<saRulesPlayerFetishPlay>> + in front of $his class whenever $he crosses paths with you. + <<saRulesPlayerEnergy>> + <<saRulesPlayerDiscoversFetish>> + <<saRulesPlayerDrugEffects>> + <<else>> /* _release.master === 0 */ + <<saRulesNoRelease>> + <<saRulesNoReleaseDrugEffects>> + <</if>> + <<elseif (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 1)>> <<if ($slaves[$i].devotion < 80)>> is a little disappointed that $he's limited to $his <<if !hasAnyArms($slaves[$i])>>imagination<<else>>hand<<if hasBothArms($slaves[$i])>>s<</if>><</if>> and toys outside of class, but @@.mediumaquamarine;trusts you know what's best for $him.@@ <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<else>> - @@.mediumaquamarine;trusts your judgment@@ that only $he really knows how to pleasure $himself, though $he @@.mediumorchid;often wonders why you won't make an example out of $him.@@ - <<set $slaves[$i].trust += 1, $slaves[$i].devotion -= 2, $slaves[$i].need = 0>> + @@.mediumaquamarine;trusts your judgment@@ that only $he really knows how to pleasure + <<if _release.master === 0>> + $himself, though $he @@.mediumorchid;often wonders why you won't make an example out of $him.@@ + <<set $slaves[$i].devotion -= 2>> + <<else>> + $himself. + <</if>> + <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <</if>> <<if $slaves[$i].devotion > 20>> When $he does play with $himself, $he @@ -2749,14 +2942,19 @@ <<saRulesMasturbationDiscoversFetish>> <</if>> <<saRulesMasturbationDrugEffects>> - <<else>> /* releaseRules not restrictive */ - <<if ($universalRulesConsent == 0)>> + <<else>> /* hasNonassignmentSex is true */ + <<if (!App.Utils.hasFamilySex($slaves[$i]) && _release.slaves === 0)>> + /* no family and no other slaves, so release comes from her partner */ + finds frequent sexual release with his <<= relationshipTerm($slaves[$i])>> @@.lightgreen;<<= getSlave($slaves[$i].relationshipTarget).slaveName>>@@ which $he is @@.mediumaquamarine;thankful for.@@ + <<set $slaves[$i].trust++, $slaves[$i].need -= 20>> /* TODO: probably should be based on BOTH slaves' need, leaving the less needy partner slightly frustrated */ + <<saRulesPartnerDrugEffects>> + <<elseif ($universalRulesConsent == 0)>> happily @@.mediumaquamarine;takes advantage@@ of your permission to <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<saRulesRapeFetish>> <<saRulesRapeDiscoversFetish>> <<else>> /* universalRulesConsent is not zero */ - @@.mediumaquamarine;relies@@ on your other slaves for mutual satisfaction, + @@.mediumaquamarine;relies@@ on <<if _release.slaves === 1>>your other slaves<<else>>$his family<</if>> for mutual satisfaction, <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<saRulesConsentFetish>> <<saRulesConsentDiscoversFetish>> @@ -2769,7 +2967,7 @@ <<set $slaves[$i].devotion += 1, $slaves[$i].trust += 1>> <<if ($universalRulesConsent == 0)>> - <<if (_release != "restrictive" && _release != "chastity" && _release != "chastity")>> + <<if (_release.slaves === 1)>> <<if ($slaves[$i].energy > 95)>> <<if $SchlRiIDs.length > 2>> Under the rules, $he's allowed to demand that other slaves get $him off, and $he @@.hotpink;adores@@ you for giving $him plentiful teacher's assistants for $his nymphomania. @@ -2918,35 +3116,40 @@ $He hates $himself for climaxing, and knows the mild aphrodisiacs in the food are forcing $his arousal, @@.gold;frightening $him.@@ <<set $slaves[$i].trust -= 1>> <</if>> - <<set $slaves[$i].need -= 20>> - <<elseif (_release != "permissive") && (_release != "masturbation") && (_release != "chastity")>> - gets off during class, so being forbidden to masturbate doesn't affect $him seriously. - <<set $slaves[$i].need -= 20>> + <<elseif App.Utils.hasNonassignmentSex($slaves[$i])>> + gets off during class as well as during $his rest time. + <<elseif _release.masturbation == 0>> + gets off during class, so being unable to touch $himself doesn't bother $him. <<else>> gets off during class, so $he doesn't feel the need to masturbate frequently. - <<set $slaves[$i].need -= 20>> <</if>> + <<set $slaves[$i].need -= 20>> <<else>> - <<if (_release == "restrictive" || _release == "chastity")>> - <<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>> - refuses to come to you for sexual release, and is @@.gold;severely punished@@ for illicit masturbation. - <<set $slaves[$i].trust -= 2>> - <<elseif ($slaves[$i].devotion <= 50)>> - <<if $slaves[$i].devotion <= 20>> - occasionally comes to you to beg for sexual release. - <<else>> - doesn't mind having to come to you to beg for sexual release. - <</if>> - <<saRulesPlayerEnergy>> - <<else>> /* $slaves[$i].devotion > 50 */ - willingly begs you to - <<saRulesPlayerFetishPlay>> - every chance $he gets. - <<saRulesPlayerEnergy>> - <</if>> /* closes $slaves[$i].devotion > 50 */ - <<saRulesPlayerDiscoversFetish>> - <<saRulesPlayerDrugEffects>> - <<elseif (_release == "masturbation")>> + <<if (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 0)>> + <<if _release.master === 1>> + <<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>> + refuses to come to you for sexual release, and is @@.gold;severely punished@@ for illicit masturbation. + <<set $slaves[$i].trust -= 2>> + <<elseif ($slaves[$i].devotion <= 50)>> + <<if $slaves[$i].devotion <= 20>> + occasionally comes to you to beg for sexual release. + <<else>> + doesn't mind having to come to you to beg for sexual release. + <</if>> + <<saRulesPlayerEnergy>> + <<else>> /* $slaves[$i].devotion > 50 */ + willingly begs you to + <<saRulesPlayerFetishPlay>> + every chance $he gets. + <<saRulesPlayerEnergy>> + <</if>> /* closes $slaves[$i].devotion > 50 */ + <<saRulesPlayerDiscoversFetish>> + <<saRulesPlayerDrugEffects>> + <<else>> /* _release.master === 0 */ + <<saRulesNoRelease>> + <<saRulesNoReleaseDrugEffects>> + <</if>> + <<elseif (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 1)>> <<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>> takes solace in $his permission to masturbate rather than being forced to beg for sex, @@.mediumaquamarine;reducing $his fear@@ of you. <<set $slaves[$i].trust += 2, $slaves[$i].need = 0>> @@ -2960,8 +3163,14 @@ is a little disappointed that $he's limited to $his <<if !hasAnyArms($slaves[$i])>>imagination<<else>>hand<<if hasBothArms($slaves[$i])>>s<</if>><</if>> and toys, but @@.mediumaquamarine;trusts you know what's best for $him.@@ <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<else>> - @@.mediumaquamarine;trusts your judgment@@ that only $he really knows how to pleasure $himself, though $he @@.mediumorchid;often wonders why you don't use $him.@@ - <<set $slaves[$i].trust += 1, $slaves[$i].devotion -= 2, $slaves[$i].need = 0>> + @@.mediumaquamarine;trusts your judgment@@ that only $he really knows how to pleasure + <<if _release.master === 0>> + $himself, though $he @@.mediumorchid;often wonders why you don't use $him.@@ + <<set $slaves[$i].devotion -= 2>> + <<else>> + $himself. + <</if>> + <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <</if>> <<if $slaves[$i].devotion > 20>> When $he does play with $himself, $he @@ -2969,22 +3178,28 @@ <<saRulesMasturbationDiscoversFetish>> <</if>> <<saRulesMasturbationDrugEffects>> - <<else>> /* releaseRules not restrictive */ - <<if ($universalRulesConsent == 0)>> + <<else>> /* hasNonassignmentSex is true */ + <<set _whom = (_release.slaves === 1) ? "other slaves" : $his + " family">> + <<if (!App.Utils.hasFamilySex($slaves[$i]) && _release.slaves === 0)>> + /* no family and no other slaves, so release comes from her partner */ + finds frequent sexual release with his <<= relationshipTerm($slaves[$i])>> @@.lightgreen;<<= getSlave($slaves[$i].relationshipTarget).slaveName>>@@ which $he is @@.mediumaquamarine;thankful for.@@ + <<set $slaves[$i].trust++, $slaves[$i].need -= 20>> /* TODO: probably should be based on BOTH slaves' need, leaving the less needy partner slightly frustrated */ + <<saRulesPartnerDrugEffects>> + <<elseif ($universalRulesConsent == 0)>> <<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>> - <<if (_release == "permissive")>> + <<if (_release.masturbation === 1)>> masturbates whenever $he can find a private moment to take care of the urges induced by the food, @@.mediumaquamarine;slightly reducing $his fear@@ of you. <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<else>> - refuses to use other slaves to get off, and is @@.gold;severely punished@@ for illicit masturbation. + refuses to use _whom to get off, and is @@.gold;severely punished@@ for illicit masturbation. <<set $slaves[$i].trust -= 2, $slaves[$i].need -= 10>> <</if>> <<elseif ($slaves[$i].devotion <= 20)>> - <<if (_release == "permissive")>> - prefers to masturbate rather than demanding sex from other slaves, @@.mediumaquamarine;slightly reducing $his fear@@ of you. + <<if (_release.masturbation === 1)>> + prefers to masturbate rather than demanding sex from _whom, @@.mediumaquamarine;slightly reducing $his fear@@ of you. <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<else>> - is forced to demand sex from other slaves by the urges induced by the food, and @@.hotpink;hates $himself@@ for it. + is forced to demand sex from _whom by the urges induced by the food, and @@.hotpink;hates $himself@@ for it. <<set $slaves[$i].devotion += 1, $slaves[$i].need *= 0.5>> <</if>> <<elseif ($slaves[$i].devotion <= 50)>> @@ -3000,28 +3215,28 @@ <</if>> <<else>> /* universalRulesConsent is not zero */ <<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>> - <<if (_release == "permissive")>> - prefers to masturbate rather than asking other slaves for sex, @@.mediumaquamarine;slightly reducing $his fear@@ of you. + <<if (_release.masturbation === 1)>> + prefers to masturbate rather than asking _whom for sex, @@.mediumaquamarine;slightly reducing $his fear@@ of you. <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<else>> - refuses to ask other slaves for sex, and is @@.gold;severely punished@@ for illicit masturbation. + refuses to ask _whom for sex, and is @@.gold;severely punished@@ for illicit masturbation. <<set $slaves[$i].trust -= 2, $slaves[$i].need -= 10>> <</if>> <<elseif ($slaves[$i].devotion <= 20)>> - <<if (_release == "permissive")>> - prefers to masturbate rather than trading sex with other slaves, @@.mediumaquamarine;slightly reducing $his fear@@ of you. + <<if (_release.masturbation === 1)>> + prefers to masturbate rather than trading sex with _whom, @@.mediumaquamarine;slightly reducing $his fear@@ of you. <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<else>> - is forced to swap sex with other slaves by the urges induced by the food, and @@.hotpink;hates $himself@@ for it. + is forced to swap sex with _whom by the urges induced by the food, and @@.hotpink;hates $himself@@ for it. <<set $slaves[$i].devotion += 1, $slaves[$i].need *= 0.5>> <</if>> <<elseif ($slaves[$i].devotion <= 50)>> - @@.hotpink;accepts having to ask@@ other slaves for sex, + @@.hotpink;accepts having to ask@@ _whom for sex, <<set $slaves[$i].devotion += 1, $slaves[$i].need = 0>> <<saRulesConsentFetish>> <<saRulesConsentDiscoversFetish>> <<else>> - @@.mediumaquamarine;relies@@ on your other slaves for mutual satisfaction, + @@.mediumaquamarine;relies@@ on _whom for mutual satisfaction, <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<saRulesConsentFetish>> <<saRulesConsentDiscoversFetish>> @@ -3067,7 +3282,7 @@ Under the rules, $he will someday find $himself constantly molested by other slaves, but $he's already in such constant terror it that it doesn't cross $his mind. <</if>> <</if>> - <<elseif (_release != "restrictive" && _release != "chastity")>> + <<elseif (_release.slaves === 1)>> <<if ($slaves[$i].energy > 95)>> <<if $SchlRiIDs.length > 2>> Under the rules, $he's allowed to demand that other slaves get $him off, and $he @@.hotpink;adores@@ you for providing plentiful outlets for $his nymphomania. @@ -3214,10 +3429,10 @@ <<case "be the Stewardess">> <<set $slaves[$i].need -= $ServQiIDs.length*10>> <<if $slaves[$i].energy <= 20>> - is frigid and has little interest in getting off<<if (_release != "permissive")>>, making the rule restricting $his sexual outlets superfluous<</if>>. + is frigid and has little interest in getting off<<if App.Utils.releaseRestricted($slaves[$i])>>, making the rule restricting $his sexual outlets superfluous<</if>>. <<set $slaves[$i].need = 0>> <<elseif $slaves[$i].need < $slaves[$i].needCap*0.5>> - <<if (_release != "permissive") && (_release != "masturbation") && (_release != "chastity")>> + <<if _release.masturbation === 0>> gets off while performing $his duties, so being forbidden from masturbation doesn't really bother $him. <<set $slaves[$i].need -= 20>> <<else>> @@ -3225,20 +3440,31 @@ <<set $slaves[$i].need -= 20>> <</if>> <<else>> - <<if (_release == "restrictive" || _release == "chastity")>> - willingly begs you to - <<saRulesPlayerFetishPlay>> - whenever $he crosses paths with you. - <<saRulesPlayerEnergy>> - <<saRulesPlayerDiscoversFetish>> - <<saRulesPlayerDrugEffects>> - <<elseif (_release == "masturbation")>> + <<if (_!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 0)>> + <<if _release.master === 1>> + willingly begs you to + <<saRulesPlayerFetishPlay>> + whenever $he crosses paths with you. + <<saRulesPlayerEnergy>> + <<saRulesPlayerDiscoversFetish>> + <<saRulesPlayerDrugEffects>> + <<else>> /* _release.master === 0 */ + <<saRulesNoRelease>> + <<saRulesNoReleaseDrugEffects>> + <</if>> + <<elseif (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 1)>> <<if ($slaves[$i].devotion < 80)>> is a little disappointed that $he's limited to $his <<if !hasAnyArms($slaves[$i])>>imagination<<else>>hand<<if hasBothArms($slaves[$i])>>s<</if>><</if>> and toys, but @@.mediumaquamarine;trusts you know what's best for $him.@@ <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<else>> - @@.mediumaquamarine;trusts your judgment@@ that only $he really knows how to pleasure $himself, though $he @@.mediumorchid;often wonders why you don't use $him.@@ - <<set $slaves[$i].trust += 1, $slaves[$i].devotion -= 2, $slaves[$i].need = 0>> + @@.mediumaquamarine;trusts your judgment@@ that only $he really knows how to pleasure + <<if _release.master === 0>> + $himself, though $he @@.mediumorchid;often wonders why you don't use $him.@@ + <<set $slaves[$i].devotion -= 2>> + <<else>> + $himself. + <</if>> + <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <</if>> <<if $slaves[$i].devotion > 20>> When $he does play with $himself, $he @@ -3246,14 +3472,19 @@ <<saRulesMasturbationDiscoversFetish>> <</if>> <<saRulesMasturbationDrugEffects>> - <<else>> /* releaseRules not restrictive */ - <<if ($universalRulesConsent == 0)>> + <<else>> /* hasNonassignmentSex is true */ + <<if (!App.Utils.hasFamilySex($slaves[$i]) && _release.slaves === 0)>> + /* no family and no other slaves, so release comes from her partner */ + finds frequent sexual release with his <<= relationshipTerm($slaves[$i])>> @@.lightgreen;<<= getSlave($slaves[$i].relationshipTarget).slaveName>>@@ which $he is @@.mediumaquamarine;thankful for.@@ + <<set $slaves[$i].trust++, $slaves[$i].need -= 20>> /* TODO: probably should be based on BOTH slaves' need, leaving the less needy partner slightly frustrated */ + <<saRulesPartnerDrugEffects>> + <<elseif ($universalRulesConsent == 0)>> happily @@.mediumaquamarine;avails $himself@@ of your permission to <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<saRulesRapeFetish>> <<saRulesRapeDiscoversFetish>> <<else>> /* universalRulesConsent is not zero */ - @@.mediumaquamarine;relies@@ on your other slaves for mutual satisfaction, + @@.mediumaquamarine;relies@@ on <<if _release.slaves === 1>>your other slaves<<else>>$his family<</if>> for mutual satisfaction, <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<saRulesConsentFetish>> <<saRulesConsentDiscoversFetish>> @@ -3266,7 +3497,7 @@ <<set $slaves[$i].devotion += 1, $slaves[$i].trust += 1>> <<if ($universalRulesConsent == 0)>> - <<if (_release != "restrictive" && _release != "chastity" && _release != "chastity")>> + <<if (_release.slaves === 1)>> <<if ($slaves[$i].energy > 95)>> <<if $ServQiIDs.length > 2>> Under the rules, $he's allowed to demand that other slaves get $him off, and $he @@.hotpink;adores@@ you for leaving plentiful outlets for $his nymphomania under $his charge. @@ -3383,35 +3614,40 @@ $He hates $himself for climaxing, and knows the mild aphrodisiacs in the food are forcing $his arousal, @@.gold;frightening $him.@@ <<set $slaves[$i].trust -= 1>> <</if>> - <<set $slaves[$i].need -= 20>> - <<elseif (_release != "permissive") && (_release != "masturbation") && (_release != "chastity")>> - gets off at work, so being forbidden to masturbate doesn't affect $him seriously. - <<set $slaves[$i].need -= 20>> + <<elseif App.Utils.hasNonassignmentSex($slaves[$i])>> + gets off at work as well as during $his rest time. + <<elseif _release.masturbation == 0>> + gets off at work, so being unable to touch $himself doesn't bother $him. <<else>> - gets off at work, so $he doesn't feel the need to masturbate frequently. - <<set $slaves[$i].need -= 20>> + gets off at work, so being unable to sate $his urges doesn't affect $him seriously. <</if>> + <<set $slaves[$i].need -= 20>> <<else>> - <<if (_release == "restrictive" || _release == "chastity")>> - <<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>> - refuses to offer $himself to you for sexual release, and is @@.gold;severely punished@@ for illicit masturbation. - <<set $slaves[$i].trust -= 2>> - <<elseif ($slaves[$i].devotion <= 50)>> - <<if $slaves[$i].devotion <= 20>> - occasionally stops by your office to offer $himself to you. - <<else>> - doesn't mind stopping by your office to beg for sexual release. - <</if>> - <<saRulesPlayerEnergy>> - <<else>> /* $slaves[$i].devotion > 50 */ - willingly stops by your office and begs you to - <<saRulesPlayerFetishPlay>> - every break $he gets. - <<saRulesPlayerEnergy>> - <</if>> /* closes $slaves[$i].devotion > 50 */ - <<saRulesPlayerDiscoversFetish>> - <<saRulesPlayerDrugEffects>> - <<elseif (_release == "masturbation")>> + <<if (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 0)>> + <<if _release.master === 1>> + <<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>> + refuses to offer $himself to you for sexual release, and is @@.gold;severely punished@@ for illicit masturbation. + <<set $slaves[$i].trust -= 2>> + <<elseif ($slaves[$i].devotion <= 50)>> + <<if $slaves[$i].devotion <= 20>> + occasionally stops by your office to offer $himself to you. + <<else>> + doesn't mind stopping by your office to beg for sexual release. + <</if>> + <<saRulesPlayerEnergy>> + <<else>> /* $slaves[$i].devotion > 50 */ + willingly stops by your office and begs you to + <<saRulesPlayerFetishPlay>> + every break $he gets. + <<saRulesPlayerEnergy>> + <</if>> /* closes $slaves[$i].devotion > 50 */ + <<saRulesPlayerDiscoversFetish>> + <<saRulesPlayerDrugEffects>> + <<else>> /* _release.master === 0 */ + <<saRulesNoRelease>> + <<saRulesNoReleaseDrugEffects>> + <</if>> + <<elseif (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 1)>> <<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>> takes solace in $his permission to masturbate rather than being forced to beg for sex, @@.mediumaquamarine;reducing $his fear@@ of you. <<set $slaves[$i].trust += 2, $slaves[$i].need = 0>> @@ -3425,8 +3661,14 @@ is a little disappointed that $he's limited to $his <<if !hasAnyArms($slaves[$i])>>imagination<<else>>hand<<if hasBothArms($slaves[$i])>>s<</if>><</if>> and toys, but @@.mediumaquamarine;trusts you know what's best for $him.@@ <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<else>> - @@.mediumaquamarine;trusts your judgment@@ that only $he really knows how to pleasure $himself, though $he @@.mediumorchid;often wonders why you don't use $him.@@ - <<set $slaves[$i].trust += 1, $slaves[$i].devotion -= 2, $slaves[$i].need = 0>> + @@.mediumaquamarine;trusts your judgment@@ that only $he really knows how to pleasure + <<if _release.master === 0>> + $himself, though $he @@.mediumorchid;often wonders why you don't use $him.@@ + <<set $slaves[$i].devotion -= 2>> + <<else>> + $himself. + <</if>> + <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <</if>> <<if $slaves[$i].devotion > 20>> When $he does play with $himself, $he @@ -3434,22 +3676,28 @@ <<saRulesMasturbationDiscoversFetish>> <</if>> <<saRulesMasturbationDrugEffects>> - <<else>> /* releaseRules not restrictive */ - <<if ($universalRulesConsent == 0)>> + <<else>> /* hasNonassignmentSex is true */ + <<set _whom = (_release.slaves === 1) ? "other slaves" : $his + " family">> + <<if (!App.Utils.hasFamilySex($slaves[$i]) && _release.slaves === 0)>> + /* no family and no other slaves, so release comes from her partner */ + finds frequent sexual release with his <<= relationshipTerm($slaves[$i])>> @@.lightgreen;<<= getSlave($slaves[$i].relationshipTarget).slaveName>>@@ which $he is @@.mediumaquamarine;thankful for.@@ + <<set $slaves[$i].trust++, $slaves[$i].need -= 20>> /* TODO: probably should be based on BOTH slaves' need, leaving the less needy partner slightly frustrated */ + <<saRulesPartnerDrugEffects>> + <<elseif ($universalRulesConsent == 0)>> <<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>> - <<if (_release == "permissive")>> + <<if (_release.masturbation === 1)>> masturbates whenever $he can find a private moment to take care of the urges induced by the food, @@.mediumaquamarine;slightly reducing $his fear@@ of you. <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<else>> - refuses to use other slaves to get off, and is @@.gold;severely punished@@ for illicit masturbation. + refuses to use _whom to get off, and is @@.gold;severely punished@@ for illicit masturbation. <<set $slaves[$i].trust -= 2, $slaves[$i].need -= 10>> <</if>> <<elseif ($slaves[$i].devotion <= 20)>> - <<if (_release == "permissive")>> - prefers to masturbate rather than demanding sex from other slaves, @@.mediumaquamarine;slightly reducing $his fear@@ of you. + <<if (_release.masturbation === 1)>> + prefers to masturbate rather than demanding sex from _whom, @@.mediumaquamarine;slightly reducing $his fear@@ of you. <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<else>> - is forced to demand sex from other slaves by the urges induced by the food, and @@.hotpink;hates $himself@@ for it. + is forced to demand sex from _whom by the urges induced by the food, and @@.hotpink;hates $himself@@ for it. <<set $slaves[$i].devotion += 1, $slaves[$i].need *= 0.5>> <</if>> <<elseif ($slaves[$i].devotion <= 50)>> @@ -3465,28 +3713,28 @@ <</if>> <<else>> /* universalRulesConsent is not zero */ <<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>> - <<if (_release == "permissive")>> - prefers to masturbate rather than asking other slaves for sex, @@.mediumaquamarine;slightly reducing $his fear@@ of you. + <<if (_release.masturbation === 1)>> + prefers to masturbate rather than asking _whom for sex, @@.mediumaquamarine;slightly reducing $his fear@@ of you. <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<else>> - refuses to ask other slaves for sex, and is @@.gold;severely punished@@ for illicit masturbation. + refuses to ask _whom for sex, and is @@.gold;severely punished@@ for illicit masturbation. <<set $slaves[$i].trust -= 2, $slaves[$i].need -= 10>> <</if>> <<elseif ($slaves[$i].devotion <= 20)>> - <<if (_release == "permissive")>> - prefers to masturbate rather than trading sex with other slaves, @@.mediumaquamarine;slightly reducing $his fear@@ of you. + <<if (_release.masturbation === 1)>> + prefers to masturbate rather than trading sex with _whom, @@.mediumaquamarine;slightly reducing $his fear@@ of you. <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<else>> - is forced to swap sex with other slaves by the urges induced by the food, and @@.hotpink;hates $himself@@ for it. + is forced to swap sex with _whom by the urges induced by the food, and @@.hotpink;hates $himself@@ for it. <<set $slaves[$i].devotion += 1, $slaves[$i].need *= 0.5>> <</if>> <<elseif ($slaves[$i].devotion <= 50)>> - @@.hotpink;accepts having to ask@@ other slaves for sex, + @@.hotpink;accepts having to ask@@ _whom for sex, <<set $slaves[$i].devotion += 1, $slaves[$i].need = 0>> <<saRulesConsentFetish>> <<saRulesConsentDiscoversFetish>> <<else>> - @@.mediumaquamarine;relies@@ on your other slaves for mutual satisfaction, + @@.mediumaquamarine;relies@@ on _whom for mutual satisfaction, <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<saRulesConsentFetish>> <<saRulesConsentDiscoversFetish>> @@ -3588,7 +3836,7 @@ Under the rules and $his job, $he will someday find $himself constantly molested by other slaves, but $he's already in such constant terror it that it doesn't cross $his mind. <</if>> <</if>> - <<elseif (_release != "restrictive" && _release != "chastity")>> + <<elseif (_release.slaves === 1)>> Under the rules, $he's allowed to demand that other slaves to get $him off, but only when $he's finished $his shift. $He still @@.hotpink;adores@@ having the option. <<set $slaves[$i].devotion += 1>> <</if>> @@ -3713,31 +3961,41 @@ <<case "be the Milkmaid">> <<set $slaves[$i].need -= $DairyiIDs.length*5>> <<if $slaves[$i].energy <= 20>> - is frigid and has little interest in getting off<<if (_release != "permissive")>>, making the rule restricting $his sexual outlets superfluous<</if>>. + is frigid and has little interest in getting off<<if App.Utils.releaseRestricted($slaves[$i])>>, making the rule restricting $his sexual outlets superfluous<</if>>. <<set $slaves[$i].need = 0>> <<elseif $slaves[$i].need < $slaves[$i].needCap*0.5>> - <<if (_release != "permissive") && (_release != "masturbation") && (_release != "chastity")>> + <<if (_release.masturbation === 0)>> gets off while performing $his duties, so being forbidden from masturbation doesn't really bother $him. - <<set $slaves[$i].need -= 20>> <<else>> gets off while performing $his duties, so $he doesn't feel the need for release that often. - <<set $slaves[$i].need -= 20>> <</if>> + <<set $slaves[$i].need -= 20>> <<else>> - <<if (_release == "restrictive" || _release == "chastity")>> - willingly begs you to - <<saRulesPlayerFetishPlay>> - whenever you inspect $dairyName. - <<saRulesPlayerEnergy>> - <<saRulesPlayerDiscoversFetish>> - <<saRulesPlayerDrugEffects>> - <<elseif (_release == "masturbation")>> + <<if (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 0)>> + <<if _release.master === 1>> + willingly begs you to + <<saRulesPlayerFetishPlay>> + whenever you inspect $dairyName. + <<saRulesPlayerEnergy>> + <<saRulesPlayerDiscoversFetish>> + <<saRulesPlayerDrugEffects>> + <<else>> /* _release.master === 0 */ + <<saRulesNoRelease>> + <<saRulesNoReleaseDrugEffects>> + <</if>> + <<elseif (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 1)>> <<if ($slaves[$i].devotion < 80)>> is a little disappointed that $he's limited to $his <<if !hasAnyArms($slaves[$i])>>imagination<<else>>hand<<if hasBothArms($slaves[$i])>>s<</if>><</if>> and toys when off duty, but @@.mediumaquamarine;trusts you know what's best for $him.@@ <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<else>> - @@.mediumaquamarine;trusts your judgment@@ that only $he really knows how to pleasure $himself, though $he @@.mediumorchid;often wonders why you don't use $him.@@ - <<set $slaves[$i].trust += 1, $slaves[$i].devotion -= 2, $slaves[$i].need = 0>> + @@.mediumaquamarine;trusts your judgment@@ that only $he really knows how to pleasure + <<if _release.master === 0>> + $himself, though $he @@.mediumorchid;often wonders why you don't use $him.@@ + <<set $slaves[$i].devotion -= 2>> + <<else>> + $himself. + <</if>> + <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <</if>> <<if $slaves[$i].devotion > 20>> When $he does play with $himself, $he @@ -3745,14 +4003,19 @@ <<saRulesMasturbationDiscoversFetish>> <</if>> <<saRulesMasturbationDrugEffects>> - <<else>> /* releaseRules not restrictive */ - <<if ($universalRulesConsent == 0)>> + <<else>> /* hasNonassignmentSex is true */ + <<if (!App.Utils.hasFamilySex($slaves[$i]) && _release.slaves === 0)>> + /* no family and no other slaves, so release comes from her partner */ + finds frequent sexual release with his <<= relationshipTerm($slaves[$i])>> @@.lightgreen;<<= getSlave($slaves[$i].relationshipTarget).slaveName>>@@ which $he is @@.mediumaquamarine;thankful for.@@ + <<set $slaves[$i].trust++, $slaves[$i].need -= 20>> /* TODO: probably should be based on BOTH slaves' need, leaving the less needy partner slightly frustrated */ + <<saRulesPartnerDrugEffects>> + <<elseif ($universalRulesConsent == 0)>> happily @@.mediumaquamarine;avails $himself@@ of your permission to <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<saRulesRapeFetish>> <<saRulesRapeDiscoversFetish>> <<else>> /* universalRulesConsent is not zero */ - @@.mediumaquamarine;relies@@ on your other slaves for mutual satisfaction, + @@.mediumaquamarine;relies@@ on <<if _release.slaves === 1>>your other slaves<<else>>$his family<</if>> for mutual satisfaction, <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<saRulesConsentFetish>> <<saRulesConsentDiscoversFetish>> @@ -3765,7 +4028,7 @@ <<set $slaves[$i].devotion += 1, $slaves[$i].trust += 1>> <<if ($universalRulesConsent == 0)>> - <<if (_release != "restrictive" && _release != "chastity" && _release != "chastity")>> + <<if (_release.slaves === 1)>> <<if ($slaves[$i].energy > 95)>> <<if $DairyiIDs.length > 2>> Under the rules, $he's allowed to demand that other slaves get $him off, and $he @@.hotpink;adores@@ you for leaving plentiful outlets for $his nymphomania under $his charge. @@ -3880,10 +4143,10 @@ <</if>> <<else>> <<if $slaves[$i].devotion < -50>> - is so unhappy that $he has little interest in getting off<<if (_release != "permissive")>>, making the rule restricting $his sexual outlets superfluous<</if>>. + is so unhappy that $he has little interest in getting off<<if App.Utils.releaseRestricted($slaves[$i])>>, making the rule restricting $his sexual outlets superfluous<</if>>. <<set $slaves[$i].need = 0>> <<elseif $slaves[$i].energy <= 20>> - is frigid and has little interest in getting off<<if (_release != "permissive")>>, making the rule restricting $his sexual outlets superfluous<</if>>. + is frigid and has little interest in getting off<<if App.Utils.releaseRestricted($slaves[$i])>>, making the rule restricting $his sexual outlets superfluous<</if>>. <<set $slaves[$i].need = 0>> <<elseif $slaves[$i].need < $slaves[$i].needCap*0.5>> <<if ($slaves[$i].devotion <= 20)>> @@ -3894,7 +4157,7 @@ <<set $slaves[$i].trust -= 1>> <</if>> <<set $slaves[$i].need -= 20>> - <<elseif (_release != "permissive") && (_release != "masturbation") && (_release != "chastity")>> + <<elseif (_release.masturbation === 0)>> gets off from being milked, so being forbidden to masturbate doesn't affect $him seriously. <<set $slaves[$i].need -= 20>> <<else>> @@ -3902,26 +4165,31 @@ <<set $slaves[$i].need -= 20>> <</if>> <<else>> - <<if (_release == "restrictive" || _release == "chastity")>> - <<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>> - refuses to come to you for sexual release, and is @@.gold;severely punished@@ for illicit masturbation. - <<set $slaves[$i].trust -= 2>> - <<elseif ($slaves[$i].devotion <= 50)>> - <<if $slaves[$i].devotion <= 20>> - occasionally comes to you to beg for sexual release. - <<else>> - doesn't mind having to come to you to beg for sexual release. - <</if>> - <<saRulesPlayerEnergy>> - <<else>> /* $slaves[$i].devotion > 50 */ - willingly begs you to - <<saRulesPlayerFetishPlay>> - every chance $he gets. - <<saRulesPlayerEnergy>> - <</if>> /* closes $slaves[$i].devotion > 50 */ - <<saRulesPlayerDiscoversFetish>> - <<saRulesPlayerDrugEffects>> - <<elseif (_release == "masturbation")>> + <<if (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 0)>> + <<if _release.master === 1>> + <<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>> + refuses to come to you for sexual release, and is @@.gold;severely punished@@ for illicit masturbation. + <<set $slaves[$i].trust -= 2>> + <<elseif ($slaves[$i].devotion <= 50)>> + <<if $slaves[$i].devotion <= 20>> + occasionally comes to you to beg for sexual release. + <<else>> + doesn't mind having to come to you to beg for sexual release. + <</if>> + <<saRulesPlayerEnergy>> + <<else>> /* $slaves[$i].devotion > 50 */ + willingly begs you to + <<saRulesPlayerFetishPlay>> + every chance $he gets. + <<saRulesPlayerEnergy>> + <</if>> /* closes $slaves[$i].devotion > 50 */ + <<saRulesPlayerDiscoversFetish>> + <<saRulesPlayerDrugEffects>> + <<else>> /* _release.master === 0 */ + <<saRulesNoRelease>> + <<saRulesNoReleaseDrugEffects>> + <</if>> + <<elseif (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 1)>> <<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>> takes solace in $his permission to masturbate rather than being forced to beg for sex, @@.mediumaquamarine;reducing $his fear@@ of you. <<set $slaves[$i].trust += 2, $slaves[$i].need = 0>> @@ -3935,8 +4203,14 @@ is a little disappointed that $he's limited to $his <<if !hasAnyArms($slaves[$i])>>imagination<<else>>hand<<if hasBothArms($slaves[$i])>>s<</if>><</if>> and toys, but @@.mediumaquamarine;trusts you know what's best for $him.@@ <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<else>> - @@.mediumaquamarine;trusts your judgment@@ that only $he really knows how to pleasure $himself, though $he @@.mediumorchid;often wonders why you don't use $him.@@ - <<set $slaves[$i].trust += 1, $slaves[$i].devotion -= 2, $slaves[$i].need = 0>> + @@.mediumaquamarine;trusts your judgment@@ that only $he really knows how to pleasure + <<if _release.master === 0>> + $himself, though $he @@.mediumorchid;often wonders why you don't use $him.@@ + <<set $slaves[$i].devotion -= 2>> + <<else>> + $himself. + <</if>> + <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <</if>> <<if $slaves[$i].devotion > 20>> When $he does play with $himself, $he @@ -3944,22 +4218,28 @@ <<saRulesMasturbationDiscoversFetish>> <</if>> <<saRulesMasturbationDrugEffects>> - <<else>> /* releaseRules not restrictive */ - <<if ($universalRulesConsent == 0)>> + <<else>> /* hasNonassignmentSex is true */ + <<set _whom = (_release.slaves === 1) ? "other slaves" : $his + " family">> + <<if (!App.Utils.hasFamilySex($slaves[$i]) && _release.slaves === 0)>> + /* no family and no other slaves, so release comes from her partner */ + finds frequent sexual release with his <<= relationshipTerm($slaves[$i])>> @@.lightgreen;<<= getSlave($slaves[$i].relationshipTarget).slaveName>>@@ which $he is @@.mediumaquamarine;thankful for.@@ + <<set $slaves[$i].trust++, $slaves[$i].need -= 20>> /* TODO: probably should be based on BOTH slaves' need, leaving the less needy partner slightly frustrated */ + <<saRulesPartnerDrugEffects>> + <<elseif ($universalRulesConsent == 0)>> <<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>> - <<if (_release == "permissive")>> + <<if (_release.masturbation === 1)>> masturbates whenever $he can find a private moment to take care of the urges induced by the food, @@.mediumaquamarine;slightly reducing $his fear@@ of you. <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<else>> - refuses to use other slaves to get off, and is @@.gold;severely punished@@ for illicit masturbation. + refuses to use _whom to get off, and is @@.gold;severely punished@@ for illicit masturbation. <<set $slaves[$i].trust -= 2, $slaves[$i].need -= 10>> <</if>> <<elseif ($slaves[$i].devotion <= 20)>> - <<if (_release == "permissive")>> - prefers to masturbate rather than demanding sex from other slaves, @@.mediumaquamarine;slightly reducing $his fear@@ of you. + <<if (_release.masturbation === 1)>> + prefers to masturbate rather than demanding sex from _whom, @@.mediumaquamarine;slightly reducing $his fear@@ of you. <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<else>> - is forced to demand sex from other slaves by the urges induced by the food, and @@.hotpink;hates $himself@@ for it. + is forced to demand sex from _whom by the urges induced by the food, and @@.hotpink;hates $himself@@ for it. <<set $slaves[$i].devotion += 1, $slaves[$i].need *= 0.5>> <</if>> <<elseif ($slaves[$i].devotion <= 50)>> @@ -3975,28 +4255,28 @@ <</if>> <<else>> /* universalRulesConsent is not zero */ <<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>> - <<if (_release == "permissive")>> - prefers to masturbate rather than asking other slaves for sex, @@.mediumaquamarine;slightly reducing $his fear@@ of you. + <<if (_release.masturbation === 1)>> + prefers to masturbate rather than asking _whom for sex, @@.mediumaquamarine;slightly reducing $his fear@@ of you. <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<else>> - refuses to ask other slaves for sex, and is @@.gold;severely punished@@ for illicit masturbation. + refuses to ask _whom for sex, and is @@.gold;severely punished@@ for illicit masturbation. <<set $slaves[$i].trust -= 2, $slaves[$i].need -= 10>> <</if>> <<elseif ($slaves[$i].devotion <= 20)>> - <<if (_release == "permissive")>> - prefers to masturbate rather than trading sex with other slaves, @@.mediumaquamarine;slightly reducing $his fear@@ of you. + <<if (_release.masturbation === 1)>> + prefers to masturbate rather than trading sex with _whom, @@.mediumaquamarine;slightly reducing $his fear@@ of you. <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<else>> - is forced to swap sex with other slaves by the urges induced by the food, and @@.hotpink;hates $himself@@ for it. + is forced to swap sex with _whom by the urges induced by the food, and @@.hotpink;hates $himself@@ for it. <<set $slaves[$i].devotion += 1, $slaves[$i].need *= 0.5>> <</if>> <<elseif ($slaves[$i].devotion <= 50)>> - @@.hotpink;accepts having to ask@@ other slaves for sex, + @@.hotpink;accepts having to ask@@ _whom for sex, <<set $slaves[$i].devotion += 1, $slaves[$i].need = 0>> <<saRulesConsentFetish>> <<saRulesConsentDiscoversFetish>> <<else>> - @@.mediumaquamarine;relies@@ on your other slaves for mutual satisfaction, + @@.mediumaquamarine;relies@@ on _whom for mutual satisfaction, <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<saRulesConsentFetish>> <<saRulesConsentDiscoversFetish>> @@ -4123,7 +4403,7 @@ Under the rules, $he will someday find $himself constantly molested by other slaves, but $he's already in such constant terror it that it doesn't cross $his mind. <</if>> <</if>> - <<elseif (_release != "restrictive" && _release != "chastity")>> + <<elseif (_release.slaves === 1)>> <<if ($slaves[$i].energy > 95)>> <<if $DairyiIDs.length > 2>> Under the rules, $he's allowed to demand that other slaves to get $him off, and $he @@.hotpink;adores@@ you for providing plentiful outlets for $his nymphomania. @@ -4266,10 +4546,10 @@ <<case "be the Farmer">> <<set $slaves[$i].need -= $FarmyardiIDs.length*5>> <<if $slaves[$i].energy <= 20>> - is frigid and has little interest in getting off<<if (_release != "permissive")>>, making the rule restricting $his sexual outlets superfluous<</if>>. + is frigid and has little interest in getting off<<if App.Utils.releaseRestricted($slaves[$i])>>, making the rule restricting $his sexual outlets superfluous<</if>>. <<set $slaves[$i].need = 0>> <<elseif $slaves[$i].need < $slaves[$i].needCap*0.5>> - <<if (_release != "permissive") && (_release != "masturbation") && (_release != "chastity")>> + <<if (_release.masturbation === 0)>> gets off while performing $his duties, so being forbidden from masturbation doesn't really bother $him. <<set $slaves[$i].need -= 20>> <<else>> @@ -4277,20 +4557,31 @@ <<set $slaves[$i].need -= 20>> <</if>> <<else>> - <<if (_release == "restrictive" || _release == "chastity")>> - willingly begs you to - <<saRulesPlayerFetishPlay>> - whenever you inspect $farmyardName. - <<saRulesPlayerEnergy>> - <<saRulesPlayerDiscoversFetish>> - <<saRulesPlayerDrugEffects>> - <<elseif (_release == "masturbation")>> + <<if (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 0)>> + <<if _release.master === 1>> + willingly begs you to + <<saRulesPlayerFetishPlay>> + whenever you inspect $farmyardName. + <<saRulesPlayerEnergy>> + <<saRulesPlayerDiscoversFetish>> + <<saRulesPlayerDrugEffects>> + <<else>> /* _release.master === 0 */ + <<saRulesNoRelease>> + <<saRulesNoReleaseDrugEffects>> + <</if>> + <<elseif (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 1)>> <<if ($slaves[$i].devotion < 80)>> is a little disappointed that $he's limited to $his <<if !hasAnyArms($slaves[$i])>>imagination<<else>>hand<<if hasBothArms($slaves[$i])>>s<</if>><</if>> and toys when off duty, but @@.mediumaquamarine;trusts you know what's best for $him.@@ <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<else>> - @@.mediumaquamarine;trusts your judgment@@ that only $he really knows how to pleasure $himself, though $he @@.mediumorchid;often wonders why you don't use $him.@@ - <<set $slaves[$i].trust += 1, $slaves[$i].devotion -= 2, $slaves[$i].need = 0>> + @@.mediumaquamarine;trusts your judgment@@ that only $he really knows how to pleasure + <<if _release.master === 0>> + $himself, though $he @@.mediumorchid;often wonders why you don't use $him.@@ + <<set $slaves[$i].devotion -= 2>> + <<else>> + $himself. + <</if>> + <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <</if>> <<if $slaves[$i].devotion > 20>> When $he does play with $himself, $he @@ -4298,14 +4589,19 @@ <<saRulesMasturbationDiscoversFetish>> <</if>> <<saRulesMasturbationDrugEffects>> - <<else>> /* releaseRules not restrictive */ - <<if ($universalRulesConsent == 0)>> + <<else>> /* hasNonassignmentSex is true */ + <<if (!App.Utils.hasFamilySex($slaves[$i]) && _release.slaves === 0)>> + /* no family and no other slaves, so release comes from her partner */ + finds frequent sexual release with his <<= relationshipTerm($slaves[$i])>> @@.lightgreen;<<= getSlave($slaves[$i].relationshipTarget).slaveName>>@@ which $he is @@.mediumaquamarine;thankful for.@@ + <<set $slaves[$i].trust++, $slaves[$i].need -= 20>> /* TODO: probably should be based on BOTH slaves' need, leaving the less needy partner slightly frustrated */ + <<saRulesPartnerDrugEffects>> + <<elseif ($universalRulesConsent == 0)>> happily @@.mediumaquamarine;avails $himself@@ of your permission to <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<saRulesRapeFetish>> <<saRulesRapeDiscoversFetish>> <<else>> /* universalRulesConsent is not zero */ - @@.mediumaquamarine;relies@@ on your other slaves for mutual satisfaction, + @@.mediumaquamarine;relies@@ on <<if _release.slaves === 1>>your other slaves<<else>>$his family<</if>> for mutual satisfaction, <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<saRulesConsentFetish>> <<saRulesConsentDiscoversFetish>> @@ -4318,7 +4614,7 @@ <<set $slaves[$i].devotion += 1, $slaves[$i].trust += 1>> <<if ($universalRulesConsent == 0)>> - <<if (_release != "restrictive" && _release != "chastity" && _release != "chastity")>> + <<if (_release.slaves === 1)>> <<if ($slaves[$i].energy > 95)>> <<if $FarmyardiIDs.length > 2>> Under the rules, $he's allowed to demand that other slaves get $him off, and $he @@.hotpink;adores@@ you for leaving plentiful outlets for $his nymphomania under $his charge. @@ -4421,10 +4717,10 @@ <</if>> <<case "work as a farmhand">> <<if $slaves[$i].devotion < -50>> - is so unhappy that $he has little interest in getting off<<if (_release != "permissive")>>, making the rule restricting $his sexual outlets superfluous<</if>>. + is so unhappy that $he has little interest in getting off<<if App.Utils.releaseRestricted($slaves[$i])>>, making the rule restricting $his sexual outlets superfluous<</if>>. <<set $slaves[$i].need = 0>> <<elseif $slaves[$i].energy <= 20>> - is frigid and has little interest in getting off<<if (_release != "permissive")>>, making the rule restricting $his sexual outlets superfluous<</if>>. + is frigid and has little interest in getting off<<if App.Utils.releaseRestricted($slaves[$i])>>, making the rule restricting $his sexual outlets superfluous<</if>>. <<set $slaves[$i].need = 0>> <<elseif $slaves[$i].need < $slaves[$i].needCap*0.5>> <<if ($slaves[$i].devotion <= 20)>> @@ -4435,7 +4731,7 @@ <<set $slaves[$i].trust -= 1>> <</if>> <<set $slaves[$i].need -= 20>> - <<elseif (_release != "permissive") && (_release != "masturbation") && (_release != "chastity")>> + <<elseif (_release.masturbation === 0)>> gets off from working as a farmhand, so being forbidden to masturbate doesn't affect $him seriously. <<set $slaves[$i].need -= 20>> <<else>> @@ -4443,26 +4739,31 @@ <<set $slaves[$i].need -= 20>> <</if>> <<else>> - <<if (_release == "restrictive" || _release == "chastity")>> - <<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>> - refuses to come to you for sexual release, and is @@.gold;severely punished@@ for illicit masturbation. - <<set $slaves[$i].trust -= 2>> - <<elseif ($slaves[$i].devotion <= 50)>> - <<if $slaves[$i].devotion <= 20>> - occasionally comes to you to beg for sexual release. - <<else>> - doesn't mind having to come to you to beg for sexual release. - <</if>> - <<saRulesPlayerEnergy>> - <<else>> /* $slaves[$i].devotion > 50 */ - willingly begs you to - <<saRulesPlayerFetishPlay>> - every chance $he gets. - <<saRulesPlayerEnergy>> - <</if>> /* closes $slaves[$i].devotion > 50 */ - <<saRulesPlayerDiscoversFetish>> - <<saRulesPlayerDrugEffects>> - <<elseif (_release == "masturbation")>> + <<if (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 0)>> + <<if _release.master === 1>> + <<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>> + refuses to come to you for sexual release, and is @@.gold;severely punished@@ for illicit masturbation. + <<set $slaves[$i].trust -= 2>> + <<elseif ($slaves[$i].devotion <= 50)>> + <<if $slaves[$i].devotion <= 20>> + occasionally comes to you to beg for sexual release. + <<else>> + doesn't mind having to come to you to beg for sexual release. + <</if>> + <<saRulesPlayerEnergy>> + <<else>> /* $slaves[$i].devotion > 50 */ + willingly begs you to + <<saRulesPlayerFetishPlay>> + every chance $he gets. + <<saRulesPlayerEnergy>> + <</if>> /* closes $slaves[$i].devotion > 50 */ + <<saRulesPlayerDiscoversFetish>> + <<saRulesPlayerDrugEffects>> + <<else>> /* _release.master === 0 */ + <<saRulesNoRelease>> + <<saRulesNoReleaseDrugEffects>> + <</if>> + <<elseif (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 1)>> <<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>> takes solace in $his permission to masturbate rather than being forced to beg for sex, @@.mediumaquamarine;reducing $his fear@@ of you. <<set $slaves[$i].trust += 2, $slaves[$i].need = 0>> @@ -4476,8 +4777,14 @@ is a little disappointed that $he's limited to $his <<if !hasAnyArms($slaves[$i])>>imagination<<else>>hand<<if hasBothArms($slaves[$i])>>s<</if>><</if>> and toys, but @@.mediumaquamarine;trusts you know what's best for $him.@@ <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<else>> - @@.mediumaquamarine;trusts your judgment@@ that only $he really knows how to pleasure $himself, though $he @@.mediumorchid;often wonders why you don't use $him.@@ - <<set $slaves[$i].trust += 1, $slaves[$i].devotion -= 2, $slaves[$i].need = 0>> + @@.mediumaquamarine;trusts your judgment@@ that only $he really knows how to pleasure + <<if _release.master === 0>> + $himself, though $he @@.mediumorchid;often wonders why you don't use $him.@@ + <<set $slaves[$i].devotion -= 2>> + <<else>> + $himself. + <</if>> + <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <</if>> <<if $slaves[$i].devotion > 20>> When $he does play with $himself, $he @@ -4485,22 +4792,28 @@ <<saRulesMasturbationDiscoversFetish>> <</if>> <<saRulesMasturbationDrugEffects>> - <<else>> /* releaseRules not restrictive */ - <<if ($universalRulesConsent == 0)>> + <<else>> /* hasNonassignmentSex is true */ + <<set _whom = (_release.slaves === 1) ? "other slaves" : $his + " family">> + <<if (!App.Utils.hasFamilySex($slaves[$i]) && _release.slaves === 0)>> + /* no family and no other slaves, so release comes from her partner */ + finds frequent sexual release with his <<= relationshipTerm($slaves[$i])>> @@.lightgreen;<<= getSlave($slaves[$i].relationshipTarget).slaveName>>@@ which $he is @@.mediumaquamarine;thankful for.@@ + <<set $slaves[$i].trust++, $slaves[$i].need -= 20>> /* TODO: probably should be based on BOTH slaves' need, leaving the less needy partner slightly frustrated */ + <<saRulesPartnerDrugEffects>> + <<elseif ($universalRulesConsent == 0)>> <<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>> - <<if (_release == "permissive")>> + <<if (_release.masturbation === 1)>> masturbates whenever $he can find a private moment to take care of the urges induced by the food, @@.mediumaquamarine;slightly reducing $his fear@@ of you. <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<else>> - refuses to use other slaves to get off, and is @@.gold;severely punished@@ for illicit masturbation. + refuses to use _whom to get off, and is @@.gold;severely punished@@ for illicit masturbation. <<set $slaves[$i].trust -= 2, $slaves[$i].need -= 10>> <</if>> <<elseif ($slaves[$i].devotion <= 20)>> - <<if (_release == "permissive")>> - prefers to masturbate rather than demanding sex from other slaves, @@.mediumaquamarine;slightly reducing $his fear@@ of you. + <<if (_release.masturbation === 1)>> + prefers to masturbate rather than demanding sex from _whom, @@.mediumaquamarine;slightly reducing $his fear@@ of you. <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<else>> - is forced to demand sex from other slaves by the urges induced by the food, and @@.hotpink;hates $himself@@ for it. + is forced to demand sex from _whom by the urges induced by the food, and @@.hotpink;hates $himself@@ for it. <<set $slaves[$i].devotion += 1, $slaves[$i].need *= 0.5>> <</if>> <<elseif ($slaves[$i].devotion <= 50)>> @@ -4516,28 +4829,28 @@ <</if>> <<else>> /* universalRulesConsent is not zero */ <<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>> - <<if (_release == "permissive")>> - prefers to masturbate rather than asking other slaves for sex, @@.mediumaquamarine;slightly reducing $his fear@@ of you. + <<if (_release.masturbation === 1)>> + prefers to masturbate rather than asking _whom for sex, @@.mediumaquamarine;slightly reducing $his fear@@ of you. <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<else>> - refuses to ask other slaves for sex, and is @@.gold;severely punished@@ for illicit masturbation. + refuses to ask _whom for sex, and is @@.gold;severely punished@@ for illicit masturbation. <<set $slaves[$i].trust -= 2, $slaves[$i].need -= 10>> <</if>> <<elseif ($slaves[$i].devotion <= 20)>> - <<if (_release == "permissive")>> - prefers to masturbate rather than trading sex with other slaves, @@.mediumaquamarine;slightly reducing $his fear@@ of you. + <<if (_release.masturbation === 1)>> + prefers to masturbate rather than trading sex with _whom, @@.mediumaquamarine;slightly reducing $his fear@@ of you. <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<else>> - is forced to swap sex with other slaves by the urges induced by the food, and @@.hotpink;hates $himself@@ for it. + is forced to swap sex with _whom by the urges induced by the food, and @@.hotpink;hates $himself@@ for it. <<set $slaves[$i].devotion += 1, $slaves[$i].need *= 0.5>> <</if>> <<elseif ($slaves[$i].devotion <= 50)>> - @@.hotpink;accepts having to ask@@ other slaves for sex, + @@.hotpink;accepts having to ask@@ _whom for sex, <<set $slaves[$i].devotion += 1, $slaves[$i].need = 0>> <<saRulesConsentFetish>> <<saRulesConsentDiscoversFetish>> <<else>> - @@.mediumaquamarine;relies@@ on your other slaves for mutual satisfaction, + @@.mediumaquamarine;relies@@ on _whom for mutual satisfaction, <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<saRulesConsentFetish>> <<saRulesConsentDiscoversFetish>> @@ -4663,7 +4976,7 @@ Under the rules, $he will someday find $himself constantly molested by other slaves, but $he's already in such constant terror it that it doesn't cross $his mind. <</if>> <</if>> - <<elseif (_release != "restrictive" && _release != "chastity")>> + <<elseif (_release.slaves === 1)>> <<if ($slaves[$i].energy > 95)>> <<if $FarmyardiIDs.length > 2>> Under the rules, $he's allowed to demand that other slaves to get $him off, and $he @@.hotpink;adores@@ you for providing plentiful outlets for $his nymphomania. @@ -4893,7 +5206,7 @@ <<set $slaves[$i].trust -= 1>> <</if>> <<set $slaves[$i].need -= 20>> - <<elseif (_release != "permissive") && (_release != "masturbation") && (_release != "chastity")>> + <<elseif (_release.masturbation === 0)>> gets off regularly, so being forbidden to masturbate doesn't affect $him seriously. <<set $slaves[$i].need -= 20>> <<else>> @@ -5049,7 +5362,7 @@ <<set $slaves[$i].trust -= 1>> <</if>> <<set $slaves[$i].need -= 20>> - <<elseif (_release != "permissive") && (_release != "masturbation") && (_release != "chastity")>> + <<elseif (_release.masturbation === 0)>> gets off with $HeadGirl.slaveName, so being forbidden to masturbate doesn't affect $him seriously. <<set $slaves[$i].need -= 20>> <<else>> @@ -5188,10 +5501,10 @@ <</if>> <<default>> <<if $slaves[$i].devotion < -50>> - is so unhappy that $he has little interest in getting off<<if (_release != "permissive")>>, making the rule restricting $his sexual outlets superfluous<</if>>. + is so unhappy that $he has little interest in getting off<<if App.Utils.releaseRestricted($slaves[$i])>>, making the rule restricting $his sexual outlets superfluous<</if>>. <<set $slaves[$i].need = 0>> <<elseif $slaves[$i].energy <= 20>> - is frigid and has little interest in getting off<<if (_release != "permissive")>>, making the rule restricting $his sexual outlets superfluous<</if>>. + is frigid and has little interest in getting off<<if App.Utils.releaseRestricted($slaves[$i])>>, making the rule restricting $his sexual outlets superfluous<</if>>. <<set $slaves[$i].need = 0>> <<elseif $slaves[$i].need < $slaves[$i].needCap*0.5>> <<if ($slaves[$i].devotion <= 20)>> @@ -5201,35 +5514,38 @@ $He hates $himself for climaxing, and knows the mild aphrodisiacs in the food are forcing $his arousal, @@.gold;frightening $him.@@ <<set $slaves[$i].trust -= 1>> <</if>> - <<set $slaves[$i].need -= 20>> - <<elseif (_release != "permissive") && (_release != "masturbation") && (_release != "chastity")>> + <<elseif (_release.masturbation === 0)>> gets off at work, so being forbidden to masturbate doesn't affect $him seriously. - <<set $slaves[$i].need -= 20>> <<else>> gets off at work, so $he doesn't feel the need to masturbate frequently. - <<set $slaves[$i].need -= 20>> <</if>> + <<set $slaves[$i].need -= 20>> <<else>> - <<if (_release == "restrictive" || _release == "chastity")>> - <<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>> - refuses to come to you for sexual release, and is @@.gold;severely punished@@ for illicit masturbation. - <<set $slaves[$i].trust -= 2>> - <<elseif ($slaves[$i].devotion <= 50)>> - <<if $slaves[$i].devotion <= 20>> - occasionally comes to you to beg for sexual release. - <<else>> - doesn't mind having to come to you to beg for sexual release. - <</if>> - <<saRulesPlayerEnergy>> - <<else>> /* $slaves[$i].devotion > 50 */ - willingly begs you to - <<saRulesPlayerFetishPlay>> - every chance $he gets. - <<saRulesPlayerEnergy>> - <</if>> /* closes $slaves[$i].devotion > 50 */ - <<saRulesPlayerDiscoversFetish>> - <<saRulesPlayerDrugEffects>> - <<elseif (_release == "masturbation")>> + <<if (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 0)>> + <<if _release.master === 1>> + <<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>> + refuses to come to you for sexual release, and is @@.gold;severely punished@@ for illicit masturbation. + <<set $slaves[$i].trust -= 2>> + <<elseif ($slaves[$i].devotion <= 50)>> + <<if $slaves[$i].devotion <= 20>> + occasionally comes to you to beg for sexual release. + <<else>> + doesn't mind having to come to you to beg for sexual release. + <</if>> + <<saRulesPlayerEnergy>> + <<else>> /* $slaves[$i].devotion > 50 */ + willingly begs you to + <<saRulesPlayerFetishPlay>> + every chance $he gets. + <<saRulesPlayerEnergy>> + <</if>> /* closes $slaves[$i].devotion > 50 */ + <<saRulesPlayerDiscoversFetish>> + <<saRulesPlayerDrugEffects>> + <<else>> /* _release.master === 0 */ + <<saRulesNoRelease>> + <<saRulesNoReleaseDrugEffects>> + <</if>> + <<elseif (!App.Utils.hasNonassignmentSex($slaves[$i]) && _release.masturbation === 1)>> <<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>> takes solace in $his permission to masturbate rather than being forced to beg for sex, @@.mediumaquamarine;reducing $his fear@@ of you. <<set $slaves[$i].trust += 2, $slaves[$i].need = 0>> @@ -5243,8 +5559,14 @@ is a little disappointed that $he's limited to $his <<if !hasAnyArms($slaves[$i])>>imagination<<else>>hand<<if hasBothArms($slaves[$i])>>s<</if>><</if>> and toys, but @@.mediumaquamarine;trusts you know what's best for $him.@@ <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<else>> - @@.mediumaquamarine;trusts your judgment@@ that only $he really knows how to pleasure $himself, though $he @@.mediumorchid;often wonders why you don't use $him.@@ - <<set $slaves[$i].trust += 1, $slaves[$i].devotion -= 2, $slaves[$i].need = 0>> + @@.mediumaquamarine;trusts your judgment@@ that only $he really knows how to pleasure + <<if _release.master === 0>> + $himself, though $he @@.mediumorchid;often wonders why you don't use $him.@@ + <<set $slaves[$i].devotion -= 2>> + <<else>> + $himself. + <</if>> + <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <</if>> <<if $slaves[$i].devotion > 20>> When $he does play with $himself, $he @@ -5252,22 +5574,28 @@ <<saRulesMasturbationDiscoversFetish>> <</if>> <<saRulesMasturbationDrugEffects>> - <<else>> /* releaseRules not restrictive */ - <<if ($universalRulesConsent == 0)>> + <<else>> /* hasNonassignmentSex is true */ + <<set _whom = (_release.slaves === 1) ? "other slaves" : $his + " family">> + <<if (!App.Utils.hasFamilySex($slaves[$i]) && _release.slaves === 0)>> + /* no family and no other slaves, so release comes from her partner */ + finds frequent sexual release with his <<= relationshipTerm($slaves[$i])>> @@.lightgreen;<<= getSlave($slaves[$i].relationshipTarget).slaveName>>@@ which $he is @@.mediumaquamarine;thankful for.@@ + <<set $slaves[$i].trust++, $slaves[$i].need -= 20>> /* TODO: probably should be based on BOTH slaves' need, leaving the less needy partner slightly frustrated */ + <<saRulesPartnerDrugEffects>> + <<elseif ($universalRulesConsent == 0)>> <<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>> - <<if (_release == "permissive")>> + <<if (_release.masturbation === 1)>> masturbates whenever $he can find a private moment to take care of the urges induced by the food, @@.mediumaquamarine;slightly reducing $his fear@@ of you. <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<else>> - refuses to use other slaves to get off, and is @@.gold;severely punished@@ for illicit masturbation. + refuses to use _whom to get off, and is @@.gold;severely punished@@ for illicit masturbation. <<set $slaves[$i].trust -= 2, $slaves[$i].need -= 10>> <</if>> <<elseif ($slaves[$i].devotion <= 20)>> - <<if (_release == "permissive")>> - prefers to masturbate rather than demanding sex from other slaves, @@.mediumaquamarine;slightly reducing $his fear@@ of you. + <<if (_release.masturbation === 1)>> + prefers to masturbate rather than demanding sex from _whom, @@.mediumaquamarine;slightly reducing $his fear@@ of you. <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<else>> - is forced to demand sex from other slaves by the urges induced by the food, and @@.hotpink;hates $himself@@ for it. + is forced to demand sex from _whom by the urges induced by the food, and @@.hotpink;hates $himself@@ for it. <<set $slaves[$i].devotion += 1, $slaves[$i].need *= 0.5>> <</if>> <<elseif ($slaves[$i].devotion <= 50)>> @@ -5283,28 +5611,28 @@ <</if>> <<else>> /* universalRulesConsent is not zero */ <<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>> - <<if (_release == "permissive")>> - prefers to masturbate rather than asking other slaves for sex, @@.mediumaquamarine;slightly reducing $his fear@@ of you. + <<if (_release.masturbation === 1)>> + prefers to masturbate rather than asking _whom for sex, @@.mediumaquamarine;slightly reducing $his fear@@ of you. <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<else>> - refuses to ask other slaves for sex, and is @@.gold;severely punished@@ for illicit masturbation. + refuses to ask _whom for sex, and is @@.gold;severely punished@@ for illicit masturbation. <<set $slaves[$i].trust -= 2, $slaves[$i].need -= 10>> <</if>> <<elseif ($slaves[$i].devotion <= 20)>> - <<if (_release == "permissive")>> - prefers to masturbate rather than trading sex with other slaves, @@.mediumaquamarine;slightly reducing $his fear@@ of you. + <<if (_release.masturbation === 1)>> + prefers to masturbate rather than trading sex with _whom, @@.mediumaquamarine;slightly reducing $his fear@@ of you. <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<else>> - is forced to swap sex with other slaves by the urges induced by the food, and @@.hotpink;hates $himself@@ for it. + is forced to swap sex with _whom by the urges induced by the food, and @@.hotpink;hates $himself@@ for it. <<set $slaves[$i].devotion += 1, $slaves[$i].need *= 0.5>> <</if>> <<elseif ($slaves[$i].devotion <= 50)>> - @@.hotpink;accepts having to ask@@ other slaves for sex, + @@.hotpink;accepts having to ask@@ _whom for sex, <<set $slaves[$i].devotion += 1, $slaves[$i].need = 0>> <<saRulesConsentFetish>> <<saRulesConsentDiscoversFetish>> <<else>> - @@.mediumaquamarine;relies@@ on your other slaves for mutual satisfaction, + @@.mediumaquamarine;relies@@ on _whom for mutual satisfaction, <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> <<saRulesConsentFetish>> <<saRulesConsentDiscoversFetish>> @@ -5428,7 +5756,7 @@ Under the rules, $he will someday find $himself constantly molested by other slaves, but $he's already in such constant terror it that it doesn't cross $his mind. <</if>> <</if>> - <<elseif (_release != "restrictive" && _release != "chastity")>> + <<elseif (_release.slaves === 1)>> <<if ($slaves[$i].energy > 95)>> <<if $slaves.length > 2 || $menials > 0>> Under the rules, $he's allowed to demand that other slaves get $him off, and $he @@.hotpink;adores@@ you for providing plentiful outlets for $his nymphomania. diff --git a/src/utility/saRulesWidgets.tw b/src/utility/saRulesWidgets.tw index 28932d0984fbf21c7045876e790fb7ae04b20b98..e2d02816346caf7b2be24ae81600969ac53f1556 100644 --- a/src/utility/saRulesWidgets.tw +++ b/src/utility/saRulesWidgets.tw @@ -409,9 +409,10 @@ and <<widget "saRulesRapeFetish">> +<<set _who = ($slaves[$i].rules.release.slaves === 1) ? "other slaves" : $his + " family">> /* should be the only two choices if we get here */ <<if ($slaves[$i].fetishKnown == 1) && ($slaves[$i].fetishStrength > 60)>> <<if ($slaves[$i].fetish == "submissive")>> - plead that other slaves fuck $him. + plead that _who fuck $him. <<if $averageDick > 4>> <<if $slaves[$i].anus > 0 && $slaves[$i].anus < 3 && canDoAnal($slaves[$i])>> <<if ($slaves[$i].anus*40)-($averageDick*5) < random(1,100)>> @@ -432,11 +433,11 @@ and <</if>> <<run SimpleSexAct.Slave($slaves[$i], 7)>> <<elseif ($slaves[$i].fetish == "cumslut")>> - suck or be sucked by any slave $he fancies. + suck or be sucked by any <<if $slaves[$i].rules.release.slaves === 1>>slave<<else>>relative<</if>> $he fancies. <<set _fuckCount = random(5,15)>> <<set $slaves[$i].counter.oral += _fuckCount, $oralTotal += _fuckCount>> <<elseif ($slaves[$i].fetish == "humiliation")>> - demand that other slaves let $him fuck them in public. + demand that _who let $him fuck them in public. <<if !$slaves[$i].rivalry>> <<set _rival = randomRapeRivalryTarget($slaves[$i], (s) => { return (s.devotion <= 20 && s.trust < -20); })>> <<if def _rival>> @@ -459,7 +460,7 @@ and <<set $slaves[$i].counter.penetrative += _fuckCount, $penetrativeTotal += _fuckCount>> <</if>> <<elseif ($slaves[$i].fetish == "buttslut") && canDoAnal($slaves[$i])>> - demand that other slaves penetrate $his anus. + demand that _who penetrate $his anus. <<if $averageDick > 4>> <<if $slaves[$i].anus > 0 && $slaves[$i].anus < 3 && canDoAnal($slaves[$i])>> <<if ($slaves[$i].anus*30)-($averageDick*5) < random(1,100)>> @@ -471,7 +472,7 @@ and <<set _fuckCount = random(5,12)>> <<set $slaves[$i].counter.anal += _fuckCount, $analTotal += _fuckCount>> <<elseif ($slaves[$i].fetish == "boobs")>> - demand that other slaves massage $his breasts. + demand that _who massage $his breasts. <<if $slaves[$i].lactation > 0>> <<set $slaves[$i].lactationDuration = 2>> <<set $slaves[$i].boobs -= $slaves[$i].boobsMilk, $slaves[$i].boobsMilk = 0>> @@ -481,7 +482,7 @@ and <<set _fuckCount = random(10,25)>> <<set $slaves[$i].counter.mammary += _fuckCount, $mammaryTotal += _fuckCount>> <<elseif ($slaves[$i].fetish == "sadist")>> - force the most reluctant slaves to let $him fuck them. + force the most reluctant <<if $slaves[$i].rules.release.slaves === 1>>slaves<<else>>members of his family<</if>> to let $him fuck them. <<if !$slaves[$i].rivalry>> <<set _rival = randomRapeRivalryTarget($slaves[$i], (s) => { return (s.devotion <= 50 && s.sexualFlaw !== "none"); })>> <<if def _rival>> @@ -490,7 +491,7 @@ and rapes the poor slave's face<<if !canAchieveErection($slaves[$i])>> with <<if (hasAnyArms($slaves[$i]))>>$his fingers<<else>>a strap-on<</if>><</if>>. _rival.slaveName hates oral <<elseif _rival.sexualFlaw == "hates penetration" && canDoVaginal(_rival)>> rapes the poor slave's pussy<<if !canAchieveErection($slaves[$i])>> with <<if (hasAnyArms($slaves[$i]))>>$his fingers<<else>>a strap-on<</if>><</if>>. _rival.slaveName hates penetration - <<elseif (_rival.sexualFlaw == "hates anal" || _rival.sexualFlaw == "hates penetration") && canDoAnal(_rival>> + <<elseif (_rival.sexualFlaw == "hates anal" || _rival.sexualFlaw == "hates penetration") && canDoAnal(_rival)>> rapes the poor slave's ass<<if !canAchieveErection($slaves[$i])>> with <<if (hasAnyArms($slaves[$i]))>>$his fingers<<else>>a strap-on<</if>><</if>>. _rival.slaveName hates anal <<elseif _rival.sexualFlaw == "shamefast">> rapes the poor slave in public. _rival.slaveName is terribly shamefast @@ -518,7 +519,7 @@ and <<set $slaves[$i].counter.penetrative += _fuckCount, $penetrativeTotal += _fuckCount>> <</if>> <<elseif ($slaves[$i].fetish == "masochist")>> - demand that other slaves hurt $him. + demand that _who hurt $him. <<if $averageDick > 4>> <<if $slaves[$i].anus > 0 && $slaves[$i].anus < 3 && canDoAnal($slaves[$i])>> <<if ($slaves[$i].anus*30)-($averageDick*5) < random(1,100)>> @@ -539,7 +540,7 @@ and <</if>> <<run SimpleSexAct.Slave($slaves[$i], 12)>> <<elseif ($slaves[$i].fetish == "dom")>> - force other slaves to submit to $him. + force _who to submit to $him. <<if !$slaves[$i].rivalry>> <<set _rival = randomRapeRivalryTarget($slaves[$i], (s) => { return (s.devotion <= 20 && s.trust < -20); })>> <<if def _rival>> @@ -558,7 +559,7 @@ and <<set $slaves[$i].counter.penetrative += _fuckCount, $penetrativeTotal += _fuckCount>> <</if>> <<elseif ($slaves[$i].fetish == "pregnancy")>> - demand that other slaves indulge $his pregnancy fetish. + demand that _who indulge $his pregnancy fetish. <<if $averageDick > 5>> <<if $slaves[$i].mpreg == 0>> <<if $slaves[$i].vagina > 0 && $slaves[$i].vagina < 3 && canDoVaginal($slaves[$i])>> @@ -585,7 +586,7 @@ and <<set $slaves[$i].counter.penetrative += _fuckCount, $penetrativeTotal += _fuckCount>> <</if>> <<elseif ($slaves[$i].energy > 95)>> - demand that your other slaves satisfy $his formidable appetites. + demand that _who satisfy $his formidable appetites. <<if $averageDick > 4>> <<if $slaves[$i].anus > 0 && $slaves[$i].anus < 3 && canDoAnal($slaves[$i])>> <<if ($slaves[$i].anus*30)-($averageDick*5) < random(1,100)>> @@ -610,7 +611,7 @@ and <<set $slaves[$i].counter.penetrative += _fuckCount, $penetrativeTotal += _fuckCount>> <</if>> <<else>> - demand that other slaves have sex with $him. + demand that _who have sex with $him. <<run SimpleSexAct.Slave($slaves[$i], 7)>> <<if canPenetrate($slaves[$i])>> <<set _fuckCount = random(3,6)>> @@ -618,7 +619,7 @@ and <</if>> <</if>> <<else>> - demand that other slaves have sex with $him. + demand that _who have sex with $him. <<run SimpleSexAct.Slave($slaves[$i], 7)>> <<if canPenetrate($slaves[$i])>> <<set _fuckCount = random(3,6)>> @@ -897,6 +898,7 @@ and <<widget "saRulesPermissiveDrugEffects">> +<<set _who = ($slaves[$i].rules.release.slaves === 1) ? "other slaves" : $his + " family">> /* should be the only two choices if we get here */ <<if $slaves[$i].balls > 0>> <<if $slaves[$i].drugs == "testicle enhancement" || $slaves[$i].drugs == "intensive testicle enhancement">> <<if ($slaves[$i].devotion > 20) || ($slaves[$i].trust < -20)>> @@ -907,9 +909,9 @@ and <<else>> $his cumhole produces slow, anemic ejaculations, no matter how backed up $he is. <</if>> - $He is very reliant on your other slaves to help $him, which @@.mediumaquamarine;habituates $him@@ to slave sex. + $He is very reliant on _who to help $him, which @@.mediumaquamarine;habituates $him@@ to slave sex. <<else>> - $His terribly swollen balls force $him to rely on other slaves for release several times a day, and jetting cum into and onto them @@.mediumaquamarine;habituates $him@@ to slave sex. + $His terribly swollen balls force $him to rely on _who for release several times a day, and jetting cum into and onto them @@.mediumaquamarine;habituates $him@@ to slave sex. <</if>> <<set $slaves[$i].trust += 1>> <<else>> @@ -925,9 +927,9 @@ and <<else>> $his cumhole produces slow, anemic ejaculations, no matter how backed up $he is. <</if>> - $He is completely dependent on your other slaves to help $him, which @@.mediumaquamarine;habituates $him@@ to slave sex. + $He is completely dependent on your _who to help $him, which @@.mediumaquamarine;habituates $him@@ to slave sex. <<else>> - $His grotesquely swollen balls force $him to rely on other slaves for release throughout times a day, and swelling them with cum @@.mediumaquamarine;habituates $him@@ to slave sex, though you have to take precautions so $he doesn't knock up your entire stock. + $His grotesquely swollen balls force $him to rely on _who for release throughout times a day, and swelling them with cum @@.mediumaquamarine;habituates $him@@ to slave sex, though you have to take precautions so $he doesn't knock up your entire stock. <</if>> <<set $slaves[$i].trust += 1>> <<else>> @@ -937,8 +939,116 @@ and <</if>> <</if>> <<if $slaves[$i].drugs == "super fertility drugs" && canGetPregnant($slaves[$i])>> - $His reproductive system is in overdrive leading $him to seek out any dicked slaves $he can find several times a day. $He @@.mediumaquamarine;desperately longs@@ for the day $his efforts fill $his womb with child. + $His reproductive system is in overdrive leading $him to seek out any dicked <<if $slaves[$i].rules.release.slaves === 1>>slaves<<else>>relatives<</if>> $he can find several times a day. $He @@.mediumaquamarine;desperately longs@@ for the day $his efforts fill $his womb with child. <<set $slaves[$i].trust += 1>> <</if>> <</widget>> + +<<widget "saRulesNoRelease">> + + <<if (disobedience($slaves[$i]) > random(0, 100))>> + is forbidden to masturbate or seek sexual release. In $his @@.mediumorchid;intense frustration@@ $he disobeys and is @@.gold;severely punished@@ for illicit masturbation. + <<set $slaves[$i].devotion -= 2, $slaves[$i].trust -= 2>> + <<else>> + is forbidden to masturbate or seek sexual release, which @@.mediumorchid;highly frustrates@@ $him. + <<set $slaves[$i].devotion -= 2>> + <</if>> + +<</widget>> + +<<widget "saRulesNoReleaseDrugEffects">> + +<<if $slaves[$i].balls > 0>> + <<if $slaves[$i].drugs == "testicle enhancement" || $slaves[$i].drugs == "intensive testicle enhancement">> + <<if $slaves[$i].hormoneBalance >= 100>> + $He can't seem to get enough cum out of $his terribly swollen balls in one orgasm to get relieve the pressure: + <<if $slaves[$i].dick>> + $his poor soft dick produces slow, anemic ejaculations, no matter how backed up $he is. + <<else>> + $his cumhole produces slow, anemic ejaculations, no matter how backed up $he is. + <</if>> + Forbidden to masturbate or seek relief through sex, he @@.mediumorchid;can't find relief@@ and @@.red;the situation harms $his health.@@ + <<set $slaves[$i].devotion -= 2>> + <<else>> + $His terribly swollen balls ache, cultivating a need for sex that @@.mediumorchid;$he can't fulfill@@ and @@.red;harming his health.@@ + <<set $slaves[$i].devotion -= 2>> + <</if>> + <<run healthDamage($slaves[$i], 3)>> + <<elseif $slaves[$i].drugs == "hyper testicle enhancement">> + <<if $slaves[$i].hormoneBalance >= 100>> + $He can't seem to get enough cum out of $his grotesquely swollen balls in one orgasm to get relieve the pressure: + <<if $slaves[$i].dick>> + $his poor soft dick produces slow, anemic ejaculations, no matter how backed up $he is. + <<else>> + $his cumhole produces slow, anemic ejaculations, no matter how backed up $he is. + <</if>> + Forbidden to masturbate or seek relief through sex, he @@.mediumorchid;can't find relief@@ and @@.red;the situation harms $his health.@@ + <<set $slaves[$i].devotion -= 4>> + <<else>> + $His grotesquely swollen balls ache, cultivating a need for sex that @@.mediumorchid;$he can't fulfill@@ and @@.red;harming his health.@@ + <<set $slaves[$i].devotion -= 4>> + <</if>> + <<run healthDamage($slaves[$i], 6)>> + <</if>> +<</if>> +<<if $slaves[$i].drugs == "super fertility drugs" && canGetPregnant($slaves[$i])>> + $His reproductive system is in overdrive, + <<if ($slaves[$i].devotion >= -20)>> + leaving $him @@.mediumorchid;completely unfulfilled@@ since @@.gold;you won't <<if $PC.dick != 0>>give $him<<else>>let $him find<</if>> the dick $he needs.@@ + <<set $slaves[$i].devotion -= 3, $slaves[$i].trust -= 2>> + <<else>> + leaving $him desperate for a thorough seeding @@.mediumorchid;that you've forbidden $him from having.@@ + <<set $slaves[$i].devotion -= 3>> + <</if>> +<</if>> +<<if $slaves[$i].energy > 50>> + $His enforced chastity @@.red;habituates him to a lack of release.@@ + <<set $slaves[$i].energy -= 2>> +<</if>> + +<</widget>> + +<<widget "saRulesPartnerDrugEffects">> + +<<set _sr = getSlave($slaves[$i].relationshipTarget)>> +<<setLocalPronouns _sr 2>> +<<if $slaves[$i].balls > 0>> + <<if ($slaves[$i].drugs == "testicle enhancement" || $slaves[$i].drugs == "intensive testicle enhancement")>> + <<if $slaves[$i].hormoneBalance >= 100>> + $He can't seem to get enough cum out of $his terribly swollen balls in one orgasm to relieve the pressure: + <<if $slaves[$i].dick>> + $his poor soft dick produces slow, anemic ejaculations, no matter how backed up $he is. + <<else>> + $his cumhole produces slow, anemic ejaculations, no matter how backed up $he is. + <</if>> + This forces $him to find $his <<= relationshipTerm($slaves[$i])>> for release many times a day, and $he @@.mediumaquamarine;is desperately reliant@@ on _him2 for relief. + <<set $slaves[$i].trust += 2>> + <<else>> + $His terribly swollen balls force $him to find $his <<= relationshipTerm($slaves[$i])>> for release several times a day, and $he @@.mediumaquamarine;relies@@ on _him2 for relief. + <<set $slaves[$i].trust += 1>> + <</if>> + <<elseif $slaves[$i].drugs == "hyper testicle enhancement">> + <<if $slaves[$i].hormoneBalance >= 100>> + $He can't seem to get enough cum out of $his grotesquely swollen balls in one orgasm to get relieve the pressure: + <<if $slaves[$i].dick>> + $his poor soft dick produces slow, anemic ejaculations, no matter how backed up $he is. + <<else>> + $his cumhole produces slow, anemic ejaculations, no matter how backed up $he is. + <</if>> + This forces $him to find $his <<= relationshipTerm($slaves[$i])>> for release many times a day, and $he @@.mediumaquamarine;is desperately reliant@@ on _him2 for relief. + <<set $slaves[$i].trust += 2>> + <<else>> + $His grotesquely swollen balls force $him to come to find $his <<= relationshipTerm($slaves[$i])>> for release dozens of times a day, and $he @@.mediumaquamarine;is desperately reliant@@ on _him2 for relief. + <<set $slaves[$i].trust += 1>> + <</if>> + <</if>> +<</if>> /* close overactive balls block */ +<<if $slaves[$i].drugs == "super fertility drugs" && canImpreg($slaves[$i], _sr)>> + <<if ($slaves[$i].devotion > 20) || ($slaves[$i].trust < -20)>> + $His reproductive system is in overdrive leading $him to come to find $his <<= relationshipTerm($slaves[$i])>> for insemination several times a day; $he @@.mediumaquamarine;desperately hopes@@ for the day _his2 seed takes root in $his womb. + <<set $slaves[$i].trust += 1>> + <</if>> +<</if>> + +<</widget>> \ No newline at end of file