diff --git a/src/Mods/DinnerParty/dinnerPartyExecution.tw b/src/Mods/DinnerParty/dinnerPartyExecution.tw
index 062b35f3acac37d80c91e38cff42b29dcde1d3d9..cccc82a810f5ebe98ec10773e26d843cc3026e88 100644
--- a/src/Mods/DinnerParty/dinnerPartyExecution.tw
+++ b/src/Mods/DinnerParty/dinnerPartyExecution.tw
@@ -198,18 +198,18 @@
 	/*<br style="clear:both" />*/
 	<br>	
 	/% Bonus dish Baby Veal Ragout %/
-	<<if $activeSlave.preg >= 10>>
+	<<if $activeSlave.preg >= $activeSlave.pregData.normalBirth/4>>
 		<<set _dishRating = 5>>
 		/*<img src='resources/veal ragout.jpg' style="float:left" />*/
 		The next course is a bonus dish ''//Baby Veal Ragout//'':
 		<br>
 		$activeSlave.slaveName was pregnant so $he has a special bonus dish to offer your guests. $His fetus is boiled in a vinegar stock and stewed in butter.
-		<<if $activeSlave.preg >= 25>>
+		<<if $activeSlave.preg >= $activeSlave.pregData.normalBirth/1.6>>
 			Your guests are pleased with the huge size of the dish.
-		<<elseif $activeSlave.preg >= 20>>
+		<<elseif $activeSlave.preg >= $activeSlave.pregData.normalBirth/2>>
 			Your guests are pleased with the large size of the dish.
 			<<set _dishRating -= 1>>
-		<<elseif $activeSlave.preg >= 15>>
+		<<elseif $activeSlave.preg >= $activeSlave.pregData.normalBirth/2.66>>
 			Your guests are satisfied with the decent size of the dish.
 			<<set _dishRating -= 2>>
 		<<else>>
diff --git a/src/SecExp/attackHandler.tw b/src/SecExp/attackHandler.tw
index cf0e6fcd8bbd1cc06940a4d890b80b63368baf12..6132d17c348455b31cb12f39f537ff498108693f 100644
--- a/src/SecExp/attackHandler.tw
+++ b/src/SecExp/attackHandler.tw
@@ -312,7 +312,7 @@
 	<<if $Bodyguard.butt >= 6>>
 		<<set _woundChance += 1>>
 	<</if>>
-	<<if $Bodyguard.preg >= 30>>
+	<<if $Bodyguard.belly > 6000>>
 		<<set _woundChance += 1>>
 	<</if>>
 	<<if $Bodyguard.dick >= 8>>
@@ -440,7 +440,7 @@
 	<<if $HeadGirl.butt >= 6>>
 		<<set _woundChance += 1>>
 	<</if>>
-	<<if $HeadGirl.preg >= 30>>
+	<<if $HeadGirl.belly > 10000>>
 		<<set _woundChance += 1>>
 	<</if>>
 	<<if $HeadGirl.dick >= 8>>
diff --git a/src/SecExp/rebellionReport.tw b/src/SecExp/rebellionReport.tw
index bc447191e64c0a5ba01f287e74776ae95507ad4f..ed5d9772717c8cfa7a568bf4c9c0d00f892595c5 100644
--- a/src/SecExp/rebellionReport.tw
+++ b/src/SecExp/rebellionReport.tw
@@ -640,7 +640,7 @@
 			<<if $Concubine.butt >= 6>>
 				<<set _woundChance += 1>>
 			<</if>>
-			<<if $Concubine.preg >= 30>>
+			<<if $Concubine.belly > 10000>> 
 				<<set _woundChance += 1>>
 			<</if>>
 			<<if $Concubine.dick >= 8>>
@@ -703,7 +703,7 @@
 		<<if $Bodyguard.butt >= 6>>
 			<<set _woundChance += 1>>
 		<</if>>
-		<<if $Bodyguard.preg >= 30>>
+		<<if $Bodyguard.belly > 6000>>
 			<<set _woundChance += 1>>
 		<</if>>
 		<<if $Bodyguard.dick >= 8>>
@@ -810,7 +810,7 @@
 			<<if $Concubine.butt >= 6>>
 				<<set _woundChance += 1>>
 			<</if>>
-			<<if $Concubine.preg >= 30>>
+			<<if $Concubine.belly > 10000>>
 				<<set _woundChance += 1>>
 			<</if>>
 			<<if $Concubine.dick >= 8>>
@@ -918,7 +918,7 @@
 			<<if $Concubine.butt >= 6>>
 				<<set _woundChance += 1>>
 			<</if>>
-			<<if $Concubine.preg >= 30>>
+			<<if $Concubine.belly > 10000>>
 				<<set _woundChance += 1>>
 			<</if>>
 			<<if $Concubine.dick >= 8>>
diff --git a/src/facilities/nursery/childInteract.tw b/src/facilities/nursery/childInteract.tw
index 04e62a95faab251072e45126ef2b9f5c82866a2c..0b49937d43e723609fe79d28ff7bcdcf04d7e762 100644
--- a/src/facilities/nursery/childInteract.tw
+++ b/src/facilities/nursery/childInteract.tw
@@ -960,7 +960,7 @@ Aphrodisiacs: <span id="aphrodisiacs"><strong><<if $activeSlave.aphrodisiacs > 1
 			<</link>>
 		<<elseif $activeSlave.induce == 1>>
 			//Hormones are being slipped into $his food, $he will give birth suddenly and rapidly this week//
-		<<elseif ($activeSlave.preg > 38) && ($activeSlave.broodmother == 0) && ($activeSlave.labor == 0)>>
+		<<elseif ($activeSlave.preg >= $activeSlave.pregData.normalBirth-2 && $activeSlave.preg > $activeSlave.pregData.minLiveBirth) && ($activeSlave.broodmother == 0) && ($activeSlave.labor == 0)>>
 			[[Induce labor|Child Interact][$activeSlave.labor = 1,$activeSlave.induce = 1,$birthee = 1]]
 			| <<link "Give $him a cesarean section" "csec">><</link>>
 		<<elseif ($activeSlave.broodmother > 0)>>
@@ -970,7 +970,7 @@ Aphrodisiacs: <span id="aphrodisiacs"><strong><<if $activeSlave.aphrodisiacs > 1
 			<<if ($activeSlave.preg > 37)>>
 				| [[Induce mass childbirth|BirthStorm]]
 			<</if>>
-		<<elseif ($activeSlave.preg > 35)>>
+		<<elseif ($activeSlave.preg > $activeSlave.pregData.minLiveBirth)>>
 			| <<link "Give $him a cesarean section" "csec">><</link>>
 		<<elseif ($activeSlave.preg > 0) && $activeSlave.breedingMark == 1 && $propOutcome == 1 && $activeSlave.pregSource == -1>>
 			//You are forbidden from aborting an elite child//
@@ -982,14 +982,14 @@ Aphrodisiacs: <span id="aphrodisiacs"><strong><<if $activeSlave.aphrodisiacs > 1
 <<if ($activeSlave.pregKnown == 1) && ($pregSpeedControl == 1) && ($activeSlave.breedingMark != 1 || $propOutcome == 0) && ($activeSlave.indentureRestrictions < 1) && ($activeSlave.broodmother == 0) && $seePreg != 0>>
 <br>&nbsp;&nbsp;&nbsp;&nbsp;
 	__Pregnancy control__: <<if $activeSlave.pregControl == "labor supressors">>Labor is suppressed<<elseif $activeSlave.pregControl == "slow gestation">>Slowed gestation speed<<elseif $activeSlave.pregControl == "speed up">>Faster gestation speed, staffed clinic recommended<<else>>Normal gestation and birth<</if>>.
-	<<if ($activeSlave.preg >= 38)>>
+	<<if ($activeSlave.preg >= $activeSlave.pregData.minLiveBirth)>>
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;
 		<<if $activeSlave.pregControl == "labor supressors">>
 			<<link "Normal Birth">><<set $activeSlave.pregControl = "none">><<SlaveInteractFertility>><</link>>
 		<<else>>
 			<<link "Supress Labor">><<set $activeSlave.pregControl = "labor supressors">><<SlaveInteractFertility>><</link>>
 		<</if>>
-	<<elseif ($activeSlave.preg < 40)>>
+	<<elseif ($activeSlave.preg < $activeSlave.pregData.normalBirth)>>
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;
 		<<if $activeSlave.pregControl != "none">>
 			<<link "Normal Gestation">><<set $activeSlave.pregControl = "none">><<SlaveInteractFertility>><</link>> |
diff --git a/src/js/DefaultRules.tw b/src/js/DefaultRules.tw
index 9cac5e730f6431a39ce1812f2ef4b010a082fe8a..0ec19616ede17f21376b5e7703c17602ecbf8f17 100644
--- a/src/js/DefaultRules.tw
+++ b/src/js/DefaultRules.tw
@@ -1643,16 +1643,16 @@ window.DefaultRules = (function() {
 
 	function ProcessPregnancyDrugs(slave, rule) {
 		if (slave.pregKnown == 1 && rule.pregSpeed != "no default setting" && (slave.breedingMark != 1 || V.propOutcome == 0) && slave.indentureRestrictions < 1 && slave.broodmother === 0) {
-			if (rule.pregSpeed == "slow" && slave.preg < 35) {
+			if (rule.pregSpeed == "slow" && slave.preg < slave.pregData.minLiveBirth) {
 				slave.pregControl = "slow gestation";
 				r += `<br>${slave.slaveName} is pregnant, so she has been put on the gestation slowing agents.`;
-			} else if (rule.pregSpeed == "fast" && slave.preg < 35 && slave.health > -50) {
+			} else if (rule.pregSpeed == "fast" && slave.preg < slave.pregData.minLiveBirth && slave.health > -50) {
 				slave.pregControl = "speed up";
 				r += `<br>${slave.slaveName} is pregnant, so she has been put on rapid gestation agents. CAUTION! Can be dangerous. Clinic supervision is recommended.`;
-			} else if (rule.pregSpeed == "suppress" && slave.preg > 34 && slave.health > -50) {
+			} else if (rule.pregSpeed == "suppress" && slave.preg >= slave.pregData.minLiveBirth && slave.health > -50) {
 				slave.pregControl = "labor supressors";
 				r += `<br>${slave.slaveName} is ready to birth, so she has been put on labor suppressing agents.`;
-			} else if (rule.pregSpeed == "stimulate" && slave.preg >= 37 && slave.health > -50) {
+			} else if (rule.pregSpeed == "stimulate" && slave.preg > slave.pregData.minLiveBirth && slave.health > -50) {
 				slave.labor = 1;
 				slave.induce = 1;
 				V.birthee = 1;
diff --git a/src/js/assayJS.tw b/src/js/assayJS.tw
index b69dc65a39a063512952e64cfd48ecafe4912ea3..1c70c04ae9d4e58740f4dd49461ecad5e5dffcf9 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 > 30) && (slave.pregType >= 20)) || (slave.belly >= 300000)) {
+		if (((slave.preg > $activeSlave.pregData.normalBirth/1.33) && (slave.pregType >= 20)) || (slave.belly >= 300000)) {
 			tatScore += 0.75;
-		} else if (((slave.preg > 20) && (slave.pregType >= 20)) || ((slave.preg > 30) && (slave.pregType >= 10)) || (slave.belly >= 150000)) {
+		} else if (((slave.preg > $activeSlave.pregData.normalBirth/2) && (slave.pregType >= 20)) || ((slave.preg > $activeSlave.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 >= 10) && (slave.pregType >= 20)) || ((slave.preg > 10) && (slave.pregType >= 10)) || (slave.belly >= 5000)) {
+		} else if (((slave.preg >= $activeSlave.pregData.normalBirth/4) && (slave.pregType >= 20)) || ((slave.preg > $activeSlave.pregData.normalBirth/4) && (slave.pregType >= 10)) || (slave.belly >= 5000)) {
 			tatScore += 0.5;
 		} else if (slave.belly >= 1500) {
 			tatScore += 0.25;
@@ -1320,7 +1320,7 @@ window.SlaveTitle = function SlaveTitle(slave) {
 			r = "indentured " + r;
 		}
 
-		if (slave.preg > 10 && slave.pregKnown === 1) {
+		if (slave.preg > slave.pregData.normalBirth/4 && slave.pregKnown === 1) {
 			r = "pregnant " + r;
 		} else if (slave.bellyFluid >= 5000) {
 			r = "bloated " + r;
@@ -1531,7 +1531,7 @@ window.SlaveTitle = function SlaveTitle(slave) {
 			r = "indentured " + r;
 		}
 
-		if (slave.preg > 10 && slave.pregKnown === 1) {
+		if (slave.preg > slave.pregData.normalBirth/4 && slave.pregKnown === 1) {
 			r = "pregnant " + r;
 		} else if (slave.bellyFluid >= 5000) {
 			r = "bloated " + r;
@@ -1689,7 +1689,7 @@ window.DegradingName = function DegradingName(slave) {
 			names.push("Potent");
 			suffixes.push("Cannon", "Daddy");
 		}
-		if (slave.preg > 30) {
+		if (slave.preg > slave.pregData.normalBirth/1.33) {
 			if (slave.broodmother === 2) {
 				names.push("Bursting", "Seeded");
 				suffixes.push("Factory", "Nursery");
@@ -2173,7 +2173,7 @@ window.Deadliness = function Deadliness(slave) {
 	
 	if (slave.labor === 1) {
 		deadliness -= 15;
-	} else if (slave.preg >= 40 && slave.pregControl !== "labor supressors") {
+	} else if (slave.preg >= slave.pregData.normalBirth && slave.pregControl !== "labor supressors") {
 		deadliness -= 5;
 	}
 
diff --git a/src/js/economyJS.tw b/src/js/economyJS.tw
index 03e1955e6b3babfcd6819780988b92c5fe6fcc88..2c0a51ce590072503956974eccb3377e7fcfb955 100644
--- a/src/js/economyJS.tw
+++ b/src/js/economyJS.tw
@@ -460,7 +460,7 @@ window.getSlaveCost = function(s) {
 	if(s.lactation > 0) {
 		cost += foodCost * s.lactation * (1 + Math.trunc(s.boobs/10000));
 	}
-	if(s.preg > 5) {
+	if(s.preg > s.pregData.normalBirth/8) {
 		if(s.assignment === Job.DAIRY && State.variables.dairyFeedersSetting > 0) {
 			// Extra feeding costs to support pregnancy are covered by dairy feeders.
 			// TODO: Include them here anyway?
@@ -541,7 +541,7 @@ window.getSlaveCost = function(s) {
 		cost += 50;
 	}
 	if((s.assignment !== Job.DAIRY || State.variables.dairyRestraintsSetting < 2) && (s.assignment !== Job.ARCADE)) {
-		if(s.preg > 35 && State.variables.universalRulesBirthing === 1) {
+		if(s.preg > s.pregData.minLiveBirth && State.variables.universalRulesBirthing === 1) {
 			cost += 50;
 		}
 	}
diff --git a/src/js/pregJS.tw b/src/js/pregJS.tw
index 7e17b5554ab6e643ed1176c5a535874f6bd07817..8a70791af35b32e5830e0af943e14f9da93d652f 100644
--- a/src/js/pregJS.tw
+++ b/src/js/pregJS.tw
@@ -22,25 +22,25 @@ window.bellyAdjective = function(slave) {
 	slave = slave || State.variables.activeSlave;
 	if(slave.belly >= 1500) {
 		if(slave.belly >= 1000000) {
-			if(slave.preg > 10) {
+			if(slave.preg > slave.pregData.normalBirth/4) {
 				return 'unfathomably distended, brimming with life';
 			} else {
 				return 'unfathomable';
 			}
 		} else if(slave.belly >= 750000) {
-			if(slave.preg > 10) {
+			if(slave.preg > slave.pregData.normalBirth/4) {
 				return 'monolithic bulging';
 			} else {
 				return 'monolithic';
 			}
 		} else if(slave.belly >= 600000) {
-			if(slave.preg > 10) {
+			if(slave.preg > slave.pregData.normalBirth/4) {
 				return 'titanic bulging';
 			} else {
 				return 'titanic';
 			}
 		} else if(slave.belly >= 450000) {
-			if(slave.preg > 10) {
+			if(slave.preg > slave.pregData.normalBirth/4) {
 				return 'gigantic bulgy';
 			} else {
 				return 'gigantic';
@@ -65,7 +65,7 @@ window.bellyAdjective = function(slave) {
 window.setPregType = function(actor) {
 	/* IMHO rework is posssible. Can be more interesting to play, if this code will take in account more body conditions - age, fat, food, hormone levels, etc. */
 
-	var ovum = 1;
+	var ovum = jsRandom(actor.pregData.normalOvaMin, actor.pregData.normalOvaMax); //for default human profile it's always 1.
 	var fertilityStack = 0; // adds an increasing bonus roll for stacked fertility drugs
 
 	if(actor.broodmother < 1) { // Broodmothers should be not processed here. Necessary now.
diff --git a/src/js/slaveCostJS.tw b/src/js/slaveCostJS.tw
index dee86baf67e76a848fb2bf70ff86084038799e7f..da855925a243a62e9cdd91e52d2f79880387e644 100644
--- a/src/js/slaveCostJS.tw
+++ b/src/js/slaveCostJS.tw
@@ -752,7 +752,7 @@ window.Beauty = (function() {
 	};
 
 	function calcRepopulationPregBeauty(slave) {
-		if (slave.preg > 30) { /*limited huge boost for full term */
+		if (slave.preg > slave.pregData.normalBirth/1.33) { /*limited huge boost for full term */
 			if (slave.broodmother > 0) {
 				beauty += 0.4*(slave.broodmother*arcology.FSRepopulationFocus); /*40-80 limited due to constant presence. Also good breeders, but subpar mothers*/
 			} else if (slave.bellyPreg >= 600000) {
@@ -764,7 +764,7 @@ window.Beauty = (function() {
 			} else {
 				beauty += 0.8*arcology.FSRepopulationFocus; /*80*/
 			}
-		} else if (slave.preg > 20) {
+		} else if (slave.preg > slave.pregData.normalBirth/2) {
 			if (slave.pregType >= 20) {
 				beauty += 10*(arcology.FSRepopulationFocus/40); /*25*/
 			} else if (slave.pregType >= 10) {
@@ -772,7 +772,7 @@ window.Beauty = (function() {
 			} else {
 				beauty += 8*(arcology.FSRepopulationFocus/40); /*20*/
 			}
-		} else if (slave.preg > 10) {
+		} else if (slave.preg > slave.pregData.normalBirth/4) {
 			if (slave.pregType >= 20) {
 				beauty += arcology.FSRepopulationFocus/5; /*20*/
 			} else if (slave.pregType >= 10) {
@@ -796,11 +796,11 @@ window.Beauty = (function() {
 
 	function calcRestartPregBeauty(slave) {
 		if (slave.breedingMark === 1 && V.propOutcome === 1) {
-			if (slave.preg > 5 && slave.pregSource === -1) {
+			if (slave.preg > slave.pregData.normalBirth/8 && slave.pregSource === -1) {
 				beauty += arcology.FSRestart; /*100*/
 			}
 		} else {
-			if (slave.preg > 30) {
+			if (slave.preg > slave.pregData.normalBirth/1.33) {
 				if (slave.bellyPreg >= 600000) {
 					beauty -= 2.5*arcology.FSRestart; /*-250*/
 				} else if (slave.bellyPreg >= 300000) {
@@ -810,7 +810,7 @@ window.Beauty = (function() {
 				} else {
 					beauty -= 0.75*arcology.FSRestart; /*-75*/
 				}
-			} else if (slave.preg > 20) {
+			} else if (slave.preg > slave.pregData.normalBirth/2) {
 				if (slave.pregType >= 20) {
 					beauty -= arcology.FSRestart/1.5; /*-66.6*/
 				} else if (slave.pregType >= 10) {
@@ -818,7 +818,7 @@ window.Beauty = (function() {
 				} else {
 					beauty -= arcology.FSRestart/3; /*-33.3*/
 				}
-			} else if (slave.preg > 10) {
+			} else if (slave.preg > slave.pregData.normalBirth/4) {
 				if (slave.pregType >= 20) {
 					beauty -= 3*(arcology.FSRestart/8); /*-37.5*/
 				} else if (slave.pregType >= 10) {
@@ -1129,7 +1129,7 @@ window.Beauty = (function() {
 				}
 			}
 		} else if (arcology.FSGenderFundamentalist === "unset") {
-			if (slave.preg > 10 && arcology.FSRepopulationFocus === "unset" && arcology.FSRestart === "unset") {
+			if (slave.preg > slave.pregData.normalBirth/4 && arcology.FSRepopulationFocus === "unset" && arcology.FSRestart === "unset") {
 				beauty = 0.8*beauty;
 			}
 		}
@@ -1361,12 +1361,12 @@ window.FResult = (function() {
 	}
 	function calcPreg(slave) {
 		if (V.arcologies[0].FSRepopulationFocus > 20) {
-			if (slave.preg > 10) result += 2;
+			if (slave.preg > slave.pregData.normalBirth/4) result += 2;
 			else result -= 2;
 		} else if (V.arcologies[0].FSRestart > 20) {
 			if (slave.bellyPreg >= 500 && slave.breedingMark === 1 && V.propOutcome === 1)
 				result += 1;
-			else if (slave.preg > 10)
+			else if (slave.preg > slave.pregData.normalBirth/4)
 				result -= 10;
 			else
 				result += 0;
@@ -1637,7 +1637,7 @@ window.slaveCost = (function() {
 				multiplier += 1;
 			} else if (slave.bellyPreg >= 120000) {
 				multiplier += 0.5;
-			} else if (slave.preg > 10) {
+			} else if (slave.preg > slave.pregData.normalBirth/4) {
 				multiplier += 0.1;
 			}
 		} else if (arcology.FSRestartSMR === 1) {
@@ -1647,7 +1647,7 @@ window.slaveCost = (function() {
 				multiplier -= 2.5;
 			} else if (slave.bellyPreg >= 30000) {
 				multiplier -= 1.5;
-			} else if (slave.preg > 10) {
+			} else if (slave.preg > slave.pregData.normalBirth/4) {
 				multiplier -= 1.0;
 			}
 		} else {
@@ -1657,7 +1657,7 @@ window.slaveCost = (function() {
 				multiplier -= 1.5;
 			} else if (V.activeSlave.bellyPreg >= 120000) {
 				multiplier -= 0.5;
-			} else if (slave.preg > 10) {
+			} else if (slave.preg > slave.pregData.normalBirth/4) {
 				multiplier -= 0.1;
 			}
 		}
diff --git a/src/js/slaveSummaryWidgets.tw b/src/js/slaveSummaryWidgets.tw
index 58a2abe9d3680047dca7294028cb0d8d78ab87dd..2a7c0349def2658fe4106a7290638c81ffec7716 100644
--- a/src/js/slaveSummaryWidgets.tw
+++ b/src/js/slaveSummaryWidgets.tw
@@ -803,7 +803,7 @@ window.SlaveSummaryUncached = (function(){
 			r += `<strong>CC</strong>`;
 		} else if (slave.preg === 0 && (slave.ovaries === 1 || slave.mpreg === 1)) {
 			r += `<strong>Fert+</strong>`;
-		} else if (((slave.preg < 4) && (slave.preg > 0) && slave.pregKnown === 0) || slave.pregWeek === 1) {
+		} else if (((slave.preg < slave.pregData.normalBirth/10) && (slave.preg > 0) && slave.pregKnown === 0) || slave.pregWeek === 1) {
 			r += `<strong>Preg?</strong>`;
 		} else if ((slave.preg >= 36) && (slave.broodmother > 0)) {
 			r += `<strong>Perm preg</strong>`;
@@ -880,7 +880,7 @@ window.SlaveSummaryUncached = (function(){
 			r += `On contraceptives.`;
 		} else if (slave.preg === 0 && (slave.ovaries === 1 || slave.mpreg === 1)) {
 			r += `Fertile.`;
-		} else if (((slave.preg < 4) && (slave.preg > 0) && slave.pregKnown === 0) || slave.pregWeek === 1) {
+		} else if (((slave.preg < slave.pregData.normalBirth/10) && (slave.preg > 0) && slave.pregKnown === 0) || slave.pregWeek === 1) {
 			r += `May be pregnant.`;
 		} else if ((slave.preg >= 36) && (slave.broodmother > 0)) {
 			r += `Permanently pregnant.`;
@@ -913,6 +913,9 @@ window.SlaveSummaryUncached = (function(){
 					r += `twins.`;
 				}
 			}
+			if (slave.preg > slave.pregData.normalBirth && slave.broodmother == 0) {
+				r += ` (Overdue.)`;
+			}
 		}
 		r += `</span> `;
 		if (slave.induce === 1) {
diff --git a/src/js/storyJS.tw b/src/js/storyJS.tw
index 658d6c155b80dd54ac7f8104f838c22aa3ef875b..42f46de493243c5a450d322139b6b65bd91f8078 100644
--- a/src/js/storyJS.tw
+++ b/src/js/storyJS.tw
@@ -847,25 +847,25 @@ window.toJson = function(obj) {
 window.nippleColor = function(slave) {
 	slave = slave || State.variables.activeSlave;
 	if(slave.skin === 'tanned' || slave.skin === 'fair') {
-		if(slave.preg > 10 || (slave.birthsTotal > 0 && slave.lactation > 0)) {
+		if(slave.preg > slave.pregData.normalBirth/4 || (slave.birthsTotal > 0 && slave.lactation > 0)) {
 			return 'dark brown';
 		} else {
 			return 'pink';
 		}
 	} else if((slave.skin === 'pale' || slave.race === 'white')) {
-		if(slave.preg > 10 || (slave.birthsTotal > 0 && slave.lactation > 0)) {
+		if(slave.preg > slave.pregData.normalBirth/4 || (slave.birthsTotal > 0 && slave.lactation > 0)) {
 			return 'brown';
 		} else {
 			return 'pink';
 		}
 	} else if((slave.skin === 'brown' || slave.race === 'black')) {
-		if(slave.preg > 10 || (slave.birthsTotal > 0 && slave.lactation > 0)) {
+		if(slave.preg > slave.pregData.normalBirth/4 || (slave.birthsTotal > 0 && slave.lactation > 0)) {
 			return 'black';
 		} else {
 			return 'dark brown';
 		}
 	} else {
-		if(slave.preg > 10 || (slave.birthsTotal > 0 && slave.lactation > 0)) {
+		if(slave.preg > slave.pregData.normalBirth/4 || (slave.birthsTotal > 0 && slave.lactation > 0)) {
 			return 'dark brown';
 		} else {
 			return 'brown';
diff --git a/src/js/vignettes.tw b/src/js/vignettes.tw
index db6775f40dc6b43ad01d8c3e6d81902379ed2556..d9aa3853db521c25dc8d9cee6ac12e57f65406ee 100644
--- a/src/js/vignettes.tw
+++ b/src/js/vignettes.tw
@@ -1355,7 +1355,7 @@ window.GetVignette = function GetVignette(slave) {
 					effect: 1,
 				});
 			}
-			if (slave.preg > 10 && slave.pregKnown > 1 && slave.bellyPreg >= 5000) {
+			if (slave.preg > slave.pregData.normalBirth/4 && slave.pregKnown > 1 && slave.bellyPreg >= 5000) {
 				vignettes.push({
 					text: `a customer loved ${his} pregnant belly so much that he came back for repeat business,`,
 					type: "cash",
@@ -2932,7 +2932,7 @@ window.GetVignette = function GetVignette(slave) {
 					effect: 1,
 				});
 			}
-			if (slave.preg > 10 && slave.pregKnown > 1 && slave.bellyPreg >= 5000) {
+			if (slave.preg > slave.pregData.normalBirth/4 && slave.pregKnown > 1 && slave.bellyPreg >= 5000) {
 				vignettes.push({
 					text: `a citizen loved ${his} pregnant belly so much that he came back for repeat service,`,
 					type: "rep",
diff --git a/src/js/wombJS.tw b/src/js/wombJS.tw
index e60f148c86cfa15f37a62fb297aec8a1183a538a..dfdaf9991d7c09ec432ae984fc899c96194c7d77 100644
--- a/src/js/wombJS.tw
+++ b/src/js/wombJS.tw
@@ -64,7 +64,7 @@ window.WombInit = function(actor) {
 	} 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, aproximation used.
 		var i, pw = actor.preg, bCount, bLeft;
-		if (pw > 40) pw = 40; //to avoid disaster.
+		if (pw > actor.pregData.normalBirth) pw = actor.pregData.normalBirth; //to avoid disaster.
 		bCount = Math.floor(actor.pregType/pw);
 		bLeft = actor.pregType - (bCount*pw);
 		if (pw > actor.pregType) {
diff --git a/src/npc/acquisition.tw b/src/npc/acquisition.tw
index 831728a100eac224d1603d30cc3a20e893eec1fe..e8915d07d445661bd37d1fec4dc3199051b366f3 100644
--- a/src/npc/acquisition.tw
+++ b/src/npc/acquisition.tw
@@ -626,7 +626,7 @@ The previous owner seems to have left in something of a hurry.
 		<<elseif $activeSlave.energy > 95>>
 			$activeSlave.slaveName is a remarkable sexual addict, and I believe she will be very happy to meet you.
 		<<elseif $activeSlave.fetish == "pregnancy">>
-			<<if $activeSlave.preg > 10>>
+			<<if $activeSlave.preg > $activeSlave.pregData.normalBirth/4>>
 				$activeSlave.slaveName is currently in the dormitory masturbating over her growing pregnancy, and <<if $PC.belly >= 5000>>will certainly be eager to meet you<<else>>I believe she will be happy to show it to you<</if>>.
 			<<else>>
 				$activeSlave.slaveName is currently in the dormitory examining herself to try to discern her fertility, and I believe she will be <<if $PC.belly >= 5000>>eager to get acquainted with you<<else>>happy to meet you<</if>>.
diff --git a/src/npc/fAbuse.tw b/src/npc/fAbuse.tw
index 70a29249b83d4b422659aa14d7b669b5e0046a83..5b6c8206db4a765470b00cbe168a59b976aa6f54 100644
--- a/src/npc/fAbuse.tw
+++ b/src/npc/fAbuse.tw
@@ -40,7 +40,7 @@
 		a vicious pinch to each side of $his sensitive, fully inverted nipples,
 	<<elseif $activeSlave.bellyPreg >= 100000>>
 		a vicious slap across $his overfull pregnant belly,
-	<<elseif ($activeSlave.preg > 10)>>
+	<<elseif ($activeSlave.preg > $activeSlave.pregData.normalBirth/4)>>
 		a vicious slap across $his pregnant belly,
 	<<elseif ($activeSlave.heels > 0)>>
 		a vicious thrust to $his altered tendons,
@@ -364,7 +364,7 @@ from your victim.
 <<elseif $activeSlave.bellyPreg >= 120000>>
 	The bitch is hugely pregnant, so hard intercourse will be uncomfortable and worrying for $him. You have hard intercourse. $He sobs as you rock the huge weight of $his belly back and forth without mercy, forcing $his already straining belly to bulge further, and whines as $he feels your cockhead batter $his womb.<<if ($PC.vagina == 1) && ($PC.dick == 1)>> Fortunately for $him, this gets you so wet that some of your pussyjuice makes it down onto your shaft and serves as improvised lube.<</if>> More cum won't make the bitch more pregnant, but you cum inside $him anyway.
 	<<= VaginalVCheck()>>
-<<elseif ($activeSlave.preg > 20)>>
+<<elseif ($activeSlave.preg > $activeSlave.pregData.normalBirth/2)>>
 	The bitch is pregnant, so hard intercourse will be uncomfortable and even worrying for $him. You have hard intercourse. $He sobs as you saw the huge weight of $his belly back and forth without mercy, and whines as $he feels your cockhead batter $his womb.<<if ($PC.vagina == 1) && ($PC.dick == 1)>> Fortunately for $him, this gets you so wet that some of your pussyjuice makes it down onto your shaft and serves as improvised lube.<</if>> More cum won't make the bitch more pregnant, but you cum inside $him anyway.
 	<<= VaginalVCheck()>>
 <<elseif ($activeSlave.pregKnown == 1)>>
diff --git a/src/npc/fFeelings.tw b/src/npc/fFeelings.tw
index 22150bbaf280cbccc103cf422665cc03e16a372e..151e7a36b3f2239fabc4a76596a0b808ff25c11a 100644
--- a/src/npc/fFeelings.tw
+++ b/src/npc/fFeelings.tw
@@ -937,7 +937,7 @@ My favorite part of my body i<<s>>
 			It'<<s>> ni<<c>>e being a whore, <<s>>ometime<<s>> customer<<s>> ju<<s>>t play with my belly for hour<<s>>.
 		<<elseif isFertile($activeSlave)>>
 			It'<<s>> great being a whore, I'm going to get pregnant and there'<<s>> nothing I can do to <<s>>top it.
-		<<elseif $activeSlave.preg > 10>>
+		<<elseif $activeSlave.preg > $activeSlave.pregData.normalBirth/4>>
 			It'<<s>> great being a pregnant whore, I get to watch my belly <<s>>well a<<s>> I get fucked. Every week it gets a little bigger.
 		<<elseif $activeSlave.pregKnown == 1>>
 			Being a whore i<<s>> okay, but it will be great once my belly get<<s>> bigger.
@@ -980,7 +980,7 @@ My favorite part of my body i<<s>>
 			It'<<s>> ni<<c>>e being a public <<s>>lut, <<s>>ometime<<s>> citizen<<s>> ju<<s>>t play with my belly for hour<<s>>.
 		<<elseif isFertile($activeSlave)>>
 			It'<<s>> great being a public <<s>>lut, I'm going to get pregnant and there'<<s>> nothing I can do to <<s>>top it.
-		<<elseif $activeSlave.preg > 10>>
+		<<elseif $activeSlave.preg > $activeSlave.pregData.normalBirth/4>>
 			It'<<s>> great being a pregnant public <<s>>lut, I get to <<sh>>ow off my belly all the time.
 		<<elseif $activeSlave.pregKnown == 1>>
 			Being a public <<s>>lut i<<s>> okay, but it will be great once my belly get<<s>> bigger.
@@ -1263,7 +1263,7 @@ My favorite part of my body i<<s>>
 		I really hope we can <<s>>ave humanity like thi<<s>>.
 	<<elseif ($activeSlave.fetishKnown == 1) && ($activeSlave.fetish == "pregnancy")>>
 		I really like how you are encouraging girl<<s>> to get pregnant." $He giggles. "I really like big, pregnant bellie<<s>>!
-	<<elseif ($activeSlave.preg > 10)>>
+	<<elseif ($activeSlave.preg > $activeSlave.pregData.normalBirth/4)>>
 		I'm relieved I fit into your vi<<s>>ion of the future. I hope I can give you lot<<s>> of healthy children.
 	<<else>>
 		I know I'm not a perfect fit for your vi<<s>>ion of the future, but I'll do my be<<s>>t to be a good $girl.
diff --git a/src/pregmod/fSlaveFeed.tw b/src/pregmod/fSlaveFeed.tw
index cc64e709f386da71fd07c72e15504bbea83c64eb..35dd83e38f47651f9feea9005d33da9c41cc0f2f 100644
--- a/src/pregmod/fSlaveFeed.tw
+++ b/src/pregmod/fSlaveFeed.tw
@@ -159,8 +159,8 @@ Next, you see to $activeSlave.slaveName.
 
 <br><br>
 
-<<if $activeSlave.preg > 3 && $activeSlave.pregKnown == 0 && $activeSlave.inflation > 1>>
-	It becomes abundantly clear that something is wrong with $activeSlave.slaveName as $he struggles to down $his milky meal. Before $his health can be affected further, you pull $him into a medical exam. While most of the tests come back normal, one in particular catches your eye; @@.lime;$he is pregnant<<if $activeSlave.preg > 10>> and surprisingly far along<</if>>.@@ $he should be able to still handle at least two liters of milk, however.
+<<if $activeSlave.preg > $activeSlave.pregData.normalBirth/13.33 && $activeSlave.pregKnown == 0 && $activeSlave.inflation > 1>>
+	It becomes abundantly clear that something is wrong with $activeSlave.slaveName as $he struggles to down $his milky meal. Before $his health can be affected further, you pull $him into a medical exam. While most of the tests come back normal, one in particular catches your eye; @@.lime;$he is pregnant<<if $activeSlave.preg > $activeSlave.pregData.normalBirth/4>> and surprisingly far along<</if>>.@@ $he should be able to still handle at least two liters of milk, however.
 	<<set $activeSlave.inflation = 0, $activeSlave.inflationType = "none", $activeSlave.inflationMethod = 0, $activeSlave.pregKnown = 1>>
 	<<set _pregDiscovery = 1>>
 
diff --git a/src/pregmod/fillUpButt.tw b/src/pregmod/fillUpButt.tw
index 97c1088043825d958a0ae6ba27b69fc25f5615b0..fe2cb25dff3318e2828d5bd28abb5b411b8a943a 100644
--- a/src/pregmod/fillUpButt.tw
+++ b/src/pregmod/fillUpButt.tw
@@ -67,7 +67,7 @@ before calling $him over so you can play with $his
 <</if>>
 
 <<if _pregDiscovery == 1>>
-	Not wanting to risk such a mess, you send $him for a medical examination. While most of the tests come back normal, one in particular catches your eye; @@.lime;$he is pregnant<<if $activeSlave.preg > 10>> and surprisingly far along<</if>>.@@ $he should be able to still handle at least two liters of $activeSlave.inflationType up $his ass, however.
+	Not wanting to risk such a mess, you send $him for a medical examination. While most of the tests come back normal, one in particular catches your eye; @@.lime;$he is pregnant<<if $activeSlave.preg > $activeSlave.pregData.normalBirth/4>> and surprisingly far along<</if>>.@@ $he should be able to still handle at least two liters of $activeSlave.inflationType up $his ass, however.
 	<<set $activeSlave.inflation = 0, $activeSlave.inflationType = "none", $activeSlave.inflationMethod = 0, $activeSlave.pregKnown = 1>>
 <<elseif $activeSlave.fetish == "mindbroken">>
 	<<if canWalk($activeSlave)>>
diff --git a/src/pregmod/fillUpFace.tw b/src/pregmod/fillUpFace.tw
index 4453ddaafb83bc419fcb5c9260f5b738c7dbb3c9..7384428455c77c93443df2fb30a52a54782d0396 100644
--- a/src/pregmod/fillUpFace.tw
+++ b/src/pregmod/fillUpFace.tw
@@ -23,7 +23,7 @@ You attach a hose to $dairyName tap with the pipes set to pump $activeSlave.infl
 <</if>>
 
 <<if _pregDiscovery == 1>>
-	Not wanting to risk such a mess, you send $him for a medical examination. While most of the tests come back normal, one in particular catches your eye; @@.lime;$He is pregnant<<if $activeSlave.preg > 10>> and surprisingly far along<</if>>.@@ $He should be able to still handle at least two liters of $activeSlave.inflationType, however.
+	Not wanting to risk such a mess, you send $him for a medical examination. While most of the tests come back normal, one in particular catches your eye; @@.lime;$He is pregnant<<if $activeSlave.preg > $activeSlave.pregData.normalBirth/4>> and surprisingly far along<</if>>.@@ $He should be able to still handle at least two liters of $activeSlave.inflationType, however.
 	<<set $activeSlave.inflation = 0, $activeSlave.inflationType = "none", $activeSlave.inflationMethod = 0, $activeSlave.pregKnown = 1>>
 <<elseif $activeSlave.fetish == "mindbroken">>
 	<<if canWalk($activeSlave)>>
diff --git a/src/pregmod/forceFeeding.tw b/src/pregmod/forceFeeding.tw
index 163080eb1ba1dc1613f93a5ccecd060f4174a1c4..a1ee9373f953f37e8bde57ab2ffc7f70c391c73c 100644
--- a/src/pregmod/forceFeeding.tw
+++ b/src/pregmod/forceFeeding.tw
@@ -190,7 +190,7 @@ and a little jiggle from $his gut.
 
 <br><br>
 
-<<if $activeSlave.pregKnown == 0 && $activeSlave.preg > 3 && _isDone > 0>>
+<<if $activeSlave.pregKnown == 0 && $activeSlave.preg > $activeSlave.pregData.normalBirth/13.33 && _isDone > 0>>
 	As soon as the next helping enters $him you feel something is wrong. $He begins to heave,
 	<<if $activeSlave.fetish != "mindbroken" && $activeSlave.devotion > 50>>
 		struggling to keep down the slave food,
@@ -641,7 +641,7 @@ and a little jiggle from $his gut.
 	Once you've managed to stop $him heaving and clean up, you get to the root of this mess.
 	While most of the tests come back normal, one in particular catches your eye;
 	@@.lime;$He is pregnant
-		<<if $activeSlave.preg > 10>> and surprisingly far along<</if>>.@@
+		<<if $activeSlave.preg > $activeSlave.pregData.normalBirth/4>> and surprisingly far along<</if>>.@@
 	<<set $activeSlave.inflation = 0,
 		$activeSlave.inflationType = "none",
 		$activeSlave.inflationMethod = 0,
diff --git a/src/pregmod/ovaTransplantWorkaround.tw b/src/pregmod/ovaTransplantWorkaround.tw
index 2d57378db82db4a86d4b0b25dac8ba29acf5ae68..c3d8d21bb429747373a546c4e9bce80800f935dc 100644
--- a/src/pregmod/ovaTransplantWorkaround.tw
+++ b/src/pregmod/ovaTransplantWorkaround.tw
@@ -12,7 +12,7 @@ __Select a slave to serve as the host__
 
 <<for _otw = 0; _otw < $slaves.length; _otw++>>
 <<capture _otw>>
-	<<if ($donatrix.ID != $slaves[_otw].ID && $slaves[_otw].ovaries > 0 || $slaves[_otw].mpreg > 0) && isSlaveAvailable($slaves[_otw]) && $slaves[_otw].preg >= 0 && $slaves[_otw].preg < 4 && $slaves[_otw].pregWeek >= 0 && $slaves[_otw].pubertyXX == 1 && $slaves[_otw].pregType < 12 && $slaves[_otw].bellyImplant == -1 && $slaves[_otw].broodmother == 0 && $slaves[_otw].inflation <= 2 && $slaves[_otw].physicalAge < 70>>
+	<<if ($donatrix.ID != $slaves[_otw].ID && $slaves[_otw].ovaries > 0 || $slaves[_otw].mpreg > 0) && isSlaveAvailable($slaves[_otw]) && $slaves[_otw].preg >= 0 && $slaves[_otw].preg < $slaves[_otw].pregData.normalBirth/10 && $slaves[_otw].pregWeek >= 0 && $slaves[_otw].pubertyXX == 1 && $slaves[_otw].pregType < 12 && $slaves[_otw].bellyImplant == -1 && $slaves[_otw].broodmother == 0 && $slaves[_otw].inflation <= 2 && $slaves[_otw].physicalAge < 70>>
 		<<set _name = SlaveFullName($slaves[_otw])>>
 		<br><<print "[[_name|Surrogacy][$receptrix = $slaves[" + _otw + "], $cash -= ($surgeryCost*2), $surgeryType = 'transplant']]">> <<if $slaves[_otw].pregType >= 4>>//Using a slave carrying multiples is unadvisable//<</if>>
 		<<set _eligibility = 1>>
diff --git a/src/pregmod/rePregInventor.tw b/src/pregmod/rePregInventor.tw
index 039c5a264c565519e6ae273f0d4848714d9d7cb0..3ad4b207020250ec1f38e66552981ca2d6043c89 100644
--- a/src/pregmod/rePregInventor.tw
+++ b/src/pregmod/rePregInventor.tw
@@ -101,7 +101,7 @@
 			$he cries out in a reciprocating orgasm and then cries out a second time when, massive stomach shuddering,
 			<<if $activeSlave.broodmother > 1>>
 				$he begins to give birth to yet another child. You call your menials back to your office and decide to take a walk. By the time you're at the door, the head of $activeSlave.slaveName's next child is already cresting.
-			<<elseif $activeSlave.broodmother != 1 && $activeSlave.preg > 37>>
+			<<elseif $activeSlave.broodmother == 0 && $activeSlave.preg > $activeSlave.pregData.minLiveBirth+1>> 
 				$his water breaks. You call your menials back to your office and decide to take a walk. As you pass by $him, it's clear that $he'll have more important things to think about it the coming day.
 				<<set $activeSlave.labor = 1>>
 			<<else>>
diff --git a/src/pregmod/saAgent.tw b/src/pregmod/saAgent.tw
index a19f10c5fd180db2eb8341b606aff713df3e8eba..7ce552d6ebdaa0194c3c5466aee1abc6c1a340c9 100644
--- a/src/pregmod/saAgent.tw
+++ b/src/pregmod/saAgent.tw
@@ -117,7 +117,7 @@
 <</if>>
 
 <<if ($slaves[$i].preg > 0)>> /*EFFECTS OF PREGNANCY*/
-	<<if $slaves[$i].preg == 5>> /* bad condition logic - with pregnancy control drugs can be not triggered. Or may be trigged by broodmother several times. Need to be revorked. */ 
+	<<if $slaves[$i].preg == $slaves[$i].pregData.normalBirth/8>> /* !!! Very bad condition logic - with pregnancy control drugs can be not triggered. Or may be trigged by broodmother several times. Need to be revorked. !!! */ 
 		<<if $slaves[$i].pregSource == -1>>
 			<<set $PC.slavesKnockedUp++>>
 		<<elseif $slaves[$i].pregSource > 0>>
@@ -128,7 +128,7 @@
 			<</if>>
 		<</if>>
 	<</if>>
-	<<if ($slaves[$i].preg >= 10)>>
+	<<if ($slaves[$i].preg >= $slaves[$i].pregData.normalBirth/4)>>
 		<<if $slaves[$i].geneMods.NCS == 1>>
 			/* Sort-of No-op, NCS prevents boob growth */
 			<<set _boobTarget = 0>>
@@ -180,7 +180,7 @@
 			<<if (($slaves[$i].geneMods.NCS == 0) && (random(1,100) > 60))>>
 				<<if (($slaves[$i].boobs - $slaves[$i].boobsImplant) < _boobTarget)>>
 					<<set $slaves[$i].boobs += 200>>
-					<<if $slaves[$i].boobShape != "saggy" && $slaves[$i].preg > 32 && ($slaves[$i].breastMesh != 1)>>
+					<<if $slaves[$i].boobShape != "saggy" && $slaves[$i].preg > $slaves[$i].pregData.normalBirth/1.25 && ($slaves[$i].breastMesh != 1)>>
 						<<set $slaves[$i].boobShape = "saggy">>
 					<</if>>
 				<</if>>
@@ -195,7 +195,7 @@
 			<<if random(1,100) > 80 && (($slaves[$i].boobs - $slaves[$i].boobsImplant) < _boobTarget)>>
 				<<set $slaves[$i].boobs += 100>>
 				<<if $slaves[$i].boobShape != "saggy" && ($slaves[$i].breastMesh != 1)>>
-					<<if $slaves[$i].preg > random(32,82)>>
+					<<if $slaves[$i].preg > random($slaves[$i].pregData.normalBirth/1.25, $slaves[$i].pregData.normalBirth*2)>>
 						<<set $slaves[$i].boobShape = "saggy">>
 					<</if>>
 				<</if>>
@@ -203,24 +203,24 @@
 		<<elseif (($slaves[$i].geneMods.NCS == 0) && (($slaves[$i].boobs - $slaves[$i].boobsImplant) < _boobTarget))>>
 			<<if random(1,100) > 80>>
 				<<set $slaves[$i].boobs += 50>>
-				<<if $slaves[$i].boobShape != "saggy" && $slaves[$i].preg > random(32,100) && ($slaves[$i].breastMesh != 1)>>
+				<<if $slaves[$i].boobShape != "saggy" && $slaves[$i].preg > random($slaves[$i].pregData.normalBirth/1.25, $slaves[$i].pregData.normalBirth*2.5) && ($slaves[$i].breastMesh != 1)>>
 					<<set $slaves[$i].boobShape = "saggy">>
 				<</if>>
 			<</if>>
 		<</if>>
 		<<if $slaves[$i].geneMods.NCS == 1>>
 			/* No-op, we don't grow hips on NCS */
-		<<elseif $slaves[$i].preg > 32 && $slaves[$i].physicalAge >= 18 && $slaves[$i].hips == 1 && $slaves[$i].hipsImplant == 0 && random(1,100) > 90>>
+		<<elseif $slaves[$i].preg > $slaves[$i].pregData.normalBirth/1.25 && $slaves[$i].physicalAge >= 18 && $slaves[$i].hips == 1 && $slaves[$i].hipsImplant == 0 && random(1,100) > 90>>
 			<<set $slaves[$i].hips += 1>>
-		<<elseif $slaves[$i].preg > 28 && $slaves[$i].physicalAge >= 18 && $slaves[$i].hips == 0 && $slaves[$i].hipsImplant == 0 && random(1,100) > 70>>
+		<<elseif $slaves[$i].preg > $slaves[$i].pregData.normalBirth/1.42 && $slaves[$i].physicalAge >= 18 && $slaves[$i].hips == 0 && $slaves[$i].hipsImplant == 0 && random(1,100) > 70>>
 			<<set $slaves[$i].hips += 1>>
 		<</if>>
 		<<if $slaves[$i].bellyPreg >= 1500>>
 			<<if setup.fakeBellies.includes($slaves[$i].bellyAccessory)>>
 				<<set $slaves[$i].bellyAccessory = "none">>
 			<</if>>
-			<<if ($slaves[$i].preg > 20) && ($slaves[$i].lactation == 0) && $slaves[$i].health >= -20 && $slaves[$i].weight > -30>>
-				<<if $slaves[$i].preg > random(18,30)>>
+			<<if ($slaves[$i].preg > $slaves[$i].pregData.normalBirth/2) && ($slaves[$i].lactation == 0) && $slaves[$i].health >= -20 && $slaves[$i].weight > -30>>
+				<<if $slaves[$i].preg > random($slaves[$i].pregData.normalBirth/2.22, $slaves[$i].pregData.normalBirth/1.33)>>
 					<<set $slaves[$i].lactation = 1>>
 				<</if>>
 			<</if>>
@@ -419,10 +419,10 @@
 	<</if>>
 <</if>>
 
-<<if ($slaves[$i].preg > 37) && ($slaves[$i].broodmother == 0) && (random(1,100) > 90)>>
-	<<set $slaves[$i].birthsTotal += WombBirthReady($slaves[$i], 35), WombBirth($slaves[$i], 35), WombFlush($slaves[$i]), $slaves[$i].preg = 0, $slaves[$i].pregWeek = -4, $slaves[$i].pregSource = 0, $slaves[$i].pregType = 0, $slaves[$i].pregKnown = 0 >>
-<<elseif ($slaves[$i].preg > 41) && ($slaves[$i].broodmother == 0)>>
-	<<set $slaves[$i].birthsTotal += WombBirthReady($slaves[$i], 35), WombBirth($slaves[$i], 35), WombFlush($slaves[$i]), $slaves[$i].preg = 0, $slaves[$i].pregWeek = -4, $slaves[$i].pregSource = 0, $slaves[$i].pregType = 0, $slaves[$i].pregKnown = 0>>
+<<if ($slaves[$i].preg > $slaves[$i].pregData.minLiveBirth) && ($slaves[$i].broodmother == 0) && (random(1,100) < 90)>>
+	<<set $slaves[$i].birthsTotal += WombBirthReady($slaves[$i], $slaves[$i].pregData.minLiveBirth), WombBirth($slaves[$i], $slaves[$i].pregData.minLiveBirth), WombFlush($slaves[$i]), $slaves[$i].preg = 0, $slaves[$i].pregWeek = -4, $slaves[$i].pregSource = 0, $slaves[$i].pregType = 0, $slaves[$i].pregKnown = 0 >>
+<<elseif ($slaves[$i].preg > $slaves[$i].pregData.normalBirth) && ($slaves[$i].broodmother == 0)>>
+	<<set $slaves[$i].birthsTotal += WombBirthReady($slaves[$i], $slaves[$i].pregData.minLiveBirth), WombBirth($slaves[$i], $slaves[$i].pregData.minLiveBirth), WombFlush($slaves[$i]), $slaves[$i].preg = 0, $slaves[$i].pregWeek = -4, $slaves[$i].pregSource = 0, $slaves[$i].pregType = 0, $slaves[$i].pregKnown = 0>>
 <<elseif ($slaves[$i].preg > 37) && ($slaves[$i].broodmother > 0)>>
 	<<if $slaves[$i].broodmother > 0>>
 		<<set $slaves[$i].birthsTotal += WombBirthReady($slaves[$i], 37), WombBirth($slaves[$i], 37), $slaves[$i].preg = WombMaxPreg($slaves[$i])>>
diff --git a/src/pregmod/saClothes.tw b/src/pregmod/saClothes.tw
index 02ceaea6f83946027828521fb179521c1dee94a4..e40a2452744b576b5b40d71cc7fd35f3fa089302 100644
--- a/src/pregmod/saClothes.tw
+++ b/src/pregmod/saClothes.tw
@@ -769,7 +769,7 @@
 		<</if>>
 	<</if>>
 	<<if ($slaves[$i].vaginalAccessory == "long, huge dildo") || ($slaves[$i].vaginalAccessory == "long, large dildo") || ($slaves[$i].vaginalAccessory == "long dildo")>>
-		<<if ($slaves[$i].preg > 4) && $slaves[$i].pregKnown == 1>>
+		<<if ($slaves[$i].preg > $slaves[$i].pregData.normalBirth/10) && $slaves[$i].pregKnown == 1>>
 			<<if (random(1,100) > 50)>>
 				The dildo penetrating $his womb @@.orange;caused $him to miscarry,@@ which @@.red;damages $his health.@@
 				<<set $slaves[$i].health -= 20>>
diff --git a/src/pregmod/widgets/seBirthWidgets.tw b/src/pregmod/widgets/seBirthWidgets.tw
index de2bec8f2ed23898707212fee2f6dc45c87a13b3..99467cb8cb976ffe9667150223bdc92217b8176e 100644
--- a/src/pregmod/widgets/seBirthWidgets.tw
+++ b/src/pregmod/widgets/seBirthWidgets.tw
@@ -61,7 +61,7 @@
 <<if $slaves[$i].wombImplant == "restraint">>
 	<<set $birthDamage += 2>>
 <</if>>
-<<if $slaves[$i].preg >= 59>> /* better get her a c-sec*/
+<<if $slaves[$i].preg >= $slaves[$i].pregData.normalBirth*1.5>> /* better get her a c-sec*/
 	<<if $slaves[$i].physicalAge < 6>>
 		<<set $birthDamage += 50>>
 	<<elseif $slaves[$i].physicalAge < 9>>
@@ -72,7 +72,7 @@
 	<<if $slaves[$i].hips < 0>>
 		<<set $birthDamage += (20-$slaves[$i].hips)>>
 	<</if>>
-<<elseif $slaves[$i].preg > 50>>
+<<elseif $slaves[$i].preg > $slaves[$i].pregData.normalBirth*1.25>>
 	<<if $slaves[$i].physicalAge < 6>>
 		<<set $birthDamage += 10>>
 	<<elseif $slaves[$i].physicalAge < 9>>
@@ -685,7 +685,7 @@ This decriptions can be expanded with more outcomes later. But it's not practica
 		<br>
 		$His weak body @@.red;struggled to push@@ out $his <<if _curBabies >1>>children<<else>>child<</if>>.
 	<</if>>
-	<<if $slaves[$i].preg > 50>>
+	<<if $slaves[$i].preg > $slaves[$i].pregData.normalBirth*1.25>>
 		<br>
 		$His <<if _curBabies > 1>>children<<else>>child<</if>> had extra time to grow @@.red;greatly complicating childbirth@@.
 		<<set _compoundCondition = 1>>
diff --git a/src/uncategorized/RECI.tw b/src/uncategorized/RECI.tw
index 696959f80950bbab09ad32f9b719aa2333fbf135..5ce3d717c2e5b09108250abcda86a5661ef67402 100644
--- a/src/uncategorized/RECI.tw
+++ b/src/uncategorized/RECI.tw
@@ -493,7 +493,7 @@ $He looks pensive, and goes through two false starts before $he clears $his thro
 <<link "Yes $he can">>
 	<<EventNameDelink $activeSlave>>
 	<<replace "#result">>
-	When $he sees you stand up from behind your desk<<if ($PC.dick == 0)>>and pull on a strap-on<</if>>, $he turns fully away from you, cocking $his hips at just the right angle to offer you $his anus, without any preamble or foreplay. But you come up behind her and encircle $his <<if ($activeSlave.belly >= 1500)>><<if $activeSlave.preg > 5>>pregnant <<else>>rounded <</if>>belly<<elseif ($activeSlave.weight > 10)>>plush belly<<elseif ($activeSlave.muscles > 5)>>toned stomach<<else>>trim waist<</if>> with your capable hands, your lips nibbling along the line of $his <<if ($activeSlave.muscles > 30)>>strong<<elseif ($activeSlave.muscles > 5)>>toned<<else>>soft<</if>> shoulders and neck. $He shudders as the embrace brings your <<if ($PC.dick == 0)>>strap-on<<else>>dick<</if>> <<if ($activeSlave.height >= 185)>>up between $his buttocks, since she's nearly as tall as you<<elseif ($activeSlave.height >= 170)>>pressing into $his asscrack, since she's shorter than you<<else>>nestling down into $his asscrack, since she's so much shorter than you<</if>>. You whisper that a good slave girl doesn't have to touch $himself to come when $his <<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>Master<<else>>Mistress<</if>> fucks $his butt, and ask whether she's a good slave girl. $He shivers and promises that she is, rubbing $his asshole against your <<if ($PC.dick == 0)>>phallus<<else>>cockhead<</if>>. $He gives a feminine sigh as it slides into her, and moves softly within your embrace, doing $his best to pleasure you with $his girly ass. $He was already very close, and your loving touch so aroused her that she gasps and stiffens after only a few thrusts,
+	When $he sees you stand up from behind your desk<<if ($PC.dick == 0)>>and pull on a strap-on<</if>>, $he turns fully away from you, cocking $his hips at just the right angle to offer you $his anus, without any preamble or foreplay. But you come up behind her and encircle $his <<if ($activeSlave.belly >= 1500)>><<if $activeSlave.preg > $activeSlave.pregData.normalBirth/8>>pregnant <<else>>rounded <</if>>belly<<elseif ($activeSlave.weight > 10)>>plush belly<<elseif ($activeSlave.muscles > 5)>>toned stomach<<else>>trim waist<</if>> with your capable hands, your lips nibbling along the line of $his <<if ($activeSlave.muscles > 30)>>strong<<elseif ($activeSlave.muscles > 5)>>toned<<else>>soft<</if>> shoulders and neck. $He shudders as the embrace brings your <<if ($PC.dick == 0)>>strap-on<<else>>dick<</if>> <<if ($activeSlave.height >= 185)>>up between $his buttocks, since she's nearly as tall as you<<elseif ($activeSlave.height >= 170)>>pressing into $his asscrack, since she's shorter than you<<else>>nestling down into $his asscrack, since she's so much shorter than you<</if>>. You whisper that a good slave girl doesn't have to touch $himself to come when $his <<if def $PC.customTitle>>$PC.customTitle<<elseif $PC.title != 0>>Master<<else>>Mistress<</if>> fucks $his butt, and ask whether she's a good slave girl. $He shivers and promises that she is, rubbing $his asshole against your <<if ($PC.dick == 0)>>phallus<<else>>cockhead<</if>>. $He gives a feminine sigh as it slides into her, and moves softly within your embrace, doing $his best to pleasure you with $his girly ass. $He was already very close, and your loving touch so aroused her that she gasps and stiffens after only a few thrusts,
 	<<if ($activeSlave.dick > 0) && ($activeSlave.dickAccessory == "chastity")>>
 		shuddering
 	<<elseif ($activeSlave.dick > 0) && canAchieveErection($activeSlave)>>
diff --git a/src/uncategorized/RESS.tw b/src/uncategorized/RESS.tw
index 3196954d6e842fc737a82fa9b49bcc1a4b9c689b..ac029a0117d680398e0fc4622576a89d7b9d3479 100644
--- a/src/uncategorized/RESS.tw
+++ b/src/uncategorized/RESS.tw
@@ -260,7 +260,7 @@ With $his back arched and $his thighs together $his <<if $activeSlave.butt > 5>>
 
 <<case "sore shoulders">>
 
-<<EventNameLink $activeSlave>> comes before you for a routine inspection. The <<if $activeSlave.muscles > 95>>heavily muscled<<elseif $activeSlave.muscles > 30>>ripped<<else>>toned<</if>><<if $activeSlave.preg > 30>> and heavily pregnant<<elseif $activeSlave.preg > 20>>pregnant<</if>> $desc is looking good, but as $he raises $his arms over $his head to spin $his nude torso under your gaze, $he winces slightly. <<if canSee($activeSlave)>>$His $activeSlave.eyeColor eyes flick up to see if you noticed, and $his face falls a little when $he sees that you did. You raise one eyebrow, and the obedient slave explains $himself<<elseif canHear($activeSlave)>>$His ears perk up to hear if you noticed. You clear your throat, startling $him and making $him explain $himself<<else>>$He tries to affect a stoic expression, but when you tentatively touch one of $his shoulders, $he grimaces slightly and quickly opts to explain $himself<</if>>.
+<<EventNameLink $activeSlave>> comes before you for a routine inspection. The <<if $activeSlave.muscles > 95>>heavily muscled<<elseif $activeSlave.muscles > 30>>ripped<<else>>toned<</if>><<if $activeSlave.preg > $activeSlave.pregData.normalBirth/1.33>> and heavily pregnant<<elseif $activeSlave.preg > $activeSlave.pregData.normalBirth/2>>pregnant<</if>> $desc is looking good, but as $he raises $his arms over $his head to spin $his nude torso under your gaze, $he winces slightly. <<if canSee($activeSlave)>>$His $activeSlave.eyeColor eyes flick up to see if you noticed, and $his face falls a little when $he sees that you did. You raise one eyebrow, and the obedient slave explains $himself<<elseif canHear($activeSlave)>>$His ears perk up to hear if you noticed. You clear your throat, startling $him and making $him explain $himself<<else>>$He tries to affect a stoic expression, but when you tentatively touch one of $his shoulders, $he grimaces slightly and quickly opts to explain $himself<</if>>.
 <<if !canTalk($activeSlave)>>
 	$He uses gestures to beg your pardon, and explains that yesterday was arm day for $him, and $he went out a little hard. $His shoulders are a little sore, but $he gestures that $he's all right.
 <<else>>
@@ -1700,7 +1700,7 @@ Apparently, $he can't wait to
 	play the dom.
 <<elseif ($activeSlave.fetish == "sadist")>>
 	find a willing masochist.
-<<elseif ($activeSlave.fetish == "pregnancy") && ($activeSlave.preg > 10)>>
+<<elseif ($activeSlave.fetish == "pregnancy") && ($activeSlave.preg > $activeSlave.pregData.normalBirth/4)>>
 	have $his pregnancy fondled.
 <<elseif ($activeSlave.fetish == "pregnancy")>>
 	pretend to get knocked up.
@@ -2309,7 +2309,7 @@ A perfectly devoted slave might display $himself, and a rebellious one might try
 
 <<case "diet">>
 
-<<EventNameLink $activeSlave>> is on a diet, and $he needs it. That doesn't make it any easier for $him. Your slaves are not permitted time to waste over meals. They enter the simple kitchen, drink their allotted portion of slave food out of a cup, and get on with their duties.<<if $activeSlave.preg > 10>> Despite eating for <<if $activeSlave.pregType <= 1>>two<<elseif $activeSlave.pregType >= 10>>far too many<<elseif $activeSlave.pregType == 9>>ten<<elseif $activeSlave.pregType == 8>>nine<<elseif $activeSlave.pregType == 7>>eight<<elseif $activeSlave.pregType == 6>>seven,<<elseif $activeSlave.pregType == 5>>six<<elseif $activeSlave.pregType == 4>>five<<elseif $activeSlave.pregType == 3>>four<<else>>three<</if>>, $his diet is still in full effect.<</if>> <<if $assistantName == "your personal assistant">>Your personal assistant<<else>>$assistantName<</if>> catches $activeSlave.slaveName, whose cup is always filled less than halfway, skulking around in the hope that one of the others will take $his eyes off $his cup, or even leave leftovers.
+<<EventNameLink $activeSlave>> is on a diet, and $he needs it. That doesn't make it any easier for $him. Your slaves are not permitted time to waste over meals. They enter the simple kitchen, drink their allotted portion of slave food out of a cup, and get on with their duties.<<if $activeSlave.preg > $activeSlave.pregData.normalBirth/1.33>> Despite eating for <<if $activeSlave.pregType <= 1>>two<<elseif $activeSlave.pregType >= 10>>far too many<<elseif $activeSlave.pregType == 9>>ten<<elseif $activeSlave.pregType == 8>>nine<<elseif $activeSlave.pregType == 7>>eight<<elseif $activeSlave.pregType == 6>>seven,<<elseif $activeSlave.pregType == 5>>six<<elseif $activeSlave.pregType == 4>>five<<elseif $activeSlave.pregType == 3>>four<<else>>three<</if>>, $his diet is still in full effect.<</if>> <<if $assistantName == "your personal assistant">>Your personal assistant<<else>>$assistantName<</if>> catches $activeSlave.slaveName, whose cup is always filled less than halfway, skulking around in the hope that one of the others will take $his eyes off $his cup, or even leave leftovers.
 
 <<case "huge naturals">>
 
@@ -2721,7 +2721,7 @@ When it's time for refreshments, $assistantName directs the closest unoccupied s
 <<elseif $PC.refreshmentType == 6>>
 	several sheets of $PC.refreshment
 <</if>>
-on a tray<<if $activeSlave.preg > 30>> carefully held against $his pregnant belly, doing $his best to will $his child<<if $activeSlave.pregType > 1>>ren<</if>> to not kick the tray off balance<<elseif $activeSlave.belly >= 10000>> carefully held against $his _belly <<if $activeSlave.bellyPreg >= 3000>>pregnant <</if>>belly<</if>>.
+on a tray<<if $activeSlave.preg > $activeSlave.pregData.normalBirth/1.33>> carefully held against $his pregnant belly, doing $his best to will $his child<<if $activeSlave.pregType > 1>>ren<</if>> to not kick the tray off balance<<elseif $activeSlave.belly >= 10000>> carefully held against $his _belly <<if $activeSlave.bellyPreg >= 3000>>pregnant <</if>>belly<</if>>.
 
 <br><br>
 
@@ -2745,7 +2745,7 @@ $He comes to a stop right beside your elbow, waiting for further direction, just
 	<<elseif $PC.refreshmentType == 6>>
 		threatening to knock the sheets of $PC.refreshment off the tray.
 	<</if>>
-<<elseif $activeSlave.preg > 30>>
+<<elseif $activeSlave.preg > $activeSlave.pregData.normalBirth/1.33>>
 	$He keeps the tray balanced atop $his _belly pregnancy, though the weight encourages $his child<<if $activeSlave.pregType > 1>>ren<</if>> to begin kicking. As you glance over at $him, $he lets out a minute, tired sigh, as kicks from $his child<<if $activeSlave.pregType > 1>>ren<</if>>
 	<<if $PC.refreshmentType == 0>>
 		cause the $PC.refreshment collection to roll from side to side.
@@ -3321,7 +3321,7 @@ Just as you're about to give <<EventNameLink $activeSlave>> $his weekly inspecti
 <<elseif ($activeSlave.attrXX > 50) && ($PC.boobs == 1)>>
 	$He finds your prominent breasts attractive, and $his gaze rests most frequently <<if canSee($activeSlave)>>on<<else>>towards<</if>> them.
 <<elseif $activeSlave.fetish == "pregnancy">>
-	<<if $activeSlave.preg > 30>>
+	<<if $activeSlave.preg > $activeSlave.pregData.normalBirth/1.33>>
 		The combination of being hugely pregnant and a pregnancy fetishist keeps $his libido raging.
 	<<elseif $PC.belly >= 10000>>
 		$He finds your protruding pregnancy attractive, and $his gaze rests most frequently <<if canSee($activeSlave)>>on<<else>>towards<</if>> it.
@@ -3355,7 +3355,7 @@ During $his routine weekly inspection, <<EventNameLink $activeSlave>> cradles $h
 "<<Master>>," $he mumbles, "can I plea<<s>>e be taken off the brea<<s>>t expan<<s>>ion drug<<s>>?" $He swallows, nervous that $he's crossed a line, but $he presses on, hefting $his tits a little higher to show $he's talking about them. "They're <<s>>o heavy and awkward. I'm <<s>>ore every night, and my back hurt<<s>>. I feel like a cow with boob<<s>> thi<<s>> big, and I can't imagine what it'll be like if they get any bigger."
 In one sense, it's amusing that $he feels that way, because<<if ($arcologies[0].FSAssetExpansionist != "unset") || ($arcologies[0].FSTransformationFetishist != "unset" && $arcologies[0].FSSlimnessEnthusiast == "unset") || ($arcologies[0].FSPastoralist != "unset")>> as many slaves in this very arcology know quite well,<</if>> it's possible for the miracles of modern medicine to grow a $desc's tits until they're so heavy they immobilize $him completely.
 <<if $activeSlave.muscles > 5>>$He has the muscles to carry $his boobs around, so some of this may be simple whining.<<else>>It's not surprising that $his breasts would be uncomfortable, since $he lacks anything in the way of muscle tone to help support them.<</if>>
-<<if $activeSlave.lactation > 0>>$He complained of feeling like a cow without detectable irony, despite the fact that $his left nipple has a <<if $activeSlave.nipples != "fuckable">>droplet of cream clinging to<<else>>rivulet of cream running from<</if>> it right now<<elseif $activeSlave.preg > 15>>$He complained of feeling like a cow without detectable irony, despite the fact that $he is pregnant and likely to begin lactating soon<</if>>.
+<<if $activeSlave.lactation > 0>>$He complained of feeling like a cow without detectable irony, despite the fact that $his left nipple has a <<if $activeSlave.nipples != "fuckable">>droplet of cream clinging to<<else>>rivulet of cream running from<</if>> it right now<<elseif $activeSlave.preg > $activeSlave.pregData.normalBirth/2.66>>$He complained of feeling like a cow without detectable irony, despite the fact that $he is pregnant and likely to begin lactating soon<</if>>.
 $He waits anxiously for your response, wondering if $he'll be punished for expressing reservations about your expansion of $his breasts and, comically, still cradling $his heavy udders as $he does so.
 
 <<case "gaped asshole">>
@@ -3536,7 +3536,7 @@ Your slaves get dressed in a large wardrobe area adjacent to the dormitory, room
 	growing explosively due to the hyper expansion injections.
 <<elseif $activeSlave.diet == "fattening">>
 	apparently bigger today than it was yesterday, which isn't surprising, considering how much $he's being fed.
-<<elseif $activeSlave.preg > 8 && $activeSlave.pregKnown == 1>>
+<<elseif $activeSlave.preg > $activeSlave.pregData.normalBirth/5 && $activeSlave.pregKnown == 1>>
 	apparently bigger today than it was yesterday. Pregnancy often causes minor redistributions of weight like this.
 <<elseif $activeSlave.hormoneBalance >= 200>>
 	apparently bigger today than it was yesterday. Intensive female hormone regimens like $hers sometimes cause minor ass expansion.
@@ -3666,7 +3666,7 @@ $He begins $his cleaning dutifully, fluttering about your office in a flurry of
 		$His middle has become so enormous it's a miracle $he can even reach objects to clean them. It greatly complicates $his cleaning duties, often causing $him to attack any blemishes sideways lest $his _belly belly prevent $him from reaching the offending smudge at all. $He moves very carefully, not wanting to accidentally knock something to the floor and be forced to figure out how to return it to its proper place.
 	<<elseif $activeSlave.boobs > 4000>>
 		$His breasts are so massive that a whole ream of cloth is needed to provide even the semblance of covering $his massive chest. They do little to aid in $his cleaning duties, often causing $him to attack any blemish on the wall sideways lest $his gigantic boobs prevent $him from reaching the offending smudge at all.
-	<<elseif $activeSlave.preg > 20>>
+	<<elseif $activeSlave.preg > $activeSlave.pregData.normalBirth/2>>
 		Despite $his pregnancy, $he manages to clean with surprising efficacy. $He often cradles $his gravid belly through $his sheer skirt as $he dusts or scrubs with one hand, conscious of the fragile life within $him even as $he works hard to cleanse your office of any unsightly blemishes.
 	<<elseif $activeSlave.boobs > 800>>
 		$His breasts are pleasingly large and appealingly visible despite the minor concealment provided by $his blouse. They often cause $him difficulty by mashing against the top surface of your desk as $he tries to duck beneath to clean the underside. The struggle is surprisingly erotic - if not without humor.
@@ -3696,7 +3696,7 @@ $He begins $his cleaning dutifully, fluttering about your office in a flurry of
 		$His middle has become so enormous it's a miracle $he can even reach objects to clean them. It greatly complicates $his cleaning duties, often causing $him to attack any blemishes sideways lest $his _belly belly prevent $him from reaching the offending smudge at all. $He moves very carefully, not wanting to accidentally knock something to the floor and be forced to figure out how to return it to its proper place.
 	<<elseif $activeSlave.boobs > 4000>>
 		$His breasts are so massive that several reams of cloth are needed to provide $his massive chest with any semblance of modesty. They do little to aid in $his cleaning duties, often causing $him to attack any blemish on the wall sideways lest $his gigantic boobs prevent $him from reaching the offending smudge at all.
-	<<elseif $activeSlave.preg > 20>>
+	<<elseif $activeSlave.preg > $activeSlave.pregData.normalBirth/2>>
 		Despite $his pregnancy, $he manages to clean with surprising efficacy. $He often cradles $his gravid belly through $his thick apron as $he dusts or scrubs with one hand, conscious of the fragile life within $him even as $he works hard to cleanse your office of any unsightly blemishes.
 	<<elseif $activeSlave.boobs > 800>>
 		$His breasts are pleasingly large and appealingly visible, even beneath the folds and ruffles of $his dress. They often cause $him difficulty by mashing against the top surface of your desk as $he tries to duck beneath to clean the underside. The struggle is surprisingly erotic - if not without humor.
@@ -6254,7 +6254,7 @@ brought in to you. This time <<EventNameLink $activeSlave>> has been sent to del
 		jerking her wet pussy upward
 	<</if>>
 	to avoid having to change the sheets. $He gets up carefully and heads off for a quick shower. When $he returns, it's to <<if canSee($activeSlave)>>a sight<<else>>a sound<</if>> that brings $him to a shocked standstill: you're in her bed, sound asleep. You had a long day, and the soft bed, warmed by her pretty body, felt very nice. After some deliberation, $he crawls in beside you, snuggling up to offer you more of $his body heat, direct from the source. $He is impressed almost to tears at the @@.mediumaquamarine;trust@@ you display in $him, and relaxes completely as you, dominant even when unconscious, encircle her
-	<<if $activeSlave.preg > 20>>
+	<<if $activeSlave.preg > $activeSlave.pregData.normalBirth/2>>
 		pregnant belly
 	<<elseif $activeSlave.belly >= 100000>>
 		_belly middle
@@ -6440,18 +6440,18 @@ brought in to you. This time <<EventNameLink $activeSlave>> has been sent to del
 		her abs playing across her midsection as $he does<<else>>her trim rear catching your eye.
 	<</if>>
 	In the same straightforward tone, you ask about $his health. $He swallows nervously and stammers,
-	<<if ($activeSlave.preg > 5) && ($activeSlave.preg < 12)>>
+	<<if ($activeSlave.preg > $activeSlave.pregData.normalBirth/8) && ($activeSlave.preg < $activeSlave.pregData.normalBirth/3.33)>>
 		"I, I haven't been feeling good in the morning,
 	<<elseif ($activeSlave.health < -20)>>
 		"I, I don't feel very good,
-	<<elseif ($activeSlave.preg > 0) && ($activeSlave.preg < 6)>>
+	<<elseif ($activeSlave.preg > 0) && ($activeSlave.preg < $activeSlave.pregData.normalBirth/6.66)>>
 		"I, I feel a little off. The food ta<<s>>te<<s>> weird lately and my brea<<s>>t<<s>> are really <<s>>en<<s>>itive,
 	<<elseif ($activeSlave.health > 20)>>
 		"I'm, I'm okay,
 	<<else>>
 		"I, I feel healthy,
 	<</if>>
-	<<if $activeSlave.preg > 38 && $activeSlave.pregControl != "labor supressors">>
+	<<if $activeSlave.preg > $activeSlave.pregData.normalBirth-2 && $activeSlave.pregControl != "labor supressors">>
 		and I think it might be time <<s>>oon,
 	<</if>>
 	<<if $activeSlave.rudeTitle == 1>><<= PoliteRudeTitle($activeSlave)>><<else>><<Master>><</if>>."
@@ -10159,14 +10159,14 @@ You tell her kindly that you understand, and that $he'll be trained to address t
 	<</if>>
 	briefly. Comprehension dawns across her<<if $activeSlave.faceShape != "normal">> $activeSlave.faceShape<</if>> face.
 	"Yes <<Master>>," $he <<say>>s quietly, more to buy time to formulate a response than anything else. "Um. I <<s>>till really, really want to cum, though. W-would you plea<<s>>e fuck me? Plea<<s>>e, plea<<s>>e, <<Master>>, plea<<s>>e fuck
-	<<if ($activeSlave.vagina > 0) && ($activeSlave.preg > 10) && canDoVaginal($activeSlave)>>
+	<<if ($activeSlave.vagina > 0) && ($activeSlave.preg > $activeSlave.pregData.normalBirth/4) && canDoVaginal($activeSlave)>>
 		my pregnant pu<<ss>>y."
 	<<elseif ($activeSlave.vagina > 0) && canDoVaginal($activeSlave)>>
 		me."
 	<<elseif canDoAnal($activeSlave)>>
 		my butt."
 	<<else>>
-		<<if ($activeSlave.vagina > 0) && ($activeSlave.preg > 10)>>
+		<<if ($activeSlave.vagina > 0) && ($activeSlave.preg > $activeSlave.pregData.normalBirth/4)>>
 			my pregnant pu<<ss>>y.
 		<<elseif ($activeSlave.vagina > 0)>>
 			me.
@@ -10925,7 +10925,7 @@ You tell her kindly that you understand, and that $he'll be trained to address t
 				<<else>>
 					breasts and describing in whispers how big they'll swell if $he got pregnant.
 				<</if>>
-			<<elseif $activeSlave.preg > 20>>
+			<<elseif $activeSlave.preg > $activeSlave.pregData.normalBirth/2>>
 				<<if $activeSlave.lactation == 1>>
 					nipples and describing in whispers how nice and swollen $he is with milk.
 				<<else>>
@@ -10954,7 +10954,7 @@ You tell her kindly that you understand, and that $he'll be trained to address t
 				<<else>>
 					breasts and describing in whispers how big they'll swell if $he got pregnant.
 				<</if>>
-			<<elseif $activeSlave.preg > 20>>
+			<<elseif $activeSlave.preg > $activeSlave.pregData.normalBirth/2>>
 				<<if $activeSlave.lactation == 1>>
 					nipples and describing in whispers how nice and swollen $he is with milk.
 				<<else>>
@@ -11216,7 +11216,7 @@ You tell her kindly that you understand, and that $he'll be trained to address t
 <br><<link "Delay her milking and then fuck her in public">>
 	<<EventNameDelink $activeSlave>>
 	<<replace "#result">>
-	$activeSlave.slaveName obeys <<if $activeSlave.devotion > 20>>without hesitation<<else>>hesitantly<</if>> when you order $him to kneel next to your desk the next time $he tries to go to the milkers. $His equanimity is severely tested over the next hours as you ignore $him. The occasional glance at her shows her growing increasingly frantic as $his breasts grow heavier and $his nipples <<if $activeSlave.nipples != "fuckable">>get prouder<<else>>begin to prolapse<</if>>. <<if $activeSlave.preg > 30>>Soon, her child's kicking is forcing milk out of her swollen breasts.<</if>> Eventually, the slight rising and falling of her ribcage as $he inhales and exhales induces enough motion in her overfull breasts that milk spurts out of her with each breath. Satisfied that $he's ready, you<<if $PC.dick == 0>> don a strap-on and<</if>> lead the whimpering, dripping slave out to a public street. Here, you hold her upright so you can fuck her standing. When $he finally comes through the pain of her overfull udders, you reach forward and squeeze her so that $he screams in pain and relief, spraying jets of milk. $He continually aftershock orgasms as you continue pounding. You offer $his breasts to the growing crowd, many of whom come forward to taste her cream.
+	$activeSlave.slaveName obeys <<if $activeSlave.devotion > 20>>without hesitation<<else>>hesitantly<</if>> when you order $him to kneel next to your desk the next time $he tries to go to the milkers. $His equanimity is severely tested over the next hours as you ignore $him. The occasional glance at her shows her growing increasingly frantic as $his breasts grow heavier and $his nipples <<if $activeSlave.nipples != "fuckable">>get prouder<<else>>begin to prolapse<</if>>. <<if $activeSlave.preg > $activeSlave.pregData.normalBirth/1.33>>Soon, her child's kicking is forcing milk out of her swollen breasts.<</if>> Eventually, the slight rising and falling of her ribcage as $he inhales and exhales induces enough motion in her overfull breasts that milk spurts out of her with each breath. Satisfied that $he's ready, you<<if $PC.dick == 0>> don a strap-on and<</if>> lead the whimpering, dripping slave out to a public street. Here, you hold her upright so you can fuck her standing. When $he finally comes through the pain of her overfull udders, you reach forward and squeeze her so that $he screams in pain and relief, spraying jets of milk. $He continually aftershock orgasms as you continue pounding. You offer $his breasts to the growing crowd, many of whom come forward to taste her cream.
 	<<if !canDoVaginal($activeSlave)>>
 		You fuck $his butt until they've sucked her empty.
 		<<= AnalVCheck()>>
@@ -11449,7 +11449,7 @@ You tell her kindly that you understand, and that $he'll be trained to address t
 <br><<link "Give her some aftercare">>
 	<<EventNameDelink $activeSlave>>
 	<<replace "#result">>
-	$activeSlave.slaveName returns many hours later. $He carefully took breaks for her own safety <<if $activeSlave.preg > 30>>,especially so given her advanced pregnancy<</if>>, and cleaned $himself periodically, so there isn't much evidence, but $he's obviously bone tired. When you meet her at the entrance to your penthouse $he's surprised to <<if canSee($activeSlave)>>see<<else>>find<</if>> you, but $he gives you a little smile anyway. You give $him a strong massage and put $him to bed. Afterward you turn to be about your business, but $he wordlessly offers $himself to you as you do.
+	$activeSlave.slaveName returns many hours later. $He carefully took breaks for her own safety <<if $activeSlave.preg > $activeSlave.pregData.normalBirth/1.33>>,especially so given her advanced pregnancy<</if>>, and cleaned $himself periodically, so there isn't much evidence, but $he's obviously bone tired. When you meet her at the entrance to your penthouse $he's surprised to <<if canSee($activeSlave)>>see<<else>>find<</if>> you, but $he gives you a little smile anyway. You give $him a strong massage and put $him to bed. Afterward you turn to be about your business, but $he wordlessly offers $himself to you as you do.
 	<<if canDoVaginal($activeSlave)>>
 		<<if $activeSlave.vagina == 0>>
 			$His virgin pussy is certainly tempting.
@@ -11751,7 +11751,7 @@ You tell her kindly that you understand, and that $he'll be trained to address t
 	<<if $PC.dick == 0>>
 		own.<<if $activeSlave.belly >= 5000>> You move your hands under $him to better support her <<if $activeSlave.bellyPreg >= 3000>>gravid bulk<<else>>distended body<</if>>.<</if>> $He moans in pain as you scissor against her sore pussy,
 	<<else>>
-		stiff prick.<<if $activeSlave.preg > 20>> You move your hands under $him to better support her <<if $activeSlave.bellyPreg >= 3000>>gravid bulk<<else>>distended body<</if>>.<</if>> $He gasps in pain as you press past her sore pussylips,
+		stiff prick.<<if $activeSlave.preg > $activeSlave.pregData.normalBirth/2>> You move your hands under $him to better support her <<if $activeSlave.bellyPreg >= 3000>>gravid bulk<<else>>distended body<</if>>.<</if>> $He gasps in pain as you press past her sore pussylips,
 	<</if>>
 	but before long $he's grinding against you with her back propped against the wall, using the embrace of her strong legs to provide the power for a vigorous fuck. When $he finally slides down the wall to stand again, a look of @@.hotpink;profound pleasure@@ on her face, $he lets you know that $he understands your meaning and that $he'll put up with sore petals, since her <<= WrittenMaster()>> prefers $him that way.
 	<<= VaginalVCheck()>>
@@ -13972,7 +13972,7 @@ You tell her kindly that you understand, and that $he'll be trained to address t
 		chubby
 	<<elseif $activeSlave.muscles > 30>>
 		heavily muscled
-	<<elseif $activeSlave.preg >= 5>>
+	<<elseif $activeSlave.preg >= $activeSlave.pregData.normalBirth/8>>
 		motherly
 	<<elseif $activeSlave.weight > 10>>
 		plush
@@ -15102,7 +15102,7 @@ You tell her kindly that you understand, and that $he'll be trained to address t
 <<link "Go clubbing">>
 	<<EventNameDelink $activeSlave>>
 	<<replace "#result">>
-	You inform $activeSlave.slaveName of your plans and tell $him to get dressed appropriately. $He meets you at the door wearing glitzy heels, an extremely short skirt<<if $activeSlave.belly >= 5000>> barely noticeable under her _belly <<if $activeSlave.bellyPreg >= 3000>>pregnant <</if>>belly<</if>>, and a string bikini top so brief that $his areolae are clearly visible. As you descend through $arcologies[0].name the beats get faster and the drops get heavier. By the time you reach the club where the Free Cities' hottest DJ has a show tonight, $activeSlave.slaveName is a whirlwind of sexual energy in motion, moving with every beat and catching every eye<<if $activeSlave.preg > 30>>, despite how far along $he is<<elseif $activeSlave.belly >= 5000 || $activeSlave.weight > 130>>, despite how big $he is<</if>>. $His skills could have half the club lining up to fuck her for money, but tonight $he's all yours. The entire floor is envious of you as the night wears on and her dancing turns into sexual servicing you in time with the music.
+	You inform $activeSlave.slaveName of your plans and tell $him to get dressed appropriately. $He meets you at the door wearing glitzy heels, an extremely short skirt<<if $activeSlave.belly >= 5000>> barely noticeable under her _belly <<if $activeSlave.bellyPreg >= 3000>>pregnant <</if>>belly<</if>>, and a string bikini top so brief that $his areolae are clearly visible. As you descend through $arcologies[0].name the beats get faster and the drops get heavier. By the time you reach the club where the Free Cities' hottest DJ has a show tonight, $activeSlave.slaveName is a whirlwind of sexual energy in motion, moving with every beat and catching every eye<<if $activeSlave.preg > $activeSlave.pregData.normalBirth/1.33>>, despite how far along $he is<<elseif $activeSlave.belly >= 5000 || $activeSlave.weight > 130>>, despite how big $he is<</if>>. $His skills could have half the club lining up to fuck her for money, but tonight $he's all yours. The entire floor is envious of you as the night wears on and her dancing turns into sexual servicing you in time with the music.
 	<<if ["chastity", "combined chastity"].includes($activeSlave.dickAccessory)>>
 		The smell of her pre-cum is noticeable even over the stink of sweat.
 	<<elseif ($activeSlave.dick > 0) && canAchieveErection($activeSlave)>>
@@ -15180,14 +15180,14 @@ You tell her kindly that you understand, and that $he'll be trained to address t
 <br><<link "Require double repayment and spend it on her">>
 	<<EventNameDelink $activeSlave>>
 	<<replace "#result">>
-	Your tenant knows that abject surrender is his only hope once you make it clear to him that his scheme is known to you. He complies all too eagerly with your demand that he repay double what he owes. Slaves are not permitted to keep possessions, especially money, so you spend it on $activeSlave.slaveName directly. $He spends the day <<if $activeSlave.preg > 20>>having her pregnant belly moisturized, her tired feet rubbed, her cravings fulfilled, being<<else>>being<</if>> massaged, beautified, and pampered. You then take her out for a lovely meal, allowing $him to wear clothing that's almost conservative by Free Cities standards, and take a nice walk around $arcologies[0].name's club, talking on light subjects. $He's @@.hotpink;deeply touched@@ by an evening of affection without sex.
+	Your tenant knows that abject surrender is his only hope once you make it clear to him that his scheme is known to you. He complies all too eagerly with your demand that he repay double what he owes. Slaves are not permitted to keep possessions, especially money, so you spend it on $activeSlave.slaveName directly. $He spends the day <<if $activeSlave.preg > $activeSlave.pregData.normalBirth/2>>having her pregnant belly moisturized, her tired feet rubbed, her cravings fulfilled, being<<else>>being<</if>> massaged, beautified, and pampered. You then take her out for a lovely meal, allowing $him to wear clothing that's almost conservative by Free Cities standards, and take a nice walk around $arcologies[0].name's club, talking on light subjects. $He's @@.hotpink;deeply touched@@ by an evening of affection without sex.
 	<<set $activeSlave.devotion += 10>>
 	<</replace>>
 <</link>>
 <br><<link "Leverage the situation and reward her">>
 	<<EventNameDelink $activeSlave>>
 	<<replace "#result">>
-	Archimedes might have his lever, but give you a place to set such information as this, and you can move a mountain of money. Before he knows what has beset him, your tenant is bustled out of $arcologies[0].name and replaced by a favored and hopefully more honest competitor, who @@.green;is well aware of the score here.@@ $activeSlave.slaveName, who made this possible, spends the day <<if $activeSlave.preg > 20>>having her pregnant belly moisturized, her tired feet rubbed, her cravings fulfilled, being<<else>>being<</if>> massaged, beautified, and pampered. You then take her out for a lovely meal, allowing $him to wear clothing that's almost conservative by Free Cities standards, and take a nice walk around $arcologies[0].name's club, talking on light subjects. $He's @@.hotpink;deeply touched@@ by an evening of affection without sex, and $he @@.mediumaquamarine;trusts you@@ with all sorts of amusing whorehouse rumors.
+	Archimedes might have his lever, but give you a place to set such information as this, and you can move a mountain of money. Before he knows what has beset him, your tenant is bustled out of $arcologies[0].name and replaced by a favored and hopefully more honest competitor, who @@.green;is well aware of the score here.@@ $activeSlave.slaveName, who made this possible, spends the day <<if $activeSlave.preg > $activeSlave.pregData.normalBirth/2>>having her pregnant belly moisturized, her tired feet rubbed, her cravings fulfilled, being<<else>>being<</if>> massaged, beautified, and pampered. You then take her out for a lovely meal, allowing $him to wear clothing that's almost conservative by Free Cities standards, and take a nice walk around $arcologies[0].name's club, talking on light subjects. $He's @@.hotpink;deeply touched@@ by an evening of affection without sex, and $he @@.mediumaquamarine;trusts you@@ with all sorts of amusing whorehouse rumors.
 	<<set $activeSlave.devotion += 3, $activeSlave.trust += 3>>
 	<<set $cash -= 2000>>
 	<<set $arcologies[0].prosperity += 1>>
@@ -15390,7 +15390,7 @@ You tell her kindly that you understand, and that $he'll be trained to address t
 <br><<link "Just watch her for a little while">>
 	<<EventNameDelink $activeSlave>>
 	<<replace "#result">>
-	You stand there for a while, watching the exhausted slave sleep. It's an oddly restful sight, and the aesthetics of her slumbering little movements hold your attention for a time.<<if $activeSlave.preg > 20>> You watch the subtle movements going on within her womb as well.<</if>> After a while, you head to your own bed. Several of her fellow slaves came and went as you watched $him, but if they're surprised by the sight, they have the presence of mind not to show it.
+	You stand there for a while, watching the exhausted slave sleep. It's an oddly restful sight, and the aesthetics of her slumbering little movements hold your attention for a time.<<if $activeSlave.preg > $activeSlave.pregData.normalBirth/2>> You watch the subtle movements going on within her womb as well.<</if>> After a while, you head to your own bed. Several of her fellow slaves came and went as you watched $him, but if they're surprised by the sight, they have the presence of mind not to show it.
 	<br><br>
 	One of them quietly lets $him know about the incident the next day, though, and the overall impact on her mental state is surprisingly positive. In a more normal human setting, the news that someone watched her sleep last night without her consent or even knowledge at the time would disturb her greatly. However, it's not uncommon for slaves in the dormitory to wake up to the sounds of the occupant of the bedroll next to theirs getting fucked, and without her consent, either. Perhaps you're odd, $he's obviously thinking, but @@.mediumaquamarine;perhaps you won't rape her while $he sleeps.@@
 	<<set $activeSlave.trust += 4>>
@@ -16443,7 +16443,7 @@ You tell her kindly that you understand, and that $he'll be trained to address t
 	<<else>>
 		nipples and playing with her boobs.
 	<</if>>
-	Deciding that you're done with the $PC.refreshment, you pull a long draw of smoke into your mouth, bringing the coal at its foot to a fine glow. Then you pull it out of your mouth and press it against the slave's defenseless $activeSlave.skin <<if $activeSlave.preg > 20>>pregnant belly<<else>>breast<</if>>. $He <<if $activeSlave.voice == 0>>makes the horrible rasping noise that her mute throat substitutes for screams of agony<<else>>shrieks with agony<</if>>, flinching away instinctively, and collapses to the ground<<if $activeSlave.fetish == "masochist">>, orgasming from the sudden rush of stimulation<</if>>. Writhing in pain, $he cherishes the burn on her <<if $activeSlave.preg > 20>>stomach<<else>>breast<</if>> with both hands, her sobbing only interrupted by ragged gasps for breath. You order $him to go get her burn looked at, and go back to your work. $He scrabbles toward the door, weeping,<<if $activeSlave.fetish == "masochist">> horrified at $himself for getting off to that, @@.hotpink;more convinced than ever that $he's a pain slut,@@ and yet<</if>> @@.gold;eager to get away.@@
+	Deciding that you're done with the $PC.refreshment, you pull a long draw of smoke into your mouth, bringing the coal at its foot to a fine glow. Then you pull it out of your mouth and press it against the slave's defenseless $activeSlave.skin <<if $activeSlave.preg > $activeSlave.pregData.normalBirth/2>>pregnant belly<<else>>breast<</if>>. $He <<if $activeSlave.voice == 0>>makes the horrible rasping noise that her mute throat substitutes for screams of agony<<else>>shrieks with agony<</if>>, flinching away instinctively, and collapses to the ground<<if $activeSlave.fetish == "masochist">>, orgasming from the sudden rush of stimulation<</if>>. Writhing in pain, $he cherishes the burn on her <<if $activeSlave.preg > $activeSlave.pregData.normalBirth/2>>stomach<<else>>breast<</if>> with both hands, her sobbing only interrupted by ragged gasps for breath. You order $him to go get her burn looked at, and go back to your work. $He scrabbles toward the door, weeping,<<if $activeSlave.fetish == "masochist">> horrified at $himself for getting off to that, @@.hotpink;more convinced than ever that $he's a pain slut,@@ and yet<</if>> @@.gold;eager to get away.@@
 	<<set $activeSlave.trust -= 5>>
 	<<if $activeSlave.fetish == "masochist">><<set $activeSlave.devotion += 4>><</if>>
 	<</replace>>
@@ -17533,7 +17533,7 @@ You tell her kindly that you understand, and that $he'll be trained to address t
 	<<else>>
 		$he is being fed significant amounts of ejaculate.
 	<</if>>
-	While her <<if $activeSlave.dietCum == 2>>extreme <</if>>diet is still engineered to <<if $activeSlave.dietCum == 2>>barely <</if>> provide the nutrition $he needs, if $he can't hold the stuff down, $he can't gain weight<<if $activeSlave.pregKnown == 1 && $activeSlave.preg > 10>>, even more so with her growing child<<if $activeSlave.pregType > 1>>ren<</if>> taking whatever nutrients <<if $activeSlave.pregType > 1>>they<<else>>it<</if>> can<</if>>. With a few taps on the keyboard you change her orders so that $he will be fed a much more nutritionally rich diet that is free of ejaculate. However, you make sure to warn $him that $assistantName will be monitoring $him, and you may change your mind once $he reaches a more attractive weight. $He thanks you profusely, <<if $activeSlave.vagina != 0>>even attempting to offer $his body for use in gratitude,<</if>> but you simply send her away. You find yourself concerned that you are becoming soft by allowing slaves to dictate what they will and won't eat, but your benevolent decision has already had a @@.hotpink;positive effect on her attitude@@. $He @@.mediumaquamarine;trusts you a little more@@ too.
+	While her <<if $activeSlave.dietCum == 2>>extreme <</if>>diet is still engineered to <<if $activeSlave.dietCum == 2>>barely <</if>> provide the nutrition $he needs, if $he can't hold the stuff down, $he can't gain weight<<if $activeSlave.pregKnown == 1 && $activeSlave.preg > $activeSlave.pregData.normalBirth/4>>, even more so with her growing child<<if $activeSlave.pregType > 1>>ren<</if>> taking whatever nutrients <<if $activeSlave.pregType > 1>>they<<else>>it<</if>> can<</if>>. With a few taps on the keyboard you change her orders so that $he will be fed a much more nutritionally rich diet that is free of ejaculate. However, you make sure to warn $him that $assistantName will be monitoring $him, and you may change your mind once $he reaches a more attractive weight. $He thanks you profusely, <<if $activeSlave.vagina != 0>>even attempting to offer $his body for use in gratitude,<</if>> but you simply send her away. You find yourself concerned that you are becoming soft by allowing slaves to dictate what they will and won't eat, but your benevolent decision has already had a @@.hotpink;positive effect on her attitude@@. $He @@.mediumaquamarine;trusts you a little more@@ too.
 	<<set $activeSlave.trust += 2, $activeSlave.devotion += 2, $activeSlave.dietCum = 0>>
 	<</replace>>
 <</link>>
@@ -17911,7 +17911,7 @@ You tell her kindly that you understand, and that $he'll be trained to address t
 		<<elseif $activeSlave.weight > 160>>
 			fat folds.
 		<<elseif $activeSlave.belly >= 5000>>
-			<<if $activeSlave.preg >= 3000>>
+			<<if $activeSlave.bellyPreg >= 3000>>
 				gravidness.
 			<<elseif $activeSlave.bellyImplant >= 3000>>
 				distended belly.
@@ -18961,7 +18961,7 @@ You tell her kindly that you understand, and that $he'll be trained to address t
 	Together, the two of you make fiercely intimate love, while you whisper romantic reassurances into $his ear, nip at $his neck,
 	<<if $activeSlave.bellyPreg >= 300000>>
 		run your hands across $his squirming brood,
-	<<elseif $activeSlave.preg > 20>>
+	<<elseif $activeSlave.preg > $activeSlave.pregData.normalBirth/2>>
 		stroke $his pregnant belly,
 	<<elseif $activeSlave.belly >= 5000>>
 		caress the curve of $his _belly belly,
@@ -19113,7 +19113,7 @@ You tell her kindly that you understand, and that $he'll be trained to address t
 	Together, the two of you make fiercely intimate love, while you whisper romantic reassurances into her ear, nip at her neck,
 	<<if $activeSlave.bellyPreg >= 300000>>
 		run your hands across her squirming brood,
-	<<elseif $activeSlave.preg > 20>>
+	<<elseif $activeSlave.preg > $activeSlave.pregData.normalBirth/2>>
 		stroke her pregnant belly,
 	<<elseif $activeSlave.belly >= 5000>>
 		caress the curve of her _belly belly,
@@ -19723,7 +19723,7 @@ You tell her kindly that you understand, and that $he'll be trained to address t
 	<<replace "#result">>
 	<<if $activeSlave.belly >= 3000000>>
 		You pull your chair back from your desk and order $him to lie on her back with her _belly belly to the ceiling. $He isn't sure what you are up to, but it quickly dawns on her as you straddle $his stomach and take a seat. $He groans under the massive pressure increase inside $him, but does her best to hold your weight.
-		<<if $activeSlave.preg > 10>>
+		<<if $activeSlave.preg > $activeSlave.pregData.normalBirth/4>>
 			You manage to get very little work done. The sheer amount of motion
 			<<if $PC.dick == 1>>
 				beneath your balls
diff --git a/src/uncategorized/brothelReport.tw b/src/uncategorized/brothelReport.tw
index 2a996eecf08abc899778c2f187fc68a8d2f227ad..121a5016753ccca3a4cfff4443e2bf58de8966f2 100644
--- a/src/uncategorized/brothelReport.tw
+++ b/src/uncategorized/brothelReport.tw
@@ -288,7 +288,7 @@
 	<<for _dI = 0; _dI < _DL; _dI++>>
 		<<set $i = $slaveIndices[$BrothiIDs[_dI]]>>
 		<<setLocalPronouns $slaves[$i]>>
-		<<if ($legendaryWombID == 0) && ($slaves[$i].amp != 1) && ($slaves[$i].preg > 30) && ($slaves[$i].broodmother == 0) && ($slaves[$i].eggType == "human") && ($slaves[$i].births > 10) && ($slaves[$i].devotion > 50) && ($slaves[$i].prestige == 0)>>
+		<<if ($legendaryWombID == 0) && ($slaves[$i].amp != 1) && ($slaves[$i].preg > $slaves[$i].pregData.normalBirth/1.33) && ($slaves[$i].broodmother == 0) && ($slaves[$i].eggType == "human") && ($slaves[$i].births > 10) && ($slaves[$i].devotion > 50) && ($slaves[$i].prestige == 0)>>
 			<<set $legendaryWombID = $slaves[$i].ID>>
 		<</if>>
 		<<if ($legendaryWhoreID == 0) && ($slaves[$i].whoreSkill >= 100) && ($slaves[$i].devotion > 50) && ($slaves[$i].prestige == 0)>>
diff --git a/src/uncategorized/clinicReport.tw b/src/uncategorized/clinicReport.tw
index c8eacb9a6c6f51c0cf679da2c97b530c5bc323be..898aef812d33a25fe901df0e0e7fd8f37ad0826c 100644
--- a/src/uncategorized/clinicReport.tw
+++ b/src/uncategorized/clinicReport.tw
@@ -161,7 +161,7 @@
 				_He2 is filled to the maximum that _his2 implant can stand.
 			<</if>>
 		<</if>>
-		<<if $slaves[$i].pregKnown == 1 && $slaves[$i].preg < 40 && $slaves[$i].pregControl == "speed up">>
+		<<if $slaves[$i].pregKnown == 1 && $slaves[$i].preg < $slaves[$i].pregData.normalBirth && $slaves[$i].pregControl == "speed up">>
 			<<setLocalPronouns $slaves[$i] 2>>
 			<br>''@@.pink;$slaves[$i].slaveName@@'' spends most of _his2 time on bedrest being filled with rapid gestation agents and concentrated slave food. All _he2 can do is <<if $slaves[$i].amp != 1 && canSee($slaves[$i])>>watch and feel _his2 belly pushing further and further out with life<<elseif $slaves[$i].amp != 1>>watch _his2 belly bulging further and further out with life<<elseif !canSee($slaves[$i])>>feel _his2 belly pushing further and further out with life beneath _his2 fingers<<else>>feel the every growing pressure inside _his2 abdomen<</if>>. Careful attention, along with numerous drug injections, are used to make sure _his2 body is able to safely adjust to _his2 pregnancy's rapid growth.
 			<<set $slaves[$i].health -= 10>>
@@ -172,7 +172,7 @@
 			<<else>>
 				<<set $slaves[$i].devotion -= 5, $slaves[$i].trust -= 10>>
 			<</if>>
-			<<if $slaves[$i].preg >= 35 && $slaves[$i].pregControl == "speed up">>
+			<<if $slaves[$i].preg >= $slaves[$i].pregData.minLiveBirth && $slaves[$i].pregControl == "speed up">>
 				<<set $slaves[$i].pregControl = "none">>
 				''@@.pink;$slaves[$i].slaveName's@@'' child is ready to pop out of _his2 womb, ''@@.yellow;_his2 course of rapid gestation agents is finished''.
 			<</if>>
@@ -265,7 +265,7 @@
 	<<if ($slaves[$i].health <= 40)>>
 	<<elseif ($Nurse != 0) && ($slaves[$i].chem > 15) && ($clinicUpgradeFilters == 1)>>
 	<<elseif ($Nurse != 0) && ($slaves[$i].pregKnown == 1) && ($clinicSpeedGestation >= 0 || $slaves[$i].pregControl == "speed up")>>
-	<<elseif ($Nurse != 0) && ($slaves[$i].pregAdaptation*1000 < $slaves[$i].bellyPreg || $slaves[$i].preg > 30)>>
+	<<elseif ($Nurse != 0) && ($slaves[$i].pregAdaptation*1000 < $slaves[$i].bellyPreg || $slaves[$i].preg > $slaves[$i].pregData.normalBirth/1.33)>>
 	<<elseif ($Nurse != 0) && ($clinicInflateBelly > 0) && ($slaves[$i].bellyImplant >= 0) && ($slaves[$i].bellyImplant <= ($arcologies[0].FSTransformationFetishistResearch ? 800000 : 130000))>>
 	<<else>>
 		<br><br>''__@@.pink;$slaves[$i].slaveName@@__'' has been returned to health<<if ($Nurse != 0) && ($clinicUpgradeFilters == 1)>> and purity<</if>>, so @@.yellow;$his assignment has defaulted to rest.@@
diff --git a/src/uncategorized/clubReport.tw b/src/uncategorized/clubReport.tw
index f59e5d9fc85a71e25f28742be6692f5e25acef67..e18d44fe43cabf591ed67d56ca2bbf6c714d5448 100644
--- a/src/uncategorized/clubReport.tw
+++ b/src/uncategorized/clubReport.tw
@@ -202,7 +202,7 @@
 		<<if ($legendaryEntertainerID == 0) && ($slaves[$i].prestige == 0) && ($slaves[$i].entertainSkill >= 100) && ($slaves[$i].devotion > 50)>>
 			<<set $legendaryEntertainerID = $slaves[$i].ID>>
 		<</if>>
-		<<if ($legendaryWombID == 0) && ($slaves[$i].amp != 1) && ($slaves[$i].preg > 30) && ($slaves[$i].broodmother == 0) && ($slaves[$i].eggType == "human") && ($slaves[$i].births > 10) && ($slaves[$i].devotion > 50) && ($slaves[$i].prestige == 0)>>
+		<<if ($legendaryWombID == 0) && ($slaves[$i].amp != 1) && ($slaves[$i].preg > $slaves[$i].pregData.normalBirth/1.33) && ($slaves[$i].broodmother == 0) && ($slaves[$i].eggType == "human") && ($slaves[$i].births > 10) && ($slaves[$i].devotion > 50) && ($slaves[$i].prestige == 0)>>
 			<<set $legendaryWombID = $slaves[$i].ID>>
 		<</if>>
 		<<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>>
diff --git a/src/uncategorized/costsReport.tw b/src/uncategorized/costsReport.tw
index 82d1ee5bab8b8cabf59b64bdaf999925b3a9e69f..1036308f41dd89d567b330f18abdb7a24633f303 100644
--- a/src/uncategorized/costsReport.tw
+++ b/src/uncategorized/costsReport.tw
@@ -467,7 +467,7 @@ $nursery > 0 || $masterSuiteUpgradePregnancy > 0 || $incubator > 0 ||
 		<<print cashFormat($foodCost*$slaves[$i].lactation*(1+Math.trunc($slaves[$i].boobs/10000)))>>
 		<<set _individualCosts += $foodCost*$slaves[$i].lactation*(1+Math.trunc($slaves[$i].boobs/10000))>>
 	<</if>>
-	<<if $slaves[$i].preg > 5>>
+	<<if $slaves[$i].preg > $slaves[$i].pregData.normalBirth/8>>
 		<<if $slaves[$i].assignment == "work in the dairy" && $dairyFeedersSetting > 0>>
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;<i>Extra feeding costs to support pregnancy are covered by dairy feeders.</i>
 		<<elseif ($slaves[$i].assignment == "serve in the master suite" || $slaves[$i].assignment == "be your concubine") && $masterSuiteUpgradePregnancy == 1>>
@@ -591,7 +591,7 @@ $nursery > 0 || $masterSuiteUpgradePregnancy > 0 || $incubator > 0 ||
 			<<set _individualCosts += 50>>
 		<</if>>
 	<</if>>
-	<<if $slaves[$i].preg > 35>>
+	<<if $slaves[$i].preg > $slaves[$i].pregData.minLiveBirth>>
 		<<if $universalRulesBirthing == 1>>
 			<<if ($slaves[$i].assignment != "work in the dairy" || $dairyRestraintsSetting < 2)>>
 				<br>&nbsp;&nbsp;&nbsp;&nbsp;<i>Coverage cost for daily pregnancy scanning:</i> <<print cashFormat(50)>>
diff --git a/src/uncategorized/masterSuiteReport.tw b/src/uncategorized/masterSuiteReport.tw
index 86f91981777c076d6309c4e17bf9ace8665130f2..4bf64a0617584c9456c0266c72eee49f4983bc70 100644
--- a/src/uncategorized/masterSuiteReport.tw
+++ b/src/uncategorized/masterSuiteReport.tw
@@ -327,7 +327,7 @@
 				/* Once we know they're knocked up, get the counter going. */
 				<<set _masterSuitePregnantSlaves += 1>>
 				/* Don't know about twins/triplets etc until 10 weeks. Once we do, get the counter going */
-				<<if ($slaves[$i].pregType > 1) && ($slaves[$i].preg >= 10)>>
+				<<if ($slaves[$i].pregType > 1) && ($slaves[$i].preg >= $slaves[$i].pregData.normalBirth/1.33)>>
 					<<set _masterSuitePregnantSlavesMultiple += 1>>
 				<</if>>
 				/* If they're preggo and in the upgraded suite, give them extra devotion. More if they're being given lighter duties. */
diff --git a/src/uncategorized/matchmaking.tw b/src/uncategorized/matchmaking.tw
index 85cd4599622a04f14238bdb9ec4b8e1227a779fb..34a934828f5f427e181e605b68fdec5558beb148 100644
--- a/src/uncategorized/matchmaking.tw
+++ b/src/uncategorized/matchmaking.tw
@@ -431,15 +431,15 @@ Being ordered into a relationship would be difficult for anyone, but they're so
 	$subSlave.slaveName fetishized breasts so much that she thinks $eventSlave.slaveName's udders are one of the sexiest things she's ever seen.
 <<elseif ($eventSlave.fetish == "pregnancy") && ($subSlave.fetish == "pregnancy") && $subSlave.bellyPreg >= 300000 && $eventSlave.bellyPreg >= 300000>>
 	$eventSlave.slaveName and $subSlave.slaveName are both enormously laden with children, much to the other's delight. They can't wait to explore each other's baby filled middle.
-<<elseif ($eventSlave.fetish == "pregnancy") && ($subSlave.fetish == "pregnancy") && $subSlave.preg > 20 && $eventSlave.preg > 20>>
+<<elseif ($eventSlave.fetish == "pregnancy") && ($subSlave.fetish == "pregnancy") && $subSlave.preg > $subSlave.pregData.normalBirth/2 && $eventSlave.preg > $eventSlave.pregData.normalBirth/2>>
 	$eventSlave.slaveName and $subSlave.slaveName are both heavily pregnant, much to the other's delight.
 <<elseif ($subSlave.fetish == "pregnancy") && $eventSlave.bellyPreg >= 300000>>
 	$subSlave.slaveName fetishizes pregnant bellies so much that she is awestruck by $eventSlave.slaveName's enormous, baby filled middle.
 <<elseif ($eventSlave.fetish == "pregnancy") && $subSlave.bellyPreg >= 300000>>
 	$eventSlave.slaveName fetishizes pregnant bellies so much that she is awestruck by $subSlave.slaveName's enormous, baby filled middle.
-<<elseif ($subSlave.fetish == "pregnancy") && $eventSlave.preg > 20>>
+<<elseif ($subSlave.fetish == "pregnancy") && $eventSlave.preg > $eventSlave.pregData.normalBirth/2>>
 	$subSlave.slaveName fetishizes pregnant bellies so much that she thinks $eventSlave.slaveName gravid middle is one of the sexiest things she's ever seen.
-<<elseif ($eventSlave.fetish == "pregnancy") && $subSlave.preg > 20>>
+<<elseif ($eventSlave.fetish == "pregnancy") && $subSlave.preg > $subSlave.pregData.normalBirth/2>>
 	$eventSlave.slaveName fetishizes pregnant bellies so much that she thinks $subSlave.slaveName's gravid middle is one of the sexiest things she's ever seen.
 <<elseif ($eventSlave.fetish == "pregnancy") && ($subSlave.fetish == "pregnancy") && $subSlave.bellyPreg >= 100 && $eventSlave.bellyPreg >= 100>>
 	$eventSlave.slaveName and $subSlave.slaveName are both pregnant and just beginning to show. They'll both be able to enjoy the other's swelling body.
diff --git a/src/uncategorized/newSlaveIntro.tw b/src/uncategorized/newSlaveIntro.tw
index 81e2c1078335627f107b50e86e242b12766d556d..bd20a841890f9336cdfa13e48c7e20a05053db79 100644
--- a/src/uncategorized/newSlaveIntro.tw
+++ b/src/uncategorized/newSlaveIntro.tw
@@ -1066,9 +1066,9 @@ The legalities completed, ''__@@.pink;<<= SlaveFullName($activeSlave)>>@@__'' <<
 	<br>&nbsp;&nbsp;&nbsp;&nbsp;
 	<<link "Sterilize $him">>
 		<<replace "#introResult">>
-			You drag $him to the remote surgery and strap $his face up with $his<<if $activeSlave.bellyPreg >= 1500>> pregnant<</if>> stomach bare. $He doesn't understand what's coming for a while, even as $his belly is carefully cleaned and disinfected. $He begins to panic at the sight of the approaching surgical manipulators, cringing as they cut into $his<<if $activeSlave.bellyPreg >= 1500>> rounded<</if>> abdomen. $He squeals in horror as $his<<if $activeSlave.preg > 30>> swollen womb, still moving with life,<<elseif $activeSlave.bellyPreg >= 1500>> pregnant womb<<else>> womb<</if>> and ovaries are extracted before $his eyes.
+			You drag $him to the remote surgery and strap $his face up with $his<<if $activeSlave.bellyPreg >= 1500>> pregnant<</if>> stomach bare. $He doesn't understand what's coming for a while, even as $his belly is carefully cleaned and disinfected. $He begins to panic at the sight of the approaching surgical manipulators, cringing as they cut into $his<<if $activeSlave.bellyPreg >= 1500>> rounded<</if>> abdomen. $He squeals in horror as $his<<if $activeSlave.preg > $activeSlave.pregData.normalBirth/1.33>> swollen womb, still moving with life,<<elseif $activeSlave.bellyPreg >= 1500>> pregnant womb<<else>> womb<</if>> and ovaries are extracted before $his eyes.
 			<<if $activeSlave.fetish == "pregnancy" && $activeSlave.pregKnown == 1>>
-				<<if $activeSlave.preg > 25>>
+				<<if $activeSlave.preg > $activeSlave.pregData.normalBirth/1.6>>
 					$He watches $his exposed womb with absolute terror in $his eyes. A small handprint bulges against the organ; $he sobs once before $his mind @@.red;shatters at the sight.@@
 					<<set $activeSlave.fetish = "mindbroken", $activeSlave.fetishKnown = 1, $activeSlave.behavioralQuirk == "none", $activeSlave.behavioralFlaw == "none", $activeSlave.sexualQuirk == "none", $activeSlave.sexualFlaw == "none">>
 				<<else>>
diff --git a/src/uncategorized/pePitFight.tw b/src/uncategorized/pePitFight.tw
index 8c385563c976436707c3f6bd4888b69d76d85d7d..253feefba0a34e4f1a496ac3670534d5e8f43a73 100644
--- a/src/uncategorized/pePitFight.tw
+++ b/src/uncategorized/pePitFight.tw
@@ -102,7 +102,7 @@ Across the ring, $his opponent's owner nods civilly to you and examines $activeS
 <</if>>
 <<if $activeSlave.labor == 1>>
 	$He's feeling labor pains. $His child<<if $activeSlave.pregType > 1>>ren are<<else>> is<</if>> ready to be born.
-<<elseif $activeSlave.preg >= 40 && $activeSlave.pregControl != "labor supressors">>
+<<elseif $activeSlave.preg >= $activeSlave.pregData.normalBirth && $activeSlave.pregControl != "labor supressors">>
 	$He'll be going into labor any time now and $he knows it.
 <</if>>
 
diff --git a/src/uncategorized/reBoomerang.tw b/src/uncategorized/reBoomerang.tw
index 6b79d7220b7c04a0c5a8fec342248fd1e41df29c..9e33228a7bb31d5b66d11eed72e8a8ca46bce439 100644
--- a/src/uncategorized/reBoomerang.tw
+++ b/src/uncategorized/reBoomerang.tw
@@ -42,7 +42,7 @@ brings up the relevant feeds. There's a naked body crumpled pathetically against
 <<if $activeSlave.preg > 0>>
 	<<set $activeSlave.preg += _weeks>>
 	<<set $activeSlave.pregWeek += _weeks>>
-	<<if $activeSlave.preg > 40>>
+	<<if $activeSlave.preg > $activeSlave.pregData.normalBirth>>
 		<<set $activeSlave.preg = -1, $activeSlave.birthsTotal += $activeSlave.pregType, $activeSlave.pregType = 0, $activeSlave.pregSource = 0, $activeSlave.pregWeek = 0, $activeSlave.pregKnown = 0>>
 	<</if>>
 	<<run SetBellySize($activeSlave)>>
diff --git a/src/uncategorized/remoteSurgery.tw b/src/uncategorized/remoteSurgery.tw
index 79d470862fd1873bf1a178fbeab3c690a8876ec5..3b1d76551071e2950e304b42b83aebe053ecba3c 100644
--- a/src/uncategorized/remoteSurgery.tw
+++ b/src/uncategorized/remoteSurgery.tw
@@ -471,7 +471,7 @@ Work on her chest:
 		//$His supportive mesh implant prevents reconstruction//
 	<<else>>
 		<<if ($activeSlave.boobShape == "saggy") || ($activeSlave.boobShape == "downward-facing")>>
-			[[Breast lift|Surgery Degradation][$activeSlave.boobShape = "normal", $activeSlave.health -= 20,$cash -= $surgeryCost, $surgeryType = "breastLift"]]<<if $activeSlave.preg > 20 || ($activeSlave.boobs >= 5000 && $activeSlave.boobs < 8000)>>//$His current state may result in $his breasts becoming saggy again//<</if>>
+			[[Breast lift|Surgery Degradation][$activeSlave.boobShape = "normal", $activeSlave.health -= 20,$cash -= $surgeryCost, $surgeryType = "breastLift"]]<<if $activeSlave.preg > $activeSlave.pregData.normalBirth/1.42 || ($activeSlave.boobs >= 5000 && $activeSlave.boobs < 8000)>>//$His current state may result in $his breasts becoming saggy again//<</if>>
 		<<else>>
 			<<if ($activeSlave.boobShape == "normal")>>
 				[[Reshape them to be perkier|Surgery Degradation][$activeSlave.boobShape = "perky",$cash -= $surgeryCost,$activeSlave.health -= 10,$surgeryType = "breastReconstruction"]]