From 3879f4e6c8b3493133945d090173557441df7823 Mon Sep 17 00:00:00 2001
From: DCoded <dcoded@live.com>
Date: Sun, 25 Nov 2018 18:53:00 -0500
Subject: [PATCH] Post-nuke changes

---
 .gitignore                                    |   9 +-
 devNotes/twine JS.txt                         |  14 +--
 src/facilities/nursery/childInteract.tw       |   4 +-
 .../nursery/longChildDescription.tw           |   2 +-
 src/facilities/nursery/nursery.tw             |  26 ++--
 src/facilities/nursery/nurseryReport.tw       |   4 +-
 src/facilities/nursery/nurseryWorkaround.tw   |   2 +-
 src/init/storyInit.tw                         |   6 +-
 src/js/DefaultRules.tw                        |   2 +-
 src/pregmod/analyzePlayerPregnancy.tw         |   8 +-
 src/pregmod/analyzePregnancy.tw               |   8 +-
 src/pregmod/csec.tw                           |  30 +++++
 src/pregmod/incubatorRetrievalWorkaround.tw   |   2 +-
 src/pregmod/newChildIntro.tw                  |   2 +-
 src/pregmod/organFarmOptions.tw               | 118 +++++++++---------
 src/pregmod/widgets/seBirthWidgets.tw         |   2 +-
 src/uncategorized/BackwardsCompatibility.tw   |   8 +-
 src/uncategorized/buildingWidgets.tw          |   6 +-
 src/uncategorized/costsReport.tw              |   4 +-
 src/uncategorized/futureSociety.tw            |   2 +-
 src/uncategorized/longSlaveDescription.tw     |   2 +-
 src/uncategorized/managePenthouse.tw          |   4 +-
 src/uncategorized/multiImplant.tw             |  68 +++++-----
 src/uncategorized/options.tw                  |  13 ++
 src/uncategorized/pCoupAttempt.tw             |   2 +-
 src/uncategorized/pUndergroundRailroad.tw     |   2 +-
 src/uncategorized/penthouseReport.tw          |   2 +-
 src/uncategorized/reBoomerang.tw              |   2 +-
 src/uncategorized/recruiterSelect.tw          |   2 +-
 src/uncategorized/remoteSurgery.tw            |   4 +-
 src/uncategorized/saRecruitGirls.tw           |   2 +-
 src/uncategorized/slaveAssignmentsReport.tw   |  15 ++-
 src/uncategorized/slaveInteract.tw            |   8 +-
 src/uncategorized/slaveSold.tw                |   2 +-
 src/uncategorized/slaveSummary.tw             |   6 +-
 src/uncategorized/storyCaption.tw             |   6 +-
 src/uncategorized/universalRules.tw           |   4 +-
 src/utility/miscWidgets.tw                    |   2 +-
 38 files changed, 229 insertions(+), 176 deletions(-)

diff --git a/.gitignore b/.gitignore
index 53be0e9f220..1fe0ce12683 100644
--- a/.gitignore
+++ b/.gitignore
@@ -99,11 +99,8 @@ node_modules
 package-lock.json
 package.json
 
-# TODO
-TODO.txt
-
-# outlines
-*.outline
-
 # misc
 fc-pregmod
+*.outline
+*.todo
+TODO.txt
\ No newline at end of file
diff --git a/devNotes/twine JS.txt b/devNotes/twine JS.txt
index a4831dc7939..50440b83d54 100644
--- a/devNotes/twine JS.txt	
+++ b/devNotes/twine JS.txt	
@@ -7518,7 +7518,7 @@ window.inferiorRaceP = function inferiorRaceP(slave) {
 
 window.isLeaderP = function isLeaderP(slave) {
 	const V = State.variables;
-	const leaders = [V.HeadGirl, V.Bodyguard, V.Recruiter, V.Concubine, V.Nurse, V.Attendant, V.Matron, V.Madam, V.DJ, V.Milkmaid, V.Stewardess, V.Schoolteacher, V.Wardeness];
+	const leaders = [V.HeadGirl, V.Bodyguard, V.Recruiter, V.Concubine, V.Nurse, V.Attendant, V.Matron, V.Madam, V.DJ, V.Milkmaid, V.Farmer, V.Stewardess, V.Schoolteacher, V.Wardeness];
 	return leaders.some(leader => leader.ID && leader.ID === slave.ID);
 };
 
@@ -14344,7 +14344,7 @@ window.DefaultRules = (function() {
 				break;
 				
 			case "work as a nanny":
-				if ((V.nurserySlaves < V.nursery) && !slave.fuckdoll && (slave.devotion > 20 || slave.trust > 20))
+				if ((V.nurserySlaves < V.nursery) && canWalk(slave) && canSee(slave) && !slave.fuckdoll && slave.fetish != "mindbroken" && (slave.devotion > 20 || slave.trust > 20))
 					break;
 				else {
 					RAFacilityRemove(slave, rule); // before deleting rule.setAssignment 
@@ -20744,7 +20744,7 @@ window.VaginalVCheck = function VaginalVCheck(times) {
 		r += `@@.lime;This breaks in ${slave.slaveName}'s virgin pussy.@@ `;
 		if (slave.devotion > 50 || slave.career == "a slave since birth") {
 			r += `You ease yourself into her pussy, since it's her first time, then gradually speed up your thrusts while she slowly learns to move her hips along with you. She moans loudly. `;
-			if (slave.tankBaby == 2) {
+			if (slave.tankBaby == 2 || slave.cribBaby == 2) {
 				r += `She thinks of losing her virginity to her ${WrittenMaster(slave)} a @@.hotpink;necessity to be happy.@@ She expects her pussy to be seeing a lot more attention in the future.`;
 			}
 			else {
@@ -20805,7 +20805,7 @@ window.BothVCheck = function BothVCheck(analTimes, bothTimes) {
 				r += `@@.lime;This breaks in ${slave.slaveName}'s virgin holes.@@ `;
 				if (slave.devotion > 50 || slave.career == "a slave since birth") {
 					r += `As it's her first time, you ease yourself into her pussy before gradually working your way into her ass and alternate between the two holes while she moans. `;
-					if (slave.tankBaby == 2) {
+					if (slave.tankBaby == 2 || slave.cribBaby == 2) {
 						r += `She believes you taking her virgin holes @@.hotpink;will keep her from suffering.@@ She expects you to require her holes as tribute again soon.`;
 					}
 					else {
@@ -20827,7 +20827,7 @@ window.BothVCheck = function BothVCheck(analTimes, bothTimes) {
 				r += `@@.lime;This breaks in ${slave.slaveName}'s virgin pussy.@@ `;
 				if (slave.devotion > 50 || slave.career == "a slave since birth") {
 					r += `As it's her first time, you ease yourself into her pussy and gradually speed up your thrusts while she slowly learns to move her hips along with you. She moans loudly. `;
-					if (slave.tankBaby == 2) {
+					if (slave.tankBaby == 2 || slave.cribBaby == 2) {
 						r += `She thinks of losing her virginity to her ${WrittenMaster(slave)} a @@.hotpink;necessity to be happy.@@ She expects her pussy to be seeing a lot more attention in the future.`;
 					}
 					else {
@@ -20850,7 +20850,7 @@ window.BothVCheck = function BothVCheck(analTimes, bothTimes) {
 			r += `@@.lime;This breaks in ${slave.slaveName}'s virgin ass.@@ `;
 			if (slave.devotion > 50 || slave.career == "a slave since birth") {
 				r += `As it's her first time, you ease yourself into her butthole and gradually speed up your thrusts while she slowly learns to move her hips along with you. She moans loudly. `;
-				if (slave.tankBaby == 2) {
+				if (slave.tankBaby == 2 || slave.cribBaby == 2) {
 					r += `She thinks of losing her anal virginity to her ${WrittenMaster(slave)} a @@.hotpink;necessity.@@ She expects her asshole to be seeing a lot more attention now.`;
 				}
 				else {
@@ -20908,7 +20908,7 @@ window.BothVCheck = function BothVCheck(analTimes, bothTimes) {
 			r += `@@.lime;This breaks in ${slave.slaveName}'s virgin ass.@@ `;
 			if (slave.devotion > 50 || slave.career == "a slave since birth") {
 				r += `As it's her first time, you ease yourself into her butthole and gradually speed up your thrusts while she slowly learns to move her hips along with you. She moans loudly. `;
-				if (slave.tankBaby == 2) {
+				if (slave.tankBaby == 2 || slave.cribBaby == 2) {
 					r += `She thinks of losing her anal virginity to her ${WrittenMaster(slave)} a @@.hotpink;necessity.@@ She expects her asshole to be seeing a lot more attention now.`;
 				}
 				else {
diff --git a/src/facilities/nursery/childInteract.tw b/src/facilities/nursery/childInteract.tw
index 448305ed896..8587c55deb7 100644
--- a/src/facilities/nursery/childInteract.tw
+++ b/src/facilities/nursery/childInteract.tw
@@ -1054,7 +1054,7 @@ Aphrodisiacs: <span id="aphrodisiacs"><strong><<if $activeSlave.aphrodisiacs > 1
 <</if>>
 <</if>>
 
-<<if $nurseryCribs > 0>>
+<<if $nursery > 0>>
 <<if $activeSlave.preg > 0 && $activeSlave.broodmother == 0 && $activeSlave.pregKnown == 1 && $activeSlave.eggType == "human">>
 <<if $activeSlave.assignment == "work in the dairy" && $dairyPregSetting > 0>>
 <<else>>
@@ -1063,7 +1063,7 @@ Aphrodisiacs: <span id="aphrodisiacs"><strong><<if $activeSlave.aphrodisiacs > 1
 		<<set $reservedChildren = 0>>
 		//$His children are already reserved for $incubatorName//
 	<<else>>
-		<<set $freeCribs = ($nurseryCribs-$cribs.length)>>
+		<<set $freeCribs = ($nursery-$cribs.length)>>
 		<<if $activeSlave.reservedChildrenNursery > 0>>
 			<<if $activeSlave.pregType == 1>>
 				$His child will be placed in $nurseryName.
diff --git a/src/facilities/nursery/longChildDescription.tw b/src/facilities/nursery/longChildDescription.tw
index fdc53a0b27d..e1812e55361 100644
--- a/src/facilities/nursery/longChildDescription.tw
+++ b/src/facilities/nursery/longChildDescription.tw
@@ -1179,7 +1179,7 @@ $he's
 			<<elseif setup.attendantCareers.includes($activeSlave.career)>>
 				$activeSlave.career, giving $him potential as an Attendant for <<if $spa == 0>>a Spa<<else>>$spaName<</if>>.
 			<<elseif setup.matronCareers.includes($activeSlave.career)>>
-				$activeSlave.career, giving $him potential as a Matron for <<if $nursery == 0>>a Nursery<<else>>$nurseryName<</if>>.
+				$activeSlave.career, giving $him potential as a Matron for <<if $nurseryNannies == 0>>a Nursery<<else>>$nurseryName<</if>>.
 			<<elseif setup.nurseCareers.includes($activeSlave.career)>>
 				$activeSlave.career, giving $him potential as a Nurse for <<if $clinic == 0>>a Clinic<<else>>$clinicName<</if>>.
 			<<elseif setup.schoolteacherCareers.includes($activeSlave.career)>>
diff --git a/src/facilities/nursery/nursery.tw b/src/facilities/nursery/nursery.tw
index 382e1924d0d..3dea18e6ed3 100644
--- a/src/facilities/nursery/nursery.tw
+++ b/src/facilities/nursery/nursery.tw
@@ -8,7 +8,7 @@
 	<<set $nurseryNameCaps = $nurseryName.replace("the ", "The ")>>
 <</if>>
 
-<<set $nurseryBabies = $cribs.length, $freeCribs = $nurseryCribs - $nurseryBabies, _SL = $slaves.length, _eligibility = 0, $reservedChildren = FetusGlobalReserveCount("incubator"), $reservedChildrenNursery = FetusGlobalReserveCount("nursery")>>
+<<set $nurseryBabies = $cribs.length, $freeCribs = $nursery - $nurseryBabies, _SL = $slaves.length, _eligibility = 0, $reservedChildren = FetusGlobalReserveCount("incubator"), $reservedChildrenNursery = FetusGlobalReserveCount("nursery")>>
 
 <<nurseryAssignmentFilter>>
 $nurseryNameCaps
@@ -74,7 +74,7 @@ $nurseryNameCaps
 	$Matron.slaveName is alone in $nurseryName, and has nothing to do but keep the place clean and look after the children.
 	<<set $MatronInfluence = 1>>
 <<elseif ($nurserySlaves <= 0) && ($nurseryBabies <= 0)>>
-	$nurseryNameCaps is empty and quiet. <<link "Decommission the Nursery" "Main">><<set $nurseryCribs = 0, $nursery = 0, $nannyInfluence = 0, $nurseryDecoration = "standard", $cribs = [], $reservedChildrenNursery = 0>><<for _i = 0; _i < $slaves.length; _i++>><<set $slaves[_i].reservedChildrenNursery = 0>><</for>><</link>>
+	$nurseryNameCaps is empty and quiet. <<link "Decommission the Nursery" "Main">><<set $nursery = 0, $nurseryNannies = 0, $nannyInfluence = 0, $nurseryDecoration = "standard", $cribs = [], $reservedChildrenNursery = 0>><<for _i = 0; _i < $slaves.length; _i++>><<set $slaves[_i].reservedChildrenNursery = 0>><</for>><</link>>
 <</if>>
 
 <<if $nurserySlaves > 0>>
@@ -94,14 +94,14 @@ $nurseryNameCaps
 <</if>>
 
 /*TODO: add a malus for having children without nannies*/
-<<set _Tmult0 = Math.trunc($nursery*1000*$upgradeMultiplierArcology)>>
-<br>It can support $nursery nannies. Currently there <<if $nurserySlaves == 1>>is<<else>>are<</if>> $nurserySlaves nann<<if $nurserySlaves != 1>>ies<<else>>y<</if>> at $nurseryName.
+<<set _Tmult0 = Math.trunc($nurseryNannies*1000*$upgradeMultiplierArcology)>>
+<br>It can support $nurseryNannies nannies. Currently there <<if $nurserySlaves == 1>>is<<else>>are<</if>> $nurserySlaves nann<<if $nurserySlaves != 1>>ies<<else>>y<</if>> at $nurseryName.
 <<if $nurseryBabies > 0 && ($nurserySlaves < 1 && $Matron < 1)>>
 	//You must have at least one nanny or Matron to be able to influence the childrens' upbringing//
 	<br>
 <</if>>
-<<if $nursery < 5>>
-	[[Expand the nursery|Nursery][$cash -= _Tmult0, $nursery += 1, $PC.engineering += .1]] //Costs <<print cashFormat(_Tmult0)>> and will increase upkeep costs//
+<<if $nurseryNannies < 5>>
+	[[Expand the nursery|Nursery][$cash -= _Tmult0, $nurseryNannies += 1, $PC.engineering += .1]] //Costs <<print cashFormat(_Tmult0)>> and will increase upkeep costs//
 <<else>>
 	//$nurseryNameCaps can support a maximum of 5 slaves//
 <</if>>
@@ -124,7 +124,7 @@ $nurseryNameCaps
 <</if>>
 
 <br><br>
-<<if ($nursery <= $nurserySlaves)>>
+<<if ($nurseryNannies <= $nurserySlaves)>>
 	''$nurseryNameCaps is full and cannot hold any more slaves''
 <<elseif ($slaves.length > $nurserySlaves)>>
 	<<link "''Send a slave to $nurseryName''">>
@@ -158,9 +158,9 @@ $nurseryNameCaps
 	<<resetAssignmentFilter>>
 </span><br>
 
-<br>It can support $nurseryCribs child<<if $nurseryCribs != 1>>ren<</if>>. Currently $nurseryBabies rooms are in use.
-<<if $nurseryCribs < 50>>
-	[[Add another room|Nursery][$cash -= Math.trunc(5000*$upgradeMultiplierArcology), $nurseryCribs += 5]] //Costs <<print cashFormat(Math.trunc(5000*$upgradeMultiplierArcology))>> and will increase upkeep costs//
+<br>It can support $nursery child<<if $nursery != 1>>ren<</if>>. Currently $nurseryBabies rooms are in use.
+<<if $nursery < 50>>
+	[[Add another room|Nursery][$cash -= Math.trunc(5000*$upgradeMultiplierArcology), $nursery += 5]] //Costs <<print cashFormat(Math.trunc(5000*$upgradeMultiplierArcology))>> and will increase upkeep costs//
 	<<if $freeCribs == 0>>
 		All of the rooms are currently occupied by growing children.
 	<</if>>
@@ -168,12 +168,12 @@ $nurseryNameCaps
 	//$nurseryNameCaps can support a maximum of 50 children//
 <</if>>
 
-<<if $nurseryCribs > 1 && $reservedChildrenNursery < $freeCribs>>
-	[[Remove a room|Nursery][$cash -= Math.trunc(1000*$upgradeMultiplierArcology), $nurseryCribs -= 5]] //Costs <<print cashFormat(Math.trunc(1000*$upgradeMultiplierArcology))>> and will reduce upkeep costs//
+<<if $nursery > 1 && $reservedChildrenNursery < $freeCribs>>
+	[[Remove a room|Nursery][$cash -= Math.trunc(1000*$upgradeMultiplierArcology), $nursery -= 5]] //Costs <<print cashFormat(Math.trunc(1000*$upgradeMultiplierArcology))>> and will reduce upkeep costs//
 <</if>>
 
 <br><br>
-Reserve an eligible mother-to-be's child to be placed in a room upon birth. Of $nurseryCribs rooms, <<print $freeCribs>> <<if $freeCribs == 1>>is<<else>>are<</if>> unoccupied. Of those, $reservedChildrenNursery room<<if $reservedChildrenNursery == 1>> is<<else>>s are<</if>> reserved.
+Reserve an eligible mother-to-be's child to be placed in a room upon birth. Of $nursery rooms, <<print $freeCribs>> <<if $freeCribs == 1>>is<<else>>are<</if>> unoccupied. Of those, $reservedChildrenNursery room<<if $reservedChildrenNursery == 1>> is<<else>>s are<</if>> reserved.
 
 <<if (0 < _SL)>>
 		<<set $sortNurseryList = $sortNurseryList || 'Unsorted'>>
diff --git a/src/facilities/nursery/nurseryReport.tw b/src/facilities/nursery/nurseryReport.tw
index 4833d24b5de..22902a2c94f 100644
--- a/src/facilities/nursery/nurseryReport.tw
+++ b/src/facilities/nursery/nurseryReport.tw
@@ -209,8 +209,8 @@
 		<</if>>
 	<</for>>
 	*/
-	<<if (_DL < $nurseryCribs)>>
-		<<set _seed = random(1,10)+(($nurseryCribs-_DL)*(random(150,170)+(_idleBonus*10)))>>
+	<<if (_DL < $nursery)>>
+		<<set _seed = random(1,10)+(($nursery-_DL)*(random(150,170)+(_idleBonus*10)))>>
 		<<set $cash += _seed>>
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;Since she doesn't have enough children to occupy all her time, the nursery takes in citizens' children on a contract basis and she cares for them too, earning @@.yellowgreen;<<print cashFormat(_seed)>>.@@
 		<<if ($arcologies[0].FSRepopulationFocus > 0) && (_DL == 0)>>
diff --git a/src/facilities/nursery/nurseryWorkaround.tw b/src/facilities/nursery/nurseryWorkaround.tw
index 6d74f647f1d..214c22ad2eb 100644
--- a/src/facilities/nursery/nurseryWorkaround.tw
+++ b/src/facilities/nursery/nurseryWorkaround.tw
@@ -1,6 +1,6 @@
 :: Nursery Workaround [nobr]
 
-<<if $cribs.length < $nurseryCribs>>
+<<if $cribs.length < $nursery>>
 	<<run newChild($activeSlave)>>
 	<<set $activeSlave.growTime = ($targetAgeNursery*52)>>
 	/* for later
diff --git a/src/init/storyInit.tw b/src/init/storyInit.tw
index ccdacc01e80..6cc2a2234a4 100644
--- a/src/init/storyInit.tw
+++ b/src/init/storyInit.tw
@@ -548,10 +548,10 @@ DairyRestraintsSetting($dairyRestraintsSetting)
 <<set $masterSuiteName = "the Master Suite">>
 <<set $masterSuiteNameCaps = "The Master Suite">>
 
-<<set $nursery = 0>>	/*counts the number of nannies the nursery can support*/
-<<set $nurseryCribs = 0>>	/*counts the number of children the nursery can support*/
-<<set $nurserySlaves = 0>>	/*counts thse number of nannies currently assigned to the nursery*/
+<<set $nursery = 0>>	/*counts the number of children the nursery can support*/
+<<set $nurseryNannies = 0>>	/*counts the number of nannies the nursery can support*/
 <<set $nurseryBabies = 0>>	/*counts the number of children currently in the nursery*/
+<<set $nurserySlaves = 0>>	/*counts the number of nannies currently assigned to the nursery*/
 <<set $nurseryDecoration = "standard">>
 <<set $MatronInfluence = 0>> /*check for whether the children are influenced by the Matron*/
 <<set $nannyInfluence = 0>>	/*check for whether the children are influenced by the nannies*/
diff --git a/src/js/DefaultRules.tw b/src/js/DefaultRules.tw
index 4930dab05c0..e00a133fbdc 100644
--- a/src/js/DefaultRules.tw
+++ b/src/js/DefaultRules.tw
@@ -130,7 +130,7 @@ window.DefaultRules = (function() {
 				break;
 
 			case "work as a nanny":
-				if ((V.nurserySlaves < V.nursery) && !slave.fuckdoll && (slave.devotion > 20 || slave.trust > 20))
+				if ((V.nurserySlaves < V.nursery) && canWalk(slave) && canSee(slave) && !slave.fuckdoll && slave.fetish != "mindbroken" && (slave.devotion > 20 || slave.trust > 20))
 					break;
 				else {
 					RAFacilityRemove(slave, rule); // before deleting rule.setAssignment 
diff --git a/src/pregmod/analyzePlayerPregnancy.tw b/src/pregmod/analyzePlayerPregnancy.tw
index 57162158b70..fc3fc1a614f 100644
--- a/src/pregmod/analyzePlayerPregnancy.tw
+++ b/src/pregmod/analyzePlayerPregnancy.tw
@@ -19,7 +19,7 @@
 	Furthest developed pregnancy:
 	<br>&nbsp;&nbsp;&nbsp;&nbsp;Fetal development week: $PC.preg
 
-	<<if $incubator + $nursery > 0>>
+	<<if $incubator + $nurseryNannies > 0>>
 	<br><br>
 	<<if $incubator > 0>>
 		<<if _incubatorReservations > 0>>
@@ -40,7 +40,7 @@
 		<</if>>
 	<</if>>
 	<br>
-	<<if $nursery > 0>>
+	<<if $nurseryNannies > 0>>
 		<<if _nurseryReservations > 0>>
 			<<link "Remove all of your children from $nurseryName" "Analyze PC Pregnancy">>
 				<<run WombChangeReserveType($PC, "nursery", "")>>
@@ -124,7 +124,7 @@
 				Mother Name: $PC.womb[_ap].genetics.motherName
 			<</if>>
 		<</if>>
-		<<if $incubator > 0 || $nursery > 0>>
+		<<if $incubator > 0 || $nurseryNannies > 0>>
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;
 			Reserved: $PC.womb[_ap].reserve
 		<</if>>
@@ -158,7 +158,7 @@
 				There is not enough free space to keep this child in $incubatorName.
 			<</if>>
 		<</if>>
-		<<if $nursery > 0>>
+		<<if $nurseryNannies > 0>>
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;
 			<<if $PC.womb[_ap].reserve === "nursery">>
 				<<link "Don't keep this child in $nurseryName" "Analyze PC Pregnancy">>
diff --git a/src/pregmod/analyzePregnancy.tw b/src/pregmod/analyzePregnancy.tw
index d0f940a4b1e..eabea46ed96 100644
--- a/src/pregmod/analyzePregnancy.tw
+++ b/src/pregmod/analyzePregnancy.tw
@@ -23,7 +23,7 @@
 	Furthest developed pregnancy:
 	<br>&nbsp;&nbsp;&nbsp;&nbsp;Fetal development week: $activeSlave.preg
 
-	<<if $incubator + $nursery > 0>>
+	<<if $incubator + $nurseryNannies > 0>>
 	<br><br>
 	<<if $incubator > 0>>
 		<<if _incubatorReservations > 0>>
@@ -44,7 +44,7 @@
 		<</if>>
 	<</if>>
 	<br>
-	<<if $nursery > 0>>
+	<<if $nurseryNannies > 0>>
 		<<if _nurseryReservations > 0>>
 			<<link "Remove all of $his children from $nurseryName" "Analyze Pregnancy">>
 				<<run WombChangeReserveType($activeSlave, "nursery", "")>>
@@ -128,7 +128,7 @@
 				Mother Name: $activeSlave.womb[_ap].genetics.motherName
 			<</if>>
 		<</if>>
-		<<if $incubator > 0 || $nursery > 0>>
+		<<if $incubator > 0 || $nurseryNannies > 0>>
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;
 			Reserved: $activeSlave.womb[_ap].reserve
 		<</if>>
@@ -162,7 +162,7 @@
 				There is not enough free space to keep this child in $incubatorName.
 			<</if>>
 		<</if>>
-		<<if $nursery > 0>>
+		<<if $nurseryNannies > 0>>
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;
 			<<if $activeSlave.womb[_ap].reserve === "nursery">>
 				<<link "Don't keep this child in $nurseryName" "Analyze Pregnancy">>
diff --git a/src/pregmod/csec.tw b/src/pregmod/csec.tw
index e9c36a07155..c80450242bf 100644
--- a/src/pregmod/csec.tw
+++ b/src/pregmod/csec.tw
@@ -334,6 +334,36 @@ Performing a cesarean section is trivial for the remote surgery to carry out. $a
 	<</if>>
 <</if>>
 
+/* TODO: do we need this? */
+<<if _curBabies+_cToNursery < 1>>
+	/* Reaction for no live babies here. Placeholder.*/	
+<<elseif $activeSlave.fetish != "mindbroken" && $activeSlave.fuckdoll == 0>> 
+	<br><br>
+	<<if $activeSlave.pregSource == -1>>
+		<<if $activeSlave.devotion <= 20 && $activeSlave.weekAcquired > 0>>
+			$He @@.mediumorchid;despises@@ you for using $his body to bear your children.
+			<<set $activeSlave.devotion -= 10>>
+		<<elseif $activeSlave.devotion > 50>>
+			$He's @@.hotpink;so proud@@ to have successfully carried children for you.
+			<<set $activeSlave.devotion += 3>>
+		<</if>>
+	<</if>>
+	<<if $activeSlave.fetish == "pregnancy">>
+		$He's a little disappointed $he didn't get to give birth, but can't wait to get pregnant again.
+	<<elseif ($activeSlave.devotion > 50)>>
+		$He is @@.hotpink;pleased by this stark development@@, since $he is so attentive to your will. $He also expects $he'll be able to fuck better now.
+		<<set $activeSlave.devotion += 4>>
+	<<elseif ($activeSlave.devotion > 20)>>
+		$He is broken enough to accept your control of $his pregnancies.
+	<<elseif ($activeSlave.devotion >= -20)>>
+		$He would have preferred to give birth when $he was ready and is @@.gold;sensibly fearful@@ of your total power over $his body.
+		<<set $activeSlave.trust -= 5>>
+	<<else>>
+		$He does not understand the realities of $his life as a slave at a core level, so $he's @@.mediumorchid;terrified and angry@@ that you decided to cut short $his pregnancy. $He is @@.gold;sensibly fearful@@ of your total power over $his body.
+		<<set $activeSlave.trust -= 5, $activeSlave.devotion -= 5>>
+	<</if>>
+<</if>>
+
 <<if $arcologies[0].FSRestart != "unset" && _curBabies > 0 && $eugenicsFullControl != 1>>
 	<br><br>
 	<<if $activeSlave.breedingMark == 1 && ($activeSlave.pregSource == -1 || $activeSlave.pregSource == -6) && $propOutcome == 1>>
diff --git a/src/pregmod/incubatorRetrievalWorkaround.tw b/src/pregmod/incubatorRetrievalWorkaround.tw
index df1d4e396e8..02930fd6fae 100644
--- a/src/pregmod/incubatorRetrievalWorkaround.tw
+++ b/src/pregmod/incubatorRetrievalWorkaround.tw
@@ -24,4 +24,4 @@ $readySlave.slaveName has been discharged from $incubatorName and is ready for h
 		<</if>>
 	<</for>>
 <</if>>
-<<include "New Child Intro">>
+<<include "New Child Incubator">>
diff --git a/src/pregmod/newChildIntro.tw b/src/pregmod/newChildIntro.tw
index 5efa7558490..9452593c915 100644
--- a/src/pregmod/newChildIntro.tw
+++ b/src/pregmod/newChildIntro.tw
@@ -1,4 +1,4 @@
-:: New Child Intro [nobr]
+:: New Child Incubator [nobr]
 
 <<set $showEncyclopedia = 0, _tempMom = 0, _tempDad = 0>>
 
diff --git a/src/pregmod/organFarmOptions.tw b/src/pregmod/organFarmOptions.tw
index 62c0a2df5ac..199ecd04e9b 100644
--- a/src/pregmod/organFarmOptions.tw
+++ b/src/pregmod/organFarmOptions.tw
@@ -6,7 +6,7 @@
 	testicles: 0,
 	scrotum: 0,
 	pigTesticles: 0,
-	dogTesticles: 0,
+	canineTesticles: 0,
 	horseTesticles: 0,
 	cowTesticles: 0,
 	foreskin: 0,
@@ -22,7 +22,7 @@
 	voicebox: 0,
 	mpreg: 0,
 	mpregPig: 0,
-	mpregDog: 0,
+	mpregCanine: 0,
 	mpregHorse: 0,
 	mpregCow: 0}>>
 <<for _i = 0; _i < $organs.length; _i++>>
@@ -35,8 +35,8 @@
 			<<set $slaveOrgans.scrotum = 1>>
 		<<elseif $organs[_i].type == "pigTesticles">>
 			<<set $slaveOrgans.pigTesticles = 1>>
-		<<elseif $organs[_i].type == "dogTesticles">>
-			<<set $slaveOrgans.dogTesticles = 1>>
+		<<elseif $organs[_i].type == "canineTesticles">>
+			<<set $slaveOrgans.canineTesticles = 1>>
 		<<elseif $organs[_i].type == "horseTesticles">>
 			<<set $slaveOrgans.horseTesticles = 1>>
 		<<elseif $organs[_i].type == "cowTesticles">>
@@ -65,8 +65,8 @@
 			<<set $slaveOrgans.mpreg = 1>>
 		<<elseif $organs[_i].type == "mpregPig">>
 			<<set $slaveOrgans.mpregPig = 1>>
-		<<elseif $organs[_i].type == "mpregDog">>
-			<<set $slaveOrgans.mpregDog = 1>>
+		<<elseif $organs[_i].type == "mpregCanine">>
+			<<set $slaveOrgans.mpregCanine = 1>>
 		<<elseif $organs[_i].type == "mpregHorse">>
 			<<set $slaveOrgans.mpregHorse = 1>>
 		<<elseif $organs[_i].type == "mpregCow">>
@@ -122,11 +122,11 @@ The fabricator is ready to grow an organ for $him. Extract tissue to begin growi
 				<<goto "Remote Surgery">>
 			<</link>> //Costs <<print cashFormat(5000)>> and requires a penis for successful implantation//
 		<</if>>
-		<<if $slaveOrgans.dogTesticles != 1>>
+		<<if $slaveOrgans.canineTesticles != 1>>
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;
-			<<link "Dog testicles">>
+			<<link "Canine testicles">>
 				<<set $cash -= 5000>>
-				<<set _newOrgan = {type: "dogTesticles", weeksToCompletion: "10", ID: 0}>>
+				<<set _newOrgan = {type: "canineTesticles", weeksToCompletion: "10", ID: 0}>>
 				<<set _newOrgan.ID = $activeSlave.ID>>
 				<<set $organs.push(_newOrgan)>>
 				<<goto "Remote Surgery">>
@@ -199,7 +199,7 @@ The fabricator is ready to grow an organ for $him. Extract tissue to begin growi
 	<</if>>
 	<<if $slaveOrgans.dogOvaries != 1>>
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;
-		<<link "Dog ovaries">>
+		<<link "Canine ovaries">>
 			<<set $cash -= 10000>>
 			<<set _newOrgan = {type: "dogOvaries", weeksToCompletion: "10", ID: 0}>>
 			<<set _newOrgan.ID = $activeSlave.ID>>
@@ -298,11 +298,11 @@ The fabricator is ready to grow an organ for $him. Extract tissue to begin growi
 				<<goto "Remote Surgery">>
 			<</link>> //Costs <<print cashFormat(20000)>> and the slave must not have female reproductive organs for successful implantation//
 		<</if>>
-		<<if $slaveOrgans.mpregDog != 1>>
+		<<if $slaveOrgans.mpregCanine != 1>>
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;
-			<<link "Anal dog womb and ovaries">>
+			<<link "Anal canine womb and ovaries">>
 				<<set $cash -= 20000>>
-				<<set _newOrgan = {type: "mpregDog", weeksToCompletion: "10", ID: 0}>>
+				<<set _newOrgan = {type: "mpregCanine", weeksToCompletion: "10", ID: 0}>>
 				<<set _newOrgan.ID = $activeSlave.ID>>
 				<<set $organs.push(_newOrgan)>>
 				<<goto "Remote Surgery">>
@@ -343,8 +343,8 @@ The fabricator is ready to grow an organ for $him. Extract tissue to begin growi
 				$organs[_i].type are
 			<<case "pigTesticles">>
 				pig testicles are
-			<<case "dogTesticles">>
-				dog testicles are
+			<<case "canineTesticles">>
+				canine testicles are
 			<<case "horseTesticles">>
 				horse testicles are
 			<<case "cowTesticles">>
@@ -354,7 +354,7 @@ The fabricator is ready to grow an organ for $him. Extract tissue to begin growi
 			<<case "pigOvaries">>
 				pig ovaries are
 			<<case "dogOvaries">>
-				dog ovaries are
+				canine ovaries are
 			<<case "horseOvaries">>
 				horse ovaries are
 			<<case "cowOvaries">>
@@ -363,8 +363,8 @@ The fabricator is ready to grow an organ for $him. Extract tissue to begin growi
 				anal womb and ovaries are
 			<<case "mpregPig">>
 				anal womb and pig ovaries are
-			<<case "mpregDog">>
-				anal womb and dog ovaries are
+			<<case "mpregCanine">>
+				anal womb and canine ovaries are
 			<<case "mpregHorse">>
 				anal womb and horse ovaries are
 			<<case "mpregCow">>
@@ -607,7 +607,7 @@ The fabricator is ready to grow an organ for $him. Extract tissue to begin growi
 								<</if>>
 							<</if>>
 						<</if>>
-						<<set $surgeryType = "addPigBalls">>
+						<<set $surgeryType = "addAnimalBalls">>
 					<</link>>
 				<<elseif $activeSlave.dick == 0>>
 					<br>&nbsp;&nbsp;&nbsp;&nbsp;
@@ -647,7 +647,7 @@ The fabricator is ready to grow an organ for $him. Extract tissue to begin growi
 								<</if>>
 							<</if>>
 						<</if>>
-						<<set $surgeryType = "addPigBalls">>
+						<<set $surgeryType = "addAnimalBalls">>
 					<</link>>
 				<<else>>
 					<br>&nbsp;&nbsp;&nbsp;&nbsp;
@@ -677,7 +677,7 @@ The fabricator is ready to grow an organ for $him. Extract tissue to begin growi
 								<</if>>
 							<</if>>
 						<</if>>
-						<<set $surgeryType = "addPigBalls">>
+						<<set $surgeryType = "addAnimalBalls">>
 					<</link>>
 					|
 					<<link "Discard" "Remote Surgery">>
@@ -689,12 +689,12 @@ The fabricator is ready to grow an organ for $him. Extract tissue to begin growi
 						<</if>>
 					<</link>>
 				<</if>>
-			<<case "dogTesticles">>
-				<<if $activeSlave.balls > 0 && $activeSlave.ballType == "dog">>
+			<<case "canineTesticles">>
+				<<if $activeSlave.balls > 0 && $activeSlave.ballType == "canine">>
 					<br>&nbsp;&nbsp;&nbsp;&nbsp;
 					ERROR: this slave already has testicles.
 					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "dogTesticles"; })>>
+						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "canineTesticles"; })>>
 						<<if _ofo != -1>>
 							<<set $completedOrgans.deleteAt(_ofo)>>
 						<<else>>
@@ -705,7 +705,7 @@ The fabricator is ready to grow an organ for $him. Extract tissue to begin growi
 					<br>&nbsp;&nbsp;&nbsp;&nbsp;
 					ERROR: this slave already has $activeSlave.ballType testicles.
 					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "dogTesticles"; })>>
+						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "canineTesticles"; })>>
 						<<if _ofo != -1>>
 							<<set $completedOrgans.deleteAt(_ofo)>>
 						<<else>>
@@ -715,14 +715,14 @@ The fabricator is ready to grow an organ for $him. Extract tissue to begin growi
 					<br>You can replace $his existing testicles with a new pair.
 					<<link "Implant" "Surgery Degradation">>
 						<<set $cash -= $surgeryCost>>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "dogTesticles"; })>>
+						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "canineTesticles"; })>>
 						<<if _ofo != -1>>
 							<<set $completedOrgans.deleteAt(_ofo)>>
 						<<else>>
 							@@.red;Organ not found for deletion!@@
 						<</if>>
 						<<set $activeSlave.balls = 2>>
-						<<set $activeSlave.ballType = "dog">>
+						<<set $activeSlave.ballType = "canine">>
 						<<set $activeSlave.health -= 20>>
 						<<if $organFarmUpgrade == 2>>
 							<<set $activeSlave.chem += 20>>
@@ -738,13 +738,13 @@ The fabricator is ready to grow an organ for $him. Extract tissue to begin growi
 								<</if>>
 							<</if>>
 						<</if>>
-						<<set $surgeryType = "addDogBalls">>
+						<<set $surgeryType = "addAnimalBalls">>
 					<</link>>
 				<<elseif $activeSlave.dick == 0>>
 					<br>&nbsp;&nbsp;&nbsp;&nbsp;
 					ERROR: this slave lacks the penis necessary to accept testicles.
 					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "dogTesticles"; })>>
+						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "canineTesticles"; })>>
 						<<if _ofo != -1>>
 							<<set $completedOrgans.deleteAt(_ofo)>>
 						<<else>>
@@ -754,7 +754,7 @@ The fabricator is ready to grow an organ for $him. Extract tissue to begin growi
 					<br>You can forgo standard procedure and implant testicles directly into $his abdomen.
 					<<link "Implant" "Surgery Degradation">>
 						<<set $cash -= $surgeryCost>>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "dogTesticles"; })>>
+						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "canineTesticles"; })>>
 						<<if _ofo != -1>>
 							<<set $completedOrgans.deleteAt(_ofo)>>
 						<<else>>
@@ -762,7 +762,7 @@ The fabricator is ready to grow an organ for $him. Extract tissue to begin growi
 						<</if>>
 						<<if $activeSlave.prostate < 1>><<set $activeSlave.prostate = 1>><</if>>
 						<<set $activeSlave.balls = 2>>
-						<<set $activeSlave.ballType = "dog">>
+						<<set $activeSlave.ballType = "canine">>
 						<<set $activeSlave.health -= 20>>
 						<<if $organFarmUpgrade == 2>>
 							<<set $activeSlave.chem += 20>>
@@ -778,20 +778,20 @@ The fabricator is ready to grow an organ for $him. Extract tissue to begin growi
 								<</if>>
 							<</if>>
 						<</if>>
-						<<set $surgeryType = "addDogBalls">>
+						<<set $surgeryType = "addAnimalBalls">>
 					<</link>>
 				<<else>>
 					<br>&nbsp;&nbsp;&nbsp;&nbsp;
 					<<link "Implant">>
 						<<set $cash -= $surgeryCost>>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "dogTesticles"; })>>
+						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "canineTesticles"; })>>
 						<<if _ofo != -1>>
 							<<set $completedOrgans.deleteAt(_ofo)>>
 						<<else>>
 							@@.red;Organ not found for deletion!@@
 						<</if>>
 						<<set $activeSlave.balls = 2>>
-						<<set $activeSlave.ballType = "dog">>
+						<<set $activeSlave.ballType = "canine">>
 						<<set $activeSlave.scrotum = 2>>
 						<<set $activeSlave.health -= 20>>
 						<<if $organFarmUpgrade == 2>>
@@ -808,12 +808,12 @@ The fabricator is ready to grow an organ for $him. Extract tissue to begin growi
 								<</if>>
 							<</if>>
 						<</if>>
-						<<set $surgeryType = "addDogBalls">>
+						<<set $surgeryType = "addAnimalBalls">>
 						<<goto "Surgery Degradation">>
 					<</link>>
 					|
 					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "dogTesticles"; })>>
+						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "canineTesticles"; })>>
 						<<if _ofo != -1>>
 							<<set $completedOrgans.deleteAt(_ofo)>>
 						<<else>>
@@ -870,7 +870,7 @@ The fabricator is ready to grow an organ for $him. Extract tissue to begin growi
 								<</if>>
 							<</if>>
 						<</if>>
-						<<set $surgeryType = "addHorseBalls">>
+						<<set $surgeryType = "addAnimalBalls">>
 					<</link>>
 				<<elseif $activeSlave.dick == 0>>
 					<br>&nbsp;&nbsp;&nbsp;&nbsp;
@@ -910,7 +910,7 @@ The fabricator is ready to grow an organ for $him. Extract tissue to begin growi
 								<</if>>
 							<</if>>
 						<</if>>
-						<<set $surgeryType = "addHorseBalls">>
+						<<set $surgeryType = "addAnimalBalls">>
 					<</link>>
 				<<else>>
 					<br>&nbsp;&nbsp;&nbsp;&nbsp;
@@ -940,7 +940,7 @@ The fabricator is ready to grow an organ for $him. Extract tissue to begin growi
 								<</if>>
 							<</if>>
 						<</if>>
-						<<set $surgeryType = "addHorseBalls">>
+						<<set $surgeryType = "addAnimalBalls">>
 					<</link>>
 					|
 					<<link "Discard" "Remote Surgery">>
@@ -1001,7 +1001,7 @@ The fabricator is ready to grow an organ for $him. Extract tissue to begin growi
 								<</if>>
 							<</if>>
 						<</if>>
-						<<set $surgeryType = "addCowBalls">>
+						<<set $surgeryType = "addAnimalBalls">>
 					<</link>>
 				<<elseif $activeSlave.dick == 0>>
 					<br>&nbsp;&nbsp;&nbsp;&nbsp;
@@ -1041,7 +1041,7 @@ The fabricator is ready to grow an organ for $him. Extract tissue to begin growi
 								<</if>>
 							<</if>>
 						<</if>>
-						<<set $surgeryType = "addCowBalls">>
+						<<set $surgeryType = "addAnimalBalls">>
 					<</link>>
 				<<else>>
 					<br>&nbsp;&nbsp;&nbsp;&nbsp;
@@ -1071,7 +1071,7 @@ The fabricator is ready to grow an organ for $him. Extract tissue to begin growi
 								<</if>>
 							<</if>>
 						<</if>>
-						<<set $surgeryType = "addCowBalls">>
+						<<set $surgeryType = "addAnimalBalls">>
 					<</link>>
 					|
 					<<link "Discard" "Remote Surgery">>
@@ -1338,7 +1338,7 @@ The fabricator is ready to grow an organ for $him. Extract tissue to begin growi
 								<</if>>
 							<</if>>
 						<</if>>
-						<<set $surgeryType = "addPigOvaries">>
+						<<set $surgeryType = "addAnimalOvaries">>
 					<</link>>
 				<<elseif $activeSlave.vagina < 0>>
 					<br>&nbsp;&nbsp;&nbsp;&nbsp;
@@ -1390,7 +1390,7 @@ The fabricator is ready to grow an organ for $him. Extract tissue to begin growi
 								<</if>>
 							<</if>>
 						<</if>>
-						<<set $surgeryType = "addPigOvaries">>
+						<<set $surgeryType = "addAnimalOvaries">>
 					<</link>>
 					|
 					<<link "Discard" "Remote Surgery">>
@@ -1403,7 +1403,7 @@ The fabricator is ready to grow an organ for $him. Extract tissue to begin growi
 					<</link>>
 				<</if>>
 			<<case "dogOvaries">>
-				<<if $activeSlave.ovaries > 0 && $activeSlave.eggType == "dog">>
+				<<if $activeSlave.ovaries > 0 && $activeSlave.eggType == "canine">>
 					<br>&nbsp;&nbsp;&nbsp;&nbsp;
 					ERROR: this slave already has ovaries.
 					<<link "Discard" "Remote Surgery">>
@@ -1434,7 +1434,7 @@ The fabricator is ready to grow an organ for $him. Extract tissue to begin growi
 						<<else>>
 							@@.red;Organ not found for deletion!@@
 						<</if>>
-						<<set $activeSlave.eggType = "dog">>
+						<<set $activeSlave.eggType = "canine">>
 						<<set $activeSlave.preg = 0>>
 						<<set $activeSlave.health -= 20>>
 						<<if $organFarmUpgrade == 2>>
@@ -1451,7 +1451,7 @@ The fabricator is ready to grow an organ for $him. Extract tissue to begin growi
 								<</if>>
 							<</if>>
 						<</if>>
-						<<set $surgeryType = "addDogOvaries">>
+						<<set $surgeryType = "addAnimalOvaries">>
 					<</link>>
 				<<elseif $activeSlave.vagina < 0>>
 					<br>&nbsp;&nbsp;&nbsp;&nbsp;
@@ -1486,7 +1486,7 @@ The fabricator is ready to grow an organ for $him. Extract tissue to begin growi
 							@@.red;Organ not found for deletion!@@
 						<</if>>
 						<<set $activeSlave.ovaries = 1>>
-						<<set $activeSlave.eggType = "dog">>
+						<<set $activeSlave.eggType = "canine">>
 						<<set $activeSlave.preg = 0>>
 						<<set $activeSlave.health -= 20>>
 						<<if $organFarmUpgrade == 2>>
@@ -1503,7 +1503,7 @@ The fabricator is ready to grow an organ for $him. Extract tissue to begin growi
 								<</if>>
 							<</if>>
 						<</if>>
-						<<set $surgeryType = "addDogOvaries">>
+						<<set $surgeryType = "addAnimalOvaries">>
 					<</link>>
 					|
 					<<link "Discard" "Remote Surgery">>
@@ -1564,7 +1564,7 @@ The fabricator is ready to grow an organ for $him. Extract tissue to begin growi
 								<</if>>
 							<</if>>
 						<</if>>
-						<<set $surgeryType = "addHorseOvaries">>
+						<<set $surgeryType = "addAnimalOvaries">>
 					<</link>>
 				<<elseif $activeSlave.vagina < 0>>
 					<br>&nbsp;&nbsp;&nbsp;&nbsp;
@@ -1616,7 +1616,7 @@ The fabricator is ready to grow an organ for $him. Extract tissue to begin growi
 								<</if>>
 							<</if>>
 						<</if>>
-						<<set $surgeryType = "addHorseOvaries">>
+						<<set $surgeryType = "addAnimalOvaries">>
 					<</link>>
 					|
 					<<link "Discard" "Remote Surgery">>
@@ -1677,7 +1677,7 @@ The fabricator is ready to grow an organ for $him. Extract tissue to begin growi
 								<</if>>
 							<</if>>
 						<</if>>
-						<<set $surgeryType = "addCowOvaries">>
+						<<set $surgeryType = "addAnimalOvaries">>
 					<</link>>
 				<<elseif $activeSlave.vagina < 0>>
 					<br>&nbsp;&nbsp;&nbsp;&nbsp;
@@ -1729,7 +1729,7 @@ The fabricator is ready to grow an organ for $him. Extract tissue to begin growi
 								<</if>>
 							<</if>>
 						<</if>>
-						<<set $surgeryType = "addCowOvaries">>
+						<<set $surgeryType = "addAnimalOvaries">>
 					<</link>>
 					|
 					<<link "Discard" "Remote Surgery">>
@@ -2088,12 +2088,12 @@ The fabricator is ready to grow an organ for $him. Extract tissue to begin growi
 						<</if>>
 					<</link>>
 				<</if>>
-			<<case "mpregDog">>
+			<<case "mpregCanine">>
 				<<if ($activeSlave.ovaries != 0) && ($activeSlave.vagina > -1) && ($activeSlave.mpreg != 0)>>
 					<br>&nbsp;&nbsp;&nbsp;&nbsp;
 					ERROR: this slave has existing reproductive completedOrgans.
 					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "mpregDog"; })>>
+						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "mpregCanine"; })>>
 						<<if _ofo != -1>>
 							<<set $completedOrgans.deleteAt(_ofo)>>
 						<<else>>
@@ -2104,14 +2104,14 @@ The fabricator is ready to grow an organ for $him. Extract tissue to begin growi
 					<br>&nbsp;&nbsp;&nbsp;&nbsp;
 					<<link "Implant" "Surgery Degradation">>
 						<<set $cash -= $surgeryCost>>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "mpregDog"; })>>
+						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "mpregCanine"; })>>
 						<<if _ofo != -1>>
 							<<set $completedOrgans.deleteAt(_ofo)>>
 						<<else>>
 							@@.red;Organ not found for deletion!@@
 						<</if>>
 						<<set $activeSlave.mpreg = 1>>
-						<<set $activeSlave.eggType = "dog">>
+						<<set $activeSlave.eggType = "canine">>
 						<<set $activeSlave.preg = 0>>
 						<<set $activeSlave.health -= 40>>
 						<<if $organFarmUpgrade == 2>>
@@ -2128,11 +2128,11 @@ The fabricator is ready to grow an organ for $him. Extract tissue to begin growi
 								<</if>>
 							<</if>>
 						<</if>>
-						<<set $surgeryType = "mpregDog">>
+						<<set $surgeryType = "mpregCanine">>
 					<</link>>
 					|
 					<<link "Discard" "Remote Surgery">>
-						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "mpregDog"; })>>
+						<<set _ofo = $completedOrgans.findIndex(function(s) { return $activeSlave.ID == s.ID && s.type == "mpregCanine"; })>>
 						<<if _ofo != -1>>
 							<<set $completedOrgans.deleteAt(_ofo)>>
 						<<else>>
diff --git a/src/pregmod/widgets/seBirthWidgets.tw b/src/pregmod/widgets/seBirthWidgets.tw
index d699037e8ef..b1176eb6671 100644
--- a/src/pregmod/widgets/seBirthWidgets.tw
+++ b/src/pregmod/widgets/seBirthWidgets.tw
@@ -859,7 +859,7 @@ All in all,
 	<<set $slaves[$i].reservedChildren -= _cToIncub>>
 	<<set $slaves[$i].reservedChildrenNursery -= _cToNursery>>
 	<br><br>
-	Of $his _curBabies child<<if _curBabies > 1>>ren<</if>>, _cToIncub <<if _curBabies === 1>>was<<else>>were<</if>> taken to $incubatorName<<if $nursery > 0>>, and _cToNursery <<if _cToNursery === 1>>was<<else>>were<</if>> taken to $nurseryName<</if>>.
+	Of $his _curBabies child<<if _curBabies > 1>>ren<</if>>, _cToIncub <<if _curBabies === 1>>was<<else>>were<</if>> taken to $incubatorName<<if $nurseryNannies > 0>>, and _cToNursery <<if _cToNursery === 1>>was<<else>>were<</if>> taken to $nurseryName<</if>>.
 	<<if _cToIncub + _cToNursery > 0>>
 		<<for _cb = 0; _cb < _curBabies; _cb++>> /* if there is no reserved children, code in loop will not trigger */
 			<<if $slaves[$i].curBabies[_cb].reserve == "incubator">>
diff --git a/src/uncategorized/BackwardsCompatibility.tw b/src/uncategorized/BackwardsCompatibility.tw
index 13406528d66..1dba39700b4 100644
--- a/src/uncategorized/BackwardsCompatibility.tw
+++ b/src/uncategorized/BackwardsCompatibility.tw
@@ -677,12 +677,12 @@
 	<<set $tanks = []>>
 <</if>>
 
+<<if ndef $nurseryNannies>>
+	<<set $nurseryNannies = 0>>
+<</if>>
 <<if ndef $nursery>>
 	<<set $nursery = 0>>
 <</if>>
-<<if ndef $nurseryCribs>>
-	<<set $nurseryCribs = 0>>
-<</if>>
 <<if ndef $nurserySlaves>>
 	<<set $nurserySlaves = 0>>
 <</if>>
@@ -3484,7 +3484,7 @@ Setting missing slave variables:
 	<</for>>
 <</if>>
 
-<<if $nursery > 0>>
+<<if $nurseryNannies > 0>>
 	<<for _bcn = 0; _bcn < $cribs.length; _bcn++>>
 		<<set _incubatedSlave = $cribs[_bcn]>>
 		<<PMODinit _incubatedSlave>>
diff --git a/src/uncategorized/buildingWidgets.tw b/src/uncategorized/buildingWidgets.tw
index d1f11877a2a..7c469f28b60 100644
--- a/src/uncategorized/buildingWidgets.tw
+++ b/src/uncategorized/buildingWidgets.tw
@@ -84,7 +84,7 @@ if(!Macro.has('sectorblock')) {
 			transportHub: { base: 'transportHub', name: 'Transport Hub', cls: 'transportHub' },
 			Barracks: { base: 'Barracks', name: 'Garrison', extra: ' of $mercenariesTitle' },
 			Farmyard: { extra: ' <<if $farmyardNameCaps != "The Farmyard">>$farmyardNameCaps<</if>> ($farmyardSlaves/<<print $farmyard>><<if $Farmer>>, L<</if>>)'},
-			Nursery: { extra: ' <<if $nurseryNameCaps != "The Nursery">>$nurseryNameCaps<</if>> ($nurseryBabies babies, $nurserySlaves/<<print $nursery>><<if $Matron>>,L<</if>>)'},
+			Nursery: { extra: ' <<if $nurseryNameCaps != "The Nursery">>$nurseryNameCaps<</if>> ($nurseryBabies babies, $nurserySlaves/<<print $nurseryNannies>><<if $Matron>>,L<</if>>)'},
 			/* speciality shop types */
 			'Subjugationist': { base: 'Shops', name: 'Subjugationist Shops', cls: 'FSShops' },
 			'Supremacist': { base: 'Shops', name: 'Supremacist Shops', cls: 'FSShops' },
@@ -137,14 +137,14 @@ if(!Macro.has('sectorblock')) {
 		<td colspan="3"></td>
 		<td id="Penthouse" colspan="4">
 			<<link "Penthouse">><<set $nextButton = "Back", $nextLink = _Pass>><<goto "Manage Penthouse">><</link>> @@.cyan;[P]@@
-			<<if $masterSuite||$HGSuite||$dojo||$servantsQuarters||$spa||$nursery||$clinic||$schoolroom||$cellblock||$incubator||$researchLab.built=="true">>
+			<<if $masterSuite||$HGSuite||$dojo||$servantsQuarters||$spa||$nurseryNannies||$clinic||$schoolroom||$cellblock||$incubator||$researchLab.built=="true">>
 				<br>
 				<<if $masterSuite>> <<print MasterSuiteUIName()>> ($masterSuiteSlaves/$masterSuite<<if $Concubine>>, C<</if>>)<</if>>
 				<<if $HGSuite>> <<print HeadGirlSuiteUIName()>> <<if $HeadGirl != 0>>(HG<<if $HGSuiteSlaves > 0>>, 1)<<else>>)<</if>><</if>><</if>>
 				<<if $dojo > 1>>[[Armory|BG Select]] <<if $Bodyguard != 0>>(BG)<</if>> <</if>>
 				<<if $servantsQuarters>> <<print ServantQuartersUIName()>> ($servantsQuartersSlaves/$servantsQuarters<<if $Stewardess>>, L<</if>>)<</if>>
 				<<if $spa>> <<print SpaUIName()>> ($spaSlaves/$spa<<if $Attendant>>, L<</if>>)<</if>>
-				<<if $nursery>> <<print NurseryUIName()>> (<<if $nurseryCribs-$nurseryBabies == 0>>No empty rooms<<elseif $nurseryCribs-$nurseryBabies == 1>>1 empty room<<else>><<print $nurseryCribs-$nurseryBabies>> empty rooms<</if>>, $nurserySlaves/$nursery<<if $Matron>>, L<</if>>)<</if>>
+				<<if $nurseryNannies>> <<print NurseryUIName()>> (<<if $nursery-$nurseryBabies == 0>>No empty rooms<<elseif $nursery-$nurseryBabies == 1>>1 empty room<<else>><<print $nursery-$nurseryBabies>> empty rooms<</if>>, $nurserySlaves/$nurseryNannies<<if $Matron>>, L<</if>>)<</if>>
 				<<if $clinic>> <<print ClinicUIName()>> ($clinicSlaves/$clinic<<if $Nurse>>, L<</if>>)<</if>>
 				<<if $schoolroom>> <<print SchoolRoomUIName()>> ($schoolroomSlaves/$schoolroom<<if $Schoolteacher>>, L<</if>>)<</if>>
 				<<if $cellblock>> <<print CellblockUIName()>> ($cellblockSlaves/$cellblock<<if $Wardeness>>, L<</if>>)<</if>>
diff --git a/src/uncategorized/costsReport.tw b/src/uncategorized/costsReport.tw
index 53997bc6536..e5c20882158 100644
--- a/src/uncategorized/costsReport.tw
+++ b/src/uncategorized/costsReport.tw
@@ -95,8 +95,8 @@ your __personal living expenses__ are <<print cashFormat(Math.trunc($girls*(250+
 <<if ($servantsQuarters > 0) && ($servantsQuartersUpgradeMonitoring > 0)>>
 	<br>__Servants' Quarters__ maintenance: <<print cashFormat((0.2*$servantsQuartersUpgradeMonitoring*$servantsQuarters*$facilityCost))>>
 <</if>>
-<<if $nursery > 0>>		/*TODO: this will definitely need to be expanded to take into account the number of children and other factors*/
-	<br>__Nursery maintenance: <<print cashFormat($nursery*$facilityCost)>>
+<<if $nurseryNannies > 0>>		/*TODO: this will definitely need to be expanded to take into account the number of children and other factors*/
+	<br>__Nursery maintenance: <<print cashFormat($nurseryNannies*$facilityCost)>>
 <</if>>
 <<if $farmyard > 0>>	/*TODO: this will also need to be expanded*/
 	<br>__Farmyard__ maintenance: <<print cashFormat($farmyard*$facilityCost)>>
diff --git a/src/uncategorized/futureSociety.tw b/src/uncategorized/futureSociety.tw
index 74172aa7932..0f4cee82e45 100644
--- a/src/uncategorized/futureSociety.tw
+++ b/src/uncategorized/futureSociety.tw
@@ -1189,7 +1189,7 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc
 <<SetFacilityDecoration "spaDecoration">>
 <</if>>
 
-<<if $nursery > 0>>
+<<if $nurseryNannies > 0>>
 <<run ValidateFacilityDecoration("nurseryDecoration")>>
 <br>$nurseryNameCaps is decorated in $nurseryDecoration style.
 <<SetFacilityDecoration "nurseryDecoration">>
diff --git a/src/uncategorized/longSlaveDescription.tw b/src/uncategorized/longSlaveDescription.tw
index bf532877e5e..b3ccf2dfe48 100644
--- a/src/uncategorized/longSlaveDescription.tw
+++ b/src/uncategorized/longSlaveDescription.tw
@@ -1286,7 +1286,7 @@ is
 			<<elseif setup.attendantCareers.includes($activeSlave.career)>>
 				$activeSlave.career, giving $him potential as an Attendant for <<if $spa == 0>>a Spa<<else>>$spaName<</if>>.
 			<<elseif setup.matronCareers.includes($activeSlave.career)>>
-				$activeSlave.career, giving $him potential as a Matron for <<if $nursery == 0>>a Nursery<<else>>$nurseryName<</if>>.
+				$activeSlave.career, giving $him potential as a Matron for <<if $nurseryNannies == 0>>a Nursery<<else>>$nurseryName<</if>>.
 			<<elseif setup.nurseCareers.includes($activeSlave.career)>>
 				$activeSlave.career, giving $him potential as a Nurse for <<if $clinic == 0>>a Clinic<<else>>$clinicName<</if>>.
 			<<elseif setup.schoolteacherCareers.includes($activeSlave.career)>>
diff --git a/src/uncategorized/managePenthouse.tw b/src/uncategorized/managePenthouse.tw
index a27f144e0ea..69d03cd4271 100644
--- a/src/uncategorized/managePenthouse.tw
+++ b/src/uncategorized/managePenthouse.tw
@@ -75,8 +75,8 @@ __Penthouse Facilities__
 <<if $cheatMode == 1>>
 <<if $familyTesting == 1 && $seePreg != 0>>
 <br>
-<<if $nursery == 0>>
-	[[Build a nursery to raise children from birth|Manage Penthouse][$cash -= Math.trunc(5000*$upgradeMultiplierArcology), $nurseryCribs = 5, $nursery = 1, $PC.engineering += 1]]
+<<if $nurseryNannies == 0>>
+	[[Build a nursery to raise children from birth|Manage Penthouse][$cash -= Math.trunc(5000*$upgradeMultiplierArcology), $nursery = 5, $nurseryNannies = 1, $PC.engineering += 1]]
 		//Costs <<print cashFormat(Math.trunc(5000*$upgradeMultiplierArcology))>>//
 <<else>>
 		The penthouse has a nursery built where infants can be brought up.
diff --git a/src/uncategorized/multiImplant.tw b/src/uncategorized/multiImplant.tw
index c8487bc761c..9a577e4bf0b 100644
--- a/src/uncategorized/multiImplant.tw
+++ b/src/uncategorized/multiImplant.tw
@@ -10,7 +10,7 @@ You head down to your <<if $surgeryUpgrade == 1>>heavily upgraded and customized
 		testicles: 0,
 		scrotum: 0,
 		pigTesticles: 0,
-		dogTesticles: 0,
+		canineTesticles: 0,
 		horseTesticles: 0,
 		cowTesticles: 0,
 		foreskin: 0,
@@ -18,7 +18,7 @@ You head down to your <<if $surgeryUpgrade == 1>>heavily upgraded and customized
 		freshOvaries: 0,
 		prostate: 0,
 		pigOvaries: 0,
-		dogOvaries: 0,
+		canineOvaries: 0,
 		horseOvaries: 0,
 		cowOvaries: 0,
 		eyes: 0,
@@ -26,7 +26,7 @@ You head down to your <<if $surgeryUpgrade == 1>>heavily upgraded and customized
 		voicebox: 0,
 		mpreg: 0,
 		mpregPig: 0,
-		mpregDog: 0,
+		mpregCanine: 0,
 		mpregHorse: 0,
 		mpregCow: 0
 		}>>
@@ -44,8 +44,8 @@ You head down to your <<if $surgeryUpgrade == 1>>heavily upgraded and customized
 			<<elseif $completedOrgans[_j].type == "pigTesticles">>
 				<<set _slaveOrgans.pigTesticles = $completedOrgans[_j]>>
 				<<set $completedOrgans.deleteAt(_j),_j-->>
-			<<elseif $completedOrgans[_j].type == "dogTesticles">>
-				<<set _slaveOrgans.dogTesticles = $completedOrgans[_j]>>
+			<<elseif $completedOrgans[_j].type == "canineTesticles">>
+				<<set _slaveOrgans.canineTesticles = $completedOrgans[_j]>>
 				<<set $completedOrgans.deleteAt(_j),_j-->>
 			<<elseif $completedOrgans[_j].type == "horseTesticles">>
 				<<set _slaveOrgans.horseTesticles = $completedOrgans[_j]>>
@@ -68,8 +68,8 @@ You head down to your <<if $surgeryUpgrade == 1>>heavily upgraded and customized
 			<<elseif $completedOrgans[_j].type == "pigOvaries">>
 				<<set _slaveOrgans.pigOvaries = $completedOrgans[_j]>>
 				<<set $completedOrgans.deleteAt(_j),_j-->>
-			<<elseif $completedOrgans[_j].type == "dogOvaries">>
-				<<set _slaveOrgans.dogOvaries = $completedOrgans[_j]>>
+			<<elseif $completedOrgans[_j].type == "canineOvaries">>
+				<<set _slaveOrgans.canineOvaries = $completedOrgans[_j]>>
 				<<set $completedOrgans.deleteAt(_j),_j-->>
 			<<elseif $completedOrgans[_j].type == "horseOvaries">>
 				<<set _slaveOrgans.horseOvaries = $completedOrgans[_j]>>
@@ -92,8 +92,8 @@ You head down to your <<if $surgeryUpgrade == 1>>heavily upgraded and customized
 			<<elseif $completedOrgans[_j].type == "mpregPig">>
 				<<set _slaveOrgans.mpregPig = $completedOrgans[_j]>>
 				<<set $completedOrgans.deleteAt(_j),_j-->>
-			<<elseif $completedOrgans[_j].type == "mpregDog">>
-				<<set _slaveOrgans.mpregDog = $completedOrgans[_j]>>
+			<<elseif $completedOrgans[_j].type == "mpregCanine">>
+				<<set _slaveOrgans.mpregCanine = $completedOrgans[_j]>>
 				<<set $completedOrgans.deleteAt(_j),_j-->>
 			<<elseif $completedOrgans[_j].type == "mpregHorse">>
 				<<set _slaveOrgans.mpregHorse = $completedOrgans[_j]>>
@@ -299,7 +299,7 @@ You head down to your <<if $surgeryUpgrade == 1>>heavily upgraded and customized
 					<</if>>
 				<</if>>
 			<</if>>
-			<<set $surgeryType = "addPigOvaries">>
+			<<set $surgeryType = "addAnimalOvaries">>
 			<br><hr>
 			<<include "Surgery Degradation">>
 		<<elseif $activeSlave.ovaries == 1>>
@@ -321,7 +321,7 @@ You head down to your <<if $surgeryUpgrade == 1>>heavily upgraded and customized
 		<</if>>
 	<</if>>
 	/* dog ovaries */
-	<<if _slaveOrgans.dogOvaries != 0>>
+	<<if _slaveOrgans.canineOvaries != 0>>
 		<<if ($activeSlave.ovaries == 0) && ($activeSlave.vagina >= 0) && ($activeSlave.mpreg == 0) && ($activeSlave.bellyImplant == -1)>>
 			<<set $cash -= $surgeryCost>>
 			<<set $activeSlave.ovaries = 1>>
@@ -342,25 +342,25 @@ You head down to your <<if $surgeryUpgrade == 1>>heavily upgraded and customized
 					<</if>>
 				<</if>>
 			<</if>>
-			<<set $surgeryType = "addDogOvaries">>
+			<<set $surgeryType = "addAAnimalOvaries">>
 			<br><hr>
 			<<include "Surgery Degradation">>
 		<<elseif $activeSlave.ovaries == 1>>
 			<br><hr>
 			@@.red;Could not implant dog ovaries on $activeSlave.slaveName: she already has ovaries.@@
-			<<set $completedOrgans.push(_slaveOrgans.dogOvaries)>>
+			<<set $completedOrgans.push(_slaveOrgans.canineOvaries)>>
 		<<elseif $activeSlave.vagina < 0>>
 			<br><hr>
 			@@.red;Could not implant dog ovaries on $activeSlave.slaveName: she lacks a vagina.@@
-			<<set $completedOrgans.push(_slaveOrgans.dogOvaries)>>
+			<<set $completedOrgans.push(_slaveOrgans.canineOvaries)>>
 		<<elseif $activeSlave.bellyImplant >= 0>>
 			<br><hr>
 			@@.red;Could not implant dog ovaries on $activeSlave.slaveName: she has a fillable abdominal implant.@@
-			<<set $completedOrgans.push(_slaveOrgans.dogOvaries)>>
+			<<set $completedOrgans.push(_slaveOrgans.canineOvaries)>>
 		<<elseif $activeSlave.mpreg != 0>>
 			<br><hr>
 			@@.red;Could not implant dog ovaries on $activeSlave.slaveName: she has an anal womb.@@
-			<<set $completedOrgans.push(_slaveOrgans.dogOvaries)>>
+			<<set $completedOrgans.push(_slaveOrgans.canineOvaries)>>
 		<</if>>
 	<</if>>
 	/* horse ovaries */
@@ -385,7 +385,7 @@ You head down to your <<if $surgeryUpgrade == 1>>heavily upgraded and customized
 					<</if>>
 				<</if>>
 			<</if>>
-			<<set $surgeryType = "addHorseOvaries">>
+			<<set $surgeryType = "addAnimalOvaries">>
 			<br><hr>
 			<<include "Surgery Degradation">>
 		<<elseif $activeSlave.ovaries == 1>>
@@ -428,7 +428,7 @@ You head down to your <<if $surgeryUpgrade == 1>>heavily upgraded and customized
 					<</if>>
 				<</if>>
 			<</if>>
-			<<set $surgeryType = "addCowOvaries">>
+			<<set $surgeryType = "addAnimalOvaries">>
 			<br><hr>
 			<<include "Surgery Degradation">>
 		<<elseif $activeSlave.ovaries == 1>>
@@ -514,7 +514,7 @@ You head down to your <<if $surgeryUpgrade == 1>>heavily upgraded and customized
 					<</if>>
 				<</if>>
 			<</if>>
-			<<set $surgeryType = "mpregPig">>
+			<<set $surgeryType = "mpregAnimal">>
 			<br><hr>
 			<<include "Surgery Degradation">>
 		<<elseif $activeSlave.ovaries == 1>>
@@ -536,7 +536,7 @@ You head down to your <<if $surgeryUpgrade == 1>>heavily upgraded and customized
 		<</if>>
 	<</if>>
 	/* male dog preg */
-	<<if _slaveOrgans.mpregDog != 0>>
+	<<if _slaveOrgans.mpregCanine != 0>>
 		<<if ($activeSlave.ovaries == 0) && ($activeSlave.vagina < 0) && ($activeSlave.mpreg == 0) && ($activeSlave.bellyImplant == -1)>>
 			<<set $cash -= $surgeryCost>>
 			<<set $activeSlave.mpreg = 1>>
@@ -557,25 +557,25 @@ You head down to your <<if $surgeryUpgrade == 1>>heavily upgraded and customized
 					<</if>>
 				<</if>>
 			<</if>>
-			<<set $surgeryType = "mpregDog">>
+			<<set $surgeryType = "mpregAnimal">>
 			<br><hr>
 			<<include "Surgery Degradation">>
 		<<elseif $activeSlave.ovaries == 1>>
 			<br><hr>
 			@@.red;Could not implant dog anal womb on $activeSlave.slaveName: she has ovaries.@@
-			<<set $completedOrgans.push(_slaveOrgans.mpregDog)>>
+			<<set $completedOrgans.push(_slaveOrgans.mpregCanine)>>
 		<<elseif $activeSlave.vagina < 0>>
 			<br><hr>
 			@@.red;Could not implant dog anal womb on $activeSlave.slaveName: she has a vagina.@@
-			<<set $completedOrgans.push(_slaveOrgans.mpregDog)>>
+			<<set $completedOrgans.push(_slaveOrgans.mpregCanine)>>
 		<<elseif $activeSlave.bellyImplant >= 0>>
 			<br><hr>
 			@@.red;Could not implant dog anal womb on $activeSlave.slaveName: she has a fillable abdominal implant.@@
-			<<set $completedOrgans.push(_slaveOrgans.mpregDog)>>
+			<<set $completedOrgans.push(_slaveOrgans.mpregCanine)>>
 		<<elseif $activeSlave.mpreg != 0>>
 			<br><hr>
 			@@.red;Could not implant dog anal womb on $activeSlave.slaveName: she already has an anal womb.@@
-			<<set $completedOrgans.push(_slaveOrgans.mpregDog)>>
+			<<set $completedOrgans.push(_slaveOrgans.mpregCanine)>>
 		<</if>>
 	<</if>>
 	/* male horse preg */
@@ -600,7 +600,7 @@ You head down to your <<if $surgeryUpgrade == 1>>heavily upgraded and customized
 					<</if>>
 				<</if>>
 			<</if>>
-			<<set $surgeryType = "mpregHorse">>
+			<<set $surgeryType = "mpregAnimal">>
 			<br><hr>
 			<<include "Surgery Degradation">>
 		<<elseif $activeSlave.ovaries == 1>>
@@ -643,7 +643,7 @@ You head down to your <<if $surgeryUpgrade == 1>>heavily upgraded and customized
 					<</if>>
 				<</if>>
 			<</if>>
-			<<set $surgeryType = "mpregCow">>
+			<<set $surgeryType = "mpregAnimal">>
 			<br><hr>
 			<<include "Surgery Degradation">>
 		<<elseif $activeSlave.ovaries == 1>>
@@ -782,7 +782,7 @@ You head down to your <<if $surgeryUpgrade == 1>>heavily upgraded and customized
 					<</if>>
 				<</if>>
 			<</if>>
-			<<set $surgeryType = "addPigBalls">>
+			<<set $surgeryType = "addAnimalBalls">>
 			<br><hr>
 			<<include "Surgery Degradation">>
 		<<elseif $activeSlave.dick == 0>>
@@ -796,7 +796,7 @@ You head down to your <<if $surgeryUpgrade == 1>>heavily upgraded and customized
 		<</if>>
 	<</if>>
 	/* dog testicles */
-	<<if _slaveOrgans.dogTesticles != 0>>
+	<<if _slaveOrgans.canineTesticles != 0>>
 		<<if ($activeSlave.dick >= 0) && ($activeSlave.balls == 0)>>
 			<<set $cash -= $surgeryCost>>
 			<<set $activeSlave.balls = 2>>
@@ -818,17 +818,17 @@ You head down to your <<if $surgeryUpgrade == 1>>heavily upgraded and customized
 				<</if>>
 			<</if>>
 			<br><hr>
-			<<set $surgeryType = "addDogBalls">>
+			<<set $surgeryType = "addAnimalBalls">>
 			<br><hr>
 			<<include "Surgery Degradation">>
 		<<elseif $activeSlave.dick == 0>>
 			<br><hr>
 			@@.red;Could not implant dog testicles on $activeSlave.slaveName: she lacks a penis.@@
-			<<set $completedOrgans.push(_slaveOrgans.dogTesticles)>>
+			<<set $completedOrgans.push(_slaveOrgans.canineTesticles)>>
 		<<else>>
 			<br><hr>
 			@@.red;Could not implant dog testicles on $activeSlave.slaveName: she already has testicles.@@
-			<<set $completedOrgans.push(_slaveOrgans.dogTesticles)>>
+			<<set $completedOrgans.push(_slaveOrgans.canineTesticles)>>
 		<</if>>
 	<</if>>
 	/* horse testicles */
@@ -853,7 +853,7 @@ You head down to your <<if $surgeryUpgrade == 1>>heavily upgraded and customized
 					<</if>>
 				<</if>>
 			<</if>>
-			<<set $surgeryType = "addHorseBalls">>
+			<<set $surgeryType = "addAnimalBalls">>
 			<br><hr>
 			<<include "Surgery Degradation">>
 		<<elseif $activeSlave.dick == 0>>
@@ -888,7 +888,7 @@ You head down to your <<if $surgeryUpgrade == 1>>heavily upgraded and customized
 					<</if>>
 				<</if>>
 			<</if>>
-			<<set $surgeryType = "addCowBalls">>
+			<<set $surgeryType = "addAnimalBalls">>
 			<br><hr>
 			<<include "Surgery Degradation">>
 		<<elseif $activeSlave.dick == 0>>
diff --git a/src/uncategorized/options.tw b/src/uncategorized/options.tw
index 96c76990055..bee6ba1bc78 100644
--- a/src/uncategorized/options.tw
+++ b/src/uncategorized/options.tw
@@ -2,6 +2,10 @@
 
 <<set $showEncyclopedia = 0, $nextButton = "Back to Main", $nextLink = "Main">>
 
+<<if $minimumSlaveAge > 3>>
+	<<set _tempMinAge = $minimumSlaveAge>>
+<</if>>
+
 ''SAVES''
 <br>
 This save was created using FC version $ver build $releaseID.
@@ -366,6 +370,15 @@ Bestiality related content is currently @@.red;DISABLED@@. [[Enable|Options][$se
 Bestiality related content is currently @@.cyan;ENABLED@@. [[Disable|Options][$seeBestiality = 0]] //Will not remove existing facilities, but will block content from appearing.//
 <</if>>
 
+<<if $cheatMode == 1>>
+<br>
+<<if ($extremeUnderage == 0)>>
+Extreme underage related content is currently @@.red;DISABLED@@. [[Enable|Options][$extremeUnderage = 1, $minimumSlaveAge = 0]]
+<<else>>
+Extreme underage related content is currently @@.cyan;ENABLED@@. [[Disable|Options][$extremeUnderage = 0, $minimumSlaveAge = _tempMinAge]] //Will not affect existing slaves.//
+<</if>>
+<</if>>
+
 <br>
 <<if ($seePreg == 0)>>
 Pregnancy related content is currently @@.red;DISABLED@@. [[Enable|Options][$seePreg = 1]]
diff --git a/src/uncategorized/pCoupAttempt.tw b/src/uncategorized/pCoupAttempt.tw
index 408c7354089..6dd256bada8 100644
--- a/src/uncategorized/pCoupAttempt.tw
+++ b/src/uncategorized/pCoupAttempt.tw
@@ -220,7 +220,7 @@ You are awakened in the middle of the night by a jolt that shakes the entire arc
 				<</if>>
 			<</for>>
 		<</if>>
-		<<if $nursery > 0>>
+		<<if $nurseryNannies > 0>>
 			<<for _pca = 0; _pca < $cribs.length; _pca++>>
 				<<if $traitorStats.traitorMotherTank.includes($cribs[_pca].ID)>>
 					<<set $cribs[_pca].mother = $traitor.ID>>
diff --git a/src/uncategorized/pUndergroundRailroad.tw b/src/uncategorized/pUndergroundRailroad.tw
index c843c1aec77..1a92865e93c 100644
--- a/src/uncategorized/pUndergroundRailroad.tw
+++ b/src/uncategorized/pUndergroundRailroad.tw
@@ -138,7 +138,7 @@ that several nondescript citizens $he sees occasionally at work have passed a fe
 				<</if>>
 			<</for>>
 		<</if>>
-		<<if $nursery > 0>>
+		<<if $nurseryNannies > 0>>
 			<<for _z = 0; _z < $cribs.length; _z++>>
 				<<if $traitor.ID == $cribs[_z].mother>>
 					<<set $traitorStats.traitorMotherTank.push($slaves[_z].ID)>>
diff --git a/src/uncategorized/penthouseReport.tw b/src/uncategorized/penthouseReport.tw
index dd22921d620..d60482ad659 100644
--- a/src/uncategorized/penthouseReport.tw
+++ b/src/uncategorized/penthouseReport.tw
@@ -38,5 +38,5 @@
 <</for>>
 
 /* count open spots in facilities after all assignments have been decided for the week */
-<<set $brothelSpots = $brothel - $brothelSlaves, $clubSpots = $club - $clubSlaves, $dairySpots = $dairy - $dairySlaves, $servantsQuartersSpots = $servantsQuarters - $servantsQuartersSlaves>>
+<<set $brothelSpots = $brothel - $brothelSlaves, $clubSpots = $club - $clubSlaves, $dairySpots = $dairy - $dairySlaves, $farmyardSpots = $farmyard - $farmyardSlaves, $servantsQuartersSpots = $servantsQuarters - $servantsQuartersSlaves>>
 
diff --git a/src/uncategorized/reBoomerang.tw b/src/uncategorized/reBoomerang.tw
index 6b79d7220b7..deca0abf679 100644
--- a/src/uncategorized/reBoomerang.tw
+++ b/src/uncategorized/reBoomerang.tw
@@ -397,7 +397,7 @@ It isn't obvious how she managed to escape, though no doubt you could review the
 				<</if>>
 			<</for>>
 		<</if>>
-		<<if $nursery > 0>>
+		<<if $nurseryNannies > 0>>
 			<<for _reb = 0; _reb < $cribs.length; _reb++>>
 				<<if $boomerangStats.boomerangMotherTank.includes($cribs[_reb].ID)>>
 					<<set $cribs[_reb].mother = $activeSlave.ID>>
diff --git a/src/uncategorized/recruiterSelect.tw b/src/uncategorized/recruiterSelect.tw
index b7450d1150f..42f4da18f8b 100644
--- a/src/uncategorized/recruiterSelect.tw
+++ b/src/uncategorized/recruiterSelect.tw
@@ -53,7 +53,7 @@
 <<if $masterSuite>><<set _idleTarget++>><</if>>
 <<if $schoolroom>><<set _idleTarget++>><</if>>
 <<if $spa>><<set _idleTarget++>><</if>>
-<<if $nursery>><<set _idleTarget++>><</if>>
+<<if $nurseryNannies>><<set _idleTarget++>><</if>>
 <<if $clinic>><<set _idleTarget++>><</if>>
 <<if $cellblock>><<set _idleTarget++>><</if>>
 
diff --git a/src/uncategorized/remoteSurgery.tw b/src/uncategorized/remoteSurgery.tw
index 8a4e51c68fe..a867084f1cd 100644
--- a/src/uncategorized/remoteSurgery.tw
+++ b/src/uncategorized/remoteSurgery.tw
@@ -774,7 +774,7 @@ $He's got a
 <</if>>
 
 <br><br>
-Work on her sex:
+Work on $his sex:
 
 <<if $activeSlave.vagina > -1>>
 <br>&nbsp;&nbsp;&nbsp;&nbsp;
@@ -1115,7 +1115,7 @@ Work on her sex:
 
 <br><br>
 
-Work on her asshole:
+Work on $his asshole:
 <br>&nbsp;&nbsp;&nbsp;&nbsp;
 $He has
 <<if $activeSlave.anus == 0>>
diff --git a/src/uncategorized/saRecruitGirls.tw b/src/uncategorized/saRecruitGirls.tw
index 1c5fe4df3c8..4f4d017a84c 100644
--- a/src/uncategorized/saRecruitGirls.tw
+++ b/src/uncategorized/saRecruitGirls.tw
@@ -17,7 +17,7 @@
 	<<if $masterSuite>><<set _idleTarget++>><</if>>
 	<<if $schoolroom>><<set _idleTarget++>><</if>>
 	<<if $spa>><<set _idleTarget++>><</if>>
-	<<if $nursery>><<set _idleTarget++>><</if>>
+	<<if $nurseryNannies>><<set _idleTarget++>><</if>>
 	<<if $clinic>><<set _idleTarget++>><</if>>
 	<<if $cellblock>><<set _idleTarget++>><</if>>
 	<<set _idleTarget = Math.max(_idleTarget, 20)>>
diff --git a/src/uncategorized/slaveAssignmentsReport.tw b/src/uncategorized/slaveAssignmentsReport.tw
index 52715e7c4a6..9c2d5aa1916 100644
--- a/src/uncategorized/slaveAssignmentsReport.tw
+++ b/src/uncategorized/slaveAssignmentsReport.tw
@@ -292,6 +292,19 @@
 	<<if $Matron == 0>>
 		<<= removeJob($slaves[$i], "be the Matron")>>
 	<</if>>
+<<case "work as a nanny">>	/* TODO: not sure if this how it should be done for nannies */
+	<<if $slaves[$i].fetish == "mindbroken">>
+		''__@@.pink;$slaves[$i].slaveName@@__'' is mindbroken @@.yellow;and cannot work as a nanny any more.@@<br>
+	<<elseif $slaves[$i].preg > 37 && $slaves[$i].broodmother == 2>>
+		''__@@.pink;$slaves[$i].slaveName@@__'' spends so much time giving birth and laboring that @@.yellow;she cannot effectively work as a nanny any longer@@.
+	<<elseif !canWalk($slaves[$i])>>
+		''__@@.pink;$slaves[$i].slaveName@@__'' is no longer independently mobile @@.yellow;and cannot work as a nanny any more.@@<br>
+	<<elseif !canHear($slaves[$i])>>
+		''__@@.pink;$slaves[$i].slaveName@@__'' can no longer hear @@.yellow;and cannot work as a nanny any more.@@<br>
+	<<elseif !canSee($slaves[$i])>>
+		''__@@.pink;$slaves[$i].slaveName@@__'' can no longer see @@.yellow;and cannot work as a nanny any more.@@<br>
+	<</if>>
+		<<= removeJob($slaves[$i], "work as a nanny")>>
 <<case "be the Nurse">>
 	<<set $Nurse = $slaves[$i]>>
 	<<if $Nurse.fetish == "mindbroken">>
@@ -572,7 +585,7 @@
 	["Farmyard Report", $farmyardNameCaps, $farmyard, $farmyardSlaves, $Farmer, "Farmer"],
 	["Schoolroom Report", $schoolroomNameCaps, $schoolroom, $schoolroomSlaves, $Schoolteacher, "Schoolteacher"],
 	["Spa Report", $spaNameCaps, $spa, $spaSlaves, $Attendant, "Attendant"],
-	["Nursery Report", $nurseryNameCaps, $nursery, $nurserySlaves, $Matron, "Matron"],
+	["Nursery Report", $nurseryNameCaps, $nurseryNannies, $nurserySlaves, $Matron, "Matron"],
 /** ["Lab Report"], "Research Lab", $researchLab.built, $researchLab.hired + $researchLab.menials, -1, -1], **/
 	["Servants' Quarters Report", $servantsQuartersNameCaps, $servantsQuarters, $servantsQuartersSlaves, $Stewardess, "Stewardess"],
 	["Incubator Report", $incubatorNameCaps, $incubator, $incubatorSlaves, -1, -1],
diff --git a/src/uncategorized/slaveInteract.tw b/src/uncategorized/slaveInteract.tw
index 7470805ce30..ee5af5c524b 100644
--- a/src/uncategorized/slaveInteract.tw
+++ b/src/uncategorized/slaveInteract.tw
@@ -562,7 +562,7 @@
 
 	<</if>>/* CLOSES FUCKDOLL CHECK */
 
-	<<set _numFacilities = $brothel+$club+$dairy+$farmyard+$servantsQuarters+$masterSuite+$spa+$nursery+$clinic+$schoolroom+$cellblock+$arcade+$HGSuite>>
+	<<set _numFacilities = $brothel+$club+$dairy+$farmyard+$servantsQuarters+$masterSuite+$spa+$nurseryNannies+$clinic+$schoolroom+$cellblock+$arcade+$HGSuite>>
 
 	<<if _numFacilities > 0>>
 
@@ -652,7 +652,7 @@
 		<<if _numFacilities-- > 1>>|<</if>>
 	<</if>>
 
-	<<if $nursery != 0>>
+	<<if $nurseryNannies != 0>>
 		<<if $nurseryNannies > $nurserySlaves && ($activeSlave.devotion > 20 || $activeSlave.trust > 20 || $activeSlave.fetish == "mindbroken")>>
 			[[Nursery|Assign][$assignTo = "Nursery", $i = -1]]
 		<<else>>Nursery<</if>>
@@ -1413,7 +1413,7 @@ Aphrodisiacs: <span id="aphrodisiacs"><strong><<if $activeSlave.aphrodisiacs > 1
 <</if>>
 <</if>>
 
-<<if $nursery > 0>>
+<<if $nurseryNannies > 0>>
 <<if $activeSlave.preg > 0 && $activeSlave.broodmother == 0 && $activeSlave.pregKnown == 1 && $activeSlave.eggType == "human">>
 <<if $activeSlave.assignment == "work in the dairy" && $dairyPregSetting > 0>>
 <<else>>
@@ -1422,7 +1422,7 @@ Aphrodisiacs: <span id="aphrodisiacs"><strong><<if $activeSlave.aphrodisiacs > 1
 		<<set $reservedChildren = 0>>
 		//$His children are already reserved for $incubatorName//
 	<<else>>
-		<<set $freeCribs = ($nursery-$cribs.length)>>
+		<<set $freeCribs = ($nurseryNannies-$cribs.length)>>
 		<<if _reservedNursery > 0>>
 			<<if _WL == 1>>
 				$His child will be placed in $nurseryName.
diff --git a/src/uncategorized/slaveSold.tw b/src/uncategorized/slaveSold.tw
index 999a83701f0..a4be3d8e500 100644
--- a/src/uncategorized/slaveSold.tw
+++ b/src/uncategorized/slaveSold.tw
@@ -48,7 +48,7 @@
 						<</if>>
 					<</for>>
 				<</if>>
-				<<if $nursery > 0>>
+				<<if $nurseryNannies > 0>>
 					<<for _z = 0; _z < $cribs.length; _z++>>
 						<<if $activeSlave.ID == $cribs[_z].mother>>
 							<<set $boomerangStats.boomerangMotherTank.push($slaves[_z].ID)>>
diff --git a/src/uncategorized/slaveSummary.tw b/src/uncategorized/slaveSummary.tw
index 78e6a0970f1..40781f74fef 100644
--- a/src/uncategorized/slaveSummary.tw
+++ b/src/uncategorized/slaveSummary.tw
@@ -281,7 +281,7 @@
 	[[_slaveName|Attendant Workaround][$i = _ssi]]
 <<case "Nursery">>
 <<if $Flag == 0>>
-	<<if $nursery <= $nurserySlaves>><<continue>><</if>>
+	<<if $nurseryNannies <= $nurserySlaves>><<continue>><</if>>
 	<<if (_Slave.devotion >= -20) || ((_Slave.devotion >= -50) && (_Slave.trust <= 20)) || (_Slave.trust < -20)>>
 		<br style="clear:both" /><<if $lineSeparations == 0>><br><<else>><hr style="margin:0"><</if>><<if ($seeImages == 1) && ($seeSummaryImages == 1)>><div class="imageRef smlImg"><<SlaveArt _Slave 1>></div><</if>>
 		[[_slaveName|Slave Interact][$activeSlave = $slaves[_ssi]]]
@@ -784,8 +784,8 @@ will
 		<<if _numFacilities-- > 1>>|<</if>>
 	<</if>>
 
-	<<if $nursery != 0>>
-		<<if $nursery > $nurserySlaves && (_Slave.devotion > 20 || _Slave.trust > 20 || _Slave.fetish == "mindbroken")>>
+	<<if $nurseryNannies != 0>>
+		<<if $nurseryNannies > $nurserySlaves && (_Slave.devotion > 20 || _Slave.trust > 20 || _Slave.fetish == "mindbroken")>>
 			[[Nursery|Assign][$assignTo = "Nursery", $i = _ssi]] /* $i = -1 tells Assign to use _Slave as-is */
 		<<else>>Nursery<</if>>
 	<</if>>
diff --git a/src/uncategorized/storyCaption.tw b/src/uncategorized/storyCaption.tw
index a0c69fafb05..dbc04206b5e 100644
--- a/src/uncategorized/storyCaption.tw
+++ b/src/uncategorized/storyCaption.tw
@@ -476,12 +476,12 @@
 				($spaSlaves/$spa<<if $Attendant>>, L<</if>>)
 			<</if>>
 		<</if>>
-		<<if ($nursery)>>
+		<<if ($nurseryNannies)>>
 			<br> <<link "$nurseryNameCaps""Nursery">><</link>>
 			<<if $abbreviateSidebar == 2>>
-				(<<if $nurseryCribs-$nurseryBabies == 0>>No empty rooms<<elseif $nurseryCribs-$nurseryBabies == 1>>1 empty room<<else>><<print $nurseryCribs-$nurseryBabies>> empty rooms<</if>>, $nurserySlaves/$nursery <<if $nurserySlaves != 1>>nannies<<else>>nanny<</if>><<if $Matron>>, attendant<</if>>)
+				(<<if $nursery-$nurseryBabies == 0>>No empty rooms<<elseif $nursery-$nurseryBabies == 1>>1 empty room<<else>><<print $nursery-$nurseryBabies>> empty rooms<</if>>, $nurserySlaves/$nurseryNannies <<if $nurserySlaves != 1>>nannies<<else>>nanny<</if>><<if $Matron>>, attendant<</if>>)
 			<<else>>
-				($nurseryBabies/$nurseryCribs, $nurserySlaves/$nursery<<if $Matron>>, L<</if>>)
+				($nurseryBabies/$nursery, $nurserySlaves/$nurseryNannies<<if $Matron>>, L<</if>>)
 			<</if>>
 		<</if>>
 		<<if ($clinic)>>
diff --git a/src/uncategorized/universalRules.tw b/src/uncategorized/universalRules.tw
index e1bc04e4bb6..bbacfa4108c 100644
--- a/src/uncategorized/universalRules.tw
+++ b/src/uncategorized/universalRules.tw
@@ -74,7 +74,7 @@ Future society names for new slaves are currently @@.cyan;APPLIED@@. [[Stop appl
 <</if>>
 <</if>>
 
-<<if $brothel+$club+$dairy+$farmyard+$servantsQuarters+$arcade+$schoolroom+$spa+$nursery+$clinic+$masterSuite+$cellblock > 0>>
+<<if $brothel+$club+$dairy+$farmyard+$servantsQuarters+$arcade+$schoolroom+$spa+$nurseryNannies+$clinic+$masterSuite+$cellblock > 0>>
 <br><br>
 <<if $universalRulesFacilityWork == 0>>
 	Slaves ''will not'' cooperate with staffed facilities to improve their performance. [[Allow cooperation|Universal Rules][$universalRulesFacilityWork = 1]]
@@ -83,7 +83,7 @@ Future society names for new slaves are currently @@.cyan;APPLIED@@. [[Stop appl
 <</if>>
 <</if>>
 
-<<if $brothel+$club+$dairy+$farmyard+$servantsQuarters+$arcade+$schoolroom+$spa+$nursery+$clinic+$masterSuite+$cellblock > 0>>
+<<if $brothel+$club+$dairy+$farmyard+$servantsQuarters+$arcade+$schoolroom+$spa+$nurseryNannies+$clinic+$masterSuite+$cellblock > 0>>
 <br><br>
 <<if $universalRulesAssignsSelfFacility == 1>>
 	Slaves ''are'' permitted to assign themselves to facilities when choosing their assignment. [[Deny self assignment to facilities|Universal Rules][$universalRulesAssignsSelfFacility = 0]]
diff --git a/src/utility/miscWidgets.tw b/src/utility/miscWidgets.tw
index ebd52708d89..840ad99d0b7 100644
--- a/src/utility/miscWidgets.tw
+++ b/src/utility/miscWidgets.tw
@@ -825,7 +825,7 @@ This experience
 <<if $dairy > 0>><<run ValidateFacilityDecoration("dairyDecoration")>><</if>>
 <<if $farmyard > 0>><<run ValidateFacilityDecoration("farmyardDecoration")>><</if>>
 <<if $spa > 0>><<run ValidateFacilityDecoration("spaDecoration")>><</if>>
-<<if $nursery > 0>><<run ValidateFacilityDecoration("nurseryDecoration")>><</if>>
+<<if $nurseryNannies > 0>><<run ValidateFacilityDecoration("nurseryDecoration")>><</if>>
 <<if $clinic > 0>><<run ValidateFacilityDecoration("clinicDecoration")>><</if>>
 <<if $schoolroom > 0>><<run ValidateFacilityDecoration("schoolroomDecoration")>><</if>>
 <<if $cellblock > 0>><<run ValidateFacilityDecoration("cellblockDecoration")>><</if>>
-- 
GitLab