From 438b19af5e28af231637908a620d8516a65e81d7 Mon Sep 17 00:00:00 2001
From: DCoded <dcoded@live.com>
Date: Sat, 6 Oct 2018 21:15:13 -0400
Subject: [PATCH] Fixes and changes

---
 TODO.txt                           | 2 +-
 src/facilities/nursery/nursery.tw  | 4 ++--
 src/uncategorized/slaveInteract.tw | 8 ++++----
 3 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/TODO.txt b/TODO.txt
index 3730a5285ae..bc705998be4 100644
--- a/TODO.txt
+++ b/TODO.txt
@@ -50,7 +50,7 @@ X create Nursery
 - hardcap of 50 (40?)
 - add option to kick out babies if space is needed
 - rewrite certain areas
-- allow the Matron to fix nannies' flaws
+- rewrite nursery.tw and incubator.tw with link macros
 
 Misc
 - rework seNonlethalPit.tw to take different variables into account (virginity, devotion / trust, fetishes / quirks, etc)
diff --git a/src/facilities/nursery/nursery.tw b/src/facilities/nursery/nursery.tw
index 38902edccc9..8c59d5fa5fa 100644
--- a/src/facilities/nursery/nursery.tw
+++ b/src/facilities/nursery/nursery.tw
@@ -237,7 +237,7 @@ Reserve an eligible mother-to-be's child to be placed in a room upon birth. Of $
 					| <<print "[[Keep none of her children|Nursery][$reservedChildrenNursery -= $slaves[" + _u + "].reservedChildrenNursery, $slaves[" + _u + "].reservedChildrenNursery = 0]]">>
 				<</if>>
 				<<if ($reservedChildrenNursery + $slaves[_u].pregType - $slaves[_u].reservedChildrenNursery) <= $freeCribs>>
-					| <<print "[[Keep the rest of her children|Nursery][$reservedChildrenNursery += ($slaves[" + _u + "].pregType - $slaves[" + _u + "].reservedChildrenNursery), $slaves[" + _u + "].reservedChildrenNursery += ($slaves[" + _u + "].pregType - $slaves[" + _u + "].reservedChildrenNursery), $slaves[" + _u + "].reservedChildren = 0]]">>
+					| <<print "[[Keep the rest of her children|Nursery][$reservedChildrenNursery += ($slaves[" + _u + "].pregType - $slaves[" + _u + "].reservedChildrenNursery), $slaves[" + _u + "].reservedChildrenNursery = $slaves[" + _u + "].pregType, $slaves[" + _u + "].reservedChildren = 0]]">>
 				<</if>>
 			<<elseif ($slaves[_u].reservedChildrenNursery == $slaves[_u].pregType) || ($reservedChildrenNursery == $freeCribs) || ($slaves[_u].reservedChildren + $slaves[_u].reservedChildrenNursery == $slaves[_u].pregType)>>
 				<br>&nbsp;&nbsp;&nbsp;&nbsp;
@@ -254,7 +254,7 @@ Reserve an eligible mother-to-be's child to be placed in a room upon birth. Of $
 			<<else>>
 				You have <<if $freeCribs == 1>>an<</if>> @@.lime;available room<<if $freeCribs > 1>>s<</if>>.@@
 				<br>&nbsp;&nbsp;&nbsp;&nbsp;
-				<<print "[[Keep "+ (($slaves[_u].pregType > 1) ? "a" : "the") + " child|Nursery][$slaves[" + _u + "].reservedChildrenNursery += 1]]">>
+				<<print "[[Keep "+ (($slaves[_u].pregType > 1) ? "a" : "the") + " child|Nursery][$slaves[" + _u + "].reservedChildrenNursery += 1, $reservedChildrenNursery += 1]]">>
 				<<if ($slaves[_u].pregType > 1) && ($reservedChildrenNursery + $slaves[_u].pregType - $slaves[_u].reservedChildrenNursery) <= $freeCribs>>
 					| <<print "[[Keep all of " + $his + " children|Nursery][$reservedChildrenNursery += $slaves["+ _u + "].pregType, $slaves[" + _u + "].reservedChildrenNursery += $slaves["+ _u +"].pregType, $slaves[" + _u + "].reservedChildren = 0]]">>
 				<</if>>
diff --git a/src/uncategorized/slaveInteract.tw b/src/uncategorized/slaveInteract.tw
index c553ad33d41..efebf74812a 100644
--- a/src/uncategorized/slaveInteract.tw
+++ b/src/uncategorized/slaveInteract.tw
@@ -1204,7 +1204,7 @@ Aphrodisiacs: <span id="aphrodisiacs"><strong><<if $activeSlave.aphrodisiacs > 1
 			<<else>>
 				All $activeSlave.reservedChildren of $his children will be placed in $incubatorName.
 			<</if>>
-			<<if ($activeSlave.reservedChildren + $activeSlave.reservedChildrenNursery == $activeSlave.pregType) && ($reservedChildren < $freeTanks)>>
+			<<if (($activeSlave.reservedChildren - $activeSlave.reservedChildrenNursery) > 0) && ($activeSlave.reservedChildren < $activeSlave.pregType) && ($reservedChildren < $freeTanks)>>
 				<<link "Keep another child" "Slave Interact">><<set $activeSlave.reservedChildren += 1, $reservedChildren += 1>><</link>>
 				<<if $activeSlave.reservedChildren > 0>>
 					| <<link "Keep one less child" "Slave Interact">><<set $activeSlave.reservedChildren -= 1, $reservedChildren -= 1>><</link>>
@@ -1213,7 +1213,7 @@ Aphrodisiacs: <span id="aphrodisiacs"><strong><<if $activeSlave.aphrodisiacs > 1
 					| <<link "Keep none of $his children" "Slave Interact">><<set $reservedChildren -= $activeSlave.reservedChildren, $activeSlave.reservedChildren = 0>><</link>>
 				<</if>>
 				<<if ($reservedChildren + $activeSlave.pregType - $activeSlave.reservedChildren) <= $freeTanks>>
-					| <<link "Keep the rest of $his children" "Slave Interact">><<set $reservedChildren += ($activeSlave.pregType - $activeSlave.reservedChildren), $activeSlave.reservedChildren += ($activeSlave.pregType - $activeSlave.reservedChildren), $activeSlave.reservedChildrenNursery = 0>><</link>>
+					| <<link "Keep the rest of $his children" "Slave Interact">><<set $reservedChildren += ($activeSlave.pregType - $activeSlave.reservedChildren), $activeSlave.reservedChildren += ($activeSlave.pregType - $activeSlave.reservedChildren), $reservedChildrenNursery -= $activeSlave.reservedChildrenNursery, $activeSlave.reservedChildrenNursery = 0>><</link>>
 				<</if>>
 			<<elseif ($activeSlave.reservedChildren == $activeSlave.pregType) || ($reservedChildren == $freeTanks)>>
 				<<link "Keep one less child" "Slave Interact">><<set $activeSlave.reservedChildren -= 1, $reservedChildren -= 1>><</link>>
@@ -1223,9 +1223,9 @@ Aphrodisiacs: <span id="aphrodisiacs"><strong><<if $activeSlave.aphrodisiacs > 1
 			<</if>>
 		<<elseif $reservedChildren < $freeTanks>>
 			$He is pregnant and you have <<if $freeTanks == 1>>an<</if>> @@.lime;available aging tank<<if $freeTanks > 1>>s<</if>>.@@
-			<<print "[[Keep the "+ (($activeSlave.pregType > 1) ? "children" : "child") +"|Slave Interact][$activeSlave.reservedChildren += 1, $reservedChildren += 1]]">>
+			<<print "[[Keep "+ (($activeSlave.pregType > 1) ? "a" : "the") +" child|Slave Interact][$activeSlave.reservedChildren += 1, $reservedChildren += 1]]">>
 			<<if ($activeSlave.pregType > 1) && ($reservedChildren + $activeSlave.pregType) <= $freeTanks>>
-				| <<link "Keep all of $his children" "Slave Interact">><<set $reservedChildren += $activeSlave.pregType, $activeSlave.reservedChildren += $activeSlave.pregType, $reservedChildrenNursery -= $activeSlave.pregType, $activeSlave.reservedChildrenNursery = 0>><</link>>
+				| <<link "Keep all of $his children" "Slave Interact">><<set $reservedChildren += $activeSlave.pregType, $activeSlave.reservedChildren += $activeSlave.pregType, $reservedChildrenNursery -= $activeSlave.reservedChildrenNursery, $activeSlave.reservedChildrenNursery = 0>><</link>>
 			<</if>>
 		<<elseif $reservedChildren == $freeTanks>>
 			You have no available tanks for $his children.
-- 
GitLab