diff --git a/src/events/intro/customizeSlaveTrade/customizeSlaveTrade.js b/src/events/intro/customizeSlaveTrade/customizeSlaveTrade.js index 6b25d1ae11b73688b02edb90a77ee54ade381982..5a5e2ff6171e6a031074b5bec3f733408f76e733 100644 --- a/src/events/intro/customizeSlaveTrade/customizeSlaveTrade.js +++ b/src/events/intro/customizeSlaveTrade/customizeSlaveTrade.js @@ -18,6 +18,7 @@ App.UI.CustomSlaveTrade = function() { let div; let array; let list; + const nationalitiesCheck = App.UI.nationalitiesCheck(); if (hashSum(V.nationalities) < 1) { App.UI.DOM.appendNewElement("div", p, `You cannot be a slaveowner without a slave trade. Please add nationalities to continue.`, "note"); @@ -35,7 +36,7 @@ App.UI.CustomSlaveTrade = function() { } frag.append(p); - App.UI.DOM.appendNewElement("p", frag, App.UI.nationalitiesCheck()); + App.UI.DOM.appendNewElement("p", frag, App.UI.nationalitiesDisplay()); p = document.createElement("p"); @@ -126,7 +127,7 @@ App.UI.CustomSlaveTrade = function() { ), "plusButton" ); - if (V.nationalitiesCheck[nation]) { + if (nationalitiesCheck[nation]) { App.UI.DOM.appendNewElement( "span", li, @@ -230,7 +231,7 @@ App.UI.CustomSlaveTrade = function() { "plusButton" ); - if (V.nationalitiesCheck[nation]) { + if (nationalitiesCheck[nation]) { App.UI.DOM.appendNewElement( "span", li, @@ -381,17 +382,17 @@ App.UI.CustomSlaveTrade = function() { } }; -App.UI.nationalitiesCheck = function() { +App.UI.nationalitiesDisplay = function() { const p = document.createElement("p"); /* Generates cloned array of V.nationalities, removing duplicates and then sorting */ - V.nationalitiesCheck = Object.assign({}, V.nationalities); + const nationalitiesCheck = App.UI.nationalitiesCheck(); - /* Prints distribution of V.nationalities, using V.nationalitiesCheck to render array */ + /* Prints distribution of V.nationalities, using nationalitiesCheck to render array */ let percentPerPoint = 100.0 / hashSum(V.nationalities); - let len = Object.keys(V.nationalitiesCheck).length; + let len = Object.keys(nationalitiesCheck).length; let j = 0; - for (const nation in V.nationalitiesCheck) { + for (const nation in nationalitiesCheck) { const span = document.createElement("span"); span.append(`${nation} `); App.UI.DOM.appendNewElement("span", span, (V.nationalities[nation] * percentPerPoint).toFixed(2), "orange"); @@ -403,3 +404,11 @@ App.UI.nationalitiesCheck = function() { } return p; }; + +App.UI.nationalitiesCheck = function() { + return Object.assign( + { + // Player can add custom nations here. + }, + V.nationalities); +}; diff --git a/src/events/intro/initNationalities.js b/src/events/intro/initNationalities.js index b6a93a5c228d88da1f984d310430313884930610..4ec5a805b35db22e4de6316c3469664797a33450 100644 --- a/src/events/intro/initNationalities.js +++ b/src/events/intro/initNationalities.js @@ -544,8 +544,6 @@ App.Intro.initNationalities = function() { /* Nationalities Setup */ - delete V.nationalitiesCheck; /* Removes unique nationalities array to avoid var bloat */ - if (!V.customVariety) { /* If non-custom variety, empties or defines $nationalities */ V.nationalities = {}; diff --git a/src/events/intro/introSummary.tw b/src/events/intro/introSummary.tw index 09e4c1bb8a28c22a870f8fefba29307560353ed5..b687c9ffb8db6b3c90e2b52542ae774b74554bda 100644 --- a/src/events/intro/introSummary.tw +++ b/src/events/intro/introSummary.tw @@ -241,7 +241,7 @@ You may review your settings before clicking "Continue" to begin.<br> <<run _options.addOption("").addCustomElement(` <hr style="margin:0"> - <App.UI.nationalitiesCheck().outerHTML> + <<includeDOM App.UI.nationalitiesDisplay()>> <br style="clear:both"><hr style="margin:0"> `)>> <</if>> /* closes $customVariety is defined */