From 492ac957d5918069101757844f3593df7d9f056f Mon Sep 17 00:00:00 2001
From: ezsh <ezsh.junk@gmail.com>
Date: Sun, 9 Aug 2020 14:41:58 +0200
Subject: [PATCH] Move choose own assignment texts to the game state

They do not belong to the slave state and we will save a bit of spacein
th saves.
---
 js/003-data/gameVariableData.js | 5 +++++
 src/endWeek/saChoosesOwnJob.js  | 6 +++---
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/js/003-data/gameVariableData.js b/js/003-data/gameVariableData.js
index e7a200b5cbb..80725f48651 100644
--- a/js/003-data/gameVariableData.js
+++ b/js/003-data/gameVariableData.js
@@ -1461,6 +1461,11 @@ App.Data.resetOnNGPlus = {
 		slave: 0 /* { type: string, company: string */
 	},
 	tempEventToggle: 0,
+	/**
+	 * Assignments texts for slaves who choose their own assignment, set at during the first pass in  App.SlaveAssignment.choosesOwnJob()
+	 * @type {Object.<number, string>}
+	 */
+	choosesOwnAssignmentText: {},
 };
 
 App.Data.ignoreGameStateVariables = [
diff --git a/src/endWeek/saChoosesOwnJob.js b/src/endWeek/saChoosesOwnJob.js
index 88d92960c58..6e2447dfa7f 100644
--- a/src/endWeek/saChoosesOwnJob.js
+++ b/src/endWeek/saChoosesOwnJob.js
@@ -48,15 +48,15 @@ App.SlaveAssignment.choosesOwnJob = (function() {
 		} else if (slave.choosesOwnAssignment === 2) {
 			// second pass happens visibly during weekly report for the location where this slave decided to go (or stay)
 			// display text but don't change assignment (already done)
-			r.push(slave.choosesOwnAssignmentText);
-			slave.choosesOwnAssignmentText = "";
+			r.push(V.choosesOwnAssignmentText[slave.ID]);
+			delete V.choosesOwnAssignmentText[slave.ID];
 			slave.choosesOwnAssignment = 1;
 			// continue cycle for next week
 		} else {
 			// first pass happens silently before all reports: give stats bonus, construct decision string for display during second pass, actually change assignment
 			slave.devotion++;
 			slave.trust++;
-			slave.choosesOwnAssignmentText = jobSelection(slave);
+			V.choosesOwnAssignmentText[slave.ID] = jobSelection(slave);
 		}
 
 		return r.join(" ");
-- 
GitLab