From d2cb18857cb5e2ff4918723e04a64f85e4e0ea17 Mon Sep 17 00:00:00 2001
From: Pregmodder <pregmodder@gmail.com>
Date: Tue, 11 Apr 2017 17:52:58 -0400
Subject: [PATCH] Fix enemas and made hairlessness inheritable.

---
 src/pregmod/generateChild.tw                 | 42 +++++++++++++++++++-
 src/pregmod/slaveOnSlaveFeedingWorkAround.tw | 16 ++++----
 src/uncategorized/generateXXSlave.tw         |  2 +-
 src/uncategorized/generateXYSlave.tw         |  2 +-
 src/utility/slaveCreationWidgets.tw          |  2 +-
 5 files changed, 51 insertions(+), 13 deletions(-)

diff --git a/src/pregmod/generateChild.tw b/src/pregmod/generateChild.tw
index 1e6ac3efeeb..4ea7b636d3b 100644
--- a/src/pregmod/generateChild.tw
+++ b/src/pregmod/generateChild.tw
@@ -125,6 +125,16 @@
 		<</if>>
 		<<set $activeSlave.pubicHColor = $activeSlave.hColor>>
 		<<set $activeSlave.underArmHColor = $activeSlave.hColor>>
+		<<if $mergeDad.underArmHStyle == "hairless">>
+			<<if random(1,5) == 3>>
+				<<set $activeSlave.underArmHStyle = "hairless">>
+			<</if>>
+		<</if>>
+		<<if $mergeDad.pubicHStyle == "hairless">>
+			<<if random(1,5) == 3>>
+				<<set $activeSlave.pubicHStyle = "hairless">>
+			<</if>>
+		<</if>>
 		<<set $activeSlave.sexualFlaw = either("none", "none", "none", "none", "none", $mergeDad.sexualFlaw)>>
 		<<set $activeSlave.sexualQuirk = either("none", "none", "none", "none", "none", $mergeDad.sexualFlaw)>>
 		<<set $activeSlave.behavioralFlaw = either("none", "none", "none", "none", "none", $mergeDad.sexualFlaw)>>
@@ -232,6 +242,16 @@
 		<<else>>
 			<<set $activeSlave.hColor = either($PC.origHColor, $mergeDad.origHColor)>>
 		<</if>>
+		<<if $mergeDad.underArmHStyle == "hairless">>
+			<<if random(1,5) == 3>>
+				<<set $activeSlave.underArmHStyle = "hairless">>
+			<</if>>
+		<</if>>
+		<<if $mergeDad.pubicHStyle == "hairless">>
+			<<if random(1,5) == 3>>
+				<<set $activeSlave.pubicHStyle = "hairless">>
+			<</if>>
+		<</if>>
 		<<set $activeSlave.pubicHColor = $activeSlave.hColor>>
 		<<set $activeSlave.underArmHColor = $activeSlave.hColor>>
 		<<set $activeSlave.sexualFlaw = either("none", "none", "none", "none", "none", $mergeDad.sexualFlaw)>>
@@ -341,6 +361,20 @@
 	<<if $mom.pregSource == -2 || $mom.pregSource == 0>>
 		<<set $activeSlave.hColor = either($mergeMom.origHColor, "brown", "blonde", "black", "brown", "black", "brown", "black")>>
 	<</if>>
+	<<if $mergeDad.underArmHStyle == "hairless" && $mergemom.underArmHStyle == "hairless">>
+		<<set $activeSlave.underArmHStyle = "hairless">>
+	<<elseif $mergeDad.underArmHStyle == "hairless" || $mergemom.underArmHStyle == "hairless">>
+		<<if random(1,5) == 3>>
+			<<set $activeSlave.underArmHStyle = "hairless">>
+		<</if>>
+	<</if>>
+	<<if $mergeDad.pubicHStyle == "hairless" && $mergeMom.pubicHStyle == "hairless">>
+		<<set $activeSlave.pubicHStyle = "hairless">>
+	<<elseif $mergeDad.pubicHStyle == "hairless" || $mergeMom.pubicHStyle == "hairless">>
+		<<if random(1,5) == 3>>
+			<<set $activeSlave.pubicHStyle = "hairless">>
+		<</if>>
+	<</if>>
 	<<set $activeSlave.pubicHColor = $activeSlave.hColor>>
 	<<set $activeSlave.underArmHColor = $activeSlave.hColor>>
 	<<set $activeSlave.sexualFlaw = either($mergeMom.sexualFlaw, "none", "none", "none", "none", "none", $mergeDad.sexualFlaw)>>
@@ -496,8 +530,12 @@
 <<set $activeSlave.canRecruit = 0>>
 <<set $activeSlave.hStyle = "long">>
 <<set $activeSlave.hLength = 300>>
-<<set $activeSlave.pubicHStyle = either("bushy", "bushy", "bushy", "bushy", "bushy", "bushy", "hairless")>>
-<<set $activeSlave.underArmHStyle = either("bushy", "bushy", "bushy", "bushy", "bushy", "bushy", "hairless")>>
+<<if $activeSlave.pubicHStyle != "hairless">>
+	<<set $activeSlave.pubicHStyle = either("bushy", "bushy", "bushy", "bushy", "bushy", "bushy", "bushy", "bushy", "bushy", "bushy", "bushy", "bushy", "hairless")>>
+<</if>>
+<<if $activeSlave.underArmHStyle != "hairless">>
+	<<set $activeSlave.underArmHStyle = either("bushy", "bushy", "bushy", "bushy", "bushy", "bushy", "bushy", "bushy", "bushy", "bushy", "bushy", "bushy", "hairless")>>
+<</if>>
 <<set $activeSlave.origin = "Shortly after birth, she was sealed in an aging tank until she was of age. She knows nothing of the world outside of what the tank imprinted her with.">>
 <<set $activeSlave.career = "a slave since birth">>
 <<set $activeSlave.intelligenceImplant = 0>>
diff --git a/src/pregmod/slaveOnSlaveFeedingWorkAround.tw b/src/pregmod/slaveOnSlaveFeedingWorkAround.tw
index 4bcfd951f84..34a4378c4c2 100644
--- a/src/pregmod/slaveOnSlaveFeedingWorkAround.tw
+++ b/src/pregmod/slaveOnSlaveFeedingWorkAround.tw
@@ -4,20 +4,20 @@
 
 <<set $milkTap = 0, _descM = "milk", _descC = "cum", _eligibilityMilk2 = 0, _eligibilityMilk4 = 0, _eligibilityMilk8 = 0, _eligibilityCum2 = 0, _eligibilityCum4 = 0, _eligibilityCum8 = 0>>
 
-<<for $i = 0; $i < $slaves.length; $i++>> /* milk output */
-<<if $slaves[$i].lactation > 0>>
-	<<set $slaves[$i].milkOutput = 0>>
-	<<set _milk = milkAmount($slaves[$i])>>
+<<for _i = 0; _i < $slaves.length; _i++>> /* milk output */
+<<if $slaves[_i].lactation > 0>>
+	<<set $slaves[_i].milkOutput = 0>>
+	<<set _milk = milkAmount($slaves[_i])>>
 	<<set _milk = ($milk/14)>>
 	<<set _milk = Math.trunc(_milk)>>
-	<<set $slaves[$i].milkOutput = _milk>>
+	<<set $slaves[_i].milkOutput = _milk>>
 <<else>>
 	<<set _milk = 0>>
 <</if>>
 <</for>>
-<<for $i = 0; $i < $slaves.length; $i++>> /* cum output */
-<<if $slaves[$i].balls > 0 && $slaves[$i].dick > 0 && ($slaves[$i].dickAccessory != "chastity" || $slaves[$i].dickAccessory != "combined chastity")>>
-	<<set $slaves[$i].cumOutput = 0>>
+<<for _i = 0; _i < $slaves.length; _i++>> /* cum output */
+<<if $slaves[_i].balls > 0 && $slaves[_i].dick > 0 && ($slaves[_i].dickAccessory != "chastity" || $slaves[_i].dickAccessory != "combined chastity")>>
+	<<set $slaves[_i].cumOutput = 0>>
 	<<set _cum = cumAmount($slaves[_i])>>
 	<<set _cum = ($cum/7)>>
 	<<set _cum = ($cum/10)>>
diff --git a/src/uncategorized/generateXXSlave.tw b/src/uncategorized/generateXXSlave.tw
index f6899c9fe97..3870cf122f7 100644
--- a/src/uncategorized/generateXXSlave.tw
+++ b/src/uncategorized/generateXXSlave.tw
@@ -482,7 +482,7 @@
 <<set $activeSlave.pubicHStyle = either("hairless", "bald", "bald", "waxed", "waxed", "waxed", "waxed", "waxed", "waxed", "in a strip", "in a strip", "in a strip", "in a strip", "in a strip", "neat", "neat", "neat", "neat", "neat", "bushy in the front and neat in the rear", "bushy in the front and neat in the rear", "bushy in the front and neat in the rear", "bushy in the front and neat in the rear", "bushy", "bushy", "bushy", "bushy", "bushy")>>
 <<set $activeSlave.underArmHColor = $activeSlave.hColor>>
 <<set $activeSlave.underArmHStyle = either("hairless", "bald", "bald", "waxed", "waxed", "waxed", "waxed", "shaved", "shaved", "shaved", "shaved", "shaved", "neat", "neat", "neat", "neat", "neat", "bushy", "bushy", "bushy")>>
-<<if $activeSlave.pubicHStyle == "hairless" || $activeSlave.underArmHStyle == "hairless">>
+<<if ($activeSlave.pubicHStyle == "hairless" || $activeSlave.underArmHStyle == "hairless") && random(1,100) > 40>>
 	<<set $activeSlave.pubicHStyle = "hairless", $activeSlave.underArmHStyle = "hairless">>
 <</if>>
 <<set $seed = []>>
diff --git a/src/uncategorized/generateXYSlave.tw b/src/uncategorized/generateXYSlave.tw
index 7ab896a7f80..949f0b27e79 100644
--- a/src/uncategorized/generateXYSlave.tw
+++ b/src/uncategorized/generateXYSlave.tw
@@ -486,7 +486,7 @@
 <<set $activeSlave.pubicHStyle = either("hairless", "bald", "bald", "waxed", "waxed", "waxed", "waxed", "waxed", "waxed", "in a strip", "in a strip", "in a strip", "neat", "neat", "neat", "neat", "neat", "neat", "bushy in the front and neat in the rear", "bushy in the front and neat in the rear", "bushy in the front and neat in the rear", "bushy", "bushy", "bushy", "bushy", "bushy", "bushy")>>
 <<set $activeSlave.underArmHColor = $activeSlave.hColor>>
 <<set $activeSlave.underArmHStyle = either("hairless", "bald", "bald", "waxed", "waxed", "waxed", "waxed", "shaved", "shaved", "shaved", "shaved", "shaved", "neat", "neat", "neat", "neat", "neat", "neat", "neat", "bushy", "bushy", "bushy", "bushy", "bushy")>>
-<<if $activeSlave.pubicHStyle == "hairless" || $activeSlave.underArmHStyle == "hairless">>
+<<if ($activeSlave.pubicHStyle == "hairless" || $activeSlave.underArmHStyle == "hairless") && random(1,100) > 40>>
 	<<set $activeSlave.pubicHStyle = "hairless", $activeSlave.underArmHStyle = "hairless">>
 <</if>>
 <<set $seed = []>>
diff --git a/src/utility/slaveCreationWidgets.tw b/src/utility/slaveCreationWidgets.tw
index 1696533b412..bb40ebdcfda 100644
--- a/src/utility/slaveCreationWidgets.tw
+++ b/src/utility/slaveCreationWidgets.tw
@@ -6,7 +6,7 @@
 	Called from Gen XX, Gen XY, CheatMode DB, InitNationalities.
 %/
 <<widget "BaseSlave">>
-	<<set $activeSlave = {slaveName: "blank", birthName: "blank", genes: "XX", weekAcquired: 0, origin: 0, career: 0, ID: 0, prestige: 0, pornFame: 0, pornFameSpending: 0, prestigeDesc: 0, recruiter: 0, relation: 0, relationTarget: 0, relationship: 0, relationshipTarget: 0, rivalry: 0, rivalryTarget: 0, subTarget: 0, choosesOwnAssignment: 0, assignment: "rest", assignmentVisible: 1, sentence: 0, training: 0, toyHole: "all her holes", indenture: -1, indentureRestrictions: 0, birthWeek: random(0,51), actualAge: 18, visualAge: 18, physicalAge: 18, ageImplant: 0, health: 0, minorInjury: 0, trust: 0, oldTrust: 0, devotion: 0, oldDevotion: 0, weight: 0, muscles: 0, height: 170, heightImplant: 0, nationality: "slave", race: "white", markings: "none", eyes: 1, eyeColor: "brown", origEye: "brown", eyewear: "none", origHColor: "brown", hColor: "brown", pubicHColor: "brown", skin: "light", hLength: 60, hStyle: "short", pubicHStyle: "neat", waist: 0, corsetPiercing: 0, PLimb: 0, amp: 0, heels:0, voice: 2, voiceImplant: 0, accent: 0, shoulders: 0, shouldersImplant: 0, boobs: 0, boobsImplant: 0, boobsImplantType: 0, boobShape: "normal", nipples: "cute",  nipplesPiercing: 0, areolae: 0, areolaePiercing: 0, boobsTat: 0, lactation: 0, lactationAdaptation: 0, milk: 0, cum: 0, hips: 0, hipsImplant: 0, butt: 0, buttImplant: 0, buttImplantType: 0, buttTat: 0, face: 0, faceImplant: 0, faceShape: "normal", lips: 15, lipsImplant: 0, lipsPiercing: 0, lipsTat: 0, teeth: "normal", tonguePiercing: 0, vagina: 0, vaginaLube: 0, vaginaPiercing: 0, vaginaTat: 0, preg: -1, pregSource: 0, pregType: 0, labor: 0, births: 0, cSec: 0, bellyAccessory: "none", labia: 0, clit: 0, clitPiercing: 0, clitSetting: "vanilla", foreskin: 0, anus: 0, dick: 0, analArea: 1, dickPiercing: 0, dickTat: 0, prostate: 0, balls: 0, scrotum: 0, ovaries: 0, anusPiercing: 0, anusTat: 0, makeup: 0, nails: 0, brand: 0, brandLocation: 0, earPiercing: 0, nosePiercing: 0, eyebrowPiercing: 0, navelPiercing: 0, shouldersTat: 0, armsTat: 0, legsTat: 0, backTat: 0, stampTat: 0, vaginalSkill: 0, oralSkill: 0, analSkill: 0, whoreSkill: 0, entertainSkill: 0, combatSkill: 0, livingRules: "spare", speechRules: "restrictive", releaseRules:"restrictive", relationshipRules: "restrictive", standardPunishment: "situational", standardReward: "situational", useRulesAssistant: 1, diet: "healthy", dietCum: 0, dietMilk: 0, tired: 0, hormones: 0, drugs: "no drugs", curatives: 0, chem: 0, aphrodisiacs: 0, addict: 0, fuckdoll: 0, choosesOwnClothes: 0, clothes: "no clothing", collar: "none", shoes: "none", vaginalAccessory: "none", dickAccessory: "none", buttplug: "none", intelligence: 0, intelligenceImplant: 0, energy: 50, attrXX: 0, attrXY: 0, attrKnown: 0, fetish: "none", fetishStrength: 70, fetishKnown: 0, behavioralFlaw: "none", behavioralQuirk: "none", sexualFlaw: "none", sexualQuirk: "none", oralCount: 0, vaginalCount: 0, analCount: 0, mammaryCount: 0, penetrativeCount: 0, publicCount: 0, pitKills: 0, customTat: "", customLabel: "", customDesc: "", customImage: 0, currentRules: [], bellyTat: 0, induce: 0, mpreg: 0, inflation: 0, inflationType: 0, inflationMethod: 0, milkSource: 0, cumSource: 0, burst: 0, bellyImplant: 0, bellySag: 0, bellyPain: 0, cervixImplant: 0, birthsTotal: 0, pubertyAgeXX: 13, pubertyAgeXY: 13, scars: 0, breedingMark: 0, prostateImplant: 0, underArmHStyle: "waxed", bodySwap: 0, father: 0, mother: 0, daughters: 0, sisters: 0, canRecruit: 0, HGExclude: 0, ballType: "human", eggType: "human", reservedChildren: 0, choosesOwnChastity: 0, pregControl: "none", readyLimbs: [], ageAdjust: 0, bald: 0}>>
+	<<set $activeSlave = {slaveName: "blank", birthName: "blank", genes: "XX", weekAcquired: 0, origin: 0, career: 0, ID: 0, prestige: 0, pornFame: 0, pornFameSpending: 0, prestigeDesc: 0, recruiter: 0, relation: 0, relationTarget: 0, relationship: 0, relationshipTarget: 0, rivalry: 0, rivalryTarget: 0, subTarget: 0, choosesOwnAssignment: 0, assignment: "rest", assignmentVisible: 1, sentence: 0, training: 0, toyHole: "all her holes", indenture: -1, indentureRestrictions: 0, birthWeek: random(0,51), actualAge: 18, visualAge: 18, physicalAge: 18, ageImplant: 0, health: 0, minorInjury: 0, trust: 0, oldTrust: 0, devotion: 0, oldDevotion: 0, weight: 0, muscles: 0, height: 170, heightImplant: 0, nationality: "slave", race: "white", markings: "none", eyes: 1, eyeColor: "brown", origEye: "brown", eyewear: "none", origHColor: "brown", hColor: "brown", pubicHColor: "brown", skin: "light", hLength: 60, hStyle: "short", pubicHStyle: "neat", waist: 0, corsetPiercing: 0, PLimb: 0, amp: 0, heels:0, voice: 2, voiceImplant: 0, accent: 0, shoulders: 0, shouldersImplant: 0, boobs: 0, boobsImplant: 0, boobsImplantType: 0, boobShape: "normal", nipples: "cute",  nipplesPiercing: 0, areolae: 0, areolaePiercing: 0, boobsTat: 0, lactation: 0, lactationAdaptation: 0, milk: 0, cum: 0, hips: 0, hipsImplant: 0, butt: 0, buttImplant: 0, buttImplantType: 0, buttTat: 0, face: 0, faceImplant: 0, faceShape: "normal", lips: 15, lipsImplant: 0, lipsPiercing: 0, lipsTat: 0, teeth: "normal", tonguePiercing: 0, vagina: 0, vaginaLube: 0, vaginaPiercing: 0, vaginaTat: 0, preg: -1, pregSource: 0, pregType: 0, labor: 0, births: 0, cSec: 0, bellyAccessory: "none", labia: 0, clit: 0, clitPiercing: 0, clitSetting: "vanilla", foreskin: 0, anus: 0, dick: 0, analArea: 1, dickPiercing: 0, dickTat: 0, prostate: 0, balls: 0, scrotum: 0, ovaries: 0, anusPiercing: 0, anusTat: 0, makeup: 0, nails: 0, brand: 0, brandLocation: 0, earPiercing: 0, nosePiercing: 0, eyebrowPiercing: 0, navelPiercing: 0, shouldersTat: 0, armsTat: 0, legsTat: 0, backTat: 0, stampTat: 0, vaginalSkill: 0, oralSkill: 0, analSkill: 0, whoreSkill: 0, entertainSkill: 0, combatSkill: 0, livingRules: "spare", speechRules: "restrictive", releaseRules:"restrictive", relationshipRules: "restrictive", standardPunishment: "situational", standardReward: "situational", useRulesAssistant: 1, diet: "healthy", dietCum: 0, dietMilk: 0, tired: 0, hormones: 0, drugs: "no drugs", curatives: 0, chem: 0, aphrodisiacs: 0, addict: 0, fuckdoll: 0, choosesOwnClothes: 0, clothes: "no clothing", collar: "none", shoes: "none", vaginalAccessory: "none", dickAccessory: "none", buttplug: "none", intelligence: 0, intelligenceImplant: 0, energy: 50, attrXX: 0, attrXY: 0, attrKnown: 0, fetish: "none", fetishStrength: 70, fetishKnown: 0, behavioralFlaw: "none", behavioralQuirk: "none", sexualFlaw: "none", sexualQuirk: "none", oralCount: 0, vaginalCount: 0, analCount: 0, mammaryCount: 0, penetrativeCount: 0, publicCount: 0, pitKills: 0, customTat: "", customLabel: "", customDesc: "", customImage: 0, currentRules: [], bellyTat: 0, induce: 0, mpreg: 0, inflation: 0, inflationType: "none", inflationMethod: 0, milkSource: 0, cumSource: 0, burst: 0, bellyImplant: 0, bellySag: 0, bellyPain: 0, cervixImplant: 0, birthsTotal: 0, pubertyAgeXX: 13, pubertyAgeXY: 13, scars: 0, breedingMark: 0, prostateImplant: 0, underArmHStyle: "waxed", bodySwap: 0, father: 0, mother: 0, daughters: 0, sisters: 0, canRecruit: 0, HGExclude: 0, ballType: "human", eggType: "human", reservedChildren: 0, choosesOwnChastity: 0, pregControl: "none", readyLimbs: [], ageAdjust: 0, bald: 0}>>
 <</widget>>
 
 /%
-- 
GitLab