diff --git a/src/config/start.tw b/src/config/start.tw
index 6c9c518d4b8a4f41b14efcf838fcbdbb4fdce7ec..7168173c20596d6fb0acb38a41d2cd0965932c21 100644
--- a/src/config/start.tw
+++ b/src/config/start.tw
@@ -80,6 +80,7 @@ src\pregmod\fSelf.tw
 src\pregmod\fSlaveFeed.tw
 src\pregmod\fillUpButt.tw
 src\pregmod\fillUpFace.tw
+src\pregmod\generateChild.tw
 src\pregmod\huskSlave.tw
 src\pregmod\incubator.tw
 src\pregmod\incubatorReport.tw
diff --git a/src/gui/Encyclopedia/encyclopedia.tw b/src/gui/Encyclopedia/encyclopedia.tw
index cf5868585ef5f7c7944ec04cb3b4593a72a1cd32..7896615d8d266a3bf1d0ce080ad49effb272529d 100644
--- a/src/gui/Encyclopedia/encyclopedia.tw
+++ b/src/gui/Encyclopedia/encyclopedia.tw
@@ -926,6 +926,7 @@ __I do not give credit without explicit permission to do so.__ If you have contr
 ''anon'' for grorious nihon starting rocation.
 ''anon'' for player getting fucked work.
 ''anon'' for additional bodyguard weapons.
+''anon'' for HGExclusion and animal pregnancy work.
 ''Bane70'' optimized huge swaths of code with notable professionalism.
 ''Circle Tritagonist'' provided several new collars and outfits.
 ''Qotsafan'' submitted bugfixes.
diff --git a/src/npc/rgASDump.tw b/src/npc/rgASDump.tw
index 9dc2062fa0a8c39ca23b44adb14dee86c234b9ae..9d8513936be5c7089c9e11bc74817e9127391017 100644
--- a/src/npc/rgASDump.tw
+++ b/src/npc/rgASDump.tw
@@ -13,6 +13,8 @@
 
 <<display "Checkin Checks">>
 
+<<set $genePool.push($activeSlave)>>
+
 /* RECRUITERS */
 
 <<if $familyTesting == 1>>
diff --git a/src/pregmod/generateChild.tw b/src/pregmod/generateChild.tw
new file mode 100644
index 0000000000000000000000000000000000000000..b597769d47c1d88cc150458c4f990be49ef8967e
--- /dev/null
+++ b/src/pregmod/generateChild.tw
@@ -0,0 +1,12 @@
+:: generateChild
+
+<<if $babyGender == 1>>
+	<<if $PC.pregSource < 1>>
+	<<else>>
+	<</if>>
+<<elseif $babyGender == 2>>
+	<<if $PC.pregSource < 1>>
+	<<else>>
+	<</if>>
+<<else>>
+<</if>>
\ No newline at end of file
diff --git a/src/pregmod/pRaped.tw b/src/pregmod/pRaped.tw
index 3eacc1c26bf475306e95d84ffca73a7ca44afdeb..74046543858f54bfaacc989677a18582c4528580 100644
--- a/src/pregmod/pRaped.tw
+++ b/src/pregmod/pRaped.tw
@@ -188,6 +188,7 @@ Now the only question is what to do with the would be rapist. You could toss the
 			<<AutoRulesActivate 1>>
 		<</if>>
 		<<set $slaves.push($activeSlave)>>
+		<<set $genePool.push($activeSlave)>>
 		<<set $cash -= $contractCost>>
 		<<replace "#result">>
 			You complete the legalities and biometric scanning quickly and cautiously. The idiot will wake up <<if $dairyStimulatorsSetting > 1>>in agony as her anus takes the rectal hydration dildo<<else>>to find her chest has begun swelling with milk<</if>>.
@@ -219,6 +220,7 @@ Now the only question is what to do with the would be rapist. You could toss the
 		<<if ($universalRulesNewSlavesRA == 1) && ($autoRulesAssistant != 0)>>	
 			<<AutoRulesActivate 1>>
 		<</if>>
+		<<set $genePool.push($activeSlave)>>
 		<<set $slaves.push($activeSlave)>>
 		<<set $cash -= $contractCost>>
 		<<replace "#result">>
diff --git a/src/pregmod/sePlayerBirth.tw b/src/pregmod/sePlayerBirth.tw
index 438bbff7c87d23f3e14cb691b6ff679cbd5326cd..40df45481a541f3e298770476bdf9efaffeaf404 100644
--- a/src/pregmod/sePlayerBirth.tw
+++ b/src/pregmod/sePlayerBirth.tw
@@ -137,7 +137,6 @@ Now you are faced with a decision of what to do with your new child. You're far
 <<click "Boarding School">><<replace "#choice">><<print "You have decided to send them away to be raised in your stead.">><</replace>><</click>> | <<click "Slave Orphanage">><<replace "#choice">><<print "You have decided to send them to a slave orphanage to be raised to $minimumSlaveAge and sold. Perhaps you'll even see them again, though you are unlikely to recognize them if you do.">><</replace>><</click>><<if $Cash4Babies == 1>> | <<click "Auction Them">><<replace "#choice">><<print "You send the child to be sold at auction amongst other prestigious slaves. The winning big for your offspring came in at @@color:yellowgreen;¤<<print 1000*$seed>>.@@">><</replace>><<set $cash += 1000*$seed>><</click>><</if>></span>
 <</if>>
 
-<<set $babyGender = 0>>
 <<set $badBirth = 0>>
 <<set $PC.pregSource = 0>>
 <<set $seed = 0>>
diff --git a/src/uncategorized/genericPlotEvents.tw b/src/uncategorized/genericPlotEvents.tw
index 74ff09ce9b77f79cddd3ca6875da5cf0e66b4abe..30e83f08f8e444304135e16d9c0f4ee7570ab0df 100644
--- a/src/uncategorized/genericPlotEvents.tw
+++ b/src/uncategorized/genericPlotEvents.tw
@@ -229,6 +229,7 @@ When the aircraft lands at your penthouse pad, the would-be escapees are still u
 	<<if ($universalRulesNewSlavesRA == 1) && ($autoRulesAssistant != 0)>>
 		<<AutoRulesActivate 1>>
 	<</if>>
+	<<set $genePool.push($activeSlave)>>
 	<<set $slaves.push($activeSlave)>>
 	<<for $i to 0; $i < 3; $i++>>
 		<<set $activeSlaveOneTimeMinAge to 18>>
@@ -256,6 +257,7 @@ When the aircraft lands at your penthouse pad, the would-be escapees are still u
 		<<if ($universalRulesNewSlavesRA == 1) && ($autoRulesAssistant != 0)>>
 			<<AutoRulesActivate 1>>
 		<</if>>
+		<<set $genePool.push($activeSlave)>>
 		<<set $slaves.push($activeSlave)>>
 	<</for>>
 <<elseif $PAidTarget is "school">>
@@ -289,6 +291,7 @@ When the aircraft lands at your penthouse pad, the would-be escapees are still u
 	<<if ($universalRulesNewSlavesRA == 1) && ($autoRulesAssistant != 0)>>
 		<<AutoRulesActivate 1>>
 	<</if>>
+	<<set $genePool.push($activeSlave)>>
 	<<set $slaves.push($activeSlave)>>
 	<<for $i to 0; $i < 3; $i++>>
 		<<set $activeSlaveOneTimeMaxAge to 18>>
@@ -315,6 +318,7 @@ When the aircraft lands at your penthouse pad, the would-be escapees are still u
 		<<if ($universalRulesNewSlavesRA == 1) && ($autoRulesAssistant != 0)>>
 					<<AutoRulesActivate 1>>
 		<</if>>
+		<<set $genePool.push($activeSlave)>>
 		<<set $slaves.push($activeSlave)>>
 	<</for>>
 <<elseif $PAidTarget is "maternity">>
@@ -341,6 +345,7 @@ When the aircraft lands at your penthouse pad, the would-be escapees are still u
 		<<if ($universalRulesNewSlavesRA == 1) && ($autoRulesAssistant != 0)>>
 			<<AutoRulesActivate 1>>
 		<</if>>
+		<<set $genePool.push($activeSlave)>>
 		<<set $slaves.push($activeSlave)>>
 	<</for>>
 <<elseif $PAidTarget is "gradeSchool">>
@@ -369,6 +374,7 @@ When the aircraft lands at your penthouse pad, the would-be escapees are still u
 		<<if ($universalRulesNewSlavesRA == 1) && ($autoRulesAssistant != 0)>>	
 			<<AutoRulesActivate 1>>
 		<</if>>
+		<<set $genePool.push($activeSlave)>>
 		<<set $slaves.push($activeSlave)>>
 	<</for>>
 <<elseif $PAidTarget is "conversion">>
@@ -398,6 +404,7 @@ When the aircraft lands at your penthouse pad, the would-be escapees are still u
 	<<if ($universalRulesNewSlavesRA == 1) && ($autoRulesAssistant != 0)>>
 		<<AutoRulesActivate 1>>
 	<</if>>
+	<<set $genePool.push($activeSlave)>>
 	<<set $slaves.push($activeSlave)>>
 	<<for $i to 0; $i < 3; $i++>>
 		<<set $activeSlaveOneTimeMinAge to 16>>
@@ -423,6 +430,7 @@ When the aircraft lands at your penthouse pad, the would-be escapees are still u
 		<<if ($universalRulesNewSlavesRA == 1) && ($autoRulesAssistant != 0)>>
 			<<AutoRulesActivate 1>>
 		<</if>>
+		<<set $genePool.push($activeSlave)>>
 		<<set $slaves.push($activeSlave)>>
 	<</for>>
 <<else>>
@@ -454,6 +462,7 @@ When the aircraft lands at your penthouse pad, the would-be escapees are still u
 		<<if ($universalRulesNewSlavesRA == 1) && ($autoRulesAssistant != 0)>>
 			<<AutoRulesActivate 1>>
 		<</if>>
+		<<set $genePool.push($activeSlave)>>
 		<<set $slaves.push($activeSlave)>>
 	<</for>>
 <</if>>
@@ -750,6 +759,7 @@ A screen opposite your desk springs to life, <<if $assistant == 0>>showing your
 	<<if ($universalRulesNewSlavesRA == 1) && ($autoRulesAssistant != 0)>>
 		<<AutoRulesActivate 1>>
 	<</if>>
+	<<set $genePool.push($activeSlave)>>
 	<<set $slaves.push($activeSlave)>>
 	<</replace>>
 <</click>>
@@ -795,6 +805,7 @@ A screen opposite your desk springs to life, <<if $assistant == 0>>showing your
 	<<if ($universalRulesNewSlavesRA == 1) && ($autoRulesAssistant != 0)>>
 		<<AutoRulesActivate 1>>
 	<</if>>
+	<<set $genePool.push($activeSlave)>>
 	<<set $slaves.push($activeSlave)>>
 	<</replace>>
 <</click>>
@@ -832,6 +843,7 @@ A screen opposite your desk springs to life, <<if $assistant == 0>>showing your
 	<<if ($universalRulesNewSlavesRA == 1) && ($autoRulesAssistant != 0)>>
 		<<AutoRulesActivate 1>>
 	<</if>>
+	<<set $genePool.push($activeSlave)>>
 	<<set $slaves.push($activeSlave)>>
 	<</replace>>
 <</click>>
@@ -875,6 +887,7 @@ A screen opposite your desk springs to life, <<if $assistant == 0>>showing your
 	<<if ($universalRulesNewSlavesRA == 1) && ($autoRulesAssistant != 0)>>
 		<<AutoRulesActivate 1>>
 	<</if>>
+	<<set $genePool.push($activeSlave)>>
 	<<set $slaves.push($activeSlave)>>
 	<</replace>>
 <</click>>
diff --git a/src/uncategorized/householdLiquidator.tw b/src/uncategorized/householdLiquidator.tw
index aa050924ca89f3a5e155766c2b71af126e418955..3e98ccc4d45db696b3da95895bc7e51a055fab19 100644
--- a/src/uncategorized/householdLiquidator.tw
+++ b/src/uncategorized/householdLiquidator.tw
@@ -41,7 +41,7 @@ The price is ¤<<print $slaveCost*3>>.
 
 <<nobr>>
 <<if $cash >= $slaveCost*3>>
-	[[Buy their slave contract|Siblings Workaround][$cash -= $slaveCost*3,$olderSister to $activeSlave, $slaves.push($olderSister),$nextButton to "Continue",$nextLink to "AS Dump",$returnTo to "Main"]]
+	[[Buy their slave contract|Siblings Workaround][$cash -= $slaveCost*3,$olderSister to $activeSlave, $slaves.push($olderSister), $genePool.push($olderSister),$nextButton to "Continue",$nextLink to "AS Dump",$returnTo to "Main"]]
 <<else>>
 	//You lack the necessary funds to buy these slaves.//
 <</if>>
@@ -95,7 +95,7 @@ The price is ¤<<print $slaveCost*3>>.<<if $slavesSeen > $slaveMarketLimit>> You
 
 <<nobr>>
 <<if $cash >= $slaveCost*3>>
-	[[Buy their slave contract|Mother Daughter Workaround][$cash -= $slaveCost*3,$mother to $activeSlave, $slaves.push($mother),$nextButton to "Continue",$nextLink to "AS Dump",$returnTo to "Main"]]
+	[[Buy their slave contract|Mother Daughter Workaround][$cash -= $slaveCost*3,$mother to $activeSlave, $slaves.push($mother), $genePool.push($mother),$nextButton to "Continue",$nextLink to "AS Dump",$returnTo to "Main"]]
 <<else>>
 	//You lack the necessary funds to buy these slaves.//
 <</if>>
@@ -142,7 +142,7 @@ The price is ¤<<print $slaveCost*4>>.<<if $slavesSeen > $slaveMarketLimit>> You
 
 <<nobr>>
 <<if $cash >= $slaveCost*4>>
-	[[Buy their slave contract|Twins Workaround][$cash -= $slaveCost*4,$alphaTwin to $activeSlave, $slaves.push($alphaTwin),$nextButton to "Continue",$nextLink to "AS Dump",$returnTo to "Main"]]
+	[[Buy their slave contract|Twins Workaround][$cash -= $slaveCost*4,$alphaTwin to $activeSlave, $slaves.push($alphaTwin), $genePool.push($alphaTwin),$nextButton to "Continue",$nextLink to "AS Dump",$returnTo to "Main"]]
 <<else>>
 	//You lack the necessary funds to buy these slaves.//
 <</if>>
diff --git a/src/uncategorized/motherDaughterWorkaround.tw b/src/uncategorized/motherDaughterWorkaround.tw
index 76a28a49ba2133f80d21eb581af04f840a09b689..4bae2c1c939deadbda2644632fb90e256fc9d5c0 100644
--- a/src/uncategorized/motherDaughterWorkaround.tw
+++ b/src/uncategorized/motherDaughterWorkaround.tw
@@ -71,4 +71,5 @@ Your new pair of slaves look frightened and uncertain, but seem encouraged by ea
 	<<set _secondSlave.butt += random(-1, 1)>>
 <</if>>
 
+<<set $genePool.push(_secondSlave)>>
 <<set $slaves.push(_secondSlave)>>
diff --git a/src/uncategorized/newSlaveIntro.tw b/src/uncategorized/newSlaveIntro.tw
index d0674a8f39cdce211642c723e169a0403502f7df..801f137b3bce86488c30a6b954b3f09e17be716d 100644
--- a/src/uncategorized/newSlaveIntro.tw
+++ b/src/uncategorized/newSlaveIntro.tw
@@ -25,6 +25,8 @@
 	<<set $activeSlave.vaginalSkill = 0>>
 <</if>>
 
+<<set $genePool.push($activeSlave)>>
+
 <<if $activeSlave.nipplesPiercing > 0>>
 	<<if $activeSlave.nipples is "partially inverted">>
 <<set $activeSlave.nipples to "cute">>
diff --git a/src/uncategorized/pCoupAttempt.tw b/src/uncategorized/pCoupAttempt.tw
index 76c6f52853dbd28ab6274acf8e14196ba733236c..39b7fe76b607094bba1a117383c1dc2549e110d6 100644
--- a/src/uncategorized/pCoupAttempt.tw
+++ b/src/uncategorized/pCoupAttempt.tw
@@ -43,6 +43,7 @@ You are awakened in the middle of the night by a jolt that shakes the entire arc
 		<<if ($universalRulesNewSlavesRA == 1) && ($autoRulesAssistant != 0)>>	
 			<<AutoRulesActivate 1>>
 		<</if>>
+		<<set $genePool.push($activeSlave)>>
 		<<set $slaves.push($activeSlave)>>
 	<</for>>
 	<<if $seeDicks > 50>>
@@ -58,6 +59,7 @@ You are awakened in the middle of the night by a jolt that shakes the entire arc
 		<<if ($universalRulesNewSlavesRA == 1) && ($autoRulesAssistant != 0)>>	
 			<<AutoRulesActivate 1>>
 		<</if>>
+		<<set $genePool.push($activeSlave)>>
 		<<set $slaves.push($activeSlave)>>
 	<</for>>
 	<<set $desc = "a Daughters of Liberty brassard">>
@@ -78,6 +80,7 @@ You are awakened in the middle of the night by a jolt that shakes the entire arc
 		<<if ($universalRulesNewSlavesRA == 1) && ($autoRulesAssistant != 0)>>	
 			<<AutoRulesActivate 1>>
 		<</if>>
+		<<set $genePool.push($activeSlave)>>
 		<<set $slaves.push($activeSlave)>>
 	<</if>>
 	<<for $i to 0; $i < 8; $i++>>
@@ -90,6 +93,7 @@ You are awakened in the middle of the night by a jolt that shakes the entire arc
 		<<if ($universalRulesNewSlavesRA == 1) && ($autoRulesAssistant != 0)>>	
 			<<AutoRulesActivate 1>>
 		<</if>>
+		<<set $genePool.push($activeSlave)>>
 		<<set $slaves.push($activeSlave)>>
 	<</for>>
 	<<set $desc = "a damaged plate carrier bearing Daughters of Liberty insignia">>
@@ -110,6 +114,7 @@ You are awakened in the middle of the night by a jolt that shakes the entire arc
 		<<if ($universalRulesNewSlavesRA == 1) && ($autoRulesAssistant != 0)>>		
 			<<AutoRulesActivate 1>>
 		<</if>>
+		<<set $genePool.push($activeSlave)>>
 		<<set $slaves.push($activeSlave)>>
 	<</if>>
 	<<if $seeDicks > 50>>
@@ -125,6 +130,7 @@ You are awakened in the middle of the night by a jolt that shakes the entire arc
 		<<if ($universalRulesNewSlavesRA == 1) && ($autoRulesAssistant != 0)>>	
 			<<AutoRulesActivate 1>>
 		<</if>>
+		<<set $genePool.push($activeSlave)>>
 		<<set $slaves.push($activeSlave)>>
 	<</for>>
 	<<if $seeDicks > 50>>
@@ -140,6 +146,7 @@ You are awakened in the middle of the night by a jolt that shakes the entire arc
 		<<if ($universalRulesNewSlavesRA == 1) && ($autoRulesAssistant != 0)>>	
 			<<AutoRulesActivate 1>>
 		<</if>>
+		<<set $genePool.push($activeSlave)>>
 		<<set $slaves.push($activeSlave)>>
 	<</for>>
 	<<set $desc = "a Daughters of Liberty flag that once hung in their forward command post within your arcology">>
diff --git a/src/uncategorized/pInvasion.tw b/src/uncategorized/pInvasion.tw
index c22d1c653e11553ac379dd4c4178e3dbb16b2c27..722120938c45118e0bcc981ccd124df85252a9ff 100644
--- a/src/uncategorized/pInvasion.tw
+++ b/src/uncategorized/pInvasion.tw
@@ -89,6 +89,7 @@ The loose militia lately organized by the arcology owners has been called out to
 	<<if ($universalRulesNewSlavesRA == 1) && ($autoRulesAssistant != 0)>>	
 		<<AutoRulesActivate 1>>
 	<</if>>
+	<<set $genePool.push($activeSlave)>>
 	<<set $slaves.push($activeSlave)>>
 <</for>>
 
@@ -105,7 +106,6 @@ The loose militia lately organized by the arcology owners has been called out to
 		<<slaveCost $slaves[$i]>>
 		<<set $cash += $slaveCost>>
 		<<set $dump to $slaves.pluck([$i], [$i])>><<set $i-->>
-		<<set $i-->>
 		<</if>>
 	<</for>>
 	Prisoners sold.
diff --git a/src/uncategorized/pRaidResult.tw b/src/uncategorized/pRaidResult.tw
index 1e1ee9ee01863399f0091682d0d604488ea12fea..6453ba145062ea81d10abb36b010143aa59e81fb 100644
--- a/src/uncategorized/pRaidResult.tw
+++ b/src/uncategorized/pRaidResult.tw
@@ -28,6 +28,7 @@ Out ahead of the main body of refugees there is a small knot moving quickly and
 		<<else>>
 		<<display "Generate XX Slave">>
 		<<set $activeSlave.origin to "She is an enslaved refugee who participated in the defeated attack on your arcology.">>
+		<<set $genePool.push($activeSlave)>>
 		<<set $slaves.push($activeSlave)>>
 		<</if>>
 	<</for>>
@@ -40,6 +41,7 @@ Out ahead of the main body of refugees there is a small knot moving quickly and
 			<<AutoRulesActivate 1>>
 		<</if>>
 		<<set $activeSlave.origin to "She is an enslaved refugee.">>
+		<<set $genePool.push($activeSlave)>>
 		<<set $slaves.push($activeSlave)>>
 	<</for>>
 <<else>>
@@ -53,6 +55,7 @@ Out ahead of the main body of refugees there is a small knot moving quickly and
 		<</if>>
 		<<set $activeSlave.origin to "She is an enslaved refugee who was wounded in the defeated attack on your arcology.">>
 		<<set $activeSlave.health = random(-80,-40)>>
+		<<set $genePool.push($activeSlave)>>
 		<<set $slaves.push($activeSlave)>>
 	<</for>>
 <</if>>
diff --git a/src/uncategorized/pSlaveMedic.tw b/src/uncategorized/pSlaveMedic.tw
index 6b1dd5f1358da59a7f2425eee7467164cd3eed75..077f2dcc3b5beaeeef292c4190c8da8615761d4a 100644
--- a/src/uncategorized/pSlaveMedic.tw
+++ b/src/uncategorized/pSlaveMedic.tw
@@ -115,6 +115,7 @@ When you enter the lounge of their barracks, you see $activeSlave.slaveName bend
 	<<if ($universalRulesNewSlavesRA == 1) && ($autoRulesAssistant != 0)>>	
 		<<AutoRulesActivate 1>>
 	<</if>>
+	<<set $genePool.push($activeSlave)>>
 	<<set $slaves.push($activeSlave)>>
 	<<set $cash -= 25000>>
 		"Huh," says the mercenary. "She's popular, but for that we could probably buy two of her. Might be fun to train a couple of new nurses. Let me ask the boys and girls." He speaks into his helmet for a few minutes, and then turns back to you. "Sold. Enjoy, she's a good fuck."
diff --git a/src/uncategorized/reFSEgyptianRevivalistAcquisition.tw b/src/uncategorized/reFSEgyptianRevivalistAcquisition.tw
index 50bdca5a237ed95d8e37537cf5509a72a634691b..e89393769a9d5ad7b41aef1cbe272918b2098302 100644
--- a/src/uncategorized/reFSEgyptianRevivalistAcquisition.tw
+++ b/src/uncategorized/reFSEgyptianRevivalistAcquisition.tw
@@ -46,7 +46,7 @@ This call is coming from a public kiosk, which is usually an indication that the
 
 <span id="result">
 <<if $cash >= $contractCost>>\
-[[Enslave the pair|RE FSEgyptianRevivalist acquisition workaround][$sibling to $activeSlave, $slaves.push($sibling), $cash -= ($contractCost)]]
+[[Enslave the pair|RE FSEgyptianRevivalist acquisition workaround][$sibling to $activeSlave, $slaves.push($sibling), $genePool.push($sibling), $cash -= ($contractCost)]]
 <<else>>\
 	//You lack the necessary funds to enslave them.//
 <</if>>\
diff --git a/src/uncategorized/reFSEgyptianRevivalistAcquisitionWorkaround.tw b/src/uncategorized/reFSEgyptianRevivalistAcquisitionWorkaround.tw
index b647599810ca0efa9be84541e9cc8f893d5f9948..ff16a7f1596fda899cdf7a59e681ace9d14ae604 100644
--- a/src/uncategorized/reFSEgyptianRevivalistAcquisitionWorkaround.tw
+++ b/src/uncategorized/reFSEgyptianRevivalistAcquisitionWorkaround.tw
@@ -97,4 +97,5 @@ They arrive hand-in-hand and don't let go of each other until the end of the ens
 
 <</if>>
 
+	<<set $genePool.push(_secondSlave)>>
 	<<set $slaves.push(_secondSlave)>>
diff --git a/src/uncategorized/reShippingContainer.tw b/src/uncategorized/reShippingContainer.tw
index 9661ef19dfab94103d33eeb3f9cf2682472c2ab2..b489a7ab749e0333f79a3c65bb23e414762908b6 100644
--- a/src/uncategorized/reShippingContainer.tw
+++ b/src/uncategorized/reShippingContainer.tw
@@ -15,6 +15,7 @@
 	<<if ($universalRulesNewSlavesRA == 1) && ($autoRulesAssistant != 0)>>	
 		<<AutoRulesActivate 1>>
 	<</if>>
+	<<set $genePool($activeSlave)>>
 	<<set $slaves.push($activeSlave)>>
 <</for>>
 <<set $helots += 25>>
diff --git a/src/uncategorized/recETS.tw b/src/uncategorized/recETS.tw
index d0352d241ff927a9ad9d37610473f3dbb442ea86..c6769dc2dd3d9772edd49bfe18f4fcff66259df9 100644
--- a/src/uncategorized/recETS.tw
+++ b/src/uncategorized/recETS.tw
@@ -485,6 +485,7 @@ The other blurts out. "But we kinda got too into each other, in more ways than o
 	<<set $activeSlave.relationTarget to 0>>
 	<<set $activeSlave.oralCount += 1>>
 	<<set $oralTotal += 1>>
+	<<set $genePool.push($activeSlave)>>
 	<<set $slaves.push($activeSlave)>>
 	<<set $cash -= $contractCost>>
 	<<replace "#result">>
@@ -498,6 +499,7 @@ The other blurts out. "But we kinda got too into each other, in more ways than o
 	<<set $activeSlave.daughters = 0>>
 	<<set $activeSlave.relation to 0>>
 	<<set $activeSlave.relationTarget to 0>>
+	<<set $genePool.push($activeSlave)>>
 	<<set $slaves.push($activeSlave)>>
 	<<set $cash -= $contractCost>>
 	<<replace "#result">>
@@ -512,6 +514,7 @@ The other blurts out. "But we kinda got too into each other, in more ways than o
 	<<set $activeSlave.father to 0>>	
 	<<set $activeSlave.relation to 0>>
 	<<set $activeSlave.relationTarget to 0>>
+	<<set $genePool.push($activeSlave)>>
 	<<set $slaves.push($activeSlave)>>
 	<<set $cash -= $contractCost>>
 	<<replace "#result">>
@@ -535,35 +538,35 @@ The other blurts out. "But we kinda got too into each other, in more ways than o
 <<case "addict mother daughter">>
 
 <<click "Manipulate her to enslave both mother and daughter">>
-	<<set $mother to $activeSlave, $mother.devotion -= 50, $slaves.push($mother), $cash -= ($contractCost*2)>>
+	<<set $mother to $activeSlave, $mother.devotion -= 50, $slaves.push($mother), $genePool.push($mother), $cash -= ($contractCost*2)>>
 	<<goto "RecETS workaround">>
 <</click>>
 
 <<case "posh mother daughter">>
 
 <<click "Manipulate her to enslave both mother and daughter">>
-	<<set $mother to $activeSlave, $mother.devotion -= 25, $slaves.push($mother), $cash -= ($contractCost*2)>>
+	<<set $mother to $activeSlave, $mother.devotion -= 25, $slaves.push($mother), $genePool.push($mother), $cash -= ($contractCost*2)>>
 	<<goto "RecETS workaround">>
 <</click>>
 
 <<case "mismatched pair">>
 
 <<click "Enslave both">>
-	<<set $sissy to $activeSlave, $slaves.push($sissy), $cash -= ($contractCost*2)>>
+	<<set $sissy to $activeSlave, $slaves.push($sissy), $genePool.push($sissy), $cash -= ($contractCost*2)>>
 	<<goto "RecETS workaround">>
 <</click>>
 
 <<case "incest mother son" "incest father daughter">>
 
 <<click "Buy both">>
-	<<set $sissy to $activeSlave, $slaves.push($sissy), $cash -= $contractCost>>
+	<<set $sissy to $activeSlave, $slaves.push($sissy), $genePool.push($sissy), $cash -= $contractCost>>
 	<<goto "RecETS workaround">>
 <</click>>
 
 <<case "matched pair" "identical pair" "identical herm pair">>
 
 <<click "Buy both">>
-	<<set $sissy to $activeSlave, $slaves.push($sissy), $cash -= ($contractCost*2)>>
+	<<set $sissy to $activeSlave, $slaves.push($sissy), $genePool.push($sissy), $cash -= ($contractCost*2)>>
 	<<goto "RecETS workaround">>
 <</click>>
 
diff --git a/src/uncategorized/recETSWorkaround.tw b/src/uncategorized/recETSWorkaround.tw
index 0d2d1292473b77a635f563fca6368f560e071bc0..c88a51c917e47d66bd9ac4fd346f6f84641de424 100644
--- a/src/uncategorized/recETSWorkaround.tw
+++ b/src/uncategorized/recETSWorkaround.tw
@@ -261,4 +261,5 @@ They giggle and kiss each other rather passionately, their miniskirts becoming p
 <<else>>
 	<<set $activeSlave.slaveName to $activeSlave.birthName>>
 <</if>>
+<<set $genePool.push($activeSlave)>>
 <<set $slaves.push($activeSlave)>>
\ No newline at end of file
diff --git a/src/uncategorized/resFailure.tw b/src/uncategorized/resFailure.tw
index 08aa7206e61ce574d9529f09b88227d64370ba38..0cf6110558ce67490c35991f976d20092e16abaa 100644
--- a/src/uncategorized/resFailure.tw
+++ b/src/uncategorized/resFailure.tw
@@ -81,6 +81,7 @@
 		<<if ($universalRulesNewSlavesRA == 1) && ($autoRulesAssistant != 0)>>	
 			<<AutoRulesActivate 1>>
 		<</if>>
+		<<set $genePool.push($activeSlave)>>
 		<<set $slaves.push($activeSlave)>>
 	<</for>>
 <<elseif $RESFailure is "GRI">>
@@ -134,6 +135,7 @@
 		<<if ($universalRulesNewSlavesRA == 1) && ($autoRulesAssistant != 0)>>	
 			<<AutoRulesActivate 1>>
 		<</if>>
+		<<set $genePool.push($activeSlave)>>
 		<<set $slaves.push($activeSlave)>>
 	<</for>>
 <<elseif $RESFailure is "SCP">>
@@ -205,6 +207,7 @@
 		<<if ($universalRulesNewSlavesRA == 1) && ($autoRulesAssistant != 0)>>	
 			<<AutoRulesActivate 1>>
 		<</if>>
+		<<set $genePool.push($activeSlave)>>
 		<<set $slaves.push($activeSlave)>>
 	<</for>>
 <<elseif $RESFailure is "LDE">>
@@ -268,6 +271,7 @@
 		<<if ($universalRulesNewSlavesRA == 1) && ($autoRulesAssistant != 0)>>		
 			<<AutoRulesActivate 1>>
 		<</if>>
+		<<set $genePool.push($activeSlave)>>
 		<<set $slaves.push($activeSlave)>>
 	<</for>>
 <<elseif $RESFailure is "TGA">>
@@ -324,6 +328,7 @@
 		<<if ($universalRulesNewSlavesRA == 1) && ($autoRulesAssistant != 0)>>	
 			<<AutoRulesActivate 1>>
 		<</if>>
+		<<set $genePool.push($activeSlave)>>
 		<<set $slaves.push($activeSlave)>>
 	<</for>>
 <<else>>
@@ -488,6 +493,7 @@
 		<<if ($universalRulesNewSlavesRA == 1) && ($autoRulesAssistant != 0)>>	
 			<<AutoRulesActivate 1>>
 		<</if>>
+		<<set $genePool.push($activeSlave)>>
 		<<set $slaves.push($activeSlave)>>
 	<</for>>
 	<<display "Generate XY Slave">>
@@ -560,6 +566,7 @@
 	<<if ($universalRulesNewSlavesRA == 1) && ($autoRulesAssistant != 0)>>	
 		<<AutoRulesActivate 1>>
 	<</if>>
+	<<set $genePool.push($activeSlave)>>
 	<<set $slaves.push($activeSlave)>>
 <</if>>
 
diff --git a/src/uncategorized/saRecruitGirls.tw b/src/uncategorized/saRecruitGirls.tw
index b0d0e019cdc5a861617a04fe61e3fe82fd3a5c03..6211bb29fb4a9934fe52e540b2c5a3b2aa3a9efb 100644
--- a/src/uncategorized/saRecruitGirls.tw
+++ b/src/uncategorized/saRecruitGirls.tw
@@ -361,19 +361,19 @@ She uses her extra time and @@color:yellowgreen;recruitment allowance@@ this wee
 			<<set $relation = $relation.shuffle()>>
 			<<set _recruiterRelation = 0>>
 			<<for _j = 0; _j < $relation.length; _j++>>
-				<<if areSisters($slaves[$i], $relation[_j]) > 0 && isAvailable($relation[_j])>>
+				<<if areSisters($slaves[$i], $relation[_j]) > 0 && isSlaveAvailable($relation[_j])>>
 					<<set _recruiterRelation = $relation[_j]>>
 					<<break>>
-				<<elseif $relation[_j].mother == $slaves[$i].ID && isAvailable($relation[_j])>>
+				<<elseif $relation[_j].mother == $slaves[$i].ID && isSlaveAvailable($relation[_j])>>
 					<<set _recruiterRelation = $relation[_j]>>
 					<<break>>
-				<<elseif $relation[_j].father == $slaves[$i].ID && isAvailable($relation[_j])>>
+				<<elseif $relation[_j].father == $slaves[$i].ID && isSlaveAvailable($relation[_j])>>
 					<<set _recruiterRelation = $relation[_j]>>
 					<<break>>
-				<<elseif $relation[_j].ID == $slaves[$i].mother && isAvailable($relation[_j])>>
+				<<elseif $relation[_j].ID == $slaves[$i].mother && isSlaveAvailable($relation[_j])>>
 					<<set _recruiterRelation = $relation[_j]>>
 					<<break>>
-				<<elseif $relation[_j].ID == $slaves[$i].father && isAvailable($relation[_j])>>
+				<<elseif $relation[_j].ID == $slaves[$i].father && isSlaveAvailable($relation[_j])>>
 					<<set _recruiterRelation = $relation[_j]>>
 					<<break>>
 				<</if>>
diff --git a/src/uncategorized/saRules.tw b/src/uncategorized/saRules.tw
index 9a57c5d2038b0a2a22143268a02e56d990c568ad..ef5588cc861c07ecd7624c4da56d40055e912dd3 100644
--- a/src/uncategorized/saRules.tw
+++ b/src/uncategorized/saRules.tw
@@ -29,7 +29,7 @@ She
 	<<elseif ($slaves[$i].devotion <= 20)>>
 		occasionally comes to you to beg for sexual release, @@color:hotpink;hating herself@@ for it.
 		<<set $slaves[$i].devotion += 1>>
-	<<elseif ($slaves[$i].devotion < 10)>>
+	<<elseif ($slaves[$i].devotion <= 50)>>
 		doesn't mind having to come to you to beg for sexual release, @@color:hotpink;drawing her closer@@ to her <<if $PC.title == 0>>Mistress<<else>>Master<</if>>.
 		<<set $slaves[$i].devotion += 1>>
 	<<else>>
@@ -177,7 +177,7 @@ She
 			is forced to demand sex from other slaves by the urges induced by the food, and @@color:hotpink;hates herself@@ for it.
 			<<set $slaves[$i].devotion += 1>>
 		<</if>>
-		<<elseif ($slaves[$i].devotion < 10)>>
+		<<elseif ($slaves[$i].devotion <= 50)>>
 		accepts the need to demand sex from your other slaves, @@color:hotpink;building her acceptance@@ of her life.
 		<<set $slaves[$i].devotion += 1>>
 		<<else>>
@@ -348,7 +348,7 @@ She
 			is forced to swap sex with other slaves by the urges induced by the food, and @@color:hotpink;hates herself@@ for it.
 			<<set $slaves[$i].devotion += 1>>
 		<</if>>
-		<<elseif ($slaves[$i].devotion < 10)>>
+		<<elseif ($slaves[$i].devotion <= 50)>>
 		doesn't mind having to ask other slaves for sex, @@color:mediumaquamarine;building her acceptance@@ of her life.
 		<<set $slaves[$i].trust += 1>>
 		<<else>>
diff --git a/src/uncategorized/seCoursing.tw b/src/uncategorized/seCoursing.tw
index 584d5bd5412ff7a3fb9213f4c2e6d22c4fa38a8f..2434c246c8cf15e7097611137b9fea7d39f67003 100644
--- a/src/uncategorized/seCoursing.tw
+++ b/src/uncategorized/seCoursing.tw
@@ -601,6 +601,7 @@ You place your hand on the leash's quick release and whisper your direction into
 	<<if ($universalRulesNewSlavesRA == 1) && ($autoRulesAssistant != 0)>>
 		<<AutoRulesActivate 1>>
 	<</if>>
+	<<set $genePool.push($activeSlave)>>
 	<<set $slaves.push($activeSlave)>>
 <<else>>
 	<<if $Lurcher.devotion > 50>>
@@ -935,6 +936,7 @@ You place your hand on the leash's quick release and whisper your direction into
 	<<if ($universalRulesNewSlavesRA == 1) && ($autoRulesAssistant != 0)>>
 		<<AutoRulesActivate 1>>
 	<</if>>
+	<<set $genePool.push($activeSlave)>>
 	<<set $slaves.push($activeSlave)>>
 <<else>>
 	<<if $Lurcher.devotion > 50>>
@@ -1269,6 +1271,7 @@ You place your hand on the leash's quick release and whisper your direction into
 	<<if ($universalRulesNewSlavesRA == 1) && ($autoRulesAssistant != 0)>>
 		<<AutoRulesActivate 1>>
 	<</if>>
+	<<set $genePool.push($activeSlave)>>
 	<<set $slaves.push($activeSlave)>>
 <<else>>
 	<<if $Lurcher.devotion > 50>>
diff --git a/src/uncategorized/siblingsWorkaround.tw b/src/uncategorized/siblingsWorkaround.tw
index 50a150ea06be85b230e5ad3bfb1a4d8c44e84b50..3a0b2ef30e19257ff7f013a2d466f5b00cfa56b4 100644
--- a/src/uncategorized/siblingsWorkaround.tw
+++ b/src/uncategorized/siblingsWorkaround.tw
@@ -67,4 +67,5 @@ Your new pair of slaves look frightened and uncertain, but seem encouraged by ea
 	<<set _secondSlave.butt += random (-1, 1)>>
 <</if>>
 
+	<<set $genePool.push(_secondSlave)>>
 	<<set $slaves.push(_secondSlave)>>
diff --git a/src/uncategorized/slaveSummary.tw b/src/uncategorized/slaveSummary.tw
index c492ca0ecec9ae508610ba7f09f1083108bd469d..32519ca5be0445831e7f61acbad8e5f4c31df22c 100644
--- a/src/uncategorized/slaveSummary.tw
+++ b/src/uncategorized/slaveSummary.tw
@@ -2984,7 +2984,7 @@ _Slave.faceShape face.
 <<if $abbreviateClothes is 2>>
 <<if _Slave.choosesOwnClothes == 1>>
 	Dressing herself.
-<<else>>
+<</if>>
 <<switch _Slave.clothes>>
 <<case "attractive lingerie">>
 	Lingerie.
@@ -3073,7 +3073,6 @@ _Slave.faceShape face.
 <<default>>
 	Naked.
 <</switch>>
-<</if>>
 <<switch _Slave.collar>>
 <<case "uncomfortable leather">>
 	Leather collar.
diff --git a/src/uncategorized/twinsWorkaround.tw b/src/uncategorized/twinsWorkaround.tw
index 1869953e5bec0d4b232db938ab359494a11160fe..18ef3fc75d7ec3f1eacae1381fd902c19180f8a4 100644
--- a/src/uncategorized/twinsWorkaround.tw
+++ b/src/uncategorized/twinsWorkaround.tw
@@ -30,4 +30,5 @@ Your new pair of slaves look frightened and uncertain, but seem encouraged by ea
 <<set _secondSlave.relationTarget to _secondSlave.ID - 1000>>
 <</if>>
 
+<<set $genePool.push(_secondSlave)>>
 <<set $slaves.push(_secondSlave)>>