From d6754ab89d8d0daba165d8fa2f1b87625e0d9866 Mon Sep 17 00:00:00 2001
From: lowercasedonkey <lowercasedonkey@gmail.com>
Date: Thu, 22 Oct 2020 21:03:55 -0400
Subject: [PATCH] school data to map

---
 js/003-data/miscData.js                 | 15 +++++++++++++--
 src/endWeek/economics/arcmgmt.js        |  2 +-
 src/endWeek/endWeek.js                  |  2 +-
 src/js/utilsFC.js                       |  4 ++--
 src/markets/bulkSlave/bulkSlaveIntro.js |  4 ++--
 src/markets/marketUI.js                 |  2 +-
 src/markets/theMarket/buySlaves.js      |  2 +-
 7 files changed, 21 insertions(+), 10 deletions(-)

diff --git a/js/003-data/miscData.js b/js/003-data/miscData.js
index 564534e3909..565fd78032f 100644
--- a/js/003-data/miscData.js
+++ b/js/003-data/miscData.js
@@ -1950,7 +1950,18 @@ App.Data.misc = {
 
 	secExCombatPrestige: ["$He is well known for being a great commander.", "$He is famous for being an incredible commander.", "$He is known as a legendary commander all over the world."],
 
-	schools: ["GRI", "HA", "NUL", "SCP", "TCR", "TFS", "TGA", "TSS", "LDE", "TUO"],
+	schools: new Map([
+		["GRI", {title:"Growth Research Institute", branchName:"subsidiary lab"}],
+		["HA", {title:"The Hippolyta Academy", branchName:"branch"}],
+		["NUL", {title:"Nueva Universidad de Libertad", branchName:"branch campus"}],
+		["SCP", {title:"St. Claver Preparatory", branchName:"branch campus"}],
+		["TCR", {title:"The Cattle Ranch", branchName:"local pasture"}],
+		["TFS", {title:"The Futanari Sisters", branchName:"community"}],
+		["TGA", {title:"The Gymnasium-Academy", branchName:"branch campus"}],
+		["TSS", {title:"The Slavegirl School", branchName:"branch campus"}],
+		["LDE", {title:"L'École des Enculées", branchName:"branch campus"}],
+		["TUO", {title:"The Utopian Orphanage", branchName:"branch campus"}],
+	]),
 
 	bioreactorFluids: {
 		XX: {
@@ -2000,7 +2011,7 @@ App.Data.misc.lawlessMarkets = [
 	"neighbor",
 	"wetware",
 	"white collar",
-	...App.Data.misc.schools
+	...Object.keys(App.Data.misc.schools)
 ];
 
 App.Data.weather = {
diff --git a/src/endWeek/economics/arcmgmt.js b/src/endWeek/economics/arcmgmt.js
index f3017efe54f..e38b33e3b75 100644
--- a/src/endWeek/economics/arcmgmt.js
+++ b/src/endWeek/economics/arcmgmt.js
@@ -119,7 +119,7 @@ globalThis.arcmgmt = function() {
 	el.append(fsImpact());
 	el.append(policiesImpact());
 
-	const schoolSubsidy = App.Data.misc.schools.reduce((acc, current) => acc + V[current].subsidize, 0);
+	const schoolSubsidy = Object.keys(App.Data.misc.schools).reduce((acc, current) => acc + V[current].subsidize, 0);
 	_middleClass += (schoolSubsidy) * 40;
 	_middleClass *= 1 + (schoolSubsidy) * 0.005;
 
diff --git a/src/endWeek/endWeek.js b/src/endWeek/endWeek.js
index 0c9b1e88b20..5547dcc92c3 100644
--- a/src/endWeek/endWeek.js
+++ b/src/endWeek/endWeek.js
@@ -32,7 +32,7 @@ globalThis.endWeek = (function() {
 	function resetSlaveMarkets() {
 		V.gingering = 0;
 		V.market = null;
-		for (const school of App.Data.misc.schools) {
+		for (const school of Object.keys(App.Data.misc.schools)) {
 			V[school].schoolSale = 0;
 		}
 	}
diff --git a/src/js/utilsFC.js b/src/js/utilsFC.js
index fd5fdbb9127..b1defaeec53 100644
--- a/src/js/utilsFC.js
+++ b/src/js/utilsFC.js
@@ -3045,9 +3045,9 @@ App.Utils.masterSuiteAverages = (function() {
 })();
 
 App.Utils.schoolCounter = function() {
-	return App.Data.misc.schools.filter(s => V[s].schoolPresent).length;
+	return Object.keys(App.Data.misc.schools).filter(s => V[s].schoolPresent).length;
 };
 
 App.Utils.schoolFailure = function() {
-	return App.Data.misc.schools.find(s => V[s].schoolPresent && V[s].schoolProsperity <= -10);
+	return Object.keys(App.Data.misc.schools).find(s => V[s].schoolPresent && V[s].schoolProsperity <= -10);
 };
diff --git a/src/markets/bulkSlave/bulkSlaveIntro.js b/src/markets/bulkSlave/bulkSlaveIntro.js
index f69148c86bb..7842335faf3 100644
--- a/src/markets/bulkSlave/bulkSlaveIntro.js
+++ b/src/markets/bulkSlave/bulkSlaveIntro.js
@@ -177,7 +177,7 @@ App.Markets.bulkSlaveIntro = function() {
 		}
 
 		/* increment Slave school purchase counts if needed */
-		if (App.Data.misc.schools.includes(V.market.slaveMarket)) {
+		if (Object.keys(App.Data.misc.schools).includes(V.market.slaveMarket)) {
 			V[V.market.slaveMarket].studentsBought += V.market.newSlaves.length;
 		}
 	}
@@ -204,7 +204,7 @@ App.Markets.bulkSlaveIntro = function() {
 			opinion = App.Neighbor.opinion(0, V.market.numArcology);
 			opinion = Math.clamp(Math.trunc(opinion/20), -10, 10);
 			discount -= (opinion * 25);
-		} else if (App.Data.misc.schools.includes(V.market.slaveMarket)) {
+		} else if (Object.keys(App.Data.misc.schools).includes(V.market.slaveMarket)) {
 			if (V[V.market.slaveMarket].schoolUpgrade !== 0) {
 				discount = 375;
 			}
diff --git a/src/markets/marketUI.js b/src/markets/marketUI.js
index 90ca923d691..adec042eef0 100644
--- a/src/markets/marketUI.js
+++ b/src/markets/marketUI.js
@@ -141,7 +141,7 @@ App.Markets.purchaseFramework = function(slaveMarket, {sTitleSingular = "slave",
 		return el;
 
 		function student() {
-			if (App.Data.misc.schools.includes(slaveMarket)) {
+			if (Object.keys(App.Data.misc.schools).includes(slaveMarket)) {
 				V[slaveMarket].schoolSale = 0;
 				V[slaveMarket].studentsBought += 1;
 			}
diff --git a/src/markets/theMarket/buySlaves.js b/src/markets/theMarket/buySlaves.js
index 707e6052026..e3baae1eaa0 100644
--- a/src/markets/theMarket/buySlaves.js
+++ b/src/markets/theMarket/buySlaves.js
@@ -192,7 +192,7 @@ App.UI.buySlaves = function() {
 		if (store.note) {
 			App.UI.DOM.appendNewElement("span", el, ` ${store.note}`, "note");
 		}
-		if (App.Data.misc.schools.includes(store.marketType)) {
+		if (Object.keys(App.Data.misc.schools).includes(store.marketType)) {
 			if (V[store.marketType].schoolSale === 1) {
 				App.UI.DOM.appendNewElement("span", el, `Offering your first purchase at half price this week. `, "yellow");
 			}
-- 
GitLab