From 016efb466010e4471d9abe982587c9f3f7c7ff4b Mon Sep 17 00:00:00 2001 From: Pregmodder <pregmodder@gmail.com> Date: Wed, 9 Aug 2017 16:06:10 -0400 Subject: [PATCH] Vasectomies and RA tweaks. --- src/pregmod/widgets/slaveSummaryWidgets.tw | 6 + src/uncategorized/arcadeReport.tw | 19 +- src/uncategorized/dairyReport.tw | 3 + src/uncategorized/longSlaveDescription.tw | 2 +- src/uncategorized/remoteSurgery.tw | 19 +- src/uncategorized/saGetMilked.tw | 10 +- src/uncategorized/saLongTermEffects.tw | 17 +- src/uncategorized/surgeryDegradation.tw | 6 + src/utility/descriptionWidgetsFlesh.tw | 4 + src/utility/raWidgets.tw | 699 +++++++++++---------- 10 files changed, 421 insertions(+), 364 deletions(-) diff --git a/src/pregmod/widgets/slaveSummaryWidgets.tw b/src/pregmod/widgets/slaveSummaryWidgets.tw index 3737faac9bf..2510588f68c 100644 --- a/src/pregmod/widgets/slaveSummaryWidgets.tw +++ b/src/pregmod/widgets/slaveSummaryWidgets.tw @@ -456,6 +456,9 @@ Release rules: _Slave.releaseRules. <<if _Slave.pubertyXY == 0 && _Slave.balls > 0>> ''Prepub balls'' <</if>> + <<if _Slave.balls > 0 && _Slave.vasectomy == 1>> + ''Vasect'' + <</if>> <<if _Slave.inflation == 3>> ''8 ltr _Slave.inflationType'' <<elseif _Slave.inflation == 2>> @@ -531,6 +534,9 @@ Release rules: _Slave.releaseRules. <<if _Slave.pubertyXY == 0 && _Slave.balls > 0>> Has not had first ejaculation. <</if>> + <<if _Slave.balls > 0 && _Slave.vasectomy == 1>> + Vasectomy. + <</if>> <<if _Slave.inflation == 3>> ''Filled with 8 liters of _Slave.inflationType.'' <<elseif _Slave.inflation == 2>> diff --git a/src/uncategorized/arcadeReport.tw b/src/uncategorized/arcadeReport.tw index 9712c1a3995..1c59f150c3a 100644 --- a/src/uncategorized/arcadeReport.tw +++ b/src/uncategorized/arcadeReport.tw @@ -1,6 +1,6 @@ :: Arcade Report [nobr] -<<set _DL = $ArcadeiIDs.length, $arcadeSlaves = _DL, _SL = $slaves.length, _cockmilked = 0, _milked = 0, _milkprofits = 0, _profits = 0, _oldCash = 0, $boobsImplanted = 0, $prostatesImplanted = 0>> +<<set _DL = $ArcadeiIDs.length, $arcadeSlaves = _DL, _SL = $slaves.length, _cockmilked = 0, _milked = 0, _milkprofits = 0, _profits = 0, _oldCash = 0, $boobsImplanted = 0, $prostatesImplanted = 0, $vasectomiesUndone = 0>> <<for _dI = 0; _dI < _DL; _dI++>> <<set $i = $ArcadeiIDs[_dI].Index, _ID = $ArcadeiIDs[_dI].ID>> @@ -89,10 +89,13 @@ <</silently>> <</if>> <<if ($arcadeUpgradeCollectors > 0)>> - <<if ($slaves[$i].lactation < 2)>> + <<if ($slaves[$i].vasectomy == 1)>> + <<set $slaves[$i].vasectomy = 0, $slaves[$i].health -= 10, $cash -= $surgeryCost, $vasectomiesUndone++>> + <<elseif ($slaves[$i].lactation < 2)>> <<set $slaves[$i].lactation = 2, $slaves[$i].health -= 10, $cash -= $surgeryCost, $boobsImplanted++>> - <<elseif $slaves[$i].prostate == 1>> - <<set $slaves[$i].prostate = 2, $slaves[$i].health -= 10, $cash -= $surgeryCost, $prostatesImplanted++>> + <<elseif $slaves[$i].prostate == 1>> + <<set $slaves[$i].prostate = 2, $slaves[$i].health -= 10, $cash -= $surgeryCost, $prostatesImplanted++>> + <</if>> <<elseif ($slaves[$i].lactation > 0) || ($slaves[$i].balls > 0)>> <<set _oldCash = $cash>> <<if $showEWD != 0>> @@ -153,6 +156,14 @@ _milked of them are lactating and spend their time in $arcadeName being simultaneously milked and fucked. <</if>> + <<if $vasectomiesUndone>> + <<if $vasectomiesUndone == 1>> + One + <<else>> + $vasectomiesUndone + <</if>> + of them had severed vas deferens, so they were reattached to allow sperm through, costing @@.red;¤<<print $surgeryCost*$vasectomiesUndone>>.@@ + <</if>> <<if $boobsImplanted>> <<if $boobsImplanted == 1>> One of them was not lactating, so she was diff --git a/src/uncategorized/dairyReport.tw b/src/uncategorized/dairyReport.tw index 89dd0114580..f6f86ff4bd5 100644 --- a/src/uncategorized/dairyReport.tw +++ b/src/uncategorized/dairyReport.tw @@ -368,6 +368,9 @@ <<if $slaves[$i].prostate == 1>> <<set $slaves[$i].prostate = 2, $slaves[$i].health -= 10, $cash -= $surgeryCost>> <</if>> + <<if $slaves[$i].vasectomy == 1>> + <<set $slaves[$i].vasectomy = 0, $slaves[$i].health -= 10, $cash -= $surgeryCost>> + <</if>> <<if ($slaves[$i].health < 75)>> <<set $slaves[$i].health += 25>> <<else>> diff --git a/src/uncategorized/longSlaveDescription.tw b/src/uncategorized/longSlaveDescription.tw index 614d3e68c14..69d155b0cfd 100644 --- a/src/uncategorized/longSlaveDescription.tw +++ b/src/uncategorized/longSlaveDescription.tw @@ -1308,7 +1308,7 @@ when a dick is pushed inside <<if $activeSlave.vagina >= -1>>either of its lower <</if>> <</if>> -<<if $arcologies[0].FSRestartSMR > 0 && $arcologies[0].FSRestart > 80 && ($activeSlave.dick == 0) && ($activeSlave.balls == 0) && ($activeSlave.ovaries == 0) && ($activeSlave.vagina < 0)>> +<<if $arcologies[0].FSRestartSMR > 0 && $arcologies[0].FSRestart > 80 && ($activeSlave.dick == 0) && ($activeSlave.balls == 0) && ($activeSlave.ovaries == 0) && ($activeSlave.mpreg == 0) && ($activeSlave.vagina < 0)>> $possessiveCap body is a perfect example of a subhuman who has accepted their place in society. <</if>> diff --git a/src/uncategorized/remoteSurgery.tw b/src/uncategorized/remoteSurgery.tw index 37a2d887a96..cd778f64980 100644 --- a/src/uncategorized/remoteSurgery.tw +++ b/src/uncategorized/remoteSurgery.tw @@ -837,7 +837,7 @@ $pronounCap's got a <<if $activeSlave.indentureRestrictions < 1 && $activeSlave.breedingMark != 1>> <<if ($activeSlave.vagina == -1) && ($activeSlave.dick != 0)>> - [[Convert genitalia to female|Surgery Degradation][$activeSlave.dick = 0,$activeSlave.dickAccessory = "none",$activeSlave.foreskin = 0,$activeSlave.scrotum = 0,$activeSlave.balls = 0,$activeSlave.vagina = 0,$activeSlave.preg = -2,$activeSlave.vaginalSkill = 0,$cash -= $surgeryCost, $activeSlave.health -= 40, $surgeryType = "mtf"]] + [[Convert genitalia to female|Surgery Degradation][$activeSlave.dick = 0,$activeSlave.dickAccessory = "none",$activeSlave.foreskin = 0,$activeSlave.scrotum = 0,$activeSlave.balls = 0,$activeSlave.vasectomy = 0,$activeSlave.vagina = 0,$activeSlave.preg = -2,$activeSlave.vaginalSkill = 0,$cash -= $surgeryCost, $activeSlave.health -= 40, $surgeryType = "mtf"]] <</if>> <<if ($activeSlave.vagina == -1) && ($activeSlave.dick == 0) && ($surgeryUpgrade == 1)>> | [[Create a vagina|Surgery Degradation][$activeSlave.vagina = 0,$activeSlave.vaginalSkill = 0,$cash -= $surgeryCost, $activeSlave.health -= 40, $surgeryType = "mtf"]] @@ -875,7 +875,7 @@ $pronounCap's got a [[Move them inside abdomen and remove scrotum|Surgery Degradation][$activeSlave.scrotum = 0,$cash -= $surgeryCost, $activeSlave.health -= 20, $surgeryType = "relocate"]] <</if>> //This will have a negative impact on cum production// - <<else>> + <<else>> <<if ($activeSlave.genes == "XY")>> relocated inside $possessive abdomen, and $possessive scrotum has been removed. <<else>> @@ -886,8 +886,19 @@ $pronounCap's got a <<if ($activeSlave.scrotum > 0)>> | <</if>> - [[Geld|Surgery Degradation][$activeSlave.balls = 0,$activeSlave.scrotum = 0,$cash -= $surgeryCost, $activeSlave.health -= 40, $surgeryType = "geld"]] - <</if>> + [[Geld|Surgery Degradation][$activeSlave.balls = 0,$activeSlave.scrotum = 0,$activeSlave.vasectomy = 0,$cash -= $surgeryCost, $activeSlave.health -= 40, $surgeryType = "geld"]] + <</if>> + <<if ($activeSlave.vasectomy == 1)>> + <br> + $pronounCap has had a vasectomy and shoots blanks when $pronoun cums<<if $activeSlave.pubertyXY == 0>>, or would, if $pronoun were potent<</if>>. + [[Reverse vasectomy|Surgery Degradation][$activeSlave.vasectomy = 0,$cash -= $surgeryCost, $activeSlave.health -= 10, $surgeryType = "vasectomy undo"]] + <<else>> + <br> + $pronounCap has working testicles<<if $activeSlave.pubertyXY == 0>>, though $pronoun isn't potent<</if>>. + <<if $activeSlave.indentureRestrictions < 1>> + [[Clamp vas deferens to cull potency|Surgery Degradation][$activeSlave.vasectomy = 1,$cash -= $surgeryCost, $activeSlave.health -= 10, $surgeryType = "vasectomy"]] + <</if>> + <</if>> <</if>> <<if $activeSlave.prostate>> diff --git a/src/uncategorized/saGetMilked.tw b/src/uncategorized/saGetMilked.tw index f6b9dccf674..5c42f7bece4 100644 --- a/src/uncategorized/saGetMilked.tw +++ b/src/uncategorized/saGetMilked.tw @@ -367,6 +367,10 @@ gets milked this week. Her poor health impedes semen production. <</if>> + <<if $slaves[$i].vasectomy == 1>> + Her cum lacks the primary ingredient, sperm, thanks to her vasectomy, @@.red;considerably lowering the value@@ of her ejaculate. + <</if>> + <<if ($slaves[$i].assignment == "work in the dairy")>> <<if ($dairyStimulatorsUpgrade == 1)>> <<if ($dairyStimulatorsSetting > 0)>> @@ -396,15 +400,15 @@ gets milked this week. <<if ($arcologies[0].FSPastoralist == "unset")>> <<set $seed = ($cum*random(25,35))>> - <<if $slaves[$i].prostate == 3>><<set $seed *= 0.5>><</if>> + <<if $slaves[$i].vasectomy == 1>><<set $seed *= 0.2>><<elseif $slaves[$i].prostate == 3>><<set $seed *= 0.5>><</if>> She produces <<print $cum>> deciliters of cum over the week; the fresh ejaculate is sold for @@.yellowgreen;¤<<print $seed>>.@@ <<elseif $arcologies[0].FSPastoralistLaw == 1>> <<set $seed = ($cum*(random(40,50)))>> - <<if $slaves[$i].prostate == 3>><<set $seed *= 0.5>><</if>> + <<if $slaves[$i].vasectomy == 1>><<set $seed *= 0.2>><<elseif $slaves[$i].prostate == 3>><<set $seed *= 0.5>><</if>> She produces <<print $cum>> deciliters of cum over the week; the fresh ejaculate, which is in extremely high demand as one of $arcologies[0].name's few legal sources of animal protein, is sold for @@.yellowgreen;¤<<print $seed>>.@@ <<else>> <<set $seed = ($cum*(random(25,35)+Math.trunc($arcologies[0].FSPastoralist/10)))>> - <<if $slaves[$i].prostate == 3>><<set $seed *= 0.5>><</if>> + <<if $slaves[$i].vasectomy == 1>><<set $seed *= 0.2>><<elseif $slaves[$i].prostate == 3>><<set $seed *= 0.5>><</if>> She produces <<print $cum>> deciliters of cum over the week; the fresh ejaculate, which is in high demand given the new cultural preference for slave products, is sold for @@.yellowgreen;¤<<print $seed>>.@@ <</if>> <<set $cash += $seed>> diff --git a/src/uncategorized/saLongTermEffects.tw b/src/uncategorized/saLongTermEffects.tw index e254c2aaa54..f1d02d2c4e6 100644 --- a/src/uncategorized/saLongTermEffects.tw +++ b/src/uncategorized/saLongTermEffects.tw @@ -4582,8 +4582,8 @@ <</if>> <<FSChangePorn "Subjugationist" 1>> <<if $slaves[$i].ovaries == 0>> - <<if $slaves[$i].balls == 0>> - Society @@.green;approves@@ of $slaves[$i].slaveName <<if $slaves[$i].balls == 0>>sterilization<<else>>gelding<</if>>, which ensures that $pronoun will not propagate the $arcologies[0].FSSubjugationistRace race. + <<if $slaves[$i].balls == 0 || $slaves[$i].vasectomy == 1>> + Society @@.green;approves@@ of $slaves[$i].slaveName's <<if $slaves[$i].vasectomy == 1 && $slaves[$i].balls > 0>>vasectomy<<elseif $slaves[$i].dick > 0>>gelding<<else>>sterilization<</if>>, which ensures that $pronoun will not propagate the $arcologies[0].FSSubjugationistRace race. <<FSChangePorn "Subjugationist" 1>> <</if>> <</if>> @@ -4594,7 +4594,7 @@ <<else>> <<if $slaves[$i].preg > 0>> <<if $slaves[$i].pregSource > 0>> - <<for $j to 0; $j < $slaves.length; $j++>> + <<for $j = 0; $j < $slaves.length; $j++>> <<if $slaves[$i].pregSource == $slaves[$j].ID>> <<if $slaves[$j].race is $arcologies[0].FSSubjugationistRace>> Society @@.red;strongly disapproves@@ of your allowing $slaves[$j].slaveName to be miscegenated by a $arcologies[0].FSSubjugationistRace subhuman like $slaves[$i].slaveName. @@ -4623,7 +4623,7 @@ <</if>> <<if $arcologies[0].FSGenderRadicalist != "unset">> - <<if ($slaves[$i].balls > 0) && ($slaves[$i].hormones > 0)>> + <<if ($slaves[$i].balls > 0) && ($slaves[$i].dick > 0) && ($slaves[$i].hormones > 0)>> Society @@.green;approves@@ of your heavy hormonal feminization of $slaves[$i].slaveName; this advances public interest in girls with soft little dicks. <<FSChangePorn "GenderRadicalist" 1>> <<elseif ($slaves[$i].balls > 0) && ($slaves[$i].pubertyXY == 0) && ($slaves[$i].physicalAge >= $potencyAge)>> @@ -4719,10 +4719,13 @@ <<set $failedElite += 5+$slaves[$i].pregType>> <</if>> <</if>> - <<if $slaves[$i].balls > 0>> + <<if $slaves[$i].balls > 0 && $slaves[$i].vasectomy == 0>> Society @@.red;disapproves@@ of her working testicles. <<FSChangePorn "Eugenics" $slaves[$i].balls>> - <<elseif $slaves[$i].dick > 0 and $slaves[$i].balls == 0>> + <<elseif $slaves[$i].dick > 0 && $slaves[$i].balls > 0 && $slaves[$i].vasectomy == 1>> + Society @@.green;aproves@@ of her vasectomy. + <<FSChangePorn "Eugenics" 1>> + <<elseif $slaves[$i].dick > 0 && $slaves[$i].balls == 0>> Society @@.green;aproves@@ of her lack of testicles. <<FSChangePorn "Eugenics" 2>> <</if>> @@ -5322,7 +5325,7 @@ $possessiveCap scrotum @@.lime;stretches out naturally@@ as $possessive balls force it to accept their size, giving $possessive relief at last. <<set $slaves[$i].scrotum += 1>> <</if>> - <<elseif $slaves[$i].scrotum - $slaves[$i].balls is -1>> + <<elseif $slaves[$i].scrotum - $slaves[$i].balls == -1>> <<if random(0,4) == 0>> $possessiveCap scrotum @@.lime;stretches out naturally@@ as it adapts to $possessive newly enhanced balls. <<set $slaves[$i].scrotum += 1>> diff --git a/src/uncategorized/surgeryDegradation.tw b/src/uncategorized/surgeryDegradation.tw index f4ac3553774..ece5c66d76c 100644 --- a/src/uncategorized/surgeryDegradation.tw +++ b/src/uncategorized/surgeryDegradation.tw @@ -612,6 +612,12 @@ As the remote surgery's long recovery cycle completes, <<case "endprecum">> Her groin is a little sore, and she examines it closely, but she can't find much difference. Her generous production of precum won't tail off for some time, until the slow-release drugs are completely flushed from her system. Even then, the only real change for her will be a little less inconvenience. As with all surgery @@.red;her health has been slightly affected.@@ +<<case "vasectomy">> + Her groin is a little sore, and she examines it closely, but she can't find much difference. She likely won't realize what happened, but may piece things together when she realizes the girls she fucks never get pregnant. As with all surgery @@.red;her health has been slightly affected.@@ + +<<case "vasectomy undo">> + Her groin is a little sore, and she examines it closely, but she can't find much difference. She likely won't ever realize what happened until she gets a girl pregnant. As with all surgery @@.red;her health has been slightly affected.@@ + <<case "ejaculation">> Her groin is a little sore, and she examines it closely, finding it slightly swollen. Near the end of her close inspection of her own private parts, though, she happens to stimulate herself, unintentionally, and just a little. That's enough. She begins to leak excessive precum, as usual, but a distinct pressure begins building in her loins. She groans as the swelling rises before bucking and orgasming uncontrollably, coating herself and the bed in a layer of fluid. <<if $activeSlave.devotion > 50>> diff --git a/src/utility/descriptionWidgetsFlesh.tw b/src/utility/descriptionWidgetsFlesh.tw index 7f8ca1649e5..9487ca414b1 100644 --- a/src/utility/descriptionWidgetsFlesh.tw +++ b/src/utility/descriptionWidgetsFlesh.tw @@ -2666,6 +2666,10 @@ $pronounCap's got a <</if>> <</if>> +<<if $activeSlave.balls > 0 && $activeSlave.vasectomy == 1>> + $possessiveCap shoots blanks thanks to $possessive vasectomy. +<</if>> + <<if $activeSlave.physicalAge <= 3>> <<if $activeSlave.dick >= 15>> <<if $activeSlave.fuckdoll > 0>> diff --git a/src/utility/raWidgets.tw b/src/utility/raWidgets.tw index 31537c2e8cf..3728a8376d6 100644 --- a/src/utility/raWidgets.tw +++ b/src/utility/raWidgets.tw @@ -3387,7 +3387,7 @@ Your brand design is ''$brandDesign.'' <<widget "DefaultRules">> <<set _combinedRule = {}>> <<for _r = 0; _r < $defaultRules.length; _r++>> - <<set _currentRule = $defaultRules[_r]>> + <<set _currentRule = clone($defaultRules[_r])>> /% skip inapplicable rules %/ <<if !ruleApplied($args[0], _currentRule.ID)>> <<continue>> @@ -3414,7 +3414,7 @@ Your brand design is ''$brandDesign.'' <</if>> <<case "mastersuite">> - <<if ($masterSuite > $masterSuiteSlaves) && ($args[0].devotion > 20) || (($args[0].devotion >= -50) && ($args[0].trust < -20)) || ($args[0].trust < -50)>> + <<if ($masterSuite > $masterSuiteSlaves) && (($args[0].devotion > 20) || (($args[0].devotion >= -50) && ($args[0].trust < -20)) || ($args[0].trust < -50))>> <<if ($args[0].assignment != "serve in the master suite")>> <br>$args[0].slaveName has been automatically assigned to $masterSuiteName. <<assignJob $args[0] _currentRule.assignFacility>> @@ -3424,7 +3424,7 @@ Your brand design is ''$brandDesign.'' <</if>> <<case "clinic">> - <<if ($clinic > $clinicSlaves) && ($args[0].health < 20) || (($Nurse != 0) && ($args[0].chem > 15) && ($clinicUpgradeFilters == 1)) || (($args[0].bellyImplant > -1) && ($bellyImplants == 1)) || $args[0].preg > 1>> + <<if ($clinic > $clinicSlaves) && (($args[0].health < 20) || (($Nurse != 0) && ($args[0].chem > 15) && ($clinicUpgradeFilters == 1)) || (($args[0].bellyImplant > -1) && ($bellyImplants == 1)) || $args[0].preg > 1)>> <<if ($args[0].assignment != "get treatment in the clinic")>> <br>$args[0].slaveName has been automatically assigned to get treatment in $clinicName. <<assignJob $args[0] _currentRule.assignFacility>> @@ -3434,7 +3434,7 @@ Your brand design is ''$brandDesign.'' <</if>> <<case "spa">> - <<if ($spa > $spaSlaves) && ($args[0].health < 20) || ($args[0].trust < 60) || ($args[0].devotion <= 60) || ($args[0].fetish == "mindbroken") && ($args[0].devotion >= -20)>> + <<if ($spa > $spaSlaves) && (($args[0].health < 20) || ($args[0].trust < 60) || ($args[0].devotion <= 60) || ($args[0].fetish == "mindbroken") && ($args[0].devotion >= -20))>> <<if ($args[0].assignment != "rest in the spa")>> <br>$args[0].slaveName has been automatically assigned to rest in $spaName. <<assignJob $args[0] _currentRule.assignFacility>> @@ -3811,155 +3811,155 @@ check if a rule attribute, any one, is defined and otherwise skip everything. <</if>> <</if>> /* CLOSES FUCKDOLL CHECK */ +/* < -------------------------------------------------------------------------Drug Assignment -------------------------------------------------------------------------------------------> */ +/* Fertility */ +<<if isFertile($args[0])>> + <<if (def _combinedRule.preg) && (_combinedRule.preg !== "no default setting")>> + <<if (_combinedRule.preg == -1)>> + <<if $args[0].preg !== -1>> + <br>$args[0].slaveName is fertile, so she has been put on the appropriate contraceptive regime. + <<set $args[0].preg = -1>> + <</if>> + <<if $args[0].drugs == "fertility drugs" || $args[0].drugs == "super fertility drugs">> + <<set $args[0].drugs = "no drugs">> + <</if>> + <<elseif (_combinedRule.preg == 0)>> + <<if $args[0].preg !== 0>> + <br>$args[0].slaveName is fertile, so she has been taken off contraceptives. + <<set $args[0].preg = 0>> + <</if>> + <<if $args[0].drugs == "fertility drugs" || $args[0].drugs == "super fertility drugs">> + <<set $args[0].drugs = "no drugs">> + <</if>> + <<elseif (_combinedRule.preg == 1)>> + <<if $args[0].preg !== 0 || $args[0].drugs !== "fertility drugs" || $args[0].hormones !== 0>> + <<set $args[0].preg = 0>> + <<set $args[0].drugs = "fertility drugs">> + <<set $args[0].hormones = 0>> + <br>$args[0].slaveName is fertile, so she has been put on the appropriate fertility regime. + <</if>> + <<elseif (_combinedRule.preg == 2)>> + <<if $args[0].preg !== 0 || $args[0].drugs !== "fertility drugs" || $args[0].hormones !== 2>> + <<set $args[0].preg = 0>> + <<set $args[0].drugs = "fertility drugs">> + <<set $args[0].hormones = 2>> + <br>$args[0].slaveName is fertile, so she has been put on the appropriate fertility regime. + <</if>> + <<elseif (_combinedRule.preg == 3) and $args[0].indentureRestrictions < 1>> + <<if $args[0].preg !== 0 || $args[0].drugs !== "super fertility drugs" || $args[0].hormones !== 0>> + <<set $args[0].preg = 0>> + <<set $args[0].drugs = "super fertility drugs">> + <<set $args[0].hormones = 0>> + <br>$args[0].slaveName is fertile, so she has been put on the appropriate fertility regime. + <</if>> + <<elseif (_combinedRule.preg == 4) and $args[0].indentureRestrictions < 1>> + <<if $args[0].preg !== 0 || $args[0].drugs !== "super fertility drugs" || $args[0].hormones !== 2>> + <<set $args[0].preg = 0>> + <<set $args[0].drugs = "super fertility drugs">> + <<set $args[0].hormones = 2>> + <br>$args[0].slaveName is fertile, so she has been put on the appropriate fertility regime. + <</if>> + <</if>> + <</if>> +<</if>> -<<for _g = 0; _g < 1; _g++>> /* Growth drugs. Single loop broken when we find a drug to apply, or that a currently active drug is working on an unsatisfied growth target. Please advise if cleaner or more efficient code is possible. */ - -<<if $args[0].drugs == "psychosuppressants" || $args[0].drugs == "fertility drugs" || $args[0].drugs == "steroids" || $args[0].drugs == "hormone enhancers">> +/* Asset Growth */ + <<set _tempAssetGrowthDrugs = ["breast injections", "breast redistributors", "butt injections", "butt redistributors", "lip injections", "lip atrophiers","penis enhancement", "penis atrophiers", "testicle enhancement", "testicle atrophiers", "hyper breast injections", "hyper butt injections", "hyper penis enhancement", "hyper testicle enhancement"]>> + <<for _g = 0; _g < 1; _g++>> /* Growth drugs. Single loop broken when we find a drug to apply, or that a currently active drug is working on an unsatisfied growth target. Please advise if cleaner or more efficient code is possible. */ + <<if $args[0].drugs == "super fertility drugs" || $args[0].drugs == "fertility drugs">> <br>$args[0].slaveName is on $args[0].drugs and will not be considered for drug enhancement until that regime is complete. <<break>> -<</if>> -<<if $args[0].assignmentVisible>> /* More resource intensive version with prioritizing. Possible to give this a toggle rather than basing it on visibility. */ - <<set _priorities = []>> - <<if _combinedRule.growth.boobs != "no default setting">> - <<if $args[0].boobs < _combinedRule.growth.boobs>> - <<set _priority = {drug: "breast injections", weight: (_combinedRule.growth.boobs-$args[0].boobs)/_combinedRule.growth.boobs}, _priorities.push(_priority)>> - <<elseif ($args[0].boobs > _combinedRule.growth.boobs) && ($arcologies[0].FSSlimnessEnthusiastResearch == 1)>> - <<set _priority = {drug: "breast redistributors", weight: (1+(($args[0].boobs-_combinedRule.growth.boobs)/_combinedRule.growth.boobs))}, _priorities.push(_priority)>> - <</if>> - <</if>> - <<if _combinedRule.growth.butt != "no default setting">> - <<if $args[0].butt < _combinedRule.growth.butt>> - <<set _priority = {drug: "butt injections", weight: (_combinedRule.growth.butt-$args[0].butt)/_combinedRule.growth.butt}, _priorities.push(_priority)>> - <<elseif ($args[0].butt > _combinedRule.growth.butt) && ($arcologies[0].FSSlimnessEnthusiastResearch == 1)>> - <<set _priority = {drug: "butt redistributors", weight: (1+(($args[0].butt-_combinedRule.growth.butt)/_combinedRule.growth.butt))}, _priorities.push(_priority)>> - <</if>> <</if>> - <<if _combinedRule.growth.lips != "no default setting">> - <<if $args[0].lips < _combinedRule.growth.lips>> - <<set _priority = {drug: "lip injections", weight: (_combinedRule.growth.lips-$args[0].lips)/_combinedRule.growth.lips}, _priorities.push(_priority)>> - <<elseif ($args[0].lips > _combinedRule.growth.lips) && ($arcologies[0].FSSlimnessEnthusiastResearch == 1)>> - <<set _priority = {drug: "lip atrophiers", weight: (1+(($args[0].lips-_combinedRule.growth.lips)/_combinedRule.growth.lips))}, _priorities.push(_priority)>> - <</if>> - <</if>> - <<if _combinedRule.growth.dick != "no default setting">> - <<if $args[0].dick>> - <<if $args[0].dick < _combinedRule.growth.dick>> - <<set _priority = {drug: "penis enhancement", weight: (_combinedRule.growth.dick-$args[0].dick)/_combinedRule.growth.dick}, _priorities.push(_priority)>> - <<elseif ($args[0].dick > _combinedRule.growth.dick) && ($arcologies[0].FSSlimnessEnthusiastResearch == 1)>> - <<set _priority = {drug: "penis atrophiers", weight: (1+(($args[0].dick-_combinedRule.growth.dick)/_combinedRule.growth.dick))}, _priorities.push(_priority)>> - <</if>> - <</if>> - <</if>> - <<if _combinedRule.growth.balls != "no default setting">> - <<if $args[0].balls>> - <<if $args[0].balls < _combinedRule.growth.balls>> - <<set _priority = {drug: "testicle enhancement", weight: (_combinedRule.growth.balls-$args[0].balls)/_combinedRule.growth.balls}, _priorities.push(_priority)>> - <<elseif ($args[0].balls > _combinedRule.growth.balls) && ($arcologies[0].FSSlimnessEnthusiastResearch == 1)>> - <<set _priority = {drug: "testicle atrophiers", weight: (1+(($args[0].balls-_combinedRule.growth.balls)/_combinedRule.growth.balls))}, _priorities.push(_priority)>> - <</if>> - <</if>> - <</if>> - <<if _priorities.length > 1>> - <<set _priorities = _priorities.sort(function(a, b){if(a.weight > b.weight) return -1; if(a.weight < b.weight) return 1; return 0;})>> - <<if $args[0].drugs != _priorities[0].drug>> - <<set $args[0].drugs = _priorities[0].drug>> - <br>$args[0].slaveName has been put on _priorities[0].drug, since that part of her body is <<print (Math.trunc(_priorities[0].weight*100) % 100)>>% - <<if _priorities[0].weight < 1>>below - <<else>>above + <<if $args[0].assignmentVisible>> /* More resource intensive version with prioritizing. Possible to give this a toggle rather than basing it on visibility. */ + <<set _priorities = []>> + <<if _combinedRule.growth.boobs != "no default setting">> + <<if $args[0].boobs < _combinedRule.growth.boobs>> + <<set _priority = {drug: "breast injections", weight: (_combinedRule.growth.boobs-$args[0].boobs)/_combinedRule.growth.boobs}, _priorities.push(_priority)>> + <<elseif ($args[0].boobs > _combinedRule.growth.boobs+200) && $args[0].weight < 100 && ($arcologies[0].FSSlimnessEnthusiastResearch == 1)>> + <<set _priority = {drug: "breast redistributors", weight: (1+(($args[0].boobs-_combinedRule.growth.boobs)/_combinedRule.growth.boobs))}, _priorities.push(_priority)>> <</if>> - the targeted size. <</if>> - <<break>> - <<elseif _priorities.length > 0>> - <<if $args[0].drugs != _priorities[0].drug>> - <<set $args[0].drugs = _priorities[0].drug>> - <br>$args[0].slaveName has been put on _priorities[0].drug, since that is the only part of her body that does not meet the targeted size. + <<if _combinedRule.growth.butt != "no default setting">> + <<if $args[0].butt < _combinedRule.growth.butt>> + <<set _priority = {drug: "butt injections", weight: (_combinedRule.growth.butt-$args[0].butt)/_combinedRule.growth.butt}, _priorities.push(_priority)>> + <<elseif ($args[0].butt > _combinedRule.growth.butt) && $args[0].weight < 100 && ($arcologies[0].FSSlimnessEnthusiastResearch == 1)>> + <<set _priority = {drug: "butt redistributors", weight: (1+(($args[0].butt-_combinedRule.growth.butt)/_combinedRule.growth.butt))}, _priorities.push(_priority)>> + <</if>> <</if>> - <<break>> - <<elseif $args[0].drugs != "no drugs">> - <<set $args[0].drugs = "no drugs">> - <br>$args[0].slaveName's body has met all relevant growth targets, so her pharmaceutical regime has been ended. - <<break>> - <</if>> -<<else>> - <<if $arcologies[0].FSAssetExpansionistResearch == 1>> - <<set _hyper = "hyper ">> - <<else>> - <<set _hyper = "">> - <</if>> - <<if _combinedRule.growth.boobs != "no default setting">> - <<if $args[0].boobs < _combinedRule.growth.boobs>> - <<if $args[0].drugs != _hyper + "breast injections">> - <<set $args[0].drugs = _hyper + "breast injections">> - <br>$args[0].slaveName has been put on $args[0].drugs. + <<if _combinedRule.growth.lips != "no default setting">> + <<if $args[0].lips < _combinedRule.growth.lips>> + <<set _priority = {drug: "lip injections", weight: (_combinedRule.growth.lips-$args[0].lips)/_combinedRule.growth.lips}, _priorities.push(_priority)>> + <<elseif ($args[0].lips > _combinedRule.growth.lips) && ($arcologies[0].FSSlimnessEnthusiastResearch == 1)>> + <<set _priority = {drug: "lip atrophiers", weight: (1+(($args[0].lips-_combinedRule.growth.lips)/_combinedRule.growth.lips))}, _priorities.push(_priority)>> <</if>> - <<break>> <</if>> - <</if>> - <<if _combinedRule.growth.butt != "no default setting">> - <<if $args[0].butt < _combinedRule.growth.butt>> - <<if $args[0].drugs != _hyper + "butt injections">> - <<set $args[0].drugs = _hyper + "butt injections">> - <br>$args[0].slaveName has been put on $args[0].drugs. + <<if _combinedRule.growth.dick != "no default setting">> + <<if $args[0].dick>> + <<if $args[0].dick < _combinedRule.growth.dick>> + <<set _priority = {drug: "penis enhancement", weight: (_combinedRule.growth.dick-$args[0].dick)/_combinedRule.growth.dick}, _priorities.push(_priority)>> + <<elseif ($args[0].dick > _combinedRule.growth.dick) && ($arcologies[0].FSSlimnessEnthusiastResearch == 1)>> + <<set _priority = {drug: "penis atrophiers", weight: (1+(($args[0].dick-_combinedRule.growth.dick)/_combinedRule.growth.dick))}, _priorities.push(_priority)>> + <</if>> <</if>> - <<break>> <</if>> - <</if>> - <<if _combinedRule.growth.lips != "no default setting">> - <<if $args[0].lips < _combinedRule.growth.lips>> - <<if $args[0].drugs != "lip injections">> - <<set $args[0].drugs = "lip injections">> - <br>$args[0].slaveName has been put on $args[0].drugs. + <<if _combinedRule.growth.balls != "no default setting">> + <<if $args[0].balls>> + <<if $args[0].balls < _combinedRule.growth.balls>> + <<set _priority = {drug: "testicle enhancement", weight: (_combinedRule.growth.balls-$args[0].balls)/_combinedRule.growth.balls}, _priorities.push(_priority)>> + <<elseif ($args[0].balls > _combinedRule.growth.balls) && ($arcologies[0].FSSlimnessEnthusiastResearch == 1)>> + <<set _priority = {drug: "testicle atrophiers", weight: (1+(($args[0].balls-_combinedRule.growth.balls)/_combinedRule.growth.balls))}, _priorities.push(_priority)>> + <</if>> <</if>> - <<break>> <</if>> - <</if>> - <<if _combinedRule.growth.dick != "no default setting">> - <<if $args[0].dick>> - <<if $args[0].dick < _combinedRule.growth.dick>> - <<if $args[0].drugs != _hyper + "penis enhancement">> - <<set $args[0].drugs = _hyper + "penis enhancement">> - <br>$args[0].slaveName has been put on $args[0].drugs. + <<if _priorities.length > 1>> + <<set _priorities = _priorities.sort(function(a, b){if(a.weight > b.weight) return -1; if(a.weight < b.weight) return 1; return 0;})>> + <<if $args[0].drugs != _priorities[0].drug>> + <<set $args[0].drugs = _priorities[0].drug>> + <br>$args[0].slaveName has been put on _priorities[0].drug, since that part of her body is <<print (Math.trunc(_priorities[0].weight*100) % 100)>>% + <<if _priorities[0].weight < 1>>below + <<else>>above + <</if>> + the targeted size. <</if>> <<break>> - <</if>> - <</if>> - <</if>> - <<if _combinedRule.growth.balls != "no default setting">> - <<if $args[0].balls>> - <<if $args[0].balls < _combinedRule.growth.balls>> - <<if $args[0].drugs != _hyper + "testicle enhancement">> - <<set $args[0].drugs = _hyper + "testicle enhancement">> - <br>$args[0].slaveName has been put on $args[0].drugs. + <<elseif _priorities.length > 0>> + <<if $args[0].drugs != _priorities[0].drug>> + <<set $args[0].drugs = _priorities[0].drug>> + <br>$args[0].slaveName has been put on _priorities[0].drug, since that is the only part of her body that does not meet the targeted size. <</if>> <<break>> + <<elseif (_tempAssetGrowthDrugs.includes($args[0].drugs))>> + <<set $args[0].drugs = "no drugs">> + <br>$args[0].slaveName's body has met all relevant growth targets, so her pharmaceutical regime has been ended. + <<break>> + <</if>> + <<else>> + <<if $arcologies[0].FSAssetExpansionistResearch == 1>> + <<set _hyper = "hyper ">> + <<else>> + <<set _hyper = "">> <</if>> - <</if>> - <</if>> - <<if $arcologies[0].FSSlimnessEnthusiastResearch == 1>> - /* <<if _combinedRule.growth.boobs != "no default setting">> - <<if $args[0].boobs > _combinedRule.growth.boobs>> - <<if $args[0].drugs != "breast redistributors">> - <<set $args[0].drugs = "breast redistributors">> + <<if $args[0].boobs < _combinedRule.growth.boobs>> + <<if $args[0].drugs != _hyper + "breast injections">> + <<set $args[0].drugs = _hyper + "breast injections">> <br>$args[0].slaveName has been put on $args[0].drugs. <</if>> <<break>> <</if>> <</if>> <<if _combinedRule.growth.butt != "no default setting">> - <<if $args[0].butt > _combinedRule.growth.butt>> - <<if $args[0].drugs != "butt redistributors">> - <<set $args[0].drugs = "butt redistributors">> + <<if $args[0].butt < _combinedRule.growth.butt>> + <<if $args[0].drugs != _hyper + "butt injections">> + <<set $args[0].drugs = _hyper + "butt injections">> <br>$args[0].slaveName has been put on $args[0].drugs. <</if>> <<break>> <</if>> <</if>> - */ <<if _combinedRule.growth.lips != "no default setting">> - <<if $args[0].lips > _combinedRule.growth.lips>> - <<if $args[0].drugs != "lip atrophiers">> + <<if $args[0].lips < _combinedRule.growth.lips>> + <<if $args[0].drugs != "lip injections">> <<set $args[0].drugs = "lip injections">> <br>$args[0].slaveName has been put on $args[0].drugs. <</if>> @@ -3968,9 +3968,9 @@ check if a rule attribute, any one, is defined and otherwise skip everything. <</if>> <<if _combinedRule.growth.dick != "no default setting">> <<if $args[0].dick>> - <<if $args[0].dick > _combinedRule.growth.dick>> - <<if $args[0].drugs != "penis atrophiers">> - <<set $args[0].drugs = "penis atrophiers">> + <<if $args[0].dick < _combinedRule.growth.dick>> + <<if $args[0].drugs != _hyper + "penis enhancement">> + <<set $args[0].drugs = _hyper + "penis enhancement">> <br>$args[0].slaveName has been put on $args[0].drugs. <</if>> <<break>> @@ -3979,240 +3979,82 @@ check if a rule attribute, any one, is defined and otherwise skip everything. <</if>> <<if _combinedRule.growth.balls != "no default setting">> <<if $args[0].balls>> - <<if $args[0].balls > _combinedRule.growth.balls>> - <<if $args[0].drugs != "testicle atrophiers">> - <<set $args[0].drugs = "testicle atrophiers">> + <<if $args[0].balls < _combinedRule.growth.balls>> + <<if $args[0].drugs != _hyper + "testicle enhancement">> + <<set $args[0].drugs = _hyper + "testicle enhancement">> <br>$args[0].slaveName has been put on $args[0].drugs. <</if>> <<break>> <</if>> <</if>> <</if>> - <</if>> - /* - <<if $args[0].drugs != "no drugs">> - <<set $args[0].drugs = "no drugs">> - <br>$args[0].slaveName has met all relevant growth targets, so her pharmaceutical regime has been ended. - <<break>> - <</if>> - */ -<</if>> - -<</for>> /* Closes single for loop for growth drugs. */ - -<<if (def _combinedRule.curatives) && (_combinedRule.curatives != "no default setting")>> -<<if $args[0].curatives != _combinedRule.curatives>> - <<if _combinedRule.curatives == 2>> - <<if $args[0].health > 100>> - <br>$args[0].slaveName has been put on preventatives, since curatives cannot improve her health further. - <<set $args[0].curatives = 1>> - <<else>> - <br>$args[0].slaveName has been put on curatives. - <<set $args[0].curatives = _combinedRule.curatives>> - <</if>> - <<else>> - <br>$args[0].slaveName has been <<if _combinedRule.curatives > 0>>put on preventatives<<else>>taken off health drugs<</if>>. - <<set $args[0].curatives = _combinedRule.curatives>> - <</if>> -<</if>> -<</if>> - -<<if (def _combinedRule.aphrodisiacs) && (_combinedRule.aphrodisiacs != "no default setting")>> -<<if $args[0].aphrodisiacs != _combinedRule.aphrodisiacs>> - <br>$args[0].slaveName has been <<if _combinedRule.aphrodisiacs > 0>>put on the proper<<else>>taken off<</if>> aphrodisiacs. - <<set $args[0].aphrodisiacs = _combinedRule.aphrodisiacs>> -<</if>> -<</if>> - -<<if ($args[0].dick > 0)>> -<<if ($args[0].balls == 0)>> -<<if (def _combinedRule.gelding) && (_combinedRule.gelding !== "no default setting")>> -<<if ($args[0].hormones !== _combinedRule.gelding)>> - <<set $args[0].hormones = _combinedRule.gelding>> - <<if $args[0].indentureRestrictions >= 2>> - <<set $args[0].hormones = Math.clamp($args[0].hormones, -1, 1)>> - <</if>> - <br>$args[0].slaveName is a gelding, so she has been put on the appropriate hormonal regime. -<</if>> -<</if>> -<<elseif ($args[0].balls > 0)>> -<<if (def _combinedRule.XY) && (_combinedRule.XY !== "no default setting")>> -<<if ($args[0].hormones !== _combinedRule.XY)>> -<<if ($args[0].assignment != "recruit girls")>> -<<if ($args[0].assignment != "be the Wardeness")>> -<<if ($args[0].assignment != "be the Madam")>> - <<set $args[0].hormones = _combinedRule.XY>> - <<if $args[0].indentureRestrictions >= 2>> - <<set $args[0].hormones = Math.clamp($args[0].hormones, -1, 1)>> - <</if>> - <br>$args[0].slaveName is a shemale, so she has been put on the appropriate hormonal regime. -<</if>> -<</if>> -<</if>> -<</if>> -<</if>> -<</if>> -<</if>> - -<<if ($args[0].vagina > -1) && ($args[0].dick == 0) && (def _combinedRule.XX) && (_combinedRule.XX !== "no default setting")>> - <<if ($args[0].hormones !== _combinedRule.XX)>> - <<set $args[0].hormones = _combinedRule.XX>> - <<if $args[0].indentureRestrictions >= 2>> - <<set $args[0].hormones = Math.clamp($args[0].hormones, -1, 1)>> - <</if>> - <br>$args[0].slaveName is a female, so she has been put on the appropriate hormonal regime. - <</if>> -<</if>> - -<<if isFertile($args[0])>> - <<if (def _combinedRule.preg) && (_combinedRule.preg !== "no default setting")>> - <<if (_combinedRule.preg == -1)>> - <<if $args[0].preg !== -1>> - <br>$args[0].slaveName is fertile, so she has been put on the appropriate contraceptive regime. - <<set $args[0].preg = -1>> - <</if>> - <<if $args[0].drugs == "fertility drugs" || $args[0].drugs == "super fertility drugs">> - <<set $args[0].drugs = "no drugs">> - <</if>> - <<elseif (_combinedRule.preg == 0)>> - <<if $args[0].preg !== 0>> - <br>$args[0].slaveName is fertile, so she has been taken off contraceptives. - <<set $args[0].preg = 0>> + <<if $arcologies[0].FSSlimnessEnthusiastResearch == 1>> + <<if _combinedRule.growth.boobs != "no default setting">> + <<if $args[0].boobs > _combinedRule.growth.boobs+200 && $args[0].weight < 100>> + <<if $args[0].drugs != "breast redistributors">> + <<set $args[0].drugs = "breast redistributors">> + <br>$args[0].slaveName has been put on $args[0].drugs. + <</if>> + <<break>> + <</if>> + <</if>> + <<if _combinedRule.growth.butt != "no default setting">> + <<if $args[0].butt > _combinedRule.growth.butt && $args[0].weight < 100>> + <<if $args[0].drugs != "butt redistributors">> + <<set $args[0].drugs = "butt redistributors">> + <br>$args[0].slaveName has been put on $args[0].drugs. + <</if>> + <<break>> + <</if>> + <</if>> + <<if _combinedRule.growth.lips != "no default setting">> + <<if $args[0].lips > _combinedRule.growth.lips>> + <<if $args[0].drugs != "lip atrophiers">> + <<set $args[0].drugs = "lip injections">> + <br>$args[0].slaveName has been put on $args[0].drugs. + <</if>> + <<break>> + <</if>> + <</if>> + <<if _combinedRule.growth.dick != "no default setting">> + <<if $args[0].dick>> + <<if $args[0].dick > _combinedRule.growth.dick>> + <<if $args[0].drugs != "penis atrophiers">> + <<set $args[0].drugs = "penis atrophiers">> + <br>$args[0].slaveName has been put on $args[0].drugs. + <</if>> + <<break>> + <</if>> + <</if>> + <</if>> + <<if _combinedRule.growth.balls != "no default setting">> + <<if $args[0].balls>> + <<if $args[0].balls > _combinedRule.growth.balls>> + <<if $args[0].drugs != "testicle atrophiers">> + <<set $args[0].drugs = "testicle atrophiers">> + <br>$args[0].slaveName has been put on $args[0].drugs. + <</if>> + <<break>> + <</if>> + <</if>> + <</if>> <</if>> - <<if $args[0].drugs == "fertility drugs" || $args[0].drugs == "super fertility drugs">> + <<if (_tempAssetGrowthDrugs.includes($args[0].drugs))>> <<set $args[0].drugs = "no drugs">> + <br>$args[0].slaveName has met all relevant growth targets, so her pharmaceutical regime has been ended. + <<break>> <</if>> - <<elseif (_combinedRule.preg == 1)>> - <<if $args[0].preg !== 0 || $args[0].drugs !== "fertility drugs" || $args[0].hormones !== 0>> - <<set $args[0].preg = 0>> - <<set $args[0].drugs = "fertility drugs">> - <<set $args[0].hormones = 0>> - <br>$args[0].slaveName is fertile, so she has been put on the appropriate fertility regime. - <</if>> - <<elseif (_combinedRule.preg == 2)>> - <<if $args[0].preg !== 0 || $args[0].drugs !== "fertility drugs" || $args[0].hormones !== 2>> - <<set $args[0].preg = 0>> - <<set $args[0].drugs = "fertility drugs">> - <<set $args[0].hormones = 2>> - <br>$args[0].slaveName is fertile, so she has been put on the appropriate fertility regime. - <</if>> - <<elseif (_combinedRule.preg == 3) and $args[0].indentureRestrictions < 1>> - <<if $args[0].preg !== 0 || $args[0].drugs !== "super fertility drugs" || $args[0].hormones !== 0>> - <<set $args[0].preg = 0>> - <<set $args[0].drugs = "super fertility drugs">> - <<set $args[0].hormones = 0>> - <br>$args[0].slaveName is fertile, so she has been put on the appropriate fertility regime. - <</if>> - <<elseif (_combinedRule.preg == 4) and $args[0].indentureRestrictions < 1>> - <<if $args[0].preg !== 0 || $args[0].drugs !== "super fertility drugs" || $args[0].hormones !== 2>> - <<set $args[0].preg = 0>> - <<set $args[0].drugs = "super fertility drugs">> - <<set $args[0].hormones = 2>> - <br>$args[0].slaveName is fertile, so she has been put on the appropriate fertility regime. - <</if>> - <</if>> <</if>> -<</if>> -<<if $args[0].preg > 3 && _combinedRule.pregSpeed != "nds" && $args[0].breedingMark != 1 && $args[0].indentureRestrictions < 1 && $args[0].pregType < 50>> - <<if _combinedRule.pregSpeed == "slow" && $args[0].preg < 31>> - <<set $args[0].pregControl = "slow gestation">> - <br>$args[0].slaveName is pregnant, so she has been put on the gestation slowing agents. - <<elseif _combinedRule.pregSpeed == "fast" && $args[0].preg < 31 && $args[0].health > -50>> - <<set $args[0].pregControl = "speed up">> - <br>$args[0].slaveName is pregnant, so she has been put on rapid gestation agents. CAUTION! Can be dangerous. Clinic supervision is recommended. - <<elseif _combinedRule.pregSpeed == "supress" && $args[0].preg > 30 && $args[0].health > -50>> - <<set $args[0].pregControl = "labor supressors">> - <br>$args[0].slaveName is ready to birth, so she has been put on labor supressing agents. - <<elseif _combinedRule.pregSpeed == "stimulate" && $args[0].preg >= 31 && $args[0].health > -50>> - <<set $args[0].labor = 1,$args[0].induce = 1,$birthee = 1>> - <br>$args[0].slaveName is ready to birth, so her labor has been stimulated. - <<elseif _combinedRule.pregSpeed == "fast" && $args[0].pregControl == "speed up" && $args[0].health <= -50>> - <<set $args[0].pregControl = "none">> - <br>$args[0].slaveName is on rapid gestation agents and dangerously unhealthy, so her agent regimen has been stopped. - <<elseif _combinedRule.pregSpeed == "supress" && $args[0].pregControl == "labor supressors" && $args[0].health <= -50>> - <<set $args[0].pregControl = "none">> - <br>$args[0].slaveName is on labor supression agents and unhealthy, so her agent regimen has been stopped. - <</if>> -<</if>> - -<<if $args[0].fuckdoll == 0>> + <</for>> /* Closes single for loop for growth drugs. */ -<<if (def _combinedRule.livingRules) && (_combinedRule.livingRules !== "no default setting")>> -<<if ($args[0].fetish == "mindbroken")>> - <<if ($args[0].livingRules !== "spare")>> - <<set $args[0].livingRules = "spare">> - <br>Since $args[0].slaveName is mindbroken her living standard has been set to spare. - <</if>> -<<elseif $args[0].livingRules !== _combinedRule.livingRules>> - <<if _combinedRule.livingRules !== "luxurious">> - <<if $roomsPopulation <= $rooms-0.5>> - <<set $args[0].livingRules = _combinedRule.livingRules>> - <br>$args[0].slaveName's living standard has been set to _combinedRule.livingRules. - <<if $args[0].relationship >= 4>><<set $roomsPopulation += 0.5>><<else>><<set $roomsPopulation += 1>><</if>> - <<else>> - <<set $args[0].livingRules = "normal">> - <br>$args[0].slaveName's living standard has been set to normal, since there is no room for her to occupy. - <</if>> - <<else>> - <<set $args[0].livingRules = _combinedRule.livingRules>> - <br>$args[0].slaveName's living standard has been set to _combinedRule.livingRules. - <</if>> -<</if>> +/* Other Drugs */ +<<if $args[0].drugs == "none" && ((_combinedRule.drugs != "psychosuppressants") || (_combinedRule.drugs != "steroids") || (_combinedRule.drugs != "hormone enhancers"))>> + <<set $args[0].drugs = _combinedRule.drugs >> + <br> $$args[0].slaveName has been put on $args[0].drugs. <</if>> -<<if (def _combinedRule.speechRules) && (_combinedRule.speechRules !== "no default setting")>> -<<if ($args[0].fetish == "mindbroken")>> - <<if ($args[0].speechRules !== "restrictive")>> - <<set $args[0].speechRules = "restrictive">> - <br>Since $args[0].slaveName is mindbroken her speech rules have been set to restrictive. - <</if>> -<<elseif ($args[0].speechRules !== _combinedRule.speechRules)>> - <<set $args[0].speechRules = _combinedRule.speechRules>> - <br>$args[0].slaveName's speech rules have been set to _combinedRule.speechRules. -<</if>> -<</if>> - -<<if ($args[0].fetish !== "mindbroken")>> - <<if (def _combinedRule.relationshipRules) && (_combinedRule.relationshipRules !== "no default setting")>> - <<if ($args[0].relationshipRules !== _combinedRule.relationshipRules )>> - <<set $args[0].relationshipRules = _combinedRule.relationshipRules >> - <br>$args[0].slaveName's relationship rules have been set to _combinedRule.relationshipRules. - <</if>> - <</if>> -<</if>> - -<<if (def _combinedRule.releaseRules) && (_combinedRule.releaseRules !== "no default setting")>> - <<if (_combinedRule.releaseRules == "restrictive")>> - <<SexualRelease $args[0]>> - <<else>> - <<set $release = 1>> - <</if>> - <<if ($args[0].fetish == "mindbroken") && ($args[0].releaseRules !== "permissive")>> - <<set $args[0].releaseRules = "permissive">> - <br>Since $args[0].slaveName is mindbroken her masturbation rules have been set to permissive. - <<elseif ($release != 0) && ($args[0].releaseRules !== _combinedRule.releaseRules)>> - <<set $args[0].releaseRules = _combinedRule.releaseRules>> - <br>$args[0].slaveName's masturbation rules have been set to _combinedRule.releaseRules. - <</if>> -<</if>> - -<<if (def _combinedRule.standardPunishment) && (_combinedRule.standardPunishment !== "no default setting")>> - <<if ($args[0].standardPunishment !== _combinedRule.standardPunishment)>> - <<set $args[0].standardPunishment = _combinedRule.standardPunishment >> - <br>$args[0].slaveName's typical punishment has been updated to _combinedRule.standardPunishment. - <</if>> -<</if>> - -<<if (def _combinedRule.standardReward) && (_combinedRule.standardReward !== "no default setting")>> - <<if ($args[0].standardReward !== _combinedRule.standardReward)>> - <<set $args[0].standardReward = _combinedRule.standardReward >> - <br>$args[0].slaveName's typical reward has been updated to _combinedRule.standardReward. - <</if>> -<</if>> - -<</if>> /* CLOSES FUCKDOLL CHECK */ - +/* Diet Setting */ <<if (def _combinedRule.diet) && (_combinedRule.diet !== "no default setting")>> <<if ($args[0].boobs >= 1600) && ($args[0].muscles <= 5) && ($args[0].amp != 1) && ((_combinedRule.muscles == "no default setting") || (_combinedRule.muscles == 0))>> <<if ($args[0].diet !== "muscle building")>> @@ -4456,6 +4298,173 @@ check if a rule attribute, any one, is defined and otherwise skip everything. <</if>> <</if>> +/* <-------------------------------------------------------------- End of Drugs ----------------------------------------------------------------------------------------------> */ + +<<if (def _combinedRule.curatives) && (_combinedRule.curatives != "no default setting")>> +<<if $args[0].curatives != _combinedRule.curatives>> + <<if _combinedRule.curatives == 2>> + <<if $args[0].health > 100>> + <<if ($args[0].curatives != 1)>> + <br>$args[0].slaveName has been put on preventatives, since curatives cannot improve her health further. + <<set $args[0].curatives = 1>> + <</if>> + <<else>> + <br>$args[0].slaveName has been put on curatives. + <<set $args[0].curatives = _combinedRule.curatives>> + <</if>> + <<else>> + <br>$args[0].slaveName has been <<if _combinedRule.curatives > 0>>put on preventatives<<else>>taken off health drugs<</if>>. + <<set $args[0].curatives = _combinedRule.curatives>> + <</if>> +<</if>> +<</if>> + +<<if (def _combinedRule.aphrodisiacs) && (_combinedRule.aphrodisiacs != "no default setting")>> +<<if $args[0].aphrodisiacs != _combinedRule.aphrodisiacs>> + <br>$args[0].slaveName has been <<if _combinedRule.aphrodisiacs > 0>>put on the proper<<else>>taken off<</if>> aphrodisiacs. + <<set $args[0].aphrodisiacs = _combinedRule.aphrodisiacs>> +<</if>> +<</if>> + +<<if ($args[0].dick > 0)>> +<<if ($args[0].balls == 0)>> +<<if (def _combinedRule.gelding) && (_combinedRule.gelding !== "no default setting")>> +<<if ($args[0].hormones !== _combinedRule.gelding)>> + <<set $args[0].hormones = _combinedRule.gelding>> + <<if $args[0].indentureRestrictions >= 2>> + <<set $args[0].hormones = Math.clamp($args[0].hormones, -1, 1)>> + <</if>> + <br>$args[0].slaveName is a gelding, so she has been put on the appropriate hormonal regime. +<</if>> +<</if>> +<<elseif ($args[0].balls > 0)>> +<<if (def _combinedRule.XY) && (_combinedRule.XY !== "no default setting")>> +<<if ($args[0].hormones !== _combinedRule.XY)>> +<<if ($args[0].assignment != "recruit girls")>> +<<if ($args[0].assignment != "be the Wardeness")>> +<<if ($args[0].assignment != "be the Madam")>> + <<set $args[0].hormones = _combinedRule.XY>> + <<if $args[0].indentureRestrictions >= 2>> + <<set $args[0].hormones = Math.clamp($args[0].hormones, -1, 1)>> + <</if>> + <br>$args[0].slaveName is a shemale, so she has been put on the appropriate hormonal regime. +<</if>> +<</if>> +<</if>> +<</if>> +<</if>> +<</if>> +<</if>> + +<<if ($args[0].vagina > -1) && ($args[0].dick == 0) && (def _combinedRule.XX) && (_combinedRule.XX !== "no default setting")>> + <<if ($args[0].hormones !== _combinedRule.XX)>> + <<set $args[0].hormones = _combinedRule.XX>> + <<if $args[0].indentureRestrictions >= 2>> + <<set $args[0].hormones = Math.clamp($args[0].hormones, -1, 1)>> + <</if>> + <br>$args[0].slaveName is a female, so she has been put on the appropriate hormonal regime. + <</if>> +<</if>> + +<<if $args[0].preg > 3 && _combinedRule.pregSpeed != "nds" && $args[0].breedingMark != 1 && $args[0].indentureRestrictions < 1 && $args[0].pregType < 50>> + <<if _combinedRule.pregSpeed == "slow" && $args[0].preg < 31>> + <<set $args[0].pregControl = "slow gestation">> + <br>$args[0].slaveName is pregnant, so she has been put on the gestation slowing agents. + <<elseif _combinedRule.pregSpeed == "fast" && $args[0].preg < 31 && $args[0].health > -50>> + <<set $args[0].pregControl = "speed up">> + <br>$args[0].slaveName is pregnant, so she has been put on rapid gestation agents. CAUTION! Can be dangerous. Clinic supervision is recommended. + <<elseif _combinedRule.pregSpeed == "supress" && $args[0].preg > 30 && $args[0].health > -50>> + <<set $args[0].pregControl = "labor supressors">> + <br>$args[0].slaveName is ready to birth, so she has been put on labor supressing agents. + <<elseif _combinedRule.pregSpeed == "stimulate" && $args[0].preg >= 31 && $args[0].health > -50>> + <<set $args[0].labor = 1,$args[0].induce = 1,$birthee = 1>> + <br>$args[0].slaveName is ready to birth, so her labor has been stimulated. + <<elseif _combinedRule.pregSpeed == "fast" && $args[0].pregControl == "speed up" && $args[0].health <= -50>> + <<set $args[0].pregControl = "none">> + <br>$args[0].slaveName is on rapid gestation agents and dangerously unhealthy, so her agent regimen has been stopped. + <<elseif _combinedRule.pregSpeed == "supress" && $args[0].pregControl == "labor supressors" && $args[0].health <= -50>> + <<set $args[0].pregControl = "none">> + <br>$args[0].slaveName is on labor supression agents and unhealthy, so her agent regimen has been stopped. + <</if>> +<</if>> + +<<if $args[0].fuckdoll == 0>> + +<<if (def _combinedRule.livingRules) && (_combinedRule.livingRules !== "no default setting")>> +<<if ($args[0].fetish == "mindbroken")>> + <<if ($args[0].livingRules !== "spare")>> + <<set $args[0].livingRules = "spare">> + <br>Since $args[0].slaveName is mindbroken her living standard has been set to spare. + <</if>> +<<elseif $args[0].livingRules !== _combinedRule.livingRules>> + <<if _combinedRule.livingRules !== "luxurious">> + <<if $roomsPopulation <= $rooms-0.5>> + <<set $args[0].livingRules = _combinedRule.livingRules>> + <br>$args[0].slaveName's living standard has been set to _combinedRule.livingRules. + <<if $args[0].relationship >= 4>><<set $roomsPopulation += 0.5>><<else>><<set $roomsPopulation += 1>><</if>> + <<else>> + <<set $args[0].livingRules = "normal">> + <br>$args[0].slaveName's living standard has been set to normal, since there is no room for her to occupy. + <</if>> + <<else>> + <<set $args[0].livingRules = _combinedRule.livingRules>> + <br>$args[0].slaveName's living standard has been set to _combinedRule.livingRules. + <</if>> +<</if>> +<</if>> + +<<if (def _combinedRule.speechRules) && (_combinedRule.speechRules !== "no default setting")>> +<<if ($args[0].fetish == "mindbroken")>> + <<if ($args[0].speechRules !== "restrictive")>> + <<set $args[0].speechRules = "restrictive">> + <br>Since $args[0].slaveName is mindbroken her speech rules have been set to restrictive. + <</if>> +<<elseif ($args[0].speechRules !== _combinedRule.speechRules)>> + <<set $args[0].speechRules = _combinedRule.speechRules>> + <br>$args[0].slaveName's speech rules have been set to _combinedRule.speechRules. +<</if>> +<</if>> + +<<if ($args[0].fetish !== "mindbroken")>> + <<if (def _combinedRule.relationshipRules) && (_combinedRule.relationshipRules !== "no default setting")>> + <<if ($args[0].relationshipRules !== _combinedRule.relationshipRules )>> + <<set $args[0].relationshipRules = _combinedRule.relationshipRules >> + <br>$args[0].slaveName's relationship rules have been set to _combinedRule.relationshipRules. + <</if>> + <</if>> +<</if>> + +<<if (def _combinedRule.releaseRules) && (_combinedRule.releaseRules !== "no default setting")>> + <<if (_combinedRule.releaseRules == "restrictive")>> + <<SexualRelease $args[0]>> + <<else>> + <<set $release = 1>> + <</if>> + <<if ($args[0].fetish == "mindbroken") && ($args[0].releaseRules !== "permissive")>> + <<set $args[0].releaseRules = "permissive">> + <br>Since $args[0].slaveName is mindbroken her masturbation rules have been set to permissive. + <<elseif ($release != 0) && ($args[0].releaseRules !== _combinedRule.releaseRules)>> + <<set $args[0].releaseRules = _combinedRule.releaseRules>> + <br>$args[0].slaveName's masturbation rules have been set to _combinedRule.releaseRules. + <</if>> +<</if>> + +<<if (def _combinedRule.standardPunishment) && (_combinedRule.standardPunishment !== "no default setting")>> + <<if ($args[0].standardPunishment !== _combinedRule.standardPunishment)>> + <<set $args[0].standardPunishment = _combinedRule.standardPunishment >> + <br>$args[0].slaveName's typical punishment has been updated to _combinedRule.standardPunishment. + <</if>> +<</if>> + +<<if (def _combinedRule.standardReward) && (_combinedRule.standardReward !== "no default setting")>> + <<if ($args[0].standardReward !== _combinedRule.standardReward)>> + <<set $args[0].standardReward = _combinedRule.standardReward >> + <br>$args[0].slaveName's typical reward has been updated to _combinedRule.standardReward. + <</if>> +<</if>> + +<</if>> /* CLOSES FUCKDOLL CHECK */ + <<if (def _combinedRule.dietCum) && (_combinedRule.dietCum !== "no default setting")>> <<if $args[0].dietCum != _combinedRule.dietCum>> <<set $args[0].dietCum = _combinedRule.dietCum>> -- GitLab