From 32a777579247f586faa1dec7b13bd7b71abe4cfe Mon Sep 17 00:00:00 2001
From: lowercasedonkey <lowercasedonkey@gmail.com>
Date: Tue, 28 Apr 2020 19:49:15 -0400
Subject: [PATCH] Data structures for black market content

---
 js/003-data/gameVariableData.js               | 27 +++++++++++++++++--
 .../backwardsCompatibility.js                 | 16 ++---------
 2 files changed, 27 insertions(+), 16 deletions(-)

diff --git a/js/003-data/gameVariableData.js b/js/003-data/gameVariableData.js
index fb1d09ee397..4dd0907ef0d 100644
--- a/js/003-data/gameVariableData.js
+++ b/js/003-data/gameVariableData.js
@@ -225,6 +225,29 @@ App.Data.CorpInitData = {
 	SpecRaces: []
 };
 
+// Black Market
+App.Data.FSWares = [
+	"GenderRadicalistResearch",
+	"SlaveProfessionalismResearch",
+	"TransformationFetishistResearch",
+	"AssetExpansionistResearch",
+	"SlimnessEnthusiastResearch",
+	"YouthPreferentialistResearch",
+	"HedonisticDecadenceResearch"
+];
+
+App.Data.illegalWares = [
+	"childhoodFertilityInducedNCS",
+	"UterineRestraintMesh",
+	"PGHack",
+	"BlackmarketPregAdaptation",
+	"RapidCellGrowthFormula",
+	"sympatheticOvaries",
+	"asexualReproduction",
+	// "AnimalOrgans" for future use
+];
+
+
 // The other half of the above whitelist.  However, entries in this array will be forced to the values set here upon starting NG+.
 App.Data.resetOnNGPlus = {
 	FCTV: {},
@@ -1400,8 +1423,8 @@ App.Data.resetOnNGPlus = {
 	},
 	prosthetics: {},
 
-	merchantFSWares: ["AssetExpansionistResearch", "GenderRadicalistResearch", "HedonisticDecadenceResearch", "SlaveProfessionalismResearch", "SlimnessEnthusiastResearch", "TransformationFetishistResearch", "YouthPreferentialistResearch"],
-	merchantIllegalWares: ["asexualReproduction", "childhoodFertilityInducedNCS", "PGHack", "RapidCellGrowthFormula", "sympatheticOvaries", "UterineRestraintMesh", "BlackmarketPregAdaptation"], /* "AnimalOrgans" for future use */
+	merchantFSWares: App.Data.FSWares,
+	merchantIllegalWares: App.Data.illegalWares,
 	RapidCellGrowthFormula: 0,
 	UterineRestraintMesh: 0,
 	PGHack: 0,
diff --git a/src/data/backwardsCompatibility/backwardsCompatibility.js b/src/data/backwardsCompatibility/backwardsCompatibility.js
index 14d2598f56a..2aff3afe451 100644
--- a/src/data/backwardsCompatibility/backwardsCompatibility.js
+++ b/src/data/backwardsCompatibility/backwardsCompatibility.js
@@ -276,22 +276,10 @@ App.Update.globalVariables = function(node) {
 	// Items/upgrades purchased
 	{
 		if (V.merchantFSWares.length === 0) {
-			V.merchantFSWares.push("AssetExpansionistResearch");
-			V.merchantFSWares.push("GenderRadicalistResearch");
-			V.merchantFSWares.push("HedonisticDecadenceResearch");
-			V.merchantFSWares.push("SlaveProfessionalismResearch");
-			V.merchantFSWares.push("SlimnessEnthusiastResearch");
-			V.merchantFSWares.push("TransformationFetishistResearch");
-			V.merchantFSWares.push("YouthPreferentialistResearch");
+			V.merchantFSWares = Array.from(App.Data.FSWares);
 		}
 		if (V.merchantIllegalWares.length === 0) {
-			V.merchantIllegalWares.push("childhoodFertilityInducedNCS");
-			V.merchantIllegalWares.push("UterineRestraintMesh");
-			V.merchantIllegalWares.push("RapidCellGrowthFormula");
-			V.merchantIllegalWares.push("PGHack");
-			V.merchantIllegalWares.push("sympatheticOvaries");
-			V.merchantIllegalWares.push("asexualReproduction");
-			V.merchantIllegalWares.push("BlackmarketPregAdaptation");
+			V.merchantIllegalWares = Array.from(App.Data.illegalWares);
 		}
 		if (typeof V.arcologies[0].childhoodFertilityInducedNCSResearch === "undefined") {
 			V.arcologies[0].childhoodFertilityInducedNCSResearch = 0;
-- 
GitLab