From 8b38ab0b82395fc0449f1f49a0f1bb1e817bd5bf Mon Sep 17 00:00:00 2001
From: DCoded <dcoded@live.com>
Date: Wed, 17 Jun 2020 23:51:01 -0400
Subject: [PATCH] Redid farmerContracts, removed outdated code

---
 .../farmyard/reports/farmyardReport.js        | 27 +++++++++----------
 1 file changed, 13 insertions(+), 14 deletions(-)

diff --git a/src/facilities/farmyard/reports/farmyardReport.js b/src/facilities/farmyard/reports/farmyardReport.js
index e913beb2906..e3a87e244c6 100644
--- a/src/facilities/farmyard/reports/farmyardReport.js
+++ b/src/facilities/farmyard/reports/farmyardReport.js
@@ -207,15 +207,17 @@ App.Facilities.Farmyard.farmyardReport = function farmyardReport() {
 		}
 	}
 
-	// FIXME: will need to be redone
 	const farmerContracts = slave => {
-		const { he, his, himself, He } = getPronouns(slave);
+		const { he, his } = getPronouns(slave);
 
 		let
-			r = [];
+			r = [],
+			seed = jsRandom(1, 10) * (jsRandom(150, 170) + (farmerBonus * 10));
 
-		r.push(document.createElement("br"));
-		r.push(`<span class="indent">Since ${he} doesn't have enough farmhands to manage to keep ${him} busy, ${he} sees ${beauty} customers ${himself} (${Math.trunc(beauty / 7)} a day), earning you <span class="yellowgreen">${cashFormat(seed)}</span> ${He} can charge more for ${his} time, since many citizens find it erotic to fuck the Farmer.</span>`);
+		// TODO: add more cases for Farmer contracting
+		if (V.farmyardShows && !V.farmyardShowgirls) {
+			r.push(`<p class="indent">Since ${he} doesn't have enough showgirls to entertain your arcology's citizens, ${he} puts on shows with your animals on ${his} own, earning <span class="yellowgreen">${cashFormat(seed)}.</span></p>`);
+		}
 
 		return r;
 	};
@@ -247,6 +249,9 @@ App.Facilities.Farmyard.farmyardReport = function farmyardReport() {
 	const farmerIntro = slave => `<span class="indent">${SlaveFullName(slave)} is serving as the Farmer</span>.`;
 
 	if (Farmer) {
+		const
+			farmerEffects = App.UI.DOM.appendNewElement("p", frag, '', "indent");
+
 		V.i = V.slaveIndices[Farmer.ID];
 		App.Utils.setLocalPronouns(Farmer);	// needed for "include"s
 
@@ -263,12 +268,7 @@ App.Facilities.Farmyard.farmyardReport = function farmyardReport() {
 		} else {
 			standardSlaveReport(Farmer, true);
 		}
-	}
 
-	const
-		farmerEffects = App.UI.DOM.appendNewElement("p", frag, '', "indent");
-
-	if (Farmer) {
 		farmerChanges();
 		$(farmerEffects).append(farmerText());
 	}
@@ -290,8 +290,8 @@ App.Facilities.Farmyard.farmyardReport = function farmyardReport() {
 				break;
 			default:
 				slave.rules.living = 'normal';
+				break;
 		}
-		// TODO: should FS with 'spare' living rules cause minor health damage and devotion / trust loss?
 	};
 
 	const farmhandHealth = slave => {
@@ -306,7 +306,6 @@ App.Facilities.Farmyard.farmyardReport = function farmyardReport() {
 		}
 	};
 
-	// TODO: check over all of these numbers, make sure they make sense
 	const farmhandDevotion = slave => {
 		if (slave.devotion <= 20 && slave.trust >= -20) {
 			slave.devotion -= 5; slave.trust -= 5;
@@ -453,12 +452,11 @@ App.Facilities.Farmyard.farmyardReport = function farmyardReport() {
 
 			r.push(`${V.farmyardNameCaps}'s customer's enjoyed`);
 
-			if (V.seeBestiality && V.farmyardBreeding > 0 && (V.canines.length || V.hooved.length || V.felines.length)) {
+			if (V.seeBestiality && V.farmyardShows > 0 && (V.canines.length || V.hooved.length || V.felines.length)) {
 				r.push(`<span class="green">watching farmhands fuck animals in ${V.farmyardDecoration} surroundings.</span>`);
 			} else if (V.farmyardShows) {
 				r.push(`<span class="green">watching farmhands put on shows in ${V.farmyardDecoration} surroundings.</span>`);
 			} else {
-				// TODO: not sure about this one
 				r.push(`<span class="green">partaking of ${V.farmyardName}'s fine produce in its ${V.farmyardDecoration} décor.</span>`);
 			}
 
@@ -492,6 +490,7 @@ App.Facilities.Farmyard.farmyardReport = function farmyardReport() {
 
 	// MARK: MAIN LOOP (may get rid of this entirely, we'll see)
 
+	// FIXME: necessary?
 	const farmyardStatsDisplay = () => `<<includeDOM App.Facilities.Farmyard.Stats(false)>><<timed 50ms>><<replace #farmyardstats>><<includeDOM App.Facilities.Farmyard.Stats(true)>><</replace>><</timed>>`;
 
 	farmyardStatsRecords();
-- 
GitLab