From ee591f194a0186a8c0cb1ea3f481e5f40ed4068b Mon Sep 17 00:00:00 2001
From: Pregmodder <pregmodder@gmail.com>
Date: Sun, 2 Sep 2018 22:19:28 -0400
Subject: [PATCH] fix to ng+ PC preg

---
 src/init/storyInit.tw                 | 35 +++++++++++++++----------
 src/pregmod/widgets/seBirthWidgets.tw | 37 +++++++++++++++++++++------
 2 files changed, 50 insertions(+), 22 deletions(-)

diff --git a/src/init/storyInit.tw b/src/init/storyInit.tw
index f1f3c43015d..8e22f88799f 100644
--- a/src/init/storyInit.tw
+++ b/src/init/storyInit.tw
@@ -90,6 +90,13 @@ You should have received a copy of the GNU General Public License along with thi
 			<</if>>
 		<</if>>
 	<</for>>
+	<<if $PC.pregSource > 0>>
+		<<set $PC.pregSource += 1200000>>
+		<<set _getFather = $slaveIndices[$PC.pregSource]>>
+		<<if ndef _getFather>>
+			<<set $PC.pregSource = 0>>
+		<</if>>
+	<</if>>
 	<<set $genePool = ngUpdateGenePool($genePool)>>
 	/*
 	<<for $i = 0; $i < $genePool.length; $i++>>
@@ -132,21 +139,21 @@ You should have received a copy of the GNU General Public License along with thi
 			/*<<set $recruiters.push($slaves[_i])>>*/
 		<</if>>
 	<<else>>
-	<<if $slaves[_i].relation == 0>>
-		<<if random(1,100) <= 5>>
-		<<set $slaves[_i].recruiter = "twin">>
-		<<elseif ($slaves[_i].actualAge > 32) && (random(1,100) <= 41)>>
-		<<set $slaves[_i].recruiter = "mother">>
-		<<elseif ($slaves[_i].actualAge < 24) && (random(1,100) <= 40)>>
-		<<set $slaves[_i].recruiter = "daughter">>
-		<<elseif ($slaves[_i].actualAge < 43) && (random(1,100) <= 20)>>
-		<<set $slaves[_i].recruiter = "older sister">>
-		<<elseif ($slaves[_i].actualAge < 25) && ($slaves[_i].actualAge > 18) && (random(1,100) <= 20)>>
-		<<set $slaves[_i].recruiter = "young sister">>
+		<<if $slaves[_i].relation == 0>>
+			<<if random(1,100) <= 5>>
+				<<set $slaves[_i].recruiter = "twin">>
+			<<elseif ($slaves[_i].actualAge > 32) && (random(1,100) <= 41)>>
+				<<set $slaves[_i].recruiter = "mother">>
+			<<elseif ($slaves[_i].actualAge < 24) && (random(1,100) <= 40)>>
+				<<set $slaves[_i].recruiter = "daughter">>
+			<<elseif ($slaves[_i].actualAge < 43) && (random(1,100) <= 20)>>
+				<<set $slaves[_i].recruiter = "older sister">>
+			<<elseif ($slaves[_i].actualAge < 25) && ($slaves[_i].actualAge > 18) && (random(1,100) <= 20)>>
+				<<set $slaves[_i].recruiter = "young sister">>
+			<</if>>
+		<<else>>
+			<<set $slaves[_i].recruiter = 0>>
 		<</if>>
-	<<else>>
-		<<set $slaves[_i].recruiter = 0>>
-	<</if>>
 	<</if>> /*closes family mode */
 	<<set $slaves[_i].milk = 0>>
 	<<set $slaves[_i].cum = 0>>
diff --git a/src/pregmod/widgets/seBirthWidgets.tw b/src/pregmod/widgets/seBirthWidgets.tw
index c3fac07809b..53de1439fd6 100644
--- a/src/pregmod/widgets/seBirthWidgets.tw
+++ b/src/pregmod/widgets/seBirthWidgets.tw
@@ -105,7 +105,14 @@
 <</if>>
 <</if>>
 <<if $slaves[$i].curatives > 0>>
-		<<set $birthDamage -= 3>>
+	<<set $birthDamage -= 3>>
+<</if>>
+<<if $slaves[$i].pregAdaptation >= 1000>>
+	<<set $birthDamage -= 10>>
+<<elseif $slaves[$i].pregAdaptation >= 500>>
+	<<set $birthDamage -= 3>>
+<<elseif $slaves[$i].pregAdaptation >= 100>>
+	<<set $birthDamage -= 1>>
 <</if>>
 <<if setup.nurseCareers.includes($slaves[$i].career) && $slaves[$i].fetish != "mindbroken" && $slaves[$i].muscles >= -95>>
 	<<set $birthDamage = 0>>
@@ -140,6 +147,13 @@
 <<elseif $slaves[$i].muscles < -5>>
 	<<set $suddenBirth += 1>>
 <</if>>
+<<if $slaves[$i].pregAdaptation >= 1000>>
+	<<set $suddenBirth += 20>> /* baby's ready, giving birth right now */
+<<elseif $slaves[$i].pregAdaptation >= 500>>
+	<<set $suddenBirth += 3>>
+<<elseif $slaves[$i].pregAdaptation >= 100>>
+	<<set $suddenBirth += 1>>
+<</if>>
 <<if $slaves[$i].health < 0>>
 	<<set $suddenBirth += 2>>
 <</if>>
@@ -164,12 +178,12 @@
 	<<set $suddenBirth += 2>>
 <</if>>
 <<if $slaves[$i].mpreg != 1>>
-<<if $slaves[$i].vagina > 2>>
-	<<set $suddenBirth += 2>>
-<</if>>
-<<if $slaves[$i].vaginalAccessory != "none">>
-	<<set $suddenBirth -= 20>>
-<</if>>
+	<<if $slaves[$i].vagina > 2>>
+		<<set $suddenBirth += 2>>
+	<</if>>
+	<<if $slaves[$i].vaginalAccessory != "none">>
+		<<set $suddenBirth -= 20>>
+	<</if>>
 <</if>>
 <<set $suddenBirth -= ($slaves[$i].intelligence + $slaves[$i].intelligenceImplant)>>
 /* end calcs */
@@ -629,7 +643,7 @@ This decriptions can be expanded with more outcomes later. But it's not practica
 		$His's <<if _curBabies > 1>>children<<else>>child<</if>> had extra time to grow @@.red;greatly complicating childbirth@@.
 		<<set _compoundCondition = 1>>
 	<</if>>
-	<<if (($slaves[$i].vagina >= 2 || $slaves[$i].vaginaLube > 0) && $slaves[$i].mpreg == 1) || $slaves[$i].births > 0 || $slaves[$i].hips > 0 || (setup.nurseCareers.includes($slaves[$i].career) && $slaves[$i].fetish != "mindbroken" && $slaves[$i].muscles >= -95) || $slaves[$i].intelligenceImplant > 0>>
+	<<if (($slaves[$i].vagina >= 2 || $slaves[$i].vaginaLube > 0) && $slaves[$i].mpreg == 1) || $slaves[$i].births > 0 || $slaves[$i].hips > 0 || (setup.nurseCareers.includes($slaves[$i].career) && $slaves[$i].fetish != "mindbroken" && $slaves[$i].muscles >= -95) || $slaves[$i].intelligenceImplant > 0 || $slaves[$i].pregAdaptation >= 100>>
 		<br>However:
 		<<if $slaves[$i].mpreg == 1>>
 			<<if $slaves[$i].anus >= 2>>
@@ -654,6 +668,13 @@ This decriptions can be expanded with more outcomes later. But it's not practica
 			<br>
 			$His @@.green;wide hips@@ greatly aided childbirth.
 		<</if>>
+		<<if $slaves[$i].pregAdaptation >= 1000>>
+			$His body has @@.green;completely adapted to pregnancy;@@ when it is time to give birth, that baby is coming out fast.
+		<<elseif $slaves[$i].pregAdaptation >= 500>>
+			$His body is @@.green;highly adapted to bearing life@@ and birth is no small part of that.
+		<<elseif $slaves[$i].pregAdaptation >= 100>>
+			$His body has @@.green;become quite adept at bearing children,@@ birth included.
+		<</if>>
 		<<if setup.nurseCareers.includes($slaves[$i].career) && $slaves[$i].fetish != "mindbroken" && $slaves[$i].muscles >= -95>>
 			<br>
 			Thanks to $his @@.green;previous career@@, childbirth went smoothly.
-- 
GitLab