diff --git a/devNotes/VersionChangeLog-Premod+LoliMod.txt b/devNotes/VersionChangeLog-Premod+LoliMod.txt
index 1ec8289b1e0018b9228bf7042f0e0275b981a083..457aba6dffd6c9330f4fa9db177648495ab9eefd 100644
--- a/devNotes/VersionChangeLog-Premod+LoliMod.txt
+++ b/devNotes/VersionChangeLog-Premod+LoliMod.txt
@@ -4751,4 +4751,8 @@ Pregmod 0.10.3.0
 	
 	170
 	-added vector art anon's bushy pits
+	-tweaked childgen
+	
+	12/01/17
+	-fixed .pregSource not handling ng+
 	-tweaked childgen
\ No newline at end of file
diff --git a/src/init/storyInit.tw b/src/init/storyInit.tw
index 6bf588336667b39496bdc81d7c06bc3a6e8f8015..7d9c69c26db496fb757917ffd6189bb03ae37c9c 100644
--- a/src/init/storyInit.tw
+++ b/src/init/storyInit.tw
@@ -78,6 +78,13 @@ You should have received a copy of the GNU General Public License along with thi
 				<<set $slaves[_i].sisters += 1>>
 			<</if>>
 		<</for>>
+		<<if $slaves[_k].pregSource > 0>>
+			<<set $slaves[_k].pregSource += 1200000>>
+			<<set _getFather = $slaves.findIndex(function(s) { return s.ID == $slaves[_k].pregSource; })>>
+			<<if _getFather == -1>>
+				<<set $slaves[_k].pregSource = 0>>
+			<</if>>
+		<</if>>
 	<</for>>
 	<<set $genePool = ngUpdateGenePool($genePool)>>
 	/*
diff --git a/src/pregmod/generateChild.tw b/src/pregmod/generateChild.tw
index f7ae13ece727eebe1d11b4299094e1a08a4c9e04..d0270e5429ad11ad6ec8057b82fa028f3f89333e 100644
--- a/src/pregmod/generateChild.tw
+++ b/src/pregmod/generateChild.tw
@@ -362,14 +362,6 @@
 	<</if>>
 	<<if $mergeMom.origHColor == $mergeDad.origHColor>>
 		<<set $activeSlave.hColor = $mergeMom.origHColor>>
-	<<elseif $mergeMom.origHColor == "black">>
-		<<set $activeSlave.hColor = either($mergeMom.origHColor, $mergeMom.origHColor, $mergeMom.origHColor, $mergeMom.origHColor, $mergeMom.origHColor, $mergeMom.origHColor, $mergeMom.origHColor, $mergeDad.origHColor)>>
-	<<elseif $mergeDad.origHColor == "black">>
-		<<set $activeSlave.hColor = either($mergeDad.origHColor, $mergeDad.origHColor, $mergeDad.origHColor, $mergeDad.origHColor, $mergeDad.origHColor, $mergeDad.origHColor, $mergeDad.origHColor, $mergeMom.origHColor)>>
-	<<elseif $mergeMom.origHColor == "brown">>
-		<<set $activeSlave.hColor = either($mergeMom.origHColor, $mergeMom.origHColor, $mergeMom.origHColor, $mergeDad.origHColor)>>
-	<<elseif $mergeDad.origHColor == "brown">>
-		<<set $activeSlave.hColor = either($mergeDad.origHColor, $mergeDad.origHColor, $mergeDad.origHColor, $mergeMom.origHColor)>>
 	<<elseif $mergeMom.origHColor == "white">>
 		<<if random(1,100) == 69>>
 			<<set $activeSlave.hColor = $mergeMom.origHColor>>
@@ -382,6 +374,14 @@
 		<<else>>
 			<<set $activeSlave.hColor = $mergeMom.origHColor>>
 		<</if>>
+	<<elseif $mergeMom.origHColor == "black">>
+		<<set $activeSlave.hColor = either($mergeMom.origHColor, $mergeMom.origHColor, $mergeMom.origHColor, $mergeMom.origHColor, $mergeMom.origHColor, $mergeMom.origHColor, $mergeMom.origHColor, $mergeDad.origHColor)>>
+	<<elseif $mergeDad.origHColor == "black">>
+		<<set $activeSlave.hColor = either($mergeDad.origHColor, $mergeDad.origHColor, $mergeDad.origHColor, $mergeDad.origHColor, $mergeDad.origHColor, $mergeDad.origHColor, $mergeDad.origHColor, $mergeMom.origHColor)>>
+	<<elseif $mergeMom.origHColor == "brown">>
+		<<set $activeSlave.hColor = either($mergeMom.origHColor, $mergeMom.origHColor, $mergeMom.origHColor, $mergeDad.origHColor)>>
+	<<elseif $mergeDad.origHColor == "brown">>
+		<<set $activeSlave.hColor = either($mergeDad.origHColor, $mergeDad.origHColor, $mergeDad.origHColor, $mergeMom.origHColor)>>
 	<<else>>
 		<<set $activeSlave.hColor = either($mergeMom.origHColor, $mergeDad.origHColor)>>
 	<</if>>
diff --git a/src/uncategorized/saLongTermEffects.tw b/src/uncategorized/saLongTermEffects.tw
index 882dc4c621742d143856ee3dfd4b4a9f15c43011..67b487d5710fd11a7fe5a4d64b257091f6c3c35c 100644
--- a/src/uncategorized/saLongTermEffects.tw
+++ b/src/uncategorized/saLongTermEffects.tw
@@ -5761,9 +5761,11 @@
 <</if>>
 
 <<if $slaves[$i].health > 90>>
-	<<if $slaves[$i].energy <= 70>>
-		$possessiveCap outstanding health produces a @@.green;slow improvement in libido.@@
-		<<set $slaves[$i].energy += 1>>
+	<<if $slaves[$i].need <= $slaves[$i].energy/2>>
+		<<if $slaves[$i].energy <= 70>>
+			$possessiveCap outstanding health produces a @@.green;slow improvement in libido.@@
+			<<set $slaves[$i].energy += 1>>
+		<</if>>
 	<</if>>
 	<<if $slaves[$i].face > 80>>
 	<<if $slaves[$i].face <= 95>>
@@ -5788,9 +5790,11 @@
 	<</if>>
 	<</if>>
 <<elseif ($slaves[$i].health > 60)>>
-	<<if ($slaves[$i].energy <= 50)>>
-		$possessiveCap good health produces a @@.green;slow improvement in libido.@@
-		<<set $slaves[$i].energy += 1>>
+	<<if $slaves[$i].need <= $slaves[$i].energy/2>>
+		<<if ($slaves[$i].energy <= 50)>>
+			$possessiveCap good health produces a @@.green;slow improvement in libido.@@
+			<<set $slaves[$i].energy += 1>>
+		<</if>>
 	<</if>>
 <</if>>