diff --git a/src/pregmod/widgets/slaveTradePresetWidgets.tw b/js/003-data/slaveTradePresets.js similarity index 78% rename from src/pregmod/widgets/slaveTradePresetWidgets.tw rename to js/003-data/slaveTradePresets.js index 6ca55db97172663a0bf332c324884ef6aa5fa6c5..57123fbb4a4e0e002b44ddba3fd85e240f3e25af 100644 --- a/src/pregmod/widgets/slaveTradePresetWidgets.tw +++ b/js/003-data/slaveTradePresets.js @@ -1,11 +1,7 @@ -:: slave trade preset widgets [widget nobr] +App.Data.NationalityPresets = {}; -/* To add presets, add <<widget "NationalityPresetName">> and define it as [[Name|passage()][$nationalities = [nationalities go here]]] (old method)*/ -/* Presets are weighted according to the number of times the player has incremented that nationality. */ - -<<widget "NationalityPresetVanillaGlobal">> -<<link "Vanilla Global">> - <<set $nationalities = { +App.Data.NationalityPresets.Vanilla = new Map ([ + ["Vanilla Global", { Afghan: 2, Albanian: 1, Algerian: 3, @@ -218,15 +214,8 @@ Zairian: 3, Zambian: 1, Zimbabwean: 2 - }>> - <<set _gotoPassage = passage()>> - <<goto _gotoPassage>> -<</link>> -<</widget>> - -<<widget "NationalityPresetVanillaNA">> -<<link "Vanilla North America">> - <<set $nationalities = { + }], + ["Vanilla North America", { American: 6, Antiguan: 1, Aruban: 1, @@ -255,15 +244,8 @@ Salvadoran: 2, Trinidadian: 1, Vincentian: 1 - }>> - <<set _gotoPassage = passage()>> - <<goto _gotoPassage>> -<</link>> -<</widget>> - -<<widget "NationalityPresetVanillaSA">> -<<link "Vanilla South America">> - <<set $nationalities = { + }], + ["Vanilla South America", { Argentinian: 4, Bolivian: 2, Brazilian: 4, @@ -277,15 +259,8 @@ Surinamese: 1, Uruguayan: 2, Venezuelan: 3 - }>> - <<set _gotoPassage = passage()>> - <<goto _gotoPassage>> -<</link>> -<</widget>> - -<<widget "NationalityPresetVanillaME">> -<<link "Vanilla Middle East">> - <<set $nationalities = { + }], + ["Vanilla Middle East", { Afghan: 2, Armenian: 2, Azerbaijani: 1, @@ -308,15 +283,8 @@ Syrian: 1, Turkish: 3, Yemeni: 2 - }>> - <<set _gotoPassage = passage()>> - <<goto _gotoPassage>> -<</link>> -<</widget>> - -<<widget "NationalityPresetVanillaAfrica">> -<<link "Vanilla Africa">> - <<set $nationalities = { + }], + ["Vanilla Africa", { Algerian: 3, Angolan: 1, Beninese: 1, @@ -371,15 +339,8 @@ Zairian: 3, Zambian: 1, Zimbabwean: 2 - }>> - <<set _gotoPassage = passage()>> - <<goto _gotoPassage>> -<</link>> -<</widget>> - -<<widget "NationalityPresetVanillaAsia">> -<<link "Vanilla Asia">> - <<set $nationalities = { + }], + ["Vanilla Asia", { Bangladeshi: 4, Bhutanese: 1, Bruneian: 1, @@ -409,15 +370,8 @@ Turkmen: 1, Uzbek: 2, Vietnamese: 3 - }>> - <<set _gotoPassage = passage()>> - <<goto _gotoPassage>> -<</link>> -<</widget>> - -<<widget "NationalityPresetVanillaEU">> -<<link "Vanilla Europe">> - <<set $nationalities = { + }], + ["Vanilla Europe", { Albanian: 1, Andorran: 1, Austrian: 2, @@ -465,15 +419,8 @@ Swiss: 2, Ukrainian: 3, Vatican: 1 - }>> - <<set _gotoPassage = passage()>> - <<goto _gotoPassage>> -<</link>> -<</widget>> - -<<widget "NationalityPresetVanillaAU">> -<<link "Vanilla Australia">> - <<set $nationalities = { + }], + ["Vanilla Australia", { Australian: 3, "a Cook Islander": 1, Fijian: 1, @@ -493,15 +440,11 @@ "a Solomon Islander": 1, Tongan: 1, Tuvaluan: 1 - }>> - <<set _gotoPassage = passage()>> - <<goto _gotoPassage>> -<</link>> -<</widget>> + }], +]); -<<widget "NationalityPresetModNA">> -<<link "Realism North America">> - <<set $nationalities = { +App.Data.NationalityPresets.Mod = new Map([ + ["Realism North America", { American: 36503, Antiguan: 11, Aruban: 10, @@ -530,15 +473,8 @@ Salvadoran: 688, Trinidadian: 136, Vincentian: 11 - }>> - <<set _gotoPassage = passage()>> - <<goto _gotoPassage>> -<</link>> -<</widget>> - -<<widget "NationalityPresetModSA">> -<<link "Realism South America">> - <<set $nationalities = { + }], + ["Realism South America", { Argentinian: 5102, Bolivian: 1392, Brazilian: 22920, @@ -552,15 +488,8 @@ Surinamese: 63, Uruguayan: 362, Venezuelan: 3826 - }>> - <<set _gotoPassage = passage()>> - <<goto _gotoPassage>> -<</link>> -<</widget>> - -<<widget "NationalityPresetModME">> -<<link "Realism Middle East">> - <<set $nationalities = { + }], + ["Realism Middle East", { Afghan: 5090, Armenian: 286, Azerbaijani: 1086, @@ -583,15 +512,8 @@ Syrian: 2888, Turkish: 9091, Yemeni: 3996 - }>> - <<set _gotoPassage = passage()>> - <<goto _gotoPassage>> -<</link>> -<</widget>> - -<<widget "NationalityPresetModAfrica">> -<<link "Realism Africa">> - <<set $nationalities = { + }], + ["Realism Africa", { Algerian: 5107, Angolan: 5166, Beninese: 1756, @@ -646,15 +568,8 @@ Zairian: 13815, Zambian: 2844, Zimbabwean: 2355 - }>> - <<set _gotoPassage = passage()>> - <<goto _gotoPassage>> -<</link>> -<</widget>> - -<<widget "NationalityPresetModAsia">> -<<link "Realism Asia">> - <<set $nationalities = { + }], + ["Realism Asia", { Bangladeshi: 19160, Bhutanese: 94, Bruneian: 50, @@ -684,16 +599,9 @@ Turkmen: 707, Uzbek: 3805, Vietnamese: 3255 - }>> - <<set _gotoPassage = passage()>> - <<goto _gotoPassage>> -<</link>> -<</widget>> - -/* I need reweighting and possibly country additions */ -<<widget "NationalityPresetModEurope">> -<<link "Realism Europe">> - <<set $nationalities = { + }], + /* I need reweighting and possibly country additions */ + ["Realism Europe", { Albanian: 289, Andorran: 7, Austrian: 897, @@ -741,15 +649,8 @@ Swiss: 941, Ukrainian: 3989, Vatican: 1 - }>> - <<set _gotoPassage = passage()>> - <<goto _gotoPassage>> -<</link>> -<</widget>> - -<<widget "NationalityPresetModAustralia">> -<<link "Realism Australia">> - <<set $nationalities = { + }], + ["Realism Australia", { Australian: 2952, "a Cook Islander": 1, Fijian: 98, @@ -769,39 +670,10 @@ "a Solomon Islander": 83, Tongan: 12, Tuvaluan: 1 - }>> - <<set _gotoPassage = passage()>> - <<goto _gotoPassage>> -<</link>> -<</widget>> - -<<widget "NationalityPresetModEastAsia">> -<<link "East Asia">> - <<set $nationalities = {Chinese: 21, Japanese: 2, Korean: 1}>> - <<set _gotoPassage = passage()>> - <<goto _gotoPassage>> -<</link>> -<</widget>> - -<<widget "NationalityPresetModUSA">> -<<link USA>> - <<set $nationalities = {American: 8, Canadian: 1, Mexican: 3}>> - <<set _gotoPassage = passage()>> - <<goto _gotoPassage>> -<</link>> -<</widget>> - -<<widget "NationalityPresetModJapan">> -<<link Japan>> - <<set $nationalities = {Japanese: 3}>> - <<set _gotoPassage = passage()>> - <<goto _gotoPassage>> -<</link>> -<</widget>> - -<<widget "NationalityPresetModBrazil">> -<<link Brazil>> - <<set $nationalities = { + }], + ["East Asia", {Chinese: 21, Japanese: 2, Korean: 1}], + ["USA", {American: 8, Canadian: 1, Mexican: 3}], + ["Brazil", { Argentinian: 4, Bolivian: 2, Brazilian: 30, @@ -815,16 +687,45 @@ Surinamese: 1, Uruguayan: 2, Venezuelan: 2 - }>> - <<set _gotoPassage = passage()>> - <<goto _gotoPassage>> -<</link>> -<</widget>> + }], + ["Mediterranean", { + Albanian: 29, + Algerian: 404, + Andorran: 1, + Bosnian: 35, + British: 1, + Bulgarian: 71, + Catalan: 75, + Croatian: 42, + Cypriot: 12, + Egyptian: 948, + French: 671, + Georgian: 49, + Greek: 108, + Israeli: 89, + Italian: 605, + Lebanese: 60, + Libyan: 63, + Maltese: 5, + Monégasque: 1, + Montenegrin: 7, + Moroccan: 358, + Palestinian: 18, + Portuguese: 102, + Romanian: 132, + Russian: 40, + Sammarinese: 1, + Slovene: 21, + Spanish: 466, + Syrian: 171, + Tunisian: 113, + Turkish: 808, + Ukrainian: 105, + Vatican: 1, + }], -/* I need reweighting */ -<<widget "NationalityPresetModGlobalRealism">> -<<link "Realism Global">> - <<set $nationalities = { + /* I need reweighting */ + ["Realism Global", { Afghan: 5090, Albanian: 289, Algerian: 5107, @@ -1037,50 +938,5 @@ Zairian: 13815, Zambian: 2844, Zimbabwean: 2355 - }>> - <<set _gotoPassage = passage()>> - <<goto _gotoPassage>> -<</link>> -<</widget>> - -<<widget "NationalityPresetModMediterranean">> -<<link Mediterranean>> - <<set $nationalities = { - Albanian: 29, - Algerian: 404, - Andorran: 1, - Bosnian: 35, - British: 1, - Bulgarian: 71, - Catalan: 75, - Croatian: 42, - Cypriot: 12, - Egyptian: 948, - French: 671, - Georgian: 49, - Greek: 108, - Israeli: 89, - Italian: 605, - Lebanese: 60, - Libyan: 63, - Maltese: 5, - Monégasque: 1, - Montenegrin: 7, - Moroccan: 358, - Palestinian: 18, - Portuguese: 102, - Romanian: 132, - Russian: 40, - Sammarinese: 1, - Slovene: 21, - Spanish: 466, - Syrian: 171, - Tunisian: 113, - Turkish: 808, - Ukrainian: 105, - Vatican: 1, - }>> - <<set _gotoPassage = passage()>> - <<goto _gotoPassage>> -<</link>> -<</widget>> \ No newline at end of file + }], +]); diff --git a/src/js/customizeSlaveTrade.js b/src/js/customizeSlaveTrade.js index 3fe14ec8b19a84d807843a4b3fa8d62b92792f02..7b58acb33197dceb35acdfec42ab0d5b574fc530 100644 --- a/src/js/customizeSlaveTrade.js +++ b/src/js/customizeSlaveTrade.js @@ -16,5 +16,13 @@ App.CustomSlaveTrade = { }; $("#importExportArea").html("").append(textArea).append(button); + }, + + generatePresetLinks: function(group) { + let links = []; + for (const [name, nationalities] of App.Data.NationalityPresets[group]) { + links.push(App.UI.link(name, () => V.nationalities = nationalities, [], passage())); + } + return links.join(" | "); } }; diff --git a/src/pregmod/customizeSlaveTrade.tw b/src/pregmod/customizeSlaveTrade.tw index de05fa7406d8491829611d7c5a539e250fd87ec5..9d402df398b7a97c822b348f99c6148e40482ef4 100644 --- a/src/pregmod/customizeSlaveTrade.tw +++ b/src/pregmod/customizeSlaveTrade.tw @@ -22,31 +22,13 @@ [[Reset filters|passage()][$baseControlsFilter = "all"]] | [[Clear all nationalities|passage()][$nationalities = {}]] </div> <br style="clear:both"><hr style="margin:0"> -Vanilla presets: -<span id="vanilla-presets"></span> -<<script>> -var widgets = Story.widgets - .map(function(wp) { return wp.text.match(/<<widget\s+"NationalityPresetVanilla\S+"\s*>>/g); }) - .filter(function(ws) { return ws; }) - .reduce(function(arr, el) { return arr.concat(el); }, []) - .map(function(w) { return w.replace(/widget\s+"(.*)"\s*/, '$1'); }) - .filter(function(w) { return Macro.has(w.replace(/[<>]/g, '')); }) - .sort().join(' | '); -setTimeout(function() { new Wikifier(jQuery('#vanilla-presets'), widgets); }, 0); -<</script>> +<div> + Vanilla presets: + <<= App.CustomSlaveTrade.generatePresetLinks("Vanilla")>> +</div> <div> Mod presets: - <span id="mod-presets"></span> - <<script>> - var widgets = Story.widgets - .map(function(wp) { return wp.text.match(/<<widget\s+"NationalityPresetMod\S+"\s*>>/g); }) - .filter(function(ws) { return ws; }) - .reduce(function(arr, el) { return arr.concat(el); }, []) - .map(function(w) { return w.replace(/widget\s+"(.*)"\s*/, '$1'); }) - .filter(function(w) { return Macro.has(w.replace(/[<>]/g, '')); }) - .sort().join(' | '); - setTimeout(function() { new Wikifier(jQuery('#mod-presets'), widgets); }, 0); - <</script>> + <<= App.CustomSlaveTrade.generatePresetLinks("Mod")>> </div> <p> <<link "Export Settings">><<script>>App.CustomSlaveTrade.export()<</script>><</link>> | <<link "Import Settings">><<script>>App.CustomSlaveTrade.import()<</script>><</link>>