From 5052b4ef6a492e5ae548de64ebdba04e6ae772cd Mon Sep 17 00:00:00 2001
From: Svornost <11434-svornost@users.noreply.gitgud.io>
Date: Fri, 5 Jun 2020 19:35:59 -0700
Subject: [PATCH] Use the S proxy more broadly in saRules.

---
 src/uncategorized/saRules.tw | 161 ++++++++++++++++-------------------
 1 file changed, 75 insertions(+), 86 deletions(-)

diff --git a/src/uncategorized/saRules.tw b/src/uncategorized/saRules.tw
index 69f0bc8c8e9..9001f41cb9f 100644
--- a/src/uncategorized/saRules.tw
+++ b/src/uncategorized/saRules.tw
@@ -478,14 +478,14 @@
 			<<if ($universalRulesConsent == 0)>>
 				<<if ($slaves[$i].devotion <= 20)>>
 					<<if ($slaves[$i].trust > -10)>>
-						<<if App.Entity.facilities.brothel.employeesIDs().size > 2 || $Madam != 0>>
+						<<if App.Entity.facilities.brothel.employeesIDs().size > 2 || _S.Madam>>
 							Under the rules, $he finds $himself constantly molested by other slaves, and lives $his life constantly @@.gold;afraid.@@
 						<<else>>
 							Under the rules, $he is free game for other slaves to molest, and lives $his life constantly @@.gold;afraid@@ of the day you assign more whores to $brothelName.
 						<</if>>
 						<<set $slaves[$i].trust -= 2>>
 					<<else>>
-						<<if App.Entity.facilities.brothel.employeesIDs().size > 2 || $Madam != 0>>
+						<<if App.Entity.facilities.brothel.employeesIDs().size > 2 || _S.Madam>>
 							Under the rules, $he finds $himself constantly molested by other slaves, but $he's already in such constant terror it doesn't seriously affect $him.
 						<<else>>
 							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.
@@ -519,7 +519,7 @@
 				<</if>>
 			<<else>>
 				<<if ($slaves[$i].devotion <= 20) && ($slaves[$i].devotion >= -20)>>
-					<<if App.Entity.facilities.brothel.employeesIDs().size > 2 || $Madam != 0>>
+					<<if App.Entity.facilities.brothel.employeesIDs().size > 2 || _S.Madam>>
 						Since $he's low in the slave hierarchy, @@.mediumaquamarine;$he knows@@ that the rule that slaves must get consent before having sex with $him are all that protect $him from abuse.
 					<<else>>
 						Since $he's low in the slave hierarchy, @@.mediumaquamarine;$he knows@@ that the rule that slaves must get consent before having sex with $him are all that protect $him from abuse. Well, that and the fact $brothelName is rather empty.
@@ -1037,14 +1037,14 @@
 			<<if ($universalRulesConsent == 0)>>
 				<<if ($slaves[$i].devotion <= 20)>>
 					<<if ($slaves[$i].trust > -10)>>
-						<<if App.Entity.facilities.club.employeesIDs().size > 2 || $DJ != 0>>
+						<<if App.Entity.facilities.club.employeesIDs().size > 2 || _S.DJ>>
 							Under the rules, $he finds $himself constantly molested by other slaves, and lives $his life constantly @@.gold;afraid.@@
 						<<else>>
 							Under the rules, $he is free game for other slaves to molest, and lives $his life constantly @@.gold;afraid@@ of the day you assign more sluts to $clubName.
 						<</if>>
 						<<set $slaves[$i].trust -= 2>>
 					<<else>>
-						<<if App.Entity.facilities.club.employeesIDs().size > 2 || $DJ != 0>>
+						<<if App.Entity.facilities.club.employeesIDs().size > 2 || _S.DJ>>
 							Under the rules, $he finds $himself constantly molested by other slaves, but $he's already in such constant terror it doesn't seriously affect $him.
 						<<else>>
 							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.
@@ -1078,7 +1078,7 @@
 				<</if>>
 			<<else>>
 				<<if ($slaves[$i].devotion <= 20) && ($slaves[$i].devotion >= -20)>>
-					<<if App.Entity.facilities.club.employeesIDs().size > 2 || $DJ != 0>>
+					<<if App.Entity.facilities.club.employeesIDs().size > 2 || _S.DJ>>
 						Since $he's low in the slave hierarchy, @@.mediumaquamarine;$he knows@@ that the rule that slaves must get consent before having sex with $him are all that protect $him from abuse.
 					<<else>>
 						Since $he's low in the slave hierarchy, @@.mediumaquamarine;$he knows@@ that the rule that slaves must get consent before having sex with $him are all that protect $him from abuse. Well, that and the fact $clubName is rather empty.
@@ -1407,12 +1407,12 @@
 				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>>
-					<<set $slaves[_FLs].counter.mammary += 14, $mammaryTotal += 14>>
+			<<elseif _S.Nurse>>
+				is routinely brought to orgasm by _S.Nurse.slaveName as part of $his duties.
+				<<if canPenetrate($slaves[$i]) && _S.Nurse.boobs >= 500>>
+					<<run actX(_S.Nurse, "mammary", 14)>>
 				<<else>>
-					<<set $slaves[_FLs].counter.oral += 14, $oralTotal += 14>>
+					<<run actX(_S.Nurse, "oral", 14)>>
 					/* possible cumflation code here */
 				<</if>>
 				<<set $slaves[$i].need -= 60>>
@@ -1775,7 +1775,7 @@
 				<</switch>>
 			<</if>>
 		<<case "be confined in the cellblock">>
-			<<if $Wardeness != 0 && canPenetrate($Wardeness)>>
+			<<if _S.Wardeness && canPenetrate(_S.Wardeness)>>
 				<<set _wardenFunTimes = random(0,5)>>
 				<<set $slaves[$i].need -= (10*_wardenFunTimes)>>
 			<</if>>
@@ -1803,61 +1803,46 @@
 				<<elseif canDoAnal($slaves[$i]) && $slaves[$i].anus > 0>>
 					<<set $slaves[$i].counter.anal += 7, $analTotal += 7>>
 				<</if>>
-			<<elseif $slaves[$i].need < $slaves[$i].needCap*0.5>>
-				<<if $Wardeness != 0 && canPenetrate($Wardeness)>>
+			<<else>>
+				<<if _S.Wardeness && canPenetrate(_S.Wardeness)>>
 					<<run SimpleSexAct.Slave($slaves[$i], _wardenFunTimes)>>
-					<<set $slaves[_FLs].counter.penetrative += _wardenFunTimes, $penetrativeTotal += _wardenFunTimes>>
-					<<if _wardenFunTimes > 0 && canImpreg($slaves[$i], $Wardeness) && ($cellblockWardenCumsInside == 1 || $Wardeness.fetish == "mindbroken") && (($slaves[$i].vagina > 0 && $slaves[$i].ovaries == 1) || ($slaves[$i].anus > 0 && $slaves[$i].mpreg == 1))>>
+					<<run actX(_S.Wardeness, "penetrative", _wardenFunTimes)>>
+					<<if _wardenFunTimes > 0 && canImpreg($slaves[$i], _S.Wardeness) && ($cellblockWardenCumsInside == 1 || _S.Wardeness.fetish == "mindbroken")>>
 						<<if ($slaves[$i].vagina > 0 && $slaves[$i].ovaries == 1)>>
-							<<= knockMeUp($slaves[$i], 10, 0, $Wardeness.ID, 1)>>
-							<<set $slaves[$i].counter.vaginal++, $vaginalTotal++>>
-							<<set $slaves[_FLs].counter.penetrative += 1, $penetrativeTotal += 1>>
-						<<else>>
-							<<= knockMeUp($slaves[$i], 10, 1, $Wardeness.ID, 1)>>
-							<<set $slaves[$i].counter.anal++, $analTotal++>>
-							<<set $slaves[_FLs].counter.penetrative += 1, $penetrativeTotal += 1>>
+							<<= knockMeUp($slaves[$i], 10, 0, _S.Wardeness.ID, 1)>>
+							<<run seX($slaves[$i], "vaginal", _S.Wardeness, 1)>>
+						<<elseif ($slaves[$i].anus > 0 && $slaves[$i].mpreg == 1)>>
+							<<= knockMeUp($slaves[$i], 10, 1, _S.Wardeness.ID, 1)>>
+							<<run seX($slaves[$i], "anal", _S.Wardeness, 1)>>
 						<</if>>
 					<</if>>
 				<</if>>
-				<<if ($slaves[$i].devotion <= 20)>>
-					gets off despite $his reluctance, @@.hotpink;habituating $him to sexual slavery.@@
-					<<set $slaves[$i].devotion += 1>>
-					<<if ($slaves[$i].trust >= -20) && ($slaves[$i].devotion <= 20)>>
-						$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>>
-				<</if>>
-			<<else>>
-				<<if $Wardeness != 0 && canPenetrate($Wardeness)>>
-					<<run SimpleSexAct.Slave($slaves[$i], _wardenFunTimes)>>
-					<<set $slaves[_FLs].counter.penetrative += _wardenFunTimes, $penetrativeTotal += _wardenFunTimes>>
-					<<if _wardenFunTimes > 0 && canImpreg($slaves[$i], $Wardeness) && ($cellblockWardenCumsInside == 1 || $Wardeness.fetish == "mindbroken") && (($slaves[$i].vagina > 0 && $slaves[$i].ovaries == 1) || ($slaves[$i].anus > 0 && $slaves[$i].mpreg == 1))>>
-						<<if ($slaves[$i].vagina > 0 && $slaves[$i].ovaries == 1)>>
-							<<= knockMeUp($slaves[$i], 10, 0, $Wardeness.ID, 1)>>
-							<<set $slaves[$i].counter.vaginal++, $vaginalTotal++>>
-							<<set $slaves[_FLs].counter.penetrative += 1, $penetrativeTotal += 1>>
-						<<else>>
-							<<= knockMeUp($slaves[$i], 10, 1, $Wardeness.ID, 1)>>
-							<<set $slaves[$i].counter.anal++, $analTotal++>>
-							<<set $slaves[_FLs].counter.penetrative += 1, $penetrativeTotal += 1>>
+				<<if $slaves[$i].need < $slaves[$i].needCap*0.5>>
+					<<if ($slaves[$i].devotion <= 20)>>
+						gets off despite $his reluctance, @@.hotpink;habituating $him to sexual slavery.@@
+						<<set $slaves[$i].devotion += 1>>
+						<<if ($slaves[$i].trust >= -20) && ($slaves[$i].devotion <= 20)>>
+							$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>>
 					<</if>>
-				<</if>>
-				<<if random(-100,0) > $slaves[$i].devotion>>
-					refuses to not touch $himself and is @@.gold;severely punished@@ for illicit masturbation.
-					<<set $slaves[$i].trust -= 2, $slaves[$i].need -= 10>>
 				<<else>>
-					@@.gold;fears@@ trying to
-					<<if ($slaves[$i].chastityPenis)>>
-						touch $himself
-					<<elseif canAchieveErection($slaves[$i])>>
-						jack off
+					<<if random(-100,0) > $slaves[$i].devotion>>
+						refuses to not touch $himself and is @@.gold;severely punished@@ for illicit masturbation.
+						<<set $slaves[$i].trust -= 2, $slaves[$i].need -= 10>>
 					<<else>>
-						touch $himself
+						@@.gold;fears@@ trying to
+						<<if ($slaves[$i].chastityPenis)>>
+							touch $himself
+						<<elseif canAchieveErection($slaves[$i])>>
+							jack off
+						<<else>>
+							touch $himself
+						<</if>>
+						to get relief when $he knows what the consequences are.
+						<<set $slaves[$i].trust -= 1>>
 					<</if>>
-					to get relief when $he knows what the consequences are.
-					<<set $slaves[$i].trust -= 1>>
 				<</if>>
 			<</if>>
 
@@ -2637,20 +2622,20 @@
 			<<elseif $slaves[$i].energy <= 20>>
 				is frigid and has little interest in getting off.
 				<<set $slaves[$i].need = 0>>
-			<<elseif $Matron != 0>>
-				is routinely relieved of any built up tension by $Matron.slaveName and $his
-				<<if canPenetrate($slaves[$i]) && $Matron.boobs >= 500>>
+			<<elseif _S.Matron>>
+				is routinely relieved of any built up tension by _S.Matron.slaveName and $his
+				<<if canPenetrate($slaves[$i]) && _S.Matron.boobs >= 500>>
 					luscious breasts.
-					<<set $slaves[_FLs].counter.mammary += 14, $mammaryTotal += 14>>
+					<<run actX(_S.Matron, "mammary", 14)>>
 				<<else>>
-					<<if $slaves[_FLs].lips > 40>>
+					<<if _S.Matron.lips > 40>>
 						luscious lips.
-					<<elseif $slaves[_FLs].skill.oral > 30>>
+					<<elseif _S.Matron.skill.oral > 30>>
 						skilled tongue.
 					<<else>>
 						willing mouth.
 					<</if>>
-					<<set $slaves[_FLs].counter.oral += 14, $oralTotal += 14>>
+					<<run actX(_S.Matron, "oral", 14)>>
 					/* possible cumflation code here */
 				<</if>>
 				<<set $slaves[$i].need -= 60>>
@@ -2867,7 +2852,7 @@
 						<<if _L.nursery > 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.
 						<<else>>
-							Under the rules, $he's allowed to demand that other slaves get $him off, and $he @@.hotpink;eagerly awaits@@ the day <<if $Matron != 0>>more of your slaves join $him in $nurseryName <<else>>you assign more nurses to $nurseryName to help $him relieve $his <<if $slaves[$i].balls > 0>>swollen balls<<else>>tension<</if>><</if>>.
+							Under the rules, $he's allowed to demand that other slaves get $him off, and $he @@.hotpink;eagerly awaits@@ the day <<if _S.Matron>>more of your slaves join $him in $nurseryName <<else>>you assign more nurses to $nurseryName to help $him relieve $his <<if $slaves[$i].balls > 0>>swollen balls<<else>>tension<</if>><</if>>.
 						<</if>>
 						<<set $slaves[$i].devotion += 1>>
 					<<elseif ($slaves[$i].fetishKnown == 1) && ($slaves[$i].fetishStrength > 60)>>
@@ -2875,14 +2860,14 @@
 							<<if _L.nursery > 2>>
 								Under the rules, $he's allowed to sexually abuse other slaves, and $he @@.hotpink;adores@@ you for providing a whole nursery of slaves for $him to rape.
 							<<else>>
-								Under the rules, $he's allowed to sexually abuse other slaves, and $he @@.hotpink;eagerly awaits@@ the day <<if $Matron != 0>>more of your slaves join $him in $nurseryName <<else>>you assign more nurses to $nurseryName to help $him unwind<</if>>.
+								Under the rules, $he's allowed to sexually abuse other slaves, and $he @@.hotpink;eagerly awaits@@ the day <<if _S.Matron>>more of your slaves join $him in $nurseryName <<else>>you assign more nurses to $nurseryName to help $him unwind<</if>>.
 							<</if>>
 							<<set $slaves[$i].devotion += 1>>
 						<<elseif ($slaves[$i].fetish == "dom")>>
 							<<if _L.nursery > 2>>
 								Under the rules, $he's allowed to force other slaves to have sex with $him, and $he @@.hotpink;adores@@ you for providing a whole nursery of slaves for $him to dominate.
 							<<else>>
-								Under the rules, $he's allowed to force other slaves to have sex with $him, and $he @@.hotpink;eagerly awaits@@ the day <<if $Matron != 0>>more of your slaves join $him in $nurseryName <<else>>you assign more nurses to $nurseryName to help $him unwind<</if>>.
+								Under the rules, $he's allowed to force other slaves to have sex with $him, and $he @@.hotpink;eagerly awaits@@ the day <<if _S.Matron>>more of your slaves join $him in $nurseryName <<else>>you assign more nurses to $nurseryName to help $him unwind<</if>>.
 							<</if>>
 							<<set $slaves[$i].devotion += 1>>
 						<</if>>
@@ -2893,7 +2878,7 @@
 					<<if _L.nursery > 2>>
 						Since $he's low in the slave hierarchy, @@.mediumaquamarine;$he knows@@ that the rule that slaves must get consent before having sex with $him are all that protect $him from abuse.
 					<<else>>
-						Since $he's low in the slave hierarchy, @@.mediumaquamarine;$he knows@@ that the rule that slaves must get consent before having sex with $him are all that protect $him from abuse. Well, that and the fact $nurseryName is <<if $Matron != 0>>mostly frequented by other slaveowners' stock<<else>>$his little private sanctuary<</if>>.
+						Since $he's low in the slave hierarchy, @@.mediumaquamarine;$he knows@@ that the rule that slaves must get consent before having sex with $him are all that protect $him from abuse. Well, that and the fact $nurseryName is <<if _S.Matron>>mostly frequented by other slaveowners' stock<<else>>$his little private sanctuary<</if>>.
 					<</if>>
 					<<set $slaves[$i].trust += 1>>
 				<</if>>
@@ -3190,37 +3175,41 @@
 				<</switch>>
 			<</if>>
 		<<case "learn in the schoolroom">>
-			<<if $Schoolteacher != 0>>
+			<<if _S.Schoolteacher>>
 				<<set $slaves[$i].need -= 30>>
-				<<set $slaves[$i].counter.oral += 7, $slaves[$i].counter.mammary += 7, $oralTotal += 7, $mammaryTotal += 7>>
+				<<run actX($slaves[$i], "oral", 7), actX($slaves[$i], "mammary", 7)>>
 				<<if canDoVaginal($slaves[$i])>>
 					<<if $slaves[$i].vagina != 0>>
-						<<set $slaves[$i].counter.vaginal += 7, $vaginalTotal += 7>>
-						<<if canImpreg($slaves[$i], $Schoolteacher) && ($slaves[$i].breedingMark == 0 || $propOutcome == 0 || $eugenicsFullControl == 1 || $arcologies[0].FSRestart == "unset") && $slaves[$i].vagina != 0>>
-							<<= knockMeUp($slaves[$i], 5, 0, $Schoolteacher.ID, 1)>>
+						<<run seX(_S.Schoolteacher, "penetrative", $slaves[$i], "vaginal", 7)>>
+						<<if canImpreg($slaves[$i], _S.Schoolteacher) && ($slaves[$i].breedingMark == 0 || $propOutcome == 0 || $eugenicsFullControl == 1 || $arcologies[0].FSRestart == "unset")>>
+							<<= knockMeUp($slaves[$i], 5, 0, _S.Schoolteacher.ID, 1)>>
 						<</if>>
 					<</if>>
 					<<set $slaves[$i].need -= 10>>
 				<</if>>
 				<<if canDoAnal($slaves[$i])>>
 					<<if $slaves[$i].anus != 0>>
-						<<set $slaves[$i].counter.anal += 7, $analTotal += 7>>
-						<<if canImpreg($slaves[$i], $Schoolteacher) && ($slaves[$i].breedingMark == 0 || $propOutcome == 0 || $eugenicsFullControl == 1 || $arcologies[0].FSRestart == "unset") && $slaves[$i].anus != 0>>
-							<<= knockMeUp($slaves[$i], 5, 1, $Schoolteacher.ID, 1)>>
+						<<run seX(_S.Schoolteacher, "penetrative", $slaves[$i], "anal", 7)>>
+						<<if canImpreg($slaves[$i], _S.Schoolteacher) && ($slaves[$i].breedingMark == 0 || $propOutcome == 0 || $eugenicsFullControl == 1 || $arcologies[0].FSRestart == "unset")>>
+							<<= knockMeUp($slaves[$i], 5, 1, _S.Schoolteacher.ID, 1)>>
 						<</if>>
 					<</if>>
 					<<set $slaves[$i].need -= 10>>
 				<</if>>
 				<<if canPenetrate($slaves[$i])>>
-					<<set $slaves[$i].counter.penetrative += 7, $penetrativeTotal += 7>>
-					<<set $slaves[$i].need -= 10>>
-					<<if canImpreg($Schoolteacher, $slaves[$i]) && ($Schoolteacher.breedingMark == 0 || $propOutcome == 0 || $eugenicsFullControl == 1 || $arcologies[0].FSRestart == "unset")>>
-						<<if $Schoolteacher.vagina != 0 && $Schoolteacher.ovaries == 1>>
-							<<= knockMeUp($slaves[_FLs], 5, 0, $slaves[$i].ID, 1)>>
-						<<elseif $Schoolteacher.anus != 0 && $Schoolteacher.mpreg == 1>>
-							<<= knockMeUp($slaves[_FLs], 5, 1, $slaves[$i].ID, 1)>>
+					<<if _S.Schoolteacher.vagina != 0>>
+						<<run seX(_S.Schoolteacher, "vaginal", $slaves[$i], "penetrative", 7)>>
+					<<elseif _S.Schoolteacher.anus != 0>>
+						<<run seX(_S.Schoolteacher, "anal", $slaves[$i], "penetrative", 7)>>
+					<</if>>
+					<<if canImpreg(_S.Schoolteacher, $slaves[$i]) && (_S.Schoolteacher.breedingMark == 0 || $propOutcome == 0 || $eugenicsFullControl == 1 || $arcologies[0].FSRestart == "unset")>>
+						<<if _S.Schoolteacher.vagina != 0 && _S.Schoolteacher.ovaries == 1>>
+							<<= knockMeUp(_S.Schoolteacher, 5, 0, $slaves[$i].ID, 1)>>
+						<<elseif _S.Schoolteacher.anus != 0 && _S.Schoolteacher.mpreg == 1>>
+							<<= knockMeUp(_S.Schoolteacher, 5, 1, $slaves[$i].ID, 1)>>
 						<</if>>
 					<</if>>
+					<<set $slaves[$i].need -= 10>>
 				<</if>>
 			<</if>>
 			<<if $slaves[$i].devotion < -50>>
@@ -3390,14 +3379,14 @@
 			<<if ($universalRulesConsent == 0)>>
 				<<if ($slaves[$i].devotion <= 20)>>
 					<<if ($slaves[$i].trust > -10)>>
-						<<if _L.schoolroom > 2 || $Schoolteacher != 0>>
+						<<if _L.schoolroom > 2 || _S.Schoolteacher>>
 							Under the rules, $he finds $himself constantly molested by other slaves, and lives $his life constantly @@.gold;afraid.@@
 						<<else>>
 							Under the rules, $he is free game for other slaves to molest, and lives $his life constantly @@.gold;afraid@@ of the day more students enroll in $schoolroomName.
 						<</if>>
 						<<set $slaves[$i].trust -= 2>>
 					<<else>>
-						<<if _L.schoolroom > 2 || $Schoolteacher != 0>>
+						<<if _L.schoolroom > 2 || _S.Schoolteacher>>
 							Under the rules, $he finds $himself constantly molested by other slaves, but $he's already in such constant terror it doesn't seriously affect $him.
 						<<else>>
 							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.
@@ -3431,7 +3420,7 @@
 				<</if>>
 			<<else>>
 				<<if ($slaves[$i].devotion <= 20) && ($slaves[$i].devotion >= -20)>>
-					<<if _L.schoolroom > 2 || $Schoolteacher != 0>>
+					<<if _L.schoolroom > 2 || _S.Schoolteacher>>
 						Since $he's low in the slave hierarchy, @@.mediumaquamarine;$he knows@@ that the rule that slaves must get consent before having sex with $him are all that protect $him from abuse.
 					<<else>>
 						Since $he's low in the slave hierarchy, @@.mediumaquamarine;$he knows@@ that the rule that slaves must get consent before having sex with $him are all that protect $him from abuse. Well, that and the fact $schoolroomName is rather empty.
-- 
GitLab