diff --git a/src/npc/fPCImpreg.tw b/src/npc/fPCImpreg.tw
index ec52d0df49e0f4093bc5d7eccc625f5851d54302..f75a02cbd48403d87fb4f74d810e084f9e7bd0ca 100644
--- a/src/npc/fPCImpreg.tw
+++ b/src/npc/fPCImpreg.tw
@@ -113,41 +113,8 @@ You call her over so you can
 
 You repeat this ritual throughout the week, ensuring that $activeSlave.slaveName is carrying your child.
 
-<<if random(1,100) >= 1>>
-	<<set $activeSlave.preg = 1, $activeSlave.pregSource = -1>>
-	<<if ($activeSlave.drugs == "super fertility drugs")>>
-		<<if (($masterSuitePregnancyFertilitySupplements == 1) && (($activeSlave.assignment == "serve in the master suite") || ($activeSlave.ID == $Concubine.ID)))>>
-			<<if ($activeSlave.hormones == 2)>>
-				<<set $activeSlave.pregType = random(20,29)>>
-			<<else>>
-				<<set $activeSlave.pregType = random(10,29)>>
-			<</if>>
-		<<else>>
-			<<if ($activeSlave.hormones == 2)>>
-				<<set $activeSlave.pregType = random(10,29)>>
-			<<else>>
-				<<set $activeSlave.pregType = either(3, 4, 4, 4, 5, 5, 5, 10, 10, 20)>>
-			<</if>>
-		<</if>>
-	<<elseif ($activeSlave.drugs == "fertility drugs")>>
-		<<if (($masterSuitePregnancyFertilitySupplements == 1) && (($activeSlave.assignment == "serve in the master suite") || ($activeSlave.ID == $Concubine.ID)))>>
-			<<if ($activeSlave.hormones == 2)>>
-				<<set $activeSlave.pregType = random(4,5)>>
-			<<else>>
-				<<set $activeSlave.pregType = either(2, 2, 3, 3, 3, 3, 4, 4, 5, 5)>>
-			<</if>>
-		<<else>>
-			<<if ($activeSlave.hormones == 2)>>
-				<<set $activeSlave.pregType = random(2,5)>>
-			<<else>>
-				<<set $activeSlave.pregType = either(1, 1, 2, 2, 3, 3, 4, 4, 5, 5)>>
-			<</if>>
-		<</if>>
-	<<else>>
-		<<set $activeSlave.pregType = either(1, 1, 1, 1, 1, 1, 1, 1, 1, 2)>>
-	<</if>>
-<</if>>
-
+<<set $activeSlave.preg = 1, $activeSlave.pregSource = -1>>
+<<SetPregType $activeSlave>>
 
 <<if $arcologies[0].FSRestart != "unset">>
 	<<if $activeSlave.breedingMark != 1>>
diff --git a/src/npc/fSlaveImpregConsummate.tw b/src/npc/fSlaveImpregConsummate.tw
index dda3b8aff1e21bd91cedc9da193c788f06dfcb60..c9b229fd1894827df52f2661a5d4db21cd61c524 100644
--- a/src/npc/fSlaveImpregConsummate.tw
+++ b/src/npc/fSlaveImpregConsummate.tw
@@ -123,40 +123,10 @@ Next, you see to $activeSlave.slaveName.
 	She happily obeys your orders, getting ready to serve <<if def $PC.customTitle>>her $PC.customTitle by making you<<elseif $PC.title != 0>>her Master by making him<<else>>her Mistress by making her<</if>> another slave.
 <</if>>
 
-<<if random(1,100) >= 1>>
-	<<set $activeSlave.preg = 1, $activeSlave.pregSource = $impregnatrix.ID>>
-	<<if ($activeSlave.drugs == "super fertility drugs")>>
-		<<if (($masterSuitePregnancyFertilitySupplements == 1) && (($activeSlave.assignment == "serve in the master suite") || ($activeSlave.ID == $Concubine.ID)))>>
-			<<if ($activeSlave.hormones == 2)>>
-				<<set $activeSlave.pregType = random(20,29)>>
-			<<else>>
-				<<set $activeSlave.pregType = random(10,29)>>
-			<</if>>
-		<<else>>
-			<<if ($activeSlave.hormones == 2)>>
-				<<set $activeSlave.pregType = random(10,29)>>
-			<<else>>
-				<<set $activeSlave.pregType = either(3, 4, 4, 4, 5, 5, 5, 10, 10, 20)>>
-			<</if>>
-		<</if>>
-	<<elseif ($activeSlave.drugs == "fertility drugs")>>
-		<<if (($masterSuitePregnancyFertilitySupplements == 1) && (($activeSlave.assignment == "serve in the master suite") || ($activeSlave.ID == $Concubine.ID)))>>
-			<<if ($activeSlave.hormones == 2)>>
-				<<set $activeSlave.pregType = random(4,5)>>
-			<<else>>
-				<<set $activeSlave.pregType = either(2, 2, 3, 3, 3, 3, 4, 4, 5, 5)>>
-			<</if>>
-		<<else>>
-			<<if ($activeSlave.hormones == 2)>>
-				<<set $activeSlave.pregType = random(2,5)>>
-			<<else>>
-				<<set $activeSlave.pregType = either(1, 1, 2, 2, 3, 3, 4, 4, 5, 5)>>
-			<</if>>
-		<</if>>
-	<<else>>
-		<<set $activeSlave.pregType = either(1, 1, 1, 1, 1, 1, 1, 1, 1, 2)>>
-	<</if>>
-<</if>>
+
+<<set $activeSlave.preg = 1, $activeSlave.pregSource = $impregnatrix.ID>>
+<<SetPregType $activeSlave>>
+
 
 <br><br>
 
diff --git a/src/pregmod/fSlaveSlaveDickConsummate.tw b/src/pregmod/fSlaveSlaveDickConsummate.tw
index 163291693a089cbcf6ea52b56a965228717c9040..5fe0a2dccbd731c1df3b69f5dd3f458621b7e5d3 100644
--- a/src/pregmod/fSlaveSlaveDickConsummate.tw
+++ b/src/pregmod/fSlaveSlaveDickConsummate.tw
@@ -224,6 +224,7 @@ Throughout the week, you keep $activeSlave.slaveName's dick intimate with $slave
 <<if canImpreg($slaverapistx, $activeSlave)>>
 	<<if random(1,100) >= 75>>
 		<<set $slaverapistx.preg = 1, $slaverapistx.pregSource = $activeSlave.ID>>
+		<<SetPregType $slaverapistx>>
 	<</if>>
 <</if>>
 
diff --git a/src/pregmod/fSlaveSlaveVagConsummate.tw b/src/pregmod/fSlaveSlaveVagConsummate.tw
index 10f63bfee276bf1cc36319375b69c4779a98a5b3..f80fe4fe5296517b453b64e62b92d3ca99400470 100644
--- a/src/pregmod/fSlaveSlaveVagConsummate.tw
+++ b/src/pregmod/fSlaveSlaveVagConsummate.tw
@@ -263,6 +263,7 @@ Throughout the week, you keep $activeSlave.slaveName's pussy intimate with $slav
 	<<if random(1,100) >= 75>>
 		<<set $activeSlave.preg = 1>>
 		<<set $activeSlave.pregSource = $slaverapistx.ID>>
+		<<SetPregType $activeSlave>>
 	<</if>>
 <</if>>	
 
diff --git a/src/pregmod/newChildIntro.tw b/src/pregmod/newChildIntro.tw
index 77bfcd596f8597fd09311b969e62a8d6b82dde7c..707158163173dac0c4c891844979454246db60ad 100644
--- a/src/pregmod/newChildIntro.tw
+++ b/src/pregmod/newChildIntro.tw
@@ -623,6 +623,7 @@ You slowly strip down, gauging her reactions to your show, until you are fully n
 	You perform a careful medical examination to verify fertility, and then forcefully take the girl's virginity. Whenever you feel able, you drain your balls into her cunt, only allowing her to wander off when scans verify a fertilized ovum. She didn't properly understand the scans, so she just thought it was sex; she won't realize what happened for some months at least, and in the mean time, will think she is just getting fat. Though once her child starts kicking, she might make the connection between sex and pregnancy.
 	<</if>>
 	<<VaginalVCheck>>
+	<<SetPregType $activeSlave>>
 	<<if $arcologies[0].FSRestart != "unset" && $activeSlave.breedingMark == 0>>
 		The Societal Elite @@.red;disapprove@@ of this breach of eugenics.
 		<<set $failedElite += 5>>
diff --git a/src/uncategorized/RESS.tw b/src/uncategorized/RESS.tw
index 4b6070ecf402da0af9be1cea7716614504de4c5b..622d55bd6f079f42ca8132b6c2cdf2fae4ca4023 100644
--- a/src/uncategorized/RESS.tw
+++ b/src/uncategorized/RESS.tw
@@ -4101,7 +4101,7 @@ You tell her kindly that you understand, and that she'll be trained to address t
 	<<set $activeSlave.devotion += 4>>
 	<<set $activeSlave.vaginalCount += 1>>
 	<<set $vaginalTotal += 1>>
-	<<if random(1,100) > 50>><<set $activeSlave.preg = 1>><<set $activeSlave.pregType = 1>><<set $activeSlave.pregSource = -1>><</if>>
+	<<if random(1,100) > 50>><<set $activeSlave.preg = 1>><<set $activeSlave.pregType = 1>><<set $activeSlave.pregSource = -1>><<SetPregType $activeSlave>><</if>>
 	<</replace>>
 <</link>>
 <br><<link "Use her ass but give her what she wants">>
@@ -4113,7 +4113,7 @@ You tell her kindly that you understand, and that she'll be trained to address t
 	<<set $analTotal += 1>>
 	<<set $activeSlave.vaginalCount += 1>>
 	<<set $vaginalTotal += 1>>
-	<<if random(1,100) > 50>><<set $activeSlave.preg = 1>><<set $activeSlave.pregType = 1>><<set $activeSlave.pregSource = -1>><</if>>
+	<<if random(1,100) > 50>><<set $activeSlave.preg = 1>><<set $activeSlave.pregType = 1>><<set $activeSlave.pregSource = -1>><<SetPregType $activeSlave>><</if>>
 	<</replace>>
 <</link>>
 <br><<link "Sneak it into her ass instead">>
@@ -4126,7 +4126,7 @@ You tell her kindly that you understand, and that she'll be trained to address t
 	<</replace>>
 <</link>>
 <<if ($cumSlaves >= 5)>>
-  <br><<link "Use the Dairy cockmilk impregnate her">>
+  <br><<link "Use the Dairy cockmilk to impregnate her">>
 	  <<replace "#name">>
 	  $activeSlave.slaveName
 	  <</replace>>
@@ -4135,7 +4135,7 @@ You tell her kindly that you understand, and that she'll be trained to address t
 	  <<set $activeSlave.devotion += 10>>
 	<<set $activeSlave.vaginalCount += 1>>
 	<<set $vaginalTotal += 1>>
-	<<if random(1,100) > 10>><<set $activeSlave.preg = 1>><<set $activeSlave.pregSource = -2>><</if>>
+	<<if random(1,100) > 10>><<set $activeSlave.preg = 1>><<set $activeSlave.pregSource = -2>><<SetPregType $activeSlave>><</if>>
 	  <</replace>>
   <</link>>
 <</if>>
@@ -7326,39 +7326,8 @@ She's obviously @@.mediumaquamarine;becoming more comfortable@@ playing the part
 		<<set $vaginalTotal += 1>>
 		<<if canGetPregnant($activeSlave) && canBreed($activeSlave, $activeSlave)>> /* can't miss the opportunity to knock herself up */
 		<<if random(1,100) > 80>>
-			<<set $activeSlave.preg = 1>>
-			<<if ($activeSlave.drugs == "super fertility drugs")>>
-			<<if (($masterSuitePregnancyFertilitySupplements == 1) && (($activeSlave.assignment == "serve in the master suite") || ($activeSlave.ID is $Concubine.ID)))>>
-			<<if ($activeSlave.hormones == 2)>>
-				<<set $activeSlave.pregType = 20>>
-			<<else>>
-				<<set $activeSlave.pregType = either(10, 10, 20)>>
-			<</if>>
-		<<else>>
-			<<if ($activeSlave.hormones == 2)>>
-				<<set $activeSlave.pregType = random(10,29)>>
-			<<else>>
-				<<set $activeSlave.pregType = either(3, 4, 4, 4, 5, 5, 5, 10, 10, 20)>>
-			<</if>>
-		<</if>>
-		<<elseif ($activeSlave.drugs is "fertility drugs")>>
-		<<if (($masterSuitePregnancyFertilitySupplements == 1) && (($activeSlave.assignment == "serve in the master suite") || ($activeSlave.ID is $Concubine.ID)))>>
-			<<if ($activeSlave.hormones == 2)>>
-				<<set $activeSlave.pregType = random(2,5)>>
-			<<else>>
-				<<set $activeSlave.pregType = either(1, 1, 2, 2, 3, 3, 4, 4, 5, 5)>>
-			<</if>>
-		<<else>>
-			<<if ($activeSlave.hormones == 2)>>
-				<<set $activeSlave.pregType = random(2,5)>>
-			<<else>>
-				<<set $activeSlave.pregType = either(1, 1, 2, 2, 3, 3, 4, 4, 5, 5)>>
-			<</if>>
-		<</if>>
-		<<else>>
-		<<set $activeSlave.pregType = either(1, 1, 1, 1, 1, 1, 1, 1, 1, 2)>>
-		<</if>>
-		<<set $activeSlave.pregSource = $activeSlave.ID>>
+			<<set $activeSlave.preg = 1, $activeSlave.pregSource = $activeSlave.ID>>
+			<<SetPregType $activeSlave>>
 		<</if>>
 		<</if>>
 	<<else>>
@@ -8504,6 +8473,7 @@ By the time you've finished with her sensitive ass, it shines red, and she is cr
 		<<set $activeSlave.trust -= 5>>
 		<<set $activeSlave.devotion += 5>>
 		<<set $activeSlave.preg = 1>>
+		<<SetPregType $activeSlave>>
 		<<if $activeSlave.mpreg == 1>>
 			<<AnalVCheck 10>>
 		<<else>>
@@ -9130,6 +9100,7 @@ As another long weeks draws to a close, <span id="name"><<print "[[$activeSlave.
 	$activeSlave.slaveName returns to the penthouse naked, disheveled, and absolutely covered in a thick coating of drying cum. Despite her appearance, however, she is practically beaming with happiness. It seems young cock agrees with her, and by the state of her messy pussy her youthful partners particularly enjoyed filling her with their potent seed. Unsurprisingly, at a routine check up later that week, $activeSlave.slaveName joyfully discovers that she was impregnated during her Frat House excursion. It seems that being bred by a bunch of horny college boys has eliminated her prior worries about the importance of age and also caused her to fetishize impregnation. @@.hotpink;She has become more submissive to you@@ for giving her the means to broaden her sexual horizons.
 	<<set $activeSlave.devotion += 4>>
 	<<set $activeSlave.preg = 1>>
+	<<SetPregType $activeSlave>>
 	<<set $activeSlave.fetish = "pregnancy">>
 	<<set $activeSlave.fetishKnown = 1>>
 	<<set $activeSlave.fetishStrength = 5>>
@@ -9172,6 +9143,7 @@ As another long weeks draws to a close, <span id="name"><<print "[[$activeSlave.
 	$activeSlave.slaveName returns to the penthouse naked, disheveled, and absolutely covered in a thick coating of drying cum. Despite her appearance, however, she is practically beaming with happiness. It seems a good fucking from experienced older men agrees with her, and by the state of her messy pussy her aged partners particularly enjoyed filling her with their still potent seed. Unsurprisingly, at a routine check up later that week, $activeSlave.slaveName joyfully discovers that she was impregnated during her excursion. It seems that being bred by a bunch of horny old men has eliminated her prior worries about the importance of age and also caused her to fetishize impregnation. @@.hotpink;She has become more submissive to you@@ for giving her the means to broaden her sexual horizons.
 	<<set $activeSlave.devotion += 4>>
 	<<set $activeSlave.preg = 1>>
+	<<SetPregType $activeSlave>>
 	<<set $activeSlave.fetish = "pregnancy">>
 	<<set $activeSlave.fetishKnown = 1>>
 	<<set $activeSlave.fetishStrength = 5>>
diff --git a/src/uncategorized/newSlaveIntro.tw b/src/uncategorized/newSlaveIntro.tw
index 81c5fc4e6984d9ebddb728f85f53e0c54178988e..1b48a5b4803cb42d3f6c4a6e7f06d3569ea34d3d 100644
--- a/src/uncategorized/newSlaveIntro.tw
+++ b/src/uncategorized/newSlaveIntro.tw
@@ -804,7 +804,7 @@ The legalities completed, ''__@@.pink;$activeSlave.slaveName@@__'' <<if ($active
 <<set $activeSlave.devotion += 4>>
 <<set $activeSlave.trust += 4>>
 	<<replace "#introResult">>
-		You gesture towards $recruiterMother.slaveName. She is <<if $recruiterMother.intelligence > 0>>bright enough<<elseif (($recruiterMother.vaginalSkill + $recruiterMother.analSkill + $recruiterMother.oralSkill) > 100)>>skilled enough<<else>>obedient enough<</if>> to understand you mean a demonstration is in order. $recruiterMother.slaveName starts things off with a <<if $recruiterMother.entertainSkill >= 100>>masterful<<elseif $recruiterMother.entertainSkill > 10>>skillful<<else>>passable<</if>> striptease, culminating in <<if ($recruiterMother.anus > 0) && ($recruiterMother.fetish != "cumslut")>>bending over<<else>>kneeling<</if>> in front of you. She eagerly moans as you enter her, begging for your seed<<if $recruiterMother.energy > 95>> like the slut she is.<<elseif $recruiterMother.whoreSkill > 30>> like the whore she is<<elseif ($recruiterMother.assignment == "serve in the master suite") || ($recruiterMother.assignment == "please you")>> like the fucktoy she is<</if>>. As you finish, she <<if $recruiterMother.fetish == "cumslut">>opens her mouth and savors your gift, thanking you once she's swallowed enough to be able to talk again.<<elseif ($recruiterMother.fetish == "buttslut") || ($recruiterMother.fetish == "submissive")>>collapses on the floor with her ass high in the air, thanking you for painting her hole white.<<else>>thanks you.<</if>> witnessing this display of servitude from her @@.hotpink;eases $activeSlave.slaveName into her new life,@@ and @@.mediumaquamarine;gives her hope@@ she can find a place here.
+		You gesture towards $recruiterMother.slaveName. She is <<if $recruiterMother.intelligence > 0>>bright enough<<elseif (($recruiterMother.vaginalSkill + $recruiterMother.analSkill + $recruiterMother.oralSkill) > 100)>>skilled enough<<else>>obedient enough<</if>> to understand you mean a demonstration is in order. $recruiterMother.slaveName starts things off with a <<if $recruiterMother.entertainSkill >= 100>>masterful<<elseif $recruiterMother.entertainSkill > 10>>skillful<<else>>passable<</if>> striptease, culminating in <<if ($recruiterMother.anus > 0) && ($recruiterMother.fetish != "cumslut")>>bending over<<else>>kneeling<</if>> in front of you. She eagerly moans as you enter her, begging for your seed<<if $recruiterMother.energy > 95>> like the slut she is.<<elseif $recruiterMother.whoreSkill > 30>> like the whore she is<<elseif ($recruiterMother.assignment == "serve in the master suite") || ($recruiterMother.assignment == "please you")>> like the fucktoy she is<</if>>. As you finish, she <<if $recruiterMother.fetish == "cumslut">>opens her mouth and savors your gift, thanking you once she's swallowed enough to be able to talk again.<<elseif ($recruiterMother.fetish == "buttslut") || ($recruiterMother.fetish == "submissive")>>collapses on the floor with her ass high in the air, thanking you for painting her hole white.<<else>>thanks you.<</if>> witnessing this display of servitude from her mother @@.hotpink;eases $activeSlave.slaveName into her new life,@@ and @@.mediumaquamarine;gives her hope@@ she can find a place here.
 	<</replace>>
 	<</link>>
  <br>
@@ -916,6 +916,7 @@ The legalities completed, ''__@@.pink;$activeSlave.slaveName@@__'' <<if ($active
 <<replace "#introResult">>
 	You perform a careful medical examination to verify fertility, and then restrain her in your office with her ass in the air. Whenever you feel able, you drain your balls into her <<if $activeSlave.mpreg == 1>>ass<<else>>cunt<</if>>, only releasing her for other duties when scans verify a fertilized ovum. She didn't properly understand the scans, so she just thought it was bound, forced sex; she won't realize what happened for some weeks at least.
 	<<VaginalVCheck>>
+	<<SetPregType $activeSlave>>
 	<<if $arcologies[0].FSRestart != "unset">>
 		The Societal Elite @@.green;disapprove@@ of this breach of eugenics.
 		<<set $failedElite += 5>>
diff --git a/src/uncategorized/pRivalInitiation.tw b/src/uncategorized/pRivalInitiation.tw
index 92a32de74c5ac7852a17611b1aa3a5044c62dbaa..de9a456cbbdaef243ecda576626d4719eb72fa10 100644
--- a/src/uncategorized/pRivalInitiation.tw
+++ b/src/uncategorized/pRivalInitiation.tw
@@ -50,6 +50,7 @@ This is a special week, the week of your victory. <span id="name"><<print "[[$ac
 		<<replace "#result">>
 		You announce that since $activeSlave.slaveName damaged the arcology, she will be taking a leading role in the reconstruction. She will be doing this by replacing one of the residents killed in the violence - by bearing a new slave, to be conceived collectively. The shame and @@.mediumorchid;horror@@ of her future as breeding stock comes home to her as she's restrained in a chair with her legs spread. Soon, the stream of fluids is running down her thoroughly-fucked pussy and over her virgin anus to pool on the floor beneath her. Modern medical imaging reveals her fertile ovum's last, losing battle against a legion of sperm in real time, and the images are projected on large screens.
 		<<set $rep += 500, $activeSlave.preg = 1, $activeSlave.pregSource = -2, $activeSlave.devotion -= 15>>
+		<<SetPregType $activeSlave>>
 		<<if $activeSlave.publicCount>><<set $activeSlave.publicCount += 47>><<else>><<set $activeSlave.publicCount = 47>><</if>>
 		<</replace>>
 	<</link>>
diff --git a/src/uncategorized/saLiveWithHG.tw b/src/uncategorized/saLiveWithHG.tw
index 7f1e45c5accaaf26742d92ccc6b78428b42ab039..4143d61263e58e8c2018df92947f176132669578 100644
--- a/src/uncategorized/saLiveWithHG.tw
+++ b/src/uncategorized/saLiveWithHG.tw
@@ -277,21 +277,7 @@
 <<if $arcologies[0].FSRestart == "unset">>
 	$HeadGirl.slaveName promptly @@.lime;impregnates@@ $slaves[$i].slaveName, to your Head Girl's considerable @@.hotpink;satisfaction.@@
 	<<set $slaves[$i].preg = 1, $slaves[$i].pregSource = $HeadGirl.ID, $HeadGirl.devotion += 4>>
-	<<if ($slaves[$i].drugs == "super fertility drugs")>>
-		<<if ($slaves[$i].hormones == 2)>>
-			<<set $slaves[$i].pregType = random(10,20)>>
-		<<else>>
-			<<set $slaves[$i].pregType = either(3, 4, 4, 4, 5, 5, 5, 10, 10, 20)>>
-		<</if>>
-	<<elseif ($slaves[$i].drugs == "fertility drugs")>>
-		<<if ($slaves[$i].hormones == 2)>>
-			<<set $slaves[$i].pregType = random(2,5)>>
-		<<else>>
-			<<set $slaves[$i].pregType = either(1, 1, 2, 2, 3, 3, 4, 4, 5, 5)>>
-		<</if>>
-	<<else>>
-		<<set $slaves[$i].pregType = either(1, 1, 1, 1, 1, 1, 1, 1, 1, 2)>>
-	<</if>>
+	<<SetPregType $slaves[$i]>>
 <<else>>
 	$HeadGirl.slaveName knows better than to even consider knocking up $slaves[$i].slaveName.
 <</if>>
diff --git a/src/uncategorized/saLongTermEffects.tw b/src/uncategorized/saLongTermEffects.tw
index 0943edb8731f0c5187ea2ed025ec548cab125f58..f93b07721b1204d8341e8ced0ab45fc91cc9ea25 100644
--- a/src/uncategorized/saLongTermEffects.tw
+++ b/src/uncategorized/saLongTermEffects.tw
@@ -3478,39 +3478,7 @@
 		<</if>>
 	<</if>> /* closes .preg >= 10 */
 
-	<<if $slaves[$i].pregType == 0>>
-		<<if ($slaves[$i].drugs == "super fertility drugs")>>
-			<<if (($masterSuitePregnancyFertilitySupplements == 1) && (($slaves[$i].assignment == "serve in the master suite") || ($slaves[$i].assignment == "be your Concubine")))>>
-				<<if ($slaves[$i].hormones == 2)>>
-					<<set $slaves[$i].pregType = random(20,29)>>
-				<<else>>
-					<<set $slaves[$i].pregType = random(10,29)>>
-				<</if>>
-			<<else>>
-				<<if ($slaves[$i].hormones == 2)>>
-					<<set $slaves[$i].pregType = random(10,29)>>
-				<<else>>
-					<<set $slaves[$i].pregType = either(3, 4, 4, 4, 5, 5, 5, 10, 10, 20)>>
-				<</if>>
-			<</if>>
-		<<elseif ($slaves[$i].drugs == "fertility drugs")>>
-			<<if (($masterSuitePregnancyFertilitySupplements == 1) && (($slaves[$i].assignment == "serve in the master suite") || ($slaves[$i].assignment == "be your Concubine")))>>
-				<<if ($slaves[$i].hormones == 2)>>
-					<<set $slaves[$i].pregType = random(4,5)>>
-				<<else>>
-					<<set $slaves[$i].pregType = either(2, 2, 3, 3, 3, 3, 4, 4, 5, 5)>>
-				<</if>>
-			<<else>>
-				<<if ($slaves[$i].hormones == 2)>>
-					<<set $slaves[$i].pregType = random(2,5)>>
-				<<else>>
-					<<set $slaves[$i].pregType = either(1, 1, 2, 2, 3, 3, 4, 4, 5, 5)>>
-				<</if>>
-			<</if>>
-		<<else>>
-			<<set $slaves[$i].pregType = either(1, 1, 1, 1, 1, 1, 1, 1, 1, 2)>>
-		<</if>>
-	<</if>>
+	<<SetPregType $slaves[$i]>>
 
 <</if>> /* END PREG EFFECTS */
 
@@ -3758,37 +3726,7 @@
 		<<set $slaves[$i].pregType = 0>>
 	<</if>>
 <<elseif $slaves[$i].preg > 0 && $slaves[$i].pregType == 0>>
-	<<if ($slaves[$i].drugs == "super fertility drugs")>>
-		<<if (($masterSuitePregnancyFertilitySupplements == 1) && (($slaves[$i].assignment == "serve in the master suite") || ($slaves[$i].assignment == "be your Concubine")))>>
-			<<if ($slaves[$i].hormones == 2)>>
-				<<set $slaves[$i].pregType = random(20,29)>>
-			<<else>>
-				<<set $slaves[$i].pregType = random(10,29)>>
-			<</if>>
-		<<else>>
-			<<if ($slaves[$i].hormones == 2)>>
-				<<set $slaves[$i].pregType = random(10,29)>>
-			<<else>>
-				<<set $slaves[$i].pregType = either(3, 4, 4, 4, 5, 5, 5, 10, 10, 20)>>
-			<</if>>
-		<</if>>
-	<<elseif ($slaves[$i].drugs == "fertility drugs")>>
-		<<if (($masterSuitePregnancyFertilitySupplements == 1) && (($slaves[$i].assignment == "serve in the master suite") || ($slaves[$i].assignment == "be your Concubine")))>>
-			<<if ($slaves[$i].hormones == 2)>>
-				<<set $slaves[$i].pregType = random(4,5)>>
-			<<else>>
-				<<set $slaves[$i].pregType = either(2, 2, 3, 3, 3, 3, 4, 4, 5, 5)>>
-			<</if>>
-		<<else>>
-			<<if ($slaves[$i].hormones == 2)>>
-				<<set $slaves[$i].pregType = random(2,5)>>
-			<<else>>
-				<<set $slaves[$i].pregType = either(1, 1, 2, 2, 3, 3, 4, 4, 5, 5)>>
-			<</if>>
-		<</if>>
-	<<else>>
-		<<set $slaves[$i].pregType = either(1, 1, 1, 1, 1, 1, 1, 1, 1, 2)>>
-	<</if>>
+	<<SetPregType $slaves[$i]>>
 <</if>>
 
 <<else>> /* PREGMOD: NOT PREGNANT, YES INFLATION */
diff --git a/src/uncategorized/seWedding.tw b/src/uncategorized/seWedding.tw
index 152b5795ab68c5c18959f06397f8240775611092..8abb4379ac776a37379e8491bf796fad453c2ca9 100644
--- a/src/uncategorized/seWedding.tw
+++ b/src/uncategorized/seWedding.tw
@@ -362,21 +362,7 @@
 		$activeSlave.slaveName isn’t particularly excited about what’s coming, but she’s fully prepared for it and accepted it as a fact of life. There are worse things one can be than the slave-wife of a wealthy arcology owner. You <<if $activeSlave.amp == 1>>gather her up and hold her in front of you, pulling her panties off as you do. Showing considerable dexterity, you maneuver your dick inside her while holding her against your <<if $PC.boobs == 1>>breasts<<else>>chest<</if>><<else>>take her hand and pull her to her feet while she shimmies out of her panties. She cocks her hips for you and you slide your cock inside her before taking her knees and drawing them up to hold her in midair, impaled on you<</if>>. Though her face is towards the crowd, her mind is concentrated on your hard cock, pumping in and out of her at an angle; to her, it is what it is. She gasps when your seed flows into her, orgasming shortly after to @@.green;applause from your guests.@@ You'll fuck her repeatedly over the next few days, ensuring impregnation.
 	<</if>>
 	<<set $activeSlave.preg = 1>>
-	<<if ($activeSlave.drugs == "super fertility drugs")>>
-		<<if ($activeSlave.hormones == 2)>>
-			<<set $activeSlave.pregType = random(10,29)>>
-		<<else>>
-			<<set $activeSlave.pregType = either(3, 4, 4, 4, 5, 5, 5, 10, 15, 20)>>
-		<</if>>
-	<<elseif ($activeSlave.drugs == "fertility drugs")>>
-		<<if ($activeSlave.hormones == 2)>>
-			<<set $activeSlave.pregType = random(2,5)>>
-		<<else>>
-			<<set $activeSlave.pregType = either(1, 1, 2, 2, 3, 3, 4, 4, 5, 5)>>
-		<</if>>
-	<<else>>
-		<<set $activeSlave.pregType = either(1, 1, 1, 1, 1, 1, 1, 1, 1, 2)>>
-	<</if>>
+	<<SetPregType $activeSlave>>
 	<<set $activeSlave.pregSource = -1>>
 	<<if ($activeSlave.vagina == 0) || ($activeSlave.mpreg == 1 && $activeSlave.anus == 0)>>
 		Naturally, the ceremony @@.lime;took her virginity;@@
diff --git a/src/utility/miscWidgets.tw b/src/utility/miscWidgets.tw
index d4655c2a392887661b9e8c10f85e428212d0ae21..7466171ffa76bfe7fc807e1ca340980fab6e13de 100644
--- a/src/utility/miscWidgets.tw
+++ b/src/utility/miscWidgets.tw
@@ -2413,3 +2413,43 @@ Call as <<SlaveSort [$slaves]>>
 <</replace>>
 
 <</widget>>
+
+/*
+ Call as <<SetPregType>>
+ $args[0]: Slave.
+*/
+<<widget "SetPregType">>
+	<<if $args[0].pregType == 0>>
+		<<if ($args[0].drugs == "super fertility drugs")>>
+			<<if (($masterSuitePregnancyFertilitySupplements == 1) && (($args[0].assignment == "serve in the master suite") || ($args[0].assignment == "be your Concubine")))>>
+				<<if ($args[0].hormones == 2)>>
+					<<set $args[0].pregType = random(20,29)>>
+				<<else>>
+					<<set $args[0].pregType = random(10,29)>>
+				<</if>>
+			<<else>>
+				<<if ($args[0].hormones == 2)>>
+					<<set $args[0].pregType = random(10,29)>>
+				<<else>>
+					<<set $args[0].pregType = either(3, 4, 4, 4, 5, 5, 5, 10, 10, 20)>>
+				<</if>>
+			<</if>>
+		<<elseif ($args[0].drugs == "fertility drugs")>>
+			<<if (($masterSuitePregnancyFertilitySupplements == 1) && (($args[0].assignment == "serve in the master suite") || ($args[0].assignment == "be your Concubine")))>>
+				<<if ($args[0].hormones == 2)>>
+					<<set $args[0].pregType = random(4,5)>>
+				<<else>>
+					<<set $args[0].pregType = either(2, 2, 3, 3, 3, 3, 4, 4, 5, 5)>>
+				<</if>>
+			<<else>>
+				<<if ($args[0].hormones == 2)>>
+					<<set $args[0].pregType = random(2,5)>>
+				<<else>>
+					<<set $args[0].pregType = either(1, 1, 2, 2, 3, 3, 4, 4, 5, 5)>>
+				<</if>>
+			<</if>>
+		<<else>>
+			<<set $args[0].pregType = either(1, 1, 1, 1, 1, 1, 1, 1, 1, 2)>>
+		<</if>>
+	<</if>>
+<</widget>>
\ No newline at end of file