diff --git a/src/pregmod/beastFucked.tw b/src/pregmod/beastFucked.tw
index 13f2b88b30fb29b2d84721dd5bd63795db789f7a..a844d0b9f9d5bbf7be1252af4517c9d868f94644 100644
--- a/src/pregmod/beastFucked.tw
+++ b/src/pregmod/beastFucked.tw
@@ -3,12 +3,36 @@
 <<run clearSummaryCache($activeSlave)>>
 <<setLocalPronouns $activeSlave>>
 
-<<if $species == "horse">>
-	<<set _animal = {species: "horse", dickSize: "huge", ballType: "horse"}>>
-<<elseif $species == "dog">>
-	<<set _animal = {species: "dog", dickSize: "large", ballType: "dog"}>>
-<<elseif $species == "lion">>
-    <<set _animal = {species: "lion", dickSize: "large", ballType: "lion"}>>
+<<if $animalType == "hooved">>  /*"hooved" animals will default to horses for now, until variants of the scene are written for different types*/
+    <<set _animal = {species: "horse", type: "hooved", dickSize: "huge", ballType: "horse"}>>
+<<elseif $animalType == "canine">>
+    <<switch $continent>>
+    <<case "North America">>
+        <<set _animal = {species: "wolf", type: "canine", dickSize: "large", ballType: "wolf"}>>
+    <<case "South America" "Brazil">>
+        <<set _animal = {species: "fox", type: "canine", dickSize: "large", ballType: "fox"}>>
+    <<case "Europe" "the Middle East" "Africa" "Asia" "Japan">>
+        <<set _animal = {species: "jackal", type: "canine", dickSize: "large", ballType: "jackal"}>>
+    <<case "Australia">>
+        <<set _animal = {species: "dingo", type: "canine", dickSize: "large", ballType: "dingo"}>>
+    <</switch>>
+<<elseif $animalType == "feline">>
+    <<switch $continent>>
+    <<case "North America">>
+        <<set _animal = {species: "cougar", type: "feline", dickSize: "large", ballType: "cougar"}>>
+    <<case "South America">>
+        <<set _animal = {species: "jaguar", type: "feline", dickSize: "large", ballType: "jaguar"}>>
+    <<case "Brazil">>
+        <<set _animal = {species: "puma", type: "feline", dickSize: "large", ballType: "puma"}>>
+    <<case "Europe">>
+        <<set _animal = {species: "lynx", type: "feline", dickSize: "large", ballType: "lynx"}>>
+    <<case "the Middle East" "Australia">>  /*Australia doesn't actually have a native big cat, so it's assumed they imported some*/
+        <<set _animal = {species: "leopard", type: "feline", dickSize: "large", ballType: "leopard"}>>
+    <<case "Africa">>
+        <<set _animal = {species: "lion", type: "feline", dickSize: "large", ballType: "lion"}>>
+    <<case "Asia" "Japan">>
+        <<set _animal = {species: "tiger", type: "feline", dickSize: "large", ballType: "tiger"}>>
+    <</switch>>
 <</if>>
 
 <<if canDoVaginal($activeSlave)>>
@@ -22,6 +46,21 @@
     <<set _orifice = "mouth">>
 <</if>>
 
+<<set _fetishDescriptor = 0>>   /*initializes variable*/
+<<if $activeSlave.fetish == "masochist">>
+    <<set _fetishDescriptor = "painful", _activeQuirk = 1>>
+<<elseif $activeSlave.fetish == "humiliation">>
+    <<set _fetishDescriptor = "humiliating", _activeQuirk = 1>>
+<<elseif $activeSlave.sexualQuirk == "perverted">>
+    <<set _fetishDescriptor = "perverted", _activeQuirk = 1>>
+<<elseif $activeSlave.behavioralQuirk == "sinful">>
+    <<set _fetishDescriptor = "sinful", _activeQuirk = 1>>
+<<elseif $activeSlave.fetish == "cumslut">>
+    <<set _fetishDescriptor = "getting to drink more cum", _activeQuirk = 1>>
+<<elseif $activeSlave.sexualQuirk == "gagfuck queen">>
+    <<set _fetishDescriptor = "getting to suck more dick", _activeQuirk = 1>>
+<</if>>
+
 <<if canWalk($activeSlave)>>
     You call $him over and tell $him you want to watch $him <<switch _sexAct>><<case "vaginal" "anal">>get fucked by<<case "oral">>suck off<</switch>> a _animal.species.
 <<else>>
@@ -33,14 +72,8 @@
         <<if _sexAct == "vaginal" || _sexAct == "anal">>
             <<if ((_sexAct == "vaginal") && ($activeSlave.vagina > 0)) || ((_sexAct == "anal") && ($activeSlave.anus > 0))>>
                 <<if $activeSlave.fetishKnown == 1>>
-                    <<if $activeSlave.fetish == "masochist">>
-                        $activeSlave.slaveName's face visibly brightens at the thought of committing such a painful act.
-                    <<elseif $activeSlave.fetish == "humiliation">>
-                        $activeSlave.slaveName's face visibly brightens at the thought of committing such a humiliating act.
-                    <<elseif $activeSlave.sexualQuirk == "perverted">>
-                        $activeSlave.slaveName's face visibly brightens at the thought of committing such a perverted act.
-                    <<elseif $activeSlave.behavioralQuirk == "sinful">>
-                        $activeSlave.slaveName's face visibly brightens at the thought of committing such a sinful act.
+                    <<if _activeQuirk == 1>>
+                        $activeSlave.slaveName's face visibly brightens at the thought of committing such a _fetishDescriptor act.
                     <<else>>
                         $activeSlave.slaveName looks visibly disturbed, but is so attentive to your will that $he quickly agrees.
                     <</if>>
@@ -49,14 +82,8 @@
                 <</if>>
             <<else>>
                 <<if $activeSlave.fetishKnown == 1>>
-                    <<if $activeSlave.fetish == "masochist">>
-                        $activeSlave.slaveName's face visibly brightens at the thought of committing such a painful act, although $he seems a bit hesitant at the thought of giving $his <<if !canDoVaginal($activeSlave)>>anal<</if>> virginity to an animal.
-                    <<elseif $activeSlave.fetish == "humiliation">>
-                        $activeSlave.slaveName's face visibly brightens at the thought of committing such a humiliating act, although $he seems a bit hesitant at the thought of giving $his <<if !canDoVaginal($activeSlave)>>anal<</if>> virginity to an animal.
-                    <<elseif $activeSlave.sexualQuirk == "perverted">>
-                        $activeSlave.slaveName's face visibly brightens at the thought of committing such a perverted act, although $he seems a bit hesitant at the thought of giving $his <<if !canDoVaginal($activeSlave)>>anal<</if>> virginity to an animal.
-                    <<elseif $activeSlave.behavioralQuirk == "sinful">>
-                        $activeSlave.slaveName's face visibly brightens at the thought of committing such a sinful act, although $he seems a bit hesitant at the thought of giving $his <<if !canDoVaginal($activeSlave)>>anal<</if>> virginity to an animal.
+                    <<if _activeQuirk == 1>>
+                        $activeSlave.slaveName's face visibly brightens at the thought of committing such a _fetishDescriptor act, although $he seems a bit hesitant at the thought of giving $his <<if !canDoVaginal($activeSlave)>>anal<</if>> virginity to an animal.
                     <<else>>
                         $activeSlave.slaveName looks visibly shaken at the thought of having $his precious <<if !canDoVaginal($activeSlave)>>anal <</if>>virginity taken by an animal, but is so attentive to your will that $he agrees.
                     <</if>>
@@ -65,10 +92,8 @@
                 <</if>>
             <</if>>
         <<else>>
-            <<if $activeSlave.fetish == "cumslut">>
-                $activeSlave.slaveName's face visibly brightens at the thought of getting to drink more cum, even if it's a _animal.species's cum.
-            <<elseif $activeSlave.sexualQuirk == "gagfuck queen">>
-                $activeSlave.slaveName's face visibly brightens at the thought of getting to suck more dick, even if it's a _animal.species's dick.
+            <<if _activeQuirk == 1>>
+                $activeSlave.slaveName's face visibly brightens at the thought of _fetishDescriptor, even if it's a _animal.species's cum.
             <<else>>
                 $activeSlave.slaveName blanches at the thought of having to suck a _animal.species's dick, but $he is so devoted to you that $he reluctantly agrees.
             <</if>>
@@ -79,14 +104,8 @@
         <<if _sexAct == "vaginal" || _sexAct == "anal">> 
             <<if ((_sexAct == "vaginal") && ($activeSlave.vagina > 0)) || ((_sexAct == "anal") && ($activeSlave.anus > 0))>>
                 <<if $activeSlave.fetishKnown == 1>>
-                    <<if $activeSlave.fetish == "masochist">>
-                        $activeSlave.slaveName isn't too keen on the idea of fucking a _animal.species, but the thought of the pain involved convinces $him to comply.
-                    <<elseif $activeSlave.fetish == "humiliation">>
-                        $activeSlave.slaveName isn't too keen on the idea of fucking a _animal.species, but the thought of the humiliation involved convinces $him to comply.
-                    <<elseif $activeSlave.sexualQuirk == "perverted">>
-                        $activeSlave.slaveName isn't too keen on the idea of being fucked by a _animal.species, but the thought of the perversion of fucking an animal soon convinces $him to comply.
-                    <<elseif $activeSlave.behavioralQuirk == "sinful">>
-                        $activeSlave.slaveName isn't too keen on the idea of being fucked by a _animal.species, but the thought of the sinfulness of fucking an animal soon convinces $him to comply.
+                    <<if _activeQuirk>>
+                        $activeSlave.slaveName isn't too keen on the idea of fucking a _animal.species, but the thought of the _fetishDescriptor involved convinces $him to comply.
                     <<else>>
                         $activeSlave.slaveName tries in vain to conceal $his horror, but quickly regains $his composure.
                     <</if>>
@@ -95,14 +114,8 @@
                 <</if>>
             <<else>>
                 <<if $activeSlave.fetishKnown == 1>>
-                    <<if $activeSlave.fetish == "masochist">>
-                        $activeSlave.slaveName clearly has some reservations about having $his <<if !canDoVaginal($activeSlave)>>anal <</if>>virginity taken by a _animal.species, but the thought of the pain that comes with it soon convinces $him to comply.
-                    <<elseif $activeSlave.fetish == "humiliation">>
-                        $activeSlave.slaveName clearly has some reservations about having $his <<if !canDoVaginal($activeSlave)>>anal <</if>>virginity taken by a _animal.species, but the thought of the humiliation that comes with it soon convinces $him to comply.
-                    <<elseif $activeSlave.sexualQuirk == "perverted">>
-                        $activeSlave.slaveName clearly has some reservations about having $his <<if !canDoVaginal($activeSlave)>>anal <</if>>virginity taken by a _animal.species, but the thought of the perversion of fucking an animal soon convinces $him to comply.
-                    <<elseif $activeSlave.behavioralQuirk == "sinful">>
-                        $activeSlave.slaveName clearly has some reservations about having $his <<if !canDoVaginal($activeSlave)>>anal <</if>>virginity taken by a _animal.species, but the thought of the sinfulness of fucking an animal soon convinces $him to comply.
+                    <<if _activeQuirk == 1>>
+                        $activeSlave.slaveName clearly has some reservations about having $his <<if !canDoVaginal($activeSlave)>>anal <</if>>virginity taken by a _animal.species, but the thought of the _fetishDescriptor that comes with it soon convinces $him to comply.
                     <<else>>
                         $activeSlave.slaveName tries in vain to conceal $his horror at the thought of having $his <<if !canDoVaginal($activeSlave)>>rosebud<<else>>pearl<</if>> taken by a beast, but quickly regains $his composure.
                     <</if>>
@@ -111,10 +124,8 @@
                 <</if>>
             <</if>>
         <<else>>
-            <<if $activeSlave.fetish == "cumslut">>
-                $activeSlave.slaveName isn't too keen on the idea of sucking off a _animal.species, but the thought of getting to drink more cum soon convinces $him to comply.
-            <<elseif $activeSlave.sexualQuirk == "gagfuck queen">>
-                $activeSlave.slaveName isn't too keen on the idea of being fucked by a _animal.species, but the thought of getting to suck more cock soon convinces $him to comply.
+            <<if _activeQuirk == 1>>
+                $activeSlave.slaveName isn't too keen on the idea of sucking off a _animal.species, but the thought of _fetishDescriptor soon convinces $him to comply.
             <<else>>
                 $activeSlave.slaveName tries in vain to conceal $his horror, but quickly regains $his composure.
             <</if>>
@@ -125,14 +136,8 @@
         <<if _sexAct == "vaginal" || _sexAct == "anal">> 
             <<if (_sexAct == "vaginal" && ($activeSlave.vagina > 0)) || ((_sexAct == "anal") && ($activeSlave.anus > 0))>>
                 <<if $activeSlave.fetishKnown == 1>>
-                    <<if $activeSlave.fetish == "masochist">>
-                        $activeSlave.slaveName looks disgusted at the thought of fucking a _animal.species at first, but the thought of the pain that comes with it seems to spark a small flame of lust in $him.
-                    <<elseif $activeSlave.fetish == "humiliation">>
-                        $activeSlave.slaveName looks disgusted at the thought of fucking a _animal.species at first, but the thought of the humiliation that comes with it seems to spark a small flame of lust in $him.
-                    <<elseif $activeSlave.sexualQuirk == "perverted">>
-                        $activeSlave.slaveName looks disgusted at the thought of fucking a _animal.species at first, but the thought of the perversion that comes with it seems to spark a small flame of lust in $him.
-                    <<elseif $activeSlave.behavioralQuirk == "sinful">>
-                        $activeSlave.slaveName looks disgusted at the thought of fucking a _animal.species at first, but the thought of the sinfulness that comes with it seems to spark a small flame of lust in $him.
+                    <<if _activeQuirk == 1>>
+                        $activeSlave.slaveName looks disgusted at the thought of fucking a _animal.species at first, but the thought of the _fetishDescriptor that comes with it seems to spark a small flame of lust in $him.
                     <<else>>
                         $activeSlave.slaveName tries in vain to conceal $his horror,
                     <</if>>
@@ -141,14 +146,8 @@
                 <</if>>
             <<else>>
                 <<if $activeSlave.fetishKnown == 1>>
-                    <<if $activeSlave.fetish == "masochist">>
-                        $activeSlave.slaveName looks disgusted at the thought of giving up $his <<if !canDoVaginal($activeSlave)>>anal <</if>>virginity to a _animal.species, but the thought of the pain that comes with it soon sparks a small flame of lust in $him.
-                    <<elseif $activeSlave.fetish == "humiliation">>
-                        $activeSlave.slaveName looks disgusted at the thought of giving up $his <<if !canDoVaginal($activeSlave)>>anal <</if>>virginity to a _animal.species, but the thought of the humiliation that comes with it soon sparks a small flame of lust in $him.
-                    <<elseif $activeSlave.sexualQuirk == "perverted">>
-                        $activeSlave.slaveName looks disgusted at the thought of giving up $his <<if !canDoVaginal($activeSlave)>>anal <</if>>virginity to a _animal.species, but the thought of the perversion of fucking an animal soon sparks a small flame of lust in $him.
-                    <<elseif $activeSlave.behavioralQuirk == "sinful">>
-                        $activeSlave.slaveName looks disgusted at the thought of giving up $his <<if !canDoVaginal($activeSlave)>>anal <</if>>virginity to a _animal.species, but the thought of the sinfulness of fucking an animal soon sparks a small flame of lust in $him.
+                    <<if _activeQuirk == 1>>
+                        $activeSlave.slaveName looks disgusted at the thought of giving up $his <<if !canDoVaginal($activeSlave)>>anal <</if>>virginity to a _animal.species, but the thought of the _fetishDescriptor that comes with it soon sparks a small flame of lust in $him.
                     <<else>>
                         $activeSlave.slaveName tries in vain to conceal $his horror at the thought of giving $his <<if !canDoVaginal($activeSlave)>>anal <</if>>virginity to an animal, and only the threat of a far worse punishment keeps $him from running out of the room.
                     <</if>>
@@ -158,10 +157,8 @@
             <</if>>
         <<else>>
             <<if $activeSlave.fetishKnown == 1>>
-                <<if $activeSlave.fetish == "cumslut">>
-                    $activeSlave.slaveName looks disgusted at the thought of sucking off a _animal.species at first, but the thought of drinking more cum seems to spark a small flame of lust in $him.
-                <<elseif $activeSlave.sexualQuirk == "gagfuck queen">>
-                    $activeSlave.slaveName looks disgusted at the thought of sucking off a _animal.species at first, but the thought of sucking more cock seems to spark a small flame of lust in $him.
+                <<if _activeQuirk == 1>>
+                    $activeSlave.slaveName looks disgusted at the thought of sucking off a _animal.species at first, but the thought of _fetishDescriptor seems to spark a small flame of lust in $him.
                 <<else>>
                     $activeSlave.slaveName tries in vain to conceal $his horror,
                 <</if>>
@@ -184,35 +181,35 @@
         <<if ($activeSlave.devotion <= 20)>>
             and only the threat of worse punishment prevents $him from running out of the room.
         <</if>>
-             You have $him <<if ($activeSlave.clothes != "naked") && (_sexAct != "oral")>>take off $his clothing and <</if>><<if _sexAct == "oral">>lay <<else>>kneel <</if>>down on the floor <<if _sexAct != "oral">>with $his ass in the air<<else>>on $his back<</if>>
+             You have $him <<if ($activeSlave.clothes != "naked") && (_sexAct != "oral")>>take off $his clothing and <</if>><<if ($activeSlave.collar != "no collar")>>take off $his $activeSlave.collar, then <</if>><<if _sexAct == "oral">>lay <<else>>kneel <</if>>down on the floor <<if _sexAct != "oral">>with $his ass in the air<<else>>on $his back<</if>>
     <<else>>
         and $Bodyguard.slaveName has to physically prevent $him from running out of the room<<if random(1,100) > 75>><<set $activeSlave.minorInjury = either("black eye", "split lip", "bruise")>>, resulting in a $activeSlave.minorInjury. <<else>>. <</if>>You <<if ($activeSlave.clothes != "no clothing")>>force $him to take off $his $activeSlave.clothes and <</if>>restrain $him on the floor <<if _sexAct != "oral">>with $his ass in the air<<else>>with a ring gag in $his mouth<</if>> -- all the while ignoring $his screams and pleas for mercy --
     <</if>>
 <<else>>
-    but $he knows $he is powerless to stop you. You <<if ($activeSlave.clothes != "no clothing")>>take off $his clothes and <</if>>place $him on the ground with a cushion under $his hips <<if _sexAct != "oral">>, $his ass in the air,<</if>>
+    but $he knows $he is powerless to stop you. You <<if ($activeSlave.clothes != "no clothing")>>take off $his clothes and <</if>><<if _sexAct == "oral">>place a ring gag in $his mouth, then<</if>>place $him on the ground with a cushion under $his hips <<if _sexAct != "oral">>, $his ass in the air,<</if>>
 <</if>>
 
 before calling in the _animal.species. The _animal.species slowly saunters up to the <<if ($activeSlave.devotion <= 20)>>bound <</if>>slave and takes its position 
 <<if canWalk($activeSlave)>><<if _sexAct != "oral">>behind<<else>>above<</if>><<else>>above<</if>> $him. You can see its _animal.dickSize penis slowly come to attention as its animalistic brain realizes that it's standing <<if canWalk($activeSlave)>><<if _sexAct != "oral">>behind<<else>>above<</if>><<else>>above<</if>> a warm hole that needs to be filled with seed.
 
-<<switch _animal.species>>
-<<case "dog">>
+<<switch _animal.type>>
+<<case "canine">>
     <<if canWalk($activeSlave)>>
         <<switch _sexAct>>
         <<case "oral">>
             <<if $activeSlave.devotion > 20>>
-                $activeSlave.slaveName <<if $activeSlave.fetish != "masochist" || $activeSlave.fetish != "humiliation" || $activeSlave.sexualQuirk != "perverted" || $activeSlave.behavioralQuirk != "sinful">>reluctantly<</if>> grabs the _animal.dickSize cock and gives it a tentative lick.
+                $activeSlave.slaveName <<if _activeQuirk != 1>>reluctantly<</if>> grabs the _animal.dickSize cock and gives it a tentative lick.
             <</if>>                
         <<default>>
-            The dog clambers up to mount $activeSlave.slaveName, eliciting a squeal from the girl as its claws dig into $his flesh.
+            The _animal.species clambers up to mount $activeSlave.slaveName, eliciting a squeal from the girl as its claws dig into $his flesh.
         <</switch>>
     <<else>>
-        The dog <<if _sexAct != "oral">> takes a few curious sniffs, then <</if>>lines its cock up with $activeSlave.slaveName's <<switch _sexAct>><<case "vaginal" "anal">>_orifice.<<case "oral">>mouth, then begins to thrust rapidly, in the way that only dogs can.<</switch>>
+        The dog <<if _sexAct != "oral">> takes a few curious sniffs, then <</if>>lines its cock up with $activeSlave.slaveName's <<switch _sexAct>><<case "vaginal" "anal">>_orifice.<<case "oral">>mouth, then, with a mighty shove, begins to thrust rapidly, in the way that only _animal.speciess can.<</switch>>
     <</if>>
 
     <<switch _sexAct>>
     <<case "vaginal" "anal">>
-        It takes a couple of tries, but it finally manages to sink its cock into $his <<if _sexAct == "vaginal" && ($activeSlave.fetish == "masochist") || ($activeSlave.fetish == "humiliation") || ($activeSlave.sexualQuirk == "perverted") || ($activeSlave.behavioralQuirk == "sinful")>>wet <</if>>_orifice.
+        It takes a couple of tries, but it finally manages to sink its cock into $his <<if _sexAct == "vaginal" && _activeQuirk == 1>>wet <</if>>_orifice.
     <<case "oral">>
         <<if canWalk($activeSlave)>>
             In one swift motion, the canine buries its cock deep in $his throat, causing $him to gag. It then begins to thrust rapidly, in the way that only dogs can.
@@ -223,8 +220,8 @@ before calling in the _animal.species. The _animal.species slowly saunters up to
         <<if ($activeSlave.vagina == 0)>>The slave gives a loud <<if ($activeSlave.devotion > 20)>>moan<<else>>groan<</if>> as $his <<if !canDoVaginal($activeSlave)>>@@.lime;anal@@<</if>> @@.lime;virginity is taken from $him@@<<if ($activeSlave.devotion <= -20)>>@@.lime; by force@@<</if>>.<</if>>
     <</if>>
 
-<<case "horse">>
-    The horse stands over $him as another slave lines its massive phallus up with $activeSlave.slaveName's <<switch _sexAct>><<case "oral">>open mouth<<case "vaginal" "anal">><<if ($activeSlave.fetish == "masochist") || ($activeSlave.fetish == "humiliation") || ($activeSlave.sexualQuirk == "perverted") || ($activeSlave.behavioralQuirk == "sinful")>>wet <</if>>_orifice<</switch>>.
+<<case "hooved">>
+    The _animal.species stands over $him as another slave lines its massive phallus up with $activeSlave.slaveName's <<switch _sexAct>><<case "oral">>open mouth<<case "vaginal" "anal">><<if _activeQuirk == 1>>wet <</if>>_orifice<</switch>>.
 
     With a slight thrust, it enters $him and begins to fuck <<if _sexAct == "oral">>$his mouth<<else>> $him<</if>>. $activeSlave.slaveName can't help but give a loud groan as the huge cock 
     <<switch _sexAct>>
@@ -270,31 +267,22 @@ before calling in the _animal.species. The _animal.species slowly saunters up to
     <<if (_sexAct == "vaginal" && $activeSlave.vagina <= 3) || (_sexAct == "anal" && $activeSlave.anus <= 2) >>@@.lime;_orifice@@<<else>>_orifice<</if>><<if (_sexAct == "vaginal" && ($activeSlave.vagina <= 1)) || (_sexAct == "anal" && ($activeSlave.anus <= 1))>>@@.lime; apart.@@<<elseif (_sexAct == "vaginal" && ($activeSlave.vagina <= 3)) || (_sexAct == "anal" && ($activeSlave.anus <= 2))>>@@.lime;.@@<<else>>.<</if>>
     <</switch>>
 
-<<case "lion">>
+<<case "feline">>
     <<if canWalk($activeSlave)>>
-        The lion mounts $him, causing $him to give a squeal as its claws dig into her flesh. 
+        The _animal.species mounts $him, causing $him to give a squeal as its claws dig into her flesh. 
     <<else>>
-        The lion lines its _animal.dickSize penis with $activeSlave.slaveName's _orifice and gives a mighty shove.
+        The _animal.species lines its _animal.dickSize penis with $activeSlave.slaveName's _orifice and gives a mighty shove.
     <</if>>
-    $activeSlave.slaveName gives a loud <<if $activeSlave.devotion > 50>>moan<<else>>groan<</if>> as the lion buries its large, barbed, cock deep in $his _orifice.
+    $activeSlave.slaveName gives a loud <<if $activeSlave.devotion > 50>>moan<<else>>groan<</if>> as the _animal.species buries its large, barbed, cock deep in $his _orifice.
 <</switch>>
 
 <<if _sexAct != "oral">>
     <<if canDoVaginal($activeSlave)>>
         <<if $activeSlave.vagina == 0>>
             <<if ($activeSlave.devotion >= -20)>>
-                <<if $activeSlave.fetish == "masochist">>
+                <<if _activeQuirk == 1>>
                     @@.lime;Losing $his virginity@@ in such a painful manner has @@.hotpink;increased $his devotion to you.@@
                     <<set $activeSlave.devotion += 10>>
-                <<elseif $activeSlave.fetish == "humiliation">>
-                    @@.lime;Losing $his virginity@@ in such a humiliating manner has @@.hotpink;increased $his devotion to you.@@
-                    <<set $activeSlave.devotion += 10>>
-                <<elseif $activeSlave.sexualQuirk == "perverted">>
-                    @@.lime;Losing $his virginity@@ in such a perverted manner has @@.hotpink;increased $his devotion to you.@@
-                    <<set $activeSlave.devotion += 10>>
-                <<elseif $activeSlave.behavioralQuirk == "sinful">>
-                    @@.lime;Losing $his virginity@@ in such a sinful manner has @@.hotpink;increased $his devotion to you.@@
-                    <<set $activeSlave.devotion += 10>>
                 <<else>>
                     <<if $activeSlave.devotion > 50>>
                         Since $he is well broken, @@.lime;losing $his virginity@@ in such a manner has @@.hotpink;increased $his submission to you.@@
@@ -315,18 +303,9 @@ before calling in the _animal.species. The _animal.species slowly saunters up to
     <<else>>
         <<if $activeSlave.anus == 0>>
             <<if ($activeSlave.devotion >= -20)>>
-                <<if $activeSlave.fetish == "masochist">>
+                <<if _activeQuirk == 1>>
                     @@.lime;Losing $his anal virginity@@ in such a painful manner has @@.hotpink;increased $his devotion to you.@@
                     <<set $activeSlave.devotion += 10>>
-                <<elseif $activeSlave.fetish == "humiliation">>
-                    @@.lime;Losing $his anal virginity@@ in such a humiliating manner has @@.hotpink;increased $his devotion to you.@@
-                    <<set $activeSlave.devotion += 10>>
-                <<elseif $activeSlave.sexualQuirk == "perverted">>
-                    @@.lime;Losing $his anal virginity@@ in such a perverted manner has @@.hotpink;increased $his devotion to you.@@
-                    <<set $activeSlave.devotion += 10>>
-                <<elseif $activeSlave.behavioralQuirk == "sinful">>
-                    @@.lime;Losing $his anal virginity@@ in such a sinful manner has @@.hotpink;increased $his devotion to you.@@
-                    <<set $activeSlave.devotion += 10>>
                 <<else>>
                     <<if $activeSlave.devotion > 50>>
                         Since $he is well broken, @@.lime;losing $his anal virginity@@ in such a manner has @@.hotpink;increased $his submission to you.@@
@@ -352,17 +331,17 @@ before calling in the _animal.species. The _animal.species slowly saunters up to
     <</if>>
 <</if>>
 
-<<switch _animal.species>>
-<<case "dog">>
-    The hound wastes no time in beginning to hammer away at $his _orifice, causing $activeSlave.slaveName to moan uncontrollably as its thick, veiny member probes the depths of $his <<switch _sexAct>><<case "oral">>throat<<case "vaginal">>cunt<<case "anal">>rectum<</switch>>.
+<<switch _animal.type>>
+<<case "canine">>
+    The <<switch _animal.species>><<case "dog">>hound<<default>>_animal.species<</switch>> wastes no time in beginning to hammer away at $his _orifice, causing $activeSlave.slaveName to moan uncontrollably as its thick, veiny member probes the depths of $his <<switch _sexAct>><<case "oral">>throat<<case "vaginal">>cunt<<case "anal">>rectum<</switch>>.
     A few short minutes later, $he gives a loud groan 
-    <<if ($activeSlave.fetishKnown == 1) && (($activeSlave.fetish == "masochist") || ($activeSlave.fetish == "humiliation") || $activeSlave.sexualQuirk == "perverted" || $activeSlave.behavioralQuirk == "sinful" || ($activeSlave.fetish == "cumslut") || ($activeSlave.sexualQuirk == "gagfuck queen"))>> and shakes in orgasm <</if>>
-    as the dog's knot begins to swell and its penis begins to erupt a thick stream of jizz <<switch _sexAct>><<case "vaginal" "anal">>into $him<<case "oral">>down $his throat<</switch>>.
-    After almost a minute, the dog has finally finished cumming and its knot is sufficiently small enough that the dog is able to pull its cock out, causing 
+    <<if ($activeSlave.fetishKnown == 1) && (_activeQuirk == 1)>> and shakes in orgasm <</if>>
+    as the _animal.species's knot begins to swell and its penis begins to erupt a thick stream of jizz <<switch _sexAct>><<case "vaginal" "anal">>into $him<<case "oral">>down $his throat<</switch>>.
+    After almost a minute, the _animal.species has finally finished cumming and its knot is sufficiently small enough that the _animal.species is able to pull its cock out, causing 
     <<switch _sexAct>>
     <<case "vaginal" "anal">> a stream of cum to slide out of $his 
         <<if (canDoVaginal($activeSlave) && ($activeSlave.vagina <= 2)) || (!canDoAnal($activeSlave)) && ($activeSlave.anus <= 1)>>
-            @@.lime;now-gaping _orifice@@
+            @@.lime;now-gaping _orifice.@@
         <<else>> 
             <<if canDoVaginal($activeSlave)>>
                 <<if  $activeSlave.vagina == 3>>
@@ -388,7 +367,7 @@ before calling in the _animal.species. The _animal.species slowly saunters up to
         <</if>>
     <<case "oral">>
         $activeSlave.slaveName to immediately start coughing and retching uncontrollably.
-    <</switch>> Having finished its business, the dog runs off, presumably in search of food.
+    <</switch>> Having finished its business, the _animal.species runs off, presumably in search of food.
 
     <<switch _sexAct>>
     <<case "vaginal">>
@@ -405,9 +384,9 @@ before calling in the _animal.species. The _animal.species slowly saunters up to
         <<set $activeSlave.oralCount += 1>>
     <</switch>>
 
-<<case "horse">>
-    The stallion begins to thrust faster and faster, causing $activeSlave.slaveName to moan and groan in pain as the<<if _sexAct == "vaginal">> tip rams $his cervix<<else>> huge horsecock fills $him completely<</if>>. Before too long, the horse's movements begin to slow, and you can see its large testicles contract slightly as it begins to fill $activeSlave.slaveName's <<switch _sexAct>><<case "vaginal" "anal">>_orifice<<case "oral">>stomach<</switch>> to the brim with thick horse semen.
-    After what seems like an impossibly long time, the horse's dick finally begins to soften and it finally pulls out<<if _sexAct == "oral">>, causing $activeSlave.slaveName to immediately begin to cough and retch uncontrollably<</if>>. You have a servant lead the horse away, with a fresh apple as a treat for its good performance. 
+<<case "hooved">>
+    The <<switch _animal.species>><<case "horse">>stallion<<default>>_animal.species<</switch>> begins to thrust faster and faster, causing $activeSlave.slaveName to moan and groan in pain as the<<if _sexAct == "vaginal">> tip rams $his cervix<<else>> huge _animal.speciescock fills $him completely<</if>>. Before too long, the _animal.species's movements begin to slow, and you can see its large testicles contract slightly as it begins to fill $activeSlave.slaveName's <<switch _sexAct>><<case "vaginal" "anal">>_orifice<<case "oral">>stomach<</switch>> to the brim with thick _animal.species semen.
+    After what seems like an impossibly long time, the _animal.species's dick finally begins to soften and it finally pulls out<<if _sexAct == "oral">>, causing $activeSlave.slaveName to immediately begin to cough and retch uncontrollably<</if>>. You have a servant lead the _animal.species away, with a fresh apple as a treat for its good performance. 
     
     <<switch _sexAct>>
     <<case "vaginal">>
@@ -424,8 +403,8 @@ before calling in the _animal.species. The _animal.species slowly saunters up to
         <<set $activeSlave.oralCount += 1>>
     <</switch>>
 
-<<case "lion">>
-    The lion begins to move, thrusting faster and faster. The $girl beneath can't stop a groan of pain from escaping $his lips as the barbs on its dick @@.red;rub the inside of $his _orifice raw.@@ After a few minutes of painful coupling, the lion's thrusts finally slow, then stop completely. With a deep bellow, he finally dismounts, gives you a long look, then stalks off.
+<<case "feline">>
+    The _animal.species begins to move, thrusting faster and faster. The $girl beneath can't stop a groan of pain from escaping $his lips as the barbs on its dick @@.red;rub the inside of $his _orifice raw.@@ After a few minutes of painful coupling, the _animal.species's thrusts finally slow, then stop completely. With a deep bellow, he finally dismounts, gives you a long look, then stalks off.
 
     <<set $activeSlave.health -= 1>>
     <<switch _sexAct>>
@@ -515,4 +494,4 @@ before calling in the _animal.species. The _animal.species slowly saunters up to
     <</if>>
 <</if>>
 
-<<set $species = 0>>
+<<set $animalType = 0>>
diff --git a/src/pregmod/farmyard.tw b/src/pregmod/farmyard.tw
index 18e5c4b2edf3b898b6ff1f87ce8c91fda8e8a3ca..3973e7f58d6a24ce08abe069f82e377630788d72 100644
--- a/src/pregmod/farmyard.tw
+++ b/src/pregmod/farmyard.tw
@@ -6,56 +6,114 @@
 	<<set $farmyardNameCaps = $farmyardName.replace("the ", "The ")>>
 <</if>>
 
+<<set _hooved = {species: "horse", type: "hooved", dickSize: "huge", ballType: "horse"}>>
+
+<<switch $continent>>
+<<case "North America">>
+	<<set _canine = {species: "wolf", type: "canine", dickSize: "large", ballType: "wolf"}>>
+<<case "South America" "Brazil">>
+	<<set _canine = {species: "fox", type: "canine", dickSize: "large", ballType: "fox"}>>
+<<case "Europe" "the Middle East" "Africa" "Asia" "Japan">>
+	<<set _canine = {species: "jackal", type: "canine", dickSize: "large", ballType: "jackal"}>>
+<<case "Australia">>
+	<<set _canine = {species: "dingo", type: "canine", dickSize: "large", ballType: "dingo"}>>
+<</switch>>
+
+<<switch $continent>>
+<<case "North America">>
+	<<set _feline = {species: "cougar", type: "feline", dickSize: "large", ballType: "cougar"}>>
+<<case "South America">>
+	<<set _feline = {species: "jaguar", type: "feline", dickSize: "large", ballType: "jaguar"}>>
+<<case "Brazil">>
+	<<set _feline = {species: "puma", type: "feline", dickSize: "large", ballType: "puma"}>>
+<<case "Europe">>
+	<<set _feline = {species: "lynx", type: "feline", dickSize: "large", ballType: "lynx"}>>
+<<case "the Middle East" "Australia">>  /*Australia doesn't actually have a native big cat, so it's assumed they imported some*/
+	<<set _feline = {species: "leopard", type: "feline", dickSize: "large", ballType: "leopard"}>>
+<<case "Africa">>
+	<<set _feline = {species: "lion", type: "feline", dickSize: "large", ballType: "lion"}>>
+<<case "Asia" "Japan">>
+	<<set _feline = {species: "tiger", type: "feline", dickSize: "large", ballType: "tiger"}>>
+<</switch>>
+
 $farmyardNameCaps is not dissimilar to a warehouse in its basic size and form, but most warehouses don't contain the huge, dense, banks of crop-growing machinery this one does. Here, fruits and vegetables of all shapes and sizes are grown; from exotic, succulent Old World fruits to the average, everyday, vegetables. This is where the majority of the food in $arcologies[0].name comes from, making this one of the more critical facilities in your arcology.
 
 <br><br>
 
-/*TODO: Upkeep costs need to be added to these, but I'm not sure of the best way to do that*/
-/*TODO: Potentailly add more upgrades, to make this facility a little less useless without bestiality*/
-<<if ($farmyardCrops == 0)>>
-	[[Upgrade the machinery to increase the yield of crops|Farmyard][$cash -= Math.trunc(10000*$upgradeMultiplierArcology), $farmyardCrops = 1]]
-	//Costs <<print cashFormat(Math.trunc(10000*$upgradeMultiplierArcology))>> and decreases upkeep costs. This description is temporary and will be changed.//
+<<if $farmyardUpgrade == 0>>
+	[[Upgrade the water pump|Farmyard][$cash -= Math.trunc(1000*$upgradeMultiplierArcology),$farmyardUpgrade += 1]]
+	//Costs <<print cashFormat(Math.trunc(1000*$upgradeMultiplierArcology))>> and slightly increases crop yield.//
 	<br>
-<</if>>
-<<if ($farmyardCrops == 1)>>
-	The machinery has been upgraded and is producing crops at a much higher rate.
+<<elseif $farmyardUpgrade == 1>>
+	[[Use a higher-quality fertilizer|Farmyard][$cash -= Math.trunc(2000*$upgradeMultiplierArcology),$farmyardUpgrade += 1]]
+	//Costs <<print cashFormat(Math.trunc(2000*$upgradeMultiplierArcology))>> and slightly increases upkeep costs and crop yield.//
+	<br>	
+	The water pump in $farmyardName is a more efficient model, slightly improving the amount of crops $farmyardName produces.
+<<elseif $farmyardUpgrade == 2>>
+	[[Purchase a hydroponics system|Farmyard][$cash -= Math.trunc(5000*$upgradeMultiplierArcology),$farmyardUpgrade += 1]]
+	//Costs <<print cashFormat(Math.trunc(5000*$upgradeMultiplierArcology))>> and slightly decreases upkeep costs.//
+	<br>
+	The water pump in $farmyardName is a more efficient model, slightly improving the amount of crops $farmyardName produces. $farmyardNameCaps is using a higher-quality fertilizer, increasing the amount of crops it produces.
+<<elseif $farmyardUpgrade == 3>>
+	[[Upgrade the machinery to increase the yield of crops|Farmyard][$cash -= Math.trunc(10000*$upgradeMultiplierArcology), $farmyardUpgrade += 1]]
+	//Costs <<print cashFormat(Math.trunc(10000*$upgradeMultiplierArcology))>> and moderately decreases upkeep costs.//
+	<br>
+	The water pump in $farmyardName is a more efficient model, slightly improving the amount of crops $farmyardName produces. $farmyardNameCaps is using a higher-quality fertilizer, increasing the amount of crops it produces. $farmyardNameCaps is outfitted with an advanced hydroponics system, slightly reducing the amount of water your crops consume.
+<<elseif $farmyardUpgrade == 4>>
+	[[Purchase genetically modified seeds|Farmyard][$cash -= Math.trunc(20000*$upgradeMultiplierArcology),$farmyardUpgrade += 1]]
+	//Costs <<print cashFormat(Math.trunc(20000*$upgradeMultiplierArcology))>> and moderately increases crop yield.//
 	<br>
+	The water pump in $farmyardName is a more efficient model, slightly improving the amount of crops $farmyardName produces. $farmyardNameCaps is using a higher-quality fertilizer, increasing the amount of crops it produces. $farmyardNameCaps is outfitted with an advanced hydroponics system, slightly reducing the amount of water your crops consume. The machinery in $farmyardName has been upgraded, and is more efficient.
+<<elseif $farmyardUpgrade == 5>>
+	[[Purchase an R&D lab to experiment on different plant types|Farmyard][$cash -= Math.trunc(50000*$upgradeMultiplierArcology),$farmyardUpgrade = 6,$farmyardLab = 1]]
+	//Costs <<print cashFormat(Math.trunc(50000*$upgradeMultiplierArcology))>> and unlocks the Research Lab.//
+	<br>
+	The water pump in $farmyardName is a more efficient model, slightly improving the amount of crops $farmyardName produces. $farmyardNameCaps is using a higher-quality fertilizer, increasing the amount of crops it produces. $farmyardNameCaps is outfitted with an advanced hydroponics system, slightly reducing the amount of water your crops consume. The machinery in $farmyardName has been upgraded, and is more efficient. $farmyardNameCaps is using genetically modified seeds, moderately increasing the amount of crops it produces.
+<<elseif $farmyardUpgrade == 6>>
+	The water pump in $farmyardName is a more efficient model, slightly improving the amount of crops $farmyardName produces. $farmyardNameCaps is using a higher-quality fertilizer, increasing the amount of crops it produces. $farmyardNameCaps is outfitted with an advanced hydroponics system, slightly reducing the amount of water your crops consume. The machinery in $farmyardName has been upgraded, and is more efficient. $farmyardNameCaps is using genetically modified seeds, moderately increasing the amount of crops it produces. A high-tech metal door, complete with retinal and fingerprint scanners, stands at the far end of $farmyardName.
 <</if>>
 
 <<if $seeBestiality == 1>>
+<br><br>
 	<<if ($farmyardKennels == 0)>>
 		[[Add kennels|Farmyard][$cash -= Math.trunc(5000*$upgradeMultiplierArcology), $farmyardKennels = 1]]
-		//Costs <<print cashFormat(Math.trunc(5000*$upgradeMultiplierArcology))>> and allows you to keep dogs. This description is temporary and will be changed.//
+		//Costs <<print cashFormat(Math.trunc(5000*$upgradeMultiplierArcology))>> and allows you to keep <<print _canine.species>>s. This description is temporary and will be changed.//
 		<br>
 	<</if>>
 	<<if ($farmyardKennels == 1)>>
-		Kennels have been built in one corner of $farmyardName, and are currently occupied by dogs of various breeds. //This description is temporary and will be changed.//
+		Kennels have been built in one corner of $farmyardName, and are currently occupied by <<print _canine.species>>s. //This description is temporary and will be changed.//
 		<br>
 	<</if>>
 
 	<<if ($farmyardStable == 0)>>
 		[[Add a stable|Farmyard][$cash -= Math.trunc(10000*$upgradeMultiplierArcology), $farmyardStable = 1]]
-		//Costs <<print cashFormat(Math.trunc(10000*$upgradeMultiplierArcology))>> and allows you to keep horses. This description is temporary and will be changed.//
+		//Costs <<print cashFormat(Math.trunc(10000*$upgradeMultiplierArcology))>> and allows you to keep <<print "horse">>s. This description is temporary and will be changed.//
 		<br>
 	<</if>>
 	<<if ($farmyardStable == 1)>>
-		A large stable has been built at the far end of $farmyardName, and currently holds a decent amount of large horses. //This description is temporary and will be changed.//
+		A large stable has been built at the far end of $farmyardName, and currently holds a decent amount of large <<print "horse">>s. //This description is temporary and will be changed.//
 		<br>
 	<</if>>
 
 	<<if ($farmyardCages == 0)>>
-		[[Add lion cages|Farmyard][$cash -= Math.trunc(25000*$upgradeMultiplierArcology), $farmyardCages = 1]]
-		//Costs <<print cashFormat(Math.trunc(25000*$upgradeMultiplierArcology))>> and allows you to keep lions. This description is temporary and will be changed.//
+		[[Add cages|Farmyard][$cash -= Math.trunc(25000*$upgradeMultiplierArcology), $farmyardCages = 1]]
+		//Costs <<print cashFormat(Math.trunc(25000*$upgradeMultiplierArcology))>> and allows you to keep <<print _feline.species>>s. This description is temporary and will be changed.//
 		<br>
 	<</if>>
 	<<if ($farmyardCages == 1)>>
-		Large cages have been set up along one wall of $farmyardName, and are currently occupied by large lions. //This description is temporary and will be changed.//
+		Large cages have been set up along one wall of $farmyardName, and are currently occupied by large <<print(_feline.species)>>s. //This description is temporary and will be changed.//
+	<</if>>
 <</if>>
 
-<br>
+<<if $farmyardLab == 1>>
+	<br><br>
+	A <<link "research and development lab" "FarmyardLab">><</link>> has been built at one end of $farmyardName. @@.red;ALPHA CONTENT!@@
+<</if>>
+
+<br><br>
 
 <<link "Decommission $farmyardName and return this sector to manufacturing">>
-	<<set $farmyardName = "the Farmyard", $farmyard = 0, $farmyardCrops = 0, $farmyardKennels = 0, $farmyardStable = 0>>
+	<<set $farmyardName = "the Farmyard", $farmyard = 0, $farmyardUpgrade = 0, $farmyardUpgradeList = [], $farmyardLab = 0, $farmyardCrops = 0, $farmyardKennels = 0, $farmyardStable = 0, $farmyardCages = 0>>
 	<<for _i = 0; _i < $sectors.length; _i++>>
 		<<if $sectors[_i].type == "Farmyard">><<set $sectors[_i].type = "Manufacturing">><<break>><</if>>
 	<</for>>
diff --git a/src/pregmod/farmyardLab.tw b/src/pregmod/farmyardLab.tw
new file mode 100644
index 0000000000000000000000000000000000000000..d319c41d8242d6708f9891046a01e6fc70151a2e
--- /dev/null
+++ b/src/pregmod/farmyardLab.tw
@@ -0,0 +1,9 @@
+:: FarmyardLab [nobr]
+
+<<set $nextButton = "Back", $nextLink = "Farmyard", $returnTo = "FarmyardLab", $showEncyclopedia = 1, $encyclopedia = "Farmyard">>
+
+//This is currently under development.//
+
+<br>
+$farmyardName Research Lab
+<hr>
\ No newline at end of file