From acd8f4a9307b225fe09e64a3fb1385601a8aeec3 Mon Sep 17 00:00:00 2001
From: Pregmodder <pregmodder@gmail.com>
Date: Fri, 10 Mar 2017 23:12:20 -0500
Subject: [PATCH] Naming updates and hard setting settings.

---
 src/events/intro/introSummary.tw           | 10 ++++
 src/init/storyInit.tw                      |  4 ++
 src/npc/startingGirls/moreCustomOptions.tw |  2 +-
 src/pregmod/generateChild.tw               | 64 ++++++++++++++------
 src/pregmod/newChildIntro.tw               | 69 +++++++++++++++++++++-
 src/uncategorized/main.tw                  | 31 +---------
 6 files changed, 132 insertions(+), 48 deletions(-)

diff --git a/src/events/intro/introSummary.tw b/src/events/intro/introSummary.tw
index 3174ef511f9..870abc17f87 100644
--- a/src/events/intro/introSummary.tw
+++ b/src/events/intro/introSummary.tw
@@ -274,6 +274,16 @@ Girls will not be able to impregnate others if their age is under <<textbox "$po
 	[[Enable extended families|Intro Summary][$familyTesting to 1]]
 <</if>> //Extended family mode must be on for the incubation facility to be enabled.//
 
+<<if $familyTesting == 1>>
+<<if $inbreeding  == 1>>
+	Successive breeding ''will'' result in sub-average slaves.
+	[[Disable inbreeding|Intro Summary][$inbreeding to 0]]
+<<else>>
+	Successive breeding ''will not'' result in sub-average slaves.
+	[[Enable inbreeding|Intro Summary][$inbreeding to 1]]
+<</if>>
+<</if>>
+
 <br>
 
 <<if $verboseDescriptions == 1>>
diff --git a/src/init/storyInit.tw b/src/init/storyInit.tw
index 81bdcd57fe1..01d7011b810 100644
--- a/src/init/storyInit.tw
+++ b/src/init/storyInit.tw
@@ -529,6 +529,9 @@ DairyRestraintsSetting($dairyRestraintsSetting)
 <<set $incubatorUpgradeWeight = 0>>
 <<set $incubatorUpgradeMuscles = 0>>
 <<set $incubatorUpgradeReproduction = 0>>
+<<set $incubatorWeightSetting = 0>>
+<<set $incubatorMusclesSetting = 0>>
+<<set $incubatorReproductionSetting = 0>>
 <<set $incubatorName = "the Incubator">>
 <<set $incubatorNameCaps = "The Incubator">>
 <<set $reservedChildren = 0>>
@@ -730,6 +733,7 @@ DairyRestraintsSetting($dairyRestraintsSetting)
 <<set $showBestiality = 0>>
 <<set $retainCareer = 1>>
 <<set $freshPC = 0>>
+<<set $inbreeding = 1>>
 
 <<set $fakeBellies to ["a small empathy belly", "a medium empathy belly", "a large empathy belly", "a huge empathy belly"]>> /* lets fake bellies be separated from other .bellyAccessory */
 
diff --git a/src/npc/startingGirls/moreCustomOptions.tw b/src/npc/startingGirls/moreCustomOptions.tw
index a0045aca30a..07fca4642eb 100644
--- a/src/npc/startingGirls/moreCustomOptions.tw
+++ b/src/npc/startingGirls/moreCustomOptions.tw
@@ -19,7 +19,7 @@
 ''Eye color:'' <<textbox "$activeSlave.eyeColor" $activeSlave.eyeColor "More customization options">>
 Custom tattoo: <<textbox "$activeSlave.customTat" $activeSlave.customTat "More customization options">>
 &nbsp;&nbsp;&nbsp;&nbsp;//Use complete, capitalized and punctuated sentences//
-Custom origin story: <<textbox "$activeSlave.origin" $activeSlave.origin "Add custom descriptors">>
+Custom origin story: <<textbox "$activeSlave.origin" $activeSlave.origin "More customization options">>
 &nbsp;&nbsp;&nbsp;&nbsp;//For best results, use complete, capitalized and punctuated sentences.//
 Custom description: <<textbox "$activeSlave.customDesc" $activeSlave.customDesc "More customization options">>
 &nbsp;&nbsp;&nbsp;&nbsp;//Use complete, capitalized and punctuated sentences.//
diff --git a/src/pregmod/generateChild.tw b/src/pregmod/generateChild.tw
index d1684910f68..9e7ee97bb99 100644
--- a/src/pregmod/generateChild.tw
+++ b/src/pregmod/generateChild.tw
@@ -339,7 +339,7 @@
 		<<set $activeSlave.hColor = either($mergeMom.hColor, $mergeDad.hColor)>>
 	<</if>>
 	<<if $mergeMom.pregSource == -2 || $mergeMom.pregSource == 0>>
-		<<set $activeSlave.hColor = either($mergeMom.hColor, "brown", "blonde", "black", "brown")>>
+		<<set $activeSlave.hColor = either($mergeMom.hColor, "brown", "blonde", "black", "brown", "black", "brown", "black")>>
 	<</if>>
 	<<set $activeSlave.pubicHColor = $activeSlave.hColor>>
 	<<set $activeSlave.underArmHColor = $activeSlave.hColor>>
@@ -379,23 +379,51 @@
 	<<set $activeSlave.face = either(2, 2, 2, 3)>>
 	<<set $activeSlave.intelligence = either(2, 2, 2, 2, 3, 3)>>
 <<elseif $activeSlave.mother == -1>>
-	<<set $activeSlave.face = either(1, 2, 2, 2, 3)>>
-	<<set $activeSlave.intelligence = either(1, 2, 2, 2, 2, 3, 3)>>
+	<<if $PC.pregSource > 0>>
+		<<if $mergeDad.face < $PC.face>>
+			<<set $activeSlave.face to random($mergeDad.face, $PC.face)>>
+		<<else>>
+			<<set $activeSlave.face to $PC.face>>
+		<</if>>
+		<<if $activeSlave.face < 2>>
+			<<set $activeSlave.face += 1>>
+		<</if>>
+		<<if $mergeDad.intelligence < $PC.intelligence>>
+			<<set $activeSlave.intelligence to random($mergeDad.intelligence, $PC.intelligence)>>
+		<<else>>
+			<<set $activeSlave.intelligence to $mergeMom.intelligence>>
+		<</if>>
+		<<if $activeSlave.intelligence < 2>>
+			<<set $activeSlave.intelligence += 1>>
+		<</if>>
+	<<else>>
+		<<set $activeSlave.face = either(1, 2, 2, 2, 3)>>
+		<<set $activeSlave.intelligence = either(1, 2, 2, 2, 2, 3, 3)>>
+	<</if>>
 <<elseif $activeSlave.father == -1 && $mom > 0>>
 	<<if $mom.breedingMark == 1>>
 		<<set $activeSlave.face = either(2, 2, 2, 3)>>
 		<<set $activeSlave.intelligence = either(2, 2, 2, 2, 3, 3)>>
 		<<set $activeSlave.breedingMark = 1>>
 	<<else>>
-		<<set $activeSlave.face = either(1, 2, 2, 2, 3)>>
-		<<set $activeSlave.intelligence = either(1, 2, 2, 2, 2, 3, 3)>>
-	<</if>>
-<<elseif $activeSlave.father == -1>>
-	<<if $activeSlave.face < 2>>
-		<<set $activeSlave.face += 1>>
-	<</if>>
-	<<if $activeSlave.intelligence < 2>>
-		<<set $activeSlave.intelligence += 1>>
+		<<if $PC.face > $mergeMom.face>>
+			<<set $activeSlave.face to random($mergeMom.face, $PC.face)>>
+		<<else>>
+			<<set $activeSlave.face to $mergeMom.face>>
+		<</if>>
+		<<if $PC.intelligence > $mergeMom.intelligence>>
+			<<set $activeSlave.intelligence to random($mergeMom.intelligence, $PC.intelligence)>>
+		<<else>>
+			<<set $activeSlave.intelligence to $mergeMom.intelligence>>
+		<</if>>
+		<<if $inbreeding == 1>>
+			<<if $activeSlave.face > -3 && random(1,100) < 60>>
+				<<set $activeSlave.face -= 1>>
+			<</if>>
+			<<if $activeSlave.intelligence > -3 && random(1,100) < 60>>
+				<<set $activeSlave.intelligence -= 1>>
+			<</if>>
+		<</if>>
 	<</if>>
 <<else>>
 	<<if $mergeDad.face < $mergeMom.face>>
@@ -405,9 +433,6 @@
 	<<else>>
 		<<set $activeSlave.face to $mergeMom.face>>
 	<</if>>
-	<<if $activeSlave.face > -3 && random(1,100) < 90>>
-		<<set $activeSlave.face -= 1>>
-	<</if>>
 	<<if $mergeDad.intelligence < $mergeMom.intelligence>>
 		<<set $activeSlave.intelligence to random($mergeDad.intelligence, $mergeMom.intelligence)>>
 	<<elseif $mergeDad.intelligence > $mergeMom.intelligence>>
@@ -415,8 +440,13 @@
 	<<else>>
 		<<set $activeSlave.intelligence to $mergeMom.intelligence>>
 	<</if>>
-	<<if $activeSlave.intelligence > -3 && random(1,100) < 90>>
-		<<set $activeSlave.intelligence -= 1>>
+	<<if $inbreeding == 1>>
+		<<if $activeSlave.face > -3 && random(1,100) < 90>>
+			<<set $activeSlave.face -= 1>>
+		<</if>>
+		<<if $activeSlave.intelligence > -3 && random(1,100) < 90>>
+			<<set $activeSlave.intelligence -= 1>>
+		<</if>>
 	<</if>>
 <</if>>
 
diff --git a/src/pregmod/newChildIntro.tw b/src/pregmod/newChildIntro.tw
index dd6b673b515..c4bf132328f 100644
--- a/src/pregmod/newChildIntro.tw
+++ b/src/pregmod/newChildIntro.tw
@@ -50,13 +50,78 @@ You completed the legalities before heading to $incubatorName, knowing the tank
 <br><<click "Have your PA assign her a random name">>
 	<<replace "#naming">>
 		<<NationalityToName $activeSlave>>
-		<<set $activeSlave.birthName = $activeSlave.slaveName>>
 		$assistantName registers the new girl as "<<print $activeSlave.slaveName>>" in your registry.
 	<</replace>>
 	<<replace "#newName">>
 		''__@@color:pink;$activeSlave.slaveName@@__''
 	<</replace>>
 <</click>>
+<<if $arcologies[0].FSPastoralist != "unset">>
+	<<if $activeSlave.lactation > 0>>
+		<br><<click "Have your PA assign her a random cow name">>
+		<<replace "#naming">>
+		<<set $activeSlave.slaveName to $cowSlaveNames.random()>>
+		$assistantName registers the new girl as "<<print $activeSlave.slaveName>>" in your registry.
+		<</replace>>
+		<<replace "#newName">>
+			''__@@color:pink;$activeSlave.slaveName@@__''
+		<</replace>>
+		<</click>>
+	<</if>>
+<</if>>
+<<if $arcologies[0].FSChattelReligionist != "unset">>
+    <br><<click "Have your PA assign her a random devotional name">>
+		<<replace "#naming">>
+		<<set $activeSlave.slaveName to $chattelReligionistSlaveNames.random()>>
+		$assistantName registers the new girl as "<<print $activeSlave.slaveName>>" in your registry.
+		<</replace>>
+		<<replace "#newName">>
+			''__@@color:pink;$activeSlave.slaveName@@__''
+		<</replace>>
+	<</click>>
+<</if>>
+<<if $arcologies[0].FSRomanRevivalist != "unset">>
+    <br><<click "Have your PA assign her a random Roman name">>
+		<<replace "#naming">>
+		<<set $activeSlave.slaveName to $romanSlaveNames.random()>>
+		$assistantName registers the new girl as "<<print $activeSlave.slaveName>>" in your registry.
+		<</replace>>
+		<<replace "#newName">>
+			''__@@color:pink;$activeSlave.slaveName@@__''
+		<</replace>>
+	<</click>>
+<<elseif $arcologies[0].FSEgyptianRevivalist != "unset">>
+    <br><<click "Have your PA assign her a random ancient Egyptian name">>
+		<<replace "#naming">>
+		<<set $activeSlave.slaveName to $ancientEgyptianSlaveNames.random()>>
+		$assistantName registers the new girl as "<<print $activeSlave.slaveName>>" in your registry.
+		<</replace>>
+		<<replace "#newName">>
+			''__@@color:pink;$activeSlave.slaveName@@__''
+		<</replace>>
+	<</click>>
+<<elseif $arcologies[0].FSEdoRevivalist != "unset">>
+	<br><<click "Have your PA assign her a random feudal Japanese name">>
+		<<replace "#naming">>
+		<<set $activeSlave.slaveName to $edoSlaveNames.random()>>
+		$assistantName registers the new girl as "<<print $activeSlave.slaveName>>" in your registry.
+		<</replace>>
+		<<replace "#newName">>
+			''__@@color:pink;$activeSlave.slaveName@@__''
+		<</replace>>
+	<</click>>
+<</if>>
+<<if $arcologies[0].FSDegradationist != "unset">>
+    <br><<click "Have your PA assign her a degrading name">>
+		<<replace "#naming">>
+		<<display "Degrading Name">>
+		$assistantName registers the new girl as "<<print $activeSlave.slaveName>>" in your registry.
+		<</replace>>
+		<<replace "#newName">>
+			''__@@color:pink;$activeSlave.slaveName@@__''
+		<</replace>>
+	<</click>>
+<</if>>
 <<if $activeSlave.mother > 0>>
 	<<for _j to 0; _j < $slaves.length; _j++>>
 		<<if $activeSlave.mother == $slaves[_j].ID>>
@@ -182,7 +247,7 @@ You completed the legalities before heading to $incubatorName, knowing the tank
 	<</for>>
 <</if>>
 </span>
-
+<<set $activeSlave.birthName = $activeSlave.slaveName>>
 <br><br>
 
 <span id="newName">''__@@color:pink;$activeSlave.slaveName@@__''</span> now stands before your desk
diff --git a/src/uncategorized/main.tw b/src/uncategorized/main.tw
index b6ae51bf7f0..3a9139647e1 100644
--- a/src/uncategorized/main.tw
+++ b/src/uncategorized/main.tw
@@ -13,20 +13,8 @@
 <<if ndef $defaultRules>>
 	<<display "Init Rules">>
 <</if>>
-<<if ndef $incubator>>
-	<<set $incubator = 0>>
-<</if>>
-<<if ndef $incubatorUpgradeSpeed>>
-	<<set $incubatorUpgradeSpeed = 5>>
-<</if>>
-<<if ndef $incubatorUpgradeWeight>>
-	<<set $incubatorUpgradeWeight = 0>>
-<</if>>
-<<if ndef $incubatorUpgradeMuscles>>
-	<<set $incubatorUpgradeMuscles = 0>>
-<</if>>
-<<if ndef $incubatorUpgradeReproduction>>
-	<<set $incubatorUpgradeReproduction = 0>>
+<<if ndef $inbreeding>>
+	<<set $inbreeding = 1>>
 <</if>>
 <<if ndef $incubatorWeightSetting>>
 	<<set $incubatorWeightSetting = 0>>
@@ -35,20 +23,7 @@
 	<<set $incubatorMusclesSetting = 0>>
 <</if>>
 <<if ndef $incubatorReproductionSetting>>
-	<<set $incubatorReproductionSetting = 0>>
-<</if>>
-<<if ndef $reservedChildren>>
-	<<set $reservedChildren = 0>>
-<</if>>
-<<if ndef $tanks>>
-	<<set $tanks = []>>
-	<<set $tanks = [0]>>
-<</if>>
-<<if ndef $animalParts>>
-	<<set $animalParts = 0>>
-<</if>>
-<<if ndef $genePool>>
-	<<set $genePool = []>>
+ 	<<set $incubatorReproductionSetting = 0>>
 <</if>>
 
 <<set $currentRule to $defaultRules[0]>>
-- 
GitLab