From 740c9ca6ffe9acf3fcf3cd787f712b59e9b9d04a Mon Sep 17 00:00:00 2001 From: Pregmodder <pregmodder@gmail.com> Date: Tue, 19 Dec 2017 21:12:33 -0500 Subject: [PATCH] sarules to the schoolroom --- devNotes/VersionChangeLog-Premod+LoliMod.txt | 5 + devNotes/twine JS | 84 ++++ src/SecExp/widgets/unitsWidgets.tw | 4 +- src/js/economyJS.tw | 4 + src/uncategorized/RESS.tw | 2 +- src/uncategorized/costs.tw | 4 + src/uncategorized/costsReport.tw | 8 +- src/uncategorized/saRules.tw | 474 +++++++++++++++++++ src/uncategorized/schoolroomReport.tw | 10 + src/utility/assignWidgets.tw | 1 + 10 files changed, 592 insertions(+), 4 deletions(-) diff --git a/devNotes/VersionChangeLog-Premod+LoliMod.txt b/devNotes/VersionChangeLog-Premod+LoliMod.txt index a8dd2d623f3..9038352fad4 100644 --- a/devNotes/VersionChangeLog-Premod+LoliMod.txt +++ b/devNotes/VersionChangeLog-Premod+LoliMod.txt @@ -1,7 +1,12 @@ Pregmod 0.10.7.0/1 + +12/19/17 + 216 + -saRules now applies to the schoolroom + 12/18/17 215 diff --git a/devNotes/twine JS b/devNotes/twine JS index 15e834a71c4..b486c4e3750 100644 --- a/devNotes/twine JS +++ b/devNotes/twine JS @@ -1083,6 +1083,86 @@ window.cumAmount = function(slave) { } }; +window.nameReplace = function(name) +{ + name = name.replace("Sh", "Th"); + name = name.replace("SS", "Th"); + name = name.replace("Ss", "Th"); + name = name.replace("sS", "Th"); + name = name.replace("S", "Th"); + name = name.replace("aX", "aKTH"); + name = name.replace("eX", "eKTH"); + name = name.replace("iX", "iKTH"); + name = name.replace("oX", "oKTH"); + name = name.replace("uX", "uKTH"); + name = name.replace("yX", "yKTH"); + name = name.replace("AX", "AKTH"); + name = name.replace("EX", "EKTH"); + name = name.replace("IX", "IKTH"); + name = name.replace("OX", "OKTH"); + name = name.replace("UX", "UKTH"); + name = name.replace("YX", "YKTH"); + name = name.replace("Xa", "Tha"); + name = name.replace("Xe", "The"); + name = name.replace("Xi", "Thi"); + name = name.replace("Xo", "Tho"); + name = name.replace("Xu", "Thu"); + name = name.replace("Xy", "Thy"); + name = name.replace("XA", "THA"); + name = name.replace("XE", "THE"); + name = name.replace("XI", "THI"); + name = name.replace("XO", "THO"); + name = name.replace("XU", "THU"); + name = name.replace("XY", "THY"); + name = name.replace("X", "EKTH"); + name = name.replace("zZ", "Th"); + name = name.replace("Zz", "Th"); + name = name.replace("ZZ", "TH"); + name = name.replace("Z", "Th"); + name = name.replace("Ci", "Thi"); + name = name.replace("Ce", "The"); + name = name.replace("Cy", "Thy"); + name = name.replace("CI", "THI"); + name = name.replace("CE", "THE"); + name = name.replace("CY", "THY"); + name = name.replace("ss", "th"); + name = name.replace("sh", "th"); + name = name.replace("s", "th"); + name = name.replace("zz", "th"); + name = name.replace("z", "th"); + name = name.replace("ax", "akth"); + name = name.replace("ex", "ekth"); + name = name.replace("ix", "ikth"); + name = name.replace("ox", "okth"); + name = name.replace("ux", "ukth"); + name = name.replace("yx", "ykth"); + name = name.replace("Ax", "Akth"); + name = name.replace("Ex", "Ekth"); + name = name.replace("Ix", "Ikth"); + name = name.replace("Ox", "Okth"); + name = name.replace("Ux", "Ukth"); + name = name.replace("Yx", "Ykth"); + name = name.replace("xa", "tha"); + name = name.replace("xe", "the"); + name = name.replace("xi", "thi"); + name = name.replace("xo", "tho"); + name = name.replace("xu", "thu"); + name = name.replace("xy", "thy"); + name = name.replace("xA", "thA"); + name = name.replace("xE", "thE"); + name = name.replace("xI", "thI"); + name = name.replace("xO", "thO"); + name = name.replace("xU", "thU"); + name = name.replace("xY", "thY"); + name = name.replace("x", "ekth"); + name = name.replace("ci", "thi"); + name = name.replace("ce", "the"); + name = name.replace("cy", "thy"); + name = name.replace("cI", "thI"); + name = name.replace("cE", "thE"); + name = name.replace("cY", "thY"); + return name; +} window.mergeRules = function(rules) { var combinedRule = {}; @@ -2178,6 +2258,10 @@ window.getSlaveCost = function(s) { } else { cost += rulesCost; } + } else if(s.assignment === Job.TEACHER) { + cost += rulesCost * 2; + } else if(s.assignment === Job.SCHOOL) { + cost += rulesCost * 1.5; } else { if(s.livingRules === LivingRule.LUXURIOUS) { cost += rulesCost * (s.relationship >= 4 ? 3 : 4); diff --git a/src/SecExp/widgets/unitsWidgets.tw b/src/SecExp/widgets/unitsWidgets.tw index 46293097f2f..deb3a61134f 100644 --- a/src/SecExp/widgets/unitsWidgets.tw +++ b/src/SecExp/widgets/unitsWidgets.tw @@ -10,7 +10,7 @@ <<elseif $args[0].equip == 1>> They are issued with good, modern equipment: firearms, explosives and a few specialized weapons like sniper rifles and machine guns. They also carry simple body armor. <<elseif $args[0].equip == 2>> - They are issued with excellent, high tech equipment: modern firearms, explosives, specialized weaponry and modern body armor. They are also issued with modern instruments like might visions and portable radars. + They are issued with excellent, high tech equipment: modern firearms, explosives, specialized weaponry and modern body armor. They are also issued with modern instruments like night vision and portable radars. <<else>> They are equipped with the best the modern world has to offer: modern firearms, explosives, specialized weaponry, experimental railguns, adaptive body armor and high tech recon equipment. <</if>> @@ -102,7 +102,7 @@ <<elseif $args[0].equip == 1>> They are issued with good, modern equipment: firearms, explosives and a few specialized weapons like sniper rifles and machine guns. They also carry simple body armor. <<elseif $args[0].equip == 2>> - They are issued with excellent, high tech equipment: modern firearms, explosives, specialized weaponry and modern body armor. They are also issued with modern instruments like might visions and portable radars. + They are issued with excellent, high tech equipment: modern firearms, explosives, specialized weaponry and modern body armor. They are also issued with modern instruments like night vision and portable radars. <<else>> They are equipped with the best the modern world has to offer: modern firearms, explosives, specialized weaponry, experimental railguns, adaptive body armor and high tech recon equipment. <</if>> diff --git a/src/js/economyJS.tw b/src/js/economyJS.tw index 922283b1bdd..ff0f6e145c1 100644 --- a/src/js/economyJS.tw +++ b/src/js/economyJS.tw @@ -364,6 +364,10 @@ window.getSlaveCost = function(s) { } else { cost += rulesCost; } + } else if(s.assignment === Job.TEACHER) { + cost += rulesCost * 2; + } else if(s.assignment === Job.SCHOOL) { + cost += rulesCost * 1.5; } else { if(s.livingRules === LivingRule.LUXURIOUS) { cost += rulesCost * (s.relationship >= 4 ? 3 : 4); diff --git a/src/uncategorized/RESS.tw b/src/uncategorized/RESS.tw index 21bddb2aa49..65d68ee0af3 100644 --- a/src/uncategorized/RESS.tw +++ b/src/uncategorized/RESS.tw @@ -746,7 +746,7 @@ An escape attempt occurs and is stopped almost before you are informed of it. << <<if SlaveStatsChecker.checkForLisp($activeSlave)>> <<set _name = $activeSlave.birthName>> - <set _name = nameReplace(_name)>> + <<set _name = nameReplace(_name)>> <<set _slavename = $activeSlave.slaveName>> <<set _slavename = nameReplace(_slavename)>> <<else>> diff --git a/src/uncategorized/costs.tw b/src/uncategorized/costs.tw index 8b636e43a4b..9da62276ea7 100644 --- a/src/uncategorized/costs.tw +++ b/src/uncategorized/costs.tw @@ -136,6 +136,10 @@ <<else>> <<set $costs += $rulesCost>> <</if>> +<<elseif ($slaves[$i].assignment == "be the Schoolteacher")>> + <<set $costs += ($rulesCost*2)>> +<<elseif ($slaves[$i].assignment == "learn in the schoolroom")>> + <<set $costs += ($rulesCost*1.5)>> <<else>> <<if $slaves[$i].livingRules == "luxurious">> <<if $slaves[$i].relationship >= 4>> diff --git a/src/uncategorized/costsReport.tw b/src/uncategorized/costsReport.tw index 04b06fa8be3..b8bd08e7bb4 100644 --- a/src/uncategorized/costsReport.tw +++ b/src/uncategorized/costsReport.tw @@ -241,9 +241,12 @@ <<elseif ($slaves[$i].assignment == "be the Attendant")>> <br> Living expenses: ¤<<print ($rulesCost*2)>> <<set $individualCosts += ($rulesCost*2)>> + <<elseif ($slaves[$i].assignment == "be the Schoolteacher")>> + <br> Living expenses: ¤<<print ($rulesCost*2)>> + <<set $individualCosts += ($rulesCost*2)>> <<elseif ($slaves[$i].assignment == "serve in the club")>> <br> Living expenses: <<print cashFormat(($rulesCost*1.5))>> - <<set $individualCosts += ($rulesCost*2)>> + <<set $individualCosts += ($rulesCost*1.5)>> <<elseif ($slaves[$i].assignment == "work in the brothel")>> <<if $slaves[$i].livingRules == "normal">> <br> Living expenses: <<print cashFormat(($rulesCost*1.5))>> @@ -282,6 +285,9 @@ <br> Living expenses: ¤<<print $rulesCost>> <<set $individualCosts += $rulesCost>> <</if>> + <<elseif ($slaves[$i].assignment == "learn in the schoolroom")>> + <br> Living expenses: <<print cashFormat(($rulesCost*1.5))>> + <<set $individualCosts += ($rulesCost*1.5)>> <<else>> <<if $slaves[$i].livingRules == "luxurious">> <<if $slaves[$i].relationship >= 4>> diff --git a/src/uncategorized/saRules.tw b/src/uncategorized/saRules.tw index 1eba1062ed4..8ae5d551d03 100644 --- a/src/uncategorized/saRules.tw +++ b/src/uncategorized/saRules.tw @@ -2050,6 +2050,480 @@ <<set $slaves[$i].trust -= _punishments>> <</switch>> <</if>> + <<case "be the Schoolteacher">> + <<set $slaves[$i].need -= $schoolRoom.length*10>> + <<set _sexLessons = $schoolRoom*2>> + <<if canDoVaginal($slaves[$i])>> + <<set $slaves[$i].vaginalCount += _sexLessons, $vaginalTotal += _sexLessons>> + <</if>> + <<if canDoAnal($slaves[$i])>> + <<set $slaves[$i].analCount += _sexLessons, $analTotal += _sexLessons>> + <</if>> + <<if canPenetrate($slaves[$i])>> + <<set $slaves[$i].penetrativeCount += _sexLessons, $penetrativeTotal += _sexLessons>> + <</if>> + <<set $slaves[$i].oralCount += _sexLessons, $oralTotal += _sexLessons>> + <<if $slaves[$i].energy <= 20>> + is frigid and has little interest in getting off<<if ($slaves[$i].releaseRules != "permissive")>>, making the rule restricting her sexual outlets superfluous<</if>>. + <<set $slaves[$i].need = 0>> + <<elseif $slaves[$i].need < $slaves[$i].energy*0.5>> + <<if ($slaves[$i].releaseRules != "permissive") && ($slaves[$i].releaseRules != "masturbation")>> + gets off with her students, so being forbidden from masturbation doesn't really bother her. + <<set $slaves[$i].need -= 20>> + <<else>> + gets off with her students, so she doesn't feel the need for release that often. + <<set $slaves[$i].need -= 20>> + <</if>> + <<else>> + <<if ($slaves[$i].releaseRules == "restrictive")>> + willingly begs you to + <<saRulesPlayerFetishPlay>> + in front of her class when ever she crosses paths with you. + <<saRulesPlayerEnergy>> + <<saRulesPlayerDiscoversFetish>> + <<saRulesPlayerDrugEffects>> + <<elseif ($slaves[$i].releaseRules == "masturbation")>> + <<if ($slaves[$i].devotion < 80)>> + is a little disappointed that she's limited to her hands and toys outside of class, but @@.mediumaquamarine;trusts you know what's best for her.@@ + <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> + <<else>> + @@.mediumaquamarine;trusts your judgement@@ that only she really knows how to pleasure herself, though she @@.mediumorchid;often wonders why you won't make an example out of her.@@ + <<set $slaves[$i].trust += 1, $slaves[$i].devotion -= 2, $slaves[$i].need = 0>> + <</if>> + <<if $slaves[$i].devotion > 20>> + When she does play with herself, she + <<saRulesMasturbationFetishPlay>> + <<saRulesMasturbationDiscoversFetish>> + <</if>> + <<saRulesMasturbationDrugEffects>> + <<else>> /* releaseRules not restrictive */ + <<if ($universalRulesConsent == 0)>> + happily @@.mediumaquamarine;takes advantage@@ of your permission to demand that other slaves have sex with her for her lesson plan. + <<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, + <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> + <<saRulesConsentFetish>> + <<saRulesConsentDiscoversFetish>> + <</if>> /* closes universalRulesConsent */ + <<saRulesPermissiveDrugEffects>> + <</if>> /* closes releaseRules not restrictive */ + <</if>> + + She is @@.hotpink;very happy@@ with her private room in the back of $schoolroomName and @@.mediumaquamarine;trusts@@ you a bit more for placing the future education of your slaves in her hands. + <<set $slaves[$i].devotion += 1, $slaves[$i].trust += 1>> + + <<if ($universalRulesConsent == 0)>> + <<if ($slaves[$i].releaseRules != "restrictive")>> + <<if ($slaves[$i].energy > 95)>> + <<if $SchlRiIDs.length > 2>> + Under the rules, she's allowed to demand that other slaves to get her off, and she @@.hotpink;adores@@ you for giving her plentiful teacher's assistants for her nymphomania. + <<else>> + Under the rules, she's allowed to demand that other slaves to get her off, and she @@.hotpink;eagerly awaits@@ the day more of your slaves enroll in $schoolroomName. + <</if>> + <<set $slaves[$i].devotion += 1>> + <<elseif ($slaves[$i].fetishKnown == 1) && ($slaves[$i].fetishStrength > 60)>> + <<if ($slaves[$i].fetish == "sadist")>> + <<if $SchlRiIDs.length > 2>> + Under the rules, she's allowed to sexually abuse other slaves, and she @@.hotpink;adores@@ you for providing a whole class of girls for her to rape lessons into. + <<else>> + Under the rules, she's allowed to sexually abuse other slaves, and she @@.hotpink;eagerly awaits@@ the day more of your slaves enroll in $schoolroomName. + <</if>> + <<set $slaves[$i].devotion += 1>> + <<elseif ($slaves[$i].fetish == "dom")>> + <<if $SchlRiIDs.length > 2>> + Under the rules, she's allowed to force other slaves to have sex with her, and she @@.hotpink;adores@@ you for providing a whole class of girls to demonstrate proper submission with. + <<else>> + Under the rules, she's allowed to force other slaves to have sex with her, and she @@.hotpink;eagerly awaits@@ the day more of your slaves enroll in $schoolroomName. + <</if>> + <<set $slaves[$i].devotion += 1>> + <</if>> + <</if>> + <</if>> + <</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 teaches students, analyzing her preferences. It seems she is + <<saRulesAttractionDiscovery>> + <</if>> + <</if>> + + She does her best for you, so she frequently deserves a reward and never needs to be punished. + <<set _punishments = 0>> + <<set _rewards = 3>> + + <<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 her room<<if $SchlRiIDs.length > 1>> giving private lessons to a student<</if>>. + <</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].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>> + <<case "learn in the schoolroom">> + <<if $Schoolteacher != 0>> + <<set $slaves[$i].need -= 30>> + <<set $slaves[$i].oralCount += 7, $slaves[$i].mammaryCount += 7, $oralTotal += 7, $mammaryTotal += 7>> + <<if canDoVaginal($slaves[$i])>> + <<set $slaves[$i].vaginalCount += 7, $vaginalTotal += 7>> + <<set $slaves[$i].need -= 10>> + <<if canImpreg($slaves[$i], $Schoolteacher) && $slaves[$i].breedingMark == 0 && $slaves[$i].vagina != 0>> + <<KnockMeUp $slaves[$i] 5 0 $Schoolteacher.ID 1>> + <</if>> + <</if>> + <<if canDoAnal($slaves[$i])>> + <<set $slaves[$i].analCount += 7, $analTotal += 7>> + <<set $slaves[$i].need -= 10>> + <<if canImpreg($slaves[$i], $Schoolteacher) && $slaves[$i].breedingMark == 0 && $slaves[$i].anus != 0>> + <<KnockMeUp $slaves[$i] 5 1 $Schoolteacher.ID 1>> + <</if>> + <</if>> + <<if canPenetrate($slaves[$i])>> + <<set $slaves[$i].penetrativeCount += 7, $penetrativeTotal += 7>> + <<set $slaves[$i].need -= 10>> + <<if canImpreg($Schoolteacher, $slaves[$i]) && $Schoolteacher.breedingMark == 0 && $Schoolteacher.vagina != 0 && $Schoolteacher.auns != 0>> + <<KnockMeUp $slaves[_FLs] 5 0 $slaves[$i].ID 1>> + <</if>> + <</if>> + <</if>> + <<if $slaves[$i].devotion < -50>> + is so unhappy that she has little interest in getting off, making the rule restricting her sexual outlets superfluous. + <<set $slaves[$i].need = 0>> + <<elseif $slaves[$i].energy <= 20>> + is frigid and has little interest in getting off, making the rule restricting her sexual outlets superfluous. + <<set $slaves[$i].need = 0>> + <<elseif $slaves[$i].need < $slaves[$i].energy*0.5>> + <<if ($slaves[$i].devotion <= 20)>> + gets off during class 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 during class, so being forbidden to masturbate doesn't affect her seriously. + <<set $slaves[$i].need -= 20>> + <<else>> + gets off during class, so she doesn't feel the need to masturbate frequently. + <<set $slaves[$i].need -= 20>> + <</if>> + <<else>> + <<if ($slaves[$i].releaseRules == "restrictive")>> + <<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 she gets. + <<saRulesPlayerEnergy>> + <</if>> /* closes $slaves[$i].devotion >= 50 */ + <<saRulesPlayerDiscoversFetish>> + <<saRulesPlayerDrugEffects>> + <<elseif ($slaves[$i].releaseRules == "masturbation")>> + <<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust > -20)>> + takes solace in her permission to masturbate rather than being forced to beg for sex, @@.mediumaquamarine;reducing her fear@@ of you. + <<set $slaves[$i].trust += 2, $slaves[$i].need = 0>> + <<elseif ($slaves[$i].devotion <= 20)>> + enjoys being allowed to masturbate rather than trading sex with other slaves, @@.mediumaquamarine;slightly reducing her fear@@ of you but @@.mediumorchid;allowing her to remain in control of her sexuality.@@ + <<set $slaves[$i].trust += 1, $slaves[$i].devotion -= 1, $slaves[$i].need = 0>> + <<elseif ($slaves[$i].devotion < 50)>> + accepts having to relieve herself solely through masturbation. + <<set $slaves[$i].need = 0>> + <<elseif ($slaves[$i].devotion < 80)>> + is a little disappointed that she's limited to her hands and toys, but @@.mediumaquamarine;trusts you know what's best for her.@@ + <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> + <<else>> + @@.mediumaquamarine;trusts your judgement@@ that only she really knows how to pleasure herself, though she @@.mediumorchid;often wonders why you don't use her.@@ + <<set $slaves[$i].trust += 1, $slaves[$i].devotion -= 2, $slaves[$i].need = 0>> + <</if>> + <<if $slaves[$i].devotion > 20>> + When she does play with herself, she + <<saRulesMasturbationFetishPlay>> + <<saRulesMasturbationDiscoversFetish>> + <</if>> + <<saRulesMasturbationDrugEffects>> + <<else>> /* releaseRules not restrictive */ + <<if ($universalRulesConsent == 0)>> + <<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust > -20)>> + <<if ($slaves[$i].releaseRules == "permissive")>> + masturbates whenever she can find a private moment to take care of the urges induced by the food, @@.mediumaquamarine;slightly reducing her 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. + <<set $slaves[$i].trust -= 2, $slaves[$i].need -= 10>> + <</if>> + <<elseif ($slaves[$i].devotion <= 20)>> + <<if ($slaves[$i].releaseRules == "permissive")>> + prefers to masturbate rather than demanding sex from other slaves, @@.mediumaquamarine;slightly reducing her 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 herself@@ for it. + <<set $slaves[$i].devotion += 1, $slaves[$i].need *= 0.5>> + <</if>> + <<elseif ($slaves[$i].devotion < 50)>> + @@.hotpink;accepts the need@@ to + <<set $slaves[$i].devotion += 1, $slaves[$i].need = 0>> + <<else>> + happily @@.mediumaquamarine;avails herself@@ of your permission to + <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> + <</if>> + <<if $slaves[$i].devotion > 20>> + <<saRulesRapeFetish>> + <<saRulesRapeDiscoversFetish>> + <</if>> + <<else>> /* universalRulesConsent is not zero */ + <<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust > -20)>> + <<if ($slaves[$i].releaseRules == "permissive")>> + prefers to masturbate rather than asking other slaves for sex, @@.mediumaquamarine;slightly reducing her 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. + <<set $slaves[$i].trust -= 2, $slaves[$i].need -= 10>> + <</if>> + <<elseif ($slaves[$i].devotion <= 20)>> + <<if ($slaves[$i].releaseRules == "permissive")>> + prefers to masturbate rather than trading sex with other slaves, @@.mediumaquamarine;slightly reducing her 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 herself@@ 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, + <<set $slaves[$i].devotion += 1, $slaves[$i].need = 0>> + <<else>> + @@.mediumaquamarine;relies@@ on your other slaves for mutual satisfaction, + <<set $slaves[$i].trust += 1, $slaves[$i].need = 0>> + <</if>> + <<if $slaves[$i].devotion > 20>> + <<saRulesConsentFetish>> + <<saRulesConsentDiscoversFetish>> + <</if>> + <</if>> /* closes universalRulesConsent */ + <<saRulesPermissiveDrugEffects>> + <</if>> /* closes releaseRules not restrictive */ + <</if>> + + <<if ($slaves[$i].devotion <= 20)>> + <<if $slaves[$i].voice == 0>> + Living as a mute @@.hotpink;molds her@@ to your will. + <<set $slaves[$i].devotion += 1>> + <<elseif $slaves[$i].lips > 95>> + Being unable to speak through her facepussy @@.hotpink;molds her@@ to your will. + <<set $slaves[$i].devotion += 1>> + <<elseif $slaves[$i].speechRules == "restrictive">> + Living under enforced silence @@.hotpink;molds her@@ to your will. + <<set $slaves[$i].devotion += 1>> + <</if>> + <</if>> + + <<if ($slaves[$i].devotion <= 20)>> + The reasonable living conditions allow her to @@.mediumaquamarine;feel self-reliant.@@ + <<set $slaves[$i].trust += 1>> + <<else>> + She likes her personal space in the dormitory even if the other students sometimes bother her. + <</if>> + + <<if ($universalRulesConsent == 0)>> + <<if ($slaves[$i].devotion <= 20)>> + <<if ($slaves[$i].trust > -10)>> + <<if $SchlRiIDs.length > 2 || $Schoolteacher != 0>> + Under the rules, she finds herself constantly molested by other slaves, and lives her life constantly @@.gold;afraid.@@ + <<else>> + Under the rules, she is free game for other slaves to molest, and lives her life constantly @@.gold;afraid@@ of the day more girls enroll in $schoolroomName. + <</if>> + <<set $slaves[$i].trust -= 2>> + <<else>> + <<if $SchlRiIDs.length > 2 || $Schoolteacher != 0>> + Under the rules, she finds herself constantly molested by other slaves, but she's already in such constant terror it doesn't seriously affect her. + <<else>> + Under the rules, she will someday find herself constantly molested by other slaves, but she's already in such constant terror it that it doesn't cross her mind. + <</if>> + <</if>> + <<elseif ($slaves[$i].releaseRules != "restrictive")>> + <<if ($slaves[$i].energy > 95)>> + <<if $SchlRiIDs.length > 2>> + Under the rules, she's allowed to demand that other slaves to get her off, and she @@.hotpink;adores@@ you for providing plentiful outlets for her nymphomania. + <<else>> + Under the rules, she's allowed to demand that other slaves to get her off, and she @@.hotpink;eagerly awaits@@ the day more girls enroll in $schoolroomName to get her off. + <</if>> + <<set $slaves[$i].devotion += 1>> + <<elseif ($slaves[$i].fetishKnown == 1) && ($slaves[$i].fetishStrength > 60)>> + <<if ($slaves[$i].fetish == "sadist")>> + <<if $SchlRiIDs.length > 2>> + Under the rules, she's allowed to sexually abuse other slaves, and she @@.hotpink;adores@@ you for providing a whole class of girls for her to rape. + <<else>> + Under the rules, she's allowed to sexually abuse other slaves, and she @@.hotpink;eagerly awaits@@ the day more girls enroll in $schoolroomName for her to rape. + <</if>> + <<set $slaves[$i].devotion += 1>> + <<elseif ($slaves[$i].fetish == "dom")>> + <<if $SchlRiIDs.length > 2>> + Under the rules, she's allowed to force other slaves to have sex with her, and she @@.hotpink;adores@@ you for providing a whole class of girls for her to dominate. + <<else>> + Under the rules, she's allowed to force other slaves to have sex with her, and she @@.hotpink;eagerly awaits@@ the day more girls enroll in $schoolroomName for her to dominate. + <</if>> + <<set $slaves[$i].devotion += 1>> + <</if>> + <</if>> + <</if>> + <<else>> + <<if ($slaves[$i].devotion <= 20) && ($slaves[$i].devotion >= -20)>> + <<if $SchlRiIDs.length > 2 || $Schoolteacher != 0>> + Since she's low in the slave hierarchy, @@.mediumaquamarine;she knows@@ that the rule that slaves must get consent before having sex with her are all that protect her from abuse. + <<else>> + Since she's low in the slave hierarchy, @@.mediumaquamarine;she knows@@ that the rule that slaves must get consent before having sex with her are all that protect her from abuse. Well, that and the fact $schoolroomName is rather empty. + <</if>> + <<set $slaves[$i].trust += 1>> + <</if>> + <</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 services customers, analyzing her sexuality. It seems she is + <<saRulesAttractionDiscovery>> + <</if>> + <</if>> + + <<if $slaves[$i].devotion > 50>> + She does her best for 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 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 her dorm 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].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 after class in $cellblockName@@<<if $Wardeness != 0>>, where she can experience $Wardeness.slaveName's method of teaching<</if>>. + <<else>> + spends her off hours @@.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, she finds her next client is into @@.gold;orgasm denial,@@ @@.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>>. diff --git a/src/uncategorized/schoolroomReport.tw b/src/uncategorized/schoolroomReport.tw index 05c801dc552..515eb1a1791 100644 --- a/src/uncategorized/schoolroomReport.tw +++ b/src/uncategorized/schoolroomReport.tw @@ -28,6 +28,9 @@ <<set $slaves[_FLs].trust++>> <</if>> <<set $slaves[_FLs].devotion += _devBonus>> + <<if $slaves[_FLs].livingRules != "luxurious">> + <<set $slaves[_FLs].livingRules = "luxurious">> + <</if>> <<if $slaves[_FLs].fetishStrength <= 95>> <<if $slaves[_FLs].fetish != "dom">> <<fetishChangeChance $slaves[_FLs]>> @@ -134,6 +137,7 @@ ''__@@.pink;$slaves[_FLs].slaveName@@__'' is serving as your Schoolteacher. <br> <<include "SA chooses own clothes">> + <<include "SA rules">> <<include "SA diet">> <<include "SA long term effects">> <<include "SA drugs">> @@ -143,6 +147,7 @@ <<else>> <<silently>> <<include "SA chooses own clothes">> + <<include "SA rules">> <<include "SA diet">> <<include "SA long term effects">> <<include "SA drugs">> @@ -167,6 +172,9 @@ <<elseif ($slaves[$i].health < 90)>> <<set $slaves[$i].health += 3>> <</if>> + <<if $slaves[$i].livingRules != "normal">> + <<set $slaves[$i].livingRules = "normal">> + <</if>> /% Education done? Has to be here before we run the SA's or there will be double entries for slave %/ <<if ($slaves[$i].intelligenceImplant == 1)>> <<if ($slaves[$i].voice == 0) || ($slaves[$i].accent <= 1) || (($schoolroomUpgradeLanguage == 0) && ($slaves[$i].accent <= 2))>> @@ -204,6 +212,7 @@ <br> She <<include "SA take classes">> <br> <<include "SA chooses own clothes">> + <<include "SA rules">> <<include "SA diet">> <<include "SA long term effects">> <<include "SA drugs">> @@ -215,6 +224,7 @@ <<include "SA chooses own job">> <<include "SA take classes">> <<include "SA chooses own clothes">> + <<include "SA rules">> <<include "SA diet">> <<include "SA long term effects">> <<include "SA drugs">> diff --git a/src/utility/assignWidgets.tw b/src/utility/assignWidgets.tw index af0d519412f..6ee3f988fc7 100644 --- a/src/utility/assignWidgets.tw +++ b/src/utility/assignWidgets.tw @@ -54,6 +54,7 @@ <<set $args[0].assignment = "serve in the master suite", $args[0].assignmentVisible = 0, $masterSuiteSlaves++, $MastSiIDs.push(_wID)>> <<case "learn in the schoolroom" "schoolroom">> <<set $args[0].assignment = "learn in the schoolroom", $args[0].assignmentVisible = 0, $schoolroomSlaves++, $SchlRiIDs.push(_wID)>> + <<set $args[0].livingRules = "normal">> <<case "work as a servant" "servants' quarters" "servantsquarters">> <<set $args[0].assignment = "work as a servant", $args[0].assignmentVisible = 0, $servantsQuartersSlaves++, $ServQiIDs.push(_wID)>> <<case "rest in the spa" "spa">> -- GitLab