From bae542c7927b8efb6eac66bb288e96fe0ce8337b Mon Sep 17 00:00:00 2001 From: Pregmodder <pregmodder@gmail.com> Date: Tue, 24 Oct 2017 18:40:33 -0400 Subject: [PATCH] Masturbation only release rule, vanilla tweaks and weighted arraying. --- slave variables documentation - Pregmod.txt | 1 + src/npc/descriptions/fVagina.tw | 107 ++++++------ src/npc/fFeelings.tw | 2 +- src/pregmod/eliteTakeOverFight.tw | 2 +- src/pregmod/eliteTakeOverResult.tw | 2 +- src/pregmod/widgets/deathWidgets.tw | 2 +- src/pregmod/widgets/slaveSummaryWidgets.tw | 2 + .../widgets/slaveTradePresetWidgets.tw | 139 +++++++++++++++- src/uncategorized/RESS.tw | 2 +- src/uncategorized/assistantEvents.tw | 2 +- src/uncategorized/longSlaveDescription.tw | 31 ++-- src/uncategorized/personalAssistantOptions.tw | 2 +- src/uncategorized/randomIndividualEvent.tw | 22 +-- src/uncategorized/reStandardPunishment.tw | 2 +- src/uncategorized/remoteSurgery.tw | 4 +- src/uncategorized/rulesAssistant.tw | 6 + src/uncategorized/saLongTermEffects.tw | 2 +- src/uncategorized/saRelationships.tw | 6 +- src/uncategorized/saRivalries.tw | 2 +- src/uncategorized/saRules.tw | 154 +++++++++++++++++- src/uncategorized/saServeThePublic.tw | 2 +- src/uncategorized/saWhore.tw | 2 +- src/uncategorized/slaveAssignmentsReport.tw | 2 +- src/uncategorized/slaveInteract.tw | 3 + src/uncategorized/walkPast.tw | 2 +- src/utility/descriptionWidgetsFlesh.tw | 2 +- 26 files changed, 405 insertions(+), 100 deletions(-) diff --git a/slave variables documentation - Pregmod.txt b/slave variables documentation - Pregmod.txt index 9ade32f3358..77ba256fefc 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 8631043e1db..584eb05c136 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 b05c0e3b285..1d763eac3c0 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 a1eb52b5891..7a6f446cda1 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 60dff8dbcb3..cc2c8e55fa8 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 b546b7978ba..ff339c6641f 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 05f5a544877..c1a62f6cd58 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 8b49c7d8fcb..3ae6d2e3b50 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 eb860f4b242..8652e290832 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 5d8d872608a..48267d83269 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 6338fdc92fd..c9eb14f2f12 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 7fe98a037d2..20f85687c7c 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 484a2655790..3dcda7f02cd 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 dc2308f1a50..117b28a7580 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 5228fc41f6e..45fdc8ac1d7 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 5860c05fded..12aef8c94f2 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 b87544dc426..69402e8a187 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 15a1ca90e73..6a6416f2691 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 d80d4b7db2d..985f3e79311 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 e3af0c63a33..1df9a0df647 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 90dfe744cf9..9de3761933e 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 7c05e940dba..1b85f6ac1c0 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 83bb0a24d54..8acec80ddb8 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 56c7e44ca93..13e93855e5f 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 83b06b4ca81..b02f1f32bd3 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 2a8464f3a4e..5afc6485a2b 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)>> -- GitLab