From c886673460c3bf0a7bbbf965b79a39fe4124ae8c Mon Sep 17 00:00:00 2001
From: Pregmodder <pregmodder@gmail.com>
Date: Fri, 1 Feb 2019 21:07:27 -0500
Subject: [PATCH] corrected genetic quirk post pregnancy duration

---
 src/pregmod/birthStorm.tw              |  9 +++++++--
 src/pregmod/csec.tw                    |  8 +++++++-
 src/pregmod/saAgent.tw                 | 18 ++++++++++++++++--
 src/pregmod/saClothes.tw               | 18 ++++++++++++++++--
 src/pregmod/sePlayerBirth.tw           |  4 +++-
 src/pregmod/widgets/seBirthWidgets.tw  |  8 +++++++-
 src/uncategorized/saLongTermEffects.tw | 18 ++++++++++++++++--
 7 files changed, 72 insertions(+), 11 deletions(-)

diff --git a/src/pregmod/birthStorm.tw b/src/pregmod/birthStorm.tw
index 2f12ac7e002..a5c0360ca54 100644
--- a/src/pregmod/birthStorm.tw
+++ b/src/pregmod/birthStorm.tw
@@ -64,8 +64,13 @@ The remote surgery allows the removal of the pregnancy generator through convent
 <<set $activeSlave.births += _curBabies>>
 <<set $activeSlave.birthsTotal += _curBabies>>
 <<set $birthsTotal += _curBabies>>
-
-<<set $activeSlave.pregWeek = -4>>
+<<if $activeSlave.geneticQuirks.fertility+$activeSlave.geneticQuirks.hyperFertility >= 4>>
+	<<set $activeSlave.pregWeek = -2>>
+<<elseif $activeSlave.geneticQuirks.hyperFertility > 1>>
+	<<set $activeSlave.pregWeek = -3>>
+<<else>>
+	<<set $activeSlave.pregWeek = -4>>
+<</if>>
 <<set $activeSlave.pregType = 0>>
 <<set $activeSlave.pregSource = 0>>
 <<set $activeSlave.pregKnown = 0>>
diff --git a/src/pregmod/csec.tw b/src/pregmod/csec.tw
index 1ec5dffb8da..ef305e0e503 100644
--- a/src/pregmod/csec.tw
+++ b/src/pregmod/csec.tw
@@ -358,7 +358,13 @@ Since $his <<if $activeSlave.mpreg == 1>>ass<<else>>vagina<</if>> was spared fro
 	<<set $activeSlave.pregType = 0>>
 	<<set $activeSlave.pregSource = 0>>
 	<<set $activeSlave.pregKnown = 0>>
-	<<set $activeSlave.pregWeek = -4>>
+	<<if $activeSlave.geneticQuirks.fertility+$activeSlave.geneticQuirks.hyperFertility >= 4>>
+		<<set $activeSlave.pregWeek = -2>>
+	<<elseif $activeSlave.geneticQuirks.hyperFertility > 1>>
+		<<set $activeSlave.pregWeek = -3>>
+	<<else>>
+		<<set $activeSlave.pregWeek = -4>>
+	<</if>>
 	<<set $activeSlave.labor = 0>>
 	<<if $activeSlave.broodmother == 0 && $bellyImplants == 1>>
 		<br><br>
diff --git a/src/pregmod/saAgent.tw b/src/pregmod/saAgent.tw
index 0c93aca9771..4f3098bb71c 100644
--- a/src/pregmod/saAgent.tw
+++ b/src/pregmod/saAgent.tw
@@ -423,9 +423,23 @@
 <</if>>
 
 <<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 >>
+	<<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].pregSource = 0, $slaves[$i].pregType = 0, $slaves[$i].pregKnown = 0 >>
+	<<if $slaves[$i].geneticQuirks.fertility+$slaves[$i].geneticQuirks.hyperFertility >= 4>>
+		<<set $slaves[$i].pregWeek = -2>>
+	<<elseif $slaves[$i].geneticQuirks.hyperFertility > 1>>
+		<<set $slaves[$i].pregWeek = -3>>
+	<<else>>
+		<<set $slaves[$i].pregWeek = -4>>
+	<</if>>
 <<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>>
+	<<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].pregSource = 0, $slaves[$i].pregType = 0, $slaves[$i].pregKnown = 0>>
+	<<if $slaves[$i].geneticQuirks.fertility+$slaves[$i].geneticQuirks.hyperFertility >= 4>>
+		<<set $slaves[$i].pregWeek = -2>>
+	<<elseif $slaves[$i].geneticQuirks.hyperFertility > 1>>
+		<<set $slaves[$i].pregWeek = -3>>
+	<<else>>
+		<<set $slaves[$i].pregWeek = -4>>
+	<</if>>
 <<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 db30132e92c..09c0d8520a3 100644
--- a/src/pregmod/saClothes.tw
+++ b/src/pregmod/saClothes.tw
@@ -431,7 +431,14 @@
 			The tight corseting has @@.orange;caused $him to miscarry,@@ which @@.red;damages $his health.@@
 			<<set $slaves[$i].health -= 20>>
 			<<if lastPregRule($slaves[$i],$defaultRules)>><<set $slaves[$i].preg = -1>><<else>><<set $slaves[$i].preg = 0>><</if>>
-			<<set $slaves[$i].pregType = 0, WombFlush($slaves[$i]), $slaves[$i].pregKnown = 0, $slaves[$i].pregWeek = -4>>
+			<<set $slaves[$i].pregType = 0, WombFlush($slaves[$i]), $slaves[$i].pregKnown = 0>>
+			<<if $slaves[$i].geneticQuirks.fertility+$slaves[$i].geneticQuirks.hyperFertility >= 4>>
+				<<set $slaves[$i].pregWeek = -2>>
+			<<elseif $slaves[$i].geneticQuirks.hyperFertility > 1>>
+				<<set $slaves[$i].pregWeek = -3>>
+			<<else>>
+				<<set $slaves[$i].pregWeek = -4>>
+			<</if>>
 			<<run SetBellySize($slaves[$i])>>
 			<<if $slaves[$i].fuckdoll == 0 && $slaves[$i].fetish != "mindbroken">>
 				<<if $slaves[$i].devotion < -50>>
@@ -774,7 +781,14 @@
 				The dildo penetrating $his womb @@.orange;caused $him to miscarry,@@ which @@.red;damages $his health.@@
 				<<set $slaves[$i].health -= 20>>
 				<<if lastPregRule($slaves[$i],$defaultRules)>><<set $slaves[$i].preg = -1>><<else>><<set $slaves[$i].preg = 0>><</if>>
-				<<set $slaves[$i].pregType = 0, WombFlush($slaves[$i]), $slaves[$i].pregKnown = 0, $slaves[$i].pregWeek = -4>>
+				<<set $slaves[$i].pregType = 0, WombFlush($slaves[$i]), $slaves[$i].pregKnown = 0>>
+				<<if $slaves[$i].geneticQuirks.fertility+$slaves[$i].geneticQuirks.hyperFertility >= 4>>
+					<<set $slaves[$i].pregWeek = -2>>
+				<<elseif $slaves[$i].geneticQuirks.hyperFertility > 1>>
+					<<set $slaves[$i].pregWeek = -3>>
+				<<else>>
+					<<set $slaves[$i].pregWeek = -4>>
+				<</if>>
 				<<run SetBellySize($slaves[$i])>>
 				$He is
 				<<if $slaves[$i].devotion < -50>>
diff --git a/src/pregmod/sePlayerBirth.tw b/src/pregmod/sePlayerBirth.tw
index b25d38376b1..c89e9ad5b88 100644
--- a/src/pregmod/sePlayerBirth.tw
+++ b/src/pregmod/sePlayerBirth.tw
@@ -637,7 +637,9 @@ You arrange yourself to give birth, relaxing until your body urges you to begin
 <</if>> /*closes SE*/
 
 <<set _badBirth = 0, $PC.pregSource = 0, $PC.pregType = 0, $PC.belly = 2000, WombFlush($PC)>>
-<<if $PC.geneticQuirks.fertility == 2>>
+<<if $PC.geneticQuirks.fertility+$PC.geneticQuirks.hyperFertility >= 4>>
+	<<set $PC.pregWeek = -2>>
+<<elseif $PC.geneticQuirks.hyperFertility == 2>>
 	<<set $PC.pregWeek = -3>>
 <<else>>
 	<<set $PC.pregWeek = -4>>
diff --git a/src/pregmod/widgets/seBirthWidgets.tw b/src/pregmod/widgets/seBirthWidgets.tw
index c57c03285d6..5cd71e79bfe 100644
--- a/src/pregmod/widgets/seBirthWidgets.tw
+++ b/src/pregmod/widgets/seBirthWidgets.tw
@@ -997,7 +997,13 @@ All in all,
 	<<set $slaves[$i].pregType = 0>>
 	<<set $slaves[$i].pregSource = 0>>
 	<<set $slaves[$i].pregKnown = 0>>
-	<<set $slaves[$i].pregWeek = -4>>
+	<<if $slaves[$i].geneticQuirks.fertility+$slaves[$i].geneticQuirks.hyperFertility >= 4>>
+		<<set $slaves[$i].pregWeek = -2>>
+	<<elseif $slaves[$i].geneticQuirks.hyperFertility > 1>>
+		<<set $slaves[$i].pregWeek = -3>>
+	<<else>>
+		<<set $slaves[$i].pregWeek = -4>>
+	<</if>>
 <</if>>
 <<set $csec = 0>>
 
diff --git a/src/uncategorized/saLongTermEffects.tw b/src/uncategorized/saLongTermEffects.tw
index 94a4171a2d0..b0ea34c0242 100644
--- a/src/uncategorized/saLongTermEffects.tw
+++ b/src/uncategorized/saLongTermEffects.tw
@@ -3060,12 +3060,26 @@
 			During $his weekly monitoring, it is discovered that $his womb is now home to @@.orange;less ova than last checkup.@@
 			<<if $slaves[$i].pregType == 0>>
 				For all intent and purposes, @@.yellow;$he is no longer pregnant.@@
-				<<set WombFlush($slaves[$i]), $slaves[$i].pregKnown = 0, $slaves[$i].pregWeek = 0>>
+				<<set WombFlush($slaves[$i]), $slaves[$i].pregKnown = 0>>
+				<<if $slaves[$i].geneticQuirks.fertility+$slaves[$i].geneticQuirks.hyperFertility >= 4>>
+					<<set $slaves[$i].pregWeek = -2>>
+				<<elseif $slaves[$i].geneticQuirks.hyperFertility > 1>>
+					<<set $slaves[$i].pregWeek = -3>>
+				<<else>>
+					<<set $slaves[$i].pregWeek = -4>>
+				<</if>>
 				<<run SetBellySize($slaves[$i])>>
 			<</if>>
 		<</if>>
 	<<elseif _oldCount > $slaves[$i].pregType && $slaves[$i].pregType == 0>>
-		<<set WombFlush($slaves[$i]), $slaves[$i].pregKnown = 0, $slaves[$i].pregWeek = 0>>
+		<<set WombFlush($slaves[$i]), $slaves[$i].pregKnown = 0>>
+		<<if $slaves[$i].geneticQuirks.fertility+$slaves[$i].geneticQuirks.hyperFertility >= 4>>
+			<<set $slaves[$i].pregWeek = -2>>
+		<<elseif $slaves[$i].geneticQuirks.hyperFertility > 1>>
+			<<set $slaves[$i].pregWeek = -3>>
+		<<else>>
+			<<set $slaves[$i].pregWeek = -4>>
+		<</if>>
 		<<run SetBellySize($slaves[$i])>>
 	<</if>>
 
-- 
GitLab