From 0a6b1eac78eea2f645aeca9c3b60ad6161502d42 Mon Sep 17 00:00:00 2001
From: i107760 <13422-i107760@users.noreply.gitgud.io>
Date: Fri, 20 Mar 2020 20:58:28 +0100
Subject: [PATCH] Implement per assignment tracking of upkeep for
 'minorInuryResponse.js'

---
 src/endWeek/minorInjuryResponse.js | 97 ++++++++++++++++++++----------
 1 file changed, 65 insertions(+), 32 deletions(-)

diff --git a/src/endWeek/minorInjuryResponse.js b/src/endWeek/minorInjuryResponse.js
index 5292e976a7c..043d0b73104 100644
--- a/src/endWeek/minorInjuryResponse.js
+++ b/src/endWeek/minorInjuryResponse.js
@@ -6,39 +6,72 @@ window.minorInjuryResponse = function minorInjuryResponse(slave) {
 	const arcology = State.variables.arcologies[0];
 	const arcologyUpgrade = State.variables.arcologyUpgrade;
 	const {he, himself, He} = getPronouns(slave);
-	let r = "";
+	let trackedUpkeep = "";
 
-	if (arcology.FSDegradationist > 20) {
-		r += ` ${He} carries on, knowing that in your degradationist arcology, this is accepted behavior.`;
-	} else if (arcology.FSPaternalist > 20) {
-		if (arcologyUpgrade.drones === 1 && jsRandom(1, 100) > 50) {
-			r += ` The security drones successfully detain him and oblige him to pay significant <span class="yellowgreen">compensation,</span> since abusing slaves is discouraged here.`;
-			cashX(50, "slaveUpkeep", slave);
-		} else if (arcologyUpgrade.grid === 1 && jsRandom(1, 100) > 50) {
-			r += ` The computer systems successfully detain him and require him to pay significant <span class="yellowgreen">compensation,</span> since abusing slaves is discouraged here.`;
-			cashX(50, "slaveUpkeep", slave);
-		} else if (slave.skill.whoring > jsRandom(1, 100)) {
-			r += ` ${slave.slaveName} is used to this sort of thing, and convinces him to pay significant <span class="yellowgreen">compensation,</span> since abusing slaves is discouraged here.`;
-			cashX(50, "slaveUpkeep", slave);
-		} else if (slave.skill.combat > 0) {
-			r += ` ${slave.slaveName} can take care of ${himself}, and ${he} successfully forces him to pay significant <span class="yellowgreen">compensation,</span> since abusing slaves is discouraged here.`;
-			cashX(50, "slaveUpkeep", slave);
-		}
-	} else {
-		if (arcologyUpgrade.drones === 1 && jsRandom(1, 100) > 50) {
-			r += ` The security drones successfully detain him and oblige him to pay minor <span class="yellowgreen">compensation.</span>`;
-			cashX(10, "slaveUpkeep", slave);
-		} else if (arcologyUpgrade.grid === 1 && jsRandom(1, 100) > 50) {
-			r += ` The computer systems successfully detain him and require him to pay minor <span class="yellowgreen">compensation.</span>`;
-			cashX(10, "slaveUpkeep", slave);
-		} else if (slave.skill.whoring > jsRandom(1, 100)) {
-			r += ` ${slave.slaveName} is used to this sort of thing, and convinces him to pay minor <span class="yellowgreen">compensation.</span>`;
-			cashX(10, "slaveUpkeep", slave);
-		} else if (slave.skill.combat > 0) {
-			r += ` ${slave.slaveName} can take care of ${himself}, and ${he} successfully forces him to pay minor <span class="yellowgreen">compensation.</span>`;
-			cashX(10, "slaveUpkeep", slave);
-		}
+	switch (slave.assignment) {
+		case window.Job.WHORE:
+			trackedUpkeep = "slaveUpkeepWhore";
+			return responseWithTracking(slave, trackedUpkeep);
+			break;
+		case window.Job.MADAM:
+			trackedUpkeep = "slaveUpkeepMadam";
+			return responseWithTracking(slave, trackedUpkeep);
+			break;
+		case window.Job.BROTHEL:
+			trackedUpkeep = "slaveUpkeepBrothel"
+			return responseWithTracking(slave, trackedUpkeep);
+			break;
+		case window.Job.PUBLIC:
+			trackedUpkeep = "slaveUpkeepPublic"
+			return responseWithTracking(slave, trackedUpkeep);
+			break;
+		case window.Job.DJ:
+			trackedUpkeep = "slaveUpkeepDj";
+			return responseWithTracking(slave, trackedUpkeep);
+			break;
+		case window.Job.CLUB:
+			trackedUpkeep = "slaveUpkeepClub";
+			return responseWithTracking(slave, trackedUpkeep);
+			break;
+		default:
+			trackedUpkeep = "slaveUpkeepUndefined";
+			return responseWithTracking(slave, trackedUpkeep);
+			break;
 	}
+	
+	function responseWithTracking(slave, trackedUpkeep) {
+		let r = "";
 
-	return r;
+		if (arcology.FSDegradationist > 20) {
+			r += ` ${He} carries on, knowing that in your degradationist arcology, this is accepted behavior.`;
+		} else if (arcology.FSPaternalist > 20) {
+			if (arcologyUpgrade.drones === 1 && jsRandom(1, 100) > 50) {
+				r += ` The security drones successfully detain him and oblige him to pay significant <span class="yellowgreen">compensation,</span> since abusing slaves is discouraged here.`;
+				cashX(50, trackedUkeep, slave);
+			} else if (arcologyUpgrade.grid === 1 && jsRandom(1, 100) > 50) {
+				r += ` The computer systems successfully detain him and require him to pay significant <span class="yellowgreen">compensation,</span> since abusing slaves is discouraged here.`;
+				cashX(50, trackedUpkeep, slave);
+			} else if (slave.skill.whoring > jsRandom(1, 100)) {
+				r += ` ${slave.slaveName} is used to this sort of thing, and convinces him to pay significant <span class="yellowgreen">compensation,</span> since abusing slaves is discouraged here.`;
+				cashX(50, trackedUpkeep, slave);
+			} else if (slave.skill.combat > 0) {
+				r += ` ${slave.slaveName} can take care of ${himself}, and ${he} successfully forces him to pay significant <span class="yellowgreen">compensation,</span> since abusing slaves is discouraged here.`;
+				cashX(50, trackedUpkeep, slave);
+			}
+		} else {
+			if (arcologyUpgrade.drones === 1 && jsRandom(1, 100) > 50) {
+				r += ` The security drones successfully detain him and oblige him to pay minor <span class="yellowgreen">compensation.</span>`;
+				cashX(10, trackedUpkeep, slave);
+			} else if (arcologyUpgrade.grid === 1 && jsRandom(1, 100) > 50) {
+				r += ` The computer systems successfully detain him and require him to pay minor <span class="yellowgreen">compensation.</span>`;
+				cashX(10, trackedUpkeep, slave);
+			} else if (slave.skill.whoring > jsRandom(1, 100)) {
+				r += ` ${slave.slaveName} is used to this sort of thing, and convinces him to pay minor <span class="yellowgreen">compensation.</span>`;
+				cashX(10, trackedUpkeep, slave);
+			} else if (slave.skill.combat > 0) {
+				r += ` ${slave.slaveName} can take care of ${himself}, and ${he} successfully forces him to pay minor <span class="yellowgreen">compensation.</span>`;
+				cashX(10, trackedUpkeep, slave);
+			}
+		}
+	}
 };
-- 
GitLab