From 1b6bcfb78cd225c6026c01f46298e29ddcd9fc89 Mon Sep 17 00:00:00 2001
From: i107760 <13422-i107760@users.noreply.gitgud.io>
Date: Fri, 6 Mar 2020 21:46:30 +0100
Subject: [PATCH] Implement farmyard crop yield upgrades to work, they boost
 base slave productivity and menial productivity.

---
 src/facilities/farmyard/farmyard.tw       | 34 +++++++++++------------
 src/facilities/farmyard/farmyardReport.tw | 16 +++++++++--
 src/js/food.js                            | 14 +++++++++-
 3 files changed, 44 insertions(+), 20 deletions(-)

diff --git a/src/facilities/farmyard/farmyard.tw b/src/facilities/farmyard/farmyard.tw
index 25c82b6c66f..4669c8803bc 100644
--- a/src/facilities/farmyard/farmyard.tw
+++ b/src/facilities/farmyard/farmyard.tw
@@ -227,49 +227,49 @@
 
 <span id="upgrades">
 <<if $farmyardUpgrade.pump == 0>>
-	[[Upgrade the water pump|Farmyard][cashX(forceNeg(Math.trunc(1000*$upgradeMultiplierArcology)), "farmyard"), $farmyardUpgrade.pump = 1]]
+	[[Upgrade the water pump|Farmyard][cashX(forceNeg(Math.trunc(5000*$upgradeMultiplierArcology)), "farmyard"), $farmyardUpgrade.pump = 1]]
 	<span class="note">
-		Costs <<print cashFormat(Math.trunc(1000*$upgradeMultiplierArcology))>> and slightly increases crop yield.
+		Costs <<print cashFormat(Math.trunc(5000*$upgradeMultiplierArcology))>> and slightly increases crop yield.
 	</span>
 	<br>
 <<else>>
 	The water pump in $farmyardName is a more efficient model, slightly improving the amount of crops $farmyardName produces.
 	<br>
 	<<if $farmyardUpgrade.fertilizer == 0>>
-		[[Use a higher-quality fertilizer|Farmyard][cashX(forceNeg(Math.trunc(2000*$upgradeMultiplierArcology)), "farmyard"), $farmyardUpgrade.fertilizer = 1]]
+		[[Use a higher-quality fertilizer|Farmyard][cashX(forceNeg(Math.trunc(10000*$upgradeMultiplierArcology)), "farmyard"), $farmyardUpgrade.fertilizer = 1]]
 		<span class="note">
-			Costs <<print cashFormat(Math.trunc(2000*$upgradeMultiplierArcology))>> and slightly increases upkeep costs and crop yield.
+			Costs <<print cashFormat(Math.trunc(10000*$upgradeMultiplierArcology))>> moderately increases crop yield and slightly increases upkeep costs.
 		</span>
 		<br>
 	<<else>>
-		$farmyardNameCaps is using a higher-quality fertilizer, increasing the amount of crops it produces.
+		$farmyardNameCaps is using a higher-quality fertilizer, moderately increasing the amount of crops it produces and raising slightly raising upkeep costs.
 		<br>
 		<<if $farmyardUpgrade.hydroponics == 0>>
-			[[Purchase a hydroponics system|Farmyard][cashX(forceNeg(Math.trunc(5000*$upgradeMultiplierArcology)), "farmyard"), $farmyardUpgrade.hydroponics = 1]]
+			[[Purchase a hydroponics system|Farmyard][cashX(forceNeg(Math.trunc(10000*$upgradeMultiplierArcology)), "farmyard"), $farmyardUpgrade.hydroponics = 1]]
 			<span class="note">
-				Costs <<print cashFormat(Math.trunc(5000*$upgradeMultiplierArcology))>> and slightly decreases upkeep costs.
+				Costs <<print cashFormat(Math.trunc(10000*$upgradeMultiplierArcology))>> and moderately decreases upkeep costs.
 			</span>
 			<br>
 		<<else>>
-			$farmyardNameCaps is outfitted with an advanced hydroponics system, slightly reducing the amount of water your crops consume and thus reducing upkeep.
+			$farmyardNameCaps is outfitted with an advanced hydroponics system, reducing the amount of water your crops consume and thus moderately reducing upkeep costs.
 			<br>
-			<<if $farmyardUpgrade.machinery == 0>>
-				[[Upgrade the machinery to increase the yield of crops|Farmyard][cashX(forceNeg(Math.trunc(10000*$upgradeMultiplierArcology)), "farmyard"), $farmyardUpgrade.machinery = 1]]
+			<<if $farmyardUpgrade.seeds == 0>>
+				[[Purchase genetically modified seeds|Farmyard][cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology)), "farmyard"),$farmyardUpgrade.seeds = 1]]
 				<span class="note">
-	Costs <<print cashFormat(Math.trunc(10000*$upgradeMultiplierArcology))>> and moderately decreases upkeep costs.
-</span>
+					Costs <<print cashFormat(Math.trunc(20000*$upgradeMultiplierArcology))>> and significantly increases crop yield and moderately increases upkeep costs.
+				</span>
 				<br>
 			<<else>>
-				The machinery in $farmyardName has been upgraded, and is more efficient.
+				$farmyardNameCaps is using genetically modified seeds, significantly increasing the amount of crops it produces and moderately increasing upkeep costs.
 				<br>
-				<<if $farmyardUpgrade.seeds == 0>>
-					[[Purchase genetically modified seeds|Farmyard][cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology)), "farmyard"),$farmyardUpgrade.seeds = 1]]
+				<<if $farmyardUpgrade.machinery == 0>>
+					[[Upgrade the machinery|Farmyard][cashX(forceNeg(Math.trunc(50000*$upgradeMultiplierArcology)), "farmyard"), $farmyardUpgrade.machinery = 1]]
 					<span class="note">
-						Costs <<print cashFormat(Math.trunc(20000*$upgradeMultiplierArcology))>> and moderately increases crop yield.
+						Costs <<print cashFormat(Math.trunc(50000*$upgradeMultiplierArcology))>> significantly increases crop yield and significantly decreases upkeep costs.
 					</span>
 					<br>
 				<<else>>
-					$farmyardNameCaps is using genetically modified seeds, moderately increasing the amount of crops it produces.
+					The machinery in $farmyardName has been upgraded, and is more efficient, significantly increasing crop yields and significantly decreasing upkeep costs.
 					<br>
 				<</if>>
 			<</if>>
diff --git a/src/facilities/farmyard/farmyardReport.tw b/src/facilities/farmyard/farmyardReport.tw
index 2173d95cd97..1cc53483409 100644
--- a/src/facilities/farmyard/farmyardReport.tw
+++ b/src/facilities/farmyard/farmyardReport.tw
@@ -281,8 +281,20 @@
 			<<set _foodWeek = _incomeStats.food>>
 		<</if>>
 		<<if $farmMenials > 0>>
-			/* TODO: Make menial slave output depend on farm upgrades. */
-			<<set _foodWeek += ($farmMenials*15)>>
+			<<set _farmMenialProductivity = 9>>
+			<<if $farmyardUpgrade.pump == 1>>
+				<<set _farmMenialProductivity += 1>>
+			<</if>>
+			<<if $farmyardUpgrade.fertilizer == 1>>
+				<<set _farmMenialProductivity += 2>>
+			<</if>>
+			<<if $farmyardUpgrade.seeds == 1>>
+				<<set _farmMenialProductivity += 3>>
+			<</if>>
+			<<if $farmyardUpgrade.machinery == 1>>
+				<<set _farmMenialProductivity += 3>>
+			<</if>>
+			<<set _foodWeek += ($farmMenials*_farmMenialProductivity)>>
 		<</if>>
 		</span>
 	<</for>>
diff --git a/src/js/food.js b/src/js/food.js
index 34040d208fe..0cfb5218381 100644
--- a/src/js/food.js
+++ b/src/js/food.js
@@ -3,7 +3,19 @@
  * @returns {number}
  */
 App.Facilities.Farmyard.foodAmount = function(slave) {
-	let food = 400;													// kg / food produced by base slave / week
+	let food = 150;													// kg of food produced per week by slave, before upgrades
+	if (V.farmyardUpgrade.pump === 1) {
+		food += 15;													// pump upgrade for farmyard
+	}
+	if (V.farmyardUpgrade.fertilizer === 1) {
+		food += 35;													// fertilizer upgrade for farmyard
+	}
+	if (V.farmyardUpgrade.seeds === 1) {
+		food += 65;													// seeds upgrade for farmyard
+	}
+	if (V.farmyardUpgrade.machinery === 1) {
+		food += 65;													// machinery upgrade for farmyard
+	}		
 	if (!slave) {
 		return null;
 	} else {
-- 
GitLab