From 3dd5cfcdb304c112e1aa67d85022b985b34542d2 Mon Sep 17 00:00:00 2001 From: Pregmodder <pregmodder@gmail.com> Date: Wed, 29 May 2019 06:41:06 -0400 Subject: [PATCH] genetic weight gain/loss --- slave variables documentation - Pregmod.txt | 7 ++ src/js/SlaveState.js | 4 + src/js/generateGenetics.js | 66 ++++++++++ src/js/generateNewSlaveJS.js | 34 ++++++ src/pregmod/saInflation.tw | 6 + src/pregmod/widgets/pregmodWidgets.tw | 3 + src/uncategorized/cellblockReport.tw | 8 +- src/uncategorized/dairyReport.tw | 3 + src/uncategorized/nextWeek.tw | 10 ++ src/uncategorized/remoteSurgery.tw | 14 +-- src/uncategorized/saDiet.tw | 128 +++++++++++++++++--- 11 files changed, 256 insertions(+), 27 deletions(-) diff --git a/slave variables documentation - Pregmod.txt b/slave variables documentation - Pregmod.txt index 0ef827374e4..fe9c4d0b47f 100644 --- a/slave variables documentation - Pregmod.txt +++ b/slave variables documentation - Pregmod.txt @@ -3661,6 +3661,13 @@ geneMods: 0 - no 1 - yes +weightDirection: + +erratic weight gain, used by (.geneticQuirks.wGain == 2 && .geneticQuirks.wLoss == 2) + 0 - stable + 1 - gaining weight +-1 - losing weight + slaveCost: Amount of cash paid to acquire the slave diff --git a/src/js/SlaveState.js b/src/js/SlaveState.js index b920ae803e6..7c843641618 100644 --- a/src/js/SlaveState.js +++ b/src/js/SlaveState.js @@ -2341,6 +2341,10 @@ App.Entity.SlaveState = class SlaveState { this.override_Pubic_H_Color = 0; this.override_Arm_H_Color = 0; this.override_Brow_H_Color = 0; + /** erratic weight gain + * + * 0: stable; 1: gaining; -1: losing */ + this.weightDirection = 0; /** @type {{skin:string, eyeColor:string, hColor:string}} */ this.albinismOverride = null; /* eslint-enable */ diff --git a/src/js/generateGenetics.js b/src/js/generateGenetics.js index 592d13bd7eb..91e142c4647 100644 --- a/src/js/generateGenetics.js +++ b/src/js/generateGenetics.js @@ -1141,6 +1141,72 @@ window.generateGenetics = (function() { } } + // hyperleptinemia + if (father !== 0) { + if (mother.geneticQuirks.wGain === 2 && father.geneticQuirks.wGain === 2) { + if (jsRandom(1, 4) >= 3) { + quirks.wGain = 2; + } else { + quirks.wGain = 1; + } + } else if (mother.geneticQuirks.wGain === 1 + father.geneticQuirks.wGain >= 3) { + chance = jsRandom(1, 4); + if (chance <= 2) { + quirks.wGain = 2; + } else if (chance === 4) { + quirks.wGain = 1; + } + } else if (mother.geneticQuirks.wGain === 1 && father.geneticQuirks.wGain === 1) { + if (jsRandom(1, 4) === 1) { + quirks.wGain = 2; + } else if (chance === 4) { + quirks.wGain = 1; + } + } + } else if (mother.geneticQuirks.wGain >= 1) { + if (jsRandom(0, 40000) >= 37500) { + chance = jsRandom(1, 4); + if (chance <= 2) { + quirks.wGain = 1; + } else if (chance === 4) { + quirks.wGain = 2; + } + } + } + + // hypoleptinemia + if (father !== 0) { + if (mother.geneticQuirks.wLoss === 2 && father.geneticQuirks.wLoss === 2) { + if (jsRandom(1, 4) >= 3) { + quirks.wLoss = 2; + } else { + quirks.wLoss = 1; + } + } else if (mother.geneticQuirks.wLoss === 1 + father.geneticQuirks.wLoss >= 3) { + chance = jsRandom(1, 4); + if (chance <= 2) { + quirks.wLoss = 2; + } else if (chance === 4) { + quirks.wLoss = 1; + } + } else if (mother.geneticQuirks.wLoss === 1 && father.geneticQuirks.wLoss === 1) { + if (jsRandom(1, 4) === 1) { + quirks.wLoss = 2; + } else if (chance === 4) { + quirks.wLoss = 1; + } + } + } else if (mother.geneticQuirks.wLoss >= 1) { + if (jsRandom(0, 40000) >= 39000) { + chance = jsRandom(1, 4); + if (chance <= 2) { + quirks.wLoss = 1; + } else if (chance === 4) { + quirks.wLoss = 2; + } + } + } + return clone(quirks); } diff --git a/src/js/generateNewSlaveJS.js b/src/js/generateNewSlaveJS.js index d03cd7790e2..469eb6a6822 100644 --- a/src/js/generateNewSlaveJS.js +++ b/src/js/generateNewSlaveJS.js @@ -1174,6 +1174,18 @@ window.GenerateNewSlave = (function() { } else if (chance >= 18500) { slave.geneticQuirks.mLoss = 1; } + chance = jsRandom(1, 20000); + if (chance >= 19800) { + slave.geneticQuirks.wGain = 2; + } else if (chance >= 18500) { + slave.geneticQuirks.wGain = 1; + } + chance = jsRandom(1, 20000); + if (chance >= 19850) { + slave.geneticQuirks.wLoss = 2; + } else if (chance >= 18500) { + slave.geneticQuirks.wLoss = 1; + } } function generateXYGeneticQuirks() { @@ -1240,6 +1252,18 @@ window.GenerateNewSlave = (function() { } else if (chance >= 18500) { slave.geneticQuirks.mLoss = 1; } + chance = jsRandom(1, 20000); + if (chance >= 19900) { + slave.geneticQuirks.wGain = 2; + } else if (chance >= 18500) { + slave.geneticQuirks.wGain = 1; + } + chance = jsRandom(1, 20000); + if (chance >= 19950) { + slave.geneticQuirks.wLoss = 2; + } else if (chance >= 18500) { + slave.geneticQuirks.wLoss = 1; + } } function generateAge() { @@ -1655,6 +1679,16 @@ window.GenerateNewSlave = (function() { slave.muscles -= jsRandom(10, 50); slave.muscles = Math.clamp(slave.muscles, -100, 100); } + if (slave.geneticQuirks.wGain === 2) { + slave.weight += jsRandom(10, 50); + slave.weight = Math.clamp(slave.weight, -100, 200); + slave.weightDirection = 1; + } + if (slave.geneticQuirks.wLoss === 2) { + slave.weight -= jsRandom(10, 50); + slave.weight = Math.clamp(slave.muscles, -100, 200); + slave.weightDirection = -1; + } } return GenerateNewSlave; diff --git a/src/pregmod/saInflation.tw b/src/pregmod/saInflation.tw index 5458ec1d1eb..0f14c7ba9ae 100644 --- a/src/pregmod/saInflation.tw +++ b/src/pregmod/saInflation.tw @@ -534,6 +534,9 @@ <<if $slaves[$i].weight < 200>> $His body @@.lime;grows a little more padded@@ as it absorbs the milk contained in $his digestive track. <<set $slaves[$i].weight += 2>> + <<if $slaves[$i].weightDirection == 1>> + <<set $slaves[$i].weight += 2>> + <</if>> <</if>> <<if random(1,100) > 50/_gigantomastiaMod && $slaves[$i].boobs < 3000*_gigantomastiaMod>> $His breasts @@.lime;swell@@ with added fat as $he digests the milk contained in $his digestive track. @@ -550,6 +553,9 @@ <<if $slaves[$i].weight < 200>> $His body @@.lime;rapidly gains weight@@ as it digests the food contained in $his digestive track. <<set $slaves[$i].weight += 4>> + <<if $slaves[$i].weightDirection == 1>> + <<set $slaves[$i].weight += 2>> + <</if>> <</if>> <<if random(1,100) > 50/_gigantomastiaMod && $slaves[$i].boobs < 3000*_gigantomastiaMod>> $His breasts @@.lime;swell@@ with added fat as $he digests the food contained in $his digestive track. diff --git a/src/pregmod/widgets/pregmodWidgets.tw b/src/pregmod/widgets/pregmodWidgets.tw index 0fdf823f8be..d8b42995338 100644 --- a/src/pregmod/widgets/pregmodWidgets.tw +++ b/src/pregmod/widgets/pregmodWidgets.tw @@ -149,6 +149,9 @@ <<if ndef $args[0].lactationRules>> <<set $args[0].lactationRules = "none">> <</if>> +<<if ndef $args[0].weightDirection>> + <<set $args[0].weightDirection = 0>> +<</if>> <<if $releaseID < 1036>> <<for _pmw = 0; _pmw < $args[0].womb.length; _pmw++>> <<if $args[0].womb[_pmw].genetics.mother !== $args[0].womb[_pmw].motherID || $args[0].womb[_pmw].genetics.father !== $args[0].womb[_pmw].fatherID>> diff --git a/src/uncategorized/cellblockReport.tw b/src/uncategorized/cellblockReport.tw index 7b2d59fa0ac..314e720f293 100644 --- a/src/uncategorized/cellblockReport.tw +++ b/src/uncategorized/cellblockReport.tw @@ -194,7 +194,13 @@ <<case "Hedonistic">> <<set $slaves[$i].livingRules = "spare">> <<if $slaves[$i].weight < 200>> - <<set $slaves[$i].weight += 3>> + <<if $slaves[$i].weightDirection == 1>> + <<set $slaves[$i].weight += 5>> + <<elseif $slaves[$i].weightDirection == -1>> + <<set $slaves[$i].weight += 1>> + <<else>> + <<set $slaves[$i].weight += 3>> + <</if>> <</if>> <<if $slaves[$i].muscles > -100>> <<set $slaves[$i].muscles -= 2>> diff --git a/src/uncategorized/dairyReport.tw b/src/uncategorized/dairyReport.tw index 4220a4377bc..913ebef4125 100644 --- a/src/uncategorized/dairyReport.tw +++ b/src/uncategorized/dairyReport.tw @@ -481,6 +481,9 @@ <</if>> <<elseif $slaves[$i].diet == "fattening">> <<set $slaves[$i].weight += 2>> + <<if $slaves[$i].weightDirection == 1>> + <<set $slaves[$i].weight += 2>> + <</if>> <</if>> <<if ($slaves[$i].health < 75)>> <<set $slaves[$i].health += 25>> diff --git a/src/uncategorized/nextWeek.tw b/src/uncategorized/nextWeek.tw index bda2940c2aa..440f80c79f8 100644 --- a/src/uncategorized/nextWeek.tw +++ b/src/uncategorized/nextWeek.tw @@ -194,6 +194,16 @@ <<if $slaves[_i].missingLegs == 3 && $slaves[_i].amp == 1>> <<set $slaves[_i].heels = 0, $slaves[_i].shoes = "none", $slaves[_i].legAccessory = "none", $slaves[_i].legsTat = 0, $slaves[_i].heightImplant = 0>> <</if>> + /* irregular leptin production weight gain/loss setter */ + <<if $slaves[_i].geneticQuirks.wGain == 2 && $slaves[_i].geneticQuirks.wLoss == 2>> + <<set $slaves[_i].weightDirection = either(-1, 1)>> + <<elseif $slaves[_i].geneticQuirks.wGain == 2>> + <<set $slaves[_i].weightDirection = 1>> + <<elseif $slaves[_i].geneticQuirks.wLoss == 2>> + <<set $slaves[_i].weightDirection = -1>> + <<else>> + <<set $slaves[_i].weightDirection = 0>> + <</if>> /% Fix some possible floating point rounding errors, and bring precision to one decimal place. %/ <<run SlaveStatClamp($slaves[_i])>> <<set $slaves[_i].energy = Math.clamp($slaves[_i].energy.toFixed(1), 0, 100)>> diff --git a/src/uncategorized/remoteSurgery.tw b/src/uncategorized/remoteSurgery.tw index 2911fa14e79..318e7dac8c4 100644 --- a/src/uncategorized/remoteSurgery.tw +++ b/src/uncategorized/remoteSurgery.tw @@ -1531,23 +1531,23 @@ $He has <</if>> <<if $activeSlave.geneticQuirks.wGain == 2>> <br> - [[Correct hyperleptinemia|Surgery Degradation][$activeSlave.geneticQuirks.wGain = 0,cashX(forceNeg($surgeryCost*4), "slaveSurgery", $activeSlave), $activeSlave.health -= 40, $activeSlave.chem += 100,$surgeryType = "gene treatment"]] + [[Correct hyperleptinemia|Surgery Degradation][$activeSlave.geneticQuirks.wGain = 0, $activeSlave.weightDirection = 0, cashX(forceNeg($surgeryCost*4), "slaveSurgery", $activeSlave), $activeSlave.health -= 40, $activeSlave.chem += 100,$surgeryType = "gene treatment"]] <<elseif $activeSlave.geneticQuirks.wGain == 1 && $geneticMappingUpgrade >= 2>> <br> - [[Hyperleptinemia activation treatment|Surgery Degradation][$activeSlave.geneticQuirks.wGain = 2,cashX(forceNeg($surgeryCost*4), "slaveSurgery", $activeSlave), $activeSlave.health -= 40, $activeSlave.chem += 100,$surgeryType = "gene treatment"]] + [[Hyperleptinemia activation treatment|Surgery Degradation][$activeSlave.geneticQuirks.wGain = 2, $activeSlave.weightDirection = 1, cashX(forceNeg($surgeryCost*4), "slaveSurgery", $activeSlave), $activeSlave.health -= 40, $activeSlave.chem += 100,$surgeryType = "gene treatment"]] <<elseif $geneticFlawLibrary == 1>> <br> - [[Induced hyperleptinemia treatment|Surgery Degradation][$activeSlave.geneticQuirks.wGain = 2,cashX(forceNeg($surgeryCost*10), "slaveSurgery", $activeSlave), $activeSlave.health -= 40, $activeSlave.chem += 40,$surgeryType = "gene treatment"]] //This will induce @@.orange;hyperleptinemia@@ in $his genetic code// + [[Induced hyperleptinemia treatment|Surgery Degradation][$activeSlave.geneticQuirks.wGain = 2, $activeSlave.weightDirection = 1, cashX(forceNeg($surgeryCost*10), "slaveSurgery", $activeSlave), $activeSlave.health -= 40, $activeSlave.chem += 40,$surgeryType = "gene treatment"]] //This will induce @@.orange;hyperleptinemia@@ in $his genetic code// <</if>> <<if $activeSlave.geneticQuirks.wLoss == 2>> <br> - [[Correct hypoleptinemia|Surgery Degradation][$activeSlave.geneticQuirks.wLoss = 0,cashX(forceNeg($surgeryCost*4), "slaveSurgery", $activeSlave), $activeSlave.health -= 40, $activeSlave.chem += 100,$surgeryType = "gene treatment"]] + [[Correct hypoleptinemia|Surgery Degradation][$activeSlave.geneticQuirks.wLoss = 0, $activeSlave.weightDirection = 0, cashX(forceNeg($surgeryCost*4), "slaveSurgery", $activeSlave), $activeSlave.health -= 40, $activeSlave.chem += 100,$surgeryType = "gene treatment"]] <<elseif $activeSlave.geneticQuirks.wLoss == 1 && $geneticMappingUpgrade >= 2>> <br> - [[Hypoleptinemia activation treatment|Surgery Degradation][$activeSlave.geneticQuirks.wLoss = 2,cashX(forceNeg($surgeryCost*4), "slaveSurgery", $activeSlave), $activeSlave.health -= 40, $activeSlave.chem += 100,$surgeryType = "gene treatment"]] + [[Hypoleptinemia activation treatment|Surgery Degradation][$activeSlave.geneticQuirks.wLoss = 2, $activeSlave.weightDirection = -1, cashX(forceNeg($surgeryCost*4), "slaveSurgery", $activeSlave), $activeSlave.health -= 40, $activeSlave.chem += 100,$surgeryType = "gene treatment"]] <<elseif $geneticFlawLibrary == 1>> <br> - [[Induced hypoleptinemia treatment|Surgery Degradation][$activeSlave.geneticQuirks.wLoss = 2,cashX(forceNeg($surgeryCost*10), "slaveSurgery", $activeSlave), $activeSlave.health -= 40, $activeSlave.chem += 40,$surgeryType = "gene treatment"]] //This will induce @@.orange;hypoleptinemia@@ in $his genetic code// + [[Induced hypoleptinemia treatment|Surgery Degradation][$activeSlave.geneticQuirks.wLoss = 2, $activeSlave.weightDirection = -1, cashX(forceNeg($surgeryCost*10), "slaveSurgery", $activeSlave), $activeSlave.health -= 40, $activeSlave.chem += 40,$surgeryType = "gene treatment"]] //This will induce @@.orange;hypoleptinemia@@ in $his genetic code// <</if>> <<if $activeSlave.geneticQuirks.mGain == 2>> <br> @@ -1559,7 +1559,6 @@ $He has <br> [[Induced myotonic hypertrophy treatment|Surgery Degradation][$activeSlave.geneticQuirks.mGain = 2,cashX(forceNeg($surgeryCost*10), "slaveSurgery", $activeSlave), $activeSlave.health -= 40, $activeSlave.chem += 40,$surgeryType = "gene treatment"]] //This will induce @@.orange;myotonic hypertrophy@@ in $his genetic code// <</if>> - /* <<if $activeSlave.geneticQuirks.mLoss == 2>> <br> [[Correct myotonic dystrophy|Surgery Degradation][$activeSlave.geneticQuirks.mLoss = 0,cashX(forceNeg($surgeryCost*4), "slaveSurgery", $activeSlave), $activeSlave.health -= 40, $activeSlave.chem += 100,$surgeryType = "gene treatment"]] @@ -1570,7 +1569,6 @@ $He has <br> [[Induced myotonic dystrophy treatment|Surgery Degradation][$activeSlave.geneticQuirks.mLoss = 2,cashX(forceNeg($surgeryCost*10), "slaveSurgery", $activeSlave), $activeSlave.health -= 40, $activeSlave.chem += 40,$surgeryType = "gene treatment"]] //This will induce @@.orange;myotonic dystrophy@@ in $his genetic code// <</if>> - */ <</if>> <br><br> <</if>> diff --git a/src/uncategorized/saDiet.tw b/src/uncategorized/saDiet.tw index a9d011c1021..06208b5284e 100644 --- a/src/uncategorized/saDiet.tw +++ b/src/uncategorized/saDiet.tw @@ -117,7 +117,13 @@ <<elseif _weightLoss == 5>> $He @@.lime;loses weight.@@ <</if>> - <<set $slaves[$i].weight -= _weightLoss+($feeder*2)>> + <<if $slaves[$i].weightDirection == -1>> + <<set $slaves[$i].weight -= (_weightLoss+3)+($feeder*2)>> + <<elseif $slaves[$i].weightDirection == 1>> + <<set $slaves[$i].weight -= (_weightLoss-3)+($feeder)>> + <<else>> + <<set $slaves[$i].weight -= _weightLoss+($feeder*2)>> + <</if>> <<if $slaves[$i].boobs-$slaves[$i].boobsImplant-$slaves[$i].boobsMilk >= 200 && _gigantomastiaMod != 3>> <<if (($slaves[$i].geneMods.NCS == 0) && (random(1,_assetLoss*_gigantomastiaMod) <= 1+$feeder))>> @@.orange;$His breasts get a little smaller.@@ @@ -302,7 +308,13 @@ <<if ($slaves[$i].geneMods.NCS == 1)>> <<set _assetGain = Math.trunc(_assetGain * 2)>> <</if>> - <<set $slaves[$i].weight += _weightGain+($feeder*2)>> + <<if $slaves[$i].weightDirection == -1>> + <<set $slaves[$i].weight += Math.max((_weightGain-3)+($feeder), 1)>> + <<elseif $slaves[$i].weightDirection == 1>> + <<set $slaves[$i].weight += (_weightGain+3)+($feeder*2)>> + <<else>> + <<set $slaves[$i].weight += _weightGain+($feeder*2)>> + <</if>> <<if random(1,_assetGain) <= 1+$feeder>> @@.lime;$His breasts get a little bigger.@@ <<if ($slaves[$i].geneMods.NCS == 0)>> @@ -319,6 +331,9 @@ $He is now quite fat, so $his diet @@.yellow;has defaulted to maintenance of this weight.@@ <<set $slaves[$i].diet = "healthy">> <</if>> + <<elseif $slaves[$i].weightDirection == 1>> + $He gains a little weight this week despite $his dietary troubles. + <<set $slaves[$i].weight += 1>> <<else>> $He doesn't gain any weight this week. <</if>> @@ -401,9 +416,12 @@ $His workout successes have @@.green;improved $his health.@@ <<set $slaves[$i].health += 10>> <</if>> - <<if $slaves[$i].weight > 10>> + <<if $slaves[$i].weight > 10 && $slaves[$i].weightDirection != 1>> $His workouts have also @@.orange;burned off some excess fat.@@ <<set $slaves[$i].weight -= 2>> + <<if $slaves[$i].weightDirection == -1>> + <<set $slaves[$i].weight -= 2>> + <</if>> <</if>> <</if>> <<case "slimming">> /* Muscle Loss */ @@ -485,9 +503,12 @@ $His workout successes have @@.green;improved $his health.@@ <<set $slaves[$i].health += 10>> <</if>> - <<if $slaves[$i].weight > 10>> + <<if $slaves[$i].weight > 10 && $slaves[$i].weightDirection != 1>> $His workouts have also @@.orange;burned off some excess fat.@@ <<set $slaves[$i].weight -= 2>> + <<if $slaves[$i].weightDirection == -1>> + <<set $slaves[$i].weight -= 2>> + <</if>> <</if>> <<else>> $His long workouts focus on cardio to keep $his body lithe. @@ -518,9 +539,12 @@ $His workout successes have @@.green;improved $his health.@@ <<set $slaves[$i].health += 5>> <</if>> - <<if $slaves[$i].weight > 10>> + <<if $slaves[$i].weight > 10 && $slaves[$i].weightDirection != 1>> $His workouts have also @@.orange;burned off some excess fat.@@ <<set $slaves[$i].weight -= 2>> + <<if $slaves[$i].weightDirection == -1>> + <<set $slaves[$i].weight -= 2>> + <</if>> <</if>> <</if>> <<case "cum production">> @@ -560,9 +584,12 @@ Despite some doubts lurking at the back of $his mind, your insistence that $he will be prettier if $he was more feminine @@.hotpink;lets $him enjoy@@ the estrogen rich food given to $him. <<set $slaves[$i].devotion += 1>> <</if>> - <<if $slaves[$i].weight < 30>> + <<if $slaves[$i].weight < 30 && $slaves[$i].weightDirection != -1>> Hormonal changes encourage $his body to @@.lime;grow softer.@@ <<set $slaves[$i].weight += 1>> + <<if $slaves[$i].weightDirection == 1>> + <<set $slaves[$i].weight += 2>> + <</if>> <</if>> <<if (($slaves[$i].geneMods.NCS == 0) && ($slaves[$i].boobs < 500*_gigantomastiaMod))>> $His breasts @@.lime;grow slightly@@ from the estrogen. @@ -599,9 +626,12 @@ Despite some doubts lurking at the back of $his mind, your insistence that $he will be prettier if $he was more fertile @@.hotpink;lets $him enjoy@@ the estrogen rich food given to $him. <<set $slaves[$i].devotion += 1>> <</if>> - <<if $slaves[$i].weight < 40>> + <<if $slaves[$i].weight < 40 && $slaves[$i].weightDirection != 1>> Hormonal changes encourage $his body to @@.lime;grow softer.@@ <<set $slaves[$i].weight += 1>> + <<if $slaves[$i].weightDirection == 1>> + <<set $slaves[$i].weight += 2>> + <</if>> <</if>> <<if (($slaves[$i].geneMods.NCS == 0) && ($slaves[$i].boobs < 600*_gigantomastiaMod))>> $His breasts @@.lime;grow slightly@@ from the estrogen. @@ -620,9 +650,12 @@ Despite some doubts lurking at the back of $his mind, your insistence that $he will be prettier if $he was more feminine @@.hotpink;lets $him enjoy@@ the estrogen rich food given to $him. <<set $slaves[$i].devotion += 1>> <</if>> - <<if $slaves[$i].weight < 20>> + <<if $slaves[$i].weight < 20 && $slaves[$i].weightDirection != 1>> Hormonal changes encourage $his body to @@.lime;grow softer.@@ <<set $slaves[$i].weight += 1>> + <<if $slaves[$i].weightDirection == 1>> + <<set $slaves[$i].weight += 2>> + <</if>> <</if>> <<if (($slaves[$i].geneMods.NCS == 0) && ($slaves[$i].boobs < 400*_gigantomastiaMod))>> $His breasts @@.lime;grow slightly@@ from the estrogen. @@ -758,9 +791,12 @@ Hormonal changes encourage $his body to @@.lime;gain muscle.@@ <<set $slaves[$i].muscles += 1>> <</if>> - <<if $slaves[$i].weight < 50>> + <<if $slaves[$i].weight < 50 && $slaves[$i].weightDirection != -1>> Hormonal changes encourage $his body to @@.lime;grow softer.@@ <<set $slaves[$i].weight += 1>> + <<if $slaves[$i].weightDirection == 1>> + <<set $slaves[$i].weight += 2>> + <</if>> <</if>> <<if (($slaves[$i].geneMods.NCS == 0) && ($slaves[$i].boobs < 800*_gigantomastiaMod))>> $His breasts @@.lime;grow slightly@@ to fit $his developing femininity. @@ -884,6 +920,19 @@ <</if>> <</if>> <</if>> +<<if !["fattening", "restricted", "slimming"].includes($slaves[$i].diet)>> + <<if $slaves[$i].weightDirection == -1 && $slaves[$i].weight >= -95>> + <<if $geneticMappingUpgrade >= 1>> + $His body @@.lime;aggressively burns fat@@ due to $his <<if $slaves[$i].geneticQuirks.wGain == 2 && $slaves[$i].geneticQuirks.wLoss == 2>>irregular leptin production<<else>>hypoleptinemia<</if>>. + <</if>> + <<set $slaves[$i].weight -= 3>> + <<elseif $slaves[$i].weightDirection == 1 && $slaves[$i].weight < 195>> + <<if $geneticMappingUpgrade >= 1>> + $His body @@.lime;aggressively stores fat@@ due to $his <<if $slaves[$i].geneticQuirks.wGain == 2 && $slaves[$i].geneticQuirks.wLoss == 2>>irregular leptin production<<else>>hyperleptinemia<</if>>. + <</if>> + <<set $slaves[$i].weight += 3>> + <</if>> +<</if>> <<if ($slaves[$i].dietCum > 0)>> <<if $slaves[$i].fetish != "mindbroken">> @@ -1029,7 +1078,13 @@ <<switch $slaves[$i].diet>> <<case "restricted">> /* Weight Loss */ The ports in Fuckdoll suits allow total dietary control, and $he's barely aware $he's being @@.lime;slimmed down.@@ - <<set $slaves[$i].weight -= 9>> + <<if $slaves[$i].weightDirection == -1>> + <<set $slaves[$i].weight -= 12>> + <<elseif $slaves[$i].weightDirection == 1>> + <<set $slaves[$i].weight -= 6>> + <<else>> + <<set $slaves[$i].weight -= 9>> + <</if>> <<if random(1,2) <= 1>> <<if random(1,2) <= 1 && _gigantomastiaMod != 3>> @@.orange;$His breasts get a little smaller.@@ @@ -1054,7 +1109,13 @@ <</if>> <<case "fattening">> /* Weight Gain */ The ports in Fuckdoll suits allow total dietary control, and $he's barely aware $he's being @@.lime;fattened up.@@ - <<set $slaves[$i].weight += 9>> + <<if $slaves[$i].weightDirection == 1>> + <<set $slaves[$i].weight += 12>> + <<elseif $slaves[$i].weightDirection == -1>> + <<set $slaves[$i].weight += 6>> + <<else>> + <<set $slaves[$i].weight += 9>> + <</if>> <<if random(1,2) <= 1>> @@.lime;$His breasts get a little bigger.@@ <<set $slaves[$i].boobs += 50>> @@ -1092,9 +1153,12 @@ <<set $slaves[$i].butt -= 1>> <</if>> <</if>> - <<if $slaves[$i].weight > 10>> + <<if $slaves[$i].weight > 10 && $slaves[$i].weightDirection != 1>> $His workouts have also @@.orange;burned off some excess fat.@@ <<set $slaves[$i].weight -= 2>> + <<if $slaves[$i].weightDirection == -1>> + <<set $slaves[$i].weight -= 2>> + <</if>> <</if>> The stress of forced exercise is trivial compared to everything else $he experiences, and $he's unaffected mentally. <<case "slimming">> /* Muscle Loss */ @@ -1122,9 +1186,12 @@ <<set $slaves[$i].butt -= 1>> <</if>> <</if>> - <<if $slaves[$i].weight > 10>> + <<if $slaves[$i].weight > 10 && $slaves[$i].weightDirection != 1>> $His workouts have also @@.orange;burned off some excess fat.@@ <<set $slaves[$i].weight -= 2>> + <<if $slaves[$i].weightDirection == -1>> + <<set $slaves[$i].weight -= 2>> + <</if>> <</if>> The stress of forced exercise is trivial compared to everything else $he experiences, and $he's unaffected mentally. @@ -1141,9 +1208,12 @@ <<case "XX">> /* Female Hormones */ The ports in Fuckdoll suits allow total dietary control, and $he's barely aware $he's being @@.lime;feminized.@@ <<if ($slaves[$i].ovaries == 1 || $slaves[$i].mpreg == 1) && ($slaves[$i].balls > 0)>> /* herm */ - <<if $slaves[$i].weight < 30>> + <<if $slaves[$i].weight < 30 && $slaves[$i].weightDirection != -1>> Hormonal changes encourage $his body to @@.lime;grow softer.@@ <<set $slaves[$i].weight += 1>> + <<if $slaves[$i].weightDirection == 1>> + <<set $slaves[$i].weight += 2>> + <</if>> <</if>> <<if (($slaves[$i].geneMods.NCS == 0) && (($slaves[$i].boobs-$slaves[$i].boobsImplant) < 500*_gigantomastiaMod))>> $His breasts @@.lime;grow slightly@@ from the estrogen. @@ -1166,9 +1236,12 @@ <<set $slaves[$i].balls -= 1>> <</if>> <<elseif $slaves[$i].ovaries == 1 || $slaves[$i].mpreg == 1>> /* female */ - <<if $slaves[$i].weight < 40>> + <<if $slaves[$i].weight < 40 && $slaves[$i].weightDirection != -1>> Hormonal changes encourage $his body to @@.lime;grow softer.@@ <<set $slaves[$i].weight += 1>> + <<if $slaves[$i].weightDirection == 1>> + <<set $slaves[$i].weight += 2>> + <</if>> <</if>> <<if (($slaves[$i].geneMods.NCS == 0) && (($slaves[$i].boobs-$slaves[$i].boobsImplant) < 600*_gigantomastiaMod))>> $His breasts @@.lime;grow slightly@@ from the estrogen. @@ -1183,9 +1256,12 @@ <<set $slaves[$i].butt += 1>> <</if>> <<elseif $slaves[$i].balls > 0>> /* male */ - <<if $slaves[$i].weight < 20>> + <<if $slaves[$i].weight < 20 && $slaves[$i].weightDirection != -1>> Hormonal changes encourage $his body to @@.lime;grow softer.@@ <<set $slaves[$i].weight += 1>> + <<if $slaves[$i].weightDirection == 1>> + <<set $slaves[$i].weight += 2>> + <</if>> <</if>> <<if (($slaves[$i].geneMods.NCS == 0) && (($slaves[$i].boobs-$slaves[$i].boobsImplant) < 600*_gigantomastiaMod))>> $His breasts @@.lime;grow slightly@@ from the estrogen. @@ -1272,9 +1348,12 @@ Hormonal changes encourage $his body to @@.lime;gain muscle.@@ <<set $slaves[$i].muscles += 1+$slaves[$i].geneticQuirks.mGain>> <</if>> - <<if $slaves[$i].weight < 50>> + <<if $slaves[$i].weight < 50 && $slaves[$i].weightDirection != -1>> Hormonal changes encourage $his body to @@.lime;grow softer.@@ - <<set $slaves[$i].weight += 1>> + <<set $slaves[$i].weight += 1>> + <<if $slaves[$i].weightDirection == 1>> + <<set $slaves[$i].weight += 2>> + <</if>> <</if>> <<if $slaves[$i].waist < 0>> Hormonal changes @@.orange;thicken $his waist.@@ @@ -1340,5 +1419,18 @@ <</if>> <</if>> <</if>> +<<if !["fattening", "restricted", "slimming"].includes($slaves[$i].diet)>> + <<if $slaves[$i].weightDirection == -1 && $slaves[$i].weight >= -95>> + <<if $geneticMappingUpgrade >= 1>> + $His body @@.lime;aggressively burns fat@@ due to $his <<if $slaves[$i].geneticQuirks.wGain == 2 && $slaves[$i].geneticQuirks.wLoss == 2>>irregular leptin production<<else>>hypoleptinemia<</if>>. + <</if>> + <<set $slaves[$i].weight -= 3>> + <<elseif $slaves[$i].weightDirection == 1 && $slaves[$i].weight < 195>> + <<if $geneticMappingUpgrade >= 1>> + $His body @@.lime;aggressively stores fat@@ due to $his <<if $slaves[$i].geneticQuirks.wGain == 2 && $slaves[$i].geneticQuirks.wLoss == 2>>irregular leptin production<<else>>hyperleptinemia<</if>>. + <</if>> + <<set $slaves[$i].weight += 3>> + <</if>> +<</if>> <</if>> /* CLOSES FUCKDOLL CHECK */ -- GitLab