From 500600db5c47e8c0c2d8e40c55aa0335d5de0f2e Mon Sep 17 00:00:00 2001
From: Pregmodder <pregmodder@gmail.com>
Date: Mon, 12 Nov 2018 17:47:03 -0500
Subject: [PATCH] new genetics generation code and the adam principle

---
 src/events/intro/introSummary.tw            | 11 ++++++++
 src/init/storyInit.tw                       |  1 +
 src/pregmod/widgets/pregmodWidgets.tw       |  8 +++++-
 src/uncategorized/BackwardsCompatibility.tw | 30 +++++++++++++++++++++
 src/uncategorized/options.tw                | 13 +++++++--
 5 files changed, 60 insertions(+), 3 deletions(-)

diff --git a/src/events/intro/introSummary.tw b/src/events/intro/introSummary.tw
index 87171c041b5..ac5e0b35e03 100644
--- a/src/events/intro/introSummary.tw
+++ b/src/events/intro/introSummary.tw
@@ -410,6 +410,17 @@ Should children born in game strictly adhere to dick content settings?
 <<if $seeDicksAffectsPregnancy != 0>>[[No|Intro Summary][$seeDicksAffectsPregnancy = 0]]<<else>>No<</if>>
 | <<if $seeDicksAffectsPregnancy != 1>>[[Yes|Intro Summary][$seeDicksAffectsPregnancy = 1]]<<else>>Yes<</if>>
 
+<<if $seeDicksAffectsPregnancy == 0>>
+	<br>
+	<<if $adamPrinciple == 1>>
+		XX slaves only fathering daughters is ''enabled''.
+		[[Disable|Intro Summary][$adamPrinciple = 0]]
+	<<else>>
+		XX slaves only fathering daughters is ''disabled''.
+		[[Enable|Intro Summary][$adamPrinciple = 1]]
+	<</if>>
+<</if>>
+
 <br>
 <<if $seeHyperPreg == 1>>
 	Extreme pregnancy content like broodmothers is ''enabled''.
diff --git a/src/init/storyInit.tw b/src/init/storyInit.tw
index 0ee5a4f859a..46ef5479ced 100644
--- a/src/init/storyInit.tw
+++ b/src/init/storyInit.tw
@@ -206,6 +206,7 @@ You should have received a copy of the GNU General Public License along with thi
 	<<set $seeHyperPreg = 0>>
 	<<set $seePreg = 1>>
 	<<set $dangerousPregnancy = 0>>
+	<<set $adamPrinciple = 0>>
 	<<set $seeCircumcision = 1>>
 	<<set $seeAge = 1>>
 	<<set $seeDicks = 25>>
diff --git a/src/pregmod/widgets/pregmodWidgets.tw b/src/pregmod/widgets/pregmodWidgets.tw
index b0bfbacb983..efdc7c69a24 100644
--- a/src/pregmod/widgets/pregmodWidgets.tw
+++ b/src/pregmod/widgets/pregmodWidgets.tw
@@ -1,7 +1,7 @@
 :: pregmod widgets [nobr widget]
 
 <<widget "initPC">>
-	<<set $PC = {name: "Anonymous", surname: 0, title: 1, ID: -1, pronoun: "he", possessive: "him", object: "his", dick: 1, vagina: 0, preg: 0, pregType: 0, pregWeek: 0, pregKnown: 0, belly: 0, bellyPreg: 0, mpreg: 0, pregSource: 0, pregMood: 0, labor: 0, births: 0, boobsBonus: 0, degeneracy: 0, voiceImplant: 0, accent: 0, shoulders: 0, shouldersImplant: 0, boobs: 0, career: "capitalist", rumor: "wealth", birthWeek: random(0,51), age: 2, sexualEnergy: 4, refreshment: "cigar", refreshmentType: 0, trading: 0, warfare: 0, slaving: 0, engineering: 0, medicine: 0, hacking: 0, cumTap: 0, race: "white", origRace: "white", skin: "white", origSkin: "white", markings: "none", eyeColor: "blue", origEye: "blue", pupil: "circular", sclerae: "white", hColor: "blonde", origHColor: "blonde", nationality: "Stateless", father: 0, mother: 0, sisters: 0, daughters: 0, birthElite: 0, birthMaster: 0, birthDegenerate: 0, birthClient: 0, birthOther: 0, birthArcOwner: 0, birthCitizen: 0, birthSelf: 0, slavesFathered: 0, slavesKnockedUp: 0, intelligence: 100, face: 100, actualAge: 35, physicalAge: 35, visualAge: 35, boobsImplant: 0, butt: 0, buttImplant: 0, balls: 0, ballsImplant: 0, ageImplant: 0, newVag: 0, reservedChildren: 0, reservedChildrenNursery: 0, fertDrugs: 0, forcedFertDrugs: 0, staminaPills: 0, ovaryAge: 35, storedCum: 0}>>
+	<<set $PC = {name: "Anonymous", surname: 0, title: 1, ID: -1, pronoun: "he", possessive: "him", object: "his", dick: 1, vagina: 0, preg: 0, pregType: 0, pregWeek: 0, pregKnown: 0, belly: 0, bellyPreg: 0, mpreg: 0, pregSource: 0, pregMood: 0, labor: 0, births: 0, boobsBonus: 0, degeneracy: 0, voiceImplant: 0, accent: 0, shoulders: 0, shouldersImplant: 0, boobs: 0, career: "capitalist", rumor: "wealth", birthWeek: random(0,51), age: 2, sexualEnergy: 4, refreshment: "cigar", refreshmentType: 0, trading: 0, warfare: 0, slaving: 0, engineering: 0, medicine: 0, hacking: 0, cumTap: 0, race: "white", origRace: "white", skin: "white", origSkin: "white", markings: "none", eyeColor: "blue", origEye: "blue", pupil: "circular", sclerae: "white", hColor: "blonde", origHColor: "blonde", nationality: "Stateless", father: 0, mother: 0, sisters: 0, daughters: 0, birthElite: 0, birthMaster: 0, birthDegenerate: 0, birthClient: 0, birthOther: 0, birthArcOwner: 0, birthCitizen: 0, birthSelf: 0, slavesFathered: 0, slavesKnockedUp: 0, intelligence: 100, face: 100, actualAge: 35, physicalAge: 35, visualAge: 35, boobsImplant: 0, butt: 0, buttImplant: 0, balls: 0, ballsImplant: 0, ageImplant: 0, newVag: 0, reservedChildren: 0, reservedChildrenNursery: 0, fertDrugs: 0, forcedFertDrugs: 0, staminaPills: 0, ovaryAge: 35, storedCum: 0, behavioralFlaw: "none", behavioralQuirk: "none", sexualFlaw: "none", sexualQuirk: "none", fetish: "none", pubicHStyle: "hairless", underArmHStyle: "hairless"}>>
 
 	<<set WombInit($PC)>>
 
@@ -91,6 +91,12 @@
 		<<set $args[0].pubertyXY = 0>>
 	<</if>>
 <</if>>
+<<if ndef $args[0].genetics>>
+	<<set $args[0].genetics = {}>>
+<</if>>
+<<if ndef $args[0].geneticQuirks>>
+	<<set $args[0].geneticQuirks = {macromastia: 0, gigantomastia: 0, fertility: 0, hyperFertility: 0, gigantism: 0, dwarfism: 0, pFace: 0, uFace: 0, albinism: 0, rearLipedema: 0, wellHung: 0, wGain: 0, wLoss: 0, androgyny: 0}>>
+<</if>>
 <<if ndef $args[0].geneMods>>
 	<<set $args[0].geneMods = {NCS: 0, rapidCellGrowth: 0}>>
 <</if>>
diff --git a/src/uncategorized/BackwardsCompatibility.tw b/src/uncategorized/BackwardsCompatibility.tw
index a7259717352..b2519f53c56 100644
--- a/src/uncategorized/BackwardsCompatibility.tw
+++ b/src/uncategorized/BackwardsCompatibility.tw
@@ -330,6 +330,30 @@
 <<if $PC.boobsBonus == -0.5>>
 	<<set $PC.boobsBonus = -1>>
 <</if>>
+<<if ndef $PC.sclerae>>
+	<<set $PC.sclerae = "white">>
+<</if>>
+<<if ndef $PC.fetish>>
+	<<set $PC.fetish = "none">>
+<</if>>
+<<if ndef $PC.behavioralFlaw>>
+	<<set $PC.behavioralFlaw = "none">>
+<</if>>
+<<if ndef $PC.behavioralQuirk>>
+	<<set $PC.behavioralQuirk = "none">>
+<</if>>
+<<if ndef $PC.sexualFlaw>>
+	<<set $PC.sexualFlaw = "none">>
+<</if>>
+<<if ndef $PC.sexualQuirk>>
+	<<set $PC.sexualQuirk = "none">>
+<</if>>
+<<if ndef $PC.pubicHStyle>>
+	<<set $PC.pubicHStyle = "hairless">>
+<</if>>
+<<if ndef $PC.underArmHStyle>>
+	<<set $PC.underArmHStyle = "hairless">>
+<</if>>
 <<run PCDatatypeCleanup()>>
 
 <<if ndef $universalRulesImmobileSlavesMaintainMuscles>>
@@ -541,6 +565,9 @@
 <<if ndef $seePreg>>
 	<<set $seePreg = 1>>
 <</if>>
+<<if ndef $adamPrinciple>>
+	<<set $adamPrinciple = 0>>
+<</if>>
 <<if ndef $seeDicksAffectsPregnancy>>
 	<<set $seeDicksAffectsPregnancy = 1>>
 <</if>>
@@ -1007,6 +1034,9 @@
 <<if ndef $PGHack>>
 	<<set $PGHack = 0>>
 <</if>>
+<<if ndef $adamPrinciple>>
+	<<set $adamPrinciple = 0>>
+<</if>>
 <<if ndef $showInches>>
 	<<set $showInches = 0>>
 <</if>>
diff --git a/src/uncategorized/options.tw b/src/uncategorized/options.tw
index c557c684bf1..9a00108b42b 100644
--- a/src/uncategorized/options.tw
+++ b/src/uncategorized/options.tw
@@ -367,9 +367,18 @@ Pregnancy related content is currently @@.cyan;ENABLED@@. [[Disable|Options][$se
 
 <br>
 <<if ($seeDicksAffectsPregnancy == 1)>>
-At birth, children ''will'' be generated based off dick content settings. Currently <<print $seeDicks>>% of children will be born male. [[Disable|Options][$seeDicksAffectsPregnancy = 0]]
+Child gender ''will'' be generated based off dick content settings. Currently <<print $seeDicks>>% of children will be born male. [[Disable|Options][$seeDicksAffectsPregnancy = 0]]
 <<else>>
-At birth, children ''will not'' be generated based off dick content settings. [[Enable|Options][$seeDicksAffectsPregnancy = 1]]
+Child gender ''will not'' be generated based off dick content settings. [[Enable|Options][$seeDicksAffectsPregnancy = 1]]
+<</if>>
+
+<<if $seeDicksAffectsPregnancy == 0>>
+	<br>
+	<<if $adamPrinciple == 1>>
+		XX slaves ''can not'' have sons. [[Enable|Options][$adamPrinciple = 0]]
+	<<else>>
+		XX slaves ''can'' have sons. [[Disable|Options][$adamPrinciple = 0]]
+	<</if>> //Will not affect existing pregnancies already in-game.//
 <</if>>
 
 <br>
-- 
GitLab