diff --git a/src/events/intro/introSummary.tw b/src/events/intro/introSummary.tw
index 3174ef511f93bb9a373d20483f389ea7ae4903d2..870abc17f87a5109ecddda02da5eca724672ec99 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 81bdcd57fe19b82691a0989936e48f985974a491..d185f19c5e7d7d6c17669b698fa1e94cd42f1952 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,8 @@ DairyRestraintsSetting($dairyRestraintsSetting)
 <<set $showBestiality = 0>>
 <<set $retainCareer = 1>>
 <<set $freshPC = 0>>
+<<set $inbreeding = 1>>
+<<set $originOveride = 0>>
 
 <<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/commitStartingGirl.tw b/src/npc/startingGirls/commitStartingGirl.tw
index e58353382a87ac4def70e35e8bc776392fb864b0..88a91830316cea6e4e7ee6914230f4e25b862f00 100644
--- a/src/npc/startingGirls/commitStartingGirl.tw
+++ b/src/npc/startingGirls/commitStartingGirl.tw
@@ -12,6 +12,7 @@
 <<set $activeSlave.boobs = Math.trunc($activeSlave.boobs/50)*50>>
 
 <<set $careerBonusApplied = 0>>
+<<set $originOveride = 0>>
 
 <<if $cash < $minimumSlaveCost>><<goto "Acquisition">><</if>>
 
diff --git a/src/npc/startingGirls/moreCustomOptions.tw b/src/npc/startingGirls/moreCustomOptions.tw
index a0045aca30a1201ec1081125012112c99ee1ab0d..7ac21d6c72525a3b941c2cd9992af2f995b898c5 100644
--- a/src/npc/startingGirls/moreCustomOptions.tw
+++ b/src/npc/startingGirls/moreCustomOptions.tw
@@ -19,8 +19,13 @@
 ''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.//
+<<if $originOveride == 0>>
+	[[Origin Override|More customization options][$originOveride to 1]] //Will keep your custom origin from being overwritten.//
+<<else>>
+	[[Disable Override|More customization options][$originOveride to 0]] //Will unlock origin and allow slavegen to overwrite it.//
+<</if>>
 Custom description: <<textbox "$activeSlave.customDesc" $activeSlave.customDesc "More customization options">>
 &nbsp;&nbsp;&nbsp;&nbsp;//Use complete, capitalized and punctuated sentences.//
 Custom label: <<textbox "$activeSlave.customLabel" $activeSlave.customLabel "More customization options">>
diff --git a/src/npc/startingGirls/startingGirls.tw b/src/npc/startingGirls/startingGirls.tw
index a5f8ad95a6fcc69a6d6a6f8eb292503574c23c8b..7d981c9cfbbc78b5cffe5d27d43feda421c31920 100644
--- a/src/npc/startingGirls/startingGirls.tw
+++ b/src/npc/startingGirls/startingGirls.tw
@@ -139,6 +139,7 @@ __You are customizing this slave:__
 	<</if>>
 <</if>>
 /* this block makes starting girls actually apply the slave origins, mostly since it just hates you and everything you do */
+<<if $originOveride = 0>>
 	<<if $PC.career is "capitalist">>
 		<<if $activeSlave.mother == -1 && $activeSlave.father == -1>>
 			<<set $activeSlave.origin to "To solidify an investment in hermaphrodite self-fertility, you took part in a test successful test trial. Nine months later your daughter was born.">>
@@ -286,6 +287,7 @@ __You are customizing this slave:__
 		<<set $activeSlave.origin to "You won her at cards, a memento from your life as one of the idle rich before you became an arcology owner.">>
 		<<set $activeSlave.customTat to "She has the silhouette of an arcology tattooed on the nape of her neck.">>
 	<</if>>
+<</if>>
 	<<if $activeSlave.vagina < 1>>
 	<<set $activeSlave.vaginalSkill = 0>>
 	<</if>>
diff --git a/src/pregmod/extendedFamilyWidgets.tw b/src/pregmod/extendedFamilyWidgets.tw
index 666c45bac065d89caa5627681a6660dd41141986..98b4994f6bc76377d4074429334aa1635860a0a3 100644
--- a/src/pregmod/extendedFamilyWidgets.tw
+++ b/src/pregmod/extendedFamilyWidgets.tw
@@ -532,6 +532,7 @@
 	is @@color:lightgreen;_rel_desc _rel_type.@@
 <</if>>
 <</if>>
+<<set $children = []>> 
 
 /*testtest PC twin passages - determines how many twins you have but not implemented yet
 <<for $i to 0; $i < $slaves.length; $i++>>
diff --git a/src/pregmod/generateChild.tw b/src/pregmod/generateChild.tw
index d1684910f68778071460b9e0ea723f87c4f14568..ec38196c3d2dc033c28c428d95461a3f6047f671 100644
--- a/src/pregmod/generateChild.tw
+++ b/src/pregmod/generateChild.tw
@@ -253,16 +253,16 @@
 		<</if>>
 	<</if>>
 	<<set $activeSlave.mother = $mergeMom.ID>>
-	<<if $mergeMom.pregSource > 0>>
+	<<if $mom.pregSource > 0>>
 		<<set $activeSlave.father = $mergeDad.ID>>
-		<<set $activeSlave.slaveName = String($mergeMom.slaveName + " and " + $mergeDad.slaveName + "'s child")>>
-	<<elseif $mergeMom.pregSource == -1>>
+		<<set $activeSlave.slaveName = String($mom.slaveName + " and " + $mergeDad.slaveName + "'s child")>>
+	<<elseif $mom.pregSource == -1>>
 		<<set $activeSlave.father = -1>>
-		<<set $activeSlave.slaveName = String($mergeMom.slaveName + " and my child")>>
+		<<set $activeSlave.slaveName = String($mom.slaveName + " and my child")>>
 	<<else>>
 		<<set $activeSlave.father = $missingParentID>>
 		<<set $missingParentID-->>
-		<<set $activeSlave.slaveName = String($mergeMom.slaveName + "'s slut child")>>
+		<<set $activeSlave.slaveName = String($mom.slaveName + "'s slut child")>>
 	<</if>>
 	<<if $mergeMom.nationality == $mergeDad.nationality>>
 		<<set $activeSlave.nationality = $mergeDad.nationality>>
@@ -276,7 +276,7 @@
 	<<else>>
 		<<set $activeSlave.race = "mixed race">>
 	<</if>>
-	<<if $mergeMom.pregSource == -2 && $arcologies[0].FSSupremacist != "unset">>
+	<<if $mom.pregSource == -2 && $arcologies[0].FSSupremacist != "unset">>
 		<<set $activeSlave.race = either($mergeMom.race, $arcologies[0].FSSubjugationistRace, $arcologies[0].FSSubjugationistRace)>>
 		<<if $mergeMom.race != $arcologies[0].FSSubjugationistRace>>
 			<<if random(1,100) > 50>>
@@ -310,7 +310,7 @@
 	<<else>>
 		<<set $activeSlave.eyeColor = either($mergeMom.eyeColor, $mergeDad.eyeColor)>>
 	<</if>>
-	<<if $mergeMom.pregSource == -2 || $mergeMom.pregSource == 0>>
+	<<if $mom.pregSource == -2 || $mom.pregSource == 0>>
 		<<set $activeSlave.eyeColor = either($mergeMom.eyeColor, "brown", "blue", "brown", "green", "hazel", "green")>>
 	<</if>>
 	<<if $mergeMom.hColor == $mergeDad.hColor>>
@@ -338,8 +338,8 @@
 	<<else>>
 		<<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")>>
+	<<if $mom.pregSource == -2 || $mom.pregSource == 0>>
+		<<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,54 @@
 	<<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 $activeSlave.intelligence > -3 && random(1,100) < 30>>
+					<<set $activeSlave.intelligence -= 1>>
+				<</if>>
+			<</if>>
+		<</if>>
 	<</if>>
 <<else>>
 	<<if $mergeDad.face < $mergeMom.face>>
@@ -405,9 +436,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 +443,16 @@
 	<<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 $activeSlave.intelligence > -3 && random(1,100) < 60>>
+					<<set $activeSlave.intelligence -= 1>>
+				<</if>>
+		<</if>>
 	<</if>>
 <</if>>
 
@@ -455,7 +491,7 @@
 <<set $activeSlave.oralSkill = 0>>
 <<set $activeSlave.analSkill = 0>>
 <<set $activeSlave.vaginalSkill = 0>>
-<<set $activeSlave.accent = 3>>
+<<set $activeSlave.accent = 4>>
 <<set $activeSlave.canRecruit = 0>>
 <<set $activeSlave.hStyle = "long">>
 <<set $activeSlave.hLength = 300>>
diff --git a/src/pregmod/newChildIntro.tw b/src/pregmod/newChildIntro.tw
index dd6b673b515e935c81ca3e64dbe947e484c76fe3..c4bf132328f37333d05c5296dc775412e68e8fb5 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 b6ae51bf7f0fbb8978c85512250c5e993c1ec218..3a9139647e1d06be978716da448d73e2b8401481 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]>>
diff --git a/src/uncategorized/reRelativeRecruiter.tw b/src/uncategorized/reRelativeRecruiter.tw
index 2e3b2e95ee679321c3b8fe3451c42af4adc4ca7c..67e4f8d870396e75c3368deefb5256736fa378a9 100644
--- a/src/uncategorized/reRelativeRecruiter.tw
+++ b/src/uncategorized/reRelativeRecruiter.tw
@@ -10,6 +10,7 @@
 	<<set $newRelativeRecruitID = 1100000>>
 <</if>>
 
+
 <<for $i to 0; $i < $slaves.length; $i++>>
 	<<if $slaves[$i].fuckdoll == 0>>
 	<<if $slaves[$i].canRecruit == 1>>
@@ -29,38 +30,54 @@
 <</for>>
 
 <<set $recruitedType = []>>
-<<if $eventSlave.mother == 0 && $activeSlave.actualAge < 24>>
+<<if $eventSlave.mother == 0 && $activeSlave.actualAge < 24 && $seeDicks != 100>>>>
 	<<set $recruitedType.push("mother")>>
 	<<set $recruitedType.push("mother")>>
 	<<set $recruitedType.push("mother")>>
 <</if>>
-<<if $eventSlave.father == 0 && $activeSlave.actualAge < 24>>
+<<if $eventSlave.father == 0 && $activeSlave.actualAge < 24 && $seeDicks != 0>>
 	<<set $recruitedType.push("father")>>
 <</if>>
 <<if $eventSlave.daughters < 3 && $activeSlave.actualAge > ($minimumSlaveAge+$fertilityAge) && isFertile($activeSlave)>>
-	<<set $recruitedType.push("daughter")>>
-	<<set $recruitedType.push("daughter")>>
-	<<set $recruitedType.push("son")>>
+	<<if $seeDicks != 100>>
+		<<set $recruitedType.push("daughter")>>
+		<<set $recruitedType.push("daughter")>>
+	<</if>>
+	<<if $seeDicks != 0>>
+		<<set $recruitedType.push("son")>>
+	<</if>>
 	<<set $tempMF = "mother">>
 <</if>>
 <<if $eventSlave.daughters < 3 && $activeSlave.actualAge > ($minimumSlaveAge+$potencyAge) && $activeSlave.balls > 0>>
-	<<set $recruitedType.push("daughter")>>
-	<<set $recruitedType.push("daughter")>>
-	<<set $recruitedType.push("son")>>
+	<<if $seeDicks != 100>>
+		<<set $recruitedType.push("daughter")>>
+		<<set $recruitedType.push("daughter")>>
+	<</if>>
+	<<if $seeDicks != 0>>
+		<<set $recruitedType.push("son")>>
+	<</if>>
 	<<set $tempMF = "father">>
 <</if>>
 <<if $eventSlave.sisters < 3>>
 	<<if $activeSlave.actualAge <= ($retirementAge-5)>>
-		<<set $recruitedType.push("older sister")>>
-		<<set $recruitedType.push("older sister")>>
-		<<set $recruitedType.push("older brother")>>
-		<<set $recruitedType.push("older brother")>>
+		<<if $seeDicks != 100>>
+			<<set $recruitedType.push("older sister")>>
+			<<set $recruitedType.push("older sister")>>
+		<</if>>
+		<<if $seeDicks != 0>>
+			<<set $recruitedType.push("older brother")>>
+			<<set $recruitedType.push("older brother")>>
+		<</if>>
 	<</if>>
 	<<if $activeSlave.actualAge >= ($minimumSlaveAge+5)>>
-		<<set $recruitedType.push("younger sister")>>
-		<<set $recruitedType.push("younger sister")>>
-		<<set $recruitedType.push("younger brother")>>
-		<<set $recruitedType.push("younger brother")>>
+		<<if $seeDicks != 100>>
+			<<set $recruitedType.push("younger sister")>>
+			<<set $recruitedType.push("younger sister")>>
+		<</if>>
+		<<if $seeDicks != 0>>
+			<<set $recruitedType.push("younger brother")>>
+			<<set $recruitedType.push("younger brother")>>
+		<</if>>
 	<</if>>
 	<<set $recruitedType.push("twin")>>
 <</if>>
@@ -240,6 +257,7 @@ She waits anxiously for your decision.
 	<<set $activeSlave.voice = 1>>
 	<<set $activeSlave.energy = 0>>
 	<<set $activeSlave.penis = 2>>
+	<<set $activeSlave.vagina = -1>>
 	<<set $activeSlave.boobs = (random(5,6)*100)>>
 	<<set $activeSlave.butt = random(4,6)>>
 	<<set $activeSlave.actualAge = ($eventSlave.actualAge+random(15,20))>>
@@ -338,6 +356,7 @@ She waits anxiously for your decision.
 	<<set $activeSlave.entertainSkill += random(0,20)>>
 	<<set $activeSlave.whoreSkill += random(0,20)>>
 	<<set $activeSlave.anus = 0>>
+	<<set $activeSlave.vagina = -1>>
 	<<set $activeSlave.energy = 70>>
 	<<set $activeSlave.dickPiercing = 1>>
 	<<set $activeSlave.tounguePiercing = 1>>
@@ -359,6 +378,7 @@ She waits anxiously for your decision.
 	<<set $activeSlave.balls = 1>>
 	<<set $activeSlave.foreskin = 10>>
 	<<set $activeSlave.scrotum = 10>>
+	<<set $activeSlave.vagina = -1>>
 	<<set $activeSlave.anus = 3>>
 	<<set $activeSlave.makeup = 3>>
 	<<set $activeSlave.nails = 5>>
@@ -490,7 +510,7 @@ She waits anxiously for your decision.
 <<set $newRelativeRecruitID++>>
 
 <br><br>
-You look up the $activeSlave.relation. She costs ¤$slaveCost, a bargain, but you won't be able to inspect her beyond her likely resemblance to her
+You look up the $relationType. She costs ¤$slaveCost, a bargain, but you won't be able to inspect her beyond her likely resemblance to her
 <<switch $relationType>>
 <<case "daughter">>
 	mother. Her listing states that she was used as a prostitute by her previous owner.
@@ -692,7 +712,7 @@ You look up the $activeSlave.relation. She costs ¤$slaveCost, a bargain, but yo
 	<<AddSlave $activeSlave>>
 	<<SlaveTitle $eventSlave>>
 	<<replace "#result">>
-	You complete the legalities and biometric scanning quickly and without fuss. $activeSlave.slaveName arrives shortly. The two slaves remember each other only dimly - they parted a long time ago - but they embrace. The devoted $desc explains the situation and encourages her $activeSlave.relation to be a good slave to you. $activeSlave.slaveName looks a little fearful but clearly realizes that she's lucky to be here.
+	You complete the legalities and biometric scanning quickly and without fuss. $activeSlave.slaveName arrives shortly. The two slaves remember each other only dimly - they parted a long time ago - but they embrace. The devoted $desc explains the situation and encourages her $relationType to be a good slave to you. $activeSlave.slaveName looks a little fearful but clearly realizes that she's lucky to be here.
 	<<set $nextLink to "AS Dump">>
 	<<set $recruitedType = 0>>
 	<<set $relationType = 0>>
diff --git a/src/uncategorized/saLongTermEffects.tw b/src/uncategorized/saLongTermEffects.tw
index be54047a47dd9cc5a17cdbd9b627be903008cc3d..017534ee74343973e7a2fbbdffc3c746a18d67b1 100644
--- a/src/uncategorized/saLongTermEffects.tw
+++ b/src/uncategorized/saLongTermEffects.tw
@@ -5669,10 +5669,18 @@ and ($slaves[$i].clothes != "a slutty qipao") and ($slaves[$i].clothes != "restr
 	<<set $seed to 30>>
 <<elseif $slaves[$i].speechRules is "accent elimination">>
 	<<set $seed to 15>>
+<<elseif $slaves[$i].speechRules is "language lessons">>
+	<<set $seed to 10>>
 <<else>>
 	<<set $seed to 20>>
 <</if>>
-<<if $slaves[$i].accent >= 3>>
+<<if $slaves[$i].accent >= 4>>
+	<<if $week - $slaves[$i].weekAcquired > $seed - ($slaves[$i].intelligence*5) - 5>>
+		<<set $slaves[$i].accent -= 1>>
+		<<set $slaves[$i].speechRules = "accent elimination">>
+		She has managed to pick up enough $language that @@color:green;she can now barely get her point across.@@ Her accent is horrible, but it's a start.
+	<</if>>
+<<elseif $slaves[$i].accent >= 3>>
 	<<if $week - $slaves[$i].weekAcquired > $seed - ($slaves[$i].intelligence*5)>>
 		<<set $slaves[$i].accent -= 1>>
 		She has managed to pick up enough $language that @@color:green;she's now reasonably fluent in the language.@@ Her accent is quite heavy, but she can make herself understood.
diff --git a/src/uncategorized/saTakeClasses.tw b/src/uncategorized/saTakeClasses.tw
index 15ce46c9421f1335eb4ca441bdbeb189dc0a4d46..870a53e42421063bf18e0d785644a902b45411e4 100644
--- a/src/uncategorized/saTakeClasses.tw
+++ b/src/uncategorized/saTakeClasses.tw
@@ -149,12 +149,18 @@ takes courses in slavery<<if $schoolroomUpgradeSkills + $schoolroomUpgradeRemedi
 <<if $slaves[$i].voice != 0>>
 	<<if ($slaves[$i].intelligence > random(-4,4))>>
 	<<if ($schoolroomUpgradeLanguage == 0)>>
-		<<if ($slaves[$i].accent >= 3)>>
+		<<if ($slaves[$i].accent > 3)>>
+			She has @@color:green;learned some $language,@@ and can make her point with some gesturing, though she speaks $language horribly.
+			<<set $slaves[$i].accent -= 1>>
+		<<elseif ($slaves[$i].accent == 3)>>
 		She has @@color:green;learned functional $language,@@ and can make herself understood, though her $slaves[$i].nationality accent is still quite heavy.
-		<<set $slaves[$i].accent to 2>>
+		<<set $slaves[$i].accent -= 1>>
 		<</if>>
 	<<else>>
-		<<if ($slaves[$i].accent >= 2)>>
+		<<if ($slaves[$i].accent > 3)>>
+			She has @@color:green;learned some $language,@@ and can make her point with some gesturing, though she speaks $language horribly.
+			<<set $slaves[$i].accent -= 1>>
+		<<elseif ($slaves[$i].accent >= 2)>>
 		She has @@color:green;learned decent $language,@@ though she retains enough of her $slaves[$i].nationality accent to make her voice distinctly sexy.
 		<<set $slaves[$i].accent to 1>>
 		<</if>>
diff --git a/src/uncategorized/schoolroomReport.tw b/src/uncategorized/schoolroomReport.tw
index b6a905cf859dc767788c7628b9fd5faaf49ccf67..578624acbea6842b758bb0e6ae9db9b9c12eb299 100644
--- a/src/uncategorized/schoolroomReport.tw
+++ b/src/uncategorized/schoolroomReport.tw
@@ -152,8 +152,8 @@
 		<</if>>
 	<</if>>
 	<</for>>
-	<<if ($schoolroomSlaves < $schoolroomS)>>
-		<<set $seed to random(1,10)+(($schoolroomS-$schoolroomSlaves)*(random(150,170)+($idleBonus*10)))>>
+	<<if ($schoolroomSlaves < $schoolroom)>>
+		<<set $seed to random(1,10)+(($schoolroom-$schoolroomSlaves)*(random(150,170)+($idleBonus*10)))>>
 		<<set $cash += $seed>>
 		Since she doesn't have enough students to occupy all her time, $schoolroomName takes in citizens' slaves on a contract basis and she teaches them too, earning @@color:yellowgreen;¤$seed.@@
 	<</if>>
diff --git a/src/uncategorized/slaveInteract.tw b/src/uncategorized/slaveInteract.tw
index 7972c7eefe76a0a4d72bd2a48c1e91eab25ce182..2fbfe0afb914a1c73e06f6e9cfa9bf7ce5c1ebf8 100644
--- a/src/uncategorized/slaveInteract.tw
+++ b/src/uncategorized/slaveInteract.tw
@@ -280,7 +280,7 @@
 	<</if>>
 	<</if>>
 	<<if ($activeSlave.fetish != "mindbroken")>>
-	<<if ($activeSlave.amp != 1) || ($activeSlave.voice != 0)>>
+	<<if (($activeSlave.amp != 1) || ($activeSlave.voice != 0)) && $activeSlave.accent != 4>>
 	| <<click "Ask her about her feelings">><<replace "#miniscene">><<display "FFeelings">><br>&nbsp;&nbsp;&nbsp;&nbsp;<</replace>><</click>>
 	<</if>>
 	<</if>>
@@ -749,9 +749,9 @@ __Diet Base__: <strong><span id="dietBase"><<if $activeSlave.dietCum == 2>>Cum B
 	<<if $activeSlave.voice != 0>>
 	__Speech Rules__: ''<span id="speechRules">$activeSlave.speechRules</span>.''
 	<<if $activeSlave.speechRules is "restrictive">>
-		<<click "Permissive">><<set $activeSlave.speechRules to "permissive">><<replace "#speechRules">><<print $activeSlave.speechRules>><</replace>><</click>><<if $activeSlave.accent > 0>> | <<click "Accent elimination">><<set $activeSlave.speechRules to "accent elimination">><<replace "#speechRules">><<print $activeSlave.speechRules>><</replace>><</click>><</if>>
+		<<click "Permissive">><<set $activeSlave.speechRules to "permissive">><<replace "#speechRules">><<print $activeSlave.speechRules>><</replace>><</click>><<if $activeSlave.accent > 0 && $activeSlave.accent < 4>> | <<click "Accent elimination">><<set $activeSlave.speechRules to "accent elimination">><<replace "#speechRules">><<print $activeSlave.speechRules>><</replace>><</click>><</if>><<if $activeSlave.accent > 3>> | <<click "Language lessons">><<set $activeSlave.speechRules to "language lessons">><<replace "#speechRules">><<print $activeSlave.speechRules>><</replace>><</click>><</if>>
 	<<elseif $activeSlave.speechRules is "permissive">>
-		<<if $activeSlave.accent > 0>><<click "Accent elimination">><<set $activeSlave.speechRules to "accent elimination">><<replace "#speechRules">><<print $activeSlave.speechRules>><</replace>><</click>> | <</if>><<click "Restrictive">><<set $activeSlave.speechRules to "restrictive">><<replace "#speechRules">><<print $activeSlave.speechRules>><</replace>><</click>>
+		<<if $activeSlave.accent > 0 && $activeSlave.accent < 4>><<click "Accent elimination">><<set $activeSlave.speechRules to "accent elimination">><<replace "#speechRules">><<print $activeSlave.speechRules>><</replace>><</click>> | <</if>><<if $activeSlave.accent > 3>><<click "Language lessons">><<set $activeSlave.speechRules to "language lessons">><<replace "#speechRules">><<print $activeSlave.speechRules>><</replace>><</click>> | <</if>><<click "Restrictive">><<set $activeSlave.speechRules to "restrictive">><<replace "#speechRules">><<print $activeSlave.speechRules>><</replace>><</click>>
 	<<else>>
 		<<click "Permissive">><<set $activeSlave.speechRules to "permissive">><<replace "#speechRules">><<print $activeSlave.speechRules>><</replace>><</click>> | <<click "Restrictive">><<set $activeSlave.speechRules to "restrictive">><<replace "#speechRules">><<print $activeSlave.speechRules>><</replace>><</click>>
 	<</if>>
@@ -1059,6 +1059,8 @@ __Buttplug__: ''<span id="buttplug">$activeSlave.buttplug</span>.''
 <<if ($slaves.length > 1)>>
 	<<if $activeSlave.origin == "You bought her from a body dump, completely broken." && ($week-$activeSlave.weekAcquired <= 8)>>
 	//A discarded slave must be kept for at least two months to unsure health before being sold.//
+	<<elseif $activeSlave.accent > 3>>
+	//Her lack of language and basic life skills is a red sign to most slave appraisers. She must not act like a child to be sold without raising suspicion.//
 	<<else>>
 	[[Sell her|Sell Slave][$cash -= 500]] //Listing her for sale will cost ¤500// |
 	<<if ($seeAge != 0)>>
diff --git a/src/uncategorized/slaveSummary.tw b/src/uncategorized/slaveSummary.tw
index a60d995762d97ebe14ecc2168a9ab7f6f328ddf1..3dbe00fe1931fe6c74f38de14eb83ea574adf7ec 100644
--- a/src/uncategorized/slaveSummary.tw
+++ b/src/uncategorized/slaveSummary.tw
@@ -694,6 +694,8 @@ will
 	''SpR:P''
 <<case "accent elimination">>
 	''SpR:NoAcc''
+<<case "language lessons">>
+	''SpR:LL''
 <<default>>
 	''SpR:R''
 <</switch>>
@@ -1590,6 +1592,8 @@ Release rules: _Slave.releaseRules.
 		@@color:red;Acc--@@
 	<<elseif _Slave.accent is 2>>
 		Acc-
+	<<elseif _Slave.accent is 4>>
+		Acc--
 	<<elseif _Slave.accent == 1>>
 		@@color:pink;Acc@@
 	<</if>>
@@ -1807,6 +1811,8 @@ _Slave.faceShape face.
 <<else>>
 <<if _Slave.accent is 3>>
 	@@color:red;Bad accent.@@
+<<elseif _Slave.accent is 4>>
+	@@color:red;No language skills.@@
 <<elseif _Slave.accent is 2>>
 	Accent.
 <<elseif _Slave.accent == 1>>
diff --git a/src/utility/assayWidgets.tw b/src/utility/assayWidgets.tw
index d53f5ffa782a6826d5379636e07f9a5f9e59e09d..4d49cfa76b6bdc0aef84c56f15da6960f25e9aff 100644
--- a/src/utility/assayWidgets.tw
+++ b/src/utility/assayWidgets.tw
@@ -627,7 +627,7 @@
 <<if canTalk($args[0]) == false>>
 	<<set $beauty -= 2>>
 <<else>>
-	<<if ($args[0].accent is 3)>>
+	<<if ($args[0].accent >= 3)>>
 	<<set $beauty -= 1>>
 	<<elseif ($args[0].accent == 1)>>
 	<<set $beauty += 1>>