From e13ff1aec7997c6257f81b609df47c6776d61bc5 Mon Sep 17 00:00:00 2001
From: DCoded <dcoded@live.com>
Date: Fri, 21 Dec 2018 10:43:14 -0500
Subject: [PATCH] Removed zoo facility

---
 devNotes/twine JS.txt                         |   75 +-
 slave variables documentation - Pregmod.txt   |   11 -
 src/facilities/farmyard/farmyard.tw           |    8 -
 src/facilities/zoo/zoo.tw                     |   92 --
 src/facilities/zoo/zooReport.tw               | 1069 -----------------
 src/facilities/zoo/zookeeperSelect.tw         |   20 -
 .../zoo/zookeeperSelectWorkaround.tw          |   13 -
 src/gui/Encyclopedia/encyclopedia.tw          |   28 +-
 src/gui/Encyclopedia/encyclopediaWidgets.tw   |    6 +-
 src/init/dummy.tw                             |    2 +-
 src/init/setupVars.tw                         |    4 +-
 src/init/storyInit.tw                         |    9 +-
 src/js/DefaultRules.tw                        |   14 +-
 src/js/assayJS.tw                             |    6 +-
 src/js/assignJS.tw                            |   35 -
 src/js/datatypeCleanupJS.tw                   |    2 -
 src/js/economyJS.tw                           |    4 +-
 src/js/rulesAssistant.tw                      |    7 -
 src/js/rulesAssistantOptions.tw               |    2 -
 src/js/slaveCostJS.tw                         |    5 -
 src/npc/asDump.tw                             |    1 -
 src/npc/descriptions/fAnus.tw                 |    2 -
 src/npc/descriptions/fBoobs.tw                |    2 -
 src/npc/descriptions/fButt.tw                 |    2 -
 src/npc/descriptions/fVagina.tw               |    2 -
 src/pregmod/FSuckle.tw                        |    2 -
 .../JobFulfillmentCenterOrder.tw              |    1 -
 src/pregmod/beastFuck.tw                      |    2 -
 src/pregmod/beastFucked.tw                    |    2 -
 src/pregmod/fDick.tw                          |    2 -
 src/pregmod/pRaped.tw                         |    1 -
 src/pregmod/widgets/assignmentFilterWidget.tw |    4 -
 src/pregmod/widgets/economyWidgets.tw         |   84 --
 src/pregmod/widgets/pregmodBirthWidgets.tw    |   37 -
 src/uncategorized/BackwardsCompatibility.tw   |   27 +-
 src/uncategorized/RESS.tw                     |    3 -
 src/uncategorized/buildingWidgets.tw          |    2 -
 src/uncategorized/costsReport.tw              |   12 +-
 src/uncategorized/endWeek.tw                  |    2 +-
 src/uncategorized/futureSociety.tw            |    6 -
 src/uncategorized/longSlaveDescription.tw     |   15 -
 src/uncategorized/main.tw                     |   12 -
 src/uncategorized/reNickname.tw               |    9 -
 src/uncategorized/recruiterSelect.tw          |    1 -
 src/uncategorized/saRecruitGirls.tw           |    1 -
 src/uncategorized/saRelationships.tw          |   11 -
 src/uncategorized/saRules.tw                  |  525 --------
 src/uncategorized/sellSlave.tw                |    5 -
 src/uncategorized/slaveAssignmentsReport.tw   |   22 -
 src/uncategorized/slaveInteract.tw            |   15 +-
 src/uncategorized/slaveSummary.tw             |   51 +-
 src/uncategorized/storyCaption.tw             |    8 -
 src/uncategorized/surgeryDegradation.tw       |    1 -
 src/uncategorized/universalRules.tw           |    4 +-
 src/utility/birthWidgets.tw                   |   19 -
 src/utility/descriptionWidgetsStyle.tw        |    8 +-
 src/utility/miscWidgets.tw                    |    1 -
 src/utility/slaveCreationWidgets.tw           |   11 -
 58 files changed, 25 insertions(+), 2302 deletions(-)
 delete mode 100644 src/facilities/zoo/zoo.tw
 delete mode 100644 src/facilities/zoo/zooReport.tw
 delete mode 100644 src/facilities/zoo/zookeeperSelect.tw
 delete mode 100644 src/facilities/zoo/zookeeperSelectWorkaround.tw

diff --git a/devNotes/twine JS.txt b/devNotes/twine JS.txt
index b29d5ade39b..09baa867ade 100644
--- a/devNotes/twine JS.txt	
+++ b/devNotes/twine JS.txt	
@@ -1976,7 +1976,7 @@ window.Job = Object.freeze({
 	SERVANT: 'work as a servant', SERVER: 'be a servant', STEWARD: 'be the Stewardess', CLUB: 'serve in the club', DJ: 'be the DJ',
 	JAIL: 'be confined in the cellblock', WARDEN: 'be the Wardeness', CLINIC: 'get treatment in the clinic', NURSE: 'be the Nurse',
 	HGTOY: 'live with your Head Girl', SCHOOL: 'learn in the schoolroom', TEACHER: 'be the Schoolteacher', SPA: 'rest in the spa', ATTEND: 'be the Attendant',
-	NANNY: 'work as a nanny', MATRON: 'be the Matron', FARMYARD: 'work as a farmhand', FARMER: 'be the Farmer', ZOO: 'work in the zoo', ZOOKEEPER: 'be the Zookeeper', REST: 'rest'});
+	NANNY: 'work as a nanny', MATRON: 'be the Matron', FARMYARD: 'work as a farmhand', FARMER: 'be the Farmer', REST: 'rest'});
 window.PersonalAttention = Object.freeze({TRADE: 'trading', WAR: 'warfare', SLAVING: 'slaving', ENGINEERING: 'engineering', MEDICINE: 'medicine', MAID: 'upkeep', HACKING: 'hacking'});
 
 window.getCost = function(array) {
@@ -1990,7 +1990,6 @@ window.getCost = function(array) {
 	var club = State.variables.club;
 	var dairy = State.variables.dairy;
 	var farmyard = State.variables.farmyard;
-	var zoo = State.variables.zoo;
 	var servantsQuarters = State.variables.servantsQuarters;
 	var nursery = State.variables.nursery;
 	var incubator = State.variables.incubator;
@@ -2002,7 +2001,6 @@ window.getCost = function(array) {
 		+ (dairy * facilityCost)
 		+ (nursery * facilityCost)
 		+ (farmyard * facilityCost)
-		+ (zoo * facilityCost)
 		+ (State.variables.incubator * facilityCost * 10);
 	var secExpCost = 0;
 	var soldierMod = 0;
@@ -2768,13 +2766,6 @@ window.RAFacilityRemove = function RAFacilityRemove(slave, rule) {
 		}
 		break;
 
-	case "work in the zoo":
-	if (slave.assignment === rule.setAssignment) {
-		r += `<br>${slave.slaveName} has been removed from ${V.zooName} and has been assigned to ${rule.removalAssignment}.`;
-		assignJob(slave.rule.removalAssignment);
-	}
-	break;
-
 	case "rest in the spa":
 		if (slave.assignment === rule.setAssignment) {
 			r += `<br>${slave.slaveName} has been removed from ${V.spaName} and has been assigned to ${rule.removalAssignment}.`;
@@ -7469,7 +7460,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. Farmer, V.Zookeeper, 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);
 };
 
@@ -8809,7 +8800,6 @@ window.DegradingName = function DegradingName(slave) {
 		"be the Stewardess",
 		"be the Milkmaid",
 		"be the Farmer",
-		"be the Zookeeper",
 		"be the DJ",
 		"be your Concubine",
 		"be the Madam",
@@ -9161,9 +9151,6 @@ window.DegradingName = function DegradingName(slave) {
 			case "be the Farmer":
 				slave.slaveName = jsEither(["Farmhand", "Farmer"]);
 				break;
-			case "be the Zookeeper":
-				slave.slaveName = jsEither(["Zoo", "Zookeeper"]);
-				break;
 			case "be the DJ":
 				slave.slaveName = jsEither(["Bass", "Booth"]);
 				break;
@@ -9727,31 +9714,6 @@ window.assignJob = function assignJob(slave, job) {
 			}
 			break;
 
-		case "work in the zoo":
-		case "zoo":
-			slave.assignment = "work in the zoo";
-			slave.assignmentVisible = 0;
-			V.zooSlaves++;
-			V.ZooiIDs.push(slave.ID);
-			switch (V.zooDecoration) {
-				case "Aztec Revivalist":
-				case "Chinese Revivalist":
-				case "Chattel Religionist":
-				case "Roman Revivalist":
-				case "Edo Revivalist":
-				case "Arabian Revivalist":
-				case "Egyptian Revivalist":
-				case "Supremacist":
-				case "Subjugationist":
-				case "Degradationist":
-					slave.livingRules = "spare";
-					break;
-				default:
-					slave.livingRules = "normal";
-					break;
-			}
-			break;
-
 		case "live with your head girl":
 		case "head girl suite":
 		case "hgsuite":
@@ -9849,7 +9811,6 @@ window.assignJob = function assignJob(slave, job) {
 		case "be the madam":
 		case "be the milkmaid":
 		case "be the farmer":
-		case "be the zookeeper":
 		case "be the nurse":
 		case "be the schoolteacher":
 		case "be the stewardess":
@@ -9954,8 +9915,6 @@ window.removeJob = function removeJob(slave, assignment) {
 			V.Milkmaid = 0;
 		if (V.Farmer !== 0 && slave.ID === V.Farmer.ID)
 			V.Farmer = 0;
-		if (V.Zookeeper !== 0 && slave.ID === V.Zookeeper.ID)
-			V.Zookeeper = 0;
 		if (V.Schoolteacher !== 0 && slave.ID === V.Schoolteacher.ID)
 			V.Schoolteacher = 0;
 		if (V.Attendant !== 0 && slave.ID === V.Attendant.ID)
@@ -10030,13 +9989,6 @@ window.removeJob = function removeJob(slave, assignment) {
 			V.farmyardSlaves--;
 			break;
 
-		case "work in the zoo":
-			case "zoo":
-			slave.assignment = "rest";
-			V.ZooiIDs.delete(slave.ID);
-			V.zooSlaves--;
-			break;
-
 		case "learn in the schoolroom":
 		case "schoolroom":
 			slave.assignment = "rest";
@@ -14810,15 +14762,6 @@ window.DefaultRules = (function() {
 				}
 				break;
 
-			case "work in the zoo":
-				if ((V.zooSlaves < V.zoo && canWalk(slave))) //TODO: rework these requirements
-					break;
-				else {
-					RAFacilityRemove(slave, rule);
-					delete rule.setAssignment;
-				}
-				break;
-
 			case "work as a servant":
 				if ((V.servantsQuartersSlaves < V.servantsQuarters && canSee(slave) && canWalk(slave) && (slave.devotion >= -20 || slave.trust < -20 || (slave.devotion >= -50 && slave.trust <= 20))))
 					break;
@@ -14937,9 +14880,6 @@ window.DefaultRules = (function() {
 					case "work as a farmhand":
 						r += `<br>${slave.slaveName} has been automatically assigned to work in ${V.farmyardName}.`;
 						break;
-					case "work in the zoo":
-						r += `<br>${slave.slaveName} has been automatically assigned to work in ${V.zooName}.`;
-						break;
 					case "work as a servant":
 						r += `<br>${slave.slaveName} has been automatically assigned to work in ${V.servantsQuartersName}.`;
 						break;
@@ -16370,7 +16310,7 @@ window.DefaultRules = (function() {
 		if ((rule.releaseRules !== undefined) && (rule.releaseRules !== "no default setting")) {
 			let _release = 0;
 			if (rule.releaseRules === "restrictive" &&
-				!(["serve the public", "serve in the club", "whore", "work in the brothel", "please you", "serve in the master suite", "be a subordinate slave", "work a glory hole", "be confined in the arcade", "get milked", "work in the dairy", "work as a farmhand", "work in the zoo", "be your Head Girl"].contains(slave.assignment)))
+				!(["serve the public", "serve in the club", "whore", "work in the brothel", "please you", "serve in the master suite", "be a subordinate slave", "work a glory hole", "be confined in the arcade", "get milked", "work in the dairy", "work as a farmhand", "be your Head Girl"].contains(slave.assignment)))
 				_release = 1;
 			else
 				_release = 1;
@@ -17918,7 +17858,6 @@ window.rulesAssistantOptions = (function() {
 				"Arcade": "be confined in the arcade",
 				"Dairy": "work in the dairy",
 				"Farmyard": "work as a farmhand",
-				"Zoo": "work in the zoo",
 				"Servant Quarters": "work as a servant",
 				"Master Suite": "serve in the master suite",
 				"Schoolroom": "learn in the schoolroom",
@@ -20533,7 +20472,6 @@ window.rulesAssistantOptions = (function() {
 			if (V.arcade > 0) items.push(["Arcade", "be confined in the arcade"]);
 			if (V.dairy > 0) items.push(["Dairy", "work in the dairy"]);
 			if (V.farmyard > 0) items.push(["Farmyard", "work as a farmhand"]);
-			if (V.zoo > 0) items.push(["Zoo", "work in the zoo"]);
 			if (V.servantsQuarters > 0) items.push(["Servant Quarters", "work as a servant"]);
 			if (V.masterSuite > 0) items.push(["Master Suite", "serve in the master suite"]);
 			if (V.schoolroom > 0) items.push(["Schoolroom", "learn in the schoolroom"]);
@@ -37800,8 +37738,6 @@ window.FacilityNameCleanup = function FacilityNameCleanup() {
 	V.incubatorNameCaps = V.incubatorNameCaps || "The Incubator";
 	V.farmyardName = V.farmyardName || "the Farmyard";
 	V.farmyardNameCaps = V.farmyardNameCaps || "The Farmyard";
-	V.zooName = V.zooName || "the Zoo";
-	V.zooNameCaps = V.zooNameCaps || "The Zoo";
 };
 
 /*:: Slave Cost JS [script]*/
@@ -39607,8 +39543,6 @@ window.slaveCost = (function() {
 				multiplier += 0.1;
 			} else if (setup.farmerCareers.includes(slave.career)) {
 				multiplier += 0.1;
-			} else if (setup.zookeeperCareers.includes(slave.career)) {
-				multiplier += 0.1;
 			} else if (setup.madamCareers.includes(slave.career)) {
 				multiplier += 0.1;
 			} else if (setup.DJCareers.includes(slave.career)) {
@@ -39663,9 +39597,6 @@ window.slaveCost = (function() {
 		if (!setup.farmerCareers.includes(slave.career) && slave.skillFA >= V.masteredXP) {
 			multiplier += 0.1;
 		}
-		if (!setup.zookeeperCareers.includes(slave.career) && slave.skillZO >= V.masteredXP) {
-			multiplier += 0.1;
-		}
 		if (!setup.madamCareers.includes(slave.career) && slave.skillMD >= V.masteredXP) {
 			multiplier += 0.1;
 		}
diff --git a/slave variables documentation - Pregmod.txt b/slave variables documentation - Pregmod.txt
index 2cd27b03d48..ad48108bcd7 100644
--- a/slave variables documentation - Pregmod.txt	
+++ b/slave variables documentation - Pregmod.txt	
@@ -218,9 +218,6 @@ $farmerCareers
 "a rancher"
 "a farmhand"
 
-$zookeeperCareers
-"a zookeeper"
-
 $stewardessCareers
 "a secretary"
 "a barista"
@@ -649,7 +646,6 @@ slave's assignment
 		"work as a servant" (Servants' Quarters )
 		"work in the dairy"
 		"work as a farmhand"
-		"work in the zoo"
 		"serve in the club"
 		"serve in the master suite"
 		"work in the brothel"
@@ -665,7 +661,6 @@ slave's assignment
 		"be the Stewardess"
 		"be the Milkmaid"
 		"be the Farmer"
-		"be the Zookeeper"
 		"be the DJ"
 		"be your Concubine"
 		"be the Madam"
@@ -3393,12 +3388,6 @@ Her skill as a farmer
 accepts int
 default cap is 200
 
-skillZO:
-
-Her skill as a zookeeper
-accepts int
-default cap is 200
-
 skillWA:
 Her skill as a wardeness
 accepts int
diff --git a/src/facilities/farmyard/farmyard.tw b/src/facilities/farmyard/farmyard.tw
index c8777c3d310..9a23e88275e 100644
--- a/src/facilities/farmyard/farmyard.tw
+++ b/src/facilities/farmyard/farmyard.tw
@@ -143,14 +143,6 @@ $farmyardNameCaps is an oasis of growth in the midst of the jungle of steel and
 	<<resetAssignmentFilter>>
 </span><br>
 
-<span id="zoo">
-<<if $zoo == 0>>
-	[[Build a zoo here|Farmyard][$zoo = 5]]
-<<else>>
-	You have built a [[zoo|Zoo]] in $farmyardName.
-<</if>>
-</span>
-
 <br><br>
 
 <<if $farmyardUpgrade.pump == 0>>
diff --git a/src/facilities/zoo/zoo.tw b/src/facilities/zoo/zoo.tw
deleted file mode 100644
index 1d56a36ddde..00000000000
--- a/src/facilities/zoo/zoo.tw
+++ /dev/null
@@ -1,92 +0,0 @@
-:: Zoo [nobr]
-
-<<set $nextButton = "Back to Main", $nextLink = "Main", $returnTo = "Zoo", $showEncyclopedia = 1, $encyclopedia = "Zoo">>
-
-<<if $zooName != "the Zoo">>
-	<<set $zooNameCaps = $zooName.replace("the ", "The ")>>
-<</if>>
-
-<<if $zooSlaves > 2>>
-	$zooNameCaps is bustling with activity. Zookeepers are hurrying about, on their way to feed animals and maintain farming equipment.
-<<elseif $zooSlaves > 0>>
-	$zooNameCaps is working steadily. Zookeepers are moving about, looking after the animals and crops.
-<<elseif $Zookeeper != 0>>
-	$Zookeeper.slaveName is alone in $zooName, and has nothing to do but look after the animals and crops.
-<<else>>
-	$zooNameCaps is empty and quiet. <<link "Decommission the Zoo" "Main">><<set $zooName = "the Zoo", $zoo = 0, $zooSlaves = 0, $zooDecoration = "standard">>
-	<<set _zoo = $sectors.findIndex(function(s) { return s.type == "Zoo"; })>>
-	<<if _zoo != -1>>
-		<<set $sectors[_zoo].type = "Markets">>
-	<</if>>
-	<</link>>
-<</if>>
-
-<<if $zooSlaves > 0>>
-	<<if $Zookeeper != 0>><<set _X = 1>><<else>><<set _X = 0>><</if>>
-	<<set _NewPop = $zooSlaves+$dormitoryPopulation+_X>>
-	<<link "Remove all slaves" "Zoo">>
-		<<if $Zookeeper != 0>>
-			<<= assignJob($Zookeeper, "rest")>>
-		<</if>>
-		<<for $zooSlaves > 0>>
-			<<= assignJob($slaves[$slaveIndices[$ZooiIDs[0]]], "rest")>>
-		<</for>>
-	<</link>>
-	<<if _NewPop > $dormitory>>
-		@@.red;Dormitory capacity will be exceeded.@@
-	<</if>>
-<</if>>
-
-<<set _Tmult0 = Math.trunc($zoo*1000*$upgradeMultiplierArcology)>>
-<br>It can support $zoo farmhands. Currently there <<if $zooSlaves == 1>>is<<else>>are<</if>> $zooSlaves farmhand<<if $zooSlaves != 1>>s<</if>> at $zooName.
-[[Expand the zoo|Zoo][$cash -= _Tmult0, $zoo += 5, $PC.engineering += .1]] //Costs <<print cashFormat(_Tmult0)>> and will increase upkeep costs//
-
-<br><br>
-<<if $Zookeeper != 0>>
-<<set $Flag = 2>>
-	<<include "Slave Summary">>
-<<else>>
-	You do not have a slave serving as a Zookeeper. [[Appoint one|Zookeeper Select]]
-<</if>>
-
-<br><br>
-<<if ($zoo <= $zooSlaves)>>
-	''$zooNameCaps is full and cannot hold any more slaves''
-<<elseif ($slaves.length > $zooSlaves)>>
-	<<link "''Send a slave to $zooName''">>
-		<<replace #ComingGoing>>
-			<<resetAssignmentFilter>>
-			<<set $Flag = 0>>
-			<<include "Slave Summary">>
-		<</replace>>
-	<</link>>
-<</if>>
-
-<<if $zooSlaves > 0>>
-	| <<link "''Bring a slave out of $zooName''">>
-		<<replace #ComingGoing>>
-			<<zooAssignmentFilter>>
-			<<set $Flag = 1>>
-			<<include "Slave Summary">>
-			<<resetAssignmentFilter>>
-		<</replace>>
-	<</link>>
-<<else>>
-	<br><br>//$zooNameCaps is empty for the moment.<br>//
-<</if>>
-
-<br><br>
-<<assignmentFilter>>
-<span id="ComingGoing">
-	<<zooAssignmentFilter>>
-	<<set $Flag = 1>>
-	<<include "Slave Summary">>
-	<<resetAssignmentFilter>>
-</span><br>
-
-<br><br>
-
-//This is still very WIP//
-
-<br><br>
-<br><br>Rename $zooName: <<textbox "$zooName" $zooName "Zoo">> //Use a noun or similar short phrase//
\ No newline at end of file
diff --git a/src/facilities/zoo/zooReport.tw b/src/facilities/zoo/zooReport.tw
deleted file mode 100644
index 5b27b6ae003..00000000000
--- a/src/facilities/zoo/zooReport.tw
+++ /dev/null
@@ -1,1069 +0,0 @@
-:: Zoo Report [nobr]
-
-/* TODO: all of this */
-
-//Currently WIP//
-
-<span id="dairystats">
-</span>
-
-<<set _MMWorkout = 0>>
-
-<<SlaveSort $DairyiIDs>>
-<<set _DL = $DairyiIDs.length, $dairySlaves = _DL, _SL = $slaves.length, $bioreactorPerfectedID = 0, $legendaryBallsID = 0, $legendaryCowID = 0, $milkmaidDevotionBonus = 1, $milkmaidHealthBonus = 0, $milkmaidTrustBonus = 1, $milkmaidDevotionThreshold = 45, $milkmaidTrustThreshold = 35, _anusesStretched = 0, _birthers = 0, _births = 0, _cumWeek = 0, _femCumWeek = 0, _FLsFetish = 0, _milkWeek = 0, _balltacular = 0, _boobtacular = 0, _careerForgotten = 0, _chemMinor = 0, _chemSevere = 0, _desterilized = 0, _hatefilled = 0, _horrified = 0, $intelligenceLost = 0, _mindbroken = 0, _profits = 0, _skillsLost = 0, _stupidified = 0, _vaginasStretched = 0>>
-
-<!-- Statistics gathering -->
-<<set $facility = $facility || {}, $facility.dairy = initFacilityStatistics($facility.dairy)>>
-
-<<if ($Milkmaid != 0)>>
-	<<set _FLs = $slaveIndices[$Milkmaid.ID]>>
-
-	<<if $slaves[_FLs].health < 90>>
-		<<set $slaves[_FLs].curatives = 2>>
-	<<else>>
-		<<set $slaves[_FLs].curatives = 0>>
-	<</if>>
-	<<if ($slaves[_FLs].diet != "healthy")>>
-		<<set ($slaves[_FLs].diet = "healthy")>>
-	<</if>>
-	<<if $slaves[_FLs].devotion <= 60>>
-		<<set $slaves[_FLs].devotion += 5>>
-	<</if>>
-	<<if $slaves[_FLs].trust < 60>>
-		<<set $slaves[_FLs].trust += 5>>
-	<</if>>
-	<<if ($slaves[_FLs].oralSkill > 0)>>
-		<<set $milkmaidDevotionBonus += Math.trunc($slaves[_FLs].oralSkill/30)>>
-	<</if>>
-	<<if ($slaves[_FLs].health >= 80)>>
-		<<set $milkmaidHealthBonus++>>
-	<</if>>
-	<<if $slaves[_FLs].livingRules != "luxurious">>
-		<<set $slaves[_FLs].livingRules = "luxurious">>
-	<</if>>
-	<<if $slaves[_FLs].fetishStrength <= 95>>
-		<<if $slaves[_FLs].fetish != "boobs">>
-			<<if fetishChangeChance($slaves[_FLs]) > random(0,100)>>
-				<<set _FLsFetish = 1, $slaves[_FLs].fetishKnown = 1, $slaves[_FLs].fetish = "boobs">>
-			<</if>>
-		<<elseif $slaves[_FLs].fetishKnown == 0>>
-			<<set _FLsFetish = 1, $slaves[_FLs].fetishKnown = 1>>
-		<<else>>
-			<<set _FLsFetish = 2, $slaves[_FLs].fetishStrength += 4>>
-		<</if>>
-	<</if>>
-	<<run getSlaveStatisticData($Milkmaid, $facility.dairy)>>
-	<<set $Milkmaid = $slaves[_FLs], $i = _FLs>>
-	&nbsp;&nbsp;&nbsp;&nbsp;<<= SlaveFullName($Milkmaid)>> is serving as your Milkmaid.
-	<<if $Milkmaid.relationship == -3 && $Milkmaid.devotion > 50>>
-		<<set $milkmaidDevotionBonus += 2, $milkmaidTrustBonus += 2>>
-		$He tries $his best to be your perfect farmwife.
-	<</if>>
-	<<if (_DL > 0) && ($milkmaidImpregnates == 1) && (canPenetrate($Milkmaid)) && $Milkmaid.pubertyXY == 1>>
-		<<set _milkmaidImpregnated = 0>>
-		<<for _dI = 0; _dI < _DL; _dI++>>
-			<<set $i = $slaveIndices[$DairyiIDs[_dI]]>>
-			<<if (canImpreg($slaves[$i], $Milkmaid))>>
-				<<set $slaves[$i].preg = 1, $slaves[$i].pregSource = $Milkmaid.ID, $slaves[$i].pregKnown = 1, $slaves[$i].pregWeek = 1, _milkmaidImpregnated++, $slaves[$i].vaginalCount += 10, $vaginalTotal += 10>>
-				<<set $slaves[$i].pregType = setPregType($slaves[$i])>>
-				<<set WombImpregnate($slaves[$i], $slaves[$i].pregType, $Milkmaid.ID, 1)>>
-			<</if>>
-		<</for>>
-		<<if _milkmaidImpregnated > 0>>
-			It's $his responsibility to keep $his charges pregnant, and $he constantly
-			<<if _milkmaidImpregnated == 1>>
-				breeds the one fertile cow.
-			<<else>>
-				fills the _milkmaidImpregnated cows' cunts with $his cum.
-			<</if>>
-			<<if $Milkmaid.career == "a breeding bull">>
-				$He was conditioned to fill empty wombs, so $he takes a @@.hotpink;deep pleasure@@ in $his job.
-				<<set $slaves[_FLs].devotion++>>
-			<</if>>
-			<<set _Tmult = (_milkmaidImpregnated * 10), $slaves[_FLs].penetrativeCount += _Tmult, $Milkmaid.penetrativeCount += _Tmult, $penetrativeTotal += _Tmult>>
-			<<set $slaves[_FLs].need = 0>>
-		<</if>>
-	<</if>>
-	<<if (_FLsFetish == 1)>>
-		In $his line of work, $he touches more breasts than even you do. $He lives in an atmosphere of quivering, heaving, milky breastflesh; of girls who shudder and moan when $he touches their creamy nipples. $He has @@.lightcoral;become more of a breast girl.@@
-	<<elseif (_FLsFetish == 2)>>
-		It's a hard life, pulling teats and washing cows, but it does @@.lightsalmon;make $him more of a breast fetishist.@@
-	<</if>>
-	<<if ($Milkmaid.muscles > 30)>>
-		<<set $milkmaidHealthBonus++>>
-		$His muscles help $his handle the fattest or most reluctant cow.
-	<</if>>
-	<<if $dairyRestraintsSetting != 2>> /* how much effort the MM must take to force a slave into a stall */
-		<<for _dI = 0; _dI < _DL; _dI++>>
-			<<set $i = $slaveIndices[$DairyiIDs[_dI]]>>
-			<<if $slaves[$i].devotion <= 20>>
-				<<set _MMWorkout++>>
-			<</if>>
-			<<if $slaves[$i].trust < 20>>
-				<<set _MMWorkout++>>
-			<</if>>
-			<<if $slaves[$i].muscles >= 30>>
-				<<set _MMWorkout++>>
-			<</if>>
-			<<if $slaves[$i].weight >= 70>>
-				<<set _MMWorkout++>>
-			<</if>>
-			<<if $slaves[$i].weight >= 160>>
-				<<set _MMWorkout++>>
-			<</if>>
-			<<if $slaves[$i].boobs >= 20000>>
-				<<set _MMWorkout++>>
-			<</if>>
-			<<if $slaves[$i].balls >= 30>>
-				<<set _MMWorkout++>>
-			<</if>>
-			<<if $slaves[$i].belly >= 5000>>
-				<<set _MMWorkout++>>
-			<</if>>
-			<<if !canWalk($slaves[$i])>> /* big bonus if they can't move themselves and are fat as cows */
-				<<if $slaves[$i].weight >= 70>>
-					<<set _MMWorkout += 2>>
-				<</if>>
-				<<if $slaves[$i].weight >= 160>>
-					<<set _MMWorkout += 2>>
-				<</if>>
-				<<if $slaves[$i].boobs >= 20000>>
-					<<set _MMWorkout += 2>>
-				<</if>>
-				<<if $slaves[$i].balls >= 30>>
-					<<set _MMWorkout += 2>>
-				<</if>>
-				<<if $slaves[$i].belly >= 5000>>
-					<<set _MMWorkout += 2>>
-				<</if>>
-			<</if>>
-		<</for>>
-	<</if>>
-	<<if (_MMWorkout > random(1,30)) && $Milkmaid.muscles < 60>>
-		Constantly having to wrestle unruly or aiding heavy cows into their stalls forces $him to @@.lime;build muscle.@@
-		<<set $slaves[_FLs].muscles++>>
-	<</if>>
-	<<if ($Milkmaid.oralSkill > 30)>>
-		$His skilled tongue helps $him keep $his girls happy.
-	<</if>>
-	<<if ($Milkmaid.oralSkill < 90)>>
-		<<set $skillIncrease = 3>>
-		<<OralSkillIncrease $slaves[_FLs]>>
-	<</if>>
-	<<if ($Milkmaid.sexualQuirk == "caring")>>
-		<<set $milkmaidTrustBonus++>>
-		$He's very caring, and does $his best to get the cows to trust $him.
-	<</if>>
-	<<if ($Milkmaid.behavioralQuirk == "funny")>>
-		<<set $milkmaidTrustBonus++>>
-		$He's funny, and does $his best to get the cows to trust $him by keeping them laughing.
-	<</if>>
-	<<if setup.milkmaidCareers.includes($Milkmaid.career)>>
-		<<set $milkmaidHealthBonus++>>
-		$He has career experience dealing with milk animals.
-	<<elseif $Milkmaid.skillFA >= $masteredXP>>
-		<<set $milkmaidHealthBonus++>>
-		$He has experience dealing with milk animals from working for you.
-	<<else>>
-		<<set $slaves[_FLs].skillFA += random(1,Math.ceil(($Milkmaid.intelligence+$Milkmaid.intelligenceImplant)/15) + 8)>>
-	<</if>>
-	<<if ($dairyStimulatorsSetting < 2) && ($Milkmaid.dick > 4) && (canPenetrate($Milkmaid))>>
-		<<for _dI = 0; _dI < _DL; _dI++>>
-			<<set $i = $slaveIndices[$DairyiIDs[_dI]]>>
-			<<if ($slaves[$i].balls > 0) && ($slaves[$i].prostate > 0)>>
-				$He uses $his turgid cock to give prostate stimulation to slaves that need help ejaculating.
-				<<set $slaves[_FLs].need -= 50>>
-				<<break>>
-			<</if>>
-		<</for>>
-	<</if>>
-	<<set $milkmaidDevotionThreshold += (5*$milkmaidDevotionBonus), $milkmaidTrustThreshold += (5*$milkmaidTrustBonus)>>
-	<<for _dI = 0; _dI < _DL; _dI++>>
-		<<set $i = $slaveIndices[$DairyiIDs[_dI]]>>
-		<<if $Milkmaid.rivalryTarget == $slaves[$i].ID>>
-			$He either neglects or harasses $his <<print rivalryTerm($Milkmaid)>>, $slaves[$i].slaveName, making sure $he is unhappy and uncomfortable.
-			<<set $slaves[$i].devotion -= 3, $slaves[$i].trust -= 3>>
-			<<if random(1,100) > 65>>
-				<<set $Milkmaid.rivalry++, $slaves[_FLs].rivalry++, $slaves[$i].rivalry++>>
-			<</if>>
-		<<elseif $Milkmaid.relationshipTarget == $slaves[$i].ID>>
-			$He dotes over $his <<print relationshipTerm($Milkmaid)>>, $slaves[$i].slaveName, making sure $he is happy and comfortable.
-			<<set $slaves[$i].devotion++, $slaves[$i].trust++>>
-		<<elseif $familyTesting == 1 && totalRelatives($slaves[$i]) > 0>>
-			$He pays special attention to $his <<print relativeTerm($Milkmaid.ID,$slaves[$i].ID)>>, $slaves[$i].slaveName, making sure $he is well kept and happy.
-			<<set $slaves[$i].trust++>>
-		<<elseif $Milkmaid.relationTarget == $slaves[$i].ID && $familyTesting == 0>>
-			$He pays special attention to $his $slaves[$i].relation, $slaves[$i].slaveName, making sure $he is well kept and happy.
-			<<set $slaves[$i].trust++>>
-		<</if>>
-		<<if $slaves[$i].prestigeDesc == "$He is remembered for winning best in show as a dairy cow.">>
-			<<if ($slaves[$i].lactation > 0) && (($slaves[$i].boobs-$slaves[$i].boobsImplant) > 6000)>>
-				$He spends extra time with $slaves[$i].slaveName, the well-known cow. $He is fascinated by $slaves[$i].slaveName's massive $slaves[$i].boobs cc breasts and spends extra time massaging and kneading them to maximize production.
-				<<set $slaves[$i].devotion += 3, $slaves[$i].trust += 3>>
-			<<else>>
-				$He is disappointed that the well-known cow $slaves[$i].slaveName<<if ($slaves[$i].lactation == 0)>> isn't producing milk anymore. <<else>>'s breasts have shrunken considerably from their heyday.<</if>>
-			<</if>>
-		<</if>>
-		<<if $slaves[$i].prestigeDesc == "$He is remembered for winning best in show as a cockmilker.">>
-			<<if (($slaves[$i].balls > 6) && ($slaves[$i].dick != 0)) || (($slaves[$i].balls > 4) && ($slaves[$i].dick != 0) && ($slaves[$i].prostate > 1))>>
-				$He spends extra time with $slaves[$i].slaveName, the massive ejaculating cow. $He can't help but massage the cow's dick and testes to stimulate them further and coax more from them.
-				<<set $slaves[$i].devotion += 3, $slaves[$i].trust += 3>>
-			<<else>>
-				$He is disappointed that the (formerly) massive ejaculating cow $slaves[$i].slaveName<<if $slaves[$i].balls == 0 || $slaves[$i].dick == 0>> is incapable of giving cum. <<elseif $slaves[$i].prostate < 2>> no longer possesses a hyperactive prostate. <<else>>'s balls are considerably smaller than at their heyday.<</if>>
-			<</if>>
-		<</if>>
-		<<if $slaves[$i].prestigeDesc == "$He is remembered for winning best in show as a breeder." && $slaves[$i].bellyPreg >= 1500>>
-			$He spends extra time with $slaves[$i].slaveName, the well-known breeder. $Milkmaid.slaveName is fascinated by $his growing pregnancy and popular womb. $He makes sure $his belly and it's occupants are nice and comfortable.
-			<<set $slaves[$i].devotion += 3, $slaves[$i].trust += 3>>
-		<</if>>
-	<</for>>
-<</if>>
-
-<<set _Tadd = ($bioreactorsXY + $bioreactorsXX + $bioreactorsHerm + $bioreactorsBarren)>>
-<<if (_DL + _Tadd > 0)>>
-	<<if ($Milkmaid != 0)>><br><br><</if>>
-	&nbsp;&nbsp;&nbsp;&nbsp;<<if (_DL != 1)>>''There are _DL cows in $dairyName.''<<else>>''There is one cow in $dairyName.''<</if>>
-	<<if ($dairyRestraintsSetting > 1)>>
-		The facility functions as an industrial slave products factory.
-	<</if>>
-	<<if (_Tadd > 0)>>
-		_Tadd milking machines have permanent biological components, making a total of <<print _Tadd + _DL>> milk-producing bodies.
-	<</if>>
-<</if>>
-
-<<if ($Milkmaid != 0)>>
-	<<set $i = _FLs>> /* apply following SA passages to facility leader */
-	<<if $showEWD != 0>>
-		<br><br>
-		/* 000-250-006 */
-		<<if $seeImages && $seeReportImages>>
-		<div class="imageRef tinyImg">
-			<<SlaveArt $slaves[_FLs] 0 0>>
-		</div>
-		<</if>>
-		/* 000-250-006 */
-		''__@@.pink;<<= SlaveFullName($slaves[_FLs])>>@@__'' is serving as your Milkmaid.
-		<br>&nbsp;&nbsp;&nbsp;
-		<<= saChoosesOwnClothes($slaves[$i])>>
-		<<include "SA rules">>
-		<<include "SA diet">>
-		<<include "SA long term effects">>
-		<<include "SA drugs">>
-		<<include "SA relationships">>
-		<<include "SA rivalries">>
-		<br><<include "SA devotion">>
-	<<else>>
-		<<silently>>
-		<<set _chosenClothes = saChoosesOwnClothes($slaves[$i])>>
-		<<include "SA rules">>
-		<<include "SA diet">>
-		<<include "SA long term effects">>
-		<<include "SA drugs">>
-		<<include "SA relationships">>
-		<<include "SA rivalries">>
-		<<include "SA devotion">>
-		<</silently>>
-	<</if>>
-	<<set $Milkmaid = $slaves[_FLs]>>
-<</if>>
-
-<<set _oldCash = $cash>>
-<<for _dI = 0; _dI < _DL; _dI++>>
-	<<set $i = $slaveIndices[$DairyiIDs[_dI]]>>
-	/* Special attention section */
-	<<if ($legendaryCowID == 0) && ($slaves[$i].lactation > 0) && (($slaves[$i].boobs-$slaves[$i].boobsImplant) > 6000) && ($slaves[$i].devotion > 50) && ($slaves[$i].prestige == 0)>>
-		<<set $legendaryCowID = $slaves[$i].ID>>
-	<</if>>
-	<<if ($legendaryBallsID == 0) && ($slaves[$i].dick != 0) && ($slaves[$i].balls > 5 || ($slaves[$i].balls > 4 && $slaves[$i].prostate > 1)) && ($slaves[$i].devotion > 50) && ($slaves[$i].prestige == 0)>>
-		<<set $legendaryBallsID = $slaves[$i].ID>>
-	<</if>>
-
-	/* Perform facility based rule changes */
-	<<if ($dairySlimMaintain == 0)>>
-		<<if $dairyWeightSetting == 0>>
-			<<if $slaves[$i].weight <= 30>>
-				<<set $slaves[$i].diet = "fattening">>
-			<<else>>
-				<<set $slaves[$i].diet = "healthy">>
-			<</if>>
-		<<elseif $dairyWeightSetting == 1>>
-			<<if $slaves[$i].weight <= 95>>
-				<<set $slaves[$i].diet = "fattening">>
-			<<else>>
-				<<set $slaves[$i].diet = "healthy">>
-			<</if>>
-		<<elseif $dairyWeightSetting == 2>>
-			<<if $slaves[$i].weight <= 130>>
-				<<set $slaves[$i].diet = "fattening">>
-			<<else>>
-				<<set $slaves[$i].diet = "healthy">>
-			<</if>>
-		<<elseif $dairyWeightSetting == 3>>
-			<<if $slaves[$i].weight <= 160>>
-				<<set $slaves[$i].diet = "fattening">>
-			<<else>>
-				<<set $slaves[$i].diet = "healthy">>
-			<</if>>
-		<<elseif $dairyWeightSetting == 4>>
-			<<if $slaves[$i].weight <= 195>>
-				<<set $slaves[$i].diet = "fattening">>
-			<<else>>
-				<<set $slaves[$i].diet = "healthy">>
-			<</if>>
-		<<elseif $dairyRestraintsSetting > 1>>
-			<<set $slaves[$i].diet = "healthy">>
-		<</if>>
-	<<elseif $slaves[$i].weight > 10>>
-		<<set $slaves[$i].diet = "restricted">>
-	<<elseif ($slaves[$i].diet == "fattening") || $slaves[$i].diet == "healthy" || ($dairyRestraintsSetting > 1)>>
-		<<set $slaves[$i].diet = "healthy">>
-	<</if>>
-	<<if $dairyRestraintsSetting > 1>>
-		<<set $slaves[$i].collar = "none", $slaves[$i].choosesOwnClothes = 0, $slaves[$i].clothes = "no clothing", $slaves[$i].buttplug = "none", $slaves[$i].vaginalAccessory = "none", $slaves[$i].dickAccessory = "none">>
-	<</if>>
-	<<switch $dairyDecoration>>
-	<<case "Roman Revivalist" "Aztec Revivalist" "Chinese Revivalist" "Chattel Religionist" "Edo Revivalist" "Arabian Revivalist" "Egyptian Revivalist" "Supremacist" "Subjugationist" "Degradationist">>
-		<<set $slaves[$i].livingRules = "spare">>
-	<<default>>
-		<<set $slaves[$i].livingRules = "normal">>
-	<</switch>>
-	<<if $dairyPregSetting > 0>>
-		<<set $reservedChildren = FetusGlobalReserveCount("incubator")>>
-		<<set $reservedChildrenNursery = FetusGlobalReserveCount("nursery")>>
-		<<set $slaves[$i].reservedChildren = 0>>
-		<<set $slaves[$i].reservedChildrenNursery = 0>>
-	<</if>>
-
-	/* General End of Week effects */
-	<<if $showEWD != 0>>
-		<br><br>
-		/* 000-250-006 */
-		<<if $seeImages && $seeReportImages>>
-		<div class="imageRef tinyImg">
-			<<SlaveArt $slaves[$i] 0 0>>
-		</div>
-		<</if>>
-		/* 000-250-006 */
-		''__@@.pink;<<= SlaveFullName($slaves[$i])>>@@__''
-		<<if $slaves[$i].choosesOwnAssignment == 2>>
-			<<include "SA chooses own job">>
-		<<else>>
-			is serving as a cow in $dairyName.
-		<</if>>
-		<br>&nbsp;&nbsp;&nbsp;&nbsp;$He <<include "SA get milked">>
-		<br>&nbsp;&nbsp;&nbsp;
-		<<include "SA rules">>
-		<<include "SA diet">>
-		<<include "SA long term effects">>
-		<<include "SA drugs">>
-		<<include "SA relationships">>
-		<<include "SA rivalries">>
-		<br><<include "SA devotion">>
-	<<else>>
-		<<silently>>
-		<<include "SA chooses own job">>
-		<<include "SA get milked">>
-		<<include "SA rules">>
-		<<include "SA diet">>
-		<<include "SA long term effects">>
-		<<include "SA drugs">>
-		<<include "SA relationships">>
-		<<include "SA rivalries">>
-		<<include "SA devotion">>
-		<</silently>>
-	<</if>>
-	<<set _milkWeek += $milk, _cumWeek += $cum>>
-
-	/* Facility Specific End of Week effects */
-	<<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>>
-		<<set $slaves[$i].devotion -= 5, $slaves[$i].trust -= 5>>
-	<</if>>
-	<<if ($slaves[$i].health < -80)>>
-		<<set $slaves[$i].health += 20>>
-	<<elseif ($slaves[$i].health < -40)>>
-		<<set $slaves[$i].health += 10>>
-	<<elseif ($slaves[$i].health < 0)>>
-		<<set $slaves[$i].health += 7>>
-	<<elseif ($slaves[$i].health < 90)>>
-		<<set $slaves[$i].health += 3>>
-	<</if>>
-	<<if ($slaves[$i].inflation > 0)>>
-		<<set $slaves[$i].inflation = 0, $slaves[$i].inflationType = "none", $slaves[$i].inflationMethod = 0, $slaves[$i].milkSource = 0>>
-		<<run SetBellySize($slaves[$i])>>
-	<</if>>
-	<<if ($slaves[$i].lactation > 0) && (($dairySlimMaintain == 0) || ($slaves[$i].boobs > 700))>>
-		<<if ($slaves[$i].boobs < 2000)>>
-			<<set _growth = 100>>
-		<<elseif ($slaves[$i].boobs < 5000)>>
-			<<set _growth = 50>>
-		<<elseif ($slaves[$i].boobs < 10000)>>
-			<<set _growth = 25>>
-		<<else>>
-			<<set _growth = 0>>
-		<</if>>
-		<<if ($slaves[$i].geneMods.NCS == 1)>>
-			<<set _growth = Math.trunc(_growth/2)>>
-		<</if>>
-		<<set $slaves[$i].boobs += _growth>>
-	<</if>>
-	<<if $slaves[$i].prostate == 1>>
-		<<set $slaves[$i].prostate = 2, $slaves[$i].health -= 10, $cash -= $surgeryCost>>
-	<</if>>
-	<<if $slaves[$i].vasectomy == 1>>
-		<<set $slaves[$i].vasectomy = 0, $slaves[$i].health -= 10, $cash -= $surgeryCost>>
-	<</if>>
-	<<if ($dairySlimMaintain == 0)>>
-		<<if ($slaves[$i].lactation < 2) && ($slaves[$i].boobs > 300 || $slaves[$i].dick == 0 || $slaves[$i].lactation == 1 || $dairyImplantsSetting == 1) && $dairyImplantsSetting != 2>>
-			<<set $slaves[$i].lactation = 2, $slaves[$i].health -= 10, $cash -= $surgeryCost>>
-		<</if>>
-	<</if>>
-	<<if ($dairyFeedersUpgrade == 1) && ($dairyFeedersSetting > 0)>>
-		<<if ($dairySlimMaintain == 0)>>
-			<<if ($slaves[$i].balls == 0)>>
-				<<set $slaves[$i].hormones = 2>>
-			<</if>>
-		<<elseif $slaves[$i].diet == "fattening">>
-			<<set $slaves[$i].weight += 2>>
-		<</if>>
-		<<if ($slaves[$i].health < 75)>>
-			<<set $slaves[$i].health += 25>>
-		<<else>>
-			<<if ($dairySlimMaintain == 0) && $slaves[$i].lactation > 0>>
-				<<if $dairyFeedersSetting > 1 && $dairyStimulatorsSetting > 0>>
-					<<if $slaves[$i].boobs < 50000>>
-						<<if $arcologies[0].FSAssetExpansionistResearch == 1>>
-							<<if ($slaves[$i].boobs < 2000)>>
-								<<set _growth = 75*Math.trunc(($injectionUpgrade*2)+$dairyFeedersSetting+$dairyRestraintsSetting+((50)/4))>>
-							<<elseif ($slaves[$i].boobs < 5000)>>
-								<<set _growth = 50*Math.trunc(($injectionUpgrade*2)+$dairyFeedersSetting+$dairyRestraintsSetting+((50)/4))>>
-							<<else>>
-								<<set _growth = 25*Math.trunc(($injectionUpgrade*2)+$dairyFeedersSetting+$dairyRestraintsSetting+((50)/4))>>
-							<</if>>
-						<<else>>
-							<<set _growth = 25*Math.trunc(($injectionUpgrade*2)+$dairyFeedersSetting+$dairyRestraintsSetting+((50-$slaves[$i].physicalAge)/4))>>
-						<</if>>
-						<<if $slaves[$i].boobs <= 20000 && $slaves[$i].boobs+_growth > 20000>>
-							<<set _boobtacular++>>
-						<</if>>
-						<<if ($slaves[$i].geneMods.NCS == 1)>>
-							<<set _growth = Math.trunc(_growth/2)>>
-						<</if>>
-						<<set $slaves[$i].boobs += _growth>>
-					<<else>>
-						<<set $slaves[$i].boobs = 50000>>
-					<</if>>
-				<<elseif $dairyFeedersSetting > 0 && $dairyStimulatorsSetting > 0>>
-					<<if $slaves[$i].boobs < 25000>>
-						<<if $arcologies[0].FSAssetExpansionistResearch == 1>>
-							<<if ($slaves[$i].boobs < 2000)>>
-								<<set _growth = 75*Math.trunc(($injectionUpgrade*2)+$dairyFeedersSetting+$dairyRestraintsSetting+((50)/4))>>
-							<<elseif ($slaves[$i].boobs < 5000)>>
-								<<set _growth = 50*Math.trunc(($injectionUpgrade*2)+$dairyFeedersSetting+$dairyRestraintsSetting+((50)/4))>>
-							<<else>>
-								<<set _growth = 25*Math.trunc(($injectionUpgrade*2)+$dairyFeedersSetting+$dairyRestraintsSetting+((50)/4))>>
-							<</if>>
-						<<else>>
-							<<set _growth = 25*Math.trunc(($injectionUpgrade*2)+$dairyFeedersSetting+$dairyRestraintsSetting+((50-$slaves[$i].physicalAge)/4))>>
-						<</if>>
-						<<if $slaves[$i].boobs <= 20000 && $slaves[$i].boobs+_growth > 20000>>
-							<<set _boobtacular++>>
-						<</if>>
-						<<if ($slaves[$i].geneMods.NCS == 1)>>
-							<<set _growth = Math.trunc(_growth/2)>>
-						<</if>>
-						<<set $slaves[$i].boobs += _growth>>
-					<</if>>
-				<<elseif $dairyFeedersSetting > 1>>
-					<<if $slaves[$i].boobs < 10000>>
-						<<if $arcologies[0].FSAssetExpansionistResearch == 1>>
-							<<if ($slaves[$i].boobs < 2000)>>
-								<<set _growth = 75*Math.trunc(($injectionUpgrade*2)+$dairyFeedersSetting+$dairyRestraintsSetting+((50)/4))>>
-							<<elseif ($slaves[$i].boobs < 5000)>>
-								<<set _growth = 50*Math.trunc(($injectionUpgrade*2)+$dairyFeedersSetting+$dairyRestraintsSetting+((50)/4))>>
-							<<else>>
-								<<set _growth = 25*Math.trunc(($injectionUpgrade*2)+$dairyFeedersSetting+$dairyRestraintsSetting+((50)/4))>>
-							<</if>>
-						<<else>>
-							<<set _growth = 25*Math.trunc(($injectionUpgrade*2)+$dairyFeedersSetting+$dairyRestraintsSetting+((50-$slaves[$i].physicalAge)/4))>>
-						<</if>>
-						<<if $slaves[$i].boobs <= 20000 && $slaves[$i].boobs+_growth > 20000>>
-							<<set _boobtacular++>>
-						<</if>>
-						<<if ($slaves[$i].geneMods.NCS == 1)>>
-							<<set _growth = Math.trunc(_growth/2)>>
-						<</if>>
-						<<set $slaves[$i].boobs += _growth>>
-					<</if>>
-				<<else>>
-					<<if $slaves[$i].boobs < 5000>>
-						<<if $arcologies[0].FSAssetExpansionistResearch == 1>>
-							<<if ($slaves[$i].boobs < 2000)>>
-								<<set _growth = 75*Math.trunc(($injectionUpgrade*2)+$dairyFeedersSetting+$dairyRestraintsSetting+((50)/4))>>
-							<<elseif ($slaves[$i].boobs < 5000)>>
-								<<set _growth = 50*Math.trunc(($injectionUpgrade*2)+$dairyFeedersSetting+$dairyRestraintsSetting+((50)/4))>>
-							<<else>>
-								<<set _growth = 25*Math.trunc(($injectionUpgrade*2)+$dairyFeedersSetting+$dairyRestraintsSetting+((50)/4))>>
-							<</if>>
-						<<else>>
-							<<set _growth = 25*Math.trunc(($injectionUpgrade*2)+$dairyFeedersSetting+$dairyRestraintsSetting+((50-$slaves[$i].physicalAge)/4))>>
-						<</if>>
-						<<if $slaves[$i].boobs <= 20000 && $slaves[$i].boobs+_growth > 20000>>
-							<<set _boobtacular++>>
-						<</if>>
-						<<if ($slaves[$i].geneMods.NCS == 1)>>
-							<<set _growth = Math.trunc(_growth/2)>>
-						<</if>>
-						<<set $slaves[$i].boobs += _growth>>
-					<</if>>
-				<</if>>
-			<</if>>
-			<<if ($slaves[$i].balls > 0)>>
-				<<if $arcologies[0].FSAssetExpansionistResearch == 1>>
-					<<if ($slaves[$i].geneMods.NCS == 0) && ($slaves[$i].balls < 125)>>
-						<<set $slaves[$i].balls++>>
-					<<elseif ($slaves[$i].geneMods.NCS == 1) && ($slaves[$i].balls < 125) && (random(1,600) > (30+(10*$slaves[$i].balls)-(10*$dairyRestraintsSetting)-($injectionUpgrade*10)))>>
-						<<set $slaves[$i].balls++>>
-					<</if>>
-					<<if ($slaves[$i].balls == 125)>>
-						<<set _balltacular++>>
-					<</if>>
-				<<elseif ($slaves[$i].balls < 10)>>
-					<<if ($slaves[$i].geneMods.NCS == 0) && (random(1,100) > (40+(10*$slaves[$i].balls)-(10*$dairyRestraintsSetting)-($injectionUpgrade*10)))>>
-						<<set $slaves[$i].balls++>>
-					<<elseif ($slaves[$i].geneMods.NCS == 1) && ($slaves[$i].balls < 125) && (random(1,50) > (40+(10*$slaves[$i].balls)-(10*$dairyRestraintsSetting)-($injectionUpgrade*10)))>>
-						<<set $slaves[$i].balls++>>
-					<</if>>
-					<<if ($slaves[$i].balls == 10)>>
-						<<set _balltacular++>>
-					<</if>>
-				<</if>>
-				<<if $slaves[$i].dick > 0>>
-					<<if $slaves[$i].dick < 10>>
-						<<if (($slaves[$i].geneMods.NCS == 0) && (random(1,100) > (40+(10*$slaves[$i].dick)-(10*$dairyRestraintsSetting)-($injectionUpgrade*10))))>>
-							<<set $slaves[$i].dick++>>
-						<<elseif (($slaves[$i].geneMods.NCS == 1) && (random(1,50) > (40+(10*$slaves[$i].dick)-(10*$dairyRestraintsSetting)-($injectionUpgrade*10))))>>
-							<<set $slaves[$i].dick++>>
-						<</if>>
-					<</if>>
-				<</if>>
-			<</if>>
-		<</if>>
-	<</if>> /* closes ($dairyFeedersUpgrade == 1) && ($dairyFeedersSetting > 0) */
-	<<if ($dairyStimulatorsUpgrade == 1) && $dairyStimulatorsSetting > 0>>
-		<<if ($dairyStimulatorsSetting > 1) && ($slaves[$i].anus < 4)>>
-			<<set $slaves[$i].anus++>>
-			<<if ($slaves[$i].anus == 4)>>
-				<<set _anusesStretched++>>
-			<</if>>
-		<<elseif ($slaves[$i].anus < 3)>>
-			<<set $slaves[$i].anus++>>
-		<</if>>
-		<<if ($slaves[$i].health < 60)>>
-			<<set $slaves[$i].health += 20>>
-		<<elseif $dairySlimMaintain == 0 && $slaves[$i].lactation > 0>>
-			<<if $dairyFeedersSetting > 1>>
-				<<if $slaves[$i].boobs < 50000>>
-					<<if $arcologies[0].FSAssetExpansionistResearch == 1>>
-						<<if ($slaves[$i].boobs < 2000)>>
-							<<set _growth = 75*Math.trunc(($injectionUpgrade*2)+$dairyFeedersSetting+$dairyRestraintsSetting+((50)/4))>>
-						<<elseif ($slaves[$i].boobs < 5000)>>
-							<<set _growth = 50*Math.trunc(($injectionUpgrade*2)+$dairyFeedersSetting+$dairyRestraintsSetting+((50)/4))>>
-						<<else>>
-							<<set _growth = 25*Math.trunc(($injectionUpgrade*2)+$dairyFeedersSetting+$dairyRestraintsSetting+((50)/4))>>
-						<</if>>
-					<<else>>
-						<<set _growth = 25*Math.trunc(($injectionUpgrade*2)+$dairyFeedersSetting+$dairyRestraintsSetting+((50-$slaves[$i].physicalAge)/4))>>
-					<</if>>
-					<<if $slaves[$i].boobs <= 20000 && $slaves[$i].boobs+_growth > 20000>>
-						<<set _boobtacular++>>
-					<</if>>
-					<<if ($slaves[$i].geneMods.NCS == 1)>>
-						<<set _growth = Math.trunc(_growth/2)>>
-					<</if>>
-					<<set $slaves[$i].boobs += _growth>>
-				<</if>>
-			<<elseif $dairyFeedersSetting > 0>>
-				<<if $slaves[$i].boobs < 25000>>
-					<<if $arcologies[0].FSAssetExpansionistResearch == 1>>
-						<<if ($slaves[$i].boobs < 2000)>>
-							<<set _growth = 75*Math.trunc(($injectionUpgrade*2)+$dairyFeedersSetting+$dairyRestraintsSetting+((50)/4))>>
-						<<elseif ($slaves[$i].boobs < 5000)>>
-							<<set _growth = 50*Math.trunc(($injectionUpgrade*2)+$dairyFeedersSetting+$dairyRestraintsSetting+((50)/4))>>
-						<<else>>
-							<<set _growth = 25*Math.trunc(($injectionUpgrade*2)+$dairyFeedersSetting+$dairyRestraintsSetting+((50)/4))>>
-						<</if>>
-					<<else>>
-						<<set _growth = 25*Math.trunc(($injectionUpgrade*2)+$dairyFeedersSetting+$dairyRestraintsSetting+((50-$slaves[$i].physicalAge)/4))>>
-					<</if>>
-					<<if $slaves[$i].boobs <= 20000 && $slaves[$i].boobs+_growth > 20000>>
-						<<set _boobtacular++>>
-					<</if>>
-					<<if ($slaves[$i].geneMods.NCS == 1)>>
-						<<set _growth = Math.trunc(_growth/2)>>
-					<</if>>
-					<<set $slaves[$i].boobs += _growth>>
-				<</if>>
-			<<else>>
-				<<if $slaves[$i].boobs < 10000>>
-					<<if $arcologies[0].FSAssetExpansionistResearch == 1>>
-						<<if ($slaves[$i].boobs < 2000)>>
-							<<set _growth = 75*Math.trunc(($injectionUpgrade*2)+$dairyFeedersSetting+$dairyRestraintsSetting+((50)/4))>>
-						<<elseif ($slaves[$i].boobs < 5000)>>
-							<<set _growth = 50*Math.trunc(($injectionUpgrade*2)+$dairyFeedersSetting+$dairyRestraintsSetting+((50)/4))>>
-						<<else>>
-							<<set _growth = 25*Math.trunc(($injectionUpgrade*2)+$dairyFeedersSetting+$dairyRestraintsSetting+((50)/4))>>
-						<</if>>
-					<<else>>
-						<<set _growth = 25*Math.trunc(($injectionUpgrade*2)+$dairyFeedersSetting+$dairyRestraintsSetting+((50-$slaves[$i].physicalAge)/4))>>
-					<</if>>
-					<<if $slaves[$i].boobs <= 20000 && $slaves[$i].boobs+_growth > 20000>>
-						<<set _boobtacular++>>
-					<</if>>
-					<<if ($slaves[$i].geneMods.NCS == 1)>>
-						<<set _growth = Math.trunc(_growth/2)>>
-					<</if>>
-					<<set $slaves[$i].boobs += _growth>>
-				<</if>>
-			<</if>>
-		<</if>>
-	<</if>>
-	<<if ($dairyRestraintsSetting > 1)>>
-		<<if $slaves[$i].lactation > 0>>
-			<<set $slaves[$i].lactationAdaptation += 1>>
-		<</if>>
-		<<if ($slaves[$i].muscles > -100)>>
-			<<set $slaves[$i].muscles-->>
-		<</if>>
-		<<if ($slaves[$i].fetish == "mindbroken")>>
-			<<if ($slaves[$i].boobs > 48000) && (($slaves[$i].balls >= 10) || ($slaves[$i].balls == 0))>>
-				<<set $bioreactorPerfectedID = $slaves[$i].ID>>
-			<</if>>
-		<<else>>
-			<<if ($slaves[$i].sexualFlaw != "self hating")>>
-			<<if ($slaves[$i].sexualFlaw != "cum addict") || ($dairyFeedersSetting == 0)>>
-			<<if ($slaves[$i].sexualFlaw != "anal addict") || ($dairyStimulatorsSetting == 0)>>
-			<<if ($slaves[$i].sexualFlaw != "breeder") || ($slaves[$i].preg < 0) || ($dairyPregSetting == 0)>>
-				<<if $dairyStimulatorsSetting > 1>>
-					<<if ($slaves[$i].sexualFlaw != "hates anal") && ($slaves[$i].sexualQuirk != "painal queen")>>
-						<<set $slaves[$i].sexualFlaw = "hates anal">>
-					<</if>>
-				<</if>>
-				<<if $dairyPregSetting > 1>>
-					<<if ($slaves[$i].sexualFlaw != "hates penetration") && ($slaves[$i].sexualQuirk != "strugglefuck queen")>>
-						<<set $slaves[$i].sexualFlaw = "hates penetration">>
-					<</if>>
-				<</if>>
-				<<if $dairyFeedersSetting > 1>>
-					<<if ($slaves[$i].sexualFlaw != "hates oral") && ($slaves[$i].sexualQuirk != "gagfuck queen")>>
-						<<set $slaves[$i].sexualFlaw = "hates oral">>
-					<</if>>
-				<</if>>
-			<</if>>
-			<</if>>
-			<</if>>
-			<</if>>
-		<</if>>
-		<<if $slaves[$i].chem > 250>>
-			<<set _chemSevere++>>
-		<<elseif $slaves[$i].chem > 100>>
-			<<set _chemMinor++>>
-		<</if>>
-	<</if>>
-	<<if ($dairyStimulatorsSetting + $dairyFeedersSetting + $dairyPregSetting) > 5>>
-		<<if $slaves[$i].devotion <= 95 && $slaves[$i].sexualFlaw != "self hating">>
-			<<if ($slaves[$i].sexualFlaw != "breeder") || ($slaves[$i].preg < 0)>>
-				<<if ($slaves[$i].devotion > -75)>>
-					<<set $slaves[$i].devotion -= 10>>
-					<<if ($slaves[$i].devotion < -65)>>
-						<<set _hatefilled++>>
-					<</if>>
-				<<elseif ($slaves[$i].trust > -75)>>
-					<<set $slaves[$i].trust -= 10>>
-					<<if ($slaves[$i].trust < -65)>>
-						<<set _horrified++>>
-					<</if>>
-				<<elseif ($slaves[$i].vaginalSkill > 0)>>
-					<<set $slaves[$i].vaginalSkill -= 10, _skillsLost++>>
-				<<elseif ($slaves[$i].oralSkill > 0)>>
-					<<set $slaves[$i].oralSkill -= 10, _skillsLost++>>
-				<<elseif ($slaves[$i].analSkill > 0)>>
-					<<set $slaves[$i].analSkill -= 10, _skillsLost++>>
-				<<elseif ($slaves[$i].career != "a bioreactor")>>
-					<<set $slaves[$i].career = "a bioreactor", _careerForgotten++>>
-				<<elseif ($slaves[$i].intelligenceImplant > 0)>>
-					<<set $slaves[$i].intelligenceImplant = Math.clamp($slaves[$i].intelligenceImplant-5, 0, 30), _skillsLost++>>
-				<<elseif ($slaves[$i].intelligence >= -15)>>
-					<<set $slaves[$i].intelligence -= 5, _intelligenceLost++>>
-				<<elseif ($slaves[$i].devotion >= -20)>>
-					<<set $slaves[$i].devotion -= 10>>
-				<<elseif ($slaves[$i].trust >= -20)>>
-					<<set $slaves[$i].trust -= 10>>
-				<<elseif ($slaves[$i].whoreSkill > 0)>>
-					<<set $slaves[$i].whoreSkill -= 10, _skillsLost++>>
-				<<elseif ($slaves[$i].entertainSkill > 0)>>
-					<<set $slaves[$i].entertainSkill -= 10, _skillsLost++>>
-				<<elseif ($slaves[$i].intelligence >= -50)>>
-					<<set $slaves[$i].intelligence -= 5>>
-					<<if $slaves[$i].intelligence < -50>>
-						<<set _stupidified++>>
-					<</if>>
-				<<elseif ($slaves[$i].fetish != "mindbroken")>>
-					<<set $slaves[$i].fetish = "mindbroken", _mindbroken++>>
-				<</if>>
-			<</if>>
-		<</if>>
-		<<if (($slaves[$i].milk > 1000) && ($slaves[$i].boobs > 12000) || ($slaves[$i].cum > 1000) && ($slaves[$i].balls >= 10)) && ($slaves[$i].career != "a bioreactor")>>
-			<<set $slaves[$i].career = "a bioreactor", _careerForgotten++>>
-		<</if>>
-		<<if ($arcologies[0].FSBodyPuristLaw == 0) && ($healthyDrugsUpgrade == 0)>>
-			<<set $slaves[$i].chem += 5>>
-		<<else>>
-			<<set $slaves[$i].chem += 2>>
-		<</if>>
-	<<elseif ($dairyStimulatorsSetting + $dairyFeedersSetting + $dairyPregSetting) > 3>>
-		<<if ($slaves[$i].devotion < 75)>>
-			<<if ($slaves[$i].devotion > -75)>>
-				<<set $slaves[$i].devotion -= 5>>
-				<<if ($slaves[$i].devotion < -70)>>
-					<<set _hatefilled++>>
-				<</if>>
-			<<elseif ($slaves[$i].trust > -75)>>
-				<<set $slaves[$i].trust -= 5>>
-				<<if ($slaves[$i].trust < -70)>>
-					<<set _horrified++>>
-				<</if>>
-			<<elseif ($slaves[$i].vaginalSkill >= 20)>>
-				<<set $slaves[$i].vaginalSkill -= 10, _skillsLost++>>
-			<<elseif ($slaves[$i].oralSkill >= 20)>>
-				<<set $slaves[$i].oralSkill -= 10, _skillsLost++>>
-			<<elseif ($slaves[$i].analSkill >= 20)>>
-				<<set $slaves[$i].analSkill -= 10, _skillsLost++>>
-			<<elseif ($slaves[$i].career != "a bioreactor")>>
-				<<set $slaves[$i].career = "a bioreactor", _careerForgotten++>>
-			<<elseif ($slaves[$i].intelligenceImplant > 0)>>
-				<<set $slaves[$i].intelligenceImplant = Math.clamp($slaves[$i].intelligenceImplant-5, 0, 30), _skillsLost++>>
-			<<elseif ($slaves[$i].intelligence >= -15)>>
-				<<set $slaves[$i].intelligence -= 5, $intelligenceLost++>>
-			<<elseif ($slaves[$i].devotion >= -20)>>
-				<<set $slaves[$i].devotion -= 8>>
-			<<elseif ($slaves[$i].trust >= -20)>>
-				<<set $slaves[$i].trust -= 8>>
-			<<elseif ($slaves[$i].whoreSkill >= 20)>>
-				<<set $slaves[$i].whoreSkill -= 10, _skillsLost++>>
-			<<elseif ($slaves[$i].entertainSkill >= 20)>>
-				<<set $slaves[$i].entertainSkill -= 10, _skillsLost++>>
-			<<elseif ($slaves[$i].intelligence >= -50)>>
-				<<set $slaves[$i].intelligence -= 5>>
-				<<if $slaves[$i].intelligence < -50>>
-					<<set _stupidified++>>
-				<</if>>
-			<<elseif ($slaves[$i].fetish != "mindbroken")>>
-				<<set $slaves[$i].fetish = "mindbroken", _mindbroken++>>
-			<</if>>
-		<<elseif (($slaves[$i].milk > 1000) && ($slaves[$i].boobs > 12000) || ($slaves[$i].cum > 1000) && ($slaves[$i].balls >= 10)) && ($slaves[$i].career != "a bioreactor")>>
-			<<set $slaves[$i].career = "a bioreactor", _careerForgotten++>>
-		<</if>>
-		<<if ($arcologies[0].FSBodyPuristLaw == 0) && ($healthyDrugsUpgrade == 0)>>
-			<<set $slaves[$i].chem += 2>>
-		<<else>>
-			<<set $slaves[$i].chem++>>
-		<</if>>
-	<</if>> /* closes ($dairyStimulatorsSetting + $dairyFeedersSetting + $dairyPregSetting) > 5 */
-	<<if ($dairyPregUpgrade == 1) && ($dairyPregSetting > 0)>>
-		<<if ($slaves[$i].ovaries == 1) && ($slaves[$i].vagina > -1)>>
-			<<set _femCumWeek += Math.trunc((70-$slaves[$i].physicalAge)/(30-($slaves[$i].vaginaLube*10)))>>
-			<<if ($slaves[$i].preg == -2)>>
-				<<set $slaves[$i].preg = 0, _desterilized++>>
-			<</if>>
-			<<if isFertile($slaves[$i])>>
-				<<if $slaves[$i].eggType == "human">>
-					<<set $slaves[$i].preg = 1, $slaves[$i].pregWeek = 1, $slaves[$i].pregKnown = 1>>
-					<<if ($dairyPregSetting > 2)>>
-						<<set $slaves[$i].pregType = random(10,29)>>
-					<<elseif ($dairyPregSetting > 1)>>
-						<<set $slaves[$i].pregType = random(3,6)>>
-					<<else>>
-						<<set $slaves[$i].pregType = either(1, 1, 1, 1, 2, 2, 2, 3, 3, 4)>>
-					<</if>>
-					<<set $slaves[$i].pregSource = -2>>
-					<<set WombImpregnate($slaves[$i], $slaves[$i].pregType, -2, 1)>>
-				<</if>> /*closes eggType */
-				<<if ($slaves[$i].vagina == 0)>>
-					<<set $slaves[$i].vagina++>>
-				<</if>>
-			<<elseif ($slaves[$i].pregKnown == 1)>>
-				<<if ($dairyPregSetting > 2)>>
-					<<set $cash += 100>>
-				<<elseif ($dairyPregSetting > 1)>>
-					<<set $cash += 50>>
-				<<else>>
-					<<set $cash += 25>>
-				<</if>>
-				<<if ($dairyPregSetting > 1) && ($slaves[$i].vagina < 4)>>
-					<<set $slaves[$i].vagina++>>
-					<<if ($slaves[$i].vagina == 4)>>
-						<<set _vaginasStretched++>>
-					<</if>>
-				<<elseif ($slaves[$i].vagina < 3)>>
-					<<set $slaves[$i].vagina++>>
-				<</if>>
-			<</if>>
-		<</if>>
-	<</if>>
-<</for>>
-
-<<if $inflatedSlavesMilk > 0>>
-	<<set _milkWeek -= ((8*$inflatedSlavesMilk*10)+8)>>
-<</if>>
-<<if $inflatedSlavesCum > 0>>
-	<<set _cumWeek -= ((80*$inflatedSlavesCum*10)+80)>>
-	<<if _cumWeek < 0>>
-		<<set _cumWeek = 0>>
-	<</if>>
-<</if>>
-
-<<if (_Tadd > 0)>>
-	<<set _tempCash = $cash>>
-	<<set _seed = (100*$bioreactorsXY) + (100*$bioreactorsHerm), _cumWeek += _seed>>
-	<<if ($arcologies[0].FSPastoralistLaw == 1)>>
-		<<set $cash += _seed*random(40,50)>>
-	<<elseif ($arcologies[0].FSPastoralist != "unset")>>
-		<<set $cash += _seed*(random(25,35)+Math.trunc($arcologies[0].FSPastoralist/10))>>
-	<<else>>
-		<<set $cash += _seed*random(25,35)>>
-	<</if>>
-	<<set _seed = (2*$bioreactorsXX) + (2*$bioreactorsHerm), _femCumWeek += _seed>>
-	<<if ($arcologies[0].FSPastoralistLaw == 1)>>
-		<<set $cash += _seed*random(40,50)>>
-	<<elseif ($arcologies[0].FSPastoralist != "unset")>>
-		<<set $cash += _seed*(random(25,35)+Math.trunc($arcologies[0].FSPastoralist/10))>>
-	<<else>>
-		<<set $cash += _seed*random(25,35)>>
-	<</if>>
-	<<set _seed = (800*$bioreactorsXX) + (700*$bioreactorsBarren) + (600*$bioreactorsXY) + (600*$bioreactorsHerm), _milkWeek += _seed>>
-	<<if ($arcologies[0].FSPastoralistLaw == 1)>>
-		<<set $cash += _seed*(13+Math.trunc($arcologies[0].FSPastoralist/30))>>
-	<<elseif ($arcologies[0].FSPastoralist != "unset")>>
-		<<set $cash += _seed*(8+Math.trunc($arcologies[0].FSPastoralist/30))>>
-	<<else>>
-		<<set $cash += _seed*9>>
-	<</if>>
-	<br><br>_Tadd permanently converted biological "machine<<if _Tadd > 1>>s<</if>>" produce<<if _Tadd == 1>>s<</if>> @@.yellowgreen;<<print cashFormat($cash-_tempCash)>>@@ income.
-<</if>>
-
-<<if $inflatedSlavesMilk > 0>>
-	<<set $cash -= Math.trunc(((600*($inflatedSlavesMilk)+8)+random(50,200)))>>
-<</if>>
-<<if $inflatedSlavesCum > 0>>
-	<<set $cash -= Math.trunc(((300*($inflatedSlavesCum+8))+random(25,100)))>>
-<</if>>
-
-<<set _profits = $cash-_oldCash>>
-<br><br>&nbsp;&nbsp;&nbsp;&nbsp;
-<<if _chemSevere > 1>>
-	_chemSevere cows' productivity is being reduced by the long term effects of industrial use.
-<<elseif _chemSevere > 0>>
-	One cow's productivity is being reduced by the long term effects of industrial use.
-<</if>>
-<<if _chemMinor > 1>>
-	_chemMinor cows have been drugged and used long enough that they require increased curative doses, slightly reducing their output.
-<<elseif _chemMinor > 0>>
-	One cow has been drugged and used long enough that $he requires increased curative doses, slightly reducing $his output.
-<</if>>
-<<if _desterilized > 1>>
-	_desterilized cows had minor health issues preventing their fertile womb from conceiving; the issues have been resolved and they have been impregnated.
-<<elseif _chemMinor > 0>>
-	One cow had minor health issues preventing $his fertile womb from conceiving; they have been resolved and $he has been impregnated.
-<</if>>
-<<if _hatefilled > 1>>
-	_hatefilled cows stopped struggling so much when fucked by the machines; it seems they have sunk into a fugue.
-<<elseif _hatefilled > 0>>
-	One cow stopped struggling so much when fucked by the machines; it seems $he has sunk into a fugue.
-<</if>>
-<<if _horrified > 1>>
-	_horrified cows' emotional activity dropped significantly; this indicates acceptance that they are not likely to leave $dairyName, ever again.
-<<elseif _horrified > 0>>
-	One cow's emotional activity dropped significantly; this indicates acceptance that $he is not likely to leave $dairyName, ever again.
-<</if>>
-<<if _skillsLost > 1>>
-	_skillsLost cows forgot skills due to their inability to focus on anything but machine rape.
-<<elseif _skillsLost > 0>>
-	One cow forgot skills due to $his inability to focus on anything but machine rape.
-<</if>>
-<<if _careerForgotten > 1>>
-	_careerForgotten cows forgot the details of their past professional lives; all they can remember now is this.
-<<elseif _careerForgotten > 0>>
-	One cow forgot the details of $his past professional life; all $he can remember now is this.
-<</if>>
-<<if _vaginasStretched > 1>>
-	_vaginasStretched cows' vaginas were broken in for machine use, and are unlikely to be any use for anything other than receiving cum and medication, and giving birth.
-<<elseif _vaginasStretched > 0>>
-	One cow's vagina was broken in for machine use, and is unlikely to be any use for anything other than receiving cum and medication, and giving birth.
-<</if>>
-<<if _anusesStretched > 1>>
-	_anusesStretched cows' anuses were loosened by machine sodomy, and are now permanently gaped.
-<<elseif _anusesStretched > 0>>
-	One cow's anus was loosened by machine sodomy, and is now permanently gaped.
-<</if>>
-<<if $intelligenceLost > 1>>
-	$intelligenceLost cows suffered some loss of intelligence due to accumulated mental stress from life attached to a milking machine.
-<<elseif $intelligenceLost > 0>>
-	One cow suffered some loss of intelligence due to accumulated mental stress from life attached to a milking machine.
-<</if>>
-<<if _stupidified > 1>>
-	_stupidified cows were so mentally dulled by use as biological factories that they were reduced to a very low level of intelligence.
-<<elseif _stupidified > 0>>
-	One cow was so mentally dulled by use as biological factories that $he was reduced to a very low level of intelligence.
-<</if>>
-<<if _mindbroken > 1>>
-	_mindbroken cows finally lost higher mental function, and are now nothing more than industrial equipment made of meat.
-<<elseif _mindbroken > 0>>
-	One cow finally lost higher mental function, and is now nothing more than industrial equipment made of meat.
-<</if>>
-<<if _boobtacular > 1>>
-	_boobtacular cows grew past 30 kilograms of breasts, a remarkable advance in capacity.
-<<elseif _boobtacular > 0>>
-	One cow grew past 30 kilograms of breasts, a remarkable advance in capacity.
-<</if>>
-<<if _balltacular > 1>>
-	_balltacular cows' testicles reached the largest size drug treatments can produce; the machines will now focus on buttfucking them with extra force.
-<<elseif _balltacular > 0>>
-	One cow's testicles reached the largest size drug treatments can produce; the machines will now focus on buttfucking $him with extra force.
-<</if>>
-
-<<if ($dairyPregUpgrade == 1)>>
-<<if ($dairyPregSetting >= 2)>>
-	Fertile cows make you a significant profit through contract pregnancies.
-<<elseif ($dairyPregSetting == 1)>>
-	Fertile cows make you a small profit through contract pregnancies.
-<</if>>
-<</if>>
-<<set _cumWeek = Math.trunc(_cumWeek/10)>>
-<<set $cumPipeline = _cumWeek, $milkPipeline = _milkWeek>>
-<<if $inflatedSlavesMilk > 0>>
-	<<set _outputMilk = ((8*$inflatedSlavesMilk*10)+8)>>
-<<else>>
-	<<set _outputMilk = 0>>
-<</if>>
-<<if $inflatedSlavesCum > 0>>
-	<<set _outputCum = (((80*$inflatedSlavesCum*10)+80)/10)>>
-<<else>>
-	<<set _outputCum = 0>>
-<</if>>
-$dairyNameCaps produced <<print _milkWeek+_outputMilk>> liters of milk<<if _cumWeek > 0>> and <<print _cumWeek+_outputCum>> liters of cum<</if>> this week.
-<<if $inflatedSlavesMilk > 0>>
-	_outputMilk liters of milk were pumped into your penthouse for filling slaves this week.
-<</if>>
-<<if $inflatedSlavesCum > 0>>
-	<<if $inflatedSlavesMilk > 0>>and <</if>>_outputCum liters of cum were pumped into your penthouse<<if $inflatedSlavesMilk > 0>> as well<<else>> this week<</if>>.
-<</if>>
-<<if _femCumWeek > 0>>
-	The machines also managed to reclaim _femCumWeek liters of salable vaginal secretions.
-<</if>>
-<<if _births > 1>>
-	Additionally, _birthers cows gave birth<<if _births > _birthers>> to a total of _births calves<</if>> this week.
-<<elseif _births > 0>>
-	Additionally, one cow gave birth<<if _births > _birthers>> to a total of _births calves<</if>> this week.
-<</if>>
-
-<<if $arcologies[0].FSRestart != "unset" && $eugenicsFullControl != 1>>
-	<<if $dairyPregSetting > 0>>
-		The Societal Elite know what you are doing with your cows. @@.red;They do not approve@@.
-		<<set $failedElite += 5>>
-	<</if>>
-	<<if _milkmaidImpregnates == 1>>
-		The Societal Elite know you've ordered $Milkmaid.slaveName to impregnate your cows. @@.red;They are not amused by your disinterest in eugenics@@.
-		<<set $failedElite += 10>>
-	<</if>>
-<</if>>
-
-<!-- Record statistics gathering -->
-<<script>>
-	var b = State.variables.facility.dairy;
-	b.whoreIncome = 0;
-	b.whoreCosts = 0;
-	b.rep = 0;
-	for(var si of b.income.values()) {
-		b.whoreIncome += si.income;
-		b.whoreCosts += si.cost;
-		b.rep += si.rep;
-	}
-	b.maintenance = (State.variables.bioreactorsXY + State.variables.bioreactorsXX + State.variables.bioreactorsHerm + State.variables.bioreactorsBarren);
-	if (b.maintenance > 0) {
-		b.maintenance *= 100;
-	} else {
-		b.maintenance = 0;
-	}
-	b.maintenance += State.variables.dairy * State.variables.facilityCost * (1.0 + 0.2 * State.variables.dairyFeedersUpgrade + 0.1 * State.variables.dairyPregUpgrade);
-	b.totalIncome = b.whoreIncome;
-	b.totalExpenses = b.whoreCosts + b.maintenance;
-	b.profit = b.totalIncome - b.totalExpenses;
-<</script>>
-<<if (_profits > 0)>>
-	The sale of these products makes a profit of @@.yellowgreen;<<print cashFormat(_profits)>>@@.
-<<elseif (_profits < 0)>>
-	Due to one-off costs of hormonal implants to encourage fluid production, your dairy made a loss of @@.red;<<print cashFormat(_profits)>>@@.
-<<else>>
-	Due to one-off costs of hormonal implants to encourage fluid production paired with existing output, your dairy broke even this week.
-<</if>>
-
-<<if ($arcologies[0].FSPastoralistLaw == 1)>>
-	Slave products have completely replaced traditional dairy, making the facility extremely lucrative.
-<</if>>
-
-<<if ($dairySlimMaintainUpgrade == 1 && $dairySlimMaintain == 1)>>
-	<br>&nbsp;&nbsp;&nbsp;
-	<<if $arcologies[0].FSSlimnessEnthusiast > 80>>
-		Because of your arcology's great enthusiasm for small breasted slaves, the dairy's milking systems have been carefully overhauled and optimized for maximum milk extraction from slaves with smaller endowments--providing a significant boost to their otherwise modest output. This also prevents unfashionable breast expansion of already slim slaves through the milking process.
-	<<elseif $arcologies[0].FSSlimnessEnthusiast > 20>>
-		In keeping with your arcology's ideals, $dairyName has been modified to handle slim slaves with minimal impact to their body shapes. This limits potential profitability, but prevents unfashionable breast expansion of already slim slaves through the milking process.
-	<<else>>
-		Due to your arcology's lack of enthusiasm for small breasted slaves the dairy has discontinued using milking techniques that prevent breast growth through the milking process.
-		<<set $dairySlimMaintain = 0, $dairySlimMaintainUpgrade = 0>>
-	<</if>>
-<</if>>
-
-<<if ($createBioreactors == 1) && ($bioreactorPerfectedID != 0)>>
-	<<for _dI = 0; _dI < _DL; _dI++>>
-		<<set $i = $slaveIndices[$DairyiIDs[_dI]]>>
-		<<if ($slaves[$i].ID == $bioreactorPerfectedID)>>
-			<br><br>&nbsp;&nbsp;&nbsp;&nbsp;<<= SlaveFullName($slaves[$i])>>'s breasts<<if $slaves[$i].balls > 0>>, balls<</if>><<if $slaves[$i].ovaries == 1>>, belly<</if>>, body, and mind have been completely adapted to synthesize useful products. $He has been reclassified as part of the machine $he's now permanently attached to. This combination is projected to produce approximately
-			<<if $slaves[$i].balls > 0>><<print 1000*Math.trunc((3*52*(45-$slaves[$i].physicalAge))/1000)>> liters of cum,<</if>>
-			<<if $slaves[$i].ovaries == 1>><<print 100*Math.trunc((52*(45-$slaves[$i].physicalAge))/100)>> liters of vaginal secretions, <<if $dairyPregSetting == 3>><<print 13*(45-$slaves[$i].physicalAge)>><<else>><<print 5*(45-$slaves[$i].physicalAge)>><</if>> slaves,<</if>>
-			and <<print 1000*Math.trunc((300*52*(45-$slaves[$i].physicalAge))/1000)>> liters of milk over a <<print 45-$slaves[$i].physicalAge>> year period before its biological components must be replaced.
-			<<if ($slaves[$i].ovaries == 1)>>
-				<<if ($slaves[$i].balls == 0)>>
-					<<set $bioreactorsXX++>>
-				<<else>>
-					<<set $bioreactorsHerm++>>
-				<</if>>
-			<<else>>
-				<<if ($slaves[$i].balls == 0)>>
-					<<set $bioreactorsBarren++>>
-				<<else>>
-					<<set $bioreactorsXY++>>
-				<</if>>
-			<</if>>
-			<<set $activeSlave = $slaves[$i]>>
-			<<include "Remove activeSlave">>
-			<<break>>
-		<</if>>
-	<</for>>
-<</if>>
-
-<<if $dairyDecoration != "standard">>
-	<br><br>&nbsp;&nbsp;&nbsp;&nbsp;$dairyNameCaps's @@.green;$dairyDecoration style is well known.@@
-<</if>>
-
-<<if _DL > 0>>
-	<!-- Statistics output -->
-	<<DairyStatistics 0>>
-	<<timed 50ms>>
-		<<replace #dairystats>>
-			<<DairyStatistics 1>>
-		<</replace>>
-	<</timed>>
-<</if>>
-<<if (_DL + _Tadd) > 0 || $Milkmaid != 0>>
-	<br><br>
-<</if>>
diff --git a/src/facilities/zoo/zookeeperSelect.tw b/src/facilities/zoo/zookeeperSelect.tw
deleted file mode 100644
index 6097b0a503d..00000000000
--- a/src/facilities/zoo/zookeeperSelect.tw
+++ /dev/null
@@ -1,20 +0,0 @@
-:: Zookeeper Select [nobr]
-
-<<set $nextButton = "Back", $nextLink = "Farmyard", $showEncyclopedia = 1, $encyclopedia = "Zookeeper">>
-<<showallAssignmentFilter>>
-<<if ($Zookeeper != 0)>>
-	<<setLocalPronouns $Zookeeper>>
-	''__@@.pink;<<= SlaveFullName($Zookeeper)>>@@__'' is serving as your Zookeeper.<br><br>$He will look after $zooName and tend to its daily activities.   /* TODO: this may need to be reworded */
-<<else>>
-	You have not selected a Zookeeper.
-<</if>>
-
-<br><br>''Appoint a Zookeeper from your obedient slaves:''
-<br><br>[[None|Zookeeper Workaround][$i = -1]]
-<br><br>
-<<assignmentFilter>>
-<span id="ComingGoing">
-	<<showallAssignmentFilter>>
-	<<include "Slave Summary">>
-	<<resetAssignmentFilter>>
-</span>
\ No newline at end of file
diff --git a/src/facilities/zoo/zookeeperSelectWorkaround.tw b/src/facilities/zoo/zookeeperSelectWorkaround.tw
deleted file mode 100644
index 3f89bed6539..00000000000
--- a/src/facilities/zoo/zookeeperSelectWorkaround.tw
+++ /dev/null
@@ -1,13 +0,0 @@
-:: Zookeeper Workaround [silently]
-
-<<if $Zookeeper != 0>>
-	<<= removeJob($Zookeeper, "be the Zookeeper")>>
-<</if>>
-<<if $i > -1>>
-	<<= assignJob($slaves[$i], "be the Zookeeper")>>
-	<<set $slaves[$i].livingRules = "luxurious">>
-	<<set $Zookeeper = $slaves[$i]>>
-<</if>>
-
-<<goto "Zoo">>
-
diff --git a/src/gui/Encyclopedia/encyclopedia.tw b/src/gui/Encyclopedia/encyclopedia.tw
index b3c5ee50f6d..3e8a2a660f1 100644
--- a/src/gui/Encyclopedia/encyclopedia.tw
+++ b/src/gui/Encyclopedia/encyclopedia.tw
@@ -713,15 +713,6 @@ Choose a more particular entry below:
 		<</if>>
 	<</for>>
 
-	<br><br><br>__Zookeeping__ (offering a bonus as [[Zookeeper\Encyclopedia][$encyclopedia = "Zookeeper"]]), including slaves who were
-	<<for $i = 0; $i < setup.zookeeperCareers.length; $i++>>
-		<<if $i == setup.zookeeperCareers.length-1>>
-			and <<print setup.zookeeperCareers[$i]>>.
-		<<else>>
-			<<print setup.zookeeperCareers[$i]>>,
-		<</if>>
-	<</for>>
-
 	<br><br><br>__Teaching__ (offering a bonus as [[Schoolteacher|Encyclopedia][$encyclopedia = "Schoolteacher"]], including slaves who were
 	<<for $i = 0; $i < setup.schoolteacherCareers.length; $i++>>
 		<<if $i == setup.schoolteacherCareers.length-1>>
@@ -826,11 +817,6 @@ Choose a more particular entry below:
  //This description needs to be expanded.//
 
 
-<<case "Zookeeper">>	/* TODO: this will need to be changed */
- <br><br>A ''Zookeeper'' can be selected once the [[Zoo|Encyclopedia][$encyclopedia = "Zoo"]] facility is built. Having applicable [[career experience|Encyclopedia][$encyclopedia = "Career Experience"]] and strong [[muscles|Encyclopedia][$encyclopedia = "Musculature"]] allow a Zookeeper to maintain the different crops and animals. 
- <br>
- //This description needs to be expanded.//
-
 <<case "Nurse">>
 	An ''Nurse'' can be selected once the [[Clinic|Encyclopedia][$encyclopedia = "Clinic"]] facility is built. Nurses increase [[health|Encyclopedia][$encyclopedia = "Health"]] gains in the Clinic. Good Nurses are [[nymphomaniacs|Encyclopedia][$encyclopedia = "Nymphomania"]], highly @@.cyan;intelligent,@@ physically fit, and very beautiful.
 
@@ -896,11 +882,6 @@ SLAVE ASSIGNMENTS (COMMON):
  //Associated facility: [[Farmyard|Encyclopedia][$encyclopedia = "Farmyard"]]//
 
 
-<<case "Zoo">>
- <<encyclopediaEntryZoo>>
- //Associated facility: [[Zoo|Encyclopedia][$encyclopedia = "Zoo"]]//
-
-
 <<case "Public Service">>
  <<encyclopediaEntryPublicService>>
  //Associated facility: [[Club|Encyclopedia][$encyclopedia = "Club"]]//
@@ -1623,7 +1604,7 @@ ARCOLOGY FACILITIES
 
 	<br><br>Use facilities sparingly until you're familiar with what assignments do so you don't miss important information. When you're confident enough to ignore a slave for long periods, sending her to a facility becomes a good option. Sending a slave to a facility heavily reduces the player's interaction with her, keeps the main menu and end week report manageable, and prevents most events from featuring her, which can be useful when she's so well trained that events aren't as beneficial for her. Also, many facilities have leadership positions that can apply powerful multipliers to a slave's performance.
 
-	<br><br>The [[Arcade|Encyclopedia][$encyclopedia = "Arcade"]], [[Brothel|Encyclopedia][$encyclopedia = "Brothel"]], [[Club|Encyclopedia][$encyclopedia = "Club"]], [[Dairy|Encyclopedia][$encyclopedia = "Dairy"]], and [[Servants' Quarters|Encyclopedia][$encyclopedia = "Servants' Quarters"]] all correspond to basic productive assignments. The [[Spa|Encyclopedia][$encyclopedia = "Spa"]], [[Cellblock|Encyclopedia][$encyclopedia = "Cellblock"]], and [[Schoolroom|Encyclopedia][$encyclopedia = "Schoolroom"]], are a little different in that they focus on improving their occupants rather than producing something useful, since they correspond to the rest, confinement, and class assignments. As such, only slaves that can benefit from these facilities' services can be sent to them. When slaves in these facilities have received all the benefits they can from the facility, they will be automatically ejected, assigned to rest, and returned to the main menu. The [[Head Girl Suite|Encyclopedia][$encyclopedia = "Head Girl Suite"]], [[Master Suite|Encyclopedia][$encyclopedia = "Master Suite"]], [[Farmyard|Encyclopedia][$encyclopedia = "Farmyard"]], [[Zoo|Encyclopedia][$encyclopedia = "Zoo"]], [[Incubation Facility|Encyclopedia][$encyclopedia = "The Incubation Facility"]], and [[Pit|Encyclopedia][$encyclopedia = "Pit"]] are all completely unique.
+	<br><br>The [[Arcade|Encyclopedia][$encyclopedia = "Arcade"]], [[Brothel|Encyclopedia][$encyclopedia = "Brothel"]], [[Club|Encyclopedia][$encyclopedia = "Club"]], [[Dairy|Encyclopedia][$encyclopedia = "Dairy"]], and [[Servants' Quarters|Encyclopedia][$encyclopedia = "Servants' Quarters"]] all correspond to basic productive assignments. The [[Spa|Encyclopedia][$encyclopedia = "Spa"]], [[Cellblock|Encyclopedia][$encyclopedia = "Cellblock"]], and [[Schoolroom|Encyclopedia][$encyclopedia = "Schoolroom"]], are a little different in that they focus on improving their occupants rather than producing something useful, since they correspond to the rest, confinement, and class assignments. As such, only slaves that can benefit from these facilities' services can be sent to them. When slaves in these facilities have received all the benefits they can from the facility, they will be automatically ejected, assigned to rest, and returned to the main menu. The [[Head Girl Suite|Encyclopedia][$encyclopedia = "Head Girl Suite"]], [[Master Suite|Encyclopedia][$encyclopedia = "Master Suite"]], [[Farmyard|Encyclopedia][$encyclopedia = "Farmyard"]], [[Incubation Facility|Encyclopedia][$encyclopedia = "The Incubation Facility"]], and [[Pit|Encyclopedia][$encyclopedia = "Pit"]] are all completely unique.
 
 
 <<case "Arcade">>
@@ -1712,10 +1693,6 @@ ARCOLOGY FACILITIES
 	<br>//This entry still needs work and will be updated with more information as it matures. If this message is still here, remind one of the devs to remove it.//
 
 
-<<case "Zoo">>		/* TODO: this will need a rewrite */
-	The ''Zoo'' is where the majority of the [[food|Encyclopedia][$encyclopedia = "Food"]] in your arcology is grown, once it is built. It also allows you to house animals<<if $seeBestiality == 1>>, which you can have interact with your slaves<</if>>. The Zoo can be furnished according to [[future society|Encyclopedia][$encyclopedia = "Future Societies"]] styles, and doing so will add a slight @@.hotpink;[[devotion|Encyclopedia][$encyclopedia = "From Rebellious to Devoted"]]@@ boost to slaves working there. /* TODO: this may need to be changed */
-	<br>//This entry still needs work and will be updated with more information as it matures. If this message is still here, remind one of the devs to remove it.//
-
 /**********
 FACILITY BONUSES
 **********/
@@ -3165,7 +3142,7 @@ Error: bad title.
 		| [[Slave Nutrition|Encyclopedia][$encyclopedia = "Slave Nutrition"]]
 <</if>>
 
-<<if ["Facilities","Arcade","Brothel","Cellblock","Clinic","Club","Dairy","Head Girl Suite","Master Suite","Pit","Schoolroom","Servants' Quarters","Spa","Nursery","Farmyard","Zoo","Advertising","Variety","The Incubation Facility"].includes($encyclopedia)>>
+<<if ["Facilities","Arcade","Brothel","Cellblock","Clinic","Club","Dairy","Head Girl Suite","Master Suite","Pit","Schoolroom","Servants' Quarters","Spa","Nursery","Farmyard","Advertising","Variety","The Incubation Facility"].includes($encyclopedia)>>
 	<br><br>//Arcology [[Facilities|Encyclopedia][$encyclopedia = "Facilities"]]//<br>
 	[[Arcade|Encyclopedia][$encyclopedia = "Arcade"]]
 	| [[Brothel|Encyclopedia][$encyclopedia = "Brothel"]]
@@ -3181,7 +3158,6 @@ Error: bad title.
 	| [[Spa|Encyclopedia][$encyclopedia = "Spa"]]
 	| [[Nursery|Encyclopedia][$encyclopedia = "Nursery"]]
 	| [[Farmyard|Encyclopedia][$encyclopedia = "Farmyard"]]
-	| [[Zoo|Encyclopedia][$encyclopedia = "Zoo"]]
 	| [[The Incubation Facility |Encyclopedia][$encyclopedia = "The Incubation Facility"]]
 
 	<br><br>//Facility Bonuses//<br>
diff --git a/src/gui/Encyclopedia/encyclopediaWidgets.tw b/src/gui/Encyclopedia/encyclopediaWidgets.tw
index 7bab34c2e5a..8a1c47f9b64 100644
--- a/src/gui/Encyclopedia/encyclopediaWidgets.tw
+++ b/src/gui/Encyclopedia/encyclopediaWidgets.tw
@@ -1,6 +1,6 @@
 :: Encyclopedia Widgets [nobr widget]
 
-/* TODO: add entries for Nursery and Zoo */
+/* TODO: add entries for Nursery */
 
 <<widget "encyclopediaEntryAttendingClasses">>
 ''Attending classes'' is an assignment which educates the slave, raising intelligence if possible. Being educated raises value and is useful for some jobs and leadership positions.
@@ -26,10 +26,6 @@
 ''Farming'' is an assignment which produces [[food|Encyclopedia][$encyclopedia = "Food"]] from your slaves' hard work<<if $seeBestiality == 1>> and allows you to breed slaves with animals<</if>>. Can also reduce arcology upkeep with upgrades in the [[Farmyard|Encyclopedia][$encyclopedia = "Farmyard"]].
 <</widget>>
 
-<<widget "encyclopediaEntryZoo">>
-''Zookeeping'' is an assignment which makes money from shows held in the [[Zoo|Encyclopedia][$encyclopedia = "Zoo"]]. /* TODO: expand this */
-<</widget>>
-
 <<widget "encyclopediaEntryPublicService">>
 ''Public Service'' is an assignment which increases reputation based on a slave's beauty, sexual appeal, and skills. Very similar to whoring, but for reputation rather than money.
 <</widget>>
diff --git a/src/init/dummy.tw b/src/init/dummy.tw
index 143823b9de6..cc5417ebcd6 100644
--- a/src/init/dummy.tw
+++ b/src/init/dummy.tw
@@ -5,7 +5,7 @@ Do not uncomment anything!
 
 $nurseryUpgrade, $childToSlave
 $ageMode
-$youngCareers, $educatedCareers, $uneducatedCareers, $gratefulCareers, $menialCareers, $entertainmentCareers, $whoreCareers, $HGCareers, $madamCareers, $DJCareers, $bodyguardCareers, $wardenessCareers, $nurseCareers, $attendantCareers, $matronCareers, $milkmaidCareers, $farmerCareers, $zookeeperCareers, $stewardessCareers, $schoolteacherCareers
+$youngCareers, $educatedCareers, $uneducatedCareers, $gratefulCareers, $menialCareers, $entertainmentCareers, $whoreCareers, $HGCareers, $madamCareers, $DJCareers, $bodyguardCareers, $wardenessCareers, $nurseCareers, $attendantCareers, $matronCareers, $milkmaidCareers, $farmerCareers, $stewardessCareers, $schoolteacherCareers
 $whiteAmericanSlaveNames, $africanAmericanSlaveNames, $asianAmericanSlaveNames, $latinaSlaveNames, $russianSlaveNames, $egyptianSlaveNames, $brazilianSlaveNames, $chineseSlaveNames, $koreanSlaveNames, $indianSlaveNames, $indonesianSlaveNames, $bangladeshiSlaveNames, $japaneseSlaveNames, $nigerianSlaveNames, $pakistaniSlaveNames, $mexicanSlaveNames, $filipinaSlaveNames, $ethiopianSlaveNames, $germanSlaveNames, $saudiSlaveNames, $turkishSlaveNames, $colombianSlaveNames, $argentinianSlaveNames, $vietnameseSlaveNames, $iranianSlaveNames, $congoleseSlaveNames, $frenchSlaveNames, $thaiSlaveNames, $britishSlaveNames, $italianSlaveNames, $spanishSlaveNames, $kenyanSlaveNames, $ukrainianSlaveNames, $canadianSlaveNames, $peruvianSlaveNames, $venezuelanSlaveNames, $irishSlaveNames, $icelandicSlaveNames, $finnishSlaveNames, $newZealanderSlaveNames, $polishSlaveNames, $greekSlaveNames, $israeliSlaveNames, $armenianSlaveNames, $moroccanSlaveNames, $romanianSlaveNames, $swedishSlaveNames, $lithuanianSlaveNames, $bolivianSlaveNames, $haitianSlaveNames, $cubanSlaveNames, $whiteSouthAfricanSlaveNames, $blackSouthAfricanSlaveNames, $chileanSlaveNames, $belgianSlaveNames, $danishSlaveNames, $norwegianSlaveNames, $hungarianSlaveNames, $estonianSlaveNames, $slovakSlaveNames, $kazakhSlaveNames, $zimbabweanSlaveNames, $ugandanSlaveNames, $tanzanianSlaveNames, $dutchSlaveNames, $austrianSlaveNames, $swissSlaveNames, $puertoRicanSlaveNames, $czechSlaveNames, $portugueseSlaveNames, $jamaicanSlaveNames, $malaysianSlaveNames, $guatemalanSlaveNames, $ghananSlaveNames, $serbianSlaveNames, $australianSlaveNames, $burmeseSlaveNames, $algerianSlaveNames, $sudaneseSlaveNames, $iraqiSlaveNames, $uzbekSlaveNames, $nepaleseSlaveNames, $afghanSlaveNames, $yemeniSlaveNames, $lebaneseSlaveNames, $tunisianSlaveNames, $emiratiSlaveNames, $libyanSlaveNames, $jordanianSlaveNames, $omaniSlaveNames, $malianSlaveNames, $sammarineseSlaveNames, $marshalleseSlaveNames, $syrianSlaveNames, $bermudianSlaveNames, $uruguayanSlaveNames, $monegasqueSlaveNames, $montenegrinSlaveNames, $cambodianSlaveNames, $cameroonianSlaveNames, $gaboneseSlaveNames, $djiboutianSlaveNames, $greenlandicSlaveNames, $tuvaluanSlaveNames, $zambianSlaveNames, $albanianSlaveNames, $bruneianSlaveNames, $singaporeanSlaveNames
 $cowSlaveNames, $chattelReligionistSlaveNames, $romanSlaveNames, $aztecSlaveNames, $ancientEgyptianSlaveNames, $edoSlaveNames
 $ArcologyNamesSupremacistWhite, $ArcologyNamesSupremacistAsian, $ArcologyNamesSupremacistLatina, $ArcologyNamesSupremacistMiddleEastern, $ArcologyNamesSupremacistBlack, $ArcologyNamesSupremacistIndoAryan, $ArcologyNamesSupremacistPacificIslander, $ArcologyNamesSupremacistMalay, $ArcologyNamesSupremacistAmerindian, $ArcologyNamesSupremacistSouthernEuropean, $ArcologyNamesSupremacistSemitic, $ArcologyNamesSupremacistMixedRace
diff --git a/src/init/setupVars.tw b/src/init/setupVars.tw
index 937c24ee1ad..ee20f85d35f 100644
--- a/src/init/setupVars.tw
+++ b/src/init/setupVars.tw
@@ -333,8 +333,6 @@ equine: {type: "equine", normalOvaMin:1, normalOvaMax: 1, normalBirth: 48, minLi
 
 <<set setup.farmerCareers = ["a beekeeper", "a bullfighter", "a farmer", "a farmhand", "a rancher", "a rodeo star", "a zookeeper"]>>
 
-<<set setup.zookeeperCareers = ["a zookeeper"]>>	/* TODO: add more */
-
 <<set setup.stewardessCareers = ["a barista", "a bartender", "a brewer", "a bureaucrat", "a caregiver", "a charity worker", "a club treasurer", "a concierge", "a critic", "a housekeeper", "a housesitter", "a lemonade stand operator", "a personal assistant", "a professional bartender", "a secretary", "a wedding planner", "an air hostess", "an architect", "an editor", "an estate agent", "an investor", "an office worker"]>>
 
 <<set setup.schoolteacherCareers = ["a child prodigy", "a coach", "a dean", "a historian", "a librarian", "a principal", "a private instructor", "a professor", "a scholar", "a scientist", "a teacher's pet", "a teacher", "a teaching assistant", "an archaeologist", "an astronaut", "an economist"]>>
@@ -2101,7 +2099,7 @@ Then pick _namePool.random(), or display those names as possible choices, or do
 	{name: "Tail", value: "tail", rs: "buyTails"},
 	{name: "Fox tail", value: "fox tail", rs: "buyTails"}, {name: "Cat tail", value: "cat tail", rs: "buyTails"}]>>
 
-<<set setup.facilityCareers = ["be confined in the arcade", "be confined in the cellblock", "be the Attendant", "be the DJ", "be the Farmer", "be the Zookeeper", "be the Madam", "be the Matron", "be the Milkmaid", "be the Nurse", "be the Schoolteacher", "be the Stewardess", "be the Wardeness", "be your Concubine", "get treatment in the clinic", "learn in the schoolroom", "live with your Head Girl", "rest in the spa", "serve in the club", "serve in the master suite", "work as a farmhand", "work in the zoo", "work as a nanny", "work as a servant", "work in the brothel", "work in the dairy"]>>
+<<set setup.facilityCareers = ["be confined in the arcade", "be confined in the cellblock", "be the Attendant", "be the DJ", "be the Farmer", "be the Zookeeper", "be the Madam", "be the Matron", "be the Milkmaid", "be the Nurse", "be the Schoolteacher", "be the Stewardess", "be the Wardeness", "be your Concubine", "get treatment in the clinic", "learn in the schoolroom", "live with your Head Girl", "rest in the spa", "serve in the club", "serve in the master suite", "work as a farmhand", "work as a nanny", "work as a servant", "work in the brothel", "work in the dairy"]>>
 
 <<set setup.facilityHeads = ["be the Attendant", "be the DJ", "be the Farmer", "be the Zookeeper", "be the Madam", "be the Matron", "be the Milkmaid", "be the Nurse", "be the Schoolteacher", "be the Stewardess", "be the Wardeness", "be your Concubine"]>>
 
diff --git a/src/init/storyInit.tw b/src/init/storyInit.tw
index d0e522f2286..74e5d9c9cb1 100644
--- a/src/init/storyInit.tw
+++ b/src/init/storyInit.tw
@@ -178,7 +178,7 @@ You should have received a copy of the GNU General Public License along with thi
 <</if>>
 
 <<set $organs = []>>
-<<set $ArcadeiIDs = [], $BrothiIDs = [], $CellBiIDs = [], $CliniciIDs = [], $ClubiIDs = [], $DairyiIDs = [], $FarmyardiIDs = [], $ZooiIDs = [], $HGSuiteiIDs = [], $MastSiIDs = [], $SchlRiIDs = [], $ServQiIDs = [], $SpaiIDs = [], $NurseryiIDs = []>>
+<<set $ArcadeiIDs = [], $BrothiIDs = [], $CellBiIDs = [], $CliniciIDs = [], $ClubiIDs = [], $DairyiIDs = [], $FarmyardiIDs = [], $HGSuiteiIDs = [], $MastSiIDs = [], $SchlRiIDs = [], $ServQiIDs = [], $SpaiIDs = [], $NurseryiIDs = []>>
 
 <<if ndef $saveImported>>
 	<<set $saveImported = 0>>
@@ -594,12 +594,6 @@ DairyRestraintsSetting($dairyRestraintsSetting)
 <<set $farmyardName = "the Farmyard">>
 <<set $farmyardNameCaps = "The Farmyard">>
 
-<<set $zoo = 0>>
-<<set $zooSlaves = 0>>
-<<set $zooDecoration = "standard">>
-<<set $zooName = "the Zoo">>
-<<set $zooNameCaps = "The Zoo">>
-
 <<set $HGSuite = 0>>
 <<set $HGSuiteSlaves = 0>>
 <<set $HGSuiteSurgery = 1>>
@@ -911,7 +905,6 @@ DairyRestraintsSetting($dairyRestraintsSetting)
 <<set $Milkmaid = 0>>
 <<set $milkmaidImpregnates = 0>>
 <<set $Farmer = 0>>
-<<set $Zookeeper = 0>>
 <<set $Collectrix = 0>>
 <<set $Stewardess = 0>>
 <<set $stewardessImpregnates = 0>>
diff --git a/src/js/DefaultRules.tw b/src/js/DefaultRules.tw
index ffc52742ccc..b5e7bd140cb 100644
--- a/src/js/DefaultRules.tw
+++ b/src/js/DefaultRules.tw
@@ -197,15 +197,6 @@ window.DefaultRules = (function() {
 				}
 				break;
 
-			case "work in the zoo":
-				if ((V.zooSlaves < V.zoo && canWalk(slave))) //TODO: rework these requirements
-					break;
-				else {
-					RAFacilityRemove(slave, rule);
-					delete rule.setAssignment;
-				}
-				break;
-
 			case "work as a servant":
 				if ((V.servantsQuartersSlaves < V.servantsQuarters && canSee(slave) && canWalk(slave) && (slave.devotion >= -20 || slave.trust < -20 || (slave.devotion >= -50 && slave.trust <= 20))))
 					break;
@@ -324,9 +315,6 @@ window.DefaultRules = (function() {
 					case "work as a farmhand":
 						r += `<br>${slave.slaveName} has been automatically assigned to work in ${V.farmyardName}.`;
 						break;
-					case "work in the zoo":
-						r += `<br>${slave.slaveName} has been automatically assigned to work in ${V.zooName}.`;
-						break;
 					case "work as a servant":
 						r += `<br>${slave.slaveName} has been automatically assigned to work in ${V.servantsQuartersName}.`;
 						break;
@@ -1757,7 +1745,7 @@ window.DefaultRules = (function() {
 		if ((rule.releaseRules !== undefined) && (rule.releaseRules !== "no default setting")) {
 			let _release = 0;
 			if (rule.releaseRules === "restrictive" &&
-				!(["serve the public", "serve in the club", "whore", "work in the brothel", "please you", "serve in the master suite", "be a subordinate slave", "work a glory hole", "be confined in the arcade", "get milked", "work in the dairy", "work as a farmhand", "work in the zoo", "be your Head Girl"].contains(slave.assignment)))
+				!(["serve the public", "serve in the club", "whore", "work in the brothel", "please you", "serve in the master suite", "be a subordinate slave", "work a glory hole", "be confined in the arcade", "get milked", "work in the dairy", "work as a farmhand", "be your Head Girl"].contains(slave.assignment)))
 				_release = 1;
 			else
 				_release = 1;
diff --git a/src/js/assayJS.tw b/src/js/assayJS.tw
index be48b6edce6..62175285b47 100644
--- a/src/js/assayJS.tw
+++ b/src/js/assayJS.tw
@@ -223,7 +223,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. Farmer, V.Zookeeper, 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);
 };
 
@@ -1577,7 +1577,6 @@ window.DegradingName = function DegradingName(slave) {
 		"be the Stewardess",
 		"be the Milkmaid",
 		"be the Farmer",
-		"be the Zookeeper",
 		"be the DJ",
 		"be your Concubine",
 		"be the Madam",
@@ -1929,9 +1928,6 @@ window.DegradingName = function DegradingName(slave) {
 			case "be the Farmer":
 				slave.slaveName = jsEither(["Farmhand", "Farmer"]);
 				break;
-			case "be the Zookeeper":
-				slave.slaveName = jsEither(["Zoo", "Zookeeper"]);
-				break;
 			case "be the DJ":
 				slave.slaveName = jsEither(["Bass", "Booth"]);
 				break;
diff --git a/src/js/assignJS.tw b/src/js/assignJS.tw
index 2b0eeea87a3..9d35a4ce091 100644
--- a/src/js/assignJS.tw
+++ b/src/js/assignJS.tw
@@ -154,31 +154,6 @@ window.assignJob = function assignJob(slave, job) {
 			}
 			break;
 
-		case "work in the zoo":
-		case "zoo":
-		slave.assignment = "work in the zoo";
-		slave.assignmentVisible = 0;
-		V.zooSlaves++;
-		V.ZooiIDs.push(slave.ID);
-		switch (V.zooDecoration) {
-			case "Aztec Revivalist":
-			case "Chinese Revivalist":
-			case "Chattel Religionist":
-			case "Roman Revivalist":
-			case "Edo Revivalist":
-			case "Arabian Revivalist":
-			case "Egyptian Revivalist":
-			case "Supremacist":
-			case "Subjugationist":
-			case "Degradationist":
-				slave.livingRules = "spare";
-				break;
-			default:
-				slave.livingRules = "normal";
-				break;
-		}
-		break;
-
 		case "live with your head girl":
 		case "head girl suite":
 		case "hgsuite":
@@ -272,7 +247,6 @@ window.assignJob = function assignJob(slave, job) {
 		case "be the madam":
 		case "be the milkmaid":
 		case "be the farmer":
-		case "be the zookeeper":
 		case "be the nurse":
 		case "be the schoolteacher":
 		case "be the stewardess":
@@ -378,8 +352,6 @@ window.removeJob = function removeJob(slave, assignment) {
 			V.Milkmaid = 0;
 		if (V.Farmer !== 0 && slave.ID === V.Farmer.ID)
 			V.Farmer = 0;
-		if (V.Zookeeper !== 0 && slave.ID === V.Zookeeper.ID)
-			V.Zookeeper = 0;
 		if (V.Schoolteacher !== 0 && slave.ID === V.Schoolteacher.ID)
 			V.Schoolteacher = 0;
 		if (V.Attendant !== 0 && slave.ID === V.Attendant.ID)
@@ -454,13 +426,6 @@ window.removeJob = function removeJob(slave, assignment) {
 			V.farmyardSlaves--;
 			break;
 
-		case "work in the zoo":
-		case "zoo":
-			slave.assignment = "rest";
-			V.ZooiIDs.delete(slave.ID);
-			V.zooSlaves--;
-			break;
-
 		case "learn in the schoolroom":
 		case "schoolroom":
 			slave.assignment = "rest";
diff --git a/src/js/datatypeCleanupJS.tw b/src/js/datatypeCleanupJS.tw
index 08943e9c561..c9407a0a941 100644
--- a/src/js/datatypeCleanupJS.tw
+++ b/src/js/datatypeCleanupJS.tw
@@ -1293,6 +1293,4 @@ window.FacilityNameCleanup = function FacilityNameCleanup() {
 	V.incubatorNameCaps = V.incubatorNameCaps || "The Incubator";
 	V.farmyardName = V.farmyardName || "the Farmyard";
 	V.farmyardNameCaps = V.farmyardNameCaps || "The Farmyard";
-	V.zooName = V.zooName || "the Zoo";
-	V.zooNameCaps = V.zooNameCaps || "The Zoo";
 };
diff --git a/src/js/economyJS.tw b/src/js/economyJS.tw
index c189059b3b8..f5440d8e7a5 100644
--- a/src/js/economyJS.tw
+++ b/src/js/economyJS.tw
@@ -7,7 +7,7 @@ window.Job = Object.freeze({
 	SERVANT: 'work as a servant', SERVER: 'be a servant', STEWARD: 'be the Stewardess', CLUB: 'serve in the club', DJ: 'be the DJ',
 	JAIL: 'be confined in the cellblock', WARDEN: 'be the Wardeness', CLINIC: 'get treatment in the clinic', NURSE: 'be the Nurse',
 	HGTOY: 'live with your Head Girl', SCHOOL: 'learn in the schoolroom', TEACHER: 'be the Schoolteacher', SPA: 'rest in the spa', ATTEND: 'be the Attendant',
-	NANNY: 'work as a nanny', MATRON: 'be the Matron', FARMYARD: 'work as a farmhand', FARMER: 'be the Farmer', ZOO: 'work in the zoo', ZOOKEEPER: 'be the Zookeeper', REST: 'rest'
+	NANNY: 'work as a nanny', MATRON: 'be the Matron', FARMYARD: 'work as a farmhand', FARMER: 'be the Farmer', REST: 'rest'
 	});
 window.PersonalAttention = Object.freeze({TRADE: 'trading', WAR: 'warfare', SLAVING: 'slaving', ENGINEERING: 'engineering', MEDICINE: 'medicine', MAID: 'upkeep', HACKING: 'hacking'});
 
@@ -22,7 +22,6 @@ window.getCost = function(array) {
 	var club = State.variables.club;
 	var dairy = State.variables.dairy;
 	var farmyard = State.variables.farmyard;
-	var zoo = State.variables.zoo;
 	var servantsQuarters = State.variables.servantsQuarters;
 	var nursery = State.variables.nursery;
 	var incubator = State.variables.incubator;
@@ -34,7 +33,6 @@ window.getCost = function(array) {
 		+ (dairy * facilityCost)
 		+ (nursery * facilityCost)
 		+ (farmyard * facilityCost)
-		+ (zoo * facilityCost)
 		+ (State.variables.incubator * facilityCost * 10);
 	var secExpCost = 0;
 	var soldierMod = 0;
diff --git a/src/js/rulesAssistant.tw b/src/js/rulesAssistant.tw
index 6c1fd5d16d2..f496cdbb87f 100644
--- a/src/js/rulesAssistant.tw
+++ b/src/js/rulesAssistant.tw
@@ -91,13 +91,6 @@ window.RAFacilityRemove = function RAFacilityRemove(slave, rule) {
 		}
 		break;
 
-	case "work in the zoo":
-		if (slave.assignment === rule.setAssignment) {
-			r += `<br>${slave.slaveName} has been removed from ${V.zooName} and has been assigned to ${rule.removalAssignment}.`;
-			assignJob(slave.rule.removalAssignment);
-		}
-		break;
-
 	case "rest in the spa":
 		if (slave.assignment === rule.setAssignment) {
 			r += `<br>${slave.slaveName} has been removed from ${V.spaName} and has been assigned to ${rule.removalAssignment}.`;
diff --git a/src/js/rulesAssistantOptions.tw b/src/js/rulesAssistantOptions.tw
index 98c84c727c3..d0df39bc8fb 100644
--- a/src/js/rulesAssistantOptions.tw
+++ b/src/js/rulesAssistantOptions.tw
@@ -816,7 +816,6 @@ window.rulesAssistantOptions = (function() {
 				"Arcade": "be confined in the arcade",
 				"Dairy": "work in the dairy",
 				"Farmyard": "work as a farmhand",
-				"Zoo": "work in the zoo",
 				"Servant Quarters": "work as a servant",
 				"Master Suite": "serve in the master suite",
 				"Schoolroom": "learn in the schoolroom",
@@ -3431,7 +3430,6 @@ window.rulesAssistantOptions = (function() {
 			if (V.arcade > 0) items.push(["Arcade", "be confined in the arcade"]);
 			if (V.dairy > 0) items.push(["Dairy", "work in the dairy"]);
 			if (V.farmyard > 0) items.push(["Farmyard", "work as a farmhand"]);
-			if (V.zoo > 0) items.push(["Zoo", "work in the zoo"]);
 			if (V.servantsQuarters > 0) items.push(["Servant Quarters", "work as a servant"]);
 			if (V.masterSuite > 0) items.push(["Master Suite", "serve in the master suite"]);
 			if (V.schoolroom > 0) items.push(["Schoolroom", "learn in the schoolroom"]);
diff --git a/src/js/slaveCostJS.tw b/src/js/slaveCostJS.tw
index b4d470b2eb7..cfafbf8bce4 100644
--- a/src/js/slaveCostJS.tw
+++ b/src/js/slaveCostJS.tw
@@ -1801,8 +1801,6 @@ window.slaveCost = (function() {
 				multiplier += 0.1;
 			} else if (setup.farmerCareers.includes(slave.career)) {
 				multiplier += 0.1;
-			} else if (setup.zookeeperCareers.includes(slave.career)) {
-				multiplier += 0.1;
 			} else if (setup.madamCareers.includes(slave.career)) {
 				multiplier += 0.1;
 			} else if (setup.DJCareers.includes(slave.career)) {
@@ -1857,9 +1855,6 @@ window.slaveCost = (function() {
 		if (!setup.farmerCareers.includes(slave.career) && slave.skillFA >= V.masteredXP) {
 			multiplier += 0.1;
 		}
-		if (!setup.zookeeperCareers.includes(slave.career) && slave.skillZO >= V.masteredXP) {
-			multiplier += 0.1;
-		}
 		if (!setup.madamCareers.includes(slave.career) && slave.skillMD >= V.masteredXP) {
 			multiplier += 0.1;
 		}
diff --git a/src/npc/asDump.tw b/src/npc/asDump.tw
index 9384ff4646b..35df1e2b2f7 100644
--- a/src/npc/asDump.tw
+++ b/src/npc/asDump.tw
@@ -31,7 +31,6 @@
 		<<case $DJ.ID>><<set $DJ = $activeSlave>>
 		<<case $Milkmaid.ID>><<set $Milkmaid = $activeSlave>>
 		<<case $Farmer.ID>><<set $Farmer = $activeSlave>>
-		<<case $Zookeeper.ID>><<set $Zookeeper = $activeSlave>>
 		<<case $Schoolteacher.ID>><<set $Schoolteacher = $activeSlave>>
 		<<case $Attendant.ID>><<set $Attendant = $activeSlave>>
 		<<case $Matron.ID>><<set $Matron = $activeSlave>>
diff --git a/src/npc/descriptions/fAnus.tw b/src/npc/descriptions/fAnus.tw
index 6e0c15da976..ed3a21ae9ea 100644
--- a/src/npc/descriptions/fAnus.tw
+++ b/src/npc/descriptions/fAnus.tw
@@ -189,8 +189,6 @@ $His anus is invitingly bleached,
 			$He goes off to carefully wash $his _Anus to avoid besmirching the nice clean dairy.
 		<<case "work as a farmhand">>
 			$He goes off to wash $his _Anus to avoid tainting the food in $farmyardName.
-		<<case "work in the zoo">>
-			/*TODO: write a description for this */
 		<<case "work as a servant">>
 			$He rushes to wash $his _Anus, impatient to get back to $his many chores.
 		<<case "work as a nanny">>
diff --git a/src/npc/descriptions/fBoobs.tw b/src/npc/descriptions/fBoobs.tw
index e402fe206de..3738a706b01 100644
--- a/src/npc/descriptions/fBoobs.tw
+++ b/src/npc/descriptions/fBoobs.tw
@@ -205,8 +205,6 @@ tits.
 	$He goes off to carefully wash $his <<if $activeSlave.boobs > 1500>>acre of cleavage<<elseif $activeSlave.boobs > 500>>generous cleavage<<else>>chest<</if>> to keep production in $dairyName nice and sanitary.
 <<case "work as a farmhand">>
 	$He goes off to carefully wash $his <<if $activeSlave.boobs > 1500>>acre of cleavage<<elseif $activeSlave.boobs > 500>>generous cleavage<<else>>chest<</if>> to make sure $he doesn't taint the food in $farmyardName.
-<<case "work in the zoo">>
-			/*TODO: write a description for this */
 <<case "whore">>
 	$He heads off to wash $his <<if $activeSlave.boobs > 1500>>acre of cleavage<<elseif $activeSlave.boobs > 500>>generous cleavage<<else>>chest<</if>> before $he returns to prostituting $himself.
 <<case "work in the brothel">>
diff --git a/src/npc/descriptions/fButt.tw b/src/npc/descriptions/fButt.tw
index 45cb4ac9e8d..79928dfa5d1 100644
--- a/src/npc/descriptions/fButt.tw
+++ b/src/npc/descriptions/fButt.tw
@@ -230,8 +230,6 @@ $His anus is invitingly bleached,
 	$He goes off to carefully wash $his <<if canDoVaginal($activeSlave) && canDoAnal($activeSlave)>>holes<<elseif canDoVaginal($activeSlave) || canDoAnal($activeSlave)>>fuckhole<<else>>face<</if>> to avoid besmirching the nice clean dairy.
 <<case "work as a farmhand">>
 	$He goes off to wash $his <<if canDoVaginal($activeSlave) && canDoAnal($activeSlave)>>holes<<elseif canDoVaginal($activeSlave) || canDoAnal($activeSlave)>>fuckhole<<else>>face<</if>> to avoid tainting the food in $farmyardName.
-<<case "work in the zoo">>
-			/*TODO: write a description for this */
 <<case "work as a servant">>
 	$He rushes to wash $his <<if canDoVaginal($activeSlave) && canDoAnal($activeSlave)>>holes<<elseif canDoVaginal($activeSlave) || canDoAnal($activeSlave)>>fuckhole<<else>>face<</if>>, impatient to get back to $his undiminished chores.
 <<case "work as a nanny">>
diff --git a/src/npc/descriptions/fVagina.tw b/src/npc/descriptions/fVagina.tw
index bea324b82cc..68b706d6312 100644
--- a/src/npc/descriptions/fVagina.tw
+++ b/src/npc/descriptions/fVagina.tw
@@ -525,8 +525,6 @@ You call $him over so you can
 		to avoid besmirching the nice clean dairy.
 	<<case "work as a farmhand">>
 		to avoid tainting the food in $farmyardName.
-	<<case "work in the zoo">>
-			/*TODO: write a description for this */
 	<<case "work as a servant">>
 		mostly to keep everything $he has to clean from getting any dirtier.
 	<<case "work as a nanny">>
diff --git a/src/pregmod/FSuckle.tw b/src/pregmod/FSuckle.tw
index 567285b3717..a70dd269101 100644
--- a/src/pregmod/FSuckle.tw
+++ b/src/pregmod/FSuckle.tw
@@ -413,8 +413,6 @@ Once you <<if _mood == 1>>wake and slowly rise to your feet, you help $him clean
 	before returning to the dairy.
 <<case "work as a farmhand">>
 	to avoid tainting the food in $farmyardName.
-<<case "work in the zoo">>
-			/*TODO: write a description for this */
 <<case "work as a servant">>
 	mostly to keep everything $he has to clean from getting any dirtier.
 <<case "work as a nanny">>
diff --git a/src/pregmod/JobFulfillmentCenter/JobFulfillmentCenterOrder.tw b/src/pregmod/JobFulfillmentCenter/JobFulfillmentCenterOrder.tw
index 33c20bf759d..522b9a71777 100644
--- a/src/pregmod/JobFulfillmentCenter/JobFulfillmentCenterOrder.tw
+++ b/src/pregmod/JobFulfillmentCenter/JobFulfillmentCenterOrder.tw
@@ -31,7 +31,6 @@
 				<br>[[Stewardess|JobFulfillmentCenterOrder][$JFCOrder = 1, $Role = "Stewardess"]]
 				<br>[[Milkmaid|JobFulfillmentCenterOrder][$JFCOrder = 1, $Role = "Milkmaid"]]
 				<br>[[Farmer|JobFulfillmentCenterOrder][$JFCOrder = 1, $Role = "Farmer"]]
-				<br>[[Zookeeper|JobFulfillmentCenterOrder][$JFCOrder = 1, $Role = "Zookeeper"]]
 				<br>[[Return|JobFulfillmentCenterOrder]]
 		<</replace>>
 		<</link>>
diff --git a/src/pregmod/beastFuck.tw b/src/pregmod/beastFuck.tw
index de0a5335604..e980ef24d98 100644
--- a/src/pregmod/beastFuck.tw
+++ b/src/pregmod/beastFuck.tw
@@ -344,8 +344,6 @@ before calling in the _animal.species. The _animal.species slowly saunters up to
 			to avoid besmirching the nice clean dairy.
 		<<case "work as a farmhand">>
 			to avoid tainting the food in $farmyardName.
-		<<case "work in the zoo">>
-			TODO: write a description for this
 		<<case "work as a servant">>
 			mostly to keep everything $he has to clean from getting any dirtier.
 		<<case "whore">>
diff --git a/src/pregmod/beastFucked.tw b/src/pregmod/beastFucked.tw
index 3ca44d844c0..ef37a4ffd9b 100644
--- a/src/pregmod/beastFucked.tw
+++ b/src/pregmod/beastFucked.tw
@@ -453,8 +453,6 @@ before calling in the _animal.species. The _animal.species slowly saunters up to
 				to avoid besmirching the nice clean dairy.
 			<<case "work as a farmhand">>
 				to avoid tainting the food in $farmyardName.
-			<<case "work in the zoo">>
-			/*TODO: write a description for this */
 			<<case "work as a servant">>
 				mostly to keep everything $he has to clean from getting any dirtier.
 			<<case "whore">>
diff --git a/src/pregmod/fDick.tw b/src/pregmod/fDick.tw
index be85c935a58..997b05153f8 100644
--- a/src/pregmod/fDick.tw
+++ b/src/pregmod/fDick.tw
@@ -244,8 +244,6 @@
 		$He goes off to carefully wash $his dick to avoid besmirching the nice clean dairy.
 	<<case "work as farmhand">>
 		$He goes off to wash $his dick to avoid tainting the food in $farmyardName.
-	<<case "work in the zoo">>
-			/*TODO: write a description for this */
 	<<case "work as a servant">>
 		$He rushes to wash $his dick, impatient to get back to $his undiminished chores.
 	<<case "work as a nanny">>
diff --git a/src/pregmod/pRaped.tw b/src/pregmod/pRaped.tw
index 57f7619607c..a058ded2f6c 100644
--- a/src/pregmod/pRaped.tw
+++ b/src/pregmod/pRaped.tw
@@ -211,7 +211,6 @@ Now the only question is what to do with the would-be rapist. You could toss the
 		<</replace>>
 	<</link>>
 	<</if>>
-	/* TODO: add a subsection for the Zoo */
 	<<if $seeExtreme > 0>>
 	<br><<link "Punitively amputate $his limbs, and then enslave $him">>
 		<<set $activeSlave.health -= 20>>
diff --git a/src/pregmod/widgets/assignmentFilterWidget.tw b/src/pregmod/widgets/assignmentFilterWidget.tw
index 3dc1fa21202..8312536d300 100644
--- a/src/pregmod/widgets/assignmentFilterWidget.tw
+++ b/src/pregmod/widgets/assignmentFilterWidget.tw
@@ -47,10 +47,6 @@
 	<<set $slaves.map(function(y){y.assignmentVisible = 0})>><<set $slaves.filter(function(x){return x.assignment == "work as a farmhand" || x.assignment == "be the Farmer"}).map(function(y){y.assignmentVisible = 1})>>
 <</widget>>
 
-<<widget "zooAssignmentFilter">>
-	<<set $slaves.map(function(y){y.assignmentVisible = 0})>><<set $slaves.filter(function(x){return x.assignment == "work in the zoo" || x.assignment == "be the Zookeeper"}).map(function(y){y.assignmentVisible = 1})>>
-<</widget>>
-
 <<widget "headgirlSuiteAssignmentFilter">>
 	<<set $slaves.map(function(y){y.assignmentVisible = 0})>><<set $slaves.filter(function(x){return x.assignment == "live with your Head Girl"}).map(function(y){y.assignmentVisible = 1})>>
 <</widget>>
diff --git a/src/pregmod/widgets/economyWidgets.tw b/src/pregmod/widgets/economyWidgets.tw
index b6931526f4d..d87830603b3 100644
--- a/src/pregmod/widgets/economyWidgets.tw
+++ b/src/pregmod/widgets/economyWidgets.tw
@@ -374,90 +374,6 @@
 	<</if>>
 <</widget>>
 
-<<widget "ZooStatistics">>
-/* TODO: this entire subsection */
-	<<if ($showEconomicDetails)>>
-	<<if (!$facility || !$facility.zoo)>>
-		<h4>- No statistics for $zooName gathered this week -</h4>
-	<<else>>
-		<<set _details = $args[0]>>
-		<<set _b = $facility.zoo>>
-		<<set _b.whoreIncome = (def _b.whoreIncome) ? _b.whoreIncome : 0>>
-		<<set _b.whoreCosts = (def _b.whoreCosts) ? _b.whoreCosts : 0>>
-		<<set _b.maintenance = (def _b.maintenance) ? _b.maintenance : 0>>
-		<<set _b.totalIncome = (def _b.totalIncome) ? _b.totalIncome : 0>>
-		<<set _b.totalExpenses = (def _b.totalExpenses) ? _b.totalExpenses : 0>>
-		<<set _b.profit = (def _b.profit) ? _b.profit : 0>>
-		<table border="1" style="width: 100%; padding-left: 20px; padding-right: 20px;">
-		<tr style="border-bottom: 2px solid white;">
-			<th>Items</th>
-			<th style="width: 20em; text-align: right">Revenue</th>
-			<th style="width: 10em; text-align: right">Expenses</th>
-			<th style="width: 10em; text-align: right">Net Income</th>
-			<th style="width: 10em; text-align: right">Rep. Change</th>
-		</tr>
-		<tr>
-			<td>Total farmhand income</td>
-			<td style="padding-right: 3px; text-align: right">@@.yellowgreen;¤<<= _b.whoreIncome.toFixedHTML(2)>>@@</td>
-			<td></td>
-			<td style="padding-right: 3px; text-align: right">@@.yellowgreen;¤<<= _b.whoreIncome.toFixedHTML(2)>>@@</td>
-			<td style="padding-right: 3px; text-align: right;"></td>
-		</tr>
-		<tr>
-			<td>Total farmhand living costs</td>
-			<td></td>
-			<td style="padding-right: 3px; text-align: right">@@.red;¤<<= _b.whoreCosts.toFixedHTML(2)>>@@</td>
-			<td style="padding-right: 3px; text-align: right">@@.red;¤-<<= _b.whoreCosts.toFixedHTML(2)>>@@</td>
-			<td></td>
-		</tr>
-		<<if _details>>
-		<tr>
-			<td colspan="5"><b>Farmhand details</b>
-			<table style="width: 100%; font-size: 90%; line-height: 110%;">
-			<tr>
-				<th>Farmhand</th>
-				<th style="width: 10em; text-align: right">Milk/Cum/Fluids</th>
-				<th style="width: 22em; text-align: right">Revenue</th>
-				<th style="width: 11em; text-align: right">Expenses</th>
-				<th style="width: 11.5em; text-align: right">Net Income</th>
-				<th style="width: 11em; text-align: right">Rep. Change</th>
-			</tr>
-			<<set _slaveDetails = _b.income.values()>>
-			<<set _slaveInfo = _slaveDetails.next()>>
-			<<for !_slaveInfo.done>>
-				<<set _revenue = _slaveInfo.value.income, _netIncome = _revenue - _slaveInfo.value.cost>>
-				<tr style="border-bottom: 1px solid #aaa; border-left: none; border-right: none; border-top: none">
-					<td><<if (_slaveInfo.value.customLabel)>>(@@.yellow;''_slaveInfo.value.customLabel''@@) <</if>>_slaveInfo.value.slaveName</td>
-					<td style="padding-right: 3px; text-align: right"><<= _slaveInfo.value.milk>>/<<= _slaveInfo.value.cum>>/<<= _slaveInfo.value.fluid>></td>
-					<td style="padding-right: 3px; text-align: right">@@.yellowgreen;¤<<= _revenue.toFixedHTML(2)>>@@<<if (_slaveInfo.value.adsIncome > 0)>> (@@.yellowgreen;¤<<= _slaveInfo.value.adsIncome.toFixedHTML(2)>>@@ due to advertising)<</if>></td>
-					<td style="padding-right: 3px; text-align: right">@@.red;¤<<= _slaveInfo.value.cost.toFixedHTML(2)>>@@</td>
-					<td style="padding-right: 3px; text-align: right"><<if (_netIncome > 0)>>@@.yellowgreen;¤<<= _netIncome.toFixedHTML(2)>>@@<<elseif (_netIncome < 0)>>@@.red;¤<<= _netIncome.toFixedHTML(2)>>@@<<else>>¤<<= _netIncome.toFixedHTML(2)>><</if>></td>
-					<td style="padding-right: 3px; text-align: right;"></td>
-				</tr>
-				<<set _slaveInfo = _slaveDetails.next()>>
-			<</for>>
-			</table>
-			</td>
-		</tr>
-		<</if>>
-		<tr>
-			<td>Zoo maintenance</td>
-			<td></td>
-			<td style="padding-right: 2px; text-align: right">@@.red;¤<<= _b.maintenance.toFixedHTML(2)>>@@</td>
-			<td style="padding-right: 2px; text-align: right">@@.red;¤-<<= _b.maintenance.toFixedHTML(2)>>@@</td>
-			<td></td>
-		</tr>
-		<tr style="border-top: 1px solid white;">
-			<td><b>Total</b></td>
-			<td style="padding-right: 2px; text-align: right">@@.yellowgreen;¤<<= _b.totalIncome.toFixedHTML(2)>>@@</td>
-			<td style="padding-right: 2px; text-align: right">@@.red;¤<<= _b.totalExpenses.toFixedHTML(2)>>@@</td>
-			<td style="padding-right: 2px; text-align: right"><b><<if (_b.profit > 0)>>@@.yellowgreen;¤<<= _b.profit.toFixedHTML(2)>>@@<<elseif (_b.profit < 0)>>@@.red;¤<<= _b.profit.toFixedHTML(2)>>@@<<else>>¤<<= _b.profit.toFixedHTML(2)>><</if>></b></td>
-			<td style="padding-right: 2px; text-align: right;"><b></b></td></tr>
-		</table>
-	<</if>>
-	<</if>>
-<</widget>>
-
 <<widget "ArcadeStatistics">>
 	<<if ($showEconomicDetails)>>
 	<<if (!$facility || !$facility.arcade)>>
diff --git a/src/pregmod/widgets/pregmodBirthWidgets.tw b/src/pregmod/widgets/pregmodBirthWidgets.tw
index 670121e7355..4706a1d0119 100644
--- a/src/pregmod/widgets/pregmodBirthWidgets.tw
+++ b/src/pregmod/widgets/pregmodBirthWidgets.tw
@@ -296,34 +296,6 @@
 		<</if>>
 	<</if>>
 
-<<case "work in the zoo">>	/* TODO: this needs a rewrite */
-	<<if $slaves[$i].fetish == "mindbroken">>
-		<<if $zooPregSetting > 0>>
-			Since the zoo is designed for pregnant cows, $he stays hooked up to the milkers. $He shows little interest in $his coming birth, instead focusing on $his milky breasts. Instinctively, $he begins to push out <<if $slaves[$i].birthsTotal == 0>>$his first<<else>>this week's<</if>> baby. $He shows no interest in $his child being removed from the milking stall, nor when $his still very gravid body is hosed off.
-		<<else>>
-			<<if (random(1,20) > $suddenBirth)>>
-				<<if !canWalk($slaves[$i])>>$He is helped back to $his bed and stripped before slipping into it<<else>>$He returns to $his bed and strips before slipping into it<</if>>. Instinctively, $he begins to push out <<if $slaves[$i].birthsTotal == 0>>$his first<<else>>this week's<</if>> baby. $His child is promptly taken and $he rests awhile before returning to the milkers to lighten $his swelling breasts.
-			<<else>>
-				While getting milked, $slaves[$i].slaveName's water breaks. $He show little interest and continues kneading $his breasts.
-				<<ClothingBirth>>
-				$He shows no interest in <<if $slaves[$i].birthsTotal == 0>>$his first<<else>>this week's<</if>> child being removed from the milking stall, nor $his still very gravid middle, instead focusing entirely on draining $his breasts.
-			<</if>>
-		<</if>>
-	<<else>>
-		<<if $zooPregSetting > 0>>
-			Since the zoo is designed for pregnant cows, $he stays hooked up to the milkers. $He meekly protests $his situation, but ultimately accepts it. $He begins working on birthing $his <<if $slaves[$i].birthsTotal == 0>>$his first<<else>>this week's<</if>> baby, and catches a glimpse of $his child being removed from the milking stall, but quickly forgets when $he is hosed off.
-			<<set $humiliation = 1>>
-		<<else>>
-			<<if (random(1,20) > $suddenBirth)>>
-				<<if !canWalk($slaves[$i])>>$He is helped back to $his bed and stripped before slipping into it<<else>>$He returns to $his bed and strips before slipping into it<</if>>. $He makes $himself comfortable and begins working on birthing <<if $slaves[$i].birthsTotal == 0>>$his first<<else>>this week's<</if>> baby. $His child is promptly taken and $he rests awhile before returning to the milkers to lighten $his swelling breasts.
-			<<else>>
-				While getting milked, $slaves[$i].slaveName's water breaks. $He shifts into a comfortable position to give birth while the milker works $his breasts.
-				<<ClothingBirth>>
-				$He takes a break from milking to collect <<if $slaves[$i].birthsTotal == 0>>$his first<<else>>this week's<</if>> child for removal and to catch $his breath before reattaching the milkers and coaxing $his milk to begin flowing anew.
-			<</if>>
-		<</if>>
-	<</if>>
-
 <<case "please you">>
 	<<if !canWalk($slaves[$i])>>
 		<<if $slaves[$i].fetish == "mindbroken">>
@@ -1025,15 +997,6 @@
 		Quickly, $he collects <<if $slaves[$i].birthsTotal == 0>>$his first<<else>>this week's<</if>> child for removal before returning to $farmyardName. The cows around $his stall all have a knowing look on their faces<<if $farmyardPregSetting > 0>> but with their own swollen bellies hanging heavily from them, they know that they soon will follow $his lead.<<else>>.<</if>>
 	<</if>>
 
-<<case "be the Zookeeper">>	/* TODO: this needs a rewrite */
-	<<if (random(1,20) > $suddenBirth)>>
-		$He returns to $his bed and strips before slipping into it. $He makes $himself comfortable and begins working on birthing <<if $slaves[$i].birthsTotal == 0>>$his first<<else>>this week's<</if>> baby. $He is quite experienced in delivering $his cows' children, but $he finds it much more difficult to apply $his knowledge to $himself. $His child is promptly taken and, after a short rest, $he returns to caring for your cows, as gravid as ever.
-	<<else>>
-		While tending to $his stock, $slaves[$i].slaveName's water breaks. $He hastily pulls $himself into a vacant stall and seats $himself in its corner.
-		<<ClothingBirth>>
-		Quickly, $he collects <<if $slaves[$i].birthsTotal == 0>>$his first<<else>>this week's<</if>> child for removal before returning to $zooName. The cows around $his stall all have a knowing look on their faces<<if $zooPregSetting > 0>> but with their own swollen bellies hanging heavily from them, they know that they soon will follow $his lead.<<else>>.<</if>>
-	<</if>>
-
 <<case "be the Wardeness">>
 	<<setNonlocalPronouns $seeDicks>>
 	<<if $slaves[$i].fetish == "mindbroken">>
diff --git a/src/uncategorized/BackwardsCompatibility.tw b/src/uncategorized/BackwardsCompatibility.tw
index 10928a23f2f..ac5db99a776 100644
--- a/src/uncategorized/BackwardsCompatibility.tw
+++ b/src/uncategorized/BackwardsCompatibility.tw
@@ -11,7 +11,7 @@
 <</if>>
 
 <<if def $youngCareers>>
-	<<unset $youngCareers, $educatedCareers, $uneducatedCareers, $gratefulCareers, $menialCareers, $entertainmentCareers, $whoreCareers, $HGCareers, $madamCareers, $DJCareers, $bodyguardCareers, $wardenessCareers, $nurseCareers, $attendantCareers, $matronCareers, $milkmaidCareers, $farmerCareers, $zookeeperCareers, $stewardessCareers, $schoolteacherCareers>>
+	<<unset $youngCareers, $educatedCareers, $uneducatedCareers, $gratefulCareers, $menialCareers, $entertainmentCareers, $whoreCareers, $HGCareers, $madamCareers, $DJCareers, $bodyguardCareers, $wardenessCareers, $nurseCareers, $attendantCareers, $matronCareers, $milkmaidCareers, $farmerCareers, $stewardessCareers, $schoolteacherCareers>>
 
 	<<unset $whiteNationalities, $asianNationalities, $latinaNationalities, $middleeasternNationalities, $blackNationalities, $indoaryanNationalities, $pacificislanderNationalities, $malayNationalities, $amerindianNationalities, $southerneuropeanNationalities, $semiticNationalities>>
 
@@ -910,31 +910,6 @@
 	<<unset $boughtTigers>>
 <</if>>
 
-<<if ndef $ZooiIDs>>
-	<<set $ZooiIDs = []>>
-<</if>>
-<<if $ZooiIDs.length > 0 && typeof $ZooiIDs[0] === 'object'>>
-	<<set $ZooiIDs = $ZooiIDs.map(function(a) { return a.ID; })>>
-<</if>>
-<<if ndef $Zookeeper>>
-	<<set $Zookeeper = 0>>
-<</if>>
-<<if ndef $zooDecoration>>
-	<<set $zooDecoration = "standard">>
-<</if>>
-<<if ndef $zooName>>
-	<<set $zooName = "the Zoo">>
-<</if>>
-<<if ndef $zooNameCaps>>
-	<<set $zooNameCaps = "The Zoo">>
-<</if>>
-<<if ndef $zoo>>
-	<<set $zoo = 0>>
-<</if>>
-<<if ndef $zooSlaves>>
-	<<set $zooSlaves = 0>>
-<</if>>
-
 <<if ndef $clinicUpgradePurge>>
 	<<set $clinicUpgradePurge = 0>>
 <</if>>
diff --git a/src/uncategorized/RESS.tw b/src/uncategorized/RESS.tw
index e8774c8941f..ab29901920e 100644
--- a/src/uncategorized/RESS.tw
+++ b/src/uncategorized/RESS.tw
@@ -5416,8 +5416,6 @@ brought in to you. This time <<EventNameLink $activeSlave>> has been sent to del
 				$his stall,
 			<<case "work as a farmhand">>
 				$farmyardName,
-			<<case "work in the zoo">>
-				$zooName,
 			<<case "serve in the club">>
 				dancing,
 			<<case "serve in the master suite">>
@@ -18300,7 +18298,6 @@ You tell her kindly that you understand, and that $he'll be trained to address t
 		<<case "be the Stewardess">>($his office in $servantsQuartersName, where $he'll divvy out today's tasks),
 		<<case "be the Milkmaid">>($dairyName, to check on the cattle),
 		<<case "be the Farmer">><<($farmyardName, to tend to the crops),
-		<<case "be the Zookeeper">><<($zooName, to manage the zoo),
 		<<case "be the Wardeness">>($cellblockName, to oversee the inmates),
 		<<case "be your Concubine">>(your bed),
 		<<case "be the Nurse">>($clinicName, to check on the patients),
diff --git a/src/uncategorized/buildingWidgets.tw b/src/uncategorized/buildingWidgets.tw
index a5b065fdf62..9d59311731b 100644
--- a/src/uncategorized/buildingWidgets.tw
+++ b/src/uncategorized/buildingWidgets.tw
@@ -54,7 +54,6 @@ Yes, I am aware this is horrible. If anyone can figure out how to get widgets to
 	td#Penthouse		{ border-color: teal; }
 	td#Dairy			{ border-color: white; }
 	td#Farmyard			{ border-color: brown; }
-	td#Zoo				{ border-color: indigo; }
 	td#Nursery			{ border-color: deepskyblue; }
 </style>
 
@@ -85,7 +84,6 @@ 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>>)'},
-			Zoo: { extra: ' <<if $zooNameCaps != "The Zoo">>$zooNameCaps<</if>> ($zooSlaves/<<print $zoo>><<if $Zookeeper>>, 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' },
diff --git a/src/uncategorized/costsReport.tw b/src/uncategorized/costsReport.tw
index d899cc6e9e3..d39996755c3 100644
--- a/src/uncategorized/costsReport.tw
+++ b/src/uncategorized/costsReport.tw
@@ -147,10 +147,6 @@ your __personal living expenses__ are <<print cashFormat(Math.trunc($girls*(250+
 		__Farmyard__: <<print cashFormat($farmyard*$facilityCost)>>
 		<<set _archologyCosts += $farmyard*$facilityCost>>
 	<</if>>
-	<<if $zoo > 0>> /*TODO: this will also need to be expanded*/
-		__Zoo__: <<print cashFormat($zoo*$facilityCost)>>
-		<<set _archologyCosts += $zoo*$facilityCost>>
-	<</if>>
 <</if>>
 
 <<if ($servantsQuarters > 0 && $servantsQuartersUpgradeMonitoring > 0) ||
@@ -390,12 +386,6 @@ $nursery > 0 || $masterSuiteUpgradePregnancy > 0 || $incubator > 0 ||
 			<<else>>
 				<<set _livingExpense = $rulesCost>>
 			<</if>>
-		<<case "work in the zoo">>			/* TODO: this may need tweaking */
-			<<if $slaves[$i].livingRules == "normal">>
-				<<set _livingExpense = ($rulesCost*1.5)>>
-			<<else>>
-				<<set _livingExpense = $rulesCost>>
-			<</if>>
 		<<case "work in the brothel">>
 			<<if $slaves[$i].livingRules == "normal">>
 				<<set _livingExpense = ($rulesCost*1.5)>>
@@ -436,7 +426,7 @@ $nursery > 0 || $masterSuiteUpgradePregnancy > 0 || $incubator > 0 ||
 			<<else>>
 				<<set _livingExpense = ($rulesCost*.9)>>
 			<</if>>
-		<<case "be the Madam" "be the DJ" "be the Nurse" "be the Wardeness" "be the Attendant" "be the Matron" "be the Schoolteacher" "be the Stewardess" "be the Milkmaid" "be the Farmer" "be the Zookeeper">>
+		<<case "be the Madam" "be the DJ" "be the Nurse" "be the Wardeness" "be the Attendant" "be the Matron" "be the Schoolteacher" "be the Stewardess" "be the Milkmaid" "be the Farmer">>
 			<<set _livingExpense = ($rulesCost*2)>>
 		<<default>>
 			<<if $slaves[$i].livingRules == "luxurious">>
diff --git a/src/uncategorized/endWeek.tw b/src/uncategorized/endWeek.tw
index f915b25fab0..ce47dc0a47b 100644
--- a/src/uncategorized/endWeek.tw
+++ b/src/uncategorized/endWeek.tw
@@ -197,7 +197,7 @@
 	<<set $PC.pregWeek++>>
 <</if>>
 
-<<set $HGEnergy = 0, $HGCum = 0, $HGSlaveSuccess = 0, $HeadGirl = 0, $Recruiter = 0, $Madam = 0, $madamCashBonus = 0, $DJ = 0, $DJRepBonus = 0, $Milkmaid = 0, $Farmer = 0, $Zookeeper = 0, $Collectrix = 0, $Stewardess = 0, $Schoolteacher = 0, $Wardeness = 0, $Concubine = 0, $Attendant = 0, $Matron = 0, $Nurse = 0, $Bodyguard = 0, $fuckSlaves = 0, $freeSexualEnergy = 0, $publicServants = 0, $cumSlaves = 0, $averageDick = 0, $slavesWithWorkingDicks = 0>>
+<<set $HGEnergy = 0, $HGCum = 0, $HGSlaveSuccess = 0, $HeadGirl = 0, $Recruiter = 0, $Madam = 0, $madamCashBonus = 0, $DJ = 0, $DJRepBonus = 0, $Milkmaid = 0, $Farmer = 0, $Collectrix = 0, $Stewardess = 0, $Schoolteacher = 0, $Wardeness = 0, $Concubine = 0, $Attendant = 0, $Matron = 0, $Nurse = 0, $Bodyguard = 0, $fuckSlaves = 0, $freeSexualEnergy = 0, $publicServants = 0, $cumSlaves = 0, $averageDick = 0, $slavesWithWorkingDicks = 0>>
 
 /* GAMEOVERS */
 <<if $slaves.length < 1>>
diff --git a/src/uncategorized/futureSociety.tw b/src/uncategorized/futureSociety.tw
index c0b5e2d6a9d..b907c605155 100644
--- a/src/uncategorized/futureSociety.tw
+++ b/src/uncategorized/futureSociety.tw
@@ -1189,12 +1189,6 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc
 	<<SetFacilityDecoration "farmyardDecoration">>
 <</if>>
 
-<<if $zoo > 0>>
-	<<run ValidateFacilityDecoration("zooDecoration")>>
-	<br>$zooNameCaps is decorated in $zooDecoration style.
-	<<SetFacilityDecoration "zooDecoration">>
-<</if>>
-
 <<if $spa > 0>>
 	<<run ValidateFacilityDecoration("spaDecoration")>>
 	<br>$spaNameCaps is decorated in $spaDecoration style.
diff --git a/src/uncategorized/longSlaveDescription.tw b/src/uncategorized/longSlaveDescription.tw
index 006b8cee77c..e49cd581481 100644
--- a/src/uncategorized/longSlaveDescription.tw
+++ b/src/uncategorized/longSlaveDescription.tw
@@ -115,8 +115,6 @@ is
 			between milkings.
 		<<case "work as a farmhand">>
 			from where $he was taking care of crops and animals.
-		<<case "work in the zoo">>
-			from where $he was looking after animals.	/* TODO: rewrite this */
 		<<case "rest">>
 			from where $he was resting.
 		<<case "work as a nanny">>
@@ -1301,8 +1299,6 @@ is
 				$activeSlave.career, giving $him potential as a Milkmaid for <<if $dairy == 0>>a Dairy<<else>>$dairyName<</if>>.
 			<<elseif setup.farmerCareers.includes($activeSlave.career)>>
 				$activeSlave.career, giving $him potential as a Farmer for <<if $farmyard == 0>>a Farmyard<<else>>$farmyardName<</if>>.
-			<<elseif setup.zookeeperCareers.includes($activeSlave.career)>>
-				$activeSlave.career, giving $him potential as a Zookeeper for <<if $zoo == 0>>a Zoo<<else>>$zooName<</if>>.
 			<<elseif setup.madamCareers.includes($activeSlave.career)>>
 				$activeSlave.career, giving $him potential as a Madam for <<if $brothel == 0>>a Brothel<<else>>$brothelName<</if>>.
 			<<elseif setup.DJCareers.includes($activeSlave.career)>>
@@ -1374,9 +1370,6 @@ is
 <<if ($activeSlave.skillFA >= $masteredXP)>>
 	<<set _careers.push("Farmer")>>
 <</if>>
-<<if ($activeSlave.skillZO >= $masteredXP)>>
-	<<set _careers.push("Zookeeper")>>
-<</if>>
 <<if ($activeSlave.skillWA >= $masteredXP)>>
 	<<set _careers.push("Wardeness")>>
 <</if>>
@@ -1564,14 +1557,6 @@ is
 		<</if>>
 		<<set _numCareers -= 1>>
 	<</if>>
-	<<if $activeSlave.skillZO >= $masteredXP>>
-		<<if _numCareers == 1>>
-			Zookeeper.
-		<<else>>
-			Zookeeper and
-		<</if>>
-		<<set _numCareers -= 1>>
-	<</if>>
 	<<if $activeSlave.skillWA >= $masteredXP>>
 		Wardeness.
 	<</if>>
diff --git a/src/uncategorized/main.tw b/src/uncategorized/main.tw
index 99367d35e39..ea5976e2503 100644
--- a/src/uncategorized/main.tw
+++ b/src/uncategorized/main.tw
@@ -370,18 +370,6 @@ __''MAIN MENU''__&nbsp;&nbsp;&nbsp;&nbsp;//[[Summary Options]]//
 		</div>
 	</div>
 
-	<div id="work in the zoo" class="tabcontent">
-		<div class="content">
-			<<if $showTipsFromEncy != 0>>
-				//<<encyclopediaEntryZoo>>
-				Associated facility: <<if $zoo>>[[Zoo]]<<else>>Zoo<</if>>//
-			<</if>>
-			//<<OptionsSortAsAppearsOnMain>>//
-			<<set $slaveAssignmentTab = "work in the zoo">>
-			<<include "Slave Summary">>
-		</div>
-	</div>
-
 	<div id="work a glory hole" class="tabcontent">
 		<div class="content">
 			<<if $showTipsFromEncy != 0>>
diff --git a/src/uncategorized/reNickname.tw b/src/uncategorized/reNickname.tw
index 2125ef12a1e..7ded12dd414 100644
--- a/src/uncategorized/reNickname.tw
+++ b/src/uncategorized/reNickname.tw
@@ -135,9 +135,6 @@
 <<if ($activeSlave.ID == $Farmer.ID)>>
 	<<set $qualifiedNicknames.push("Farmer")>>
 <</if>>
-<<if ($activeSlave.ID == $Zookeeper.ID)>>
-	<<set $qualifiedNicknames.push("Zookeeper")>>
-<</if>>
 <<if ($activeSlave.ID == $Milkmaid.ID) && $activeSlave.dick > 5 && canPenetrate($activeSlave) && $cumSlaves > 3>>
 	<<set $qualifiedNicknames.push("Collectrix")>>
 <</if>>
@@ -967,12 +964,6 @@
 	<<set $applyDesc = "enjoys being a farmer, despite the constant manual labor, and is happy to learn that the role is part of $his name now.">>
 	<<set $notApplyDesc = "is a bit sad that $his role isn't part of $his name, since he likes being a farmer, despite the constant manual labor, and now wonders whether $he'll be allowed to keep doing so.">>
 
-<<case "Zookeeper">>	/* TODO: rewrite this */
-	<<set $nickname = either("'Zookeeper'", "'Old McDonald'", "'Redneck'", "'Country'")>>
-	<<set $situationDesc = "has a very physically demanding role. It's hard work, tending to crops and animals all day, but $he loves it.">>
-	<<set $applyDesc = "enjoys being a zookeeper, despite the constant manual labor, and is happy to learn that the role is part of $his name now.">>
-	<<set $notApplyDesc = "is a bit sad that $his role isn't part of $his name, since he likes being a zookeeper, despite the constant manual labor, and now wonders whether $he'll be allowed to keep doing so.">>
-
 <<case "Collectrix">>
 	<<set $nickname = either("'Buttfucker'", "'Collectrix'", "'Cum Queen'", "'Extractrix'", "'Fucker'", "'Milker'", "'Orgasmotron'", "'Prostate Poker'", "'Sodomizer'")>>
 	<<set $situationDesc = "is required to fuck more exhaustingly than any other slave in the arcology. It's one thing to take dick all day; it's quite another to be expected to constantly massage prostates to orgasm. Naturally, the other slaves notice.">>
diff --git a/src/uncategorized/recruiterSelect.tw b/src/uncategorized/recruiterSelect.tw
index 1e4d7ae8ab6..b7450d1150f 100644
--- a/src/uncategorized/recruiterSelect.tw
+++ b/src/uncategorized/recruiterSelect.tw
@@ -49,7 +49,6 @@
 <<if $club>><<set _idleTarget++>><</if>>
 <<if $dairy && ($dairyRestraintsSetting < 2)>><<set _idleTarget++>><</if>>
 <<if $farmyard>><<set _idleTarget++>><</if>>
-<<if $zoo>><<set _idleTarget++>><</if>>
 <<if $servantsQuarters>><<set _idleTarget++>><</if>>
 <<if $masterSuite>><<set _idleTarget++>><</if>>
 <<if $schoolroom>><<set _idleTarget++>><</if>>
diff --git a/src/uncategorized/saRecruitGirls.tw b/src/uncategorized/saRecruitGirls.tw
index 91954a85552..0589962ccc3 100644
--- a/src/uncategorized/saRecruitGirls.tw
+++ b/src/uncategorized/saRecruitGirls.tw
@@ -13,7 +13,6 @@
 	<<if $club>><<set _idleTarget++>><</if>>
 	<<if $dairy && $dairyRestraintsSetting < 2>><<set _idleTarget++>><</if>>
 	<<if $farmyard>><<set _idleTarget++>><</if>>
-	<<if $zoo>><<set _idleTarget++>><</if>>
 	<<if $servantsQuarters>><<set _idleTarget++>><</if>>
 	<<if $masterSuite>><<set _idleTarget++>><</if>>
 	<<if $schoolroom>><<set _idleTarget++>><</if>>
diff --git a/src/uncategorized/saRelationships.tw b/src/uncategorized/saRelationships.tw
index e4528833349..2a973971ea0 100644
--- a/src/uncategorized/saRelationships.tw
+++ b/src/uncategorized/saRelationships.tw
@@ -113,17 +113,6 @@
 							<<set _SlaveI.trust -= 4>>
 						<</if>>
 					<</if>>
-				<<elseif (_SlaveJ.ID == $Zookeeper.ID) && (_SlaveI.assignment == "work in the zoo")>>
-					<<if _SlaveJ.relationshipRules != "restrictive">>
-						_SlaveI.slaveName manages to ingratiate herself with the Zookeeper, _SlaveJ.slaveName. The two slaves have @@.lightgreen;struck up a friendship.@@
-						<<set _SlaveJ.relationship = 1, _SlaveJ.relationshipTarget = _SlaveI.ID, _SlaveI.relationship = 1, _SlaveI.relationshipTarget = _SlaveJ.ID>>
-						<<break>>
-					<<else>>
-						<<if _SlaveI.devotion < -20>>
-							_SlaveI.slaveName tries to strike up a friendship with the Zookeeper, _SlaveJ.slaveName and is @@.gold;punished@@ by _SlaveJ.slaveName for disrespect.
-							<<set _SlaveI.trust -= 4>>
-						<</if>>
-					<</if>>
 				<<elseif (_SlaveJ.ID == $Schoolteacher.ID) && (_SlaveI.assignment == "learn in the schoolroom")>>
 					<<if _SlaveJ.relationshipRules != "restrictive">>
 						_SlaveI.slaveName manages to ingratiate herself with the Schoolteacher, _SlaveJ.slaveName. The two slaves have @@.lightgreen;struck up a friendship.@@
diff --git a/src/uncategorized/saRules.tw b/src/uncategorized/saRules.tw
index d119b6d1084..5e4ddf1689b 100644
--- a/src/uncategorized/saRules.tw
+++ b/src/uncategorized/saRules.tw
@@ -4656,531 +4656,6 @@
 				<</if>>
 			<</if>>
 
-			<<if _rewards > 0>>
-				<<switch $slaves[$i].standardReward>>
-				<<case "relaxation">>
-					$He's given free time, which $he
-					<<if $spa != 0>>
-						usually spends in $spaName<<if $Attendant != 0>> enjoying $Attendant.slaveName's care<</if>>.
-					<<else>>
-						usually spends relaxing in the penthouse slave quarters.
-					<</if>>
-					<<if $slaves[$i].relationship > 0>>
-						$He often asks to save these breaks so $he can spend them with $his <<if $slaves[$i].relationship == 1>>friend<<elseif $slaves[$i].relationship == 2>>best friend<<elseif $slaves[$i].relationship == 3>>friend with benefits<<elseif $slaves[$i].relationship == 4>>sweetheart<<else>>wife<</if>>.
-					<</if>>
-					These breaks are @@.green;good for $him.@@
-					<<set $slaves[$i].health += _rewards>>
-				<<case "drugs">>
-					$He's @@.hotpink;rewarded@@ with hits of mild recreational drugs, which @@.red;isn't healthy,@@ but helps bind $him to you strongly.
-					<<set $slaves[$i].health -= _rewards>>
-					<<set $slaves[$i].devotion += _rewards*2>>
-				<<case "orgasm">>
-					$He's @@.hotpink;rewarded@@ with
-					<<if $slaves[$i].clitPiercing >= 3>>
-						sustained orgasm from $his <<if $slaves[$i].dick == 0>>clit<<else>>dick<</if>> piercing,
-					<<elseif $slaves[$i].releaseRules == "sapphic">>
-						immediate sex with any nearby slave,
-					<<else>>
-						a quick climax from a vibrator,
-					<</if>>
-					@@.green;boosting $his libido.@@
-					<<if $slaves[$i].energy < 98>><<set $slaves[$i].energy += _rewards>><</if>><<set $slaves[$i].need -= (_rewards*10)>>
-					<<set $slaves[$i].devotion += _rewards>>
-				<<default>>
-					$He's @@.hotpink;rewarded@@
-					<<if (_punishments > 0) && ($slaves[$i].standardReward == "situational")>>
-						and @@.gold;punished@@
-					<</if>>
-					situationally, letting $him develop normally.
-					<<set $slaves[$i].devotion += _rewards>>
-				<</switch>>
-			<</if>>
-			<<if _punishments > 0>>
-				<<switch $slaves[$i].standardPunishment>>
-				<<case "confinement">>
-					When $he disobeys, $he spends $his times @@.gold;getting milked in a cramped dark stall@@ until $he behaves.
-					<<set $slaves[$i].trust -= _punishments>>
-				<<case "whipping">>
-					When $he disobeys, $he's @@.gold;whipped,@@ not hard enough to mark $him, but hard enough to @@.red;hurt,@@ breaking $him quickly.
-					<<set $slaves[$i].health -= _punishments>>
-					<<set $slaves[$i].trust -= 2*_punishments>>
-				<<case "chastity">>
-					When $he disobeys, $he finds $his @@.gold;milkings fewer and far between,@@ @@.red;reducing $his libido@@ but breaking $him to @@.hotpink;sexual obedience.@@
-					<<if $slaves[$i].energy > 2>><<set $slaves[$i].energy -= 2*_punishments>><</if>>
-					<<set $slaves[$i].devotion += _punishments>>
-					<<set $slaves[$i].trust -= _punishments>>
-				<<default>>
-					<<if (_rewards == 0) || ($slaves[$i].standardReward != "situational")>>
-						When $he disobeys, $he's @@.gold;punished@@ situationally, letting $him develop normally.
-					<</if>>
-					<<set $slaves[$i].trust -= _punishments>>
-				<</switch>>
-			<</if>>
-		<<case "be the Zookeeper">> /*TODO: this will need a rewrite*/
-			<<set $slaves[$i].need -= $DairyiIDs.length*5>>
-			<<if $slaves[$i].energy <= 20>>
-				is frigid and has little interest in getting off<<if ($slaves[$i].releaseRules != "permissive")>>, making the rule restricting $his sexual outlets superfluous<</if>>.
-				<<set $slaves[$i].need = 0>>
-			<<elseif $slaves[$i].need < $slaves[$i].energy*0.5>>
-				<<if ($slaves[$i].releaseRules != "permissive") && ($slaves[$i].releaseRules != "masturbation") && ($slaves[$i].releaseRules != "chastity")>>
-					gets off while performing $his duties, so being forbidden from masturbation doesn't really bother $him.
-					<<set $slaves[$i].need -= 20>>
-				<<else>>
-					gets off while performing $his duties, so $he doesn't feel the need for release that often.
-					<<set $slaves[$i].need -= 20>>
-				<</if>>
-			<<else>>
-				<<if ($slaves[$i].releaseRules == "restrictive")>>
-					willingly begs you to
-					<<saRulesPlayerFetishPlay>>
-					whenever you inspect $dairyName.
-					<<saRulesPlayerEnergy>>
-					<<saRulesPlayerDiscoversFetish>>
-					<<saRulesPlayerDrugEffects>>
-				<<elseif ($slaves[$i].releaseRules == "masturbation")>>
-					<<if ($slaves[$i].devotion < 80)>>
-						is a little disappointed that $he's limited to $his hands and toys when off duty, but @@.mediumaquamarine;trusts you know what's best for $him.@@
-						<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-					<<else>>
-						@@.mediumaquamarine;trusts your judgment@@ that only $he really knows how to pleasure $himself, though $he @@.mediumorchid;often wonders why you don't use $him.@@
-						<<set $slaves[$i].trust += 1, $slaves[$i].devotion -= 2, $slaves[$i].need = 0>>
-					<</if>>
-					<<if $slaves[$i].devotion > 20>>
-						When $he does play with $himself, $he
-						<<saRulesMasturbationFetishPlay>>
-						<<saRulesMasturbationDiscoversFetish>>
-					<</if>>
-					<<saRulesMasturbationDrugEffects>>
-				<<else>> /* releaseRules not restrictive */
-					<<if ($universalRulesConsent == 0)>>
-						happily @@.mediumaquamarine;avails $himself@@ of your permission to
-						<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-						<<saRulesRapeFetish>>
-						<<saRulesRapeDiscoversFetish>>
-					<<else>> /* universalRulesConsent is not zero */
-						@@.mediumaquamarine;relies@@ on your other slaves for mutual satisfaction,
-						<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-						<<saRulesConsentFetish>>
-						<<saRulesConsentDiscoversFetish>>
-					<</if>> /* closes universalRulesConsent */
-					<<saRulesPermissiveDrugEffects>>
-				<</if>> /* closes releaseRules not restrictive */
-			<</if>>
-
-			$He is @@.hotpink;very happy@@ with $his private room in $dairyName and @@.mediumaquamarine;trusts@@ you a bit more for placing $him in charge of it.
-			<<set $slaves[$i].devotion += 1, $slaves[$i].trust += 1>>
-
-			<<if ($universalRulesConsent == 0)>>
-				<<if ($slaves[$i].releaseRules != "restrictive")>>
-					<<if ($slaves[$i].energy > 95)>>
-						<<if $DairyiIDs.length > 2>>
-							Under the rules, $he's allowed to demand that other slaves get $him off, and $he @@.hotpink;adores@@ you for leaving plentiful outlets for $his nymphomania under $his charge.
-						<<else>>
-							Under the rules, $he's allowed to demand that other slaves get $him off, and $he @@.hotpink;eagerly awaits@@ the day you assign more cows to $dairyName.
-						<</if>>
-						<<set $slaves[$i].devotion += 1>>
-					<<elseif ($slaves[$i].fetishKnown == 1) && ($slaves[$i].fetishStrength > 60)>>
-						<<if ($slaves[$i].fetish == "sadist")>>
-							<<if $DairyiIDs.length > 2>>
-								Under the rules, $he's allowed to sexually abuse other slaves, and $he @@.hotpink;adores@@ you for providing so many cows for $him to rape.
-							<<else>>
-								Under the rules, $he's allowed to sexually abuse other slaves, and $he @@.hotpink;eagerly awaits@@ the day you assign more cows to $dairyName for $him to rape.
-							<</if>>
-							<<set $slaves[$i].devotion += 1>>
-						<<elseif ($slaves[$i].fetish == "dom")>>
-							<<if $DairyiIDs.length > 2>>
-								Under the rules, $he's allowed to force other slaves to have sex with $him, and $he @@.hotpink;adores@@ you for allowing $him so many cows to dominate.
-							<<else>>
-								Under the rules, $he's allowed to force other slaves to have sex with $him, and $he @@.hotpink;eagerly awaits@@ the day you assign more cows to $his domain.
-							<</if>>
-							<<set $slaves[$i].devotion += 1>>
-						<</if>>
-					<</if>>
-				<</if>>
-			<</if>>
-
-			<<if ($slaves[$i].attrKnown == 0)>>
-				<<if ($week-$slaves[$i].weekAcquired > 4) && $slaves[$i].energy > 20>>
-					<<set $slaves[$i].attrKnown = 1>>
-					<<if $assistantName == "your personal assistant">>Your personal assistant<<else>>$assistantName<</if>> has been monitoring $him as $he cares for the cattle, analyzing $his preferences. It seems $he is
-					<<saRulesAttractionDiscovery>>
-				<</if>>
-			<</if>>
-
-			<<if $slaves[$i].lactationRules == "induce">>
-				Whenever $he finds a free moment from $his duties, $he spends that time massaging $his breasts and working $his nipples.
-				<<set $slaves[$i].induceLactation += 2>>
-				<<= induceLactation($slaves[$i])>>
-				<<if $slaves[$i].lactation == 1>><<set $slaves[$i].lactationRules = "maintain">><</if>>
-			<<elseif $slaves[$i].lactationRules == "maintain">>
-				<<if $servantMilkers == 1>>
-					$His duties keep $him busy, but $he <<if $slaves[$i].fetish == "boobs">>eagerly <</if>>uses the penthouse milkers whenever $he can,
-					<<set $servantMilkersMultiplier = 0.25>>
-					<<silently>><<include "SA get milked">><</silently>>
-					<<set $servantMilkersMultiplier = 1>>
-					giving $milk liters of milk over the week, which is sold for @@.yellowgreen;<<print cashFormat($milkSale)>>.@@
-				<<else>>
-					Whenever $he finds a free moment from $his duties, $he takes the time to thoroughly milk $his breasts to keep $his lactation strong for you.
-					<<set $slaves[$i].lactationDuration = 2, $slaves[$i].boobs -= $slaves[$i].boobsMilk, $slaves[$i].boobsMilk = 0>>
-				<</if>>
-			<</if>>
-
-			$He does $his best for you, so $he frequently deserves a reward and never needs to be punished.
-			<<set _punishments = 0>>
-			<<set _rewards = 3>>
-
-			<<if _rewards > 0>>
-				<<switch $slaves[$i].standardReward>>
-				<<case "relaxation">>
-					$He's given free time, which $he
-					<<if $spa != 0>>
-						usually spends in $spaName<<if $Attendant != 0>> enjoying $Attendant.slaveName's care<</if>>.
-					<<else>>
-						usually spends relaxing in $his room<<if $DairyiIDs.length > 1>> with the softest cow available<</if>>.
-					<</if>>
-					<<if $slaves[$i].relationship > 0>>
-						$He often asks to save these breaks so $he can spend them with $his <<if $slaves[$i].relationship == 1>>friend<<elseif $slaves[$i].relationship == 2>>best friend<<elseif $slaves[$i].relationship == 3>>friend with benefits<<elseif $slaves[$i].relationship == 4>>sweetheart<<else>>wife<</if>>.
-					<</if>>
-					These breaks are @@.green;good for $him.@@
-					<<set $slaves[$i].health += _rewards>>
-				<<case "drugs">>
-					$He's @@.hotpink;rewarded@@ with hits of mild recreational drugs, which @@.red;isn't healthy,@@ but helps bind $him to you strongly.
-					<<set $slaves[$i].health -= _rewards>>
-					<<set $slaves[$i].devotion += _rewards*2>>
-				<<case "orgasm">>
-					$He's @@.hotpink;rewarded@@ with
-					<<if $slaves[$i].clitPiercing >= 3>>
-						sustained orgasm from $his <<if $slaves[$i].dick == 0>>clit<<else>>dick<</if>> piercing,
-					<<elseif $slaves[$i].releaseRules == "sapphic">>
-						immediate sex with any nearby slave,
-					<<else>>
-						a quick climax from a vibrator,
-					<</if>>
-					@@.green;boosting $his libido.@@
-					<<if $slaves[$i].energy < 98>><<set $slaves[$i].energy += _rewards>><</if>><<set $slaves[$i].need -= (_rewards*10)>>
-					<<set $slaves[$i].devotion += _rewards>>
-				<<default>>
-					$He's @@.hotpink;rewarded@@
-					<<if (_punishments > 0) && ($slaves[$i].standardReward == "situational")>>
-						and @@.gold;punished@@
-					<</if>>
-					situationally, letting $him develop normally.
-					<<set $slaves[$i].devotion += _rewards>>
-				<</switch>>
-			<</if>>
-		<<case "work in the zoo">>	/* TODO: this will all need to be reworked */
-			<<if $slaves[$i].devotion < -50>>
-				is so unhappy that $he has little interest in getting off<<if ($slaves[$i].releaseRules != "permissive")>>, making the rule restricting $his sexual outlets superfluous<</if>>.
-				<<set $slaves[$i].need = 0>>
-			<<elseif $slaves[$i].energy <= 20>>
-				is frigid and has little interest in getting off<<if ($slaves[$i].releaseRules != "permissive")>>, making the rule restricting $his sexual outlets superfluous<</if>>.
-				<<set $slaves[$i].need = 0>>
-			<<elseif $slaves[$i].need < $slaves[$i].energy*0.5>>
-				<<if ($slaves[$i].devotion <= 20)>>
-					gets off from working as a farmhand despite $his reluctance, @@.hotpink;habituating $him to sexual slavery.@@
-					<<set $slaves[$i].devotion += 1>>
-					<<if ($slaves[$i].trust >= -20) && ($slaves[$i].devotion <= 20)>>
-						$He hates $himself for climaxing, and knows the mild aphrodisiacs in the food are forcing $his arousal, @@.gold;frightening $him.@@
-						<<set $slaves[$i].trust -= 1>>
-					<</if>>
-					<<set $slaves[$i].need -= 20>>
-				<<elseif ($slaves[$i].releaseRules != "permissive") && ($slaves[$i].releaseRules != "masturbation") && ($slaves[$i].releaseRules != "chastity")>>
-					gets off from working as a farmhand, so being forbidden to masturbate doesn't affect $him seriously.
-					<<set $slaves[$i].need -= 20>>
-				<<else>>
-					gets off from working as a farmhand, so $he doesn't feel the need to masturbate frequently.
-					<<set $slaves[$i].need -= 20>>
-				<</if>>
-			<<else>>
-				<<if ($slaves[$i].releaseRules == "restrictive")>>
-					<<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>>
-						refuses to come to you for sexual release, and is @@.gold;severely punished@@ for illicit masturbation.
-						<<set $slaves[$i].trust -= 2>>
-					<<elseif ($slaves[$i].devotion <= 50)>>
-						<<if $slaves[$i].devotion <= 20>>
-							occasionally comes to you to beg for sexual release.
-						<<else>>
-							doesn't mind having to come to you to beg for sexual release.
-						<</if>>
-						<<saRulesPlayerEnergy>>
-					<<else>> /* $slaves[$i].devotion > 50 */
-						willingly begs you to
-						<<saRulesPlayerFetishPlay>>
-						every chance $he gets.
-						<<saRulesPlayerEnergy>>
-					<</if>> /* closes $slaves[$i].devotion > 50 */
-					<<saRulesPlayerDiscoversFetish>>
-					<<saRulesPlayerDrugEffects>>
-				<<elseif ($slaves[$i].releaseRules == "masturbation")>>
-					<<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>>
-						takes solace in $his permission to masturbate rather than being forced to beg for sex, @@.mediumaquamarine;reducing $his fear@@ of you.
-						<<set $slaves[$i].trust += 2, $slaves[$i].need = 0>>
-					<<elseif ($slaves[$i].devotion <= 20)>>
-						enjoys being allowed to masturbate rather than trading sex with other slaves, @@.mediumaquamarine;slightly reducing $his fear@@ of you but @@.mediumorchid;allowing $him to remain in control of $his sexuality.@@
-						<<set $slaves[$i].trust += 1, $slaves[$i].devotion -= 1, $slaves[$i].need = 0>>
-					<<elseif ($slaves[$i].devotion <= 50)>>
-						accepts having to relieve $himself solely through masturbation.
-						<<set $slaves[$i].need = 0>>
-					<<elseif ($slaves[$i].devotion < 80)>>
-						is a little disappointed that $he's limited to $his hands and toys, but @@.mediumaquamarine;trusts you know what's best for $him.@@
-						<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-					<<else>>
-						@@.mediumaquamarine;trusts your judgment@@ that only $he really knows how to pleasure $himself, though $he @@.mediumorchid;often wonders why you don't use $him.@@
-						<<set $slaves[$i].trust += 1, $slaves[$i].devotion -= 2, $slaves[$i].need = 0>>
-					<</if>>
-					<<if $slaves[$i].devotion > 20>>
-						When $he does play with $himself, $he
-						<<saRulesMasturbationFetishPlay>>
-						<<saRulesMasturbationDiscoversFetish>>
-					<</if>>
-					<<saRulesMasturbationDrugEffects>>
-				<<else>> /* releaseRules not restrictive */
-					<<if ($universalRulesConsent == 0)>>
-						<<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>>
-							<<if ($slaves[$i].releaseRules == "permissive")>>
-								masturbates whenever $he can find a private moment to take care of the urges induced by the food, @@.mediumaquamarine;slightly reducing $his fear@@ of you.
-								<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-							<<else>>
-								refuses to use other slaves to get off, and is @@.gold;severely punished@@ for illicit masturbation.
-								<<set $slaves[$i].trust -= 2, $slaves[$i].need -= 10>>
-							<</if>>
-						<<elseif ($slaves[$i].devotion <= 20)>>
-							<<if ($slaves[$i].releaseRules == "permissive")>>
-								prefers to masturbate rather than demanding sex from other slaves, @@.mediumaquamarine;slightly reducing $his fear@@ of you.
-								<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-							<<else>>
-								is forced to demand sex from other slaves by the urges induced by the food, and @@.hotpink;hates $himself@@ for it.
-								<<set $slaves[$i].devotion += 1, $slaves[$i].need *= 0.5>>
-							<</if>>
-						<<elseif ($slaves[$i].devotion <= 50)>>
-							@@.hotpink;accepts the need@@ to
-							<<set $slaves[$i].devotion += 1, $slaves[$i].need = 0>>
-							<<saRulesRapeFetish>>
-							<<saRulesRapeDiscoversFetish>>
-						<<else>>
-							happily @@.mediumaquamarine;avails $himself@@ of your permission to
-							<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-							<<saRulesRapeFetish>>
-							<<saRulesRapeDiscoversFetish>>
-						<</if>>
-					<<else>> /* universalRulesConsent is not zero */
-						<<if ($slaves[$i].devotion <= 20) && ($slaves[$i].trust >= -20)>>
-							<<if ($slaves[$i].releaseRules == "permissive")>>
-								prefers to masturbate rather than asking other slaves for sex, @@.mediumaquamarine;slightly reducing $his fear@@ of you.
-								<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-							<<else>>
-								refuses to ask other slaves for sex, and is @@.gold;severely punished@@ for illicit masturbation.
-								<<set $slaves[$i].trust -= 2, $slaves[$i].need -= 10>>
-							<</if>>
-						<<elseif ($slaves[$i].devotion <= 20)>>
-							<<if ($slaves[$i].releaseRules == "permissive")>>
-								prefers to masturbate rather than trading sex with other slaves, @@.mediumaquamarine;slightly reducing $his fear@@ of you.
-								<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-							<<else>>
-								is forced to swap sex with other slaves by the urges induced by the food, and @@.hotpink;hates $himself@@ for it.
-								<<set $slaves[$i].devotion += 1, $slaves[$i].need *= 0.5>>
-							<</if>>
-						<<elseif ($slaves[$i].devotion <= 50)>>
-							@@.hotpink;accepts having to ask@@ other slaves for sex,
-							<<set $slaves[$i].devotion += 1, $slaves[$i].need = 0>>
-							<<saRulesConsentFetish>>
-							<<saRulesConsentDiscoversFetish>>
-						<<else>>
-							@@.mediumaquamarine;relies@@ on your other slaves for mutual satisfaction,
-							<<set $slaves[$i].trust += 1, $slaves[$i].need = 0>>
-							<<saRulesConsentFetish>>
-							<<saRulesConsentDiscoversFetish>>
-						<</if>>
-					<</if>> /* closes universalRulesConsent */
-					<<saRulesPermissiveDrugEffects>>
-				<</if>> /* closes releaseRules not restrictive */
-			<</if>>
-
-			<<if ($slaves[$i].devotion <= 20)>>
-				<<if $slaves[$i].voice == 0>>
-					Living as a mute @@.hotpink;molds $him@@ to your will.
-					<<set $slaves[$i].devotion += 1>>
-				<<elseif $slaves[$i].lips > 95>>
-					Being unable to speak through $his facepussy @@.hotpink;molds $him@@ to your will.
-					<<set $slaves[$i].devotion += 1>>
-				<<elseif $slaves[$i].speechRules == "restrictive">>
-					Living under enforced silence @@.hotpink;molds $him@@ to your will.
-					<<set $slaves[$i].devotion += 1>>
-				<</if>>
-			<</if>>
-
-			<<if ($slaves[$i].devotion <= 20)>>
-				<<switch $zooDecoration>>
-				<<case "Degradationist">>
-					The abysmal living conditions @@.hotpink;force $him to get used@@ to the routine of
-					<<if ($slaves[$i].trust > 20)>>
-						slavery and @@.gold;keep $him aware that $his work in the fields is more valuable than $his life.@@
-						<<set $slaves[$i].trust -= 3>>
-					<<else>>
-						slavery and @@.gold;reminds $him that $he is nothing more than a farming tool.@@
-						<<set $slaves[$i].trust -= 1>>
-					<</if>>
-					<<set $slaves[$i].devotion += 1>>
-				<<case "Supremacist" "Subjugationist">>
-					The spare living conditions @@.hotpink;get $him used@@ to the routine of
-					<<if ($slaves[$i].trust > 20)>>
-						slavery and @@.gold;keep $him aware of $his lowly place.@@
-						<<set $slaves[$i].trust -= 1>>
-					<<else>>
-						slavery.
-					<</if>>
-					<<set $slaves[$i].devotion += 1>>
-				<<case "Aztec Revivalist" "Chinese Revivalist" "Chattel Religionist" "Edo Revivalist" "Arabian Revivalist" "Egyptian Revivalist">>
-					The spare living conditions and daily tasks @@.hotpink;get $him used@@ to the routine of slavery.
-					<<set $slaves[$i].devotion += 1>>
-				<<default>>
-					The reasonable living conditions allow $him to relax after the days work.
-					<<if $slaves[$i].pregKnown && $zooPregSetting >= 1 && $slaves[$i].bellyPreg >= 1500>>
-						Getting comfortable
-						<<if $slaves[$i].bellyPreg >= 750000>>
-							<<set _belly = bellyAdjective($slaves[$i])>>
-							with a strained, _belly stomach ready to burst
-						<<elseif $slaves[$i].bellyPreg >= 600000>>
-							<<set _belly = bellyAdjective($slaves[$i])>>
-							with a constantly quivering _belly stomach filled to the brim
-						<<elseif $slaves[$i].bellyPreg >= 450000>>
-							<<set _belly = bellyAdjective($slaves[$i])>>
-							with a _belly stomach overstuffed
-						<<elseif $slaves[$i].bellyPreg >= 150000>>
-							with the massive bulge of $his pregnancy
-						<<elseif $slaves[$i].bellyPreg >= 120000>>
-							while so enormously pregnant
-						<<elseif $slaves[$i].bellyPreg >= 10000>>
-							while so heavily pregnant with <<if $slaves[$i].pregType > 1>>children<<else>>a child<</if>>
-						<<elseif $slaves[$i].bellyPreg >= 5000>>
-							with $his pregnancy
-						<<else>>
-							with the slight bulge of pregnancy
-						<</if>>
-						also weighs heavily on $his
-						<<if $slaves[$i].bellyPreg >= 120000>>
-							mind, though $he often gets lost in the sensation of being so full of life.
-						<<else>>
-							mind.
-						<</if>>
-					<</if>>
-				<</switch>>
-			<<else>>
-				<<switch $zooDecoration>>
-				<<case "Degradationist">>
-					<<if ($slaves[$i].trust > 40)>>
-						The abysmal living conditions of $zooName @@.gold;remind $him that $his work in the fields is more valuable to you than $his life.@@
-						<<set $slaves[$i].trust -= 3>>
-					<<elseif ($slaves[$i].trust > 10)>>
-						The abysmal living conditions of $zooName @@.gold;remind $him that $he is worthless as a person to you@@ and forces $him to accept $he is nothing more than a lowly farmhand.
-						<<set $slaves[$i].trust -= 2>>
-					<</if>>
-				<<case "Supremacist" "Subjugationist">>
-					<<if ($slaves[$i].trust > 40)>>
-						The spare living conditions of $zooName @@.gold;remind $him not to get too comfortable@@ with $his life.
-						<<set $slaves[$i].trust -= 2>>
-					<<elseif ($slaves[$i].trust > 10)>>
-						The spare living conditions of $zooName @@.gold;keep $him aware of $his place.@@
-						<<set $slaves[$i].trust -= 1>>
-					<</if>>
-				<<case "Aztec Revivalist" "Chinese Revivalist" "Chattel Religionist" "Edo Revivalist" "Arabian Revivalist" "Egyptian Revivalist">>
-					The living conditions of $zooName might be spare, but they are no means meant to be uncomfortable.
-				<<default>>
-					$He likes $his personal space in $zooName's dormitory, even if it's just a small room.
-				<</switch>>
-			<</if>>
-
-			<<if ($universalRulesConsent == 0)>>
-				<<if ($slaves[$i].devotion <= 20)>>
-					<<if ($slaves[$i].trust > -10)>>
-						<<if $ZooiIDs.length > 2 || $Zookeeper != 0>>
-							Under the rules, $he finds $himself constantly molested by other slaves, and lives $his life constantly @@.gold;afraid.@@
-						<<else>>
-							Under the rules, $he is free game for other slaves to molest, and lives $his life constantly @@.gold;afraid@@ of the day you assign more cows to $zooName.
-						<</if>>
-						<<set $slaves[$i].trust -= 2>>
-					<<else>>
-						<<if $ZooiIDs.length > 2 || $Zookeeper != 0>>
-							Under the rules, $he finds $himself constantly molested by other slaves, but $he's already in such constant terror it doesn't seriously affect $him.
-						<<else>>
-							Under the rules, $he will someday find $himself constantly molested by other slaves, but $he's already in such constant terror it that it doesn't cross $his mind.
-						<</if>>
-					<</if>>
-				<<elseif ($slaves[$i].releaseRules != "restrictive")>>
-					<<if ($slaves[$i].energy > 95)>>
-						<<if $ZooiIDs.length > 2>>
-							Under the rules, $he's allowed to demand that other slaves to get $him off, and $he @@.hotpink;adores@@ you for providing plentiful outlets for $his nymphomania.
-						<<else>>
-							Under the rules, $he's allowed to demand that other slaves to get $him off, and $he @@.hotpink;eagerly awaits@@ the day you assign more slaves to $zooName to get $him off.
-						<</if>>
-						<<set $slaves[$i].devotion += 1>>
-					<<elseif ($slaves[$i].fetishKnown == 1) && ($slaves[$i].fetishStrength > 60)>>
-						<<if ($slaves[$i].fetish == "sadist")>>
-							<<if $ZooiIDs.length > 2>>
-								Under the rules, $he's allowed to sexually abuse other slaves, and $he @@.hotpink;adores@@ you for providing a whole zoo of slaves for $him to rape.
-							<<else>>
-								Under the rules, $he's allowed to sexually abuse other slaves, and $he @@.hotpink;eagerly awaits@@ the day you assign more slaves to $zooName for $him to rape.
-							<</if>>
-							<<set $slaves[$i].devotion += 1>>
-						<<elseif ($slaves[$i].fetish == "dom")>>
-							<<if $ZooiIDs.length > 2>>
-								Under the rules, $he's allowed to force other slaves to have sex with $him, and $he @@.hotpink;adores@@ you for providing a whole zoo of slaves for $him to dominate.
-							<<else>>
-								Under the rules, $he's allowed to force other slaves to have sex with $him, and $he @@.hotpink;eagerly awaits@@ the day you assign more slaves to $zooName for $him to dominate.
-							<</if>>
-							<<set $slaves[$i].devotion += 1>>
-						<</if>>
-					<</if>>
-				<</if>>
-			<<else>>
-				<<if ($slaves[$i].devotion <= 20) && ($slaves[$i].devotion >= -20)>>
-					<<if $ZooiIDs.length > 2 || $Zookeeper != 0>>
-						Since $he's low in the slave hierarchy, @@.mediumaquamarine;$he knows@@ that the rule that slaves must get consent before having sex with $him are all that protect $him from abuse.
-					<<else>>
-						Since $he's low in the slave hierarchy, @@.mediumaquamarine;$he knows@@ that the rule that slaves must get consent before having sex with $him are all that protect $him from abuse. Well, that and the fact $zooName is rather empty.
-					<</if>>
-					<<set $slaves[$i].trust += 1>>
-				<</if>>
-			<</if>>
-
-			<<if ($slaves[$i].attrKnown == 0)>>
-				<<if ($week-$slaves[$i].weekAcquired > 4) && $slaves[$i].energy > 20>>
-					<<set $slaves[$i].attrKnown = 1>>
-					<<if $assistantName == "your personal assistant">>Your personal assistant<<else>>$assistantName<</if>> has been monitoring $him as $he works with the crops and animals, attempting to gauge $his sexuality. It seems $he is
-					<<saRulesAttractionDiscovery>>
-				<</if>>
-			<</if>>
-
-			<<if $slaves[$i].devotion > 50>>
-				$He does $his best for you, so $he frequently deserves a reward and never needs to be punished.
-				<<set _punishments = 0>>
-				<<set _rewards = 3>>
-			<<elseif $slaves[$i].devotion > 20>>
-				$He's obedient out of acceptance of $his place, so $he often deserves a reward and rarely needs to be punished.
-				<<set _punishments = 1>>
-				<<set _rewards = 2>>
-			<<elseif $slaves[$i].devotion >= -20>>
-				<<if $slaves[$i].trust < -20>>
-					$He's obedient out of fear, so $he only rarely deserves a reward and sometimes needs to be punished.
-					<<set _punishments = 1>>
-					<<set _rewards = 1>>
-				<<else>>
-					$He's too trusting for obedience and often needs to be punished.
-					<<set _punishments = 2>>
-					<<set _rewards = 0>>
-				<</if>>
-			<<else>>
-				<<if $slaves[$i].trust < -50>>
-					$He's only obedient out of terror, so $he sometimes needs to be punished.
-					<<set _punishments = 1>>
-					<<set _rewards = 0>>
-				<<else>>
-					$He hates you too much to obey, so $he needs constant punishment.
-					<<set _punishments = 3>>
-					<<set _rewards = 0>>
-				<</if>>
-			<</if>>
-
 			<<if _rewards > 0>>
 				<<switch $slaves[$i].standardReward>>
 				<<case "relaxation">>
diff --git a/src/uncategorized/sellSlave.tw b/src/uncategorized/sellSlave.tw
index ea82d46a56b..4dc3351e4a8 100644
--- a/src/uncategorized/sellSlave.tw
+++ b/src/uncategorized/sellSlave.tw
@@ -221,8 +221,6 @@ A reputable slave appraiser arrives promptly to inspect $him and certify $his qu
 		$His background would help make $him a good Milkmaid; that's valuable.
 	<<elseif setup.farmerCareers.includes($activeSlave.career)>>
 		$His background would help make $him a good Farmer; that's valuable.
-	<<elseif setup.zookeeperCareers.includes($activeSlave.career)>>
-		$His background would help make $him a good Zookeeper; that's valuable.
 	<<elseif setup.madamCareers.includes($activeSlave.career)>>
 		$His background would help make $him a good Madam; that's valuable.
 	<<elseif setup.DJCareers.includes($activeSlave.career)>>
@@ -295,9 +293,6 @@ A reputable slave appraiser arrives promptly to inspect $him and certify $his qu
 <<if ($activeSlave.skillFA >= $masteredXP)>>
 	<<set _careers.push("Farmer")>>
 <</if>>
-<<if ($activeSlave.skillZO >= $masteredXP)>>
-	<<set _careers.push("Zookeeper")>>
-<</if>>
 <<if ($activeSlave.skillWA >= $masteredXP)>>
 	<<set _careers.push("Wardeness")>>
 <</if>>
diff --git a/src/uncategorized/slaveAssignmentsReport.tw b/src/uncategorized/slaveAssignmentsReport.tw
index 1d3422fd13a..f1827eef495 100644
--- a/src/uncategorized/slaveAssignmentsReport.tw
+++ b/src/uncategorized/slaveAssignmentsReport.tw
@@ -194,27 +194,6 @@
 	<<if $Farmer == 0>>
 		<<= removeJob($slaves[$i], "be the Farmer")>>
 	<</if>>
-<<case "be the Zookeeper">>
-	<<set $Zookeeper = $slaves[$i]>>
-	<<if $Zookeeper.fetish == "mindbroken">>
-		''__@@.pink;$Zookeeper.slaveName@@__'' is mindbroken @@.yellow;and cannot serve as your Zookeeper any more.@@<br>
-		<<set $Zookeeper = 0>>
-	<<elseif $Zookeeper.preg > 37 && $Zookeeper.broodmother == 2>>
-		''__@@.pink;$Zookeeper.slaveName@@__'' spends so much time giving birth and laboring that @@.yellow;she cannot effectively serve as your Zookeeper any longer@@.
-		<<set $Zookeeper = 0>>
-	<<elseif !canWalk($Zookeeper)>>
-		''__@@.pink;$Zookeeper.slaveName@@__'' is no longer independently mobile @@.yellow;and cannot serve as your Zookeeper any more.@@<br>
-		<<set $Zookeeper = 0>>
-	<<elseif !canSee($Zookeeper)>>
-		''__@@.pink;$Zookeeper.slaveName@@__'' can no longer see @@.yellow;and cannot serve as your Zookeeper any more.@@<br>
-		<<set $Zookeeper = 0>>
-	<<elseif !canHear($Zookeeper)>>
-		''__@@.pink;$Zookeeper.slaveName@@__'' can no longer hear @@.yellow;and cannot serve as your Zookeeper any more.@@<br>
-		<<set $Zookeeper = 0>>
-	<</if>>
-	<<if $Zookeeper == 0>>
-		<<= removeJob($slaves[$i], "be the Zookeeper")>>
-	<</if>>
 <<case "be the Stewardess">>
 	<<set $Stewardess = $slaves[$i]>>
 	<<if !canTalk($Stewardess)>>
@@ -595,7 +574,6 @@
 	["Club Report", $clubNameCaps, $club, $clubSlaves, $DJ, "DJ"],
 	["Dairy Report", $dairyNameCaps, $dairy, $dairySlaves, $Milkmaid, "Milkmaid"],
 	["Farmyard Report", $farmyardNameCaps, $farmyard, $farmyardSlaves, $Farmer, "Farmer"],
-	["Zoo Report", $zooNameCaps, $zoo, $zooSlaves, $Zookeeper, "Zookeeper"],
 	["Schoolroom Report", $schoolroomNameCaps, $schoolroom, $schoolroomSlaves, $Schoolteacher, "Schoolteacher"],
 	["Spa Report", $spaNameCaps, $spa, $spaSlaves, $Attendant, "Attendant"],
 	["Nursery Report", $nurseryNameCaps, $nurseryNannies, $nurserySlaves, $Matron, "Matron"],
diff --git a/src/uncategorized/slaveInteract.tw b/src/uncategorized/slaveInteract.tw
index 1e199776c24..6fb5a910b49 100644
--- a/src/uncategorized/slaveInteract.tw
+++ b/src/uncategorized/slaveInteract.tw
@@ -20,8 +20,6 @@
 	<<set $returnTo = "Dairy">>
 <<case "work as a farmhand" "be the Farmer">>
 	<<set $returnTo = "Farmyard">>
-<<case "work in the zoo" "be the Zookeeper">>
-	<<set $returnTo = "Zoo">>
 <<case "rest in the spa" "be the Attendant">>
 	<<set $returnTo = "Spa">>
 <<case "work as a nanny" "be the Matron">>
@@ -479,8 +477,6 @@
 		//$He is the Milkmaid and is not available for other work//
 	<<case "be the Farmer">>
 		//$He is the Farmer and is not available for other work//
-	<<case "be the Zookeeper">>
-		//$He is the Zookeeper and is not available for other work//
 	<<case "be the Stewardess">>
 		//$He is the Stewardess and is not available for other work//
 	<<case "be your Head Girl">>
@@ -505,7 +501,7 @@
 
 	Assignment: <strong><span id="assign">$activeSlave.assignment<<if $activeSlave.sentence>> ($activeSlave.sentence weeks)<</if>></span>.</strong>
 	  <<link "Rest">>				   <<= assignJob($activeSlave, "rest")>><<replace "#assign">>$activeSlave.assignment<</replace>><<SlaveInteractFucktoy>><</link>>
-	<<if ["be confined in the arcade", "work in the brothel", "serve in the club", "work in the dairy", "work as a farmhand", "work in the zoo", "serve in the master suite", "work as a servant", "work as a nanny"].includes($activeSlave.assignment)>>
+	<<if ["be confined in the arcade", "work in the brothel", "serve in the club", "work in the dairy", "work as a farmhand", "serve in the master suite", "work as a servant", "work as a nanny"].includes($activeSlave.assignment)>>
 	| <<link "Remove From Facility">>	<<= removeJob($activeSlave, $activeSlave.assignment)>><<replace "#assign">>$activeSlave.assignment<</replace>><<SlaveInteractFucktoy>><</link>>
 	<</if>>
 	| <<link "Fucktoy">>				<<= assignJob($activeSlave, "please you")>><<replace "#assign">>$activeSlave.assignment<</replace>><<SlaveInteractFucktoy>><</link>>
@@ -554,7 +550,7 @@
 
 	<</if>>/* CLOSES FUCKDOLL CHECK */
 
-	<<set _numFacilities = $brothel+$club+$dairy+$farmyard+$zoo+$servantsQuarters+$masterSuite+$spa+$nursery+$clinic+$schoolroom+$cellblock+$arcade+$HGSuite>>
+	<<set _numFacilities = $brothel+$club+$dairy+$farmyard+$servantsQuarters+$masterSuite+$spa+$nursery+$clinic+$schoolroom+$cellblock+$arcade+$HGSuite>>
 
 	<<if _numFacilities > 0>>
 
@@ -637,13 +633,6 @@
 		<<if _numFacilities-- > 1>>|<</if>>
 	<</if>>
 
-	<<if $zoo != 0>>		/* TODO: This will need reworking - it's currently a copy of the farmyard, just to get it in */
-		<<if $zoo > $zooSlaves && ((($activeSlave.devotion > 50) || (($activeSlave.devotion >= -50) && ($activeSlave.trust < -20)) || ($activeSlave.trust < -50) || ($activeSlave.trust > 50)) && ($activeSlave.breedingMark != 1 || $propOutcome == 0))>>
-			[[Zoo|Assign][$assignTo = "Zoo", $i = -1]] /* $i = -1 tells Assign to use $activeSlave as-is */
-		<<else>>Zoo<</if>>
-		<<if _numFacilities-- > 1>>|<</if>>
-	<</if>>
-
 	<<if $spa != 0>>
 		<<if $spa > $spaSlaves && (($activeSlave.devotion >= -20 || $activeSlave.fetish == "mindbroken") && ($activeSlave.health < 20 || $activeSlave.trust <= 60 || $activeSlave.devotion <= 60 || $activeSlave.fetish == "mindbroken" || $activeSlave.sexualFlaw !== "none" || $activeSlave.behavioralFlaw !== "none"))>>
 			[[Spa|Assign][$assignTo = "Spa", $i = -1]] /* $i = -1 tells Assign to use $activeSlave as-is */
diff --git a/src/uncategorized/slaveSummary.tw b/src/uncategorized/slaveSummary.tw
index 266d29f9a5c..8140bf68c85 100644
--- a/src/uncategorized/slaveSummary.tw
+++ b/src/uncategorized/slaveSummary.tw
@@ -51,11 +51,6 @@
         || ($Flag == 1 && s.assignment == "work as a farmhand")
         || ($Flag != 0 && $Flag != 1 && s.ID == $Farmer.ID))),
     "Farmer Select":                s => (s.assignmentVisible == 1 && s.fuckdoll == 0 && s.devotion > 50 && canWalk(s) && canSee(s)),
-    "Zoo":				  s => (s.assignmentVisible == 1 && s.fuckdoll <= 0 && canWalk(s) && (
-           ($Flag == 0 && s.assignment != "work in the zoo")
-        || ($Flag == 1 && s.assignment == "work in the zoo")
-        || ($Flag != 0 && $Flag != 1 && s.ID == $Zookeeper.ID))),
-    "Zookeeper Select":             s => (s.assignmentVisible == 1 && s.fuckdoll == 0 && s.devotion > 50 && canWalk(s) && canSee(s)),
     "Servants' Quarters":           s => (s.assignmentVisible == 1 && s.fuckdoll <= 0 && (
            ($Flag == 0 && s.assignment != "work as a servant")
         || ($Flag == 1 && s.assignment == "work as a servant")
@@ -474,27 +469,6 @@
 <<case "Farmer Select">>
     <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|Farmer Workaround][$i = _ssi]]
-<<case "Zoo">>		/* TODO: THIS WILL NEED TO BE REWORKED - CURRENTLY A COPY OF THE FARMYARD */
-<<if $Flag == 0>>
-    <<if _Slave.assignment == "work in the zoo">><<continue>><</if>>
-    <<if $farmyard <= $farmyardSlaves>><<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]]]
-    <<else>>
-        <br>//_Slave.slaveName must be either more fearful of you or devoted to you//
-        <<continue>>
-    <</if>>
-<<elseif $Flag == 1>>
-        <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]]]
-<<else>>
-        <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]]]
-<</if>>
-<<case "Zookeeper Select">>
-    <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|Zookeeper Workaround][$i = _ssi]]
 <<case "Servants' Quarters">>
 <<if $Flag == 0>>
     <<if $servantsQuarters <= $servantsQuartersSlaves>><<continue>><</if>>
@@ -711,11 +685,11 @@ will
     <</if>> /* CLOSES FUCKDOLL CHECK */
 <</if>>
 
-<<set _numFacilities = $brothel+$club+$dairy+$farmyard+$zoo+$servantsQuarters+$masterSuite+$spa+$clinic+$schoolroom+$cellblock+$arcade+$HGSuite>>
+<<set _numFacilities = $brothel+$club+$dairy+$farmyard+$servantsQuarters+$masterSuite+$spa+$clinic+$schoolroom+$cellblock+$arcade+$HGSuite>>
 
 <<if _numFacilities > 0>>
 
-    <<if _Pass == "Main" || _Pass == "Head Girl Suite" || _Pass == "Spa" || _Pass == "Brothel" || _Pass == "Club" || _Pass == "Arcade" || _Pass == "Clinic" || _Pass == "Schoolroom" || _Pass == "Dairy" || _Pass == "Farmyard" || _Pass == "Zoo" || _Pass == "Servants' Quarters" || _Pass == "Master Suite" || _Pass == "Cellblock" >>
+    <<if _Pass == "Main" || _Pass == "Head Girl Suite" || _Pass == "Spa" || _Pass == "Brothel" || _Pass == "Club" || _Pass == "Arcade" || _Pass == "Clinic" || _Pass == "Schoolroom" || _Pass == "Dairy" || _Pass == "Farmyard" || _Pass == "Servants' Quarters" || _Pass == "Master Suite" || _Pass == "Cellblock" >>
     <<set $returnTo=_Pass >>
 
     <br>Transfer to:
@@ -803,13 +777,6 @@ will
         <<if _numFacilities-- > 1>>|<</if>>
     <</if>>
 
-    <<if $zoo != 0>>
-        <<if $zoo > $zooSlaves>>	/* TODO: the requirement will need to be expanded, but I'm not sure what they should be at the moment */
-            [[Zoo|Assign][$assignTo = "Zoo", $i = _ssi]]
-        <<else>>Zoo<</if>>
-        <<if _numFacilities-- > 1>>|<</if>>
-    <</if>>
-
     <<if $spa != 0>>
         <<if $spa > $spaSlaves && ((_Slave.devotion >= -20 || _Slave.fetish == "mindbroken") && (_Slave.health < 20 || _Slave.trust <= 60 || _Slave.devotion <= 60 || _Slave.fetish == "mindbroken" || _Slave.sexualFlaw !== "none" || _Slave.behavioralFlaw !== "none"))>>
             [[Spa|Assign][$assignTo = "Spa", $i = _ssi]] /* $i = -1 tells Assign to use _Slave as-is */
@@ -986,20 +953,6 @@ will
     <<if setup.farmerCareers.includes(_Slave.career) || (_Slave.skillFA >= $masteredXP)>>
         <br><<if $seeImages != 1 || $seeSummaryImages != 1 || $imageChoice == 1>>&nbsp;&nbsp;&nbsp;&nbsp;<</if>>@@.lime;Has applicable career experience.@@
     <</if>>
-<<case "Zoo">>
-    <br><<if $seeImages != 1 || $seeSummaryImages != 1 || $imageChoice == 1>>&nbsp;&nbsp;&nbsp;&nbsp;<</if>>
-    <<if $Flag == 0>>
-        <<link "Send $him to $zooName" "Assign">><<set $i = _ssi>><</link>>
-    <<elseif $Flag == 1>>
-        <<link "Release $him from $zooName" "Retrieve">><<set $i = _ssi>><</link>>
-    <<else>>
-        [[Change or remove Zookeeper|Zookeeper Select]]
-        <<break>>
-    <</if>>
-<<case "Zookeeper Select">>
-    <<if setup.zookeeperCareers.includes(_Slave.career) || (_Slave.skillZO >= $masteredXP)>>
-        <br><<if $seeImages != 1 || $seeSummaryImages != 1 || $imageChoice == 1>>&nbsp;&nbsp;&nbsp;&nbsp;<</if>>@@.lime;Has applicable career experience.@@
-    <</if>>
 <<case "Servants' Quarters">>
     <br><<if $seeImages != 1 || $seeSummaryImages != 1 || $imageChoice == 1>>&nbsp;&nbsp;&nbsp;&nbsp;<</if>>
     <<if $Flag == 0>>
diff --git a/src/uncategorized/storyCaption.tw b/src/uncategorized/storyCaption.tw
index 9daf5650755..bec3fe24c95 100644
--- a/src/uncategorized/storyCaption.tw
+++ b/src/uncategorized/storyCaption.tw
@@ -444,14 +444,6 @@
 				($farmyardSlaves/$farmyard<<if $Farmer>>, L<</if>>)
 			<</if>>
 		<</if>>
-		<<if ($zoo)>>
-			<br> <<link "$zooNameCaps""Zoo">><</link>>
-			<<if $abbreviateSidebar == 2>>
-				($zooSlaves/$zoo zoo workers<<if $Zookeeper>>, zookeeper<</if>>)	/* TODO: change the name of slaves working at the zoo */
-			<<else>>
-				($zooSlaves/$zoo<<if $Zookeeper>>, L<</if>>)
-			<</if>>
-		<</if>>
 		<<if ($servantsQuarters)>>
 			<br> <<link "$servantsQuartersNameCaps""Servants' Quarters">><</link>>
 			<<if $abbreviateSidebar == 2>>
diff --git a/src/uncategorized/surgeryDegradation.tw b/src/uncategorized/surgeryDegradation.tw
index efa2d6f79b3..ece6ce8a244 100644
--- a/src/uncategorized/surgeryDegradation.tw
+++ b/src/uncategorized/surgeryDegradation.tw
@@ -116,7 +116,6 @@
 	<<if _ID == $DJ.ID>><<set $DJ = 0>><</if>>
 	<<if _ID == $Milkmaid.ID>><<set $Milkmaid = 0>><</if>>
 	<<if _ID == $Farmer.ID>><<set $Farmer = 0>><</if>>
-	<<if _ID == $Zookeeper.ID>><<set $Zookeeper = 0>><</if>>
 	<<if _ID == $Schoolteacher.ID>><<set $Schoolteacher = 0>><</if>>
 	<<if _ID == $Attendant.ID>><<set $Attendant = 0>><</if>>
 	<<if _ID == $Matron.ID>><<set $Matron = 0>><</if>>
diff --git a/src/uncategorized/universalRules.tw b/src/uncategorized/universalRules.tw
index 7f93c681f8f..eca99db5221 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+$zoo+$servantsQuarters+$arcade+$schoolroom+$spa+$nursery+$clinic+$masterSuite+$cellblock > 0>>
+<<if $brothel+$club+$dairy+$farmyard+$servantsQuarters+$arcade+$schoolroom+$spa+$nursery+$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+$zoo+$servantsQuarters+$arcade+$schoolroom+$spa+$nursery+$clinic+$masterSuite+$cellblock > 0>>
+<<if $brothel+$club+$dairy+$farmyard+$servantsQuarters+$arcade+$schoolroom+$spa+$nursery+$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/birthWidgets.tw b/src/utility/birthWidgets.tw
index 85915ec99b9..3909fe22785 100644
--- a/src/utility/birthWidgets.tw
+++ b/src/utility/birthWidgets.tw
@@ -125,22 +125,6 @@
 		<</if>>
 	<</if>>
 
-<<case "work in the zoo">> /* TODO: This needs a rewrite */
-	<<if $slaves[$i].fetish == "mindbroken">>
-		<<if $zooPregSetting > 0>>
-			Since the zoo is designed for pregnant slaves, $he stays hooked up to the milkers. $He shows little interest in $his coming birth, instead focusing on $his milky breasts. Instinctively, $he begins to push out $his bab<<if $slaves[$i].pregType > 1>>ies<<else>>y<</if>>. $He pays no heed to $his child<<if $slaves[$i].pregType > 1>>ren<</if>> being removed from the milking stall, nor when $he is hosed off.
-		<<else>>
-			<<if !canWalk($slaves[$i])>>$He is helped back to $his bed and stripped before slipping into it<<else>>$He returns to $his bed and strips before slipping into it<</if>>. Instinctively, $he begins to push out $his bab<<if $slaves[$i].pregType > 1>>ies<<else>>y<</if>>. $His child<<if $slaves[$i].pregType > 1>>ren are<<else>> is<</if>> promptly taken and $he rests awhile before returning to the milkers to lighten $his swelling breasts.
-		<</if>>
-	<<else>>
-		<<if $zooPregSetting > 0>>
-			Since the zoo is designed for pregnant slaves, $he stays hooked up to the milkers. $He meekly protests $his situation, but ultimately accepts it. $He begins working on birthing $his bab<<if $slaves[$i].pregType > 1>>ies<<else>>y<</if>>, and catches a glimpse of $his child<<if $slaves[$i].pregType > 1>>ren<</if>> being removed from the milking stall, but quickly forgets when $he is hosed off.
-			<<set $humiliation = 1>>
-		<<else>>
-			<<if !canWalk($slaves[$i])>>$He is helped back to $his bed and stripped before slipping into it<<else>>$He returns to $his bed and strips before slipping into it<</if>>. $He makes $himself comfortable and begins working on birthing $his bab<<if $slaves[$i].pregType > 1>>ies<<else>>y<</if>>. $His child<<if $slaves[$i].pregType > 1>>ren are<<else>> is<</if>> promptly taken and $he rests awhile before returning to the milkers to lighten $his swelling breasts.
-		<</if>>
-	<</if>>
-
 <<case "please you">>
 	<<if !canWalk($slaves[$i])>>
 		<<if $slaves[$i].fetish == "mindbroken">>
@@ -353,9 +337,6 @@
 <<case "be the Farmer">>	/* TODO: write this */
 	//This needs a description//
 
-<<case "be the Zookeeper">>	/* TODO: write this */
-	//This needs a description//
-
 <<case "be the Wardeness">>
 	<<if $slaves[$i].fetish == "mindbroken">>
 		$He enters an empty cell, strips, and seats $himself on the cot. $He instinctively begins birthing $his bab<<if $slaves[$i].pregType > 1>>ies<<else>>y<</if>>. $His child<<if $slaves[$i].pregType > 1>>ren are<<else>> is<</if>> promptly taken and $he returns to mindlessly breaking the confined slaves.
diff --git a/src/utility/descriptionWidgetsStyle.tw b/src/utility/descriptionWidgetsStyle.tw
index fdbad0e66da..f6b41ce2671 100644
--- a/src/utility/descriptionWidgetsStyle.tw
+++ b/src/utility/descriptionWidgetsStyle.tw
@@ -733,7 +733,7 @@ $activeSlave.slaveName is
 	$His uniform is pinned with the
 	<<if ($activeSlave.ID == $Bodyguard.ID) || ($activeSlave.ID == $HeadGirl.ID) || ($activeSlave.ID == $Recruiter.ID) || ($activeSlave.ID == $Concubine.ID)>>
 		golden whip and manacles insignia of a senior slave officer,
-	<<elseif ($activeSlave.ID == $Madam.ID) || ($activeSlave.ID == $Nurse.ID) || ($activeSlave.ID == $Attendant.ID) || ($activeSlave.ID == $Matron.ID) || ($activeSlave.ID == $DJ.ID) || ($activeSlave.ID == $Milkmaid.ID) || ($activeSlave.ID == $Farmer.ID) || ($activeSlave.ID == $Zookeeper.ID) || ($activeSlave.ID == $Stewardess.ID) || ($activeSlave.ID == $Schoolteacher.ID) || ($activeSlave.ID == $Wardeness.ID) || ($activeSlave.ID == $Collectrix.ID)>>
+	<<elseif ($activeSlave.ID == $Madam.ID) || ($activeSlave.ID == $Nurse.ID) || ($activeSlave.ID == $Attendant.ID) || ($activeSlave.ID == $Matron.ID) || ($activeSlave.ID == $DJ.ID) || ($activeSlave.ID == $Milkmaid.ID) || ($activeSlave.ID == $Farmer.ID) || ($activeSlave.ID == $Stewardess.ID) || ($activeSlave.ID == $Schoolteacher.ID) || ($activeSlave.ID == $Wardeness.ID) || ($activeSlave.ID == $Collectrix.ID)>>
 		golden manacles insignia of a junior slave officer,
 	<<elseif ($activeSlave.combatSkill > 0) && ($activeSlave.amp == -4)>>
 		silver spear and manacles insignia of an augmented slave soldier,
@@ -755,7 +755,7 @@ $activeSlave.slaveName is
 	$His uniform is pinned with the
 	<<if ($activeSlave.ID == $Bodyguard.ID) || ($activeSlave.ID == $HeadGirl.ID) || ($activeSlave.ID == $Recruiter.ID) || ($activeSlave.ID == $Concubine.ID)>>
 		golden whip and manacles insignia of a senior slave officer,
-	<<elseif ($activeSlave.ID == $Madam.ID) || ($activeSlave.ID == $Nurse.ID) || ($activeSlave.ID == $Attendant.ID) || ($activeSlave.ID == $Matron.ID) || ($activeSlave.ID == $DJ.ID) || ($activeSlave.ID == $Milkmaid.ID) || ($activeSlave.ID == $Farmer.ID) || ($activeSlave.ID == $Zookeeper.ID) || ($activeSlave.ID == $Stewardess.ID) || ($activeSlave.ID == $Schoolteacher.ID) || ($activeSlave.ID == $Wardeness.ID) || ($activeSlave.ID == $Collectrix.ID)>>
+	<<elseif ($activeSlave.ID == $Madam.ID) || ($activeSlave.ID == $Nurse.ID) || ($activeSlave.ID == $Attendant.ID) || ($activeSlave.ID == $Matron.ID) || ($activeSlave.ID == $DJ.ID) || ($activeSlave.ID == $Milkmaid.ID) || ($activeSlave.ID == $Farmer.ID) || ($activeSlave.ID == $Stewardess.ID) || ($activeSlave.ID == $Schoolteacher.ID) || ($activeSlave.ID == $Wardeness.ID) || ($activeSlave.ID == $Collectrix.ID)>>
 		golden manacles insignia of a junior slave officer,
 	<<elseif ($activeSlave.combatSkill > 0) && ($activeSlave.amp == -4)>>
 		silver spear and manacles insignia of an augmented slave soldier,
@@ -777,7 +777,7 @@ $activeSlave.slaveName is
 	$His uniform is pinned with the
 	<<if ($activeSlave.ID == $Bodyguard.ID) || ($activeSlave.ID == $HeadGirl.ID) || ($activeSlave.ID == $Recruiter.ID) || ($activeSlave.ID == $Concubine.ID)>>
 		golden whip and manacles insignia of a senior slave officer,
-	<<elseif ($activeSlave.ID == $Madam.ID) || ($activeSlave.ID == $Nurse.ID) || ($activeSlave.ID == $Attendant.ID) || ($activeSlave.ID == $Matron.ID) || ($activeSlave.ID == $DJ.ID) || ($activeSlave.ID == $Milkmaid.ID) || ($activeSlave.ID == $Farmer.ID) || ($activeSlave.ID == $Zookeeper.ID) || ($activeSlave.ID == $Stewardess.ID) || ($activeSlave.ID == $Schoolteacher.ID) || ($activeSlave.ID == $Wardeness.ID) || ($activeSlave.ID == $Collectrix.ID)>>
+	<<elseif ($activeSlave.ID == $Madam.ID) || ($activeSlave.ID == $Nurse.ID) || ($activeSlave.ID == $Attendant.ID) || ($activeSlave.ID == $Matron.ID) || ($activeSlave.ID == $DJ.ID) || ($activeSlave.ID == $Milkmaid.ID) || ($activeSlave.ID == $Farmer.ID) || ($activeSlave.ID == $Stewardess.ID) || ($activeSlave.ID == $Schoolteacher.ID) || ($activeSlave.ID == $Wardeness.ID) || ($activeSlave.ID == $Collectrix.ID)>>
 		golden manacles insignia of a junior slave officer,
 	<<elseif ($activeSlave.combatSkill > 0) && ($activeSlave.amp == -4)>>
 		silver spear and manacles insignia of an augmented slave soldier,
@@ -799,7 +799,7 @@ $activeSlave.slaveName is
 	$His uniform is pinned with the
 	<<if ($activeSlave.ID == $Bodyguard.ID) || ($activeSlave.ID == $HeadGirl.ID) || ($activeSlave.ID == $Recruiter.ID) || ($activeSlave.ID == $Concubine.ID)>>
 		golden whip and manacles insignia of a senior slave officer,
-	<<elseif ($activeSlave.ID == $Madam.ID) || ($activeSlave.ID == $Nurse.ID) || ($activeSlave.ID == $Attendant.ID) || ($activeSlave.ID == $Matron.ID) || ($activeSlave.ID == $DJ.ID) || ($activeSlave.ID == $Milkmaid.ID) || ($activeSlave.ID == $Farmer.ID) || ($activeSlave.ID == $Zookeeper.ID) || ($activeSlave.ID == $Stewardess.ID) || ($activeSlave.ID == $Schoolteacher.ID) || ($activeSlave.ID == $Wardeness.ID) || ($activeSlave.ID == $Collectrix.ID)>>
+	<<elseif ($activeSlave.ID == $Madam.ID) || ($activeSlave.ID == $Nurse.ID) || ($activeSlave.ID == $Attendant.ID) || ($activeSlave.ID == $Matron.ID) || ($activeSlave.ID == $DJ.ID) || ($activeSlave.ID == $Milkmaid.ID) || ($activeSlave.ID == $Farmer.ID) || ($activeSlave.ID == $Stewardess.ID) || ($activeSlave.ID == $Schoolteacher.ID) || ($activeSlave.ID == $Wardeness.ID) || ($activeSlave.ID == $Collectrix.ID)>>
 		golden manacles insignia of a junior slave officer,
 	<<elseif ($activeSlave.combatSkill > 0) && ($activeSlave.amp == -4)>>
 		silver spear and manacles insignia of an augmented slave soldier,
diff --git a/src/utility/miscWidgets.tw b/src/utility/miscWidgets.tw
index 17cf929a619..32c617122a9 100644
--- a/src/utility/miscWidgets.tw
+++ b/src/utility/miscWidgets.tw
@@ -783,7 +783,6 @@ This experience
 <<if $club > 0>><<run ValidateFacilityDecoration("clubDecoration")>><</if>>
 <<if $dairy > 0>><<run ValidateFacilityDecoration("dairyDecoration")>><</if>>
 <<if $farmyard > 0>><<run ValidateFacilityDecoration("farmyardDecoration")>><</if>>
-<<if $zoo > 0>><<run ValidateFacilityDecoration("zooDecoration")>><</if>>
 <<if $spa > 0>><<run ValidateFacilityDecoration("spaDecoration")>><</if>>
 <<if $nursery > 0>><<run ValidateFacilityDecoration("nurseryDecoration")>><</if>>
 <<if $clinic > 0>><<run ValidateFacilityDecoration("clinicDecoration")>><</if>>
diff --git a/src/utility/slaveCreationWidgets.tw b/src/utility/slaveCreationWidgets.tw
index f4e7f69d893..d72d329e915 100644
--- a/src/utility/slaveCreationWidgets.tw
+++ b/src/utility/slaveCreationWidgets.tw
@@ -4763,17 +4763,6 @@
 				<<set $activeSlave.actualAge = random(20,$retirementAge-5)>>
 			<</if>>
 			<<set $activeSlave.physicalAge = $activeSlave.actualAge, $activeSlave.visualAge = $activeSlave.actualAge, $activeSlave.ovaryAge = $activeSlave.actualAge>>
-		<<case "Zookeeper">>	/* TODO: this will need to be reworked */
-			<<set $activeSlave.devotion = 80, $activeSlave.trust = 80, $activeSlave.health = random(80,95), $activeSlave.muscles = random(41,70), $activeSlave.sexualQuirk = "caring", $activeSlave.career = either("a zookeeper", "a zookeeper's daughter", "a rancher", "a farmhand", "a zookeeper"), $activeSlave.intelligenceImplant = 30, $activeSlave.intelligence = random(20,70), $activeSlave.height = Math.round(Height.random($activeSlave, {skew: 3, spread: .2, limitMult: [1, 4]})), $activeSlave.weight = random(0,30)>>
-			<<if $seeDicks > 0>>
-				<<set $activeSlave.dick = random(3,5), $activeSlave.balls = random(4,9), $activeSlave.scrotum = $activeSlave.balls, $activeSlave.prostate = either(1,1,1,2)>>
-			<</if>>
-			<<if $AgePenalty == 0>>
-				<<set $activeSlave.actualAge = random(36,$retirementAge-5)>>
-			<<else>>
-				<<set $activeSlave.actualAge = random(20,$retirementAge-5)>>
-			<</if>>
-			<<set $activeSlave.physicalAge = $activeSlave.actualAge, $activeSlave.visualAge = $activeSlave.actualAge, $activeSlave.ovaryAge = $activeSlave.actualAge>>
 	/* Closes management */
 	/* Opens entertain */
 		<<case "DJ">>
-- 
GitLab