diff --git a/devNotes/VersionChangeLog-Premod+LoliMod.txt b/devNotes/VersionChangeLog-Premod+LoliMod.txt index be799ff3bb2a7b9a9bb85e8e0eeb97c38bc4f4fd..952aba16132d642ec727927d32197d9dc000ceee 100644 --- a/devNotes/VersionChangeLog-Premod+LoliMod.txt +++ b/devNotes/VersionChangeLog-Premod+LoliMod.txt @@ -2,6 +2,12 @@ 0.10.7.0/1 +12/27/17 + 234 + -saRules now applies to the HG's slave + -HG and BG no longer consume dormitory capacity if they have their own room + -SFanon's fixes + 12/26/17 234 diff --git a/src/uncategorized/main.tw b/src/uncategorized/main.tw index 7c131b4d26ffcaa2b0bc035d4edba4fb8532bf4f..90a246501d99bb81d6f8e3c265a8d5856586f678 100644 --- a/src/uncategorized/main.tw +++ b/src/uncategorized/main.tw @@ -36,7 +36,7 @@ .map((s, idx) => ({ID: s.ID, idx: idx, name: s.slaveName, assignment: s.assignment})) .filter(s => s.ID === _i).map(s => s.idx + ' - ' + s.name + ' (' + s.assignment + ')').join(', ')>>@@ <</foreach>> -<<set _visibleSlaves = $slaves.filter(s => s.assignmentVisible == 1), +<<set _visibleSlaves = $slaves.filter(s => s.assignmentVisible == 1 && (s.assignment != "be your Head Girl" || $HGSuite != 1) && (s.assignment != "guard you" || $dojo <= 1)), $slavesVisible = _visibleSlaves.length, $dormitoryPopulation = _visibleSlaves.filter(s => s.livingRules != "luxurious").length, $roomsPopulation = $slavesVisible - $dormitoryPopulation - _visibleSlaves.filter(s => s.livingRules == "luxurious" && s.relationship >= 4).length * 0.5, diff --git a/src/uncategorized/saBeYourHeadGirl.tw b/src/uncategorized/saBeYourHeadGirl.tw index 3d72a94e0321ff0d2fcd4f39352c8a50c324b0a6..352b2aef637d456fdb898cfb0258644be9e9d8ec 100644 --- a/src/uncategorized/saBeYourHeadGirl.tw +++ b/src/uncategorized/saBeYourHeadGirl.tw @@ -2,12 +2,15 @@ <<set $HGTimeInGrade += 1>> +<<if $HGSuite == 1>> + <<set $slaves[$i].livingRules = "luxurious">> +<</if>> + <<if $arcologies[0].FSEgyptianRevivalistLaw == 0>> helps manage your other slaves. She helps them when they try and fail, and punishes them when they fail to try. <<else>> serves as your Consort. Though she is still your slave, her status is scarcely below that of a citizen. She @@.green;contributes to your reputation@@ just like a Concubine, and she is @@.hotpink;conscious@@ of the @@.mediumaquamarine;trust@@ you place in her. - <<set $slaves[$i].devotion += 1>> - <<set $slaves[$i].trust += 1>> + <<set $slaves[$i].devotion += 1, $slaves[$i].trust += 1>> <<silently>> <<include "SA please you">> <</silently>> @@ -92,16 +95,13 @@ <<if ($slaves[$i].livingRules == "luxurious") && ($HGSuite == 1)>> Being continually trusted with this position @@.hotpink;increases her devotion to you,@@ and encourages her to @@.mediumaquamarine;trust you in turn;@@ she's also @@.hotpink;grateful@@ for her nice suite, which makes her one of the best provided for slaves in the Free Cities. - <<set $slaves[$i].devotion += 4>> - <<set $slaves[$i].trust += 4>> + <<set $slaves[$i].devotion += 4, $slaves[$i].trust += 4>> <<elseif ($slaves[$i].livingRules == "luxurious")>> Being continually trusted with this position @@.hotpink;increases her devotion to you@@ and encourages her to @@.mediumaquamarine;trust you in turn.@@ - <<set $slaves[$i].devotion += 4>> - <<set $slaves[$i].trust += 4>> + <<set $slaves[$i].devotion += 4, $slaves[$i].trust += 4>> <<elseif ($HGSuite == 1)>> She's @@.hotpink;grateful@@ for her nice suite, which makes her one of the best provided for slaves in the Free Cities. Being continually trusted with this position encourages her to @@.mediumaquamarine;trust you in turn.@@ - <<set $slaves[$i].devotion += 2>> - <<set $slaves[$i].trust += 4>> + <<set $slaves[$i].devotion += 2, $slaves[$i].trust += 4>> <<else>> Being continually trusted with this position @@.hotpink;slightly increases her devotion to you,@@ though she harbors some doubts because she isn't allowed a room of her own to set her apart from the other slaves. <<set $slaves[$i].devotion += 1>> @@ -140,15 +140,12 @@ <<set $slaves[$i].fetishStrength -= 4>> <<else>> Having all the slaves look up to and obey her affects her sexuality, turning her into a @@.lightcoral;bit of a dominatrix.@@ - <<set $slaves[$i].fetish = "dom">> - <<set $slaves[$i].fetishStrength = 20>> + <<set $slaves[$i].fetish = "dom", $slaves[$i].fetishStrength = 20, $slaves[$i].fetishKnown = 1>> <</if>> <<else>> <<if random(1,3) == 1>> Having all the slaves look up to and obey her affects her sexuality, turning her into a @@.lightcoral;bit of a dominatrix.@@ - <<set $slaves[$i].fetish = "dom">> - <<set $slaves[$i].fetishStrength = 20>> - <<set $slaves[$i].fetishKnown = 1>> + <<set $slaves[$i].fetish = "dom", $slaves[$i].fetishStrength = 20, $slaves[$i].fetishKnown = 1>> <</if>> <</if>> diff --git a/src/uncategorized/saGuardsYou.tw b/src/uncategorized/saGuardsYou.tw index 2192452015b9725395f7c7218c55407154b5fde3..4f6f9e0c7f37e43e4bcd3e870b0f2903ebe66580 100644 --- a/src/uncategorized/saGuardsYou.tw +++ b/src/uncategorized/saGuardsYou.tw @@ -2,6 +2,10 @@ carries arms in your defense. +<<if $dojo > 1>> + <<set $slaves[$i].livingRules = "luxurious">> +<</if>> + <<Deadliness $slaves[$i]>> <<if $slaves[$i].combatSkill > 0>> diff --git a/src/uncategorized/saLiveWithHG.tw b/src/uncategorized/saLiveWithHG.tw index fba026f7beac5620c8b6fc7c347a64781cc838c6..cd2aa5ea14da589b289f13a799aeed1bb0c50ee4 100644 --- a/src/uncategorized/saLiveWithHG.tw +++ b/src/uncategorized/saLiveWithHG.tw @@ -631,7 +631,7 @@ <</if>> <</if>> -<<set $slaves[$i].need -= ((_vaginalUse+_penetrativeUse+_analUse)*5) +<<set $slaves[$i].need -= ((_vaginalUse+_penetrativeUse+_analUse)*5)>> <<set $HeadGirl.need = 0>> <<if $slaves[$i].cervixImplant == 1 && _cervixPump > 0 && canDoVaginal($slaves[$i])>> @@ -924,6 +924,10 @@ <</if>> <</if>> +<<if $slaves[$i].livingRules != "luxurious">> + <<set $slaves[$i].livingRules = "luxurious">> +<</if>> + <<if ($HeadGirl.relationshipTarget == $slaves[$i].ID)>> <<set ($HeadGirl.relationship = $slaves[$i].relationship)>> <</if>> @@ -932,6 +936,7 @@ <<if $showEWD == 0>> <<silently>> <<include "SA chooses own clothes">> + <<include "SA rules">> <<include "SA diet">> <<include "SA long term effects">> <<include "SA drugs">> @@ -941,6 +946,7 @@ <</silently>> <<else>> <<include "SA chooses own clothes">> + <<include "SA rules">> <<include "SA diet">> <<include "SA long term effects">> <<include "SA drugs">> diff --git a/src/uncategorized/saRules.tw b/src/uncategorized/saRules.tw index 30e4cd3704d4ee72240f07d4481884d87c15016c..60e8b35d7c759daf23b20174626248f2a5e35954 100644 --- a/src/uncategorized/saRules.tw +++ b/src/uncategorized/saRules.tw @@ -3729,6 +3729,155 @@ <<set $slaves[$i].trust -= _punishments>> <</switch>> <</if>> + <<case "live with your Head Girl">> + <<if $slaves[$i].devotion < -50>> + is so unhappy that she has little interest in getting off, not that $HeadGirl.SlaveName cares. + <<set $slaves[$i].need = 0>> + <<elseif $slaves[$i].energy <= 20>> + is frigid and has little interest in getting off, though it doesn't stop $HeadGirl.SlaveName. + <<set $slaves[$i].need = 0>> + <<elseif $slaves[$i].need < $slaves[$i].energy*0.5>> + <<if ($slaves[$i].devotion <= 20)>> + gets off with $HeadGirl.SlaveName despite her reluctance, @@.hotpink;habituating her to sexual slavery.@@ + <<set $slaves[$i].devotion += 1>> + <<if ($slaves[$i].trust > -20) && ($slaves[$i].devotion <= 20)>> + She hates herself for climaxing, and knows the mild aphrodisiacs in the food are forcing her arousal, @@.gold;frightening her.@@ + <<set $slaves[$i].trust -= 1>> + <</if>> + <<set $slaves[$i].need -= 20>> + <<elseif ($slaves[$i].releaseRules != "permissive") && ($slaves[$i].releaseRules != "masturbation")>> + gets off with $HeadGirl.SlaveName, so being forbidden to masturbate doesn't affect her seriously. + <<set $slaves[$i].need -= 20>> + <<else>> + gets off with $HeadGirl.SlaveName, so she doesn't feel the need for release that often. + <<set $slaves[$i].need -= 20>> + <</if>> + <<else>> + either gets off with $HeadGirl.SlaveName or gets to put up with being sexual frustration. + <</if>> + + <<if ($slaves[$i].devotion <= 20)>> + <<if $slaves[$i].voice == 0>> + Living as a mute @@.hotpink;molds her@@ to your Head Girl's will. + <<set $slaves[$i].devotion += 1>> + <<elseif $slaves[$i].lips > 95>> + Being unable to speak through her facepussy @@.hotpink;molds her@@ to your Head Girl's will. + <<set $slaves[$i].devotion += 1>> + <<elseif $slaves[$i].speechRules == "restrictive">> + Living under enforced silence @@.hotpink;molds her@@ to your Head Girl's will. + <<set $slaves[$i].devotion += 1>> + <</if>> + <</if>> + + <<if ($slaves[$i].devotion <= 20)>> + She shares a room, and sometimes bed, with $HeadGirl.slaveName. Your Head Girl keeps it from going to her head, however. + <<else>> + She loves sharing a room, and sometimes bed, with $HeadGirl.slaveName. + <</if>> + + <<if ($slaves[$i].attrKnown == 0)>> + <<if ($week-$slaves[$i].weekAcquired > 4) && $slaves[$i].energy > 20>> + <<set $slaves[$i].attrKnown = 1>> + <<if $assistantName == "your personal assistant">>Your personal assistant<<else>>$assistantName<</if>> has been monitoring her as she spends time with your Head Girl, analyzing her sexuality. It seems she is + <<saRulesAttractionDiscovery>> + <</if>> + <</if>> + + <<if $slaves[$i].devotion > 50>> + She does her best for $HeadGirl.slaveName, and thus you, so she frequently deserves a reward and never needs to be punished. + <<set _punishments = 0>> + <<set _rewards = 3>> + <<elseif $slaves[$i].devotion > 20>> + She's obedient out of acceptance of her place, so she often deserves a reward and rarely needs to be punished. + <<set _punishments = 1>> + <<set _rewards = 2>> + <<elseif $slaves[$i].devotion >= -20>> + <<if $slaves[$i].trust < -20>> + She's obedient out of fear, so she only rarely deserves a reward and sometimes needs to be punished. + <<set _punishments = 1>> + <<set _rewards = 1>> + <<else>> + She's too trusting for obedience and often needs to be punished. + <<set _punishments = 2>> + <<set _rewards = 0>> + <</if>> + <<else>> + <<if $slaves[$i].trust < -50>> + She's only obedient out of terror, so she sometimes needs to be punished. + <<set _punishments = 1>> + <<set _rewards = 0>> + <<else>> + She hates you and $HeadGirl.slaveName too much to obey, so she needs constant punishment. + <<set _punishments = 3>> + <<set _rewards = 0>> + <</if>> + <</if>> + + <<if _rewards > 0>> + <<switch $slaves[$i].standardReward>> + <<case "relaxation">> + She's given free time, which she + <<if $spa != 0>> + usually spends in $spaName<<if $Attendant != 0>> enjoying $Attendant.slaveName's care<</if>>. + <<else>> + usually spends relaxing in your Head Girls private room. + <</if>> + <<if $slaves[$i].relationship > 0>> + She often asks to save these breaks so she can spend them with her <<if $slaves[$i].relationship == 1>>friend<<elseif $slaves[$i].relationship == 2>>best friend<<elseif $slaves[$i].relationship == 3>>friend with benefits<<elseif $slaves[$i].relationship == 4>>sweetheart<<else>>wife<</if>>. + <</if>> + These breaks are @@.green;good for her.@@ + <<set $slaves[$i].health += _rewards>> + <<case "drugs">> + She's @@.hotpink;rewarded@@ with hits of mild recreational drugs, which @@.red;isn't healthy,@@ but helps bind her to you strongly. + <<set $slaves[$i].health -= _rewards>> + <<set $slaves[$i].devotion += _rewards*2>> + <<case "orgasm">> + She's @@.hotpink;rewarded@@ with + <<if $slaves[$i].clitPiercing >= 3>> + sustained orgasm from her <<if $slaves[$i].dick == 0>>clit<<else>>dick<</if>> piercing, + <<elseif $activeSlave.releaseRules == "sapphic">> + immediate sex with any nearby slave, + <<else>> + a quick climax from a vibrator, + <</if>> + @@.green;boosting her libido.@@ + <<if $slaves[$i].energy < 98>><<set $slaves[$i].energy += _rewards>><</if>><<set $slaves[$i].need -= (_rewards*10)>> + <<set $slaves[$i].devotion += _rewards>> + <<default>> + She's @@.hotpink;rewarded@@ + <<if (_punishments > 0) && ($slaves[$i].standardReward == "situational")>> + and @@.gold;punished@@ + <</if>> + situationally, letting her develop normally. + <<set $slaves[$i].devotion += _rewards>> + <</switch>> + <</if>> + <<if _punishments > 0>> + <<switch $slaves[$i].standardPunishment>> + <<case "confinement">> + When she disobeys, she + <<if $cellblock != 0>> + @@.gold;spends her time in $cellblockName@@<<if $Wardeness != 0>>, where she can experience $Wardeness.slaveName's tender mercies<</if>>. + <<else>> + spends her time @@.gold;shut up in a box@@ until she behaves. + <</if>> + <<set $slaves[$i].trust -= _punishments>> + <<case "whipping">> + When she disobeys, she's @@.gold;whipped,@@ not hard enough to mark her, but hard enough to @@.red;hurt,@@ breaking her quickly. + <<set $slaves[$i].health -= _punishments>> + <<set $slaves[$i].trust -= 2*_punishments>> + <<case "chastity">> + When she disobeys, $HeadGirl.slaveName @@.gold;ruins her next orgasm,@@ @@.red;reducing her libido@@ but breaking her to @@.hotpink;sexual obedience.@@ + <<if $slaves[$i].energy > 2>><<set $slaves[$i].energy -= 2*_punishments>><</if>> + <<set $slaves[$i].devotion += _punishments>> + <<set $slaves[$i].trust -= _punishments>> + <<default>> + <<if (_rewards == 0) || ($slaves[$i].standardReward != "situational")>> + When she disobeys, she's @@.gold;punished@@ situationally, letting her develop normally. + <</if>> + <<set $slaves[$i].trust -= _punishments>> + <</switch>> + <</if>> <<default>> <<if $slaves[$i].devotion < -50>> is so unhappy that she has little interest in getting off<<if ($slaves[$i].releaseRules != "permissive")>>, making the rule restricting her sexual outlets superfluous<</if>>. @@ -3869,13 +4018,15 @@ <<set $slaves[$i].devotion += 1>> <</if>> <</if>> - - <<if $roomsPopulation > $rooms>> - <<if $slaves[$i].livingRules == "luxurious">> - There are @@.yellow;too many slaves for the penthouse's individual rooms,@@ so she moves out into the dormitory. - <<set $slaves[$i].livingRules = "normal">> - <<set $dormitoryPopulation += 1>> - <<if $slaves[$i].relationship >= 4>><<set $roomsPopulation -= 0.5>><<else>><<set $roomsPopulation -= 1>><</if>> + + <<if $slaves[$i].assignment != "be your Head Girl" && $slaves[$i].assignment != "guard you">> + <<if $roomsPopulation > $rooms>> + <<if $slaves[$i].livingRules == "luxurious">> + There are @@.yellow;too many slaves for the penthouse's individual rooms,@@ so she moves out into the dormitory. + <<set $slaves[$i].livingRules = "normal">> + <<set $dormitoryPopulation += 1>> + <<if $slaves[$i].relationship >= 4>><<set $roomsPopulation -= 0.5>><<else>><<set $roomsPopulation -= 1>><</if>> + <</if>> <</if>> <</if>> diff --git a/src/uncategorized/slaveInteract.tw b/src/uncategorized/slaveInteract.tw index 2652c7d8638e9fb91075a89cfec5ae7eb9948ae0..7fc2185cc7f4dae51763c676ab16743cb7d70de8 100644 --- a/src/uncategorized/slaveInteract.tw +++ b/src/uncategorized/slaveInteract.tw @@ -1226,7 +1226,7 @@ Hormones: <strong><span id="hormones"> <<else>> <<set $dormitoryPopulation = 0, $roomsPopulation = 0>> <<for $i = 0; $i < _SL; $i++>> - <<if $slaves[$i].assignmentVisible == 1>> + <<if $slaves[$i].assignmentVisible == 1 && ($slaves[$i].assignment != "be your Head Girl" || $HGSuite != 1) && ($slaves[$i].assignment != "guard you" || $dojo <= 1)>> <<if $slaves[$i].livingRules == "luxurious">> <<if $slaves[$i].relationship >= 4>> <<set $roomsPopulation += 0.5>> @@ -1241,6 +1241,10 @@ Hormones: <strong><span id="hormones"> Living standard: ''<span id="livingRules">$activeSlave.livingRules</span>.'' <<if setup.facilityCareers.includes($activeSlave.assignment)>> //Her living conditions are managed by her assignment.// + <<elseif ($activeSlave.assignment == "be your Head Girl") && ($HGSuite == 1)>> + //She has her own little luxurious room in the penthouse with everything she needs to be a proper Head Girl.// + <<elseif ($activeSlave.assignment == "guard you") && ($dojo > 1)>> + //She has a comfortable room in the armory to call her own.// <<else>> <<link "Spare">><<set $activeSlave.livingRules = "spare">><<replace "#livingRules">>$activeSlave.livingRules<</replace>><</link>> | <<link "Normal">><<set $activeSlave.livingRules = "normal">><<replace "#livingRules">>$activeSlave.livingRules<</replace>><</link>> | diff --git a/src/utility/assignWidgets.tw b/src/utility/assignWidgets.tw index af7b8a66bf63ca48da6a53e052d5ede4d860f9c1..201fba73a60b423dc7cf1aa5abffaa1fc863db76 100644 --- a/src/utility/assignWidgets.tw +++ b/src/utility/assignWidgets.tw @@ -56,6 +56,7 @@ <</switch>> <<case "live with your head girl" "live with your Head Girl" "head girl suite" "hgsuite">> <<set $args[0].assignment = "live with your Head Girl", $args[0].assignmentVisible = 0, $HGSuiteSlaves++, $HGSuiteiIDs.push(_wID)>> + <<set $args[0].livingRules = "luxurious">> <<case "serve in the master suite" "master suite" "mastersuite">> <<set $args[0].assignment = "serve in the master suite", $args[0].assignmentVisible = 0, $masterSuiteSlaves++, $MastSiIDs.push(_wID)>> <<case "learn in the schoolroom" "schoolroom">> @@ -82,6 +83,16 @@ <<case "be the Attendant" "be your Concubine" "be the DJ" "be the Madam" "be the Milkmaid" "be the Nurse" "be the Schoolteacher" "be the Stewardess" "be the Wardeness">> <<set $args[0].assignment = $args[1], $args[0].assignmentVisible = 0>> /* non-visible leadership roles */ <<set $args[0].livingRules = "luxurious">> + <<case "be your Head Girl">> + <<set $args[0].assignment = $args[1]>> + <<if $HGSuite == 1>> + <<set $args[0].livingRules = "luxurious">> + <</if>> + <<case "guard you">> + <<set $args[0].assignment = $args[1]>> + <<if $dojo > 1>> + <<set $args[0].livingRules = "luxurious">> + <</if>> <<case "be your agent" "live with your agent">> <<set $args[0].assignment = $args[1], $args[0].assignmentVisible = 0, $args[0].useRulesAssistant = 0>> /* non-visible roles exempt from Rules Assistant */ <<case "choose her own job">> diff --git a/src/utility/raWidgets.tw b/src/utility/raWidgets.tw index a908668474dcb19057dac8785849babfbd4e5628..e835f42f423abc5dcb61d5273c6c028e3e48a62c 100644 --- a/src/utility/raWidgets.tw +++ b/src/utility/raWidgets.tw @@ -4176,6 +4176,8 @@ Your brand design is ''$brandDesign.'' <<if (def _combinedRule.livingRules) && (_combinedRule.livingRules !== "no default setting")>> <<if setup.facilityCareers.includes($args[0].assignment)>> <br>$args[0].slaveName's living standards are controlled by her assignment. +<<elseif (($args[0].assignment == "be your Head Girl") && ($HGSuite == 1)) || (($args[0].assignment == "guard you") && ($dojo > 1))>> + <br>$args[0].slaveName has a private room. <<elseif ($args[0].fetish == "mindbroken")>> <<if ($args[0].livingRules !== "spare")>> <<set $args[0].livingRules = "spare">>