From c78a67de83b6350fe426d070ad097fbd2a7bd5cc Mon Sep 17 00:00:00 2001 From: Svornost <11434-svornost@users.noreply.gitgud.io> Date: Mon, 30 Nov 2020 01:00:23 -0800 Subject: [PATCH] Replace <<SetFacilityDecoration>> widget with App.UI.facilityRedecoration DOM function. --- src/002-config/fc-version.js | 2 +- src/facilities/fsDecoration.js | 29 ++++++++++ src/uncategorized/futureSociety.tw | 24 ++++---- src/utility/miscWidgets.tw | 88 ------------------------------ 4 files changed, 42 insertions(+), 101 deletions(-) create mode 100644 src/facilities/fsDecoration.js diff --git a/src/002-config/fc-version.js b/src/002-config/fc-version.js index f4fb6dcf0a0..94bbfb53d28 100644 --- a/src/002-config/fc-version.js +++ b/src/002-config/fc-version.js @@ -2,5 +2,5 @@ App.Version = { base: "0.10.7.1", // The vanilla version the mod is based off of, this should never be changed. pmod: "3.8.2", commitHash: null, - release: 1110 // When getting close to 2000, please remove the check located within the onLoad() function defined at line five of src/js/eventHandlers.js. + release: 1111 // When getting close to 2000, please remove the check located within the onLoad() function defined at line five of src/js/eventHandlers.js. }; diff --git a/src/facilities/fsDecoration.js b/src/facilities/fsDecoration.js new file mode 100644 index 00000000000..56ae1ec98b4 --- /dev/null +++ b/src/facilities/fsDecoration.js @@ -0,0 +1,29 @@ +/** Replaces <<SetFacilityDecoration>> widget + * @param {string} variable - global property name for the facility decoration (no $ etc) + * @returns {DocumentFragment} + */ +App.UI.facilityRedecoration = function(variable) { + const frag = new DocumentFragment(); + const arc = V.arcologies[0]; + for (const FS of FutureSocieties.activeFSes(arc)) { + if (arc[FS] > 20) { + const decorationName = FutureSocieties.decorationName(FS); + if (decorationName && V[variable] !== decorationName) { + const link = App.UI.DOM.link(`${decorationName} Redecoration`, () => { + V[variable] = decorationName; + cashX(-5000, "capEx"); + App.UI.reload(); + }); + App.UI.DOM.appendNewElement("div", frag, link, "indent"); + } + } + } + if (V[variable] !== "standard") { + const link = App.UI.DOM.link(`Remove all decorations`, () => { + V[variable] = "standard"; + App.UI.reload(); + }); + App.UI.DOM.appendNewElement("div", frag, link, "indent"); + } + return frag; +}; diff --git a/src/uncategorized/futureSociety.tw b/src/uncategorized/futureSociety.tw index 4b4d4ddc5b9..89aa9cd429b 100644 --- a/src/uncategorized/futureSociety.tw +++ b/src/uncategorized/futureSociety.tw @@ -1767,60 +1767,60 @@ You are spending <<print cashFormat($FSSpending)>> each week to support your soc <<if $brothel > 0>> <div><<= capFirstChar($brothelName)>> is decorated in $brothelDecoration style.</div> - <<SetFacilityDecoration "brothelDecoration">> + <<includeDOM App.UI.facilityRedecoration("brothelDecoration")>> <</if>> <<if $club > 0>> <div><<= capFirstChar($clubName)>> is decorated in $clubDecoration style.</div> - <<SetFacilityDecoration "clubDecoration">> + <<includeDOM App.UI.facilityRedecoration("clubDecoration")>> <</if>> <<if $dairy > 0>> <div><<= capFirstChar($dairyName)>> is decorated in $dairyDecoration style.</div> - <<SetFacilityDecoration "dairyDecoration">> + <<includeDOM App.UI.facilityRedecoration("dairyDecoration")>> <</if>> <<if $farmyard > 0>> <div><<= capFirstChar($farmyardName)>> is decorated in $farmyardDecoration style.</div> - <<SetFacilityDecoration "farmyardDecoration">> + <<includeDOM App.UI.facilityRedecoration("farmyardDecoration")>> <</if>> <<if $spa > 0>> <div><<= capFirstChar($spaName)>> is decorated in $spaDecoration style.</div> - <<SetFacilityDecoration "spaDecoration">> + <<includeDOM App.UI.facilityRedecoration("spaDecoration")>> <</if>> <<if $nursery > 0>> <div><<= capFirstChar($nurseryName)>> is decorated in $nurseryDecoration style.</div> - <<SetFacilityDecoration "nurseryDecoration">> + <<includeDOM App.UI.facilityRedecoration("nurseryDecoration")>> <</if>> <<if $clinic > 0>> <div><<= capFirstChar($clinicName)>> is decorated in $clinicDecoration style.</div> - <<SetFacilityDecoration "clinicDecoration">> + <<includeDOM App.UI.facilityRedecoration("clinicDecoration")>> <</if>> <<if $schoolroom > 0>> <div><<= capFirstChar($schoolroomName)>> is decorated in $schoolroomDecoration style.</div> - <<SetFacilityDecoration "schoolroomDecoration">> + <<includeDOM App.UI.facilityRedecoration("schoolroomDecoration")>> <</if>> <<if $cellblock > 0>> <div><<= capFirstChar($cellblockName)>> is decorated in $cellblockDecoration style.</div> - <<SetFacilityDecoration "cellblockDecoration">> + <<includeDOM App.UI.facilityRedecoration("cellblockDecoration")>> <</if>> <<if $servantsQuarters > 0>> <div><<= capFirstChar($servantsQuartersName)>> is decorated in $servantsQuartersDecoration style.</div> - <<SetFacilityDecoration "servantsQuartersDecoration">> + <<includeDOM App.UI.facilityRedecoration("servantsQuartersDecoration")>> <</if>> <<if $arcade > 0>> <div><<= capFirstChar($arcadeName)>> is decorated in $arcadeDecoration style.</div> - <<SetFacilityDecoration "arcadeDecoration">> + <<includeDOM App.UI.facilityRedecoration("arcadeDecoration")>> <</if>> <<if $masterSuite > 0>> <div><<= capFirstChar($masterSuiteName)>> is decorated in $masterSuiteDecoration style.</div> - <<SetFacilityDecoration "masterSuiteDecoration">> + <<includeDOM App.UI.facilityRedecoration("masterSuiteDecoration")>> <</if>> diff --git a/src/utility/miscWidgets.tw b/src/utility/miscWidgets.tw index a9c54dfe578..3ee42debfdb 100644 --- a/src/utility/miscWidgets.tw +++ b/src/utility/miscWidgets.tw @@ -143,91 +143,3 @@ Allows for dynamic updating of the next button in the storyCaption (left side-ba <</switch>> <</capture>> <</widget>> - -/* Called as <<SetFacilityDecoration "facilityDecoration">>, will generate a clickable list of potential decorations, quotes are needed to pass facilityDecoration as reference - DO NOT INCLUDE $ PREFIX! */ -<<widget "SetFacilityDecoration">> -<<if ($arcologies[0].FSSupremacist >= 20) && (State.variables[$args[0]] != "Supremacist")>> - <div class="indent">[[Supremacist redecoration|Future Society][State.variables[$args[0]] = "Supremacist", cashX(-5000, "capEx")]]</div> -<</if>> -<<if ($arcologies[0].FSSubjugationist >= 20) && (State.variables[$args[0]] != "Subjugationist")>> - <div class="indent">[[Subjugationist redecoration|Future Society][State.variables[$args[0]] = "Subjugationist", cashX(-5000, "capEx")]]</div> -<</if>> -<<if ($arcologies[0].FSRepopulationFocus >= 20) && (State.variables[$args[0]] != "Repopulation Focus")>> - <div class="indent">[[Repopulation Focus redecoration|Future Society][State.variables[$args[0]] = "Repopulation Focus", cashX(-5000, "capEx")]]</div> -<</if>> -<<if ($arcologies[0].FSRestart >= 20) && (State.variables[$args[0]] != "Eugenics")>> - <div class="indent">[[Eugenics redecoration|Future Society][State.variables[$args[0]] = "Eugenics", cashX(-5000, "capEx")]]</div> -<</if>> -<<if ($arcologies[0].FSGenderRadicalist >= 20) && (State.variables[$args[0]] != "Gender Radicalist")>> - <div class="indent">[[Gender Radicalist redecoration|Future Society][State.variables[$args[0]] = "Gender Radicalist", cashX(-5000, "capEx")]]</div> -<</if>> -<<if ($arcologies[0].FSGenderFundamentalist >= 20) && (State.variables[$args[0]] != "Gender Fundamentalist")>> - <div class="indent">[[Gender Fundamentalist redecoration|Future Society][State.variables[$args[0]] = "Gender Fundamentalist", cashX(-5000, "capEx")]]</div> -<</if>> -<<if ($arcologies[0].FSPaternalist >= 20) && (State.variables[$args[0]] != "Paternalist")>> - <div class="indent">[[Paternalist redecoration|Future Society][State.variables[$args[0]] = "Paternalist", cashX(-5000, "capEx")]]</div> -<</if>> -<<if ($arcologies[0].FSIntellectualDependency >= 20) && (State.variables[$args[0]] != "Intellectual Dependency")>> - <div class="indent">[[Intellectual Dependency redecoration|Future Society][State.variables[$args[0]] = "Intellectual Dependency", cashX(-5000, "capEx")]]</div> -<</if>> -<<if ($arcologies[0].FSSlaveProfessionalism >= 20) && (State.variables[$args[0]] != "Slave Professionalism")>> - <div class="indent">[[Slave Professionalism redecoration|Future Society][State.variables[$args[0]] = "Slave Professionalism", cashX(-5000, "capEx")]]</div> -<</if>> -<<if ($arcologies[0].FSBodyPurist >= 20) && (State.variables[$args[0]] != "Body Purist")>> - <div class="indent">[[Body Purist redecoration|Future Society][State.variables[$args[0]] = "Body Purist", cashX(-5000, "capEx")]]</div> -<</if>> -<<if ($arcologies[0].FSTransformationFetishist >= 20) && (State.variables[$args[0]] != "Transformation Fetishist")>> - <div class="indent">[[Transformation Fetishist redecoration|Future Society][State.variables[$args[0]] = "Transformation Fetishist", cashX(-5000, "capEx")]]</div> -<</if>> -<<if ($arcologies[0].FSYouthPreferentialist >= 20) && (State.variables[$args[0]] != "Youth Preferentialist")>> - <div class="indent">[[Youth Preferentialist redecoration|Future Society][State.variables[$args[0]] = "Youth Preferentialist", cashX(-5000, "capEx")]]</div> -<</if>> -<<if ($arcologies[0].FSMaturityPreferentialist >= 20) && (State.variables[$args[0]] != "Maturity Preferentialist")>> - <div class="indent">[[Maturity Preferentialist redecoration|Future Society][State.variables[$args[0]] = "Maturity Preferentialist", cashX(-5000, "capEx")]]</div> -<</if>> -<<if ($arcologies[0].FSPetiteAdmiration >= 20) && (State.variables[$args[0]] != "Petite Admiration")>> - <div class="indent">[[Petite Admiration redecoration|Future Society][State.variables[$args[0]] = "Petite Admiration", cashX(-5000, "capEx")]]</div> -<</if>> -<<if ($arcologies[0].FSStatuesqueGlorification >= 20) && (State.variables[$args[0]] != "Statuesque Glorification")>> - <div class="indent">[[Statuesque Glorification redecoration|Future Society][State.variables[$args[0]] = "Statuesque Glorification", cashX(-5000, "capEx")]]</div> -<</if>> -<<if ($arcologies[0].FSSlimnessEnthusiast >= 20) && (State.variables[$args[0]] != "Slimness Enthusiast")>> - <div class="indent">[[Slimness Enthusiast redecoration|Future Society][State.variables[$args[0]] = "Slimness Enthusiast", cashX(-5000, "capEx")]]</div> -<</if>> -<<if ($arcologies[0].FSAssetExpansionist >= 20) && (State.variables[$args[0]] != "Asset Expansionist")>> - <div class="indent">[[Asset Expansionist redecoration|Future Society][State.variables[$args[0]] = "Asset Expansionist", cashX(-5000, "capEx")]]</div> -<</if>> -<<if ($arcologies[0].FSPastoralist >= 20) && (State.variables[$args[0]] != "Pastoralist")>> - <div class="indent">[[Pastoralist redecoration|Future Society][State.variables[$args[0]] = "Pastoralist", cashX(-5000, "capEx")]]</div> -<</if>> -<<if ($arcologies[0].FSPhysicalIdealist >= 20) && (State.variables[$args[0]] != "Physical Idealist")>> - <div class="indent">[[Physical Idealist redecoration|Future Society][State.variables[$args[0]] = "Physical Idealist", cashX(-5000, "capEx")]]</div> -<</if>> -<<if ($arcologies[0].FSHedonisticDecadence >= 20) && (State.variables[$args[0]] != "Hedonistic")>> - <div class="indent">[[Hedonistic redecoration|Future Society][State.variables[$args[0]] = "Hedonistic", cashX(-5000, "capEx")]]</div> -<</if>> -<<if ($arcologies[0].FSChattelReligionist >= 20) && (State.variables[$args[0]] != "Chattel Religionist")>> - <div class="indent">[[Chattel Religionist redecoration|Future Society][State.variables[$args[0]] = "Chattel Religionist", cashX(-5000, "capEx")]]</div> -<</if>> -<<if ($arcologies[0].FSDegradationist >= 20) && (State.variables[$args[0]] != "Degradationist")>> - <div class="indent">[[Degradationist redecoration|Future Society][State.variables[$args[0]] = "Degradationist", cashX(-5000, "capEx")]]</div> -<</if>> -<<if ($arcologies[0].FSRomanRevivalist >= 20) && (State.variables[$args[0]] != "Roman Revivalist")>> - <div class="indent">[[Roman Revivalist redecoration|Future Society][State.variables[$args[0]] = "Roman Revivalist", cashX(-5000, "capEx")]]</div> -<<elseif ($arcologies[0].FSAztecRevivalist >= 20) && (State.variables[$args[0]] != "Aztec Revivalist")>> - <div class="indent">[[Aztec Revivalist redecoration|Future Society][State.variables[$args[0]] = "Aztec Revivalist", cashX(-5000, "capEx")]]</div> -<<elseif ($arcologies[0].FSEgyptianRevivalist >= 20) && (State.variables[$args[0]] != "Egyptian Revivalist")>> - <div class="indent">[[Egyptian Revivalist redecoration|Future Society][State.variables[$args[0]] = "Egyptian Revivalist", cashX(-5000, "capEx")]]</div> -<<elseif ($arcologies[0].FSEdoRevivalist >= 20) && (State.variables[$args[0]] != "Edo Revivalist")>> - <div class="indent">[[Edo Revivalist redecoration|Future Society][State.variables[$args[0]] = "Edo Revivalist", cashX(-5000, "capEx")]]</div> -<<elseif ($arcologies[0].FSArabianRevivalist >= 20) && (State.variables[$args[0]] != "Arabian Revivalist")>> - <div class="indent">[[Arabian Revivalist redecoration|Future Society][State.variables[$args[0]] = "Arabian Revivalist", cashX(-5000, "capEx")]]</div> -<<elseif ($arcologies[0].FSChineseRevivalist >= 20) && (State.variables[$args[0]] != "Chinese Revivalist")>> - <div class="indent">[[Chinese Revivalist redecoration|Future Society][State.variables[$args[0]] = "Chinese Revivalist", cashX(-5000, "capEx")]]</div> -<<elseif ($arcologies[0].FSNeoImperialist >= 20) && (State.variables[$args[0]] != "Neo Imperialist")>> - <div class="indent">[[Neo-Imperialist redecoration|Future Society][State.variables[$args[0]] = "Neo Imperialist", cashX(-5000, "capEx")]]</div> -<</if>> -<<if (State.variables[$args[0]] != "standard")>> - <div class="indent">[[Remove all decorations|Future Society][State.variables[$args[0]] = "standard"]]</div> -<</if>> -<</widget>> -- GitLab