diff --git a/devNotes/twine JS.txt b/devNotes/twine JS.txt
index 48e3f4b3c3dce16ce2a4e2a06510eec064cc28f7..db8e6256de2674a853cc7cddefd49acf3b1ca445 100644
--- a/devNotes/twine JS.txt	
+++ b/devNotes/twine JS.txt	
@@ -11203,9 +11203,9 @@ window.WombInit = function(actor) {
 			ft.genetics = generateGenetics(actor.ID, actor.pregSource, i);
 			i++;
 		});
-	} else if (actor.womb.length == 0 && actor.pregType != 0 && actor.broodmother == 0) {
+	} else if (actor.womb.length == 0 && actor.pregType > 0 && actor.broodmother == 0) {
 		WombImpregnate(actor, actor.pregType, actor.pregSource, actor.preg);
-	} else if (actor.womb.length == 0 && actor.pregType != 0 && actor.broodmother > 0 && actor.broodmotherOnHold < 1) {
+	} else if (actor.womb.length == 0 && actor.pregType > 0 && actor.broodmother > 0 && actor.broodmotherOnHold < 1) {
 		//sorry but for already present broodmothers it's impossible to calculate fully, approximation used.
 		var i, pw = actor.preg, bCount, bLeft;
 		if (pw > 40) pw = 40; //to avoid disaster.
diff --git a/src/Mods/DinnerParty/dinnerPartyPreperations.tw b/src/Mods/DinnerParty/dinnerPartyPreparations.tw
similarity index 98%
rename from src/Mods/DinnerParty/dinnerPartyPreperations.tw
rename to src/Mods/DinnerParty/dinnerPartyPreparations.tw
index 38b83ddf36a111264737c91234ebd6b96689ceba..c20aa1b5ab53baa42e82d60ac0221701b1efd348 100644
--- a/src/Mods/DinnerParty/dinnerPartyPreperations.tw
+++ b/src/Mods/DinnerParty/dinnerPartyPreparations.tw
@@ -1,4 +1,4 @@
-:: Dinner Party Preperations [nobr]
+:: Dinner Party Preparations [nobr]
 
 <<set $nextButton = "Cancel The Event", $nextLink = "Main">>
 
diff --git a/src/js/assayJS.tw b/src/js/assayJS.tw
index 558fb8c3851c69db1e4178da06400fdd9d9dc09e..a7f48ff960dea669936d5f26534027584c5755b0 100644
--- a/src/js/assayJS.tw
+++ b/src/js/assayJS.tw
@@ -150,13 +150,13 @@ window.TatScore = function(slave) {
 		tatScore += 1;
 	}
 	if (slave.bellyTat !== 0) {
-		if (((slave.preg > $activeSlave.pregData.normalBirth/1.33) && (slave.pregType >= 20)) || (slave.belly >= 300000)) {
+		if (((slave.preg > slave.pregData.normalBirth/1.33) && (slave.pregType >= 20)) || (slave.belly >= 300000)) {
 			tatScore += 0.75;
-		} else if (((slave.preg > $activeSlave.pregData.normalBirth/2) && (slave.pregType >= 20)) || ((slave.preg > $activeSlave.pregData.normalBirth/1.33) && (slave.pregType >= 10)) || (slave.belly >= 150000)) {
+		} else if (((slave.preg > slave.pregData.normalBirth/2) && (slave.pregType >= 20)) || ((slave.preg > slave.pregData.normalBirth/1.33) && (slave.pregType >= 10)) || (slave.belly >= 150000)) {
 			tatScore += 1;
 		} else if ((slave.belly >= 10000) || (slave.bellyImplant >= 8000)) {
 			tatScore += 1;
-		} else if (((slave.preg >= $activeSlave.pregData.normalBirth/4) && (slave.pregType >= 20)) || ((slave.preg > $activeSlave.pregData.normalBirth/4) && (slave.pregType >= 10)) || (slave.belly >= 5000)) {
+		} else if (((slave.preg >= slave.pregData.normalBirth/4) && (slave.pregType >= 20)) || ((slave.preg > slave.pregData.normalBirth/4) && (slave.pregType >= 10)) || (slave.belly >= 5000)) {
 			tatScore += 0.5;
 		} else if (slave.belly >= 1500) {
 			tatScore += 0.25;
diff --git a/src/js/wombJS.tw b/src/js/wombJS.tw
index 4b56123e14c0a5b1e510c4a754c8bf691df100cd..4cd077330693ca3730390401d7e71df0237cfaf0 100644
--- a/src/js/wombJS.tw
+++ b/src/js/wombJS.tw
@@ -59,9 +59,9 @@ window.WombInit = function(actor) {
 			ft.genetics = generateGenetics(actor.ID, actor.pregSource, i);
 			i++;
 		});
-	} else if (actor.womb.length == 0 && actor.pregType != 0 && actor.broodmother == 0) {
+	} else if (actor.womb.length == 0 && actor.pregType > 0 && actor.broodmother == 0) {
 		WombImpregnate(actor, actor.pregType, actor.pregSource, actor.preg);
-	} else if (actor.womb.length == 0 && actor.pregType != 0 && actor.broodmother > 0 && actor.broodmotherOnHold < 1) {
+	} else if (actor.womb.length == 0 && actor.pregType > 0 && actor.broodmother > 0 && actor.broodmotherOnHold < 1) {
 		//sorry but for already present broodmothers it's impossible to calculate fully, approximation used.
 		var i, pw = actor.preg, bCount, bLeft;
 		if (pw > actor.pregData.normalBirth) pw = actor.pregData.normalBirth; //to avoid disaster.
diff --git a/src/pregmod/widgets/pregmodWidgets.tw b/src/pregmod/widgets/pregmodWidgets.tw
index 72bc9a5d5320bc748f5f1cf75ff45849e4b7d020..c07c4d1dc72db7280c7c53ac7744b69a2973c5b7 100644
--- a/src/pregmod/widgets/pregmodWidgets.tw
+++ b/src/pregmod/widgets/pregmodWidgets.tw
@@ -1272,5 +1272,6 @@ extremely pale -5
 			s.geneMods.rapidCellGrowth = 0;
 		}
 	}
+	WombInit(s);
 })>>
 <</widget>>
diff --git a/src/uncategorized/BackwardsCompatibility.tw b/src/uncategorized/BackwardsCompatibility.tw
index 986c0315c518022955146e3eebeb4e66bf11f119..490a8f183aa5222e2b5e992461ac2a00f4bda690 100644
--- a/src/uncategorized/BackwardsCompatibility.tw
+++ b/src/uncategorized/BackwardsCompatibility.tw
@@ -3635,7 +3635,6 @@ Setting missing slave variables:
 <<if $nurseryNannies > 0>>
 	<<for _bci = 0; _bci < $cribs.length; _bci++>>
 		<<set _nurseryChild = $cribs[_bci]>>
-		<<set _nurseryChild.pregType = 0>>
 		<<PMODinit _nurseryChild>>
 	<</for>>
 <</if>>
@@ -3648,6 +3647,8 @@ Setting missing slave variables:
 <<set $IsPastPrimePC = 5000>>
 
 <<HeroSlavesCleanup>>
+<<BaseSlave>>
+<<set $baseHeroSlave = clone($activeSlave)>>
 Done!
 
 /* Sec Exp */
diff --git a/src/uncategorized/arcmgmt.tw b/src/uncategorized/arcmgmt.tw
index a18c81b2ea8d2980a191a993dc4b893d7e5a4a1b..4a3b41cf82566bf94fd8ee76c2cf6efdc3283aaf 100644
--- a/src/uncategorized/arcmgmt.tw
+++ b/src/uncategorized/arcmgmt.tw
@@ -587,15 +587,15 @@ _middleClass *= 1 + ($TSS.subsidize + $GRI.subsidize + $SCP.subsidize + $LDE.sub
 	<<elseif $arcologies[0].FSSubjugationistLawME == 1>>
 		<<set $lowerClass += Math.trunc(($NPCSlaves + $helots + $fuckdolls + $menialBioreactors) * 0.15)>>
 	<</if>>
-	_helotsRetirement = Math.trunc($helots * 0.8),
+	<<set _helotsRetirement = Math.trunc($helots * 0.2),
 	$helots = Math.trunc($helots * 0.8),
-	_fuckdollsRetirement = Math.trunc($fuckdolls * 0.8),
+	_fuckdollsRetirement = Math.trunc($fuckdolls * 0.2),
 	$fuckdolls = Math.trunc($fuckdolls * 0.8),
-	_menialBioreactorsRetirement = Math.trunc($menialBioreactors * 0.8),
+	_menialBioreactorsRetirement = Math.trunc($menialBioreactors * 0.2),
 	$menialBioreactors = Math.trunc($menialBioreactors * 0.8),
-	_ASlavesRetirement = Math.trunc($NPCSlaves * 0.8),
+	_ASlavesRetirement = Math.trunc($NPCSlaves * 0.2),
 	$NPCSlaves = Math.trunc($NPCSlaves * 0.8),
-	$CitizenRetirement = 2>>
+	$CitizenRetirementTrigger = 2>>
 	You have enacted citizen retirement, the slaves of eligible age are granted freedom.
 	<<if _helotsRetirement > 1>>
 		@@.red;<<print _helotsRetirement>> of your menial slaves@@ were retired.
diff --git a/src/uncategorized/policies.tw b/src/uncategorized/policies.tw
index 8d92252bebecab196921514002b768000977c863..dd9828d2f17d718fc93a26d38a773828411ed4db 100644
--- a/src/uncategorized/policies.tw
+++ b/src/uncategorized/policies.tw
@@ -129,13 +129,8 @@
 	<br>''Public Arcade Retirement:'' once reaching mandatory retirement age, slaves are placed in cheap public arcades to be used until useless.
 	[[Repeal|Policies][$ArcadeRetirement = 0]]
 <<elseif $CitizenRetirement == 1>>
-	<<if $CitizenRetirementTrigger == 0>>
-		<br>''Citizen Retirement:'' all slaveowners are required to pay into accounts to support their slaves as lower-class citizens in retirement.
-		[[Repeal|Policies][$CitizenRetirement = 0, $SexMilestoneRetirement = 0, $MilkMilestoneRetirement = 0, $CumMilestoneRetirement = 0, $BirthsMilestoneRetirement = 0, $KillsMilestoneRetirement = 0, $CitizenRetirementTrigger = 1]]
-	<<else>>
-		<br>''Citizen Retirement:'' all slaveowners are required to pay into accounts to support their slaves as lower-class citizens in retirement.
-		[[Repeal|Policies][$CitizenRetirement = 0, $SexMilestoneRetirement = 0, $MilkMilestoneRetirement = 0, $CumMilestoneRetirement = 0, $BirthsMilestoneRetirement = 0, $KillsMilestoneRetirement = 0]]
-	<</if>>
+	<br>''Citizen Retirement:'' all slaveowners are required to pay into accounts to support their slaves as lower-class citizens in retirement.
+	[[Repeal|Policies][$CitizenRetirement = 0, $SexMilestoneRetirement = 0, $MilkMilestoneRetirement = 0, $CumMilestoneRetirement = 0, $BirthsMilestoneRetirement = 0, $KillsMilestoneRetirement = 0]]
 <<else>>
 	<br>''Menial Retirement:'' in the absence of a clear slave retirement policy, overaged sex slaves will become menial slaves.
 <</if>>
@@ -861,9 +856,15 @@
 		<<if $ArcadeRetirement == 0>>
 			<<if $CitizenRetirement == 0>>
 				<<if $arcologies[0].FSDegradationist == "unset">>
-					<br>''Citizen Retirement:'' all slaveowners will be required to pay into accounts to support their slaves as lower-class citizens in retirement.
-					[[Implement|Policies][$CitizenRetirement = 1, $cash -=5000, $rep -= 1000]]
-					<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will add upkeep to all slaves//
+					<<if $CitizenRetirementTrigger == 0>>
+						<br>''Citizen Retirement:'' all slaveowners will be required to pay into accounts to support their slaves as lower-class citizens in retirement.
+						[[Implement|Policies][$CitizenRetirement = 1, $cash -=5000, $rep -= 1000, $CitizenRetirementTrigger = 1]]
+						<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will add upkeep to all slaves//
+					<<else>>
+						<br>''Citizen Retirement:'' all slaveowners will be required to pay into accounts to support their slaves as lower-class citizens in retirement.
+						[[Implement|Policies][$CitizenRetirement = 1, $cash -=5000, $rep -= 1000]]
+						<br>&nbsp;&nbsp;&nbsp;&nbsp;//Will add upkeep to all slaves//
+					<</if>>
 				<</if>>
 				<<if $arcologies[0].FSPaternalist == "unset">>
 					<br>''Public Arcade Retirement:'' once reaching mandatory retirement age, slaves will be placed in cheap public arcades to be used until useless.
diff --git a/src/uncategorized/slaveSummary.tw b/src/uncategorized/slaveSummary.tw
index b796356fa751c780ef4a6ae402798272509aff67..7d45b1d21360e8a40043884d2ebb3d8b0ec054ca 100644
--- a/src/uncategorized/slaveSummary.tw
+++ b/src/uncategorized/slaveSummary.tw
@@ -597,12 +597,12 @@
 		[[_slaveName|Rules Slave Exclude Workaround][$activeSlave = $slaves[_ssi]]]''__
 <<else>>
 		<br>__''
-		[[_slaveName|Rules Slave NoExclude Workaround][$activeSlave = $slaves+_ssi]]]''__
+		[[_slaveName|Rules Slave NoExclude Workaround][$activeSlave = $slaves[_ssi]]]''__
 <</if>>
 <<case "Matchmaking">>
 	<br style="clear:both" /><<if $lineSeparations == 0>><br><<else>><hr style="margin:0"><</if>><<if ($seeImages == 1) && ($seeSummaryImages == 1)>><div class="imageRef smlImg"><<SlaveArt _Slave 1>></div><</if>>
 	[[_slaveName|Slave Interact][$activeSlave = $slaves[_ssi]]]
-<<case "Dinner Party Preperations">>
+<<case "Dinner Party Preparations">>
 	<br style="clear:both" /><<if $lineSeparations == 0>><br><<else>><hr style="margin:0"><</if>><<if ($seeImages == 1) && ($seeSummaryImages == 1)>><div class="imageRef smlImg"><<SlaveArt _Slave 1>></div><</if>>
 	[[_slaveName|Slave Interact][$activeSlave = $slaves[_ssi]]]
 <</switch>>