diff --git a/js/003-data/gameVariableData.js b/js/003-data/gameVariableData.js
index 2b8c265cb8ac370179612eae68cbf75261215ac8..17217915e6589e1effccf6be86474560ec14008d 100644
--- a/js/003-data/gameVariableData.js
+++ b/js/003-data/gameVariableData.js
@@ -319,7 +319,8 @@ App.Data.resetOnNGPlus = {
 
 		oralAppeal: 0,
 		vaginalAppeal: 0,
-		analAppeal: 0
+		analAppeal: 0,
+		sexualOpeness: 0
 	},
 
 	FCTV: {},
diff --git a/js/003-data/policiesData.js b/js/003-data/policiesData.js
index a16a4b8da04042cc65a5405cbf4fb16e10de7451..3187767968a592b10205cc55a8bfa4d1c126a5b5 100644
--- a/js/003-data/policiesData.js
+++ b/js/003-data/policiesData.js
@@ -350,7 +350,7 @@ App.Data.Policies.Selection = {
 				text: "you will covertly sell information on troubled potential immigrants to your arcology to their old world enemies.",
 				activatedText: "you are covertly selling information on troubled potential immigrants to your arcology.",
 				enable: -1,
-				get note() { return `Will produce ${cashFormat(policies.cost())} weekly, and slow growth of the citizen population`; }
+				get note() { return `Will produce roughly ¤${cashFormat(1000)} weekly, and slow growth of the citizen population`; }
 			}
 		],
 		"policies.immmigrationRep": [
@@ -373,7 +373,7 @@ App.Data.Policies.Selection = {
 				title: "Enslavement Kickbacks",
 				text: "you will take kickbacks in return for turning a blind eye to enslavement of poor citizens.",
 				activatedText: "you are taking kickbacks in return for turning a blind eye to enslavement of poor citizens.",
-				get note() { return `Will produce ${cashFormat(policies.cost())} weekly, and reduce the population of citizens`; }
+				get note() { return `Will produce roughly ¤${cashFormat(1000)} weekly, and reduce the population of citizens`; }
 			},
 			{
 				title: "Poor Citizen Relief",
@@ -502,6 +502,7 @@ App.Data.Policies.Selection = {
 				title: "Raiding Mercenaries",
 				text: "you will allow your mercenaries to occasionally conduct a raid directly for your benefit.",
 				activatedText: "you are allowing your mercenaries to occasionally raid for your direct benefit.",
+				requirements: function() { return (V.mercenaries > 0); },
 				get note() { return `Will cost ${cashFormat(policies.cost())} weekly to maintain`; }
 			}
 		],
@@ -1184,7 +1185,7 @@ App.Data.Policies.Selection = {
 				title: "Head Start SMR",
 				titleClass: "lime",
 				text: "in order to be sold in the arcology, slaves must pass a rigorous course designed to bring their skills and poise up to standard.",
-				requirements: function() { return (V.arcologies[0].FSIntellectualDependencySMR); },
+				requirements: function() { return (V.arcologies[0].FSIntellectualDependencySMR === 0); },
 				note: `Will help advance Slave Professionalism`
 			}
 		],
diff --git a/src/Mods/SecExp/buildings/transportHub.tw b/src/Mods/SecExp/buildings/transportHub.tw
index 8c109c753ff13109e080d3362bd89f297968712e..88a565619e2dbca8bcba3c85c678c298595406ef 100644
--- a/src/Mods/SecExp/buildings/transportHub.tw
+++ b/src/Mods/SecExp/buildings/transportHub.tw
@@ -94,7 +94,7 @@ You quickly reach the transport hub, where a constant stream of vehicles, people
 	<</link>> //Will cost <<print cashFormat(Math.trunc(45000*$upgradeMultiplierArcology))>> and will increase trade, but will affect security//
 <<elseif $airport == 4>>
 	<<link "Further enlarge the airport">>
-		<<run cashX(forceNeg(Math.truc(85000*$upgradeMultiplierArcology)), "capEx")>>
+		<<run cashX(forceNeg(Math.trunc(85000*$upgradeMultiplierArcology)), "capEx")>>
 		<<set $airport++>>
 		<<goto "transportHub">>
 	<</link>> //Will cost <<print cashFormat(Math.trunc(85000*$upgradeMultiplierArcology))>> and will increase trade, but will affect security//
@@ -152,7 +152,7 @@ You quickly reach the transport hub, where a constant stream of vehicles, people
 /* security */
 <<if $hubSecurity == 1>>
 	<<link "Expand and modernize the surveillance system">>
-		<<run cashX(forceNeg(Mat.trunc(15000*$upgradeMultiplierArcology)), "capEx")>>
+		<<run cashX(forceNeg(Math.trunc(15000*$upgradeMultiplierArcology)), "capEx")>>
 		<<set $hubSecurity++>>
 		<<goto "transportHub">>
 	<</link>> //Will cost <<print cashFormat(Math.trunc(15000*$upgradeMultiplierArcology))>> and lower the transport hub security modifiers//
diff --git a/src/Mods/SecExp/unitsBattleReport.tw b/src/Mods/SecExp/unitsBattleReport.tw
index 032c274abac4d5f4ce3a3fb140e7104c85511415..95887d2edf57a7a255267ee790403f5a864e7e42 100644
--- a/src/Mods/SecExp/unitsBattleReport.tw
+++ b/src/Mods/SecExp/unitsBattleReport.tw
@@ -14,6 +14,7 @@
 			<<if $militiaUnits[_j].isDeployed == 1>>
 				<br>
 				$militiaUnits[_j].platoonName: no casualties.
+				<<set $militiaUnits[_j].battlesFought++>>
 				<<if $militiaUnits[_j].training < 100>>
 					<<if random(1,100) > 60>>
 						Experience has increased.
@@ -28,6 +29,7 @@
 			<<if $slaveUnits[_j].isDeployed == 1>>
 				<br>
 				$slaveUnits[_j].platoonName: no casualties.
+				<<set $slaveUnits[_j].battlesFought++>>
 				<<if $slaveUnits[_j].training < 100>>
 					<<if random(1,100) > 60>>
 						Experience has increased.
@@ -42,6 +44,7 @@
 			<<if $mercUnits[_j].isDeployed == 1>>
 				<br>
 				$mercUnits[_j].platoonName: no casualties.
+				<<set $mercUnits[_j].battlesFought++>>
 				<<if $mercUnits[_j].training < 100>>
 					<<if random(1,100) > 60>>
 						Experience has increased.
diff --git a/src/Mods/SecExp/unitsRebellionReport.tw b/src/Mods/SecExp/unitsRebellionReport.tw
index 0b897d8b3418b3def6d2825d614c6c78ee59dfad..73534c482ef5add94aecacca3146bb4e3437b63c 100644
--- a/src/Mods/SecExp/unitsRebellionReport.tw
+++ b/src/Mods/SecExp/unitsRebellionReport.tw
@@ -16,6 +16,7 @@
 		<br>
 		<<for _i = 0; _i < $militiaUnits.length; _i++>>
 			<<if $militiaUnits[_i].active == 1 && ($loyalID.includes($militiaUnits[_i].ID))>>
+				<<set $militiaUnits[_i].battlesFought++>>
 				<<set _count++>>
 				<<if _count < $loyalID.length>>
 					$militiaUnits[_i].platoonName,
@@ -26,6 +27,7 @@
 		<</for>>
 		<<for _i = 0; _i < $slaveUnits.length; _i++>>
 			<<if $slaveUnits[_i].active == 1 && ($loyalID.includes($slaveUnits[_i].ID))>>
+				<<set $slaveUnits[_i].battlesFought++>>
 				<<set _count++>>
 				<<if _count < $loyalID.length>>
 					$slaveUnits[_i].platoonName,
@@ -36,6 +38,7 @@
 		<</for>>
 		<<for _i = 0; _i < $mercUnits.length; _i++>>
 			<<if $mercUnits[_i].active == 1 && ($loyalID.includes($mercUnits[_i].ID))>>
+				<<set $mercUnits[_i].battlesFought++>>
 				<<set _count++>>
 				<<if _count < $loyalID.length>>
 					$mercUnits[_i].platoonName,
diff --git a/src/data/backwardsCompatibility/backwardsCompatibility.js b/src/data/backwardsCompatibility/backwardsCompatibility.js
index d49802024c0f20a68b5aadd5f9582c3787ad6c17..7017a55f1d9922dfd1c1f204678703fb8d7e3bec 100644
--- a/src/data/backwardsCompatibility/backwardsCompatibility.js
+++ b/src/data/backwardsCompatibility/backwardsCompatibility.js
@@ -1371,16 +1371,6 @@ App.Update.oldVersions = function(node) {
 	if (V.releaseID === 1021 || V.releaseID === 1020 || V.releaseID === 1019 || V.releaseID === 2022) {
 		V.releaseID = 1022;
 	}
-	if (V.releaseID < 1043) {
-		V.defaultRules.forEach((rule) => {
-			if (rule.condition.excludeSpecialSlaves) {
-				rule.condition.specialSlaves = 0;
-			} else {
-				rule.condition.specialSlaves = -1;
-			}
-			delete rule.condition.excludeSpecialSlaves;
-		});
-	}
 	if (V.releaseID === 1043) {
 		V.slaves.forEach(s => {
 			if (s.skill && s.skill.whore) {
diff --git a/src/descriptions/arcologyDescription.js b/src/descriptions/arcologyDescription.js
index 30cb6d83f4dfce59f2eff8366488abc4f206935f..0809894ba522ba0d14ddaf74d86794c46eda09e9 100644
--- a/src/descriptions/arcologyDescription.js
+++ b/src/descriptions/arcologyDescription.js
@@ -812,7 +812,7 @@ App.Desc.playerArcology = function(lastElement) {
 		if (A.FSGenderRadicalistDecoration === 100) {
 			buffer.push(`Every single one of the slaves is female by virtue of her fuckable asshole.`);
 		} else if (A.FSGenderFundamentalistSMR === 1) {
-			buffer.push(`Almost every citizen is an upstanding man, while the slave population is almost completely female.`);
+			buffer.push(`Almost every prominent citizen is an upstanding man, while the slave population is almost completely female.`);
 		}
 		if (A.FSEgyptianRevivalistLaw === 1) {
 			buffer.push(`Close relationships between citizens and slaves, especially slave siblings, are common.`);
diff --git a/src/events/RESS/lazyEvening.js b/src/events/RESS/lazyEvening.js
index dca221a2357c5ac9506326f98d6e8d83789e03d6..ec6d378d45cc397ec5fcbca87a27b481575c9f12 100644
--- a/src/events/RESS/lazyEvening.js
+++ b/src/events/RESS/lazyEvening.js
@@ -9,7 +9,7 @@ App.Events.RESSLazyEvening = class RESSLazyEvening extends App.Events.BaseEvent
 				s => s.fetish !== "mindbroken",
 				hasAnyArms,
 				hasAnyLegs,
-				s => s.assignment === Job.FUCKTOY,
+				s => (s.assignment === Job.FUCKTOY || s.assignment === Job.MASTERSUITE || s.assignment === Job.CONCUBINE),
 				s => s.devotion > 20,
 			]
 		];
@@ -85,7 +85,13 @@ App.Events.RESSLazyEvening = class RESSLazyEvening extends App.Events.BaseEvent
 		if (getLimbCount(eventSlave, 102) > 2) {
 			t.push(`Clad in an antique T-Shirt referencing some defunct old world website, ${his} P-Limbs stand in stark contrast — gyros and servomotors against simple thread and cloth. With such tangible examples of the technological prowess of the Free Cities serving as ${his} limbs, ${his} ${eventSlave.belly >= 5000 ? "taut " : ""} shirt is an amusing testimonial to how far behind the old world stands in contrast to the new.`);
 		} else if (eventSlave.boobs > 4000) {
-			t.push(`${His} breasts are so massive that the front of ${his} loose pajama top must be unbuttoned. Even so, the protrusion of ${his} immense breasts${eventSlave.belly >= 5000 ? ` and ${bellyAdjective(eventSlave)} rounded belly` : ""} from ${his} chest strains the soft pajama top to it's breaking point.`);
+			t.push(`${His} breasts are so massive that the front of ${his} loose pajama top must be unbuttoned. Even so, the protrusion of ${his} immense breasts`);
+			if (eventSlave.belly >= 5000) {
+				t.push(`and ${bellyAdjective(eventSlave)} rounded belly from ${his} body`);
+			} else {
+				t.push(`from ${his} chest`);
+			}
+			t.push(`strains the soft pajama top to it's breaking point.`);
 		} else if (eventSlave.intelligence+eventSlave.intelligenceImplant > 50) {
 			t.push(`As a clever ${girl}, ${his} simple${eventSlave.belly >= 5000 ? `, yet tight around the middle,` : ""} summer dress evokes memories of bygone warm weather days at elite old world colleges — and the sexual conquest of their youthful residents.`);
 		} else if (eventSlave.muscles > 30) {
diff --git a/src/js/economyJS.js b/src/js/economyJS.js
index c7cef1c5abddb08932c3c954a3190690265fbb8b..38d74caa88fd2dd9ba802190b60253cf25982051 100644
--- a/src/js/economyJS.js
+++ b/src/js/economyJS.js
@@ -735,7 +735,7 @@ globalThis.calculateCosts = (function() {
 		if (V.policies.regularParties === 1) {
 			costs += policies.cost();
 		}
-		if (V.policies.immmigrationCash !== 0) {
+		if (V.policies.immmigrationCash === 1) {
 			costs += policies.cost();
 		}
 		if (V.policies.coursingAssociation === 1) {
diff --git a/src/npc/descriptions/belly/belly.js b/src/npc/descriptions/belly/belly.js
index fef3aafa62a987340180c691e48864cc096582ca..7e39a4bee79aeeb4ad3f9f440984b1061a3671c6 100644
--- a/src/npc/descriptions/belly/belly.js
+++ b/src/npc/descriptions/belly/belly.js
@@ -267,7 +267,7 @@ App.Desc.belly = function(slave, {market, eventDescription} = {}) {
 					}
 					r.push(`${His} extraordinary size greatly limits what ${he} can do and what can be done to ${him}.`);
 					if (canWalk(slave)) {
-						r.push(`Surprisingly, ${he} is still capable of moving ${him} self in such a state.`);
+						r.push(`Surprisingly, ${he} is still capable of moving ${himself} in such a state.`);
 					}
 				}
 				if (slave.weight > 190) {
@@ -450,7 +450,7 @@ App.Desc.belly = function(slave, {market, eventDescription} = {}) {
 				} else {
 					r.push(`Despite being stretched taut, you can clearly see the grotesque figures of the infants forced against ${his} uterine walls by their siblings. ${His} womb is so cramped, they can barely squirm at all under the pressure and it is a wonder ${he} has managed to grow this`);
 					if (slave.belly > (slave.pregAdaptation * 1000)) {
-						r.push(`large even the slightest provocation could cause ${him} to burst.`);
+						r.push(`large; even the slightest provocation could cause ${him} to burst.`);
 					} else {
 						r.push(`large.`);
 					}
@@ -482,7 +482,7 @@ App.Desc.belly = function(slave, {market, eventDescription} = {}) {
 				if (slave.physicalAge <= 3) {
 					r.push(`and ${he} is lost under the straining mass of the ready-to-rupture implant that`);
 					if (slave.belly > (slave.pregAdaptation * 1000)) {
-						r.push(`threatens to burst out of.`);
+						r.push(`threatens to burst out of ${his} body.`);
 					} else {
 						r.push(`thoroughly fills ${his} body.`);
 					}
@@ -1542,7 +1542,7 @@ App.Desc.belly = function(slave, {market, eventDescription} = {}) {
 			} else if (slave.bellyPreg > 0) {
 				r.push(`${He} is enormously pregnant,`);
 				if (slave.physicalAge <= 3) {
-					r.push(`and ${his} toddlerish body is absolutely filled by ${his} womb. ${He} can barely move ${him} self and resembles an over inflated blow-up doll.`);
+					r.push(`and ${his} toddlerish body is absolutely filled by ${his} womb. ${He} can barely move ${himself} and resembles an over inflated blow-up doll.`);
 				} else if (slave.physicalAge <= 12) {
 					r.push(`and ${his} huge, drum-taut belly lewdly dominates ${his} poor little frame.`);
 				} else if (slave.weight > 190) {
@@ -1583,7 +1583,7 @@ App.Desc.belly = function(slave, {market, eventDescription} = {}) {
 			} else {
 				r.push(`${He} looks full term with septuplets,`);
 				if (slave.physicalAge <= 3) {
-					r.push(`and ${his} toddlerish body is absolutely filled by ${his} implant. ${He} can barely move ${him} self and resembles an over inflated blow-up doll.`);
+					r.push(`and ${his} toddlerish body is absolutely filled by ${his} implant. ${He} can barely move ${himself} and resembles an over inflated blow-up doll.`);
 				} else if (slave.physicalAge <= 12) {
 					r.push(`and ${his} huge, drum-taut belly dominates ${his} poor little frame.`);
 				} else if (slave.weight > 190) {
@@ -1610,7 +1610,7 @@ App.Desc.belly = function(slave, {market, eventDescription} = {}) {
 			} else if (slave.bellyPreg > 0) {
 				r.push(`${He} is enormously pregnant,`);
 				if (slave.physicalAge <= 3) {
-					r.push(`and ${his} toddlerish body is absolutely filled by ${his} womb. ${He} can barely move ${him} self and resembles an over inflated blow-up doll.`);
+					r.push(`and ${his} toddlerish body is absolutely filled by ${his} womb. ${He} can barely move ${himself} and resembles an over inflated blow-up doll.`);
 				} else if (slave.physicalAge <= 12) {
 					r.push(`and ${his} huge, drum-taut belly lewdly dominates ${his} poor little frame.`);
 				} else if (slave.weight > 190) {
@@ -1649,7 +1649,7 @@ App.Desc.belly = function(slave, {market, eventDescription} = {}) {
 			} else {
 				r.push(`${He} looks full term with sextuplets,`);
 				if (slave.physicalAge <= 3) {
-					r.push(`and ${his} toddlerish body is absolutely filled by ${his} implant. ${He} can barely move ${him} self and resembles an over inflated blow-up doll.`);
+					r.push(`and ${his} toddlerish body is absolutely filled by ${his} implant. ${He} can barely move ${himself} and resembles an over inflated blow-up doll.`);
 				} else if (slave.physicalAge <= 12) {
 					r.push(`and ${his} huge, drum-taut belly dominates ${his} poor little frame.`);
 				} else if (slave.weight > 190) {
@@ -1676,7 +1676,7 @@ App.Desc.belly = function(slave, {market, eventDescription} = {}) {
 			} else if (slave.bellyPreg > 0) {
 				r.push(`${He} is enormously pregnant,`);
 				if (slave.physicalAge <= 3) {
-					r.push(`and ${his} toddlerish body is absolutely filled by ${his} womb. ${He} can barely move ${him} self and resembles an over inflated blow-up doll.`);
+					r.push(`and ${his} toddlerish body is absolutely filled by ${his} womb. ${He} can barely move ${himself} and resembles an over inflated blow-up doll.`);
 				} else if (slave.physicalAge <= 12) {
 					r.push(`and ${his} huge, drum-taut belly lewdly dominates ${his} poor little frame.`);
 				} else if (slave.weight > 190) {
@@ -1713,7 +1713,7 @@ App.Desc.belly = function(slave, {market, eventDescription} = {}) {
 			} else {
 				r.push(`${He} looks full term with quintuplets,`);
 				if (slave.physicalAge <= 3) {
-					r.push(`and ${his} toddlerish body is absolutely filled by ${his} implant. ${He} can barely move ${him} self and resembles an over inflated blow-up doll.`);
+					r.push(`and ${his} toddlerish body is absolutely filled by ${his} implant. ${He} can barely move ${himself} and resembles an over inflated blow-up doll.`);
 				} else if (slave.physicalAge <= 12) {
 					r.push(`and ${his} huge, drum-taut belly dominates ${his} poor little frame.`);
 				} else if (slave.weight > 190) {
@@ -1740,7 +1740,7 @@ App.Desc.belly = function(slave, {market, eventDescription} = {}) {
 			} else if (slave.bellyPreg > 0) {
 				r.push(`${He} is enormously pregnant,`);
 				if (slave.physicalAge <= 3) {
-					r.push(`and ${his} toddlerish body is absolutely filled by ${his} womb. ${He} can barely move ${him} self and resembles an over inflated blow-up doll.`);
+					r.push(`and ${his} toddlerish body is absolutely filled by ${his} womb. ${He} can barely move ${himself} and resembles an over inflated blow-up doll.`);
 				} else if (slave.physicalAge <= 12) {
 					r.push(`and ${his} huge, drum-taut belly lewdly dominates ${his} poor little frame.`);
 				} else if (slave.weight > 190) {
@@ -1775,7 +1775,7 @@ App.Desc.belly = function(slave, {market, eventDescription} = {}) {
 			} else {
 				r.push(`${He} looks full term with quadruplets,`);
 				if (slave.physicalAge <= 3) {
-					r.push(`and ${his} toddlerish body is absolutely filled by ${his} implant. ${He} can barely move ${him} self and resembles an over inflated blow-up doll.`);
+					r.push(`and ${his} toddlerish body is absolutely filled by ${his} implant. ${He} can barely move ${himself} and resembles an over inflated blow-up doll.`);
 				} else if (slave.physicalAge <= 12) {
 					r.push(`and ${his} huge, drum-taut belly dominates ${his} poor little frame.`);
 				} else if (slave.weight > 190) {
@@ -1802,7 +1802,7 @@ App.Desc.belly = function(slave, {market, eventDescription} = {}) {
 			} else if (slave.bellyPreg > 0) {
 				r.push(`${He} is enormously pregnant,`);
 				if (slave.physicalAge <= 3) {
-					r.push(`and ${his} toddlerish body is absolutely filled by ${his} womb. ${He} can barely move ${him} self and resembles an over inflated blow-up doll.`);
+					r.push(`and ${his} toddlerish body is absolutely filled by ${his} womb. ${He} can barely move ${himself} and resembles an over inflated blow-up doll.`);
 				} else if (slave.physicalAge <= 12) {
 					r.push(`and ${his} huge, drum-taut belly lewdly dominates ${his} poor little frame.`);
 				} else if (slave.weight > 190) {
@@ -1835,7 +1835,7 @@ App.Desc.belly = function(slave, {market, eventDescription} = {}) {
 			} else {
 				r.push(`${He} looks full term with triplets,`);
 				if (slave.physicalAge <= 3) {
-					r.push(`and ${his} toddlerish body is absolutely filled by ${his} implant. ${He} can barely move ${him} self and resembles an over inflated blow-up doll.`);
+					r.push(`and ${his} toddlerish body is absolutely filled by ${his} implant. ${He} can barely move ${himself} and resembles an over inflated blow-up doll.`);
 				} else if (slave.physicalAge <= 12) {
 					r.push(`and ${his} huge, drum-taut belly dominates ${his} poor little frame.`);
 				} else if (slave.weight > 190) {
@@ -1862,7 +1862,7 @@ App.Desc.belly = function(slave, {market, eventDescription} = {}) {
 			} else if (slave.bellyPreg > 0) {
 				r.push(`${He} is enormously pregnant,`);
 				if (slave.physicalAge <= 3) {
-					r.push(`and ${his} toddlerish body is absolutely filled by ${his} womb. ${He} can barely move ${him} self and resembles an over inflated blow-up doll.`);
+					r.push(`and ${his} toddlerish body is absolutely filled by ${his} womb. ${He} can barely move ${himself} and resembles an over inflated blow-up doll.`);
 				} else if (slave.physicalAge <= 12) {
 					r.push(`and ${his} huge, drum-taut belly lewdly dominates ${his} poor little frame.`);
 				} else if (slave.weight > 190) {
@@ -1893,7 +1893,7 @@ App.Desc.belly = function(slave, {market, eventDescription} = {}) {
 			} else {
 				r.push(`${He} looks full term with twins,`);
 				if (slave.physicalAge <= 3) {
-					r.push(`and ${his} toddlerish body is absolutely filled by ${his} implant. ${He} can barely move ${him} self and resembles an over inflated blow-up doll.`);
+					r.push(`and ${his} toddlerish body is absolutely filled by ${his} implant. ${He} can barely move ${himself} and resembles an over inflated blow-up doll.`);
 				} else if (slave.physicalAge <= 12) {
 					r.push(`and ${his} huge, drum-taut belly dominates ${his} poor little frame.`);
 				} else if (slave.weight > 190) {
@@ -1920,7 +1920,7 @@ App.Desc.belly = function(slave, {market, eventDescription} = {}) {
 			} else if (slave.bellyPreg > 0) {
 				r.push(`${He} is enormously pregnant,`);
 				if (slave.physicalAge <= 3) {
-					r.push(`and ${his} toddlerish body is absolutely filled by ${his} womb. ${He} can barely move ${him} self and resembles an over inflated blow-up doll.`);
+					r.push(`and ${his} toddlerish body is absolutely filled by ${his} womb. ${He} can barely move ${himself} and resembles an over inflated blow-up doll.`);
 				} else if (slave.physicalAge <= 12) {
 					r.push(`and ${his} huge, drum-taut belly lewdly dominates ${his} poor little frame.`);
 				} else if (slave.weight > 190) {
@@ -1949,7 +1949,7 @@ App.Desc.belly = function(slave, {market, eventDescription} = {}) {
 			} else {
 				r.push(`${He} looks hugely pregnant,`);
 				if (slave.physicalAge <= 3) {
-					r.push(`and ${his} toddlerish body is absolutely filled by ${his} implant. ${He} can barely move ${him} self and resembles an over inflated blow-up doll.`);
+					r.push(`and ${his} toddlerish body is absolutely filled by ${his} implant. ${He} can barely move ${himself} and resembles an over inflated blow-up doll.`);
 				} else if (slave.physicalAge <= 12) {
 					r.push(`and ${his} huge, drum-taut belly dominates ${his} poor little frame.`);
 				} else if (slave.weight > 190) {
@@ -1975,7 +1975,7 @@ App.Desc.belly = function(slave, {market, eventDescription} = {}) {
 			if (slave.bellyFluid >= slave.bellyPreg && slave.bellyFluid >= slave.bellyImplant) {
 				r.push(`${His} middle is enormously distended with ${slave.inflationType},`);
 				if (slave.physicalAge <= 3) {
-					r.push(`and ${his} toddlerish body is absolutely filled by ${his} bloated innards. ${He} can barely move ${him} self and resembles an over inflated blow-up doll.`);
+					r.push(`and ${his} toddlerish body is absolutely filled by ${his} bloated innards. ${He} can barely move ${himself} and resembles an over inflated blow-up doll.`);
 				} else if (slave.physicalAge <= 12) {
 					r.push(`and ${his} massive, drum-taut belly dominates ${his} poor little frame.`);
 				} else if (slave.weight > 130) {
@@ -11348,30 +11348,100 @@ App.Desc.belly = function(slave, {market, eventDescription} = {}) {
 					if (slave.bellyFluid >= slave.bellyPreg && slave.bellyFluid >= slave.bellyImplant) {
 						r.push(`${slave.slaveName}'s harem girl outfit has been specially tailored to drape over ${his} monolithic, ${slave.inflationType}-filled belly and accentuate its size and shape.`);
 					} else if (slave.bellyImplant > 0) {
-						r.push(`${slave.slaveName}'s harem girl outfit has been specially tailored to drape over ${his} monolithic, implant-filled belly and accentuate its size and shape.`);
+						r.push(`${slave.slaveName}'s harem girl outfit has been specially tailored to drape over ${his} monolithic, implant-filled belly and sensually accentuate its size and shape.`);
 					} else {
-						r.push(`${slave.slaveName}'s harem girl outfit has been specially tailored to drape over ${his} monolithic pregnancy and accentuate its size and the movement of ${his} many unborn children.`);
+						r.push(`${slave.slaveName}'s harem girl outfit has been specially tailored to drape over ${his} monolithic pregnancy and sensually accentuate its size and the movement of ${his} many unborn children.`);
+					}
+				} else if (slave.belly >= 600000) {
+					if (slave.bellyFluid >= slave.bellyPreg && slave.bellyFluid >= slave.bellyImplant) {
+					} else if (slave.bellyImplant > 0) {
+						r.push(`${slave.slaveName}'s harem girl outfit has been specially tailored to drape over ${his} titanic, implant-filled belly and sensually accentuate its size and shape.`);
+					} else {
+						r.push(`${slave.slaveName}'s harem girl outfit has been specially tailored to drape over ${his} titanic pregnancy and sensually accentuate its size and the movement of ${his} many unborn children.`);
+					}
+				} else if (slave.belly >= 450000) {
+					if (slave.bellyFluid >= slave.bellyPreg && slave.bellyFluid >= slave.bellyImplant) {
+					} else if (slave.bellyImplant > 0) {
+						r.push(`${slave.slaveName}'s harem girl outfit has been specially tailored to drape over ${his} gigantic implant-filled belly and sensually accentuate its size and shape.`);
+					} else {
+						r.push(`${slave.slaveName}'s harem girl outfit has been specially tailored to drape over ${his} gigantic pregnancy and sensually accentuate its size and shape.`);
+					}
+				} else if (slave.belly >= 300000) {
+					if (slave.bellyFluid >= slave.bellyPreg && slave.bellyFluid >= slave.bellyImplant) {
+					} else if (slave.bellyImplant > 0) {
+						r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} massive implant-filled belly and the unique motions it takes to move it.`);
+					} else {
+						r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} massive pregnancy and the unique motions it takes to move it.`);
+					}
+				} else if (slave.belly >= 120000) {
+					if (slave.bellyFluid >= slave.bellyPreg && slave.bellyFluid >= slave.bellyImplant) {
+					} else if (slave.bellyImplant > 0) {
+						r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} giant implant-filled belly and the wide movements ${he} makes with it.`);
+					} else {
+						r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} giant pregnancy and the wide movements ${he} makes with it.`);
+					}
+				} else if (slave.belly >= 30000) {
+					if (slave.bellyFluid >= slave.bellyPreg && slave.bellyFluid >= slave.bellyImplant) {
+					} else if (slave.bellyImplant > 0) {
+						r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} huge implant-filled belly and the wide movements ${he} makes with it.`);
+					} else {
+						r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} huge pregnancy and the wide movements ${he} makes with it.`);
 					}
-				} else if (slave.bellyPreg >= 600000) {
-					r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} titanic bulging pregnancy.`);
-				} else if (slave.bellyPreg >= 300000) {
-					r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} massive pregnancy.`);
 				} else if (slave.weight > 190) {
 					r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} massively fat belly and makes every jiggle of ${his} expansive flesh surprisingly alluring.`);
-				} else if (slave.bellyPreg >= 10000 || (slave.bellyAccessory === "a huge empathy belly") || (slave.bellyAccessory === "a large empathy belly")) {
-					r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} huge pregnancy.`);
+				} else if (slave.belly >= 15000 || (slave.bellyAccessory === "a huge empathy belly")) {
+					if (slave.bellyAccessory === "a huge empathy belly") {
+						r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} huge pregnant belly.`);
+					} else if (slave.bellyFluid >= slave.bellyPreg && slave.bellyFluid >= slave.bellyImplant) {
+					} else if (slave.bellyImplant > 0) {
+						r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} huge implant-filled belly.`);
+					} else {
+						r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} heavy pregnancy.`);
+					}
+				} else if (slave.belly >= 10000 || (slave.bellyAccessory === "a large empathy belly")) {
+					if (slave.bellyAccessory === "a large empathy belly") {
+						r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} big pregnant belly.`);
+					} else if (slave.bellyFluid >= slave.bellyPreg && slave.bellyFluid >= slave.bellyImplant) {
+						r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} hugely swollen stomach.`);
+					} else if (slave.bellyImplant > 0) {
+						r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} big implant-filled belly.`);
+					} else {
+						r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} advanced pregnancy.`);
+					}
 				} else if (slave.weight > 160) {
 					r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} hugely fat belly and makes every jiggle of ${his} extra flesh surprisingly alluring.`);
 				} else if (slave.weight > 130) {
 					r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} big fat belly and makes every jiggle of ${his} flesh surprisingly alluring.`);
-				} else if (slave.bellyPreg >= 5000 || (slave.bellyAccessory === "a medium empathy belly")) {
-					r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} pregnancy.`);
+				} else if (slave.belly >= 5000 || (slave.bellyAccessory === "a medium empathy belly")) {
+					if (slave.bellyAccessory === "a medium empathy belly") {
+						r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} pregnant belly.`);
+					} else if (slave.bellyFluid >= slave.bellyPreg && slave.bellyFluid >= slave.bellyImplant) {
+						r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} jiggling ${slave.inflationType}-filled.`);
+					} else if (slave.bellyImplant > 0) {
+						r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} implant-filled belly.`);
+					} else {
+						r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} pregnancy.`);
+					}
 				} else if (slave.weight > 95) {
 					r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} fat belly.`);
-				} else if (((slave.bellyPreg >= 1500) || (slave.bellyAccessory === "a small empathy belly"))) {
-					r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} growing pregnancy.`);
+				} else if (slave.belly >= 1500 || slave.bellyAccessory === "a small empathy belly") {
+					if (slave.bellyAccessory === "a small empathy belly") {
+						r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} small pregnant belly.`);
+					} else if (slave.bellyFluid >= slave.bellyPreg && slave.bellyFluid >= slave.bellyImplant) {
+						r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} ${slave.inflationType}-swollen belly.`);
+					} else if (slave.bellyImplant > 0) {
+						r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} implant-rounded middle.`);
+					} else {
+						r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} growing pregnancy.`);
+					}
 				} else if (slave.weight > 30) {
 					r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} chubby belly.`);
+				} else if (slave.bellyPreg >= 100 || slave.bellyImplant >= 100) {
+					r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates the slight swell to ${his} lower belly.`);
+				} else if (slave.muscles > 30) {
+					r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} ripped abs.`);
+				} else if (slave.muscles > 5) {
+					r.push(`${slave.slaveName}'s harem girl outfit sensually accentuates ${his} toned belly.`);
 				}
 				break;
 			case "a comfortable bodysuit":
diff --git a/src/npc/generate/generateGenetics.js b/src/npc/generate/generateGenetics.js
index 250afa87426477062e046f46b602395e402c13e3..431f2c1aac1cc0e9f49dc93f1a293f5f57910a68 100644
--- a/src/npc/generate/generateGenetics.js
+++ b/src/npc/generate/generateGenetics.js
@@ -332,27 +332,38 @@ globalThis.generateGenetics = (function() {
 	function setEyeColor(father, mother, actor2) {
 		let eyeColor;
 		let fatherEye = 0;
+
+		// during BC WombInit, the mother has been updated but the father might not have been yet.
+		// if the father is defined but doesn't have eyes, see if maybe he has an old eye color
+		if (father !== 0) {
+			if (jsDef(father.eye)) {
+				fatherEye = father.eye.origColor;
+			} else if (jsDef(father.eyeColor)) {
+				fatherEye = father.eyeColor;
+			}
+		}
+
 		if (father !== 0) {
-			if (mother.eye.origColor === father.eye.origColor) {
+			if (mother.eye.origColor === fatherEye) {
 				eyeColor = mother.eye.origColor;
 			} else if (["light red", "milky white", "pale gray", "pale red", "red"].contains(mother.eye.origColor)) {
-				eyeColor = father.eye.origColor;
-			} else if (["light red", "milky white", "pale gray", "pale red", "red"].contains(father.eye.origColor)) {
+				eyeColor = fatherEye;
+			} else if (["light red", "milky white", "pale gray", "pale red", "red"].contains(fatherEye)) {
 				eyeColor = mother.eye.origColor;
 			} else if (["blue", "dark blue", "deep blue", "light blue", "light grey"].contains(mother.eye.origColor)) {
 				if (jsRandom(1, 4) === 2) {
 					eyeColor = mother.eye.origColor;
 				} else {
-					eyeColor = father.eye.origColor;
+					eyeColor = fatherEye;
 				}
-			} else if (["blue", "dark blue", "deep blue", "light blue", "light grey"].contains(father.eye.origColor)) {
+			} else if (["blue", "dark blue", "deep blue", "light blue", "light grey"].contains(fatherEye)) {
 				if (jsRandom(1, 4) === 2) {
-					eyeColor = father.eye.origColor;
+					eyeColor = fatherEye;
 				} else {
 					eyeColor = mother.eye.origColor;
 				}
 			} else {
-				eyeColor = jsEither([father.eye.origColor, mother.eye.origColor]);
+				eyeColor = jsEither([fatherEye, mother.eye.origColor]);
 			}
 		} else {
 			if (((actor2 === -2 || actor2 === -5) && V.arcologies[0].FSSupremacistLawME === 1) || (actor2 === -6 && V.arcologies[0].FSSupremacist !== "unset")) {
@@ -724,6 +735,12 @@ globalThis.generateGenetics = (function() {
 		let fathergenes = 0;
 		let genetarget = 0;
 
+		// during BC WombInit, the mother has been updated but the father might not have been yet.
+		// if the father is defined but doesn't have genetic quirks, just ignore him
+		if (father !== 0 && !jsDef(father.geneticQuirks)) {
+			father = 0;
+		}
+
 		// Genetics implementation
 		// Autosomal recessive: For each gene, add up gene level (0, 1, or 2) for both parents; if total level 1 or above, then roll a d16.
 		// If result is less than 2^(total gene level), child manifests the quirk.
diff --git a/src/uncategorized/arcmgmt.tw b/src/uncategorized/arcmgmt.tw
index 02f32d7e9052ca5c6e9ed9b799fc9d46826e4c74..e965a3ea34493b0b04c59941461dbaba8150e567 100644
--- a/src/uncategorized/arcmgmt.tw
+++ b/src/uncategorized/arcmgmt.tw
@@ -1175,7 +1175,7 @@ _percTopClass = Math.trunc(($topClass / ($ACitizens + $ASlaves)) * 1000) / 10>>
 <br><<if $arcologies[0].FSSupremacistLawME == 1>>The citizenry is entirely $arcologies[0].FSSupremacistRace.<</if>>
 <<if $arcologies[0].FSRomanRevivalistLaw == 1>>The citizens take pride in their martial duties, preferring to wear utilitarian clothing even when off duty.<</if>>
 <<if $arcologies[0].FSGenderRadicalistDecoration == 100>>Every single one of the slaves is female by virtue of her fuckable asshole.
-<<elseif $arcologies[0].FSGenderFundamentalistSMR == 1>>Almost every citizen is an upstanding man, while the slave population is almost completely female.<</if>>
+<<elseif $arcologies[0].FSGenderFundamentalistSMR == 1>>Almost every prominent citizen is an upstanding man, while the slave population is almost completely female.<</if>>
 <<if $arcologies[0].FSEgyptianRevivalistLaw == 1>>Close relationships between citizens and slaves, especially slave siblings, are common.<<elseif $arcologies[0].FSEgyptianRevivalistIncestPolicy == 1>>Close relationships between citizens, slaves and siblings are common.<</if>>
 <<if $arcologies[0].FSSubjugationistLawME == 1>><<= capFirstChar($arcologies[0].FSSubjugationistRace)>> subhumans form a majority of the slaves.<</if>>
 <<if $arcologies[0].FSChattelReligionistLaw == 1>>The slave population as a whole is unusually accepting of its station.<</if>>