diff --git a/slave variables documentation - Pregmod.txt b/slave variables documentation - Pregmod.txt
index 9ade32f33588f5d5644537e7d78f04fb2011f3a1..77ba256fefce8b78b380bac09402d221bdf9a2ee 100644
--- a/slave variables documentation - Pregmod.txt	
+++ b/slave variables documentation - Pregmod.txt	
@@ -1671,6 +1671,7 @@ releaseRules:
 
 "permissive"
 "sapphic"
+"masturbation"
 "restrictive"
 
 relationshipRules:
diff --git a/src/npc/descriptions/fVagina.tw b/src/npc/descriptions/fVagina.tw
index 8631043e1dbeeffdf9a75048051c0faa515f501c..584eb05c136543fc73ae4e831f514a3a2b698c52 100644
--- a/src/npc/descriptions/fVagina.tw
+++ b/src/npc/descriptions/fVagina.tw
@@ -82,9 +82,9 @@ You decide to fuck her
 <<if (_fPosition <= 20)>>
 	in the missionary position. You tell her to lie down on the couch next to your desk.<<if hyperPregBellyOne($activeSlave)>> A position that will difficult due to her massive pregnancy.<<elseif hyperBellyOne($activeSlave)>> A position that will difficult due to her massive stomach.<</if>>
 <<elseif (_fPosition <= 40)>>
-	doggy-style. You tell her to get on the couch beside your desk on her hands and knees.<<if hyperPregBellyOne($activeSlave)>> A position that leaves her rear high in the air thanks to her massive pregnancy.<<elseif hyperBellyOne($activeSlave)>> A position that leaves her rear high in the air thanks to her massive stomach.<</if>>
-<<elseif (_fPosition <= 60)>>
 	in the cowgirl position. You lie on the couch beside your desk and tell her to straddle you, facing towards you.<<if hyperPregBellyOne($activeSlave)>> A position that will allow you to tease her massive pregnancy as you fuck her.<<elseif hyperBellyOne($activeSlave)>> A position that will allow you to tease her massive belly as you fuck her.<</if>>
+<<elseif (_fPosition <= 60)>>
+	doggy-style. You tell her to get on the couch beside your desk on her hands and knees.<<if hyperPregBellyOne($activeSlave)>> A position that leaves her rear high in the air thanks to her massive pregnancy.<<elseif hyperBellyOne($activeSlave)>> A position that leaves her rear high in the air thanks to her massive stomach.<</if>>
 <<elseif (_fPosition <= 80)>>
 	in the reverse cowgirl position. You lie on the couch beside your desk and tell her to straddle you facing away from you.<<if hyperPregBellyOne($activeSlave)>> A position that will much more comfortable due for her massive pregnancy.<<elseif hyperBellyOne($activeSlave)>> A position that will much more comfortable for her massive belly.<</if>>
 <<else>>
@@ -141,7 +141,7 @@ You decide to fuck her
 	You tell her to get situated on the couch, doggy style. This position pins her down by the massive weight of her balls. Her testicles serve as an anchor, allowing you to take her doggy style without any real concern of getting struck by her massive nuts. The position keeps her balls completely still where they rest on the couch, so you don't have to worry about them getting in the way.
 <<elseif ($activeSlave.fetish == "submissive") && ($activeSlave.fetishStrength > 60) && ($activeSlave.fetishKnown == 1) && ($PC.dick != 0)>>
 	She comes over, smiling a little submissive smile, and spreads herself for you. You take her on the couch next to your desk after she gets into position.
-	<<if (_fPosition <= 20)>>
+	<<if (_fPosition <= 20)>> /* missionary */
 		<<if hyperPregBellyOne($activeSlave)>>
 		You have to heft her gravid body up to position yourself for penetration. But once you are mounted, you rest your head against her bulging belly and feel the movements within as you thrust into her;
 		<<elseif hyperBellyOne($activeSlave)>>
@@ -149,23 +149,23 @@ You decide to fuck her
 		<<else>>
 		She hugs her torso to you and her breasts press against your chest;
 		<</if>>
-	<<elseif (_fPosition <= 40)>>
+	<<elseif (_fPosition <= 40)>> /* cowgirl */
 		<<if hyperPregBellyOne($activeSlave)>>
-		She arches her back as you continue to pound her, her occupants enjoying the attention. As you rest your weight on her, you run your hands along her distended sides;
+		She does her best to not suffocate you with her massive belly or knock you out with it as you thrust into her. You get a face full of pregnancy with each downward motion;
 		<<elseif hyperBellyOne($activeSlave)>>
-		She arches her back as you continue to pound her, her belly jiggling just slightly with each thrust. As you rest your weight on her, you run your hands along her distended sides;
+		She does her best to not suffocate you with her massive belly or knock you out with it as you thrust into her. You get a face full of implant with each downward motion;
 		<<else>>
-		She arches her back as you continue to pound her;
+		She puts her hands on your chest and leans forward as you continue to thrust upwards;
 		<</if>>
-	<<elseif (_fPosition <= 60)>>
+	<<elseif (_fPosition <= 60)>> /* doggy-style */
 		<<if hyperPregBellyOne($activeSlave)>>
-		She does her best to not suffocate you with her massive belly or knock you out with it as you thrust into her. You get a face full of pregnancy with each downward motion;
+		She arches her back as you continue to pound her, her occupants enjoying the attention. As you rest your weight on her, you run your hands along her distended sides;
 		<<elseif hyperBellyOne($activeSlave)>>
-		She does her best to not suffocate you with her massive belly or knock you out with it as you thrust into her. You get a face full of implant with each downward motion;
+		She arches her back as you continue to pound her, her belly jiggling just slightly with each thrust. As you rest your weight on her, you run your hands along her distended sides;
 		<<else>>
-		She puts her hands on your chest and leans forward as you continue to thrust upwards;
+		She arches her back as you continue to pound her;
 		<</if>>
-	<<elseif (_fPosition <= 80)>>
+	<<elseif (_fPosition <= 80)>> /* reverse cowgirl */
 		<<if hyperPregBellyOne($activeSlave)>>
 		You may have to spread your legs extra wide to accommodate her impressive baby bump, but the angle and pressure it puts on you feels amazing. She puts her hands on your chest and starts to lean back as you continue to thrust upwards, in return you caress her distended sides;
 		<<elseif hyperBellyOne($activeSlave)>>
@@ -173,7 +173,7 @@ You decide to fuck her
 		<<else>>
 		She puts her hands on your chest and starts to lean back as you continue to thrust upwards;
 		<</if>>
-	<<else>>
+	<<else>> /* wheelbarrow */
 		<<if hyperPregBellyOne($activeSlave)>>
 		Before long both of your strength begins to wane, causing her belly to touch the floor. With some of the weight off of the both of you, you keep on pounding;
 		<<elseif hyperBellyOne($activeSlave)>>
@@ -247,47 +247,48 @@ You decide to fuck her
 	<</if>>
 <<else>>
 	<<if ($PC.dick != 0)>>
-		She skips over smiling and gives you a quick kiss. You take her on the couch next to your desk after she gets into position. 
-	<<if (_fPosition <= 20)>>
-		<<if hyperPregBellyOne($activeSlave)>>
-		You have to heft her gravid body up to position yourself for penetration. But once you are mounted, you rest your head against her bulging belly and feel the movements within as you thrust into her;
-		<<elseif hyperBellyOne($activeSlave)>>
-		You have to heft her weighty body up to position yourself for penetration. But once you are mounted, you rest your head against her massive stomach and feel the force of your thrusts running through her;
-		<<else>>
-		She hugs her torso to you and her breasts press against your chest;
-		<</if>>
-	<<elseif (_fPosition <= 40)>>
-		<<if hyperPregBellyOne($activeSlave)>>
-		She arches her back as you continue to pound her, her occupants enjoying the attention. As you rest your weight on her, you run your hands along her distended sides;
-		<<elseif hyperBellyOne($activeSlave)>>
-		She arches her back as you continue to pound her, her belly jiggling just slightly with each thrust. As you rest your weight on her, you run your hands along her distended sides;
-		<<else>>
-		She arches her back as you continue to pound her;
-		<</if>>
-	<<elseif (_fPosition <= 60)>>
-		<<if hyperPregBellyOne($activeSlave)>>
-		She does her best to not suffocate you with her massive belly or knock you out with it as you thrust into her. You get a face full of pregnancy with each downward motion;
-		<<elseif hyperBellyOne($activeSlave)>>
-		She does her best to not suffocate you with her massive belly or knock you out with it as you thrust into her. You get a face full of implant with each downward motion;
-		<<else>>
-		She puts her hands on your chest and leans forward as you continue to thrust upwards;
-		<</if>>
-	<<elseif (_fPosition <= 80)>>
-		<<if hyperPregBellyOne($activeSlave)>>
-		You may have to spread your legs extra wide to accommodate her impressive baby bump, but the angle and pressure it puts on you feels amazing. She puts her hands on your chest and starts to lean back as you continue to thrust upwards, in return you caress her distended sides;
-		<<elseif hyperBellyOne($activeSlave)>>
-		You may have to spread your legs extra wide to accommodate her impressive belly, but the angle and pressure it puts on you feels amazing. She puts her hands on your chest and starts to lean back as you continue to thrust upwards, in return you caress her distended sides;
-		<<else>>
-		She puts her hands on your chest starts to lean back as you continue to thrust upwards;
-		<</if>>
-	<<else>>
-		<<if ($activeSlave.preg > 30 && $activeSlave.pregType >= 10) || ($activeSlave.bellyImplant >= 16000)>>
-		Before long both of your strength begins to wane, causing her belly to touch the floor. With some of the weight off of the both of you, you keep on pounding;
-		<<else>>
-			She begins to tire as you keep pounding;
+		She skips over smiling and gives you a quick kiss. You take her on the couch next to your desk after she gets into position.
+		<<if (_fPosition <= 20)>> /* missionary */
+			<<if hyperPregBellyOne($activeSlave)>> /* missionary */
+			You have to heft her gravid body up to position yourself for penetration. But once you are mounted, you rest your head against her bulging belly and feel the movements within as you thrust into her;
+			<<elseif hyperBellyOne($activeSlave)>>
+			You have to heft her weighty body up to position yourself for penetration. But once you are mounted, you rest your head against her massive stomach and feel the force of your thrusts running through her;
+			<<else>>
+			She hugs her torso to you and her breasts press against your chest;
+			<</if>>
+		<<elseif (_fPosition <= 40)>> /* cowgirl */
+			<<if hyperPregBellyOne($activeSlave)>>
+			She does her best to not suffocate you with her massive belly or knock you out with it as you thrust into her. You get a face full of pregnancy with each downward motion;
+			<<elseif hyperBellyOne($activeSlave)>>
+			She does her best to not suffocate you with her massive belly or knock you out with it as you thrust into her. You get a face full of implant with each downward motion;
+			<<else>>
+			She puts her hands on your chest and leans forward as you continue to thrust upwards;
+			<</if>>
+		<<elseif (_fPosition <= 60)>> /* doggy-style */
+			<<if hyperPregBellyOne($activeSlave)>>
+			She arches her back as you continue to pound her, her occupants enjoying the attention. As you rest your weight on her, you run your hands along her distended sides;
+			<<elseif hyperBellyOne($activeSlave)>>
+			She arches her back as you continue to pound her, her belly jiggling just slightly with each thrust. As you rest your weight on her, you run your hands along her distended sides;
+			<<else>>
+			She arches her back as you continue to pound her;
+			<</if>>
+		<<elseif (_fPosition <= 80)>> /* reverse cowgirl */
+			<<if hyperPregBellyOne($activeSlave)>>
+			You may have to spread your legs extra wide to accommodate her impressive baby bump, but the angle and pressure it puts on you feels amazing. She puts her hands on your chest and starts to lean back as you continue to thrust upwards, in return you caress her distended sides;
+			<<elseif hyperBellyOne($activeSlave)>>
+			You may have to spread your legs extra wide to accommodate her impressive belly, but the angle and pressure it puts on you feels amazing. She puts her hands on your chest and starts to lean back as you continue to thrust upwards, in return you caress her distended sides;
+			<<else>>
+			She puts her hands on your chest starts to lean back as you continue to thrust upwards;
+			<</if>>
+		<<else>> /* wheelbarrow */
+			<<if ($activeSlave.preg > 30 && $activeSlave.pregType >= 10) || ($activeSlave.bellyImplant >= 16000)>>
+			Before long both of your strength begins to wane, causing her belly to touch the floor. With some of the weight off of the both of you, you keep on pounding;
+			<<else>>
+				She begins to tire as you keep pounding;
+			<</if>>
 		<</if>>
-	<</if>>
-	you can feel <<if hyperPregBellyOne($activeSlave)>>her children begin to squirm in reaction to their mother's lust<<else>>her heart beating hard<</if>>. As the sex reaches its climax, her kisses grow urgent and passionate.
+		you can feel <<if hyperPregBellyOne($activeSlave)>>her children begin to squirm in reaction to their mother's lust<<else>>her heart beating hard<</if>>.
+		<<if (_fPosition <= 40)>> As the sex reaches its climax, her kisses grow urgent and passionate. <</if>>
 		<<if ($activeSlave.dick != 0) && canAchieveErection($activeSlave)>>
 			<<if $activeSlave.dickAccessory == "chastity" || ($activeSlave.dickAccessory == "combined chastity")>>
 				She enjoys herself, even though her dick chastity keeps her soft by making the beginnings of erection very uncomfortable.
diff --git a/src/npc/fFeelings.tw b/src/npc/fFeelings.tw
index b05c0e3b2858c1c1064c4b69ec4794f967bcc374..1d763eac3c06acd8c11deade7b03e081b8371e4e 100644
--- a/src/npc/fFeelings.tw
+++ b/src/npc/fFeelings.tw
@@ -258,7 +258,7 @@ My favorite part of my body i<<s>>
 		<<set _Amp = "rub mythelf against thtuff,">>
 	<</if>>
 	<</if>>
-	<<if ($activeSlave.releaseRules == "permissive")>>
+	<<if ($activeSlave.releaseRules == "permissive") || $activeSlave.releaseRules == "masturbation">>
 		Thank you for letting me
 		<<if ($activeSlave.fetishKnown == 1)>>
 			<<if ($activeSlave.energy > 95)>>
diff --git a/src/pregmod/eliteTakeOverFight.tw b/src/pregmod/eliteTakeOverFight.tw
index a1eb52b58913b63d29da1e7a4459c6292e5c603d..7a6f446cda1a3c95f7f4534039d59abfb36a274e 100644
--- a/src/pregmod/eliteTakeOverFight.tw
+++ b/src/pregmod/eliteTakeOverFight.tw
@@ -41,7 +41,7 @@
 		You manage to select the right words to enrage them.
 		<<set _EliteEnraged = 1>>
 	<<else>>
-		You try to to enrage them, but your words have had no effect.
+		You try to enrage them, but your words have had no effect.
 		<<set _EliteEnraged = 0>>
 	<</if>>
 	<br>You then pick up the revolver and quickly take aim.
diff --git a/src/pregmod/eliteTakeOverResult.tw b/src/pregmod/eliteTakeOverResult.tw
index 60dff8dbcb33ab47f35175b40eca8f40204ef468..cc2c8e55fa87a135b566b12d959a2001e80dba99 100644
--- a/src/pregmod/eliteTakeOverResult.tw
+++ b/src/pregmod/eliteTakeOverResult.tw
@@ -61,7 +61,7 @@
 				<</replace>>
 			<</link>>
 		</span> 
-	<<elseif $SpecialForceMessageSent == 1>>
+	<<elseif $SpecialForcesMessageSent == 1>>
 		<br>The <<if $eliteLeft < $eliteTotal>>remaining<</if>> elite are quickly captured, abused and enslaved.
 		<<if $securityForceDepravity <= 0.3>>
 			Two soldiers decide to double team an elite; one gropes her ass while the other gropes her tits.
diff --git a/src/pregmod/widgets/deathWidgets.tw b/src/pregmod/widgets/deathWidgets.tw
index b546b7978ba48a1aa725ea74e1ae95de1e2a9799..ff339c6641fec8a79c17c9d89a09f0efa35cba8d 100644
--- a/src/pregmod/widgets/deathWidgets.tw
+++ b/src/pregmod/widgets/deathWidgets.tw
@@ -35,7 +35,7 @@ As $args[0].slaveName is going about her business with her overfilled $args[0].i
 		<<elseif _deathSeed > 25>>
 			$pronounCap is found dead in the showers, having slipped sometime earlier.
 		<<else>>
-			<<if $args[0].releaseRules != "restrictive">>
+			<<if $args[0].releaseRules != "restrictive" && $args[0].releaseRules != "masturbation">>
 				$pronounCap is found dead in the bed of another slave, having died during intercourse. $possessiveCap lover is not taking it well.
 			<<else>>
 				$pronounCap is found dead in the cafeteria, having died during breakfast; $pronoun ruined the day for a number of your slaves.
diff --git a/src/pregmod/widgets/slaveSummaryWidgets.tw b/src/pregmod/widgets/slaveSummaryWidgets.tw
index 05f5a544877686023c3d0bf97c67b2166a95fa54..c1a62f6cd58baf2054385d34b3b314468dfd698f 100644
--- a/src/pregmod/widgets/slaveSummaryWidgets.tw
+++ b/src/pregmod/widgets/slaveSummaryWidgets.tw
@@ -131,6 +131,8 @@
 	''MaR:P''
 <<case "sapphic">>
 	''MaR:S''
+<<case "masturbation">>
+	''MaR:M''
 <<default>>
 	''MaR:R''
 <</switch>>
diff --git a/src/pregmod/widgets/slaveTradePresetWidgets.tw b/src/pregmod/widgets/slaveTradePresetWidgets.tw
index 8b49c7d8fcbdaea321cb8b8f6eb896be211cb55f..3ae6d2e3b50c7afa2799ab938140acdba1656d5d 100644
--- a/src/pregmod/widgets/slaveTradePresetWidgets.tw
+++ b/src/pregmod/widgets/slaveTradePresetWidgets.tw
@@ -430,5 +430,142 @@
 
 /* I need reweighting */
 <<widget "NationalityPresetModGlobalRealism">>
-[[Global Realism|passage()] [$nationalities = ["American", "American", "American", "American", "American", "American", "American", "American", "American", "American", "American", "American", "American", "American", "American", "American", "American", "American", "American", "American", "American", "American", "American", "American", "American", "American", "American", "American", "American", "American", "American", "American", "American", "American", "American", "American", "American", "American", "American", "American", "American", "American", "American", "American", "American", "American", "American", "American", "American", "American", "Afghan", "Afghan", "Afghan", "Afghan", "Afghan", "Afghan", "Albanian", "Albanian", "Algerian", "Algerian", "Algerian", "Algerian", "Algerian", "Algerian", "Algerian", "Argentinian", "Argentinian", "Argentinian", "Argentinian", "Argentinian", "Argentinian", "Argentinian", "Armenian", "Australian", "Australian", "Australian", "Australian", "Austrian", "Austrian", "Bangladeshi", "Bangladeshi", "Bangladeshi", "Bangladeshi", "Bangladeshi", "Bangladeshi", "Bangladeshi", "Bangladeshi", "Bangladeshi", "Bangladeshi", "Bangladeshi", "Bangladeshi", "Bangladeshi", "Bangladeshi", "Bangladeshi", "Bangladeshi", "Bangladeshi", "Bangladeshi", "Bangladeshi", "Bangladeshi", "Bangladeshi", "Bangladeshi", "Bangladeshi", "Bangladeshi", "Bangladeshi", "Belarusian", "Belarusian", "Belgian", "Belgian", "Bermudian", "Bolivian", "Bolivian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "British", "British", "British", "British", "British", "British", "British", "British", "British", "British", "Bruneian", "Burmese", "Burmese", "Burmese", "Burmese", "Burmese", "Burmese", "Burmese", "Burmese", "Burmese", "Cambodian", "Cameroonian", "Canadian", "Canadian", "Canadian", "Canadian", "Canadian", "Canadian", "Chilean", "Chilean", "Chilean", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Czech", "Czech", "Colombian", "Colombian", "Colombian", "Colombian", "Colombian", "Colombian", "Colombian", "Colombian", "Congolese", "Cuban", "Cuban", "Danish", "Djiboutian", "Dominican", "Dominican", "Dutch", "Dutch", "Dutch", "Egyptian", "Egyptian", "Egyptian", "Egyptian", "Egyptian", "Egyptian", "Egyptian", "Egyptian", "Egyptian", "Egyptian", "Egyptian", "Egyptian", "Egyptian", "Egyptian", "Egyptian", "Emirati", "Emirati", "Estonian", "Ethiopian", "Ethiopian", "Ethiopian", "Ethiopian", "Ethiopian", "Ethiopian", "Ethiopian", "Ethiopian", "Ethiopian", "Ethiopian", "Ethiopian", "Ethiopian", "Ethiopian", "Ethiopian", "Ethiopian", "Ethiopian", "Filipina", "Filipina", "Filipina", "Filipina", "Filipina", "Filipina", "Filipina", "Filipina", "Filipina", "Filipina", "Filipina", "Filipina", "Filipina", "Filipina", "Filipina", "Filipina", "Finnish", "French", "French", "French", "French", "French", "French", "French", "French", "French", "French", "Guatemalan", "Gabonese", "German", "German", "German", "German", "German", "German", "German", "German", "German", "German", "German", "German", "German", "Ghanan", "Ghanan", "Ghanan", "Ghanan", "Ghanan", "Greek", "Greek", "Greenlandic", "Guatemalan", "Guatemalan", "Guatemalan", "Haitian", "Haitian", "Hungarian", "Hungarian", "Icelandic", "Indonesian", "Indonesian", "Indonesian", "Indonesian", "Indonesian", "Indonesian", "Indonesian", "Indonesian", "Indonesian", "Indonesian", "Indonesian", "Indonesian", "Indonesian", "Indonesian", "Indonesian", "Indonesian", "Indonesian", "Indonesian", "Indonesian", "Indonesian", "Indonesian", "Indonesian", "Indonesian", "Indonesian", "Indonesian", "Indonesian", "Indonesian", "Indonesian", "Indonesian", "Indonesian", "Indonesian", "Indonesian", "Indonesian", "Indonesian", "Indonesian", "Indonesian", "Indonesian", "Indonesian", "Indonesian", "Indonesian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Iranian", "Iranian", "Iranian", "Iranian", "Iranian", "Iranian", "Iranian", "Iranian", "Iranian", "Iranian", "Iranian", "Iranian", "Iranian", "Iraqi", "Iraqi", "Iraqi", "Iraqi", "Iraqi", "Iraqi", "Italian", "Italian", "Italian", "Italian", "Italian", "Italian", "Italian", "Italian", "Italian", "Italian", "Irish", "Israeli", "Israeli", "Jamaican", "Japanese", "Japanese", "Japanese", "Japanese", "Japanese", "Japanese", "Japanese", "Japanese", "Japanese", "Japanese", "Japanese", "Japanese", "Japanese", "Japanese", "Japanese", "Japanese", "Japanese", "Japanese", "Japanese", "Japanese", "Jordanian", "Jordanian", "Kazakh", "Kazakh", "Kazakh", "Kenyan", "Kenyan", "Kenyan", "Kenyan", "Kenyan", "Kenyan", "Kenyan", "Kenyan", "Korean", "Korean", "Korean", "Korean", "Korean", "Korean", "Korean", "Korean", "Korean", "Korean", "Korean", "Korean", "Lebanese", "Libyan", "Lithuanian", "Malaysian", "Malaysian", "Malaysian", "Malaysian", "Malaysian", "Malian", "Malian", "Malian", "Marshallese", "Mexican", "Mexican", "Mexican", "Mexican", "Mexican", "Mexican", "Mexican", "Mexican", "Mexican", "Mexican", "Mexican", "Mexican", "Mexican", "Mexican", "Mexican", "Mexican", "Mexican", "Mexican", "Mexican", "Mexican", "Monégasque", "Montenegrin", "Moroccan", "Moroccan", "Moroccan", "Moroccan", "Moroccan", "Moroccan", "Nepalese", "Nepalese", "Nepalese", "Nepalese", "Nepalese", "a New Zealander", "Nigerian", "Nigerian", "Nigerian", "Nigerian", "Norwegian", "Omani", "Pakistani", "Pakistani", "Pakistani", "Pakistani", "Pakistani", "Pakistani", "Pakistani", "Pakistani", "Pakistani", "Pakistani", "Pakistani", "Pakistani", "Pakistani", "Pakistani", "Pakistani", "Pakistani", "Pakistani", "Pakistani", "Pakistani", "Pakistani", "Pakistani", "Pakistani", "Pakistani", "Pakistani", "Pakistani", "Pakistani", "Pakistani", "Pakistani", "Pakistani", "Pakistani", "Peruvian", "Peruvian", "Peruvian", "Peruvian", "Peruvian", "Polish", "Polish", "Polish", "Polish", "Polish", "Polish", "Portuguese", "Portuguese", "Puerto Rican", "Romanian", "Romanian", "Romanian", "Russian", "Russian", "Russian", "Russian", "Russian", "Russian", "Russian", "Russian", "Russian", "Russian", "Russian", "Russian", "Russian", "Russian", "Russian", "Russian", "Russian", "Russian", "Russian", "Russian", "Russian", "Russian", "Sammarinese", "Saudi", "Saudi", "Saudi", "Saudi", "Saudi", "Scottish", "Serbian", "Serbian", "Singaporean", "Singaporean", "Slovak", "South African", "South African", "South African", "South African", "South African", "South African", "South African", "South African", "South African", "Spanish", "Spanish", "Spanish", "Spanish", "Spanish", "Spanish", "Spanish", "Sudanese", "Sudanese", "Sudanese", "Sudanese", "Sudanese", "Sudanese", "Sudanese", "Swedish", "Swedish", "Swiss", "Swiss", "Syrian", "Tanzanian", "Tanzanian", "Tanzanian", "Tanzanian", "Tanzanian", "Tanzanian", "Tanzanian", "Tanzanian", "Tanzanian", "Thai", "Thai", "Thai", "Thai", "Thai", "Thai", "Thai", "Thai", "Thai", "Thai", "Thai", "Tunisian", "Tunisian", "Turkish", "Turkish", "Turkish", "Turkish", "Turkish", "Turkish", "Turkish", "Turkish", "Turkish", "Turkish", "Turkish", "Turkish", "Turkish", "Tuvaluan", "Ugandan", "Ugandan", "Ugandan", "Ugandan", "Ugandan", "Ugandan", "Ugandan", "Ukrainian", "Ukrainian", "Ukrainian", "Ukrainian", "Ukrainian", "Ukrainian", "Ukrainian", "Uruguayan", "Uruguayan", "Uzbek", "Uzbek", "Uzbek", "Uzbek", "Uzbek", "Venezuelan", "Venezuelan", "Venezuelan", "Venezuelan", "Venezuelan", "Vietnamese", "Vietnamese", "Vietnamese", "Vietnamese", "Vietnamese", "Vietnamese", "Vietnamese", "Vietnamese", "Vietnamese", "Vietnamese", "Vietnamese", "Vietnamese", "Vietnamese", "Vietnamese", "Vietnamese", "Yemeni", "Yemeni", "Yemeni", "Yemeni", "Zambian", "Zimbabwean", "Zimbabwean", "Zimbabwean", "Laotian", "Mongolian", "Taiwanese", "Belizean", "Grenadian", "I-Kiribati", "Malagasy", "Maldivian", "Bosnian", "Croatian", "Kosovan", "Macedonian", "Honduran", "Maltese", "Nauruan", "Micronesian", "Costa Rican", "Salvadoran", "Nicaraguan", "Panamanian", "Nigerien", "Andorran", "Bulgarian", "Luxembourgian", "Moldovan"]]]
+<<link "Global Realism">>
+	<<set $nationalities = weightedArray({
+		Afghan: 6,
+		Albanian: 2,
+		Algerian: 7,
+		American: 50,
+		Andorran: 1,
+		Argentinian: 7,
+		Armenian: 1,
+		Australian: 4,
+		Austrian: 2,
+		Bangladeshi: 25,
+		Belarusian: 2,
+		Belgian: 2,
+		Belizean: 1,
+		Bermudian: 1,
+		Bolivian: 2,
+		Bosnian: 1,
+		Brazilian: 32,
+		British: 10,
+		Bruneian: 1,
+		Bulgarian: 1,
+		Burmese: 9,
+		Cambodian: 1,
+		Cameroonian: 1,
+		Canadian: 6,
+		Chilean: 3,
+		Chinese: 210,
+		Colombian: 8,
+		Congolese: 1,
+		"Costa Rican": 1,
+		Croatian: 1,
+		Cuban: 2,
+		Czech: 2,
+		Danish: 1,
+		Djiboutian: 1,
+		Dominican: 2,
+		Dutch: 3,
+		Egyptian: 15,
+		Emirati: 2,
+		Estonian: 1,
+		Ethiopian: 16,
+		Filipina: 16,
+		Finnish: 1,
+		French: 10,
+		Gabonese: 1,
+		German: 13,
+		Ghanan: 5,
+		Greek: 2,
+		Greenlandic: 1,
+		Grenadian: 1,
+		Guatemalan: 4,
+		Haitian: 2,
+		Honduran: 1,
+		Hungarian: 2,
+		"I-Kiribati": 1,
+		Icelandic: 1,
+		Indian: 203,
+		Indonesian: 40,
+		Iranian: 13,
+		Iraqi: 6,
+		Irish: 1,
+		Israeli: 2,
+		Italian: 10,
+		Jamaican: 1,
+		Japanese: 20,
+		Jordanian: 2,
+		Kazakh: 3,
+		Kenyan: 8,
+		Korean: 12,
+		Kosovan: 1,
+		Laotian: 1,
+		Lebanese: 1,
+		Libyan: 1,
+		Lithuanian: 1,
+		Luxembourgian: 1,
+		Macedonian: 1,
+		Malagasy: 1,
+		Malaysian: 5,
+		Maldivian: 1,
+		Malian: 3,
+		Maltese: 1,
+		Marshallese: 1,
+		Mexican: 20,
+		Micronesian: 1,
+		Moldovan: 1,
+		Mongolian: 1,
+		Montenegrin: 1,
+		Monégasque: 1,
+		Moroccan: 6,
+		Nauruan: 1,
+		Nepalese: 5,
+		Nicaraguan: 1,
+		Nigerian: 4,
+		Nigerien: 1,
+		Norwegian: 1,
+		Omani: 1,
+		Pakistani: 30,
+		Panamanian: 1,
+		Peruvian: 5,
+		Polish: 6,
+		Portuguese: 2,
+		"Puerto Rican": 1,
+		Romanian: 3,
+		Russian: 22,
+		Salvadoran: 1,
+		Sammarinese: 1,
+		Saudi: 5,
+		Scottish: 1,
+		Serbian: 2,
+		Singaporean: 2,
+		Slovak: 1,
+		"South African": 9,
+		Spanish: 7,
+		Sudanese: 7,
+		Swedish: 2,
+		Swiss: 2,
+		Syrian: 1,
+		Taiwanese: 1,
+		Tanzanian: 9,
+		Thai: 11,
+		Tunisian: 2,
+		Turkish: 13,
+		Tuvaluan: 1,
+		Ugandan: 7,
+		Ukrainian: 7,
+		Uruguayan: 2,
+		Uzbek: 5,
+		Venezuelan: 5,
+		Vietnamese: 15,
+		Yemeni: 4,
+		Zambian: 1,
+		Zimbabwean: 3,
+		"a New Zealander": 1
+		})>>
+	<<set _gotoPassage = passage()>>
+	<<goto _gotoPassage>>
+<</link>>
 <</widget>>
\ No newline at end of file
diff --git a/src/uncategorized/RESS.tw b/src/uncategorized/RESS.tw
index eb860f4b242d2617e52d69062019429207b19ea1..8652e2908327cea558c6cc9a471c85a344a02da0 100644
--- a/src/uncategorized/RESS.tw
+++ b/src/uncategorized/RESS.tw
@@ -3162,7 +3162,7 @@ The slutty $desc wants it badly.
 
 <<case "arcade sadist">>
 
-You happen to come across <<EventNameLink $activeSlave>> during one of her rest periods. She's lying on a couch in the slave areas, <<if canSee($activeSlave)>>staring at the ceiling above her<<else>>leaning back<</if>> with a dreamy expression on her face. She's <<if $activeSlave.releaseRules == "permissive">>touching herself idly.<<else>>not allowed to touch herself, but she's extremely aroused.<</if>> Whatever's on her mind, it's so absorbing that she doesn't realize you're there until you're standing over her.
+You happen to come across <<EventNameLink $activeSlave>> during one of her rest periods. She's lying on a couch in the slave areas, <<if canSee($activeSlave)>>staring at the ceiling above her<<else>>leaning back<</if>> with a dreamy expression on her face. She's <<if $activeSlave.releaseRules == "permissive" || $activeSlave.releaseRules == "masturbation">>touching herself idly.<<else>>not allowed to touch herself, but she's extremely aroused.<</if>> Whatever's on her mind, it's so absorbing that she doesn't realize you're there until you're standing over her.
 <br><br>
 "<<S>>orry, <<Master>>," she <<say>>s apologetically, <<if $activeSlave.belly >= 10000>>struggling<<else>>scrambling<</if>> to her feet. "I didn't noti<<c>>e you there." <<if canSee($activeSlave)>>Seeing your questioning look<<else>>Hearing your lack of response<</if>>, she explains herself further. "I was ju<<s>>t thinking about, um, my favorite pla<<c>>e. I can almo<<s>>t get off ju<<s>>t by thinking about it." There's a wild, perverted gleam <<if canSee($activeSlave)>>in her $activeSlave.eyeColor eyes<<else>>on her face<</if>>. She's a confirmed sadist, so whatever her favorite mental masturbation is probably quite strong.
 
diff --git a/src/uncategorized/assistantEvents.tw b/src/uncategorized/assistantEvents.tw
index 5d8d872608a9df662528379cb93a6132aa1a3667..48267d832696f6d1a496f9cb07ed86d75f7f9dbc 100644
--- a/src/uncategorized/assistantEvents.tw
+++ b/src/uncategorized/assistantEvents.tw
@@ -20,7 +20,7 @@ One morning, after seeing to an immense pile of business with $assistantName pro
 <<set $assistantOptions = 1>>
 <<set $seed = 0>>
 <<for $i = 0; $i < $slaves.length; $i++>>
-	<<if ($slaves[$i].releaseRules == "permissive")>>
+	<<if ($slaves[$i].releaseRules == "permissive") || ($slaves[$i].releaseRules == "masturbation")>>
 	<<set $activeSlave = $slaves[$i]>>
 	<<set $seed = 1>>
 	<<break>>
diff --git a/src/uncategorized/longSlaveDescription.tw b/src/uncategorized/longSlaveDescription.tw
index 6338fdc92fdd3d434f02ee0361549d069ef5a9d8..c9eb14f2f129abc7313559e640b5f3e3acfe1963 100644
--- a/src/uncategorized/longSlaveDescription.tw
+++ b/src/uncategorized/longSlaveDescription.tw
@@ -263,6 +263,13 @@ She comes to you for an inspection
 	  which she is rarely willing to do.
 	<</if>>
   <</if>>
+<<elseif $activeSlave.releaseRules == "masturbation">>
+	and she is only allowed to 
+	<<if ($activeSlave.energy > 95)>>
+		masturbate, which she is constantly doing.
+	<<else>>
+		masturbate.
+	<</if>>
 <<elseif $activeSlave.releaseRules == "permissive">>
   and she is allowed to masturbate.
 <</if>>
@@ -1707,7 +1714,7 @@ Her scars make her look like she's in the right place.
   She has a large, liver-colored birthmark, detracting from her beauty.
 <</if>>
 <<if ($activeSlave.skin == "tanned")>>
-  <<if ($activeSlave.releaseRules != "restrictive")>>
+  <<if ($activeSlave.releaseRules != "restrictive" && $activeSlave.releaseRules != "masturbation")>>
 	<<if ($activeSlave.fetishStrength > 60)>>
 	<<if ($activeSlave.fetishKnown == 1)>>
 	  Her tan is slightly uneven, since she enjoys
@@ -1943,18 +1950,18 @@ Her scars make her look like she's in the right place.
 			aphrodisiacs, but is an amputee, so she cannot touch herself. She writhes with extreme sexual frustration, desperately trying to relieve herself, but only managing to stir up the aphrodisiacs contained in her gut, strengthening their effects even more.
 		<<elseif (($activeSlave.vaginalAccessory == "chastity belt") || ($activeSlave.vaginalAccessory == "combined chastity"))>>
 			aphrodisiacs, but is wearing a chastity belt and cannot touch herself. She writhes with extreme sexual frustration, desperately trying to relieve herself, but only managing to stir up the aphrodisiacs contained in her gut, strengthening their effects even more.
-		<<elseif ($activeSlave.releaseRules == "permissive") && ($activeSlave.dick != 0) && ($activeSlave.vagina == -1)>>
+		<<elseif ($activeSlave.releaseRules == "permissive" || $activeSlave.releaseRules == "masturbation") && ($activeSlave.dick != 0) && ($activeSlave.vagina == -1)>>
 			aphrodisiacs and is allowed to masturbate, so as she stands before you she rubs her shaft with one hand while she fingers her anus with the other.<<if canPenetrate($activeSlave)>> Her cock is painfully erect.<</if>> Her frantic masturbation forces her distended middle to jiggle obscenely, stirring up the aphrodisiacs contained in her gut and strengthening their effects even more.
-		<<elseif ($activeSlave.releaseRules == "permissive") && ($activeSlave.dick != 0)>>
+		<<elseif ($activeSlave.releaseRules == "permissive" || $activeSlave.releaseRules == "masturbation") && ($activeSlave.dick != 0)>>
 			aphrodisiacs and is allowed to masturbate, so as she stands before you she rubs her shaft and pussy with one hand while she fingers her anus with the other.<<if canPenetrate($activeSlave)>> Her cock is painfully erect.<</if>> Her frantic masturbation forces her distended middle to jiggle obscenely, stirring up the aphrodisiacs contained in her gut and strengthening their effects even more.
-		<<elseif ($activeSlave.releaseRules == "permissive") && ($activeSlave.vagina == -1)>>
+		<<elseif ($activeSlave.releaseRules == "permissive" || $activeSlave.releaseRules == "masturbation") && ($activeSlave.vagina == -1)>>
 			aphrodisiacs, has<<if $seeDicks > 0>> no penis and<</if>> no vagina, and is not allowed to masturbate, so as she stands before you she
 			<<if $activeSlave.anus == 0>>
 				plays with a nipple with one hand while furiously rubbing her virgin anus and the sensitive perineum beneath it with the other, desperately trying to get herself off. Her frantic attempts force her distended middle to jiggle obscenely, stirring up the aphrodisiacs contained in her gut and strengthening their effects even more.
 			<<else>>
 				<<if $activeSlave.anus > 2>>her entire hand, formed into a beak shape,<<elseif $activeSlave.anus > 1>>two fingers<<else>>a finger<</if>> to fuck her own ass. Her frantic attempts force her distended middle to jiggle obscenely, stirring up the aphrodisiacs contained in her gut and strengthening their effects even more.
 			<</if>>
-		<<elseif ($activeSlave.releaseRules == "permissive")>>
+		<<elseif ($activeSlave.releaseRules == "permissive" || $activeSlave.releaseRules == "masturbation")>>
 			aphrodisiacs and is allowed to masturbate, so as she stands before you she rubs her clit with one hand while she fingers her anus with the other.
 		<<elseif ($activeSlave.dick != 0)>>
 			aphrodisiacs and is not allowed to masturbate, so as she stands before you she desperately presents her open mouth, her breasts, her crotch, and her anus in turn, hoping that something will entice you to give her relief. Her cock is painfully erect.
@@ -1969,18 +1976,18 @@ Her scars make her look like she's in the right place.
 			aphrodisiacs, but is an amputee, so she cannot touch herself. She writhes with extreme sexual frustration, desperately trying to relieve herself.
 		<<elseif (($activeSlave.vaginalAccessory == "chastity belt") || ($activeSlave.vaginalAccessory == "combined chastity"))>>
 			aphrodisiacs, but is wearing a chastity belt and cannot touch herself. She writhes with extreme sexual frustration, desperately trying to relieve herself.
-		<<elseif ($activeSlave.releaseRules == "permissive") && ($activeSlave.dick != 0) && ($activeSlave.vagina == -1)>>
+		<<elseif ($activeSlave.releaseRules == "permissive" || $activeSlave.releaseRules == "masturbation") && ($activeSlave.dick != 0) && ($activeSlave.vagina == -1)>>
 			aphrodisiacs and is allowed to masturbate, so as she stands before you she rubs her shaft with one hand while she fingers her anus with the other. Her cock is painfully erect.
-		<<elseif ($activeSlave.releaseRules == "permissive") && ($activeSlave.dick != 0)>>
+		<<elseif ($activeSlave.releaseRules == "permissive" || $activeSlave.releaseRules == "masturbation") && ($activeSlave.dick != 0)>>
 			aphrodisiacs and is allowed to masturbate, so as she stands before you she rubs her shaft and pussy with one hand while she fingers her anus with the other. Her cock is painfully erect.
-		<<elseif ($activeSlave.releaseRules == "permissive") && ($activeSlave.vagina == -1)>>
+		<<elseif ($activeSlave.releaseRules == "permissive" || $activeSlave.releaseRules == "masturbation") && ($activeSlave.vagina == -1)>>
 			aphrodisiacs, has<<if $seeDicks > 0>> no penis and<</if>> no vagina, and is not allowed to masturbate, so as she stands before you she
 			<<if $activeSlave.anus == 0>>
 				plays with a nipple with one hand while furiously rubbing her virgin anus and the sensitive perineum beneath it with the other, desperately trying to get herself off.
 			<<else>>
 				<<if $activeSlave.anus > 2>>her entire hand, formed into a beak shape,<<elseif $activeSlave.anus > 1>>two fingers<<else>>a finger<</if>> to fuck her own ass.
 			<</if>>
-		<<elseif ($activeSlave.releaseRules == "permissive")>>
+		<<elseif ($activeSlave.releaseRules == "permissive" || $activeSlave.releaseRules == "masturbation")>>
 			aphrodisiacs and is allowed to masturbate, so as she stands before you she rubs her clit with one hand while she fingers her anus with the other.
 		<<elseif ($activeSlave.dick != 0)>>
 			aphrodisiacs and is not allowed to masturbate, so as she stands before you she desperately presents her open mouth, her breasts, her crotch, and her anus in turn, hoping that something will entice you to give her relief. Her cock is painfully erect.
@@ -1994,11 +2001,11 @@ Her scars make her look like she's in the right place.
 			She's on aphrodisiacs, but is an amputee, so she cannot touch herself. She writhes with sexual frustration.
 		<<elseif (($activeSlave.vaginalAccessory == "chastity belt") || ($activeSlave.vaginalAccessory == "combined chastity"))>>
 			She's on aphrodisiacs, but is wearing a chastity belt and cannot touch herself. She writhes with sexual frustration.
-		<<elseif ($activeSlave.releaseRules == "permissive") && ($activeSlave.dick != 0) && ($activeSlave.vagina == -1)>>
+		<<elseif ($activeSlave.releaseRules == "permissive" || $activeSlave.releaseRules == "masturbation") && ($activeSlave.dick != 0) && ($activeSlave.vagina == -1)>>
 			She's on aphrodisiacs and is allowed to masturbate, so as she obeys your commands she idly rubs her shaft with one hand while the other pinches a nipple.
-		<<elseif ($activeSlave.releaseRules == "permissive") && ($activeSlave.dick != 0)>>
+		<<elseif ($activeSlave.releaseRules == "permissive" || $activeSlave.releaseRules == "masturbation") && ($activeSlave.dick != 0)>>
 			She's on aphrodisiacs and is allowed to masturbate, so as she obeys your commands she idly rubs her shaft and pussy with one hand while the other pinches a nipple.
-		<<elseif ($activeSlave.releaseRules == "permissive")>>
+		<<elseif ($activeSlave.releaseRules == "permissive" || $activeSlave.releaseRules == "masturbation")>>
 			She's on aphrodisiacs and is allowed to masturbate, so as she obeys your commands she idly rubs her pussy with one hand while the other pinches a nipple.
 		<<elseif ($activeSlave.dick != 0) && canPenetrate($activeSlave)>>
 			She's on aphrodisiacs and is not allowed to masturbate, so as she obeys your commands she shifts her weight uncomfortably. Her erect dick sways as she does.
diff --git a/src/uncategorized/personalAssistantOptions.tw b/src/uncategorized/personalAssistantOptions.tw
index 7fe98a037d2f353e9e8cae7c0f80bc8f47d7b145..20f85687c7c9b5b39d96c2fca1b5f81ed6f4a0e5 100644
--- a/src/uncategorized/personalAssistantOptions.tw
+++ b/src/uncategorized/personalAssistantOptions.tw
@@ -10,7 +10,7 @@ Seated at your desk, you glance at the visual representation of $assistantName,
 
 <<set $masturbationAllowed = 0>>
 <<for $i = 0; $i < $slaves.length; $i++>>
-	<<if $activeSlave.releaseRules == "permissive">>
+	<<if $activeSlave.releaseRules == "permissive" || $activeSlave.releaseRules == "masturbation">>
 	<<set $masturbationAllowed = 1>>
 	<<break>>
 	<</if>>
diff --git a/src/uncategorized/randomIndividualEvent.tw b/src/uncategorized/randomIndividualEvent.tw
index 484a265579050a0739b2b1dca64087a1bcc0d2e6..3dcda7f02cde93cf1bfff37ce9d7b7ef3ec27801 100644
--- a/src/uncategorized/randomIndividualEvent.tw
+++ b/src/uncategorized/randomIndividualEvent.tw
@@ -55,7 +55,7 @@
 				<<if $slaves[$i].boobs > 3000>>
 					<<set $REBoobCollisionSubIDs.push($slaves[$i].ID)>>
 				<</if>>
-				<<if $slaves[$i].releaseRules != "restrictive">>
+				<<if $slaves[$i].releaseRules != "restrictive" && $slaves[$i].releaseRules != "masturbation">>
 				<<if $slaves[$i].energy > 40>>
 				<<if canDoVaginal($slaves[$i]) || canDoAnal($slaves[$i])>>
 					<<set $REInterslaveBeggingIDs.push($slaves[$i].ID)>>
@@ -135,7 +135,7 @@
 <<if $eventSlave.energy > 40>>
 <<if canPenetrate($eventSlave)>>
 <<if canSee($eventSlave)>>
-<<if $eventSlave.releaseRules != "restrictive">>
+<<if $eventSlave.releaseRules != "restrictive" && $slaves[$i].releaseRules != "masturbation">>
 	<<set $RETSevent.push("interslave begging")>>
 <</if>>
 <</if>>
@@ -150,7 +150,7 @@
 	<<if $eventSlave.sexualQuirk == "perverted" || $eventSlave.energy > 80>>
 	<<if $eventSlave.relation == "mother">>
 	<<if $eventSlave.lactation>>
-	<<if $eventSlave.releaseRules != "restrictive">>
+	<<if $eventSlave.releaseRules != "restrictive" && $slaves[$i].releaseRules != "masturbation">>
 		<<set $RETSevent.push("incestuous nursing")>>
 	<</if>>
 	<</if>>
@@ -158,7 +158,7 @@
 	<</if>>
 	<</if>>
 <<else>>
-	<<if $eventSlave.devotion > 20 && ($eventSlave.sexualQuirk == "perverted" || $eventSlave.energy > 80) && $eventSlave.belly < 100000 && $eventSlave.lactation > 0 && $eventSlave.releaseRules != "restrictive" && $eventSlave.daughters > 0>>
+	<<if $eventSlave.devotion > 20 && ($eventSlave.sexualQuirk == "perverted" || $eventSlave.energy > 80) && $eventSlave.belly < 100000 && $eventSlave.lactation > 0 && $eventSlave.releaseRules != "restrictive" && $slaves[$i].releaseRules != "masturbation" && $eventSlave.daughters > 0>>
 		<<set $RETSevent.push("incestuous nursing")>>
 	<</if>>
 <</if>>
@@ -366,7 +366,7 @@
 
 <<if $REAnalCowgirlSubIDs.length > 1 || ($REAnalCowgirlSubIDs.length == 1 && $eventSlave.ID != $REAnalCowgirlSubIDs[0])>>
 <<if ($eventSlave.devotion > 20)>>
-<<if ($eventSlave.releaseRules != "restrictive")>>
+<<if ($eventSlave.releaseRules != "restrictive") && $slaves[$i].releaseRules != "masturbation">>
 <<if ($eventSlave.fetish == "buttslut") || ($eventSlave.fetish == "sadist") || ($eventSlave.fetish == "dom")>>
 <<if ($eventSlave.dickAccessory != "chastity") || ($eventSlave.dick == 0)>>
 	<<set $RETSevent.push("anal cowgirl")>>
@@ -434,7 +434,7 @@
   <<if $eventSlave.energy > 95>>
 	<<set $RESSevent.push("devoted nympho")>>
   <</if>>
-  <<if $eventSlave.releaseRules == "permissive">>
+  <<if $eventSlave.releaseRules == "permissive" || $slaves[$i].releaseRules == "masturbation">>
   <<if !["chastity", "combined chastity"].includes($eventSlave.dickAccessory) || ($eventSlave.dick == 0)>>
 	<<set $RESSevent.push("permitted masturbation")>>
   <</if>>
@@ -1304,7 +1304,7 @@
 <</if>>
 <</if>>
 
-<<if ($eventSlave.releaseRules != "restrictive") >>
+<<if ($eventSlave.releaseRules != "restrictive") && $slaves[$i].releaseRules != "masturbation">>
 <<if ($eventSlave.dick != 0) >>
 <<if ($eventSlave.hormones < 1)>>
 <<if ($eventSlave.balls > 0)>>
@@ -1470,7 +1470,7 @@
 	  <<if ($corpIncorporated != 0)>>
 		<<set $RESSevent.push("shift sleep")>>
 	  <</if>>
-	  <<if ($eventSlave.releaseRules == "permissive")>>
+	  <<if ($eventSlave.releaseRules == "permissive") || $slaves[$i].releaseRules == "masturbation">>
 		<<set $RESSevent.push("shift masturbation")>>
 	  <</if>>
 	  <<if ($eventSlave.entertainSkill >= 60)>>
@@ -1585,7 +1585,7 @@
 <<if ($eventSlave.fetishKnown == 1)>>
 <<if ($eventSlave.energy > 95)>>
 <<if ($eventSlave.devotion > 20)>>
-<<if ($eventSlave.releaseRules == "permissive")>>
+<<if ($eventSlave.releaseRules == "permissive") || $slaves[$i].releaseRules == "masturbation">>
 	<<set $RESSevent.push("nympho with assistant")>>
 <</if>>
 <</if>>
@@ -1673,7 +1673,7 @@
 <</if>>
 <</if>>
 
-<<if ($eventSlave.releaseRules != "restrictive") >>
+<<if ($eventSlave.releaseRules != "restrictive") && $slaves[$i].releaseRules != "masturbation">>
 <<if ($eventSlave.clit > 2)>>
 <<if ($eventSlave.vaginalAccessory != "chastity belt" && $eventSlave.vaginalAccessory != "combined chastity")>>
 	<<set $RESSevent.push("slave clit on slave")>>
@@ -1681,7 +1681,7 @@
 <</if>>
 <</if>>
 
-<<if ($eventSlave.releaseRules != "restrictive") >>
+<<if ($eventSlave.releaseRules != "restrictive")>>
 <<if ($eventSlave.dick > 4) >>
 <<if ($eventSlave.hormones < 1)>>
 <<if ($eventSlave.balls != 0)>>
diff --git a/src/uncategorized/reStandardPunishment.tw b/src/uncategorized/reStandardPunishment.tw
index dc2308f1a503219e75b193111cac64f13d03f5cd..117b28a7580e57217e3971edd5425e49ff270895 100644
--- a/src/uncategorized/reStandardPunishment.tw
+++ b/src/uncategorized/reStandardPunishment.tw
@@ -42,7 +42,7 @@
 	<</if>>
 <<else>>
 	<<if $activeSlave.energy > 40>>
-	<<if $activeSlave.releaseRules != "restrictive">>
+	<<if $activeSlave.releaseRules != "restrictive" && $activeSlave.releaseRules != "masturbation">>
 		<<set _sins.push("slave molestation")>>
 	<</if>>
 	<</if>>
diff --git a/src/uncategorized/remoteSurgery.tw b/src/uncategorized/remoteSurgery.tw
index 5228fc41f6ee7ae23476ddb55a2a98aa6713588d..45fdc8ac1d773e7298d97cc92144b2b50d3bebd1 100644
--- a/src/uncategorized/remoteSurgery.tw
+++ b/src/uncategorized/remoteSurgery.tw
@@ -1198,9 +1198,9 @@ Work on her structurally:
 <<else>>
 	<<if $activeSlave.amp == 0>>
 		<<if ($activeSlave.indentureRestrictions < 1) && ($seeExtreme == 1) && (($stockpile.basicPLimbInterface + $stockpile.advPLimbInterface) == 0)>>
-			[[Remove arms and legs|Surgery Degradation][$activeSlave.amp = 1,$activeSlave.heels = 0,$activeSlave.heightImplant = 0,$activeSlave.legsTat = 0,$activeSlave.armsTat = 0,$cash -= $surgeryCost, $activeSlave.health -= 40,$activeSlave.nails = 0,$surgeryType = "amp"]] //This will greatly restrict $possessive//
+			[[Remove arms and legs|Surgery Degradation][$activeSlave.amp = 1,$activeSlave.heels = 0,$activeSlave.heightImplant = 0,$activeSlave.legsTat = 0,$activeSlave.armsTat = 0,$activeSlave.releaseRules = "restrictive",$cash -= $surgeryCost, $activeSlave.health -= 40,$activeSlave.nails = 0,$surgeryType = "amp"]] //This will greatly restrict $possessive//
 		<<elseif ($activeSlave.indentureRestrictions < 1) && ($seeExtreme == 1)>>
-			[[Remove arms and legs|Surgery Degradation][$activeSlave.amp = 1,$activeSlave.heels = 0,$activeSlave.heightImplant = 0,$activeSlave.legsTat = 0,$activeSlave.armsTat = 0,$cash -= $surgeryCost, $activeSlave.health -= 40,$activeSlave.nails = 0,$surgeryType = "amp1"]] //This will greatly restrict $possessive//
+			[[Remove arms and legs|Surgery Degradation][$activeSlave.amp = 1,$activeSlave.heels = 0,$activeSlave.heightImplant = 0,$activeSlave.legsTat = 0,$activeSlave.armsTat = 0,$activeSlave.releaseRules = "restrictive",$cash -= $surgeryCost, $activeSlave.health -= 40,$activeSlave.nails = 0,$surgeryType = "amp1"]] //This will greatly restrict $possessive//
 		<</if>>
 	<<elseif ($activeSlave.amp == 1) && ($activeSlave.PLimb == 0)>>
 		<<if ($stockpile.basicPLimbInterface > 0)>> |
diff --git a/src/uncategorized/rulesAssistant.tw b/src/uncategorized/rulesAssistant.tw
index 5860c05fdeddac718cede1919c600777857a3643..12aef8c94f260a33c5eec0d2f987d3b447b62c7c 100644
--- a/src/uncategorized/rulesAssistant.tw
+++ b/src/uncategorized/rulesAssistant.tw
@@ -1867,6 +1867,12 @@ Release rules: <span id="mast">''$currentRule.releaseRules.''</span>
 	<<RARuleModified>>
 <</link>>
 |
+<<link "Masturbation">>
+	<<set $currentRule.releaseRules = "masturbation">>
+	<<RAChangeMast>>
+	<<RARuleModified>>
+<</link>>
+|
 <<link "Restrictive">>
 	<<set $currentRule.releaseRules = "restrictive">>
 	<<RAChangeMast>>
diff --git a/src/uncategorized/saLongTermEffects.tw b/src/uncategorized/saLongTermEffects.tw
index b87544dc42639b2e902eab925a8c7d5f661cda47..69402e8a1874d9371bd5c567869816fd5d57432d 100644
--- a/src/uncategorized/saLongTermEffects.tw
+++ b/src/uncategorized/saLongTermEffects.tw
@@ -2673,7 +2673,7 @@
 <</if>>
 <</if>>
 
-<<if ($slaves[$i].releaseRules == "permissive")>>
+<<if ($slaves[$i].releaseRules == "permissive") || $slaves[$i].releaseRules == "masturbation">>
 <<if ($slaves[$i].balls > 0)>>
 <<if $slaves[$i].drugs == "testicle enhancement" || $slaves[$i].drugs == "intensive testicle enhancement" || ($slaves[$i].drugs == "hyper testicle enhancement")>>
 	<<if ($slaves[$i].fetishStrength <= 95)>>
diff --git a/src/uncategorized/saRelationships.tw b/src/uncategorized/saRelationships.tw
index 15a1ca90e734eb41cf97155514b0ca8eecabfa03..6a6416f2691a6c4321e7be7646ed0615eb411e38 100644
--- a/src/uncategorized/saRelationships.tw
+++ b/src/uncategorized/saRelationships.tw
@@ -167,7 +167,7 @@
 					<</if>>
 					<</if>>
 				<<elseif mutualChildren(_SlaveI, _SlaveJ, $slaves) > 0>>
-					<<if (_SlaveI.releaseRules != "restrictive")>>
+					<<if (_SlaveI.releaseRules != "restrictive") && _SlaveI.releaseRules != "masturbation">>
 						<<if _SlaveJ.relationshipRules == "permissive">>
 							_SlaveI.slaveName and _SlaveJ.slaveName have <<if mutualChildren(_SlaveI, _SlaveJ, $slaves) == 0>>a child<<else>>children<</if>> living in your penthouse, so it's not surprising that their offspring brings them together. They have @@.lightgreen;become friends@@ for their child's sake.
 							<<set _SlaveJ.relationship = 1, _SlaveJ.relationshipTarget = _SlaveI.ID, _SlaveI.relationship = 1, _SlaveI.relationshipTarget = _SlaveJ.ID>>
@@ -178,7 +178,7 @@
 						<</if>>
 					<</if>>
 				<<elseif _SlaveJ.fetish == _SlaveI.fetish>>
-					<<if (_SlaveI.fetish != "none") && (_SlaveI.releaseRules != "restrictive")>>
+					<<if (_SlaveI.fetish != "none") && (_SlaveI.releaseRules != "restrictive") && _SlaveI.releaseRules != "masturbation">>
 						<<if _SlaveJ.relationshipRules == "permissive">>
 							_SlaveI.slaveName and _SlaveJ.slaveName share sexual inclinations, so it's only natural that they @@.lightgreen;become friends with benefits.@@
 							<<set _SlaveJ.relationship = 3, _SlaveJ.relationshipTarget = _SlaveI.ID, _SlaveI.relationship = 3, _SlaveI.relationshipTarget = _SlaveJ.ID>>
@@ -1240,7 +1240,7 @@
 			<</if>>
 		<</if>> /* closes extended family mode */
 
-		<<if _SlaveI.releaseRules != "restrictive">>
+		<<if _SlaveI.releaseRules != "restrictive" && _SlaveI.releaseRules != "masturbation">>
 			<<if (_SlaveI.sexualQuirk == "size queen") && (canPenetrate(_SlaveJ))>>
 			<<if _SlaveJ.dick > 5>>
 				She's @@.hotpink;very happy@@ with her romantic status, since it means she gets monster cock.
diff --git a/src/uncategorized/saRivalries.tw b/src/uncategorized/saRivalries.tw
index d80d4b7db2d2656a573f6371f1afd11467eff2d3..985f3e7931138726d13b28a10c5fca552159b35a 100644
--- a/src/uncategorized/saRivalries.tw
+++ b/src/uncategorized/saRivalries.tw
@@ -147,7 +147,7 @@
 	<</if>>
 	<<if $slaves[$i].need>>
 	<<if $universalRulesConsent == 0>>
-	<<if $slaves[$i].releaseRules != "restrictive">>
+	<<if $slaves[$i].releaseRules != "restrictive" && $slaves[$i].releaseRules != "masturbation">>
 	<<if $slaves[_j].releaseRules != "restrictive">>
 	<<if $slaves[$i].fetishKnown>>
 		<<if $slaves[$i].fetish == "sadist">>
diff --git a/src/uncategorized/saRules.tw b/src/uncategorized/saRules.tw
index e3af0c63a33b95caec7ca38e9e402565019026bc..1df9a0df6471fe568c9f0b4e392c019bd2a98be5 100644
--- a/src/uncategorized/saRules.tw
+++ b/src/uncategorized/saRules.tw
@@ -18,7 +18,7 @@ She
 			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>>
-	<<elseif ($slaves[$i].releaseRules != "permissive")>>
+	<<elseif ($slaves[$i].releaseRules != "permissive") && ($slaves[$i].releaseRules != "masturbation")>>
 		gets off at work, so being forbidden to masturbate doesn't affect her seriously.
 	<<else>>
 		gets off at work, so she doesn't feel the need to masturbate frequently.
@@ -142,7 +142,7 @@ She
 			<</if>> /* closes fetishKnown == 0 */
 		<</if>>
 		<</if>>
-		<<if $slaves[$i].drugs == "testicle enhancement">>
+		<<if $slaves[$i].drugs == "testicle enhancement" || $slaves[$i].drugs == "intensive testicle enhancement">>
 		<<if $slaves[$i].balls > 0>>
 		<<if ($slaves[$i].devotion > 20) || ($slaves[$i].trust < -20)>>
 		<<if $slaves[$i].hormones > 0>>
@@ -198,6 +198,154 @@ She
 		<</if>>
 		<</if>>
 		<</if>>
+	<<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 disapointed 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
+			<<if ($slaves[$i].fetishKnown == 1) && ($slaves[$i].fetishStrength > 60)>>
+				<<if ($slaves[$i].fetish == "submissive")>>
+					frequently pretends to be getting held down and dominated.
+				<<elseif ($slaves[$i].fetish == "cumslut")>>
+					<<if $slaves[$i].dick > 5>>
+						enjoys giving herself head.
+					<<elseif $slaves[$i].dick > 0>>
+						enjoys licking up her own cum.
+					<<else>>
+						always has a dildo in her mouth.
+					<</if>>
+				<<elseif ($slaves[$i].fetish == "humiliation")>>
+					usually does it out in the open for all to see.
+				<<elseif ($slaves[$i].fetish == "buttslut")>>
+					<<if ($slaves[$i].anus > 0)>>
+						usually pounds her ass with the largest dildo she can find.
+					<<else>>
+						enjoys fiddling with her virgin asshole.
+					<</if>>
+				<<elseif ($slaves[$i].fetish == "boobs")>>
+					pays extra attention to her breasts and nipples.
+				<<elseif ($slaves[$i].fetish == "sadist")>>
+					frequently poses threats at herself.
+				<<elseif ($slaves[$i].fetish == "masochist")>>
+					frequently pretends to be getting held down and forcibly raped.
+				<<elseif ($slaves[$i].fetish == "dom")>>
+					usually pretends to dominate herself.
+				<<elseif ($slaves[$i].fetish == "pregnancy")>>
+					<<if $slaves[$i].belly > 1500>>
+						<<set _belly = bellyAdjective($activeSlave)>>
+						always rubs and teases her _belly belly while doing so.
+					<<elseif ($arcologies[0].FSRepopulationFocus != "unset") || ($cheatMode == 1) || ($clothesBoughtBelly == 1)>>
+						frequently straps on a fake belly to enhance her fun.
+					<<else>>
+						frequently pretends to be
+						<<if $activeSlave.balls > 0>>
+							getting a girl pregnant.
+						<<else>>
+							getting knocked up.
+						<</if>>
+					<</if>>
+				<<elseif ($slaves[$i].energy > 95)>>
+					strives to acheive as many orgasms as she can in one session.
+				<<else>>
+					quickly gets off and moves on.
+				<</if>>
+			<<elseif ($slaves[$i].energy > 95)>>
+				strives to acheive as many orgasms as she can in one session.
+			<<else>>
+				quickly gets off and moves on.
+			<</if>> /* closes ($slaves[$i].fetishKnown == 1) && ($slaves[$i].fetishStrength > 60) */
+			<<if ($slaves[$i].fetishKnown == 0) && (random(1,20) == 1)>>
+				<<set $slaves[$i].fetishKnown = 1>>
+				However, you start to notice a trend in her fantasies,
+				<<if ($slaves[$i].fetish == "submissive")>>
+					she likes to tie herself up and boss herself around; @@.pink;she's a submissive!@@
+				<<elseif ($slaves[$i].fetish == "cumslut")>>
+					<<if $slaves[$i].dick > 0>>
+						she often eats her own cum when she's finished; @@.pink;she's a cumslut!@@
+					<<else>>
+						she likes to have something, anything, in her mouth while she masturbates; @@.pink;she's a cumslut!@@
+					<</if>>
+				<<elseif ($slaves[$i].fetish == "humiliation")>>
+					she tends to masturbate in places where others can walk in on her; @@.pink;she's a humiliation fetishist!@@
+				<<elseif ($slaves[$i].fetish == "buttslut")>>
+					she always pays special attention to her butthole; @@.pink;she's an anal slut!@@
+				<<elseif ($slaves[$i].fetish == "boobs")>>
+					she always has a hand to her nipples; @@.pink;she's a boob fetishist!@@
+				<<elseif ($slaves[$i].fetish == "sadist")>>
+					she tends to threaten her toys; @@.pink;she's a sadist!@@
+				<<elseif ($slaves[$i].fetish == "masochist")>>
+					she often to abuses herself; @@.pink;she's a masochist!@@
+				<<elseif ($slaves[$i].fetish == "dom")>>
+					she sometimes bosses her toys around; @@.pink;she's dominant!@@
+				<<elseif ($slaves[$i].fetish == "pregnancy")>>
+					she frequently pretends to either get pregnant, be pregnant, or get someone else pregnant; @@.pink;she's a pregnancy fetishist!@@
+				<<elseif ($slaves[$i].energy > 95)>>
+					she's always horny; @@.pink;she's a nympho!@@
+				<<else>>
+					@@.pink;they are incredibly mundane.@@
+				<</if>>
+			<</if>>
+		<</if>>
+		<<if $slaves[$i].balls > 0>>
+			<<if $slaves[$i].drugs == "testicle enhancement" || $slaves[$i].drugs == "intensive testicle enhancement">>
+				<<if $slaves[$i].hormones > 0>>
+					She can't seem to get enough cum out of her terribly swollen balls in one orgasm to get relieve the pressure: her poor soft dick produces slow, anemic ejaculations, no matter how backed up she is. She masturbates as often as she can, but @@.mediumorchid;can't find relief.@@
+					<<set $slaves[$i].devotion-->>
+				<<else>>
+					Her terribly swollen balls force her to masturbate several times a day, @@.mediumaquamarine;habituating her@@ need for sex.
+					<<set $slaves[$i].trust += 1>>
+				<</if>>
+			<<elseif $slaves[$i].drugs == "hyper testicle enhancement">>
+				<<if $slaves[$i].hormones > 0>>
+					She can't seem to get enough cum out of her grotesquely swollen balls in one orgasm to get relieve the pressure: her poor soft dick produces slow, anemic ejaculations, no matter how backed up she is. She masturbates non-stop, but @@.mediumorchid;can't find relief.@@
+					<<set $slaves[$i].devotion -= 3>>
+				<<else>>
+					Her grotesquely swollen balls force her to masturbate constantly, @@.mediumaquamarine;habituating her@@ need for sex.
+					<<set $slaves[$i].trust += 1>>
+				<</if>>
+				<<if $slaves[$i].energy > 40>>
+					The constant orgasms steadily lose their impact, @@.red;weakening her sex drive.@@
+					<<set $slaves[$i].energy -= 2>>
+				<</if>>
+			<</if>>
+		<</if>>
+		<<if $slaves[$i].drugs == "super fertility drugs" && canGetPregnant($slaves[$i])>>
+			Her reproductive system is in overdrive,
+			<<if $slaves[$i].dick > 9>>
+				leaving her @@.mediumorchid;desperatly fucking herself@@ in an effort to get pregnant since @@.gold;you won't <<if $PC.dick == 1>>give her<<else>>let her find<</if>> the dick she needs.@@
+				<<if canImpregnate($slaves[$i], $slaves[$i])>>
+					<<KnockMeUp $slaves[$i] 5 2 $slaves[$i].ID 1>>
+				<</if>>
+				<<if $slaves[$i].mpreg == 1 && $slaves[$i].anus == 0>>
+					@@.lime;She is so baby crazed she takes her own anal virginity.@@
+					<<set $slaves[$i].anus++>>
+				<<elseif $slaves[$i].vagina == 0>>
+					@@.lime;She is so baby crazed she takes her own virginity.@@
+					<<set $slaves[$i].vagina++>>
+				<</if>>
+			<<else>>
+				leaving her @@.mediumorchid;completely unfulfilled@@  since @@.gold;you won't <<if $PC.dick == 1>>give her<<else>>let her find<</if>> the dick she needs.@@
+			<</if>>
+			<<set $slaves[$i].devotion -= 3, $slaves[$i].trust -= 2>>
+		<</if>>
+		<<if $slaves[$i].energy > 80>>
+			Her chronic masturbation @@.red;steadily dulls@@ her sexual pleasure.
+			<<set $slaves[$i].energy-->>
+		<</if>>
 	<<else>> /* releaseRules not restrictive */
 		<<if ($universalRulesConsent == 0)>>
 			<<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust > -20)>>
@@ -603,7 +751,7 @@ She
 		<</if>> /* closes universalRulesConsent */
 		<<if ($slaves[$i].devotion > 20) || ($slaves[$i].trust < -20)>>
 		<<if $slaves[$i].balls > 0>>
-		<<if $slaves[$i].drugs == "testicle enhancement">>
+		<<if $slaves[$i].drugs == "testicle enhancement" || $slaves[$i].drugs == "intensive testicle enhancement">>
 			<<if $slaves[$i].hormones > 0>>
 				She can't seem to get enough cum out of her terribly swollen balls in one orgasm to get relieve the pressure: her poor soft dick produces slow, anemic ejaculations, no matter how backed up she is. She is very reliant on your other girls to help her, which @@.mediumaquamarine;habituates her@@ to slave sex.
 			<<else>>
diff --git a/src/uncategorized/saServeThePublic.tw b/src/uncategorized/saServeThePublic.tw
index 90dfe744cf966fc20a0b80cd406e79be99333a90..9de3761933e112268ca0ab43ced6249115e39cb7 100644
--- a/src/uncategorized/saServeThePublic.tw
+++ b/src/uncategorized/saServeThePublic.tw
@@ -1355,7 +1355,7 @@ Her appearance attracted $beauty members of the public (<<print Math.trunc($beau
 <<elseif $slaves[$i].livingRules == "spare">>
 	<<set _vignettes.push({text: "she got a poor night's sleep in the noisy dormitory, which took the shine off her efforts for the whole day", type: "rep", effect: -1})>>
 <</if>>
-<<if $slaves[$i].releaseRules == "permissive">>
+<<if $slaves[$i].releaseRules == "permissive" || $slaves[$i].releaseRules == "masturbation">>
 	<<set _vignettes.push({text: "a citizen asked if she masturbates, and then spent an hour jerking off as she described how,", type: "rep", effect: 1})>>
 <<elseif $slaves[$i].releaseRules == "restrictive">>
 	<<set _vignettes.push({text: "a citizen asked if she masturbates, and seemed disappointed when she answered honestly,", type: "rep", effect: 0})>>
diff --git a/src/uncategorized/saWhore.tw b/src/uncategorized/saWhore.tw
index 7c05e940dba65d6dbc41f8aa961f7b43c78b67c8..1b85f6ac1c0b06e533f7b3376e2055e1edaaab4d 100644
--- a/src/uncategorized/saWhore.tw
+++ b/src/uncategorized/saWhore.tw
@@ -1351,7 +1351,7 @@ In total, you were paid @@.yellowgreen;¤<<print Math.trunc($beauty*$FResult)>>@
 <<elseif $slaves[$i].livingRules == "spare">>
 	<<set _vignettes.push({text: "she got a poor night's sleep in the noisy dormitory, which took the shine off her efforts for the whole day", type: "rep", effect: -1})>>
 <</if>>
-<<if $slaves[$i].releaseRules == "permissive">>
+<<if $slaves[$i].releaseRules == "permissive" || $slaves[$i].releaseRules == "masturbation">>
 	<<set _vignettes.push({text: "a customer asked if she masturbates, and then spent an hour jerking off as she described how,", type: "cash", effect: 1})>>
 <<elseif $slaves[$i].releaseRules == "restrictive">>
 	<<set _vignettes.push({text: "a customer asked if she masturbates, and seemed disappointed when she answered honestly,", type: "cash", effect: 0})>>
diff --git a/src/uncategorized/slaveAssignmentsReport.tw b/src/uncategorized/slaveAssignmentsReport.tw
index 83bb0a24d54a2786c20d44ff26ecedeb00ee245d..8acec80ddb85e8e13682ab0aabd1519a1f413110 100644
--- a/src/uncategorized/slaveAssignmentsReport.tw
+++ b/src/uncategorized/slaveAssignmentsReport.tw
@@ -27,7 +27,7 @@
 	<<set $slaves[$i].oralSkill = 0>>
 <</if>>
 
-<<if ($seeDicks > 0) && (canPenetrate($slaves[$i])) && ($slaves[$i].releaseRules != "restrictive")>>
+<<if ($seeDicks > 0) && (canPenetrate($slaves[$i])) && ($slaves[$i].releaseRules != "restrictive") && ($slaves[$i].releaseRules != "masturbation")>>
 	<<set $averageDick += $slaves[$i].dick, $slavesWithWorkingDicks++>>
 <</if>>
 
diff --git a/src/uncategorized/slaveInteract.tw b/src/uncategorized/slaveInteract.tw
index 56c7e44ca932d038b001c781b5d97bb1edfef3f3..13e93855e5f7ab216a9e81baf735c6dc49c6ff50 100644
--- a/src/uncategorized/slaveInteract.tw
+++ b/src/uncategorized/slaveInteract.tw
@@ -1251,6 +1251,9 @@ Hormones: <strong><span id="hormones">
 	<br>Non-assignment orgasm rules: ''<span id="releaseRules">$activeSlave.releaseRules</span>.''
 	<<link "Permit masturbation and interslave sex">><<set $activeSlave.releaseRules = "permissive">><<replace "#releaseRules">>$activeSlave.releaseRules<</replace>><</link>> |
 	<<link "Let her get off with other slaves">><<set $activeSlave.releaseRules = "sapphic">><<replace "#releaseRules">>$activeSlave.releaseRules<</replace>><</link>> |
+	<<if $activeSlave.amp != 1 && $activeSlave.fuckdoll == 0 && $activeSlave.fetish != "mindbroken">>
+		<<link "Restrict her to masturbation only">><<set $activeSlave.releaseRules = "masturbation">><<replace "#releaseRules">>$activeSlave.releaseRules<</replace>><</link>> |
+	<</if>>
 	<<link "Only with you">><<set $activeSlave.releaseRules = "restrictive">><<replace "#releaseRules">>$activeSlave.releaseRules<</replace>><</link>>
 <</if>>
 
diff --git a/src/uncategorized/walkPast.tw b/src/uncategorized/walkPast.tw
index 83b06b4ca81c0e46833311c230dcdcfb24c0c3ae..b02f1f32bd312537b7012928bde55e25c695b73d 100644
--- a/src/uncategorized/walkPast.tw
+++ b/src/uncategorized/walkPast.tw
@@ -550,7 +550,7 @@
 
 	<</switch>>
 	<<set $target = "FRival", _partnerSlave = null>>
-<<elseif ($partner == "relationship") && ($activeSlave.relationship >= 3) && ($activeSlave.releaseRules !== "restrictive")>>
+<<elseif ($partner == "relationship") && ($activeSlave.relationship >= 3) && ($activeSlave.releaseRules !== "restrictive") && ($activeSlave.releaseRules !== "masturbation")>>
 	<<set _partnerSlave = null>>
 	<<for _i = 0; _i < $slaves.length; _i++>>
 		<<if $slaves[_i].ID == $activeSlave.relationshipTarget>>
diff --git a/src/utility/descriptionWidgetsFlesh.tw b/src/utility/descriptionWidgetsFlesh.tw
index 2a8464f3a4e678dde4a3506bacb5cc243dfe8586..5afc6485a2b2c032dd820d37f1be3c9b08b7c5df 100644
--- a/src/utility/descriptionWidgetsFlesh.tw
+++ b/src/utility/descriptionWidgetsFlesh.tw
@@ -3649,7 +3649,7 @@ $pronounCap's got a
 <</if>>
 
 <<if $activeSlave.fuckdoll == 0>>
-<<if ($activeSlave.releaseRules == "permissive")>>
+<<if ($activeSlave.releaseRules == "permissive") || $activeSlave.releaseRules == "masturbation">>
 <<if ($activeSlave.aphrodisiacs > 0) || ($activeSlave.inflationType == "aphrodisiac")>>
 <<if ($activeSlave.aphrodisiacs > 1) || ($activeSlave.inflationType == "aphrodisiac" && $activeSlave.inflation > 1)>>
 	<<if ($activeSlave.dick != 0) && ($activeSlave.hormones > 0) && ($activeSlave.amp == 1)>>