diff --git a/src/uncategorized/RETS.tw b/src/uncategorized/RETS.tw
index 2c969b4c8cb80d70098d5bf5d8d36b9697d27b06..980aaa3396c838801b21405dab5ac16513f82212 100644
--- a/src/uncategorized/RETS.tw
+++ b/src/uncategorized/RETS.tw
@@ -346,9 +346,9 @@ She's sitting on the end of the couch, though only her legs, crotch and hands ar
 	$activeSlave.slaveName is using the biggest dildo $subSlave.slaveName's <<if $subSlave.anus > 2>>loose<<elseif $subSlave.anus > 1>>welcoming<<else>>tight<</if>> anus can handle, and she's bouncing her anal bottom up and down fast.
 <</if>>
 Surprisingly, the slave on top doesn't seem too unhappy with this. She's no slavishly devoted buttslut, but
-<<if ($subSlave.dickAccessory == "chastity")>>
+<<if ($subSlave.dickAccessory == "chastity" || $subSlave.dickAccessory == "combined chastity")>>
 	she's taking it well, and even looking a little uncomfortable as the beginnings of a hardon press against her chastity cage.
-<<elseif ($subSlave.dick > 0) && canAchieveErection($subSlave.balls)>>
+<<elseif ($subSlave.dick > 0) && canAchieveErection($subSlave)>>
 	her cock is proudly erect, sticking straight up as she reclines against $activeSlave.slaveName beneath her, wiggling a little with the rhythm of the pounding.
 <<elseif ($subSlave.dick > 0)>>
 	she looks aroused, though her flopping dick can't show it.
diff --git a/src/uncategorized/brothelReport.tw b/src/uncategorized/brothelReport.tw
index 45de8d52b7a3085f99a66a9f32a39f54437e6923..13c600eafd50879a995859ba10a5f4f57060fad1 100644
--- a/src/uncategorized/brothelReport.tw
+++ b/src/uncategorized/brothelReport.tw
@@ -341,7 +341,7 @@
 					<<set _seed++>>
 				<</if>>
 			<<elseif $brothelAdsImplanted == -1>>
-				<<if $slaves[$i].boobsImplant == 0 && $slaves[$i].buttImplant == 0 && $slaves[$i].waist >= -95 && $slaves[$i].lipsImplant == 0 && $slaves[$i].faceImplant < 30 &&  $slaves[$i].bellyImplant == -1>>
+				<<if $slaves[$i].boobsImplant == 0 && $slaves[$i].buttImplant == 0 && $slaves[$i].waist >= -95 && $slaves[$i].lipsImplant == 0 && $slaves[$i].faceImplant < 30 &&  $slaves[$i].bellyImplant <= 0>>
 					<<set _seed++>>
 				<</if>>
 			<</if>>
diff --git a/src/uncategorized/jeSlaveDispute.tw b/src/uncategorized/jeSlaveDispute.tw
index e3a539ef57ac63f8d3f9e1a83c2bdf696535d434..7563eac012959e59766217dd9d74e0cc5fa1e152 100644
--- a/src/uncategorized/jeSlaveDispute.tw
+++ b/src/uncategorized/jeSlaveDispute.tw
@@ -128,7 +128,7 @@
 		<<set $activeSlave.vagina = 2>>
 		<<set $activeSlave.ovaries = 1>>
 		<<if isFertile($activeSlave)>>
-			<<KnockMeUp $activeSlave 100 2 -2>>
+			<<KnockMeUp $activeSlave 100 2 -2 1>>
 		<</if>>
 	<</if>>
 <</switch>>
diff --git a/src/uncategorized/saGetMilked.tw b/src/uncategorized/saGetMilked.tw
index 3f95f82e0c6c9d4df59e571aa4dfbd8955181946..17bec5197042f412860b9ca05964bdf18091bf76 100644
--- a/src/uncategorized/saGetMilked.tw
+++ b/src/uncategorized/saGetMilked.tw
@@ -84,7 +84,7 @@ gets milked this week.
 	<</if>>
 	<</if>>
 
-	<<if ($slaves[$i].preg > 5)>>
+	<<if ($slaves[$i].preg > 5) && ($slaves[$i].pregKnown == 1)>>
 		Her pregnancy helps her body produce more milk naturally<<if $slaves[$i].lactationAdaptation < 100>>, and also helps it adapt to milk production<<set $slaves[$i].lactationAdaptation += 1>><</if>>.
 	<</if>>
 
diff --git a/src/uncategorized/saServeThePublic.tw b/src/uncategorized/saServeThePublic.tw
index 6f17043449f9de0cd6731d4d33f70f66b1f44e93..381e9921e56928e743748710b76dc3f23a89ba49 100644
--- a/src/uncategorized/saServeThePublic.tw
+++ b/src/uncategorized/saServeThePublic.tw
@@ -86,26 +86,16 @@ the public.
 		<</if>>
 		<</if>>
 		<<if $clubAdsPreg == 1>>
-		<<if ($slaves[$i].preg > 10) || ($slaves[$i].bellyImplant >= 4000)>>
+		<<if ($slaves[$i].bellyPreg >= 5000) || ($slaves[$i].bellyImplant >= 4000)>>
 			<<set $beautyMultiplier += 0.05>>
 			Her gravid body fits $clubName's ad campaign, getting her more attention.
 		<</if>>
 		<<elseif $clubAdsPreg == -1>>
-		<<if ($slaves[$i].pregType < 10)>>
-		<<if ($slaves[$i].preg < 1)>>
-		<<if ($slaves[$i].weight < 30)>>
-		<<if (!setup.fakeBellies.includes($bellyAccessory))>>
-		<<if ($slaves[$i].bellyImplant <= 0)>>
-		<<if ($slaves[$i].inflation == 0)>>
+		<<if ($slaves[$i].belly < 100) && ($slaves[$i].weight < 30) && (!setup.fakeBellies.includes($bellyAccessory)) && ($slaves[$i].bellyImplant <= 0) && ($slaves[$i].inflation == 0)>>
 			<<set $beautyMultiplier += 0.05>>
 			Her flat belly fits $clubName's ad campaign, getting her more attention.
 		<</if>>
 		<</if>>
-		<</if>>
-		<</if>>
-		<</if>>
-		<</if>>
-		<</if>>
 		<<if $clubAdsModded == 1>>
 		<<if $modScore > 15 || ($piercingScore > 8 && $tatScore > 5)>>
 			<<set $beautyMultiplier += 0.05>>
@@ -753,7 +743,7 @@ Her appearance attracted $beauty members of the public (<<print Math.trunc($beau
 	She appeals to citizens who like lactation play, or just like sluts they can drink milk from.
 <</if>>
 
-<<if $slaves[$i].preg > 10 || setup.fakeBellies.includes($bellyAccessory) || $slaves[$i].bellyImplant >= 2000>>
+<<if $slaves[$i].bellyPreg >= 1500 || setup.fakeBellies.includes($bellyAccessory) || $slaves[$i].bellyImplant >= 2000>>
 <<if $arcologies[0].FSRepopulationFocus != "unset">>
 	In the new culture of $arcologies[0].name, her pregnancy gets her lots of attention.
 <<elseif $arcologies[0].FSRestart != "unset">>
@@ -1409,7 +1399,7 @@ Her appearance attracted $beauty members of the public (<<print Math.trunc($beau
 <<if ($slaves[$i].addict > 50)>>
 	<<set $vignettes.push({text: "she zoned out badly due to a low point between aphrodisiac doses, disappointing a citizen,", type: "rep", effect: -1})>>
 <</if>>
-<<if ($slaves[$i].preg > 20)>>
+<<if ($slaves[$i].bellyPreg >= 10000) || ($slaves[$i].bellyImplant >= 10000)>>
 	<<set $vignettes.push({text: "she earned extra gratitude from a citizen who likes to do nothing more than cuddle with her swollen belly,", type: "rep", effect: 1})>>
 	<<set $vignettes.push({text: "a night with guy who likes rough, hard sex with heavily pregnant girls took its toll on her", type: "health", effect: -1})>>
 <</if>>
@@ -1573,7 +1563,7 @@ Her appearance attracted $beauty members of the public (<<print Math.trunc($beau
 	<</if>>
 <</if>>
 <<if $arcologies[0].FSRepopulationFocus != "unset">>
-	<<if ($slaves[$i].pregType > 1)>>
+	<<if ($slaves[$i].pregType > 1) && ($slaves[$i].pregKnown > 1) && ($slaves[$i].belly >= 10000)>>
 	<<set $vignettes.push({text: "she gratified a citizen who enjoys the feeling of a womb filled with more than a single child,", type: "rep", effect: 1})>>
 	<</if>>
 <<elseif $arcologies[0].Restart != "unset">>
diff --git a/src/uncategorized/saWhore.tw b/src/uncategorized/saWhore.tw
index 2dbb2e5b51114c8db81ae45b51068fd3c25d90f8..637b2c252cbdebc7777f19973aa1a96ced06e6fc 100644
--- a/src/uncategorized/saWhore.tw
+++ b/src/uncategorized/saWhore.tw
@@ -80,26 +80,16 @@ her body.
 		<</if>>
 		<</if>>
 		<<if $brothelAdsPreg == 1>>
-		<<if ($slaves[$i].preg > 10) || ($slaves[$i].bellyImplant >= 4000)>>
+		<<if ($slaves[$i].bellyPreg >= 5000) || ($slaves[$i].bellyImplant >= 4000)>>
 			<<set $beautyMultiplier += 0.05>>
 			Her gravid body fits $brothelName's ad campaign, getting her more attention.
 		<</if>>
 		<<elseif $brothelAdsPreg == -1>>
-		<<if ($slaves[$i].pregType < 10)>>
-		<<if ($slaves[$i].preg < 1)>>
-		<<if ($slaves[$i].weight < 30)>>
-		<<if (!setup.fakeBellies.includes($bellyAccessory))>>
-		<<if ($slaves[$i].bellyImplant <= 0)>>
-		<<if ($slaves[$i].inflation == 0)>>
+		<<if ($slaves[$i].belly < 100) && ($slaves[$i].weight < 30) && (!setup.fakeBellies.includes($bellyAccessory)) && ($slaves[$i].bellyImplant <= 0) && ($slaves[$i].inflation == 0)>>
 			<<set $beautyMultiplier += 0.05>>
 			Her flat belly fits $brothelName's ad campaign, getting her more attention.
 		<</if>>
 		<</if>>
-		<</if>>
-		<</if>>
-		<</if>>
-		<</if>>
-		<</if>>
 		<<if $brothelAdsModded == 1>>
 		<<if $modScore > 15 || ($piercingScore > 8 && $tatScore > 5)>>
 			<<set $beautyMultiplier += 0.05>>
@@ -760,7 +750,7 @@ Her appearance attracted $beauty customers (<<print Math.trunc($beauty/7)>> a da
 	She appeals to customers who like lactation play, or just want a whore they can drink milk from.
 <</if>>
 
-<<if $slaves[$i].preg > 10 || setup.fakeBellies.includes($bellyAccessory) || $slaves[$i].bellyImplant >= 2000>>
+<<if $slaves[$i].bellyPreg >= 1500 || setup.fakeBellies.includes($bellyAccessory) || $slaves[$i].bellyImplant >= 2000>>
 	<<if $arcologies[0].FSRepopulationFocus != "unset">>
 		In the new culture of $arcologies[0].name, her pregnancy makes her a profitable whore.
 	<<elseif $arcologies[0].FSRestart != "unset">>
@@ -1409,16 +1399,14 @@ In total, you were paid @@.yellowgreen;¤<<print Math.trunc($beauty*$FResult)>>@
 <<if ($slaves[$i].addict > 50)>>
 	<<set $vignettes.push({text: "she zoned out badly due to a low point between aphrodisiac doses, disappointing a customer,", type: "rep", effect: -1})>>
 <</if>>
-<<if ($slaves[$i].preg > 20)>>
+<<if ($slaves[$i].bellyPreg >= 10000)>>
 	<<set $vignettes.push({text: "she earned repeat business from a customer who likes to do nothing more than cuddle with her swollen belly,", type: "cash", effect: 1})>>
 	<<set $vignettes.push({text: "a night with guy who likes rough, hard sex with heavily pregnant girls took its toll on her", type: "health", effect: -1})>>
 <</if>>
 <<if ($slaves[$i].inflation > 1)>>
 	<<set $vignettes.push({text: "she earned repeat business from a customer who loved the way her belly moved as he fucked her,", type: "cash", effect: 1})>>
-<<if ($slaves[$i].inflation > 1)>>
 	<<set $vignettes.push({text: "she disgusted a customer when his forceful fucking caused her to release her contained $slaves[$i].inflationType all over him,", type: "rep", effect: -2})>>
 <</if>>
-<</if>>
 <<if ($slaves[$i].hormones > 0) && !canAchieveErection($slaves[$i])>>
 	<<if ($slaves[$i].dick > 0)>>
 		<<set $vignettes.push({text: "she disappointed a customer who was sure she could get $slaves[$i].slaveName's cock erect,", type: "rep", effect: -1})>>
@@ -1597,7 +1585,7 @@ In total, you were paid @@.yellowgreen;¤<<print Math.trunc($beauty*$FResult)>>@
 	<</if>>
 <</if>>
 <<if $arcologies[0].FSRepopulationFocus != "unset">>
-	<<if ($slaves[$i].pregType > 1)>>
+	<<if ($slaves[$i].pregType > 1) && ($slaves[$i].pregKnown > 1) && ($slaves[$i].belly >= 10000)>>
 	<<set $vignettes.push({text: "she got repeat business from a customer who loves fucking girls with wombs filled by more than a single child,", type: "cash", effect: 1})>>
 	<</if>>
 <<elseif $arcologies[0].Restart != "unset">>
diff --git a/src/utility/miscWidgets.tw b/src/utility/miscWidgets.tw
index 459a88a777073d8bd355267826e906c8d823b2d1..babd1a7916b401792ccc61ef5cc49779ad77b492 100644
--- a/src/utility/miscWidgets.tw
+++ b/src/utility/miscWidgets.tw
@@ -2656,6 +2656,7 @@ This experience
  $args[1] is the % chance to concieve.
  $args[2] control's the hole involved (0 - vagina, 1 - ass, 2 - both). .mpreg did this.
  $args[3] is the ID of her sire or 0 if undefined.
+ $args[4] is an override if defined - $args[3] must be defined in this case.
 */
 <<widget "KnockMeUp">>
 	<<if random(0,99) < $args[1]>>
@@ -2667,7 +2668,7 @@ This experience
 			<</if>>
 			<<SetPregType $args[0]>>
 			<<if $menstruation == 1>>
-			<<else>>
+			<<elseif ndef $args[4]>>>>
 				<<set $args[0].pregKnown = 1>>
 				<<if $args[0].ID == -1>>
 					/*@@.lime;You have gotten pregnant.@@*/
@@ -2676,6 +2677,8 @@ This experience
 				<<else>>
 					@@.lime;It has become pregnant.@@
 				<</if>>
+			<<else>>
+				<<set $args[0].pregKnown = 1>>
 			<</if>>
 		<<elseif $args[2] == 2>>
 			<<set $args[0].preg = 1>>
@@ -2685,7 +2688,7 @@ This experience
 			<</if>>
 			<<SetPregType $args[0]>>
 			<<if $menstruation == 1>>
-			<<else>>
+			<<elseif ndef $args[4]>>
 				<<set $args[0].pregKnown = 1>>
 				<<if $args[0].ID == -1>>
 					/*@@.lime;You have gotten pregnant.@@*/
@@ -2694,6 +2697,8 @@ This experience
 				<<else>>
 					@@.lime;It has become pregnant.@@
 				<</if>>
+			<<else>>
+				<<set $args[0].pregKnown = 1>>
 			<</if>>
 		<</if>>
 	<</if>>