From e80239f717afd7d34db66ec72a662f823753b9cb Mon Sep 17 00:00:00 2001
From: DCoded <dcoded@live.com>
Date: Wed, 23 Jan 2019 00:07:33 -0500
Subject: [PATCH] Fixes

---
 src/facilities/farmyard/farmyardAnimals.tw  | 414 ++------------------
 src/facilities/farmyard/futureAnimals.tw    | 370 +++++++++++++++++
 src/js/food.js                              | 263 +++++++++++++
 src/js/story.js                             | 264 -------------
 src/pregmod/beastFucked.tw                  |   2 +-
 src/pregmod/organFarm.tw                    |   2 +-
 src/uncategorized/BackwardsCompatibility.tw |   2 +-
 src/uncategorized/nonRandomEvent.tw         |   2 +-
 src/uncategorized/slaveInteract.tw          |  17 +-
 9 files changed, 672 insertions(+), 664 deletions(-)
 create mode 100644 src/facilities/farmyard/futureAnimals.tw

diff --git a/src/facilities/farmyard/farmyardAnimals.tw b/src/facilities/farmyard/farmyardAnimals.tw
index 97701b56c56..4fb491daa66 100644
--- a/src/facilities/farmyard/farmyardAnimals.tw
+++ b/src/facilities/farmyard/farmyardAnimals.tw
@@ -9,13 +9,13 @@
 
 <<if $farmyardKennels > 0>>
 	<br>
-	Dogs:
+	__Dogs__
 	<br>//Cost <<print cashFormat(20000)>> each// /* TODO: this number is mostly a placeholder, will need adjusting */
-	<br><br>
-	<<if $animalsBought.labradorRetrievers == 0>>
+	<br>
+	<<if $animalsBought.labradorRetrievers <= 0>>
 		<<link "Purchase dogs" "FarmyardAnimals">><<set cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology)), "farmyard"), $animalsBought.labradorRetrievers = 1, $animalsBought.canines += 1, $canines.push("Labrador Retrievers")>><</link>>
 		<br>
-	<<elseif $animalsBought.labradorRetrievers == 1>>
+	<<else>>
 		Dogs
 		<<if $activeCanine.breed != "Labrador Retriever">>
 			[[Set as active canine|FarmyardAnimals][$activeCanine = {species: "dog", speciesCap: "Dog", speciesPlural: "dogs", breed: "Labrador Retriever", type: "canine", dickSize: "big", ballType: "dog"}]]
@@ -24,126 +24,17 @@
 		<</if>>
 		<br>
 	<</if>>
-	/*
-	<<if $animalsBought.germanShepherds == 0>>
-		<<link "Purchase German Shepherds" "FarmyardAnimals">><<set cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology)), "farmyard"), $animalsBought.germanShepherds = 1, $animalsBought.canines += 1, $canines.push("German Shepherds")>><</link>>
-		<br>
-	<<elseif $animalsBought.germanShepherds == 1>>
-		German Shepherds
-		<<if $activeCanine.breed != "German Shepherd">>
-			[[Set as active canine|FarmyardAnimals][$activeCanine = {species: "dog", speciesCap: "Dog", speciesPlural: "dogs", breed: "German Shepherd", type: "canine", dickSize: "big", ballType: "dog"}]]
-		<<else>>
-			//Set as active canine//
-		<</if>>
-		<br>
-	<</if>>
-	<<if $animalsBought.goldenRetrievers == 0>>
-		<<link "Purchase Golden Retrievers" "FarmyardAnimals">><<set cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology)), "farmyard"), $animalsBought.goldenRetrievers = 1, $animalsBought.canines += 1, $canines.push("Golden Retrievers")>><</link>>
-		<br>
-	<<elseif $animalsBought.goldenRetrievers == 1>>
-		Golden Retrievers
-		<<if $activeCanine.breed != "Golden Retriever">>
-			[[Set as active canine|FarmyardAnimals][$activeCanine = {species: "dog", speciesCap: "Dog", speciesPlural: "dogs", breed: "Golden Retriever", type: "canine", dickSize: "big", ballType: "dog"}]]
-		<<else>>
-			//Set as active canine//
-		<</if>>
-		<br>
-	<</if>>
-	<<if $animalsBought.frenchBulldogs == 0>>
-		<<link "Purchase French Bulldogs" "FarmyardAnimals">><<set cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology)), "farmyard"), $animalsBought.frenchBulldogs = 1, $animalsBought.canines += 1, $canines.push("French Bulldogs")>><</link>>
-		<br>
-	<<elseif $animalsBought.frenchBulldogs == 1>>
-		French Bulldogs
-		<<if $activeCanine.breed != "French Bulldog">>
-			[[Set as active canine|FarmyardAnimals][$activeCanine = {species: "dog", speciesCap: "Dog", speciesPlural: "dogs", breed: "French Bulldog", type: "canine", dickSize: "big", ballType: "dog"}]]
-		<<else>>
-			//Set as active canine//
-		<</if>>
-		<br>
-	<</if>>
-	<<if $animalsBought.bulldogs == 0>>
-		<<link "Purchase Bulldogs" "FarmyardAnimals">><<set cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology)), "farmyard"), $animalsBought.bulldogs = 1, $animalsBought.canines += 1, $canines.push("Bulldogs")>><</link>>
-		<br>
-	<<elseif $animalsBought.bulldogs == 1>>
-		Bulldogs
-		<<if $activeCanine.breed != "Bulldog">>
-			[[Set as active canine|FarmyardAnimals][$activeCanine = {species: "dog", speciesCap: "Dog", speciesPlural: "dogs", breed: "Bulldog", type: "canine", dickSize: "big", ballType: "dog"}]]
-		<<else>>
-			//Set as active canine//
-		<</if>>
-		<br>
-	<</if>>
-	<<if $animalsBought.beagles == 0>>
-		<<link "Purchase Beagles" "FarmyardAnimals">><<set cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology)), "farmyard"), $animalsBought.beagles = 1, $animalsBought.canines += 1, $canines.push("Beagles")>><</link>>
-		<br>
-	<<elseif $animalsBought.beagles == 1>>
-		Beagles
-		<<if $activeCanine.breed != "Beagle">>
-			[[Set as active canine|FarmyardAnimals][$activeCanine = {species: "dog", speciesCap: "Dog", speciesPlural: "dogs", breed: "Beagle", type: "canine", dickSize: "big", ballType: "dog"}]]
-		<<else>>
-			//Set as active canine//
-		<</if>>
-		<br>
-	<</if>>
-	<<if $animalsBought.poodles == 0>>
-		<<link "Purchase Poodles" "FarmyardAnimals">><<set cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology)), "farmyard"), $animalsBought.poodles = 1, $animalsBought.canines += 1, $canines.push("Poodles")>><</link>>
-		<br>
-	<<elseif $animalsBought.poodles == 1>>
-		Poodles
-		<<if $activeCanine.breed != "Poodle">>
-			[[Set as active canine|FarmyardAnimals][$activeCanine = {species: "dog", speciesCap: "Dog", speciesPlural: "dogs", breed: "Poodle", type: "canine", dickSize: "big", ballType: "dog"}]]
-		<<else>>
-			//Set as active canine//
-		<</if>>
-		<br>
-	<</if>>
-	<<if $animalsBought.rottweilers == 0>>
-		<<link "Purchase Rottweilers" "FarmyardAnimals">><<set cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology)), "farmyard"), $animalsBought.rottweilers = 1, $animalsBought.canines += 1, $canines.push("Rottweilers")>><</link>>
-		<br>
-	<<elseif $animalsBought.rottweilers == 1>>
-		Rottweilers
-		<<if $activeCanine.breed != "Rottweiler">>
-			[[Set as active canine|FarmyardAnimals][$activeCanine = {species: "dog", speciesCap: "Dog", speciesPlural: "dogs", breed: "Rottweiler", type: "canine", dickSize: "big", ballType: "dog"}]]
-		<<else>>
-			//Set as active canine//
-		<</if>>
-		<br>
-	<</if>>
-	<<if $animalsBought.yorkshireTerriers == 0>>
-		<<link "Purchase Yorkshire Terriers" "FarmyardAnimals">><<set cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology)), "farmyard"), $animalsBought.yorkshireTerriers = 1, $animalsBought.canines += 1, $canines.push("Yorkshire Terriers")>><</link>>
-		<br>
-	<<elseif $animalsBought.yorkshireTerriers == 1>>
-		Yorkshire Terriers
-		<<if $activeCanine.breed != "Yorkshire Terrier">>
-			[[Set as active canine|FarmyardAnimals][$activeCanine = {species: "dog", speciesCap: "Dog", speciesPlural: "dogs", breed: "Yorkshire Terrier", type: "canine", dickSize: "big", ballType: "dog"}]]
-		<<else>>
-			//Set as active canine//
-		<</if>>
-		<br>
-	<</if>>
-	<<if $animalsBought.siberianHuskies == 0>>
-		<<link "Purchase Siberian Huskies" "FarmyardAnimals">><<set cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology)), "farmyard"), $animalsBought.siberianHuskies = 1, $animalsBought.canines += 1, $canines.push("Siberian Huskies")>><</link>>
-		<br>
-	<<elseif $animalsBought.siberianHuskies == 1>>
-		Siberian Huskies
-		<<if $activeCanine.breed != "Siberian Husky">>
-			[[Set as active canine|FarmyardAnimals][$activeCanine = {species: "dog", speciesCap: "Dog", speciesPlural: "dogs", breed: "Siberian Husky", type: "canine", dickSize: "big", ballType: "dog"}]]
-		<<else>>
-			//Set as active canine//
-		<</if>>
-		<br>
-	<</if>>
 <</if>>
-*/
 
 <<if $farmyardStable > 0>>
 	<br>
-	Hooved Animals:
+	__Hooved Animals__
 	<br>//Cost <<print cashFormat(20000)>> each// /* TODO: this number is mostly a placeholder, will need adjusting */
-	<br><br>
-	<<if $animalsBought.horses == 0>>
+	<br>
+	<<if $animalsBought.horses <= 0>>
 		<<link "Purchase horses" "FarmyardAnimals">><<set cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology)), "farmyard"), $animalsBought.horses = 1, $animalsBought.hooved += 1, $hooved.push("horses")>><</link>>
-	<<elseif $animalsBought.horses == 1>>
+		<br>
+	<<else>>
 		Horses
 		<<if $activeHooved.species != "horse">>
 			[[Set as active hooved|FarmyardAnimals][$activeHooved = {species: "horse", speciesCap: "Horse", speciesPlural: "horses", type: "hooved", dickSize: "huge", ballType: "horse"}]]
@@ -152,9 +43,10 @@
 		<</if>>
 		<br>
 	<</if>>
-	<<if $animalsBought.bulls == 0>>
+	<<if $animalsBought.bulls <= 0>>
 		<<link "Purchase bulls" "FarmyardAnimals">><<set cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology)), "farmyard"), $animalsBought.bulls = 1, $animalsBought.hooved += 1, $hooved.push("bulls")>><</link>>
-	<<elseif $animalsBought.bulls == 1>>
+		<br>
+	<<else>>
 		Bulls
 		<<if $activeHooved.species != "bull">>
 			[[Set as active hooved|FarmyardAnimals][$activeHooved = {species: "bull", speciesCap: "Bull", speciesPlural: "bulls", type: "hooved", dickSize: "huge", ballType: "horse"}]]
@@ -163,163 +55,37 @@
 		<</if>>
 		<br>
 	<</if>>
-	<<if $animalsBought.pigs == 0>>
+	<<if $animalsBought.pigs <= 0>>
 		<<link "Purchase pigs" "FarmyardAnimals">><<set cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology)), "farmyard"), $animalsBought.pigs = 1, $animalsBought.hooved += 1, $hooved.push("pigs")>><</link>>
-	<<elseif $animalsBought.pigs == 1>>
+		<br>
+	<<else>>
 		Pigs
 		<<if $activeHooved.species != "pig">>
-			[[Set as active hooved|FarmyardAnimals][$activeHooved = {species: "pig", speciesCap: "Pig", speciesPlural: "pigs", type: "hooved", dickSize: "huge", ballType: "horse"}]]
+			[[Set as active hooved|FarmyardAnimals][$activeHooved = {species: "pig", speciesCap: "Pig", speciesPlural: "pigs", type: "hooved", dickSize: "large", ballType: "horse"}]]
 		<<else>>
 			//Set as active hooved//
 		<</if>>
 		<br>
 	<</if>>
 <</if>>
-
-/*
-<<if $farmyardCages > 0>>
-	<br>
-	Cats:
-	<br><br>
-	<<if $animalsBought.siameses == 0>>
-		<<link "Purchase Siamese cats" "FarmyardAnimals">><<set cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology)), "farmyard"), $animalsBought.siameses = 1, $animalsBought.felines += 1, $felines.push("Siamese cats")>><</link>>
-		<br>
-	<<elseif $animalsBought.siameses == 1>>
-		Siamese cats
-		<<if $activeFeline.breed != "Siamese">>
-			[[Set as active canine|FarmyardAnimals][$activeFeline = {species: "cat", speciesCap: "Cat", speciesPlural: "cats", breed: "Siamese", type: "feline", dickSize: "small", ballType: "cat"}]]
-		<<else>>
-			//Set as active feline//
-		<</if>>
-		<br>
-	<</if>>
-	<<if $animalsBought.persians == 0>>
-		<<link "Purchase Persian cats" "FarmyardAnimals">><<set cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology)), "farmyard"), $animalsBought.persians = 1, $animalsBought.felines += 1, $felines.push("Persian cats")>><</link>>
-		<br>
-	<<elseif $animalsBought.persians == 1>>
-		Persian cats
-		<<if $activeFeline.breed != "Persian">>
-			[[Set as active feline|FarmyardAnimals][$activeFeline = {species: "cat", speciesCap: "Cat", speciesPlural: "cats", breed: "Persian", type: "feline", dickSize: "small", ballType: "cat"}]]
-		<<else>>
-			//Set as active feline//
-		<</if>>
-		<br>
-	<</if>>
-	<<if $animalsBought.maineCoons == 0>>
-		<<link "Purchase Maine Coon cats" "FarmyardAnimals">><<set cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology)), "farmyard"), $animalsBought.maineCoons = 1, $animalsBought.felines += 1, $felines.push("Maine Coon cats")>><</link>>
-		<br>
-	<<elseif $animalsBought.maineCoons == 1>>
-		Maine Coon cats
-		<<if $activeFeline.breed != "Maine Coon">>
-			[[Set as active feline|FarmyardAnimals][$activeFeline = {species: "cat", speciesCap: "Cat", speciesPlural: "cats", breed: "Maine Coon", type: "feline", dickSize: "small", ballType: "cat"}]]
-		<<else>>
-			//Set as active feline//
-		<</if>>
-		<br>
-	<</if>>
-	<<if $animalsBought.ragdolls == 0>>
-		<<link "Purchase Ragdoll cats" "FarmyardAnimals">><<set cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology)), "farmyard"), $animalsBought.ragdolls = 1, $animalsBought.felines += 1, $felines.push("Ragdoll cats")>><</link>>
-		<br>
-	<<elseif $animalsBought.ragdolls == 1>>
-		Ragdoll cats
-		<<if $activeFeline.breed != "Ragdoll">>
-			[[Set as active feline|FarmyardAnimals][$activeFeline = {species: "cat", speciesCap: "Cat", speciesPlural: "cats", breed: "Ragdoll", type: "feline", dickSize: "small", ballType: "cat"}]]
-		<<else>>
-			//Set as active feline//
-		<</if>>
-		<br>
-	<</if>>
-	<<if $animalsBought.bengals == 0>>
-		<<link "Purchase Bengal cats" "FarmyardAnimals">><<set cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology)), "farmyard"), $animalsBought.bengals = 1, $animalsBought.felines += 1, $felines.push("Bengal cats")>><</link>>
-		<br>
-	<<elseif $animalsBought.bengals == 1>>
-		Bengal cats
-		<<if $activeFeline.breed != "Bengal">>
-			[[Set as active feline|FarmyardAnimals][$activeFeline = {species: "cat", speciesCap: "Cat", speciesPlural: "cats", breed: "Bengal", type: "feline", dickSize: "small", ballType: "cat"}]]
-		<<else>>
-			//Set as active feline//
-		<</if>>
-		<br>
-	<</if>>
-	<<if $animalsBought.abbysinians == 0>>
-		<<link "Purchase Abbysinian cats" "FarmyardAnimals">><<set cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology)), "farmyard"), $animalsBought.abbysinians = 1, $animalsBought.felines += 1, $felines.push("Abbysinian cats")>><</link>>
-		<br>
-	<<elseif $animalsBought.abbysinians == 1>>
-		Abbysinian cats
-		<<if $activeFeline.breed != "Abbysinian">>
-			[[Set as active feline|FarmyardAnimals][$activeFeline = {species: "cat", speciesCap: "Cat", speciesPlural: "cats", breed: "Abbysinian", type: "feline", dickSize: "small", ballType: "cat"}]]
-		<<else>>
-			//Set as active feline//
-		<</if>>
-		<br>
-	<</if>>
-	<<if $animalsBought.birmans == 0>>
-		<<link "Purchase Birman cats" "FarmyardAnimals">><<set cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology)), "farmyard"), $animalsBought.birmans = 1, $animalsBought.felines += 1, $felines.push("Birman cats")>><</link>>
-		<br>
-	<<elseif $animalsBought.birmans == 1>>
-		Birman cats
-		<<if $activeFeline.breed != "Birman">>
-			[[Set as active feline|FarmyardAnimals][$activeFeline = {species: "cat", speciesCap: "Cat", speciesPlural: "cats", breed: "Birman", type: "feline", dickSize: "small", ballType: "cat"}]]
-		<<else>>
-			//Set as active feline//
-		<</if>>
-		<br>
-	<</if>>
-	<<if $animalsBought.orientalShorthairs == 0>>
-		<<link "Purchase Oriental Shorthair cats" "FarmyardAnimals">><<set cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology)), "farmyard"), $animalsBought.orientalShorthairs = 1, $animalsBought.felines += 1, $felines.push("Oriental Shorthair cats")>><</link>>
-		<br>
-	<<elseif $animalsBought.orientalShorthairs == 1>>
-		Oriental Shorthair cats
-		<<if $activeFeline.breed != "Oriental Shorthair">>
-			[[Set as active feline|FarmyardAnimals][$activeFeline = {species: "cat", speciesCap: "Cat", speciesPlural: "cats", breed: "Oriental Shorthair", type: "feline", dickSize: "small", ballType: "cat"}]]
-		<<else>>
-			//Set as active feline//
-		<</if>>
-		<br>
-	<</if>>
-	<<if $animalsBought.sphynxes == 0>>
-		<<link "Purchase Sphynx cats" "FarmyardAnimals">><<set cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology)), "farmyard"), $animalsBought.sphynxes = 1, $animalsBought.felines += 1, $felines.push("Sphynx cats")>><</link>>
-		<br>
-	<<elseif $animalsBought.sphynxes == 1>>
-		Sphynx cats
-		<<if $activeFeline.breed != "Sphynx">>
-			[[Set as active feline|FarmyardAnimals][$activeFeline = {species: "cat", speciesCap: "Cat", speciesPlural: "cats", breed: "Sphynx", type: "feline", dickSize: "small", ballType: "cat"}]]
-		<<else>>
-			//Set as active feline//
-		<</if>>
-		<br>
-	<</if>>
-	<<if $animalsBought.russianBlues == 0>>
-		<<link "Purchase Russian Blue cats" "FarmyardAnimals">><<set cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology)), "farmyard"), $animalsBought.russianBlues = 1, $animalsBought.felines += 1, $felines.push("Russian Blue cats")>><</link>>
-		<br>
-	<<elseif $animalsBought.russianBlues == 1>>
-		Russian Blue cats
-		<<if $activeFeline.breed != "Russian Blue">>
-			[[Set as active feline|FarmyardAnimals][$activeFeline = {species: "cat", speciesCap: "Cat", speciesPlural: "cats", breed: "Russian Blue", type: "feline", dickSize: "small", ballType: "cat"}]]
-		<<else>>
-			//Set as active feline//
-		<</if>>
-		<br>
-	<</if>>
-<</if>>
 <</if>>
-*/
+<br>
 
 <<if $farmyardKennels > 1 || $farmyardStable > 1 || $farmyardCages > 1>>
 <br>
 ''Exotic Animals''
 <hr>
 
-/*
 <<if $farmyardKennels > 1>>
 	<br>
-	Canines:
-	<br><br>
-	<<if $animalsBought.wolves == 0>>
+	__Canines__
+	<br>//Cost <<print cashFormat(20000)>> each//
+	<br>
+	<<if $animalsBought.wolves <= 0>>
 		<<link "Purchase wolves" "FarmyardAnimals">><<set cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology)), "farmyard"), $animalsBought.wolves = 1, $animalsBought.canines += 1, $canines.push("wolves")>><</link>>
 		<br>
-	<<elseif $animalsBought.wolves == 1>>
-		/*A couple of adult wolves are lounging about in their kennels.(OLD)*//*
+	<<else>>
+		/*A couple of adult wolves are lounging about in their kennels.(OLD)*/
 		Wolves
 		<<if $activeCanine.species != "wolf">>
 			[[Set as active canine|FarmyardAnimals][$activeCanine = {species: "wolf", speciesCap: "Wolf", speciesPlural: "wolves", type: "canine", dickSize: "large", ballType: "wolf"}]]
@@ -328,129 +94,17 @@
 		<</if>>
 		<br>
 	<</if>>
-	<<if $animalsBought.foxes == 0>>
-		<<link "Purchase foxes" "FarmyardAnimals">><<set cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology)), "farmyard"), $animalsBought.foxes = 1, $animalsBought.canines += 1, $canines.push("foxes")>><</link>>
-		<br>
-	<<elseif $animalsBought.foxes == 1>>
-		/*Red foxes play in one corner of their kennels, chasing one another.(OLD)*//*
-		Foxes
-		<<if $activeCanine.species != "fox">>
-			[[Set as active canine|FarmyardAnimals][$activeCanine = {species: "fox", speciesCap: "Fox", speciesPlural: "foxes", type: "canine", dickSize: "large", ballType: "fox"}]]
-		<<else>>
-			//Set as active canine//
-		<</if>>
-		<br>
-	<</if>>
-	<<if $animalsBought.jackals == 0>>
-		<<link "Purchase jackals" "FarmyardAnimals">><<set cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology)), "farmyard"), $animalsBought.jackals = 1, $animalsBought.canines += 1, $canines.push("jackals")>><</link>>
-		<br>
-	<<elseif $animalsBought.jackals == 1>>
-		/*A group of male jackals are fighting over a potential mate, causing quite a ruckus.(OLD)*//*
-		Jackals
-		<<if $activeCanine.species != "jackal">>
-			[[Set as active canine|FarmyardAnimals][$activeCanine = {species: "jackal", speciesCap: "Jackal", speciesPlural: "jackals", type: "canine", dickSize: "large", ballType: "jackal"}]]
-		<<else>>
-			//Set as active canine//
-		<</if>>
-		<br>
-	<</if>>
-	<<if $animalsBought.dingos == 0>>
-		<<link "Purchase dingos" "FarmyardAnimals">><<set cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology)), "farmyard"), $animalsBought.dingos = 1, $animalsBought.canines += 1, $canines.push("dingos")>><</link>>
-		<br>
-	<<elseif $animalsBought.dingos == 1>>
-		/*The dingos are eating their meal, growling at each other when one gets to close to another's food.(OLD)*//*
-		Dingos
-		<<if $activeCanine.species != "dingo">>
-			[[Set as active canine|FarmyardAnimals][$activeCanine = {species: "dingo", speciesCap: "Dingo", speciesPlural: "dingos", type: "canine", dickSize: "large", ballType: "dingo"}]]
-		<<else>>
-			//Set as active canine//
-		<</if>>
-		<br>
-	<</if>>
 <</if>>
 
-
-<<if $farmyardStable > 1>>
-	<br>
-	Hooved Animals:
-	<br><br>
-	<<if $animalsBought.zebras == 0>>
-		<<link "Purchase zebras" "FarmyardAnimals">><<set cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology)), "farmyard"), $animalsBought.zebras = 1, $animalsBought.hooved += 1, $hooved.push("zebras")>><</link>>
-	<<elseif $animalsBought.zebras == 1>>
-		Zebras
-		<<if $activeHooved.species != "zebra">>
-			[[Set as active hooved|FarmyardAnimals][$activeHooved = {species: "zebra", speciesCap: "Zebra", speciesPlural: "zebras", type: "hooved", dickSize: "huge", ballType: "zebra"}]]
-		<<else>>
-			//Set as active hooved//
-		<</if>>
-	<</if>>
-	<br>
-<</if>>
-*/
-
 <<if $farmyardCages > 1>>
 	<br>
-	Felines
+	__Felines__
 	<br>//Cost <<print cashFormat(30000)>> each// /* TODO: this number is mostly a placeholder, will need adjusting */
-	<br><br>
-	/*
-	<<if $animalsBought.cougars == 0>>
-		<<link "Purchase cougars" "FarmyardAnimals">><<set cashX(forceNeg(Math.trunc(30000*$upgradeMultiplierArcology)), "farmyard"), $animalsBought.cougars = 1, $animalsBought.felines += 1, $felines.push("cougars")>><</link>>
-		<br>
-	<<elseif $animalsBought.cougars == 1>>
-		/*The cougars are sleeping, their lean bodies scattered around under trees. (OLD)*//*
-		Cougars
-		<<if $activeFeline.species != "cougar">>
-			[[Set as active feline|FarmyardAnimals][$activeFeline = {species: "cougar", speciesCap: "Cougar", speciesPlural: "cougars", type: "feline", dickSize: "large", ballType: "cougar"}]]
-		<<else>>
-			//Set as active feline//
-		<</if>>
-		<br>
-	<</if>>
-	<<if $animalsBought.jaguars == 0>>
-		<<link "Purchase jaguars" "FarmyardAnimals">><<set cashX(forceNeg(Math.trunc(30000*$upgradeMultiplierArcology)), "farmyard"), $animalsBought.jaguars = 1, $animalsBought.felines += 1, $felines.push("jaguars")>><</link>>
-		<br>
-	<<elseif $animalsBought.jaguars == 1>>
-		/*You can see a few jaguars laying around in the trees in their enclosure. (OLD)*//*
-		Jaguars
-		<<if $activeFeline.species != "jaguar">>
-			[[Set as active feline|FarmyardAnimals][$activeFeline = {species: "jaguar", speciesCap: "Jaguar", speciesPlural: "jaguars", type: "feline", dickSize: "large", ballType: "jaguar"}]]
-		<<else>>
-			//Set as active feline//
-		<</if>>
-		<br>
-	<</if>>
-	<<if $animalsBought.lynx == 0>>
-		<<link "Purchase lynxs" "FarmyardAnimals">><<set cashX(forceNeg(Math.trunc(30000*$upgradeMultiplierArcology)), "farmyard"), $animalsBought.lynx = 1, $animalsBought.felines += 1, $felines.push("lynx")>><</link>>
-		<br>
-	<<elseif $animalsBought.lynx == 1>>
-		/*The lynxes are playfully running around their enclosure. (OLD)*//*
-		Lynx
-		<<if $activeFeline.species != "lynx">>
-			[[Set as active feline|FarmyardAnimals][$activeFeline = {species: "lynx", speciesCap: "Lynx", speciesPlural: "lynx", type: "feline", dickSize: "large", ballType: "lynx"}]]
-		<<else>>
-			//Set as active feline//
-		<</if>>
-		<br>
-	<</if>>
-	<<if $animalsBought.leopards == 0>>
-		<<link "Purchase leopards" "FarmyardAnimals">><<set cashX(forceNeg(Math.trunc(30000*$upgradeMultiplierArcology)), "farmyard"), $animalsBought.leopards = 1, $animalsBought.felines += 1, $felines.push("leopards")>><</link>>
-		<br>
-	<<elseif $animalsBought.leopards == 1>>
-		/*The leopards are lazing about in the trees in their enclosure. (OLD)*//*
-		Leopards
-		<<if $activeFeline.species != "leopard">>
-			[[Set as active feline|FarmyardAnimals][$activeFeline = {species: "leopard", speciesCap: "Leopard", speciesPlural: "leopards", type: "feline", dickSize: "large", ballType: "leopard"}]]
-		<<else>>
-			//Set as active feline//
-		<</if>>
-		<br>
-	<</if>>
-	*/
-	<<if $animalsBought.lions == 0>>
+	<br>
+	<<if $animalsBought.lions <= 0>>
 		<<link "Purchase lions" "FarmyardAnimals">><<set cashX(forceNeg(Math.trunc(30000*$upgradeMultiplierArcology)), "farmyard"), $animalsBought.lions = 1, $animalsBought.felines += 1, $felines.push("lions")>><</link>>
 		<br>
-	<<elseif $animalsBought.lions == 1>>
+	<<else>>
 		/*Most of the lions are sunning themselves. (OLD)*/
 		Lions
 		<<if $activeFeline.species != "lion">>
@@ -460,19 +114,5 @@
 		<</if>>
 		<br>
 	<</if>>
-	/*
-	<<if $animalsBought.tigers == 0>>
-		<<link "Purchase tigers" "FarmyardAnimals">><<set cashX(forceNeg(Math.trunc(30000*$upgradeMultiplierArcology)), "farmyard"), $animalsBought.tigers = 1, $animalsBought.felines += 1, $felines.push("tigers")>><</link>>
-		<br>
-	<<elseif $animalsBought.tigers == 1>>
-		/*Some of the tigers are swimming, and the ones that aren't are lazing about. (OLD)*//*
-		Tigers
-		<<if $activeFeline.species != "tiger">>
-			[[Set as active feline|FarmyardAnimals][$activeFeline = {species: "tiger", speciesCap: "Tiger", speciesPlural: "tigers", type: "feline", dickSize: "large", ballType: "tiger"}]]
-		<<else>>
-			//Set as active feline//
-		<</if>>
-		<br>
-	<</if>>
 <</if>>
 <</if>>
diff --git a/src/facilities/farmyard/futureAnimals.tw b/src/facilities/farmyard/futureAnimals.tw
new file mode 100644
index 00000000000..cdb4e940254
--- /dev/null
+++ b/src/facilities/farmyard/futureAnimals.tw
@@ -0,0 +1,370 @@
+/* Putting them here because commenting them out was breaking for some reason */
+
+<<if $animalsBought.germanShepherds == 0>>
+		<<link "Purchase German Shepherds" "FarmyardAnimals">><<set cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology)), "farmyard"), $animalsBought.germanShepherds = 1, $animalsBought.canines += 1, $canines.push("German Shepherds")>><</link>>
+		<br>
+	<<elseif $animalsBought.germanShepherds == 1>>
+		German Shepherds
+		<<if $activeCanine.breed != "German Shepherd">>
+			[[Set as active canine|FarmyardAnimals][$activeCanine = {species: "dog", speciesCap: "Dog", speciesPlural: "dogs", breed: "German Shepherd", type: "canine", dickSize: "big", ballType: "dog"}]]
+		<<else>>
+			//Set as active canine//
+		<</if>>
+		<br>
+	<</if>>
+	<<if $animalsBought.goldenRetrievers == 0>>
+		<<link "Purchase Golden Retrievers" "FarmyardAnimals">><<set cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology)), "farmyard"), $animalsBought.goldenRetrievers = 1, $animalsBought.canines += 1, $canines.push("Golden Retrievers")>><</link>>
+		<br>
+	<<elseif $animalsBought.goldenRetrievers == 1>>
+		Golden Retrievers
+		<<if $activeCanine.breed != "Golden Retriever">>
+			[[Set as active canine|FarmyardAnimals][$activeCanine = {species: "dog", speciesCap: "Dog", speciesPlural: "dogs", breed: "Golden Retriever", type: "canine", dickSize: "big", ballType: "dog"}]]
+		<<else>>
+			//Set as active canine//
+		<</if>>
+		<br>
+	<</if>>
+	<<if $animalsBought.frenchBulldogs == 0>>
+		<<link "Purchase French Bulldogs" "FarmyardAnimals">><<set cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology)), "farmyard"), $animalsBought.frenchBulldogs = 1, $animalsBought.canines += 1, $canines.push("French Bulldogs")>><</link>>
+		<br>
+	<<elseif $animalsBought.frenchBulldogs == 1>>
+		French Bulldogs
+		<<if $activeCanine.breed != "French Bulldog">>
+			[[Set as active canine|FarmyardAnimals][$activeCanine = {species: "dog", speciesCap: "Dog", speciesPlural: "dogs", breed: "French Bulldog", type: "canine", dickSize: "big", ballType: "dog"}]]
+		<<else>>
+			//Set as active canine//
+		<</if>>
+		<br>
+	<</if>>
+	<<if $animalsBought.bulldogs == 0>>
+		<<link "Purchase Bulldogs" "FarmyardAnimals">><<set cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology)), "farmyard"), $animalsBought.bulldogs = 1, $animalsBought.canines += 1, $canines.push("Bulldogs")>><</link>>
+		<br>
+	<<elseif $animalsBought.bulldogs == 1>>
+		Bulldogs
+		<<if $activeCanine.breed != "Bulldog">>
+			[[Set as active canine|FarmyardAnimals][$activeCanine = {species: "dog", speciesCap: "Dog", speciesPlural: "dogs", breed: "Bulldog", type: "canine", dickSize: "big", ballType: "dog"}]]
+		<<else>>
+			//Set as active canine//
+		<</if>>
+		<br>
+	<</if>>
+	<<if $animalsBought.beagles == 0>>
+		<<link "Purchase Beagles" "FarmyardAnimals">><<set cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology)), "farmyard"), $animalsBought.beagles = 1, $animalsBought.canines += 1, $canines.push("Beagles")>><</link>>
+		<br>
+	<<elseif $animalsBought.beagles == 1>>
+		Beagles
+		<<if $activeCanine.breed != "Beagle">>
+			[[Set as active canine|FarmyardAnimals][$activeCanine = {species: "dog", speciesCap: "Dog", speciesPlural: "dogs", breed: "Beagle", type: "canine", dickSize: "big", ballType: "dog"}]]
+		<<else>>
+			//Set as active canine//
+		<</if>>
+		<br>
+	<</if>>
+	<<if $animalsBought.poodles == 0>>
+		<<link "Purchase Poodles" "FarmyardAnimals">><<set cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology)), "farmyard"), $animalsBought.poodles = 1, $animalsBought.canines += 1, $canines.push("Poodles")>><</link>>
+		<br>
+	<<elseif $animalsBought.poodles == 1>>
+		Poodles
+		<<if $activeCanine.breed != "Poodle">>
+			[[Set as active canine|FarmyardAnimals][$activeCanine = {species: "dog", speciesCap: "Dog", speciesPlural: "dogs", breed: "Poodle", type: "canine", dickSize: "big", ballType: "dog"}]]
+		<<else>>
+			//Set as active canine//
+		<</if>>
+		<br>
+	<</if>>
+	<<if $animalsBought.rottweilers == 0>>
+		<<link "Purchase Rottweilers" "FarmyardAnimals">><<set cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology)), "farmyard"), $animalsBought.rottweilers = 1, $animalsBought.canines += 1, $canines.push("Rottweilers")>><</link>>
+		<br>
+	<<elseif $animalsBought.rottweilers == 1>>
+		Rottweilers
+		<<if $activeCanine.breed != "Rottweiler">>
+			[[Set as active canine|FarmyardAnimals][$activeCanine = {species: "dog", speciesCap: "Dog", speciesPlural: "dogs", breed: "Rottweiler", type: "canine", dickSize: "big", ballType: "dog"}]]
+		<<else>>
+			//Set as active canine//
+		<</if>>
+		<br>
+	<</if>>
+	<<if $animalsBought.yorkshireTerriers == 0>>
+		<<link "Purchase Yorkshire Terriers" "FarmyardAnimals">><<set cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology)), "farmyard"), $animalsBought.yorkshireTerriers = 1, $animalsBought.canines += 1, $canines.push("Yorkshire Terriers")>><</link>>
+		<br>
+	<<elseif $animalsBought.yorkshireTerriers == 1>>
+		Yorkshire Terriers
+		<<if $activeCanine.breed != "Yorkshire Terrier">>
+			[[Set as active canine|FarmyardAnimals][$activeCanine = {species: "dog", speciesCap: "Dog", speciesPlural: "dogs", breed: "Yorkshire Terrier", type: "canine", dickSize: "big", ballType: "dog"}]]
+		<<else>>
+			//Set as active canine//
+		<</if>>
+		<br>
+	<</if>>
+	<<if $animalsBought.siberianHuskies == 0>>
+		<<link "Purchase Siberian Huskies" "FarmyardAnimals">><<set cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology)), "farmyard"), $animalsBought.siberianHuskies = 1, $animalsBought.canines += 1, $canines.push("Siberian Huskies")>><</link>>
+		<br>
+	<<elseif $animalsBought.siberianHuskies == 1>>
+		Siberian Huskies
+		<<if $activeCanine.breed != "Siberian Husky">>
+			[[Set as active canine|FarmyardAnimals][$activeCanine = {species: "dog", speciesCap: "Dog", speciesPlural: "dogs", breed: "Siberian Husky", type: "canine", dickSize: "big", ballType: "dog"}]]
+		<<else>>
+			//Set as active canine//
+		<</if>>
+		<br>
+	<</if>>
+<</if>>
+
+
+
+<<if $farmyardCages > 0>>
+	<br>
+	Cats:
+	<br><br>
+	<<if $animalsBought.siameses == 0>>
+		<<link "Purchase Siamese cats" "FarmyardAnimals">><<set cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology)), "farmyard"), $animalsBought.siameses = 1, $animalsBought.felines += 1, $felines.push("Siamese cats")>><</link>>
+		<br>
+	<<elseif $animalsBought.siameses == 1>>
+		Siamese cats
+		<<if $activeFeline.breed != "Siamese">>
+			[[Set as active canine|FarmyardAnimals][$activeFeline = {species: "cat", speciesCap: "Cat", speciesPlural: "cats", breed: "Siamese", type: "feline", dickSize: "small", ballType: "cat"}]]
+		<<else>>
+			//Set as active feline//
+		<</if>>
+		<br>
+	<</if>>
+	<<if $animalsBought.persians == 0>>
+		<<link "Purchase Persian cats" "FarmyardAnimals">><<set cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology)), "farmyard"), $animalsBought.persians = 1, $animalsBought.felines += 1, $felines.push("Persian cats")>><</link>>
+		<br>
+	<<elseif $animalsBought.persians == 1>>
+		Persian cats
+		<<if $activeFeline.breed != "Persian">>
+			[[Set as active feline|FarmyardAnimals][$activeFeline = {species: "cat", speciesCap: "Cat", speciesPlural: "cats", breed: "Persian", type: "feline", dickSize: "small", ballType: "cat"}]]
+		<<else>>
+			//Set as active feline//
+		<</if>>
+		<br>
+	<</if>>
+	<<if $animalsBought.maineCoons == 0>>
+		<<link "Purchase Maine Coon cats" "FarmyardAnimals">><<set cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology)), "farmyard"), $animalsBought.maineCoons = 1, $animalsBought.felines += 1, $felines.push("Maine Coon cats")>><</link>>
+		<br>
+	<<elseif $animalsBought.maineCoons == 1>>
+		Maine Coon cats
+		<<if $activeFeline.breed != "Maine Coon">>
+			[[Set as active feline|FarmyardAnimals][$activeFeline = {species: "cat", speciesCap: "Cat", speciesPlural: "cats", breed: "Maine Coon", type: "feline", dickSize: "small", ballType: "cat"}]]
+		<<else>>
+			//Set as active feline//
+		<</if>>
+		<br>
+	<</if>>
+	<<if $animalsBought.ragdolls == 0>>
+		<<link "Purchase Ragdoll cats" "FarmyardAnimals">><<set cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology)), "farmyard"), $animalsBought.ragdolls = 1, $animalsBought.felines += 1, $felines.push("Ragdoll cats")>><</link>>
+		<br>
+	<<elseif $animalsBought.ragdolls == 1>>
+		Ragdoll cats
+		<<if $activeFeline.breed != "Ragdoll">>
+			[[Set as active feline|FarmyardAnimals][$activeFeline = {species: "cat", speciesCap: "Cat", speciesPlural: "cats", breed: "Ragdoll", type: "feline", dickSize: "small", ballType: "cat"}]]
+		<<else>>
+			//Set as active feline//
+		<</if>>
+		<br>
+	<</if>>
+	<<if $animalsBought.bengals == 0>>
+		<<link "Purchase Bengal cats" "FarmyardAnimals">><<set cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology)), "farmyard"), $animalsBought.bengals = 1, $animalsBought.felines += 1, $felines.push("Bengal cats")>><</link>>
+		<br>
+	<<elseif $animalsBought.bengals == 1>>
+		Bengal cats
+		<<if $activeFeline.breed != "Bengal">>
+			[[Set as active feline|FarmyardAnimals][$activeFeline = {species: "cat", speciesCap: "Cat", speciesPlural: "cats", breed: "Bengal", type: "feline", dickSize: "small", ballType: "cat"}]]
+		<<else>>
+			//Set as active feline//
+		<</if>>
+		<br>
+	<</if>>
+	<<if $animalsBought.abbysinians == 0>>
+		<<link "Purchase Abbysinian cats" "FarmyardAnimals">><<set cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology)), "farmyard"), $animalsBought.abbysinians = 1, $animalsBought.felines += 1, $felines.push("Abbysinian cats")>><</link>>
+		<br>
+	<<elseif $animalsBought.abbysinians == 1>>
+		Abbysinian cats
+		<<if $activeFeline.breed != "Abbysinian">>
+			[[Set as active feline|FarmyardAnimals][$activeFeline = {species: "cat", speciesCap: "Cat", speciesPlural: "cats", breed: "Abbysinian", type: "feline", dickSize: "small", ballType: "cat"}]]
+		<<else>>
+			//Set as active feline//
+		<</if>>
+		<br>
+	<</if>>
+	<<if $animalsBought.birmans == 0>>
+		<<link "Purchase Birman cats" "FarmyardAnimals">><<set cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology)), "farmyard"), $animalsBought.birmans = 1, $animalsBought.felines += 1, $felines.push("Birman cats")>><</link>>
+		<br>
+	<<elseif $animalsBought.birmans == 1>>
+		Birman cats
+		<<if $activeFeline.breed != "Birman">>
+			[[Set as active feline|FarmyardAnimals][$activeFeline = {species: "cat", speciesCap: "Cat", speciesPlural: "cats", breed: "Birman", type: "feline", dickSize: "small", ballType: "cat"}]]
+		<<else>>
+			//Set as active feline//
+		<</if>>
+		<br>
+	<</if>>
+	<<if $animalsBought.orientalShorthairs == 0>>
+		<<link "Purchase Oriental Shorthair cats" "FarmyardAnimals">><<set cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology)), "farmyard"), $animalsBought.orientalShorthairs = 1, $animalsBought.felines += 1, $felines.push("Oriental Shorthair cats")>><</link>>
+		<br>
+	<<elseif $animalsBought.orientalShorthairs == 1>>
+		Oriental Shorthair cats
+		<<if $activeFeline.breed != "Oriental Shorthair">>
+			[[Set as active feline|FarmyardAnimals][$activeFeline = {species: "cat", speciesCap: "Cat", speciesPlural: "cats", breed: "Oriental Shorthair", type: "feline", dickSize: "small", ballType: "cat"}]]
+		<<else>>
+			//Set as active feline//
+		<</if>>
+		<br>
+	<</if>>
+	<<if $animalsBought.sphynxes == 0>>
+		<<link "Purchase Sphynx cats" "FarmyardAnimals">><<set cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology)), "farmyard"), $animalsBought.sphynxes = 1, $animalsBought.felines += 1, $felines.push("Sphynx cats")>><</link>>
+		<br>
+	<<elseif $animalsBought.sphynxes == 1>>
+		Sphynx cats
+		<<if $activeFeline.breed != "Sphynx">>
+			[[Set as active feline|FarmyardAnimals][$activeFeline = {species: "cat", speciesCap: "Cat", speciesPlural: "cats", breed: "Sphynx", type: "feline", dickSize: "small", ballType: "cat"}]]
+		<<else>>
+			//Set as active feline//
+		<</if>>
+		<br>
+	<</if>>
+	<<if $animalsBought.russianBlues == 0>>
+		<<link "Purchase Russian Blue cats" "FarmyardAnimals">><<set cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology)), "farmyard"), $animalsBought.russianBlues = 1, $animalsBought.felines += 1, $felines.push("Russian Blue cats")>><</link>>
+		<br>
+	<<elseif $animalsBought.russianBlues == 1>>
+		Russian Blue cats
+		<<if $activeFeline.breed != "Russian Blue">>
+			[[Set as active feline|FarmyardAnimals][$activeFeline = {species: "cat", speciesCap: "Cat", speciesPlural: "cats", breed: "Russian Blue", type: "feline", dickSize: "small", ballType: "cat"}]]
+		<<else>>
+			//Set as active feline//
+		<</if>>
+		<br>
+	<</if>>
+<</if>>
+<</if>>
+
+
+
+
+	<<if $animalsBought.foxes == 0>>
+		<<link "Purchase foxes" "FarmyardAnimals">><<set cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology)), "farmyard"), $animalsBought.foxes = 1, $animalsBought.canines += 1, $canines.push("foxes")>><</link>>
+		<br>
+	<<elseif $animalsBought.foxes == 1>>
+		/*Red foxes play in one corner of their kennels, chasing one another.(OLD)*/
+		Foxes
+		<<if $activeCanine.species != "fox">>
+			[[Set as active canine|FarmyardAnimals][$activeCanine = {species: "fox", speciesCap: "Fox", speciesPlural: "foxes", type: "canine", dickSize: "large", ballType: "fox"}]]
+		<<else>>
+			//Set as active canine//
+		<</if>>
+		<br>
+	<</if>>
+	<<if $animalsBought.jackals == 0>>
+		<<link "Purchase jackals" "FarmyardAnimals">><<set cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology)), "farmyard"), $animalsBought.jackals = 1, $animalsBought.canines += 1, $canines.push("jackals")>><</link>>
+		<br>
+	<<elseif $animalsBought.jackals == 1>>
+		/*A group of male jackals are fighting over a potential mate, causing quite a ruckus.(OLD)*/
+		Jackals
+		<<if $activeCanine.species != "jackal">>
+			[[Set as active canine|FarmyardAnimals][$activeCanine = {species: "jackal", speciesCap: "Jackal", speciesPlural: "jackals", type: "canine", dickSize: "large", ballType: "jackal"}]]
+		<<else>>
+			//Set as active canine//
+		<</if>>
+		<br>
+	<</if>>
+	<<if $animalsBought.dingos == 0>>
+		<<link "Purchase dingos" "FarmyardAnimals">><<set cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology)), "farmyard"), $animalsBought.dingos = 1, $animalsBought.canines += 1, $canines.push("dingos")>><</link>>
+		<br>
+	<<elseif $animalsBought.dingos == 1>>
+		/*The dingos are eating their meal, growling at each other when one gets to close to another's food.(OLD)*/
+		Dingos
+		<<if $activeCanine.species != "dingo">>
+			[[Set as active canine|FarmyardAnimals][$activeCanine = {species: "dingo", speciesCap: "Dingo", speciesPlural: "dingos", type: "canine", dickSize: "large", ballType: "dingo"}]]
+		<<else>>
+			//Set as active canine//
+		<</if>>
+		<br>
+	<</if>>
+<</if>>
+
+
+<<if $farmyardStable > 1>>
+	<br>
+	Hooved Animals:
+	<br><br>
+	<<if $animalsBought.zebras == 0>>
+		<<link "Purchase zebras" "FarmyardAnimals">><<set cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology)), "farmyard"), $animalsBought.zebras = 1, $animalsBought.hooved += 1, $hooved.push("zebras")>><</link>>
+	<<elseif $animalsBought.zebras == 1>>
+		Zebras
+		<<if $activeHooved.species != "zebra">>
+			[[Set as active hooved|FarmyardAnimals][$activeHooved = {species: "zebra", speciesCap: "Zebra", speciesPlural: "zebras", type: "hooved", dickSize: "huge", ballType: "zebra"}]]
+		<<else>>
+			//Set as active hooved//
+		<</if>>
+	<</if>>
+	<br>
+<</if>>
+
+
+
+<<if $animalsBought.cougars == 0>>
+		<<link "Purchase cougars" "FarmyardAnimals">><<set cashX(forceNeg(Math.trunc(30000*$upgradeMultiplierArcology)), "farmyard"), $animalsBought.cougars = 1, $animalsBought.felines += 1, $felines.push("cougars")>><</link>>
+		<br>
+	<<elseif $animalsBought.cougars == 1>>
+		/*The cougars are sleeping, their lean bodies scattered around under trees. (OLD)*/
+		Cougars
+		<<if $activeFeline.species != "cougar">>
+			[[Set as active feline|FarmyardAnimals][$activeFeline = {species: "cougar", speciesCap: "Cougar", speciesPlural: "cougars", type: "feline", dickSize: "large", ballType: "cougar"}]]
+		<<else>>
+			//Set as active feline//
+		<</if>>
+		<br>
+	<</if>>
+	<<if $animalsBought.jaguars == 0>>
+		<<link "Purchase jaguars" "FarmyardAnimals">><<set cashX(forceNeg(Math.trunc(30000*$upgradeMultiplierArcology)), "farmyard"), $animalsBought.jaguars = 1, $animalsBought.felines += 1, $felines.push("jaguars")>><</link>>
+		<br>
+	<<elseif $animalsBought.jaguars == 1>>
+		/*You can see a few jaguars laying around in the trees in their enclosure. (OLD)*/
+		Jaguars
+		<<if $activeFeline.species != "jaguar">>
+			[[Set as active feline|FarmyardAnimals][$activeFeline = {species: "jaguar", speciesCap: "Jaguar", speciesPlural: "jaguars", type: "feline", dickSize: "large", ballType: "jaguar"}]]
+		<<else>>
+			//Set as active feline//
+		<</if>>
+		<br>
+	<</if>>
+	<<if $animalsBought.lynx == 0>>
+		<<link "Purchase lynxs" "FarmyardAnimals">><<set cashX(forceNeg(Math.trunc(30000*$upgradeMultiplierArcology)), "farmyard"), $animalsBought.lynx = 1, $animalsBought.felines += 1, $felines.push("lynx")>><</link>>
+		<br>
+	<<elseif $animalsBought.lynx == 1>>
+		/*The lynxes are playfully running around their enclosure. (OLD)*/
+		Lynx
+		<<if $activeFeline.species != "lynx">>
+			[[Set as active feline|FarmyardAnimals][$activeFeline = {species: "lynx", speciesCap: "Lynx", speciesPlural: "lynx", type: "feline", dickSize: "large", ballType: "lynx"}]]
+		<<else>>
+			//Set as active feline//
+		<</if>>
+		<br>
+	<</if>>
+	<<if $animalsBought.leopards == 0>>
+		<<link "Purchase leopards" "FarmyardAnimals">><<set cashX(forceNeg(Math.trunc(30000*$upgradeMultiplierArcology)), "farmyard"), $animalsBought.leopards = 1, $animalsBought.felines += 1, $felines.push("leopards")>><</link>>
+		<br>
+	<<elseif $animalsBought.leopards == 1>>
+		/*The leopards are lazing about in the trees in their enclosure. (OLD)*/
+		Leopards
+		<<if $activeFeline.species != "leopard">>
+			[[Set as active feline|FarmyardAnimals][$activeFeline = {species: "leopard", speciesCap: "Leopard", speciesPlural: "leopards", type: "feline", dickSize: "large", ballType: "leopard"}]]
+		<<else>>
+			//Set as active feline//
+		<</if>>
+		<br>
+	<</if>>
+    <<if $animalsBought.tigers == 0>>
+		<<link "Purchase tigers" "FarmyardAnimals">><<set cashX(forceNeg(Math.trunc(30000*$upgradeMultiplierArcology)), "farmyard"), $animalsBought.tigers = 1, $animalsBought.felines += 1, $felines.push("tigers")>><</link>>
+		<br>
+	<<elseif $animalsBought.tigers == 1>>
+		/*Some of the tigers are swimming, and the ones that aren't are lazing about. (OLD)*/
+		Tigers
+		<<if $activeFeline.species != "tiger">>
+			[[Set as active feline|FarmyardAnimals][$activeFeline = {species: "tiger", speciesCap: "Tiger", speciesPlural: "tigers", type: "feline", dickSize: "large", ballType: "tiger"}]]
+		<<else>>
+			//Set as active feline//
+		<</if>>
+		<br>
+	<</if>>
\ No newline at end of file
diff --git a/src/js/food.js b/src/js/food.js
index cc7952227bb..db55eb158b9 100644
--- a/src/js/food.js
+++ b/src/js/food.js
@@ -51,4 +51,267 @@ window.foodAmount = function (slave) {
         food = Math.clamp(food, 1, 1000000000000000000);
         return food;
     }
+};
+
+window.farmShowsIncome = function (slave) {
+    //TODO: incorporate farmyardRestraints
+    const V = State.variables;
+    let arcology = V.arcologies[0]
+    let cash = 999 //TODO: this is just a placeholder
+    if (!slave) {
+        return null;
+    } else {
+        if (V.Farmer !== 0) { //farmer is assigned
+            cash *= 1.1
+            if (V.Farmer.skillFA >= V.masteredXP) { //farmer is master
+                cash *= 1.1
+            }
+        }
+        /* OPEN FS EFFECTS */
+        if (arcology.FSSupremacist != "unset") {
+            if (slave.race === arcology.FSSupremacistRace) { //slave is of supreme race
+                cash *= 0.9 //TODO: should supreme race slaves recieve a penalty?
+                V.rep -= 10 //TODO: should this cause a rep loss
+            }
+        }
+        if (arcology.FSSubjugationist != "unset") {
+            if (slave.race == arcology.FSSubjugationistRace) { //slave is of subjugated race
+                cash *= 1.1
+                V.rep += 10 //TODO: should this cause a rep gain?
+            } else {
+                cash *= 0.9 //TODO: should unsubjugated race slaves recieve a penalty?
+            }
+        }
+        if (arcology.FSRepopulationFocus != "unset") {
+            if (slave.pregWeek > 16) { //slave is visibly pregnant
+                if (slave.eggType != "human") { //with a non-human
+                    cash *= 1.1
+                }
+                cash *= 1.2
+            } else { //slave is not visibly pregnant
+                cash *= 0.8 //TODO: should non-pregnant slaves receieve a penalty?
+            }
+        }
+        if (arcology.FSRestart != "unset") {
+            if (slave.pregWeek > 16) { //slave is visibly pregnant
+                if (slave.eggType != "human") { //with a non-human
+                    cash *= 0.9
+                    rep -= 15
+                }
+                cash *= 0.6
+                rep -= 10
+            }
+        }
+        if (arcology.FSGenderRadicalist != "unset") {
+            if (slave.genes == "XY") { //TODO: does this make sense?
+                cash *= 1.1
+            } else {
+                cash *= 0.8
+            }
+        }
+        if (arcology.FSGenderFundamentalist != "unset") {
+            if (slave.genes == "XX") {
+                cash *= 1.1 //TODO: does this make sense?
+            } else {
+                cash *= 0.8
+            }
+        }
+        if (arcology.FSPaternalist != "unset") {
+            if (V.seeBestiality === 1) {
+                if (V.farmyardBreeding === 1) { //slaves are being bred
+                    cash *= 0.8
+                } else { //slaves are putting on shows
+                    cash *= 0.9
+                }
+            }
+        }
+        if (arcology.FSDegradationist != "unset") {
+            if (V.seeBestiality === 1) {
+                if (V.farmyardBreeding === 1) { //slaves are being bred
+                    cash *= 1.2
+                } else { //slaves are putting on shows
+                    cash *= 1.1
+                }
+            }
+        }
+        if (arcology.FSBodyPurist != "unset") {
+            if (slave.boobsImplant > 0) { //slave has breast implants
+                cash *= 0.9
+            }
+            if (slave.buttImplant > 0) { //slave has butt implants
+                cash *= 0.9
+            }
+            if (slave.faceImplant > 0) { //slave has had facial surgery
+                cash *= 0.9
+            }
+            if (slave.lipsImplant > 0) { //slave has lip implants
+                cash *= 0.9
+            }
+        }
+        if (arcology.FSTransformationFetishist != "unset") {
+            if (slave.boobsImplant > 0) { //slave has breast implants
+                cash *= 1.1
+            }
+            if (slave.buttImplant > 0) { //slave has butt implants
+                cash *= 1.1
+            }
+            if (slave.faceImplant > 0) { //slave has had facial surgery
+                cash *= 1.1
+            }
+            if (slave.lipsImplant > 0) { //slave has lip implants
+                cash *= 1.1
+            }
+        }
+        if (arcology.FSYouthPreferentialist != "unset") {
+            if (slave.visualAge > 25) { //slave looks older than 25
+                cash *= 0.8 //TODO: not sure what age this should be
+            } else {
+                cash *= 1.2
+            }
+        }
+        if (arcology.FSMaturityPreferentialist != "unset") {
+            if (slave.visualAge > 25) { //slave looks older than 25
+                cash *= 1.2 //TODO: not sure what age this should be
+            } else {
+                cash *= 0.8
+            }
+        }
+        if (arcology.FSSlimnessEnthusiast != "unset") {
+            if (slave.weight > 10) { //slave is curvy or more
+                cash *= 0.9 //TODO: not sure what weight this should be
+            } //TODO: should implants affect income?
+            if (slave.boobs > 799) { //slave has larger than a D cup
+                cash *= 0.9 //TODO: should this be smaller?
+            }
+            if (slave.butt > 3) { //slave has bigger than a bubble butt
+                cash *= 0.9
+            }
+        }
+        if (arcology.FSAssetExpanionist != "unset") {
+            if (slave.weight > 10) { //slave is curvy or more
+                cash *= 1.1 //TODO: not sure what weight this should be
+            } //TODO: should implants affect income?
+            if (slave.boobs > 799) { //slave has larger than a D cup
+                cash *= 1.1 //TODO: should this be smaller?
+            }
+            if (slave.butt > 3) { //slave has bigger than a bubble butt
+                cash *= 1.1
+            }
+        }
+        if (arcology.FSPastoralist != "unset") {
+            if (slave.boobs > 799) { //slave has larger than a D cup
+                cash *= 1.2
+            }
+            if (slave.lactation > 0) { //slave is lactating
+                cash *= 1.1
+            }
+        }
+        if (arcology.FSPhysicalIdealist != "unset") {
+            if (slave.height > 169) { //slave is tall or taller
+                cash *= 1.1
+            } else if (slave.height < 160) { //slave is short or shorter
+                cash *= 0.9
+            }
+        }
+        if (arcology.FSHedonisticDecadence != "unset") {
+            if (slave.weight > 10) { //slave is curvy or fatter
+                cash *= 1.1
+            } else if (slave.weight < -10) { //slave is thin or thinner
+                cash *= 0.9
+            }
+        }
+        if (arcology.FSChattelReligionist != "unset") { //TODO: I don't know what to put for this one
+            if (slave.devotion < 21) { //if slave is careful or less
+                cash *= 0.9
+            }
+        }
+        //TODO: should I add the ancient cultures FS?
+        /* CLOSE FS EFFECTS */
+        if (setup.entertainmentCareers.includes(slave.career)) {
+            cash *= 1.1
+        } else if (setup.farmerCareers.includes(slave.career)) {
+            cash *= 1.1
+        }
+        if (slave.prestige === 1) { //slave is prestigious
+            cash *= 1.1
+        } else if (slave.prestige === 2) { //slave is very prestigious
+            cash *= 1.2
+        } else if (slave.prestige === 3) { //slave is extremely prestigious
+            cash *= 1.3
+        }
+        if (slave.pornPrestige === 1) { //slave is prestigious from porn
+            cash *= 1.1
+        } else if (slave.pornPrestige === 2) { //slave is very prestigious from porn
+            cash *= 1.2
+        } else if (slave.pornPrestige === 3) { //slave is extremely prestigious from porn
+            cash *= 1.3
+        } //TODO: add relationship checks
+        if (slave.health > 20) { //slave is very healthy or more
+            cash *= 1.1
+        } else if (slave.health < -20) { //slave is less than unhealthy
+            cash *= 0.8
+        }
+        if (slave.face > 10) { //slave is very pretty or more
+            cash *= 1.1
+        } else if (slave.face < -10) { //slave is less than unattractive
+            cash *= 0.8
+        }
+        if (slave.devotion > 50) { //slave is devoted or more
+            cash *= 1.1
+        } else if (slave.devotion < -50) { //slave is reluctant or less
+            cash *= 0.8
+        }
+        if (slave.trust > 50) { //slave is trusting or more
+            cash *= 1.1
+        } else if (slave.trust < -50) { //slave is less than frightened
+            cash *= 0.8 //TODO: should trust be a factor?
+        }
+        if (slave.weight > 30) { //slave is curvy or more
+            cash *= 0.8 //TODO: tie in Hedonistic FS
+        } else if (slave.weight < -30) { //slave is very thin or less
+            cash *= 0.8 //TODO: put this on a scale
+        }
+        if (slave.muscles > 30) { //slave is muscular or more
+            cash *= 0.9 //TODO: tie in height eugenics policy
+        } else if (slave.muscles < -30) { //slave is very weak or less
+            cash *= 0.9 //TODO: should this be on a scale?
+        }
+        if (slave.eyes < 1) { //slaves eyesight is nearsighted or worse
+            cash *= 0.9 //TODO: should nearsighted and blind slaves recieve a penalty?
+        }
+        if (slave.hears < 0) { //slave is hard of hearing or less
+            cash *= 0.9 //TODO: should hard of hearing slaves recieve a penalty?
+        }
+        if (slave.boobs > 800) { //slave has a DD cup or bigger
+            cash *= 0.9 //TODO: would this make sense?
+        }
+        if (slave.butt > 4) { //slave has an enormous butt or bigger
+            cash *= 0.9 //TODO: would this make sense?
+        }
+        if (slave.preg < 0) { //slave is not fertile
+            cash *= 0.8 //TODO: not sure how to incorporate pregnancy
+        } //TODO: incorporate skills
+        if (slave.tired == 1) { //slave is tired
+            cash *= 0.9
+        }
+        if (slave.chem > 10) { //slave has high genetic damage
+            cash *= 0.9
+        }
+        if (slave.intelligence > 50) { //slave is very smart or better
+            cash *= 1.1
+        } else if (slave.intelligence < -50) { //slave is very slow or less
+            cash *= 0.8
+        }
+        if (slave.energy < 20) { //slave has poor sex drive or less
+            cash *= 0.9
+        }
+        if (slave.fetish == "submissive") {
+            cash *= 1.1
+        } else if (slave.fetish == "humiliation") {
+            cash *= 1.1
+        } else if (slave.fetish == "masochist") {
+            cash *= 1.1
+        } //TODO: tie in quirks and flaws
+        return cash
+    }
 };
\ No newline at end of file
diff --git a/src/js/story.js b/src/js/story.js
index b7c9d710abd..3adf10cef2c 100644
--- a/src/js/story.js
+++ b/src/js/story.js
@@ -677,270 +677,6 @@ window.cumAmount = function(slave) {
 	}
 };
 
-window.farmShowsIncome = function(slave) {
-	//TODO: incorporate farmyardRestraints
-	const V = State.variables;
-	let arcology = V.arcologies[0]
-	let cash = 999												//TODO: this is just a placeholder
-	if (!slave) {
-		return null;
-	} else {
-		if (V.Farmer !== 0) {									//farmer is assigned
-			cash *= 1.1
-			if (V.Farmer.skillFA >= V.masteredXP) {				//farmer is master
-				cash *= 1.1
-			}
-		}
-	/* OPEN FS EFFECTS */
-	if (arcology.FSSupremacist != "unset") {
-		if (slave.race === arcology.FSSupremacistRace) {		//slave is of supreme race
-			cash *= 0.9											//TODO: should supreme race slaves recieve a penalty?
-			V.rep -= 10											//TODO: should this cause a rep loss
-		}
-	}
-	if (arcology.FSSubjugationist != "unset") {
-		if (slave.race == arcology.FSSubjugationistRace) {		//slave is of subjugated race
-			cash *= 1.1
-			V.rep += 10											//TODO: should this cause a rep gain?
-		} else {
-			cash *= 0.9											//TODO: should unsubjugated race slaves recieve a penalty?
-		}
-	}
-	if (arcology.FSRepopulationFocus != "unset") {
-		if (slave.pregWeek > 16) {								//slave is visibly pregnant
-			if (slave.eggType != "human") {						//with a non-human
-				cash *= 1.1
-			}
-			cash *= 1.2
-		} else {												//slave is not visibly pregnant
-			cash *= 0.8											//TODO: should non-pregnant slaves receieve a penalty?
-		}
-	}
-	if (arcology.FSRestart != "unset") {
-		if (slave.pregWeek > 16) {								//slave is visibly pregnant
-			if (slave.eggType != "human") {						//with a non-human
-				cash *= 0.9
-				rep -= 15
-			}
-			cash *= 0.6
-			rep -= 10
-		}
-	}
-	if (arcology.FSGenderRadicalist != "unset") {
-		if (slave.genes == "XY") {								//TODO: does this make sense?
-			cash *= 1.1
-		} else {
-			cash *= 0.8
-		}
-	}
-	if (arcology.FSGenderFundamentalist != "unset") {
-		if (slave.genes == "XX") {
-			cash *= 1.1											//TODO: does this make sense?
-		} else {
-			cash *= 0.8
-		}
-	}
-	if (arcology.FSPaternalist != "unset") {
-		if (V.seeBestiality === 1) {
-			if (V.farmyardBreeding === 1) {					//slaves are being bred
-				cash *= 0.8
-			} else {											//slaves are putting on shows
-				cash *= 0.9
-			}
-		}
-	}
-	if (arcology.FSDegradationist != "unset") {
-		if (V.seeBestiality === 1) {
-			if (V.farmyardBreeding === 1) {					//slaves are being bred
-				cash *= 1.2
-			}
-			else {												//slaves are putting on shows
-				cash *= 1.1
-			}
-		}
-	}
-	if (arcology.FSBodyPurist != "unset") {
-		if (slave.boobsImplant > 0) {							//slave has breast implants
-			cash *= 0.9
-		}
-		if (slave.buttImplant > 0) {							//slave has butt implants
-			cash *= 0.9
-		}
-		if (slave.faceImplant > 0) {							//slave has had facial surgery
-			cash *= 0.9
-		}
-		if (slave.lipsImplant > 0) {							//slave has lip implants
-			cash *= 0.9
-		}
-	}
-	if (arcology.FSTransformationFetishist != "unset") {
-		if (slave.boobsImplant > 0) {							//slave has breast implants
-			cash *= 1.1
-		}
-		if (slave.buttImplant > 0) {							//slave has butt implants
-			cash *= 1.1
-		}
-		if (slave.faceImplant > 0) {							//slave has had facial surgery
-			cash *= 1.1
-		}
-		if (slave.lipsImplant > 0) {							//slave has lip implants
-			cash *= 1.1
-		}
-	}
-	if (arcology.FSYouthPreferentialist != "unset") {
-		if (slave.visualAge > 25) {								//slave looks older than 25
-			cash *= 0.8											//TODO: not sure what age this should be
-		} else {
-			cash *= 1.2
-		}
-	}
-	if (arcology.FSMaturityPreferentialist != "unset") {
-		if (slave.visualAge > 25) {								//slave looks older than 25
-			cash *= 1.2											//TODO: not sure what age this should be
-		} else {
-			cash *= 0.8
-		}
-	}
-	if (arcology.FSSlimnessEnthusiast != "unset") {
-		if (slave.weight > 10) {								//slave is curvy or more
-			cash *= 0.9											//TODO: not sure what weight this should be
-		}														//TODO: should implants affect income?
-		if (slave.boobs > 799) {								//slave has larger than a D cup
-			cash *= 0.9											//TODO: should this be smaller?
-		}
-		if (slave.butt > 3) {									//slave has bigger than a bubble butt
-			cash *= 0.9
-		}
-	}
-	if (arcology.FSAssetExpanionist != "unset") {
-		if (slave.weight > 10) {								//slave is curvy or more
-			cash *= 1.1											//TODO: not sure what weight this should be
-		}														//TODO: should implants affect income?
-		if (slave.boobs > 799) {								//slave has larger than a D cup
-			cash *= 1.1											//TODO: should this be smaller?
-		}
-		if (slave.butt > 3) {									//slave has bigger than a bubble butt
-			cash *= 1.1
-		}
-	}
-	if (arcology.FSPastoralist != "unset") {
-		if (slave.boobs > 799) {								//slave has larger than a D cup
-			cash *= 1.2
-		}
-		if (slave.lactation > 0) {								//slave is lactating
-			cash *= 1.1
-		}
-	}
-	if (arcology.FSPhysicalIdealist != "unset") {
-		if (slave.height > 169) {								//slave is tall or taller
-			cash *= 1.1
-		} else if (slave.height < 160) {						//slave is short or shorter
-			cash *= 0.9
-		}
-	}
-	if (arcology.FSHedonisticDecadence != "unset") {
-		if (slave.weight > 10) {								//slave is curvy or fatter
-			cash *= 1.1
-		} else if (slave.weight < -10) {						//slave is thin or thinner
-			cash *= 0.9
-		}
-	}
-	if (arcology.FSChattelReligionist != "unset") {				//TODO: I don't know what to put for this one
-		if (slave.devotion < 21) {								//if slave is careful or less
-			cash *= 0.9
-		}
-	}
-	//TODO: should I add the ancient cultures FS?
-	/* CLOSE FS EFFECTS */ 
-	if (setup.entertainmentCareers.includes(slave.career)) {
-		cash *= 1.1
-	} else if (setup.farmerCareers.includes(slave.career)) {
-		cash *= 1.1
-	}
-	if (slave.prestige === 1) {									//slave is prestigious
-		cash *= 1.1
-	} else if (slave.prestige === 2) {							//slave is very prestigious
-		cash *= 1.2
-	} else if (slave.prestige === 3) {							//slave is extremely prestigious
-		cash *= 1.3
-	}
-	if (slave.pornPrestige === 1) {								//slave is prestigious from porn
-		cash *= 1.1
-	} else if (slave.pornPrestige === 2) {						//slave is very prestigious from porn
-		cash *= 1.2
-	} else if (slave.pornPrestige === 3) {						//slave is extremely prestigious from porn
-		cash *= 1.3
-	}															//TODO: add relationship checks
-	if (slave.health > 20) {									//slave is very healthy or more
-		cash *= 1.1
-	} else if (slave.health < -20) {							//slave is less than unhealthy
-		cash *= 0.8
-	}
-	if (slave.face > 10) {										//slave is very pretty or more
-		cash *= 1.1
-	} else if (slave.face < -10) {								//slave is less than unattractive
-		cash *= 0.8
-	}
-	if (slave.devotion > 50) {									//slave is devoted or more
-		cash *= 1.1
-	} else if (slave.devotion < -50) {							//slave is reluctant or less
-		cash *= 0.8
-	}
-	if (slave.trust > 50) {										//slave is trusting or more
-		cash *= 1.1
-	} else if (slave.trust < -50) {								//slave is less than frightened
-		cash *= 0.8												//TODO: should trust be a factor?
-	}
-	if (slave.weight > 30) {									//slave is curvy or more
-		cash *= 0.8												//TODO: tie in Hedonistic FS
-	} else if (slave.weight < -30) {							//slave is very thin or less
-		cash *= 0.8												//TODO: put this on a scale
-	}
-	if (slave.muscles > 30) {									//slave is muscular or more
-		cash *= 0.9												//TODO: tie in height eugenics policy
-	} else if (slave.muscles < -30) {							//slave is very weak or less
-		cash *= 0.9												//TODO: should this be on a scale?
-	}
-	if (slave.eyes < 1) {										//slaves eyesight is nearsighted or worse
-		cash *= 0.9												//TODO: should nearsighted and blind slaves recieve a penalty?
-	}
-	if (slave.hears < 0) {										//slave is hard of hearing or less
-		cash *= 0.9												//TODO: should hard of hearing slaves recieve a penalty?
-	}
-	if (slave.boobs > 800) {									//slave has a DD cup or bigger
-		cash *= 0.9												//TODO: would this make sense?
-	}
-	if (slave.butt > 4) {										//slave has an enormous butt or bigger
-		cash *= 0.9												//TODO: would this make sense?
-	}
-	if (slave.preg < 0) {										//slave is not fertile
-		cash *= 0.8												//TODO: not sure how to incorporate pregnancy
-	} 															//TODO: incorporate skills
-	if (slave.tired == 1) {										//slave is tired
-		cash *= 0.9
-	}
-	if (slave.chem > 10) {										//slave has high genetic damage
-		cash *= 0.9
-	}
-	if (slave.intelligence > 50) {								//slave is very smart or better
-		cash *= 1.1
-	} else if (slave.intelligence < -50) {						//slave is very slow or less
-		cash *= 0.8
-	}
-	if (slave.energy < 20) {									//slave has poor sex drive or less
-		cash *= 0.9
-	}
-	if (slave.fetish == "submissive") {
-		cash *= 1.1
-	} else if (slave.fetish == "humiliation") {
-		cash *= 1.1
-	} else if (slave.fetish == "masochist") {
-		cash *= 1.1
-	}															//TODO: tie in quirks and flaws
-	return cash
-	}
-};
-
 window.lispReplace = function(text)
 {
 	text = text.replace(/Sh/g, "Th");
diff --git a/src/pregmod/beastFucked.tw b/src/pregmod/beastFucked.tw
index 57ab89805de..74787543879 100644
--- a/src/pregmod/beastFucked.tw
+++ b/src/pregmod/beastFucked.tw
@@ -179,7 +179,7 @@ before calling in the _animal.species. The _animal.species slowly saunters up to
 	<</switch>>
 
 	<<if _sexAct != "oral">>
-		<<if !_used.vagina>>The slave gives a loud <<if ($activeSlave.devotion > 20)>>moan<<else>>groan<</if>> as $his <<if _sexAct == "anal">>@@.lime;anal@@<</if>> @@.lime;virginity is taken from $him@@<<if ($activeSlave.devotion < -20)>>@@.lime; by force@@<</if>>.<</if>>
+		<<if (_sexAct == "vaginal" && !_used.vagina) || (_sexAct == "anal" && !_used.anus)>>The slave gives a loud <<if ($activeSlave.devotion > 20)>>moan<<else>>groan<</if>> as $his <<if _sexAct == "anal">>@@.lime;anal@@<</if>> @@.lime;virginity is taken from $him@@<<if ($activeSlave.devotion < -20)>>@@.lime; by force@@<</if>>.<</if>>
 	<</if>>
 
 <<case "hooved">>
diff --git a/src/pregmod/organFarm.tw b/src/pregmod/organFarm.tw
index 21c279cf585..f43e77264a9 100644
--- a/src/pregmod/organFarm.tw
+++ b/src/pregmod/organFarm.tw
@@ -150,7 +150,7 @@ Organ Production
 	<br>
 <</if>>
 
-<<if $seePreg != 0 && $seeBestiality == 1>>
+<<if $seePreg != 0 && $seeBestiality == 1 && $cheatMode == 1>>
 	<<if $farmyardLabUpgrades.animalOvaries > 0>>
 		<<if $animalOvaries < 1>>
 			//You lack the required designs for cloning animal ovaries for slaves.//
diff --git a/src/uncategorized/BackwardsCompatibility.tw b/src/uncategorized/BackwardsCompatibility.tw
index 6b9929fa46d..383a1df502f 100644
--- a/src/uncategorized/BackwardsCompatibility.tw
+++ b/src/uncategorized/BackwardsCompatibility.tw
@@ -840,7 +840,7 @@
 	animalMpreg: 0
 	}>>
 <</if>>
-<<if ndef $animalsBought>>
+<<if ndef $animalsBought || def $animalsBought>>
 	<<set $animalsBought = {canines: 0, hooved: 0, felines: 0, labradorRetrievers: 0, germanShepherds: 0, goldenRetrievers: 0, frenchBulldogs: 0, bulldogs: 0, beagles: 0, poodles: 0, rottweilers: 0, yorkshireTerriers: 0, siberianHuskies: 0, horses: 0, bulls: 0, pigs: 0, siameses: 0, persians: 0, maineCoons: 0, ragdolls: 0, bengals: 0, abbysinians: 0, birmans: 0, orientalShorthairs: 0, sphynxes: 0, russianBlues: 0, wolves: 0, foxes: 0, jackals: 0, dingos: 0, zebras: 0, cougars: 0, jaguars: 0, pumas: 0, lynx: 0, leopards: 0, lions: 0, tigers: 0}>>
 <</if>>
 <<if ndef $canines>>
diff --git a/src/uncategorized/nonRandomEvent.tw b/src/uncategorized/nonRandomEvent.tw
index 5f68657b919..08170bdec55 100644
--- a/src/uncategorized/nonRandomEvent.tw
+++ b/src/uncategorized/nonRandomEvent.tw
@@ -60,7 +60,7 @@
 	<</if>>
 <<elseif (_effectiveWeek == 46) && ($mercenaries > 0)>>
 		<<goto "P raid invitation">>
-<<elseif (_effectiveWeek == 48)>>
+<<elseif (_effectiveWeek == 48) && ($cheatMode == 1)>>
 	<<set $foodCrisis = 1>>
 	<<goto "P food crisis">>
 <<elseif (_effectiveWeek == 50) && ($rations > 0)>>
diff --git a/src/uncategorized/slaveInteract.tw b/src/uncategorized/slaveInteract.tw
index 7612ce5afdd..e592346b583 100644
--- a/src/uncategorized/slaveInteract.tw
+++ b/src/uncategorized/slaveInteract.tw
@@ -143,15 +143,14 @@
 	<</if>>
 	<span id = "impreg">
 	<<if (canGetPregnant($activeSlave)) && ($activeSlave.fuckdoll == 0) && $seePreg != 0>>
-		<<if $activeSlave.eggType == "human">>
-			<<if canImpreg($activeSlave, $PC)>>
-			| <<link "Impregnate $him yourself">><<replace "#miniscene">><<include "FPCImpreg">><br>&nbsp;&nbsp;&nbsp;&nbsp;<</replace>><<SlaveInteractImpreg>><<SlaveInteractFertility>><</link>>
-			<</if>>
-			<<if canImpreg($activeSlave, $activeSlave)>>
-			| <<link "Use $his own seed to impregnate $him">><<replace "#miniscene">><<include "FSlaveSelfImpreg">><br>&nbsp;&nbsp;&nbsp;&nbsp;<</replace>><<SlaveInteractImpreg>><<SlaveInteractFertility>><</link>>
-			<</if>>
-			| <<link "Use another slave to impregnate $him" "FSlaveImpreg">><</link>>
-		<<elseif (_CL > 0 || _HL > 0 || _FL > 0)>>
+		<<if canImpreg($activeSlave, $PC)>>
+		| <<link "Impregnate $him yourself">><<replace "#miniscene">><<include "FPCImpreg">><br>&nbsp;&nbsp;&nbsp;&nbsp;<</replace>><<SlaveInteractImpreg>><<SlaveInteractFertility>><</link>>
+		<</if>>
+		<<if canImpreg($activeSlave, $activeSlave)>>
+		| <<link "Use $his own seed to impregnate $him">><<replace "#miniscene">><<include "FSlaveSelfImpreg">><br>&nbsp;&nbsp;&nbsp;&nbsp;<</replace>><<SlaveInteractImpreg>><<SlaveInteractFertility>><</link>>
+		<</if>>
+		| <<link "Use another slave to impregnate $him" "FSlaveImpreg">><</link>>
+		<<if ($activeSlave.eggType != "human") && (_CL > 0 || _HL > 0 || _FL > 0) && ($cheatMode == 1)>>
 			| <<link "Use an animal to impregnate $him" "FAnimalImpreg">><</link>>
 		<</if>>
 	<</if>>
-- 
GitLab