diff --git a/src/Corporation/manageCorporation.js b/src/Corporation/manageCorporation.js index 427c1ec27745592311e624bb578331915c02b577..9735544ef960b6f0aa666c9531ff79dad555e7de 100644 --- a/src/Corporation/manageCorporation.js +++ b/src/Corporation/manageCorporation.js @@ -1,8 +1,7 @@ App.Corporate.corpRaces = function() { const el = new DocumentFragment(); App.UI.DOM.appendNewElement("div", el, `The corporation enslaves people of the following race${V.corp.SpecRaces.length === 1 ? ``:`s`}:`); - for (const race of App.Data.misc.filterRacesLowercase) { - const capRace = App.Data.misc.filterRaces[App.Data.misc.filterRacesLowercase.indexOf(race)]; + for (const [race, capRace] of App.Data.misc.filterRaces) { const r = []; if (V.corp.SpecRaces.includes(race)) { r.push(capRace); diff --git a/src/events/intro/customizeSlaveTrade.js b/src/events/intro/customizeSlaveTrade.js index e6a5083c791d3be72afd3d567cff2f66625a3a0f..36f486b5ae8fd05a74fdf30b29534a386c7623cc 100644 --- a/src/events/intro/customizeSlaveTrade.js +++ b/src/events/intro/customizeSlaveTrade.js @@ -50,20 +50,20 @@ App.Intro.CustomSlaveTrade = function() { div = document.createElement("div"); App.UI.DOM.appendNewElement("span", div, `Filter by Race: `); array = []; - for (const race of setup.filterRaces) { - if (baseControlsFilter === uncapFirstChar(race).replace(/[ -]/g, '')) { + for (const [race, raceCap] of setup.filterRaces) { + if (baseControlsFilter === race) { array.push( App.UI.DOM.disabledLink( - race, + raceCap, ["currently selected race"] ) ); } else { array.push( App.UI.DOM.link( - race, + raceCap, () => { - baseControlsFilter = uncapFirstChar(race).replace(/[ -]/g, ''); + baseControlsFilter = race; refresh(); } ) @@ -166,10 +166,10 @@ App.Intro.CustomSlaveTrade = function() { App.UI.DOM.appendNewElement("div", p, `By dominant race/ethnicity (hover over the name to see the nationalities affected):`); list = document.createElement("UL"); list.classList.add("customize-slave-trade-ul"); - for (const race of setup.filterRaces) { + for (const race of setup.filterRaces.keys()) { const racialNationalities = setup.baseNationalities.filter(function(n) { let races = setup.raceSelector[n] || setup.raceSelector['']; - return races[race.toLowerCase()] * 3.5 > hashSum(races); + return races[race] * 3.5 > hashSum(races); }); if (racialNationalities.length > 0) { diff --git a/src/events/intro/pcAppearance.js b/src/events/intro/pcAppearance.js index 5d40d545c247f1347d408e71af4c3d91594d00f8..c09881efa53d11fed9735c8516751e24bd1e643e 100644 --- a/src/events/intro/pcAppearance.js +++ b/src/events/intro/pcAppearance.js @@ -6,11 +6,11 @@ App.UI.Player.appearance = function(options) { .addComment("For best result capitalize it.").pulldown(); options.addOption("Your race is", "race", V.PC).showTextBox() - .addValueList(Array.from(setup.filterRaces, (k => [k, k.toLowerCase()]))); + .addValueList(Array.from(App.Data.filterRaces, ((k, v) => [v, k]))); if (V.cheatMode) { options.addOption("Your race is", "origRace", V.PC).showTextBox() - .addValueList(Array.from(setup.filterRaces, (k => [k, k.toLowerCase()]))); + .addValueList(Array.from(App.Data.filterRaces, ((k, v) => [v, k]))); } options.addOption("Your skin tone is", "skin", V.PC).showTextBox() diff --git a/src/facilities/surgery/surgeryPassageExotic.js b/src/facilities/surgery/surgeryPassageExotic.js index d21a052f57e21cbbc3b0b5e345adc57f15689872..4a4156e48be85a91bdf0a4b5fdfcefc6c12ecb91 100644 --- a/src/facilities/surgery/surgeryPassageExotic.js +++ b/src/facilities/surgery/surgeryPassageExotic.js @@ -34,13 +34,13 @@ App.UI.surgeryPassageExotic = function(slave, cheat = false) { if (slave.indentureRestrictions > 1) { App.UI.DOM.appendNewElement("div", el, `${His} indenture forbids elective surgery`, ["choices", "note"]); } else { - for (const race of App.Data.misc.filterRacesLowercase) { + for (const [race, raceCap] of App.Data.misc.filterRacesLowercase) { if (slave.race === race) { continue; } linkArray.push( makeLink( - App.Data.misc.filterRaces[App.Data.misc.filterRacesLowercase.indexOf(race)], + raceCap, "race", () => { slave.race = race; diff --git a/src/js/rulesAssistantOptions.js b/src/js/rulesAssistantOptions.js index 631b199c498155016c534b7431b0990f74a5991b..132c5a6bb4b4040dbeee66ee90103ea36583a3dc 100644 --- a/src/js/rulesAssistantOptions.js +++ b/src/js/rulesAssistantOptions.js @@ -2454,8 +2454,8 @@ App.RA.options = (function() { if (V.pregnancyMonitoringUpgrade === 1 && V.geneticMappingUpgrade >= 1) { pairs.push(["boys", "male"]); pairs.push(["girls", "female"]); - for (let i = 0; i < App.Data.misc.filterRaces.length; ++i) { - pairs.push([App.Data.misc.filterRaces[i], "race:" + App.Data.misc.filterRacesLowercase[i]]); + for (const [race, raceCap] of setup.filterRaces) { + pairs.push([raceCap, "race:" + race]); } } super("Pregnancy termination", pairs); diff --git a/src/markets/specificMarkets/customSlaveMarket.js b/src/markets/specificMarkets/customSlaveMarket.js index 5838770da2fdae91ad4f50d3a54eb3143e8c507f..d21524a14a975a7fe4df72dfe09d5c4e80708a09 100644 --- a/src/markets/specificMarkets/customSlaveMarket.js +++ b/src/markets/specificMarkets/customSlaveMarket.js @@ -301,8 +301,8 @@ App.Markets["Custom Slave"] = function() { const choices = new Map([ ["ethnicity is unimportant", "Ethnicity is unimportant"], ]); - for (const race of App.Data.misc.filterRaces) { - choices.set(race.toLowerCase(), race); + for (const [race, raceCap] of App.Data.misc.filterRaces) { + choices.set(race, raceCap); } createDescription(el, description, slaveProperty); diff --git a/src/markets/specificMarkets/huskSlave.js b/src/markets/specificMarkets/huskSlave.js index ff4e664200fd8f5b5183a1b0f80d370b0e48c192..ee9a9d18b79f40f1efdd768f237c06c29d050b6c 100644 --- a/src/markets/specificMarkets/huskSlave.js +++ b/src/markets/specificMarkets/huskSlave.js @@ -98,22 +98,22 @@ App.Markets["Husk Slave"] = function() { ); const linkArray = []; - const raceUpper = App.Data.misc.filterRaces.concat(["Not Important"]); - const raceLower = App.Data.misc.filterRacesLowercase.concat(["not important"]); - for (let i = 0; i < raceUpper.length; i++) { - if (V.huskSlave.race === raceLower[i]) { + const race = new Map(App.Data.misc.filterRaces); + race.set("Not Important", "not important"); + for (const [race, raceCap] of setup.filterRaces) { + if (V.huskSlave.race === race) { linkArray.push( App.UI.DOM.disabledLink( - raceUpper[i], + raceCap, ["current selection"] ) ); } else { linkArray.push( App.UI.DOM.link( - raceUpper[i], + raceCap, () => { - V.huskSlave.race = raceLower[i]; + V.huskSlave.race = race; refresh(); } )