diff --git a/src/facilities/farmyard/farmyard.tw b/src/facilities/farmyard/farmyard.tw
index e846a39c53768301a21f0c817532a5bb1d4388fc..34fb3df5ed9a6178e72324174ea08aaa3e6f28c8 100644
--- a/src/facilities/farmyard/farmyard.tw
+++ b/src/facilities/farmyard/farmyard.tw
@@ -219,7 +219,7 @@ $farmyardNameCaps is an oasis of growth in the midst of the jungle of steel and
 		<<if (_CL > 0 || _HL > 0 || _FL > 0)>>
 			[[Begin shows|Farmyard][$farmyardShows = 1]]
 		<<else>>
-			//You must purchase animals before you put on shows//
+			//You must purchase animals before you can put on shows//
 		<</if>>
 	<</if>>
 <</if>>
@@ -310,14 +310,14 @@ $farmyardNameCaps is an oasis of growth in the midst of the jungle of steel and
 			<<print $canines>>.
 		<<elseif _CL <= 3>>
 			a couple different
-			<<for _c = 0; _c < _CL; _c++>>	/* FIXME: this does not work */
-			<<if $canines[_c].species != "dog">>
-				<<set _onlyDogs = 0>>
-			<<else>>
-				<<set _onlyDogs = 1>>
-			<</if>>
-			<</for>>
-			<<if _onlyDogs == 0>>
+			<<set $onlyDogs = 0>>
+			<<run $canines.forEach(function(c) {
+				const V = State.variables;
+				if (c.species == "dog") {
+					V.onlyDogs = 1;
+				}
+			})>>
+			<<if $onlyDogs == 0>>
 				types of canines.
 			<<else>>
 				breeds of dogs.
@@ -391,14 +391,14 @@ $farmyardNameCaps is an oasis of growth in the midst of the jungle of steel and
 			<<print $felines>>.
 		<<elseif _FL <= 3>>
 			a couple different
-			<<for _f = 0; _f < _FL; _f++>>	/* FIXME: this does not work */
-			<<if $felines[_f].species != "cat">>
-				<<set _onlyCats = 0>>
-			<<else>>
-				<<set _onlyCats = 1>>
-			<</if>>
-			<</for>>
-			<<if _onlyCats == 0>>
+			<<set $onlyCats = 0>>
+			<<run $felines.forEach(function(c) {
+				const V = State.variables;
+				if (c.species == "cat") {
+					V.onlyCats = 1;
+				}
+			})>>
+			<<if $onlyCats == 0>>
 				types of felines.
 			<<else>>
 				breeds of cats.
diff --git a/src/facilities/farmyard/farmyardAnimals.tw b/src/facilities/farmyard/farmyardAnimals.tw
index 4fb491daa66965e82c2015eb59f1fe5eff11bf1a..4831242bd8ed512ba0295a256c81a723e32c844b 100644
--- a/src/facilities/farmyard/farmyardAnimals.tw
+++ b/src/facilities/farmyard/farmyardAnimals.tw
@@ -2,6 +2,8 @@
 
 <<set $nextButton = "Back", $nextLink = "Farmyard", $returnTo = "FarmyardAnimals", $showEncyclopedia = 1, $encyclopedia = "Farmyard">>
 
+/* TODO: write some descriptions for the different animals in their cages */
+
 <<if $farmyardKennels > 0 || $farmyardStable > 0 || $farmyardCages > 0>>
 <br>
 ''Domestic Animals''
diff --git a/src/js/DefaultRules.js b/src/js/DefaultRules.js
index a6985cba59c0921d3aeaff603916fe9dc928a31e..6a1ab33686b346212b5dec66f61bff55447f68fc 100644
--- a/src/js/DefaultRules.js
+++ b/src/js/DefaultRules.js
@@ -206,7 +206,7 @@ window.DefaultRules = (function() {
 				break;
 
 			case "work as a farmhand":
-				if ((V.farmyardSlaves < V.farmyard)) { // TODO: rework these requirements
+				if ((V.farmyardSlaves < V.farmyard && !slave.fuckdoll)) { // TODO: rework these requirements
 					break;
 				} else {
 					RAFacilityRemove(slave, rule);
diff --git a/src/js/slaveSummaryWidgets.js b/src/js/slaveSummaryWidgets.js
index 11f08da2fb578dbc680242d9bc429897a693df78..37657febb457cd48cc71ea0413a1fd53ea09b56c 100644
--- a/src/js/slaveSummaryWidgets.js
+++ b/src/js/slaveSummaryWidgets.js
@@ -4805,7 +4805,7 @@ App.UI.PassageSlaveFilers = {
 		(State.variables.Flag === 1 && s.assignment === "work in the dairy") ||
 		(State.variables.Flag !== 0 && State.variables.Flag !== 1 && s.ID === State.variables.Milkmaid.ID))),
 	"Milkmaid Select": s => (s.assignmentVisible === 1 && s.fuckdoll === 0 && s.devotion > 20 && canWalk(s) && canSee(s) && canHear(s)),
-	"Farmyard": s => (s.assignmentVisible === 1 && s.fuckdoll <= 0 && canWalk(s) && (
+	"Farmyard": s => (s.assignmentVisible === 1 && s.fuckdoll <= 0 && (
 		(State.variables.Flag === 0 && s.assignment !== "work as a farmhand") ||
 		(State.variables.Flag === 1 && s.assignment === "work as a farmhand") ||
 		(State.variables.Flag !== 0 && State.variables.Flag !== 1 && s.ID === State.variables.Farmer.ID))),
diff --git a/src/js/vignettes.js b/src/js/vignettes.js
index b47ce02d1263405100c776bfb233763ed79d0ad7..bc39f1dc80b58204232b5430cec176f8530eafbd 100644
--- a/src/js/vignettes.js
+++ b/src/js/vignettes.js
@@ -3580,7 +3580,7 @@ window.GetVignette = /** @param {App.Entity.SlaveState} slave */ function GetVig
 				type: "trust",
 				effect: -1
 			});
-			if (V.canines.length > 0) {
+			if ((V.canines.length > 0) && (slave.amp === 0)) {
 				vignettes.push({
 					text: `an over-excited dog left scratch marks on ${his} legs,`,
 					type: "health",
@@ -3603,7 +3603,7 @@ window.GetVignette = /** @param {App.Entity.SlaveState} slave */ function GetVig
 			}
 		} else {
 			vignettes.push({
-				text: `TODO: add a vignette here`,
+				text: `${he} worked extra hard, and managed to sell extra produce,`,
 				type: "cash",
 				effect: 1,
 			});
diff --git a/src/uncategorized/endWeek.tw b/src/uncategorized/endWeek.tw
index c6909755b9a052142dc52a5af79182b0e6337f27..256a00f8a76833581097622b605f1431a88e665f 100644
--- a/src/uncategorized/endWeek.tw
+++ b/src/uncategorized/endWeek.tw
@@ -27,6 +27,20 @@
 	<<set $penetrativeUseWeight++>>
 <</if>>
 
+<<run $slaves.forEach(function(s) {
+	const V = State.variables;
+	if (s.inflationMethod == 1 || s.inflationMethod == 2) {
+		if (s.inflationType == "milk") {
+			V.inflatedSlavesMilk++;
+		} else if (s.inflationType == "cum") {
+			V.inflatedSlavesCum++;
+		}
+	}
+	if (s.assignment == "be a subordinate slave" && s.subTarget == 0) {
+		V.subSlaves++;
+	}
+})>>
+/*
 <<for _i = 0; _i < $slaves.length; _i++>>
 	<<if $slaves[_i].inflationMethod == 1 || $slaves[_i].inflationMethod == 2>>
 		<<if $slaves[_i].inflationType == "milk">>
@@ -39,6 +53,7 @@
 		<<set $subSlaves++>>
 	<</if>>
 <</for>>
+*/
 
 <<if $organs.length > 0>>
 <<for _i = 0; _i < $organs.length; _i++>>
@@ -115,19 +130,20 @@
 <<set $TSS.schoolSale = 0, $GRI.schoolSale = 0, $SCP.schoolSale = 0, $LDE.schoolSale = 0, $TGA.schoolSale = 0, $HA.schoolSale = 0, $TFS.schoolSale = 0, $TCR.schoolSale = 0, $independenceDay = 0, $showEncyclopedia = 0, $racialVarieties = [], $shelterGirlsIDs = [], $oldWeek = $week, $cashLastWeek = $cash, $repLastWeek = $rep, $foodLastWeek = $food>>
 
 <<if $foodMarket > 0>>
-	<<for _f = 0; _f < $slaves.length; _f++>>
-		<<if $slaves[_f].diet == "restricted">>
-			<<set $foodConsumption += 1.8>>
-		<<elseif $slaves[_f].diet == "slimming">>
-			<<set $foodConsumption += 1.9>>
-		<<elseif $slaves[_f].diet == "muscle building">>
-			<<set $foodConsumption += 2.1>>
-		<<elseif $slaves[_f].diet == "fattening">>
-			<<set $foodConsumption += 2.2>>
-		<<else>>
-			<<set $foodConsumption += 2>>
-		<</if>>
-	<</for>>
+	<<run $slaves.forEach(function(s) {
+		const V = State.variables;
+		if (s.diet == "restricted") {
+			V.foodConsumption += 1.8;
+		} else if (s.diet == "slimming") {
+			V.foodConsumption += 1.9;
+		} else if (s.diet == "muscle building") {
+			V.foodConsumption += 2.1;
+		} else if (s.diet == "fattening") {
+			V.foodConsumption += 2.2;
+		} else {
+			V.foodConsumption += 2;
+		}
+	})>>
 
 	<<set $food -= $foodConsumption>>
 	<<if $food < 0>>
diff --git a/src/uncategorized/randomIndividualEvent.tw b/src/uncategorized/randomIndividualEvent.tw
index 3060c064d3a0f9684307f9154b67c65d89e69d07..82bdd1fdd28db77d2e1e4d8a1e45d7c6d4d46612 100644
--- a/src/uncategorized/randomIndividualEvent.tw
+++ b/src/uncategorized/randomIndividualEvent.tw
@@ -4,6 +4,10 @@
 <<if $eventSlave == 0>>
 	<<if $cheatMode == 1>>
 		<<set $nextButton = "Refresh", $nextLink = "Random Individual Event", $returnTo = "Random Individual Event">>
+		
+		<<link "Skip week-end events" "Next Week">><</link>>
+		<br><br>
+
 		''One of the following eligible slaves would have been selected for an individual random event:''
 		<br>
 		<<for $i = 0; $i < $eligibleSlaves.length; $i++>>
diff --git a/src/uncategorized/randomNonindividualEvent.tw b/src/uncategorized/randomNonindividualEvent.tw
index 20e8a6ebf526c0e6728d4e1b7681920f8ceefe67..d85afc345baa3747d54ca7dab343582f0c0bf9ab 100644
--- a/src/uncategorized/randomNonindividualEvent.tw
+++ b/src/uncategorized/randomNonindividualEvent.tw
@@ -5,6 +5,10 @@
 	<<set $eventSlave = $slaves.random()>>
 	<<if $cheatMode == 1>>
 		<<set $nextButton = "Refresh", $nextLink = "Random Nonindividual Event", $returnTo = "Random Nonindividual Event">>
+
+		<<link "Skip week-end events" "Next Week">><</link>>
+		<br><br>
+
 		''Any one of your slaves would have been selected for a random non-individual event:''
 		<br>
 		<<for $i = 0; $i < $slaves.length; $i++>>
diff --git a/src/uncategorized/rieEligibilityCheck.tw b/src/uncategorized/rieEligibilityCheck.tw
index c4a1ea04810ecc16f6173310487155ebb8df0328..238d270059c1ed7671d5d375fd07c0990e0cc94d 100644
--- a/src/uncategorized/rieEligibilityCheck.tw
+++ b/src/uncategorized/rieEligibilityCheck.tw
@@ -1,5 +1,7 @@
 :: RIE Eligibility Check
 
+<<link "Skip week-end events" "Next Week">><</link>>
+
 <<silently>>
 
 <<set $eventSlave = 0, $eligibleSlaves = []>>