From 40dfc5bc8d26d65bac216e1edd1424b36a173156 Mon Sep 17 00:00:00 2001 From: Svornost <11434-svornost@users.noreply.gitgud.io> Date: Sun, 29 Nov 2020 21:01:50 -0800 Subject: [PATCH] Remove $FSPromenade global structure, and all code that maintains or accesses it. Simplify shop redecoration code. --- js/003-data/gameVariableData.js | 3 - src/arcologyBuilding/base.js | 9 + src/arcologyBuilding/presets.js | 66 ++- src/arcologyBuilding/shops.js | 390 ++---------------- .../backwardsCompatibility.js | 34 -- src/interaction/siUtilities.js | 2 +- 6 files changed, 83 insertions(+), 421 deletions(-) diff --git a/js/003-data/gameVariableData.js b/js/003-data/gameVariableData.js index ade55171dd8..375c4923fc8 100644 --- a/js/003-data/gameVariableData.js +++ b/js/003-data/gameVariableData.js @@ -717,9 +717,6 @@ App.Data.resetOnNGPlus = { FSSingleSlaveRep: 10, FSSpending: 0, FSLockinLevel: 100, - FSPromenade: { - Subjugationist: 0, Supremacist: 0, GenderRadicalist: 0, GenderFundamentalist: 0, Paternalist: 0, Degradationist: 0, BodyPurist: 0, TransformationFetishist: 0, YouthPreferentialist: 0, MaturityPreferentialist: 0, SlimnessEnthusiast: 0, AssetExpansionist: 0, Pastoralist: 0, PhysicalIdealist: 0, ChattelReligionist: 0, RomanRevivalist: 0, AztecRevivalist: 0, EgyptianRevivalist: 0, EdoRevivalist: 0, ArabianRevivalist: 0, ChineseRevivalist: 0, NeoImperialist: 0, Repopulationist: 0, Eugenics: 0, Hedonism: 0, IntellectualDependency: 0, SlaveProfessionalism: 0, PetiteAdmiration: 0, StatuesqueGlorification: 0 - }, // new corporation variables newCorp: 1, diff --git a/src/arcologyBuilding/base.js b/src/arcologyBuilding/base.js index 43209901ab5..ccb978502ef 100644 --- a/src/arcologyBuilding/base.js +++ b/src/arcologyBuilding/base.js @@ -47,6 +47,15 @@ App.Arcology.defaultBuilding = function(terrain = "default") { return candidates.pluck().construct(env).building; }; +/** + * Determine whether the arcology has a shop of a particular type + * @param {string} type + * @returns {boolean} + */ +App.Arcology.hasShopOfType = function(type) { + return V.building.findCells(cell => (cell instanceof App.Arcology.Cell.Shop) && cell.type === type).length > 0; +}; + /** * Order of the building sections. All possible sections have to be added here. * diff --git a/src/arcologyBuilding/presets.js b/src/arcologyBuilding/presets.js index 9157e8bfc5c..112aa9de1c3 100644 --- a/src/arcologyBuilding/presets.js +++ b/src/arcologyBuilding/presets.js @@ -164,17 +164,15 @@ App.Arcology.presets = (function() { * @returns {{building: App.Arcology.Building, apply: function()}} */ function randomizeBuilding(building, environment) { - const apply = []; if (Math.random() < 0.5) { - apply.push(addFsShop(building, environment.fs)); + addFsShop(building, environment.fs); } - return {building: building, apply: () => { apply.forEach(a => { a(); }); }}; + return {building: building, apply: () => { }}; } /** * @param {App.Arcology.Building} building * @param {string} fs - * @returns {function():void} */ function addFsShop(building, fs) { function randomShop() { @@ -184,93 +182,93 @@ App.Arcology.presets = (function() { switch (fs) { case "Supremacist": randomShop().type = "Supremacist"; - return () => { V.FSPromenade.Supremacist = 1; }; + return; case "Subjugationist": randomShop().type = "Subjugationist"; - return () => { V.FSPromenade.Subjugationist = 1; }; + return; case "GenderRadicalist": randomShop().type = "Gender Radicalist"; - return () => { V.FSPromenade.GenderRadicalist = 1; }; + return; case "GenderFundamentalist": randomShop().type = "Gender Fundamentalist"; - return () => { V.FSPromenade.GenderFundamentalist = 1; }; + return; case "Paternalist": randomShop().type = "Paternalist"; - return () => { V.FSPromenade.Paternalist = 1; }; + return; case "Degradationist": randomShop().type = "Degradationist"; - return () => { V.FSPromenade.Degradationist = 1; }; + return; case "AssetExpansionist": randomShop().type = "Asset Expansionist"; - return () => { V.FSPromenade.AssetExpansionist = 1; }; + return; case "SlimnessEnthusiast": randomShop().type = "Slimness Enthusiast"; - return () => { V.FSPromenade.SlimnessEnthusiast = 1; }; + return; case "TransformationFetishist": randomShop().type = "Transformation Fetishist"; - return () => { V.FSPromenade.TransformationFetishist = 1; }; + return; case "BodyPurist": randomShop().type = "Body Purist"; - return () => { V.FSPromenade.BodyPurist = 1; }; + return; case "MaturityPreferentialist": randomShop().type = "Maturity Preferentialist"; - return () => { V.FSPromenade.MaturityPreferentialist = 1; }; + return; case "YouthPreferentialist": randomShop().type = "Youth Preferentialist"; - return () => { V.FSPromenade.YouthPreferentialist = 1; }; + return; case "Pastoralist": randomShop().type = "Pastoralist"; - return () => { V.FSPromenade.Pastoralist = 1; }; + return; case "PhysicalIdealist": randomShop().type = "Physical Idealist"; - return () => { V.FSPromenade.PhysicalIdealist = 1; }; + return; case "ChattelReligionist": randomShop().type = "Chattel Religionist"; - return () => { V.FSPromenade.ChattelReligionist = 1; }; + return; case "RomanRevivalist": randomShop().type = "Roman Revivalist"; - return () => { V.FSPromenade.RomanRevivalist = 1; }; + return; case "NeoImperialist": randomShop().type = "Neo-Imperialist"; - return () => { V.FSPromenade.NeoImperialist = 1; }; + return; case "AztecRevivalist": randomShop().type = "Aztec Revivalist"; - return () => { V.FSPromenade.AztecRevivalist = 1; }; + return; case "EgyptianRevivalist": randomShop().type = "Egyptian Revivalist"; - return () => { V.FSPromenade.EgyptianRevivalist = 1; }; + return; case "EdoRevivalist": randomShop().type = "Edo Revivalist"; - return () => { V.FSPromenade.EdoRevivalist = 1; }; + return; case "ArabianRevivalist": randomShop().type = "Arabian Revivalist"; - return () => { V.FSPromenade.ArabianRevivalist = 1; }; + return; case "ChineseRevivalist": randomShop().type = "Chinese Revivalist"; - return () => { V.FSPromenade.Degradationist = 1; }; + return; case "Repopulationist": randomShop().type = "Repopulationist"; - return () => { V.FSPromenade.Repopulationist = 1; }; + return; case "Eugenics": randomShop().type = "Eugenics"; - return () => { V.FSPromenade.Eugenics = 1; }; + return; case "HedonisticDecadence": randomShop().type = "Hedonism"; - return () => { V.FSPromenade.Hedonism = 1; }; + return; case "IntellectualDependency": randomShop().type = "Intellectual Dependency"; - return () => { V.FSPromenade.IntellectualDependency = 1; }; + return; case "SlaveProfessionalism": randomShop().type = "Slave Professionalism"; - return () => { V.FSPromenade.SlaveProfessionalism = 1; }; + return; case "PetiteAdmiration": randomShop().type = "Petite Admiration"; - return () => { V.FSPromenade.PetiteAdmiration = 1; }; + return; case "StatuesqueGlorification": randomShop().type = "Statuesque Glorification"; - return () => { V.FSPromenade.StatuesqueGlorification = 1; }; + return; default: - return () => {}; + return; } } diff --git a/src/arcologyBuilding/shops.js b/src/arcologyBuilding/shops.js index 725b030be4a..53a6113f72a 100644 --- a/src/arcologyBuilding/shops.js +++ b/src/arcologyBuilding/shops.js @@ -318,7 +318,6 @@ App.Arcology.Cell.Shop = class extends App.Arcology.Cell.BaseCell { fragment.append(this._makeUpgrade( "Convert this sector of the promenade into a brothel.", () => { - this._clearFsStyle(); V.brothel = 5; this.type = "Brothel"; }, cost, "and will incur upkeep costs" @@ -329,365 +328,65 @@ App.Arcology.Cell.Shop = class extends App.Arcology.Cell.BaseCell { fragment.append(this._makeUpgrade( "Build a club to serve as a focal point for public sluts.", () => { - this._clearFsStyle(); V.club = 5; this.type = "Club"; }, cost, "and will incur upkeep costs" )); } - if (A.FSSubjugationist !== "unset") { - if (V.FSPromenade.Subjugationist === 0) { - fragment.append(this._makeUpgrade( - "Upgrade this sector to appeal to Subjugationist establishments.", - () => { - this._clearFsStyle(); - V.FSPromenade.Subjugationist = 1; - this.type = "Subjugationist"; - }, cost - )); - } - } - - if (A.FSSupremacist !== "unset") { - if (V.FSPromenade.Supremacist === 0) { - fragment.append(this._makeUpgrade( - "Upgrade this sector to appeal to Supremacist establishments.", - () => { - this._clearFsStyle(); - V.FSPromenade.Supremacist = 1; - this.type = "Supremacist"; - }, cost - )); - } - } - - if (A.FSGenderRadicalist !== "unset") { - if (V.FSPromenade.GenderRadicalist === 0) { - fragment.append(this._makeUpgrade( - "Upgrade this sector to appeal to Gender Radicalist establishments.", - () => { - this._clearFsStyle(); - V.FSPromenade.GenderRadicalist = 1; - this.type = "Gender Radicalist"; - }, cost - )); - } - } else if (A.FSGenderFundamentalist !== "unset") { - if (V.FSPromenade.GenderFundamentalist === 0) { - fragment.append(this._makeUpgrade( - "Upgrade this sector to appeal to Gender Fundamentalist establishments.", - () => { - this._clearFsStyle(); - V.FSPromenade.GenderFundamentalist = 1; - this.type = "Gender Fundamentalist"; - }, cost - )); - } - } - - if (A.FSPaternalist !== "unset") { - if (V.FSPromenade.Paternalist === 0) { - fragment.append(this._makeUpgrade( - "Upgrade this sector to appeal to Paternalist establishments.", - () => { - this._clearFsStyle(); - V.FSPromenade.Paternalist = 1; - this.type = "Paternalist"; - }, cost - )); - } - } else if (A.FSDegradationist !== "unset") { - if (V.FSPromenade.Degradationist === 0) { - fragment.append(this._makeUpgrade( - "Upgrade this sector to appeal to Degradationist establishments.", - () => { - this._clearFsStyle(); - V.FSPromenade.Degradationist = 1; - this.type = "Degradationist"; - }, cost - )); - } - } - - if (A.FSIntellectualDependency !== "unset") { - if (V.FSPromenade.IntellectualDependency === 0) { - fragment.append(this._makeUpgrade( - "Upgrade this sector to appeal to Intellectual Dependency establishments.", - () => { - this._clearFsStyle(); - V.FSPromenade.IntellectualDependency = 1; - this.type = "Intellectual Dependency"; - }, cost - )); + /** + * @param {App.Arcology.Cell.Shop} cell + * @param {FC.FutureSociety} fsProp + * @param {string} [fsType] thanks, Hedonism... + */ + function fsUpgradeLink(cell, fsProp, fsType) { + if (!fsType) { + // TODO: should probably have a different list of valid decoration strings, instead of using the display adjective with exceptions + fsType = FutureSocieties.displayAdj(fsProp); } - } else if (A.FSSlaveProfessionalism !== "unset") { - if (V.FSPromenade.SlaveProfessionalism === 0) { - fragment.append(this._makeUpgrade( - "Upgrade this sector to appeal to Slave Professionalism establishments.", + if ((A[fsProp] !== "unset") && !App.Arcology.hasShopOfType(fsType)) { + fragment.append(cell._makeUpgrade( + `Upgrade this sector to appeal to ${FutureSocieties.displayAdj(fsProp)} establishments.`, () => { - this._clearFsStyle(); - V.FSPromenade.SlaveProfessionalism = 1; - this.type = "Slave Professionalism"; + cell.type = fsType; }, cost )); } } - if (A.FSBodyPurist !== "unset") { - if (V.FSPromenade.BodyPurist === 0) { - fragment.append(this._makeUpgrade( - "Upgrade this sector to appeal to Body Purist establishments.", - () => { - this._clearFsStyle(); - V.FSPromenade.BodyPurist = 1; - this.type = "Body Purist"; - }, cost - )); - } - } else if (A.FSTransformationFetishist !== "unset") { - if (V.FSPromenade.TransformationFetishist === 0) { - fragment.append(this._makeUpgrade( - "Upgrade this sector to appeal to Transformation Fetishist establishments.", - () => { - this._clearFsStyle(); - V.FSPromenade.TransformationFetishist = 1; - this.type = "Transformation Fetishist"; - }, cost - )); - } - } - - if (A.FSYouthPreferentialist !== "unset") { - if (V.FSPromenade.YouthPreferentialist === 0) { - fragment.append(this._makeUpgrade( - "Upgrade this sector to appeal to Youth Preferentialist establishments.", - () => { - this._clearFsStyle(); - V.FSPromenade.YouthPreferentialist = 1; - this.type = "Youth Preferentialist"; - }, cost - )); - } - } else if (A.FSMaturityPreferentialist !== "unset") { - if (V.FSPromenade.MaturityPreferentialist === 0) { - fragment.append(this._makeUpgrade( - "Upgrade this sector to appeal to Maturity Preferentialist establishments.", - () => { - this._clearFsStyle(); - V.FSPromenade.MaturityPreferentialist = 1; - this.type = "Maturity Preferentialist"; - }, cost - )); - } - } - - if (A.FSPetiteAdmiration !== "unset") { - if (V.FSPromenade.PetiteAdmiration === 0) { - fragment.append(this._makeUpgrade( - "Upgrade this sector to appeal to Petite Admiration establishments.", - () => { - this._clearFsStyle(); - V.FSPromenade.PetiteAdmiration = 1; - this.type = "Petite Admiration"; - }, cost - )); - } - } else if (A.FSStatuesqueGlorification !== "unset") { - if (V.FSPromenade.StatuesqueGlorification === 0) { - fragment.append(this._makeUpgrade( - "Upgrade this sector to appeal to Statuesque Glorification establishments.", - () => { - this._clearFsStyle(); - V.FSPromenade.StatuesqueGlorification = 1; - this.type = "Statuesque Glorification"; - }, cost - )); - } - } - - if (A.FSSlimnessEnthusiast !== "unset") { - if (V.FSPromenade.SlimnessEnthusiast === 0) { - fragment.append(this._makeUpgrade( - "Upgrade this sector to appeal to Slimness Enthusiast establishments.", - () => { - this._clearFsStyle(); - V.FSPromenade.SlimnessEnthusiast = 1; - this.type = "Slimness Enthusiast"; - }, cost - )); - } - } else if (A.FSAssetExpansionist !== "unset") { - if (V.FSPromenade.AssetExpansionist === 0) { - fragment.append(this._makeUpgrade( - "Upgrade this sector to appeal to Asset Expansionist establishments.", - () => { - this._clearFsStyle(); - V.FSPromenade.AssetExpansionist = 1; - this.type = "Asset Expansionist"; - }, cost - )); - } - } - - if (A.FSPastoralist !== "unset") { - if (V.FSPromenade.Pastoralist === 0) { - fragment.append(this._makeUpgrade( - "Upgrade this sector to appeal to Pastoralist establishments.", - () => { - this._clearFsStyle(); - V.FSPromenade.Pastoralist = 1; - this.type = "Pastoralist"; - }, cost - )); - } - } - - if (A.FSPhysicalIdealist !== "unset") { - if (V.FSPromenade.PhysicalIdealist === 0) { - fragment.append(this._makeUpgrade( - "Upgrade this sector to appeal to Physical Idealist establishments.", - () => { - this._clearFsStyle(); - V.FSPromenade.PhysicalIdealist = 1; - this.type = "Physical Idealist"; - }, cost - )); - } - } else if (A.FSHedonisticDecadence !== "unset") { - if (V.FSPromenade.Hedonism === 0) { - fragment.append(this._makeUpgrade( - "Upgrade this sector to appeal to Hedonistic establishments.", - () => { - this._clearFsStyle(); - V.FSPromenade.Hedonism = 1; - this.type = "Hedonism"; - }, cost - )); - } - } - - if (A.FSRepopulationFocus !== "unset") { - if (V.FSPromenade.Repopulationist === 0) { - fragment.append(this._makeUpgrade( - "Upgrade this sector to appeal to Repopulationist establishments.", - () => { - this._clearFsStyle(); - V.FSPromenade.Repopulationist = 1; - this.type = "Repopulationist"; - }, cost - )); - } - } else if (A.FSRestart !== "unset") { - if (V.FSPromenade.Eugenics === 0) { - fragment.append(this._makeUpgrade( - "Upgrade this sector to appeal to Eugenics establishments.", - () => { - this._clearFsStyle(); - V.FSPromenade.Eugenics = 1; - this.type = "Eugenics"; - }, cost - )); - } - } - - if (A.FSChattelReligionist !== "unset") { - if (V.FSPromenade.ChattelReligionist === 0) { - fragment.append(this._makeUpgrade( - "Upgrade this sector to appeal to Chattel Religionist establishments.", - () => { - this._clearFsStyle(); - V.FSPromenade.ChattelReligionist = 1; - this.type = "Chattel Religionist"; - }, cost - )); - } - } - - if (A.FSRomanRevivalist !== "unset") { - if (V.FSPromenade.RomanRevivalist === 0) { - fragment.append(this._makeUpgrade( - "Upgrade this sector to appeal to Roman Revivalist establishments.", - () => { - this._clearFsStyle(); - V.FSPromenade.RomanRevivalist = 1; - this.type = "Roman Revivalist"; - }, cost - )); - } - } else if (A.FSAztecRevivalist !== "unset") { - if (V.FSPromenade.AztecRevivalist === 0) { - fragment.append(this._makeUpgrade( - "Upgrade this sector to appeal to Aztec Revivalist establishments.", - () => { - this._clearFsStyle(); - V.FSPromenade.AztecRevivalist = 1; - this.type = "Aztec Revivalist"; - }, cost - )); - } - } else if (A.FSNeoImperialist !== "unset") { - if (V.FSPromenade.NeoImperialist === 0) { - fragment.append(this._makeUpgrade( - "Upgrade this sector to appeal to Neo-Imperialist establishments.", - () => { - this._clearFsStyle(); - V.FSPromenade.NeoImperialist = 1; - this.type = "Neo-Imperialist"; - }, cost - )); - } - } else if (A.FSEgyptianRevivalist !== "unset") { - if (V.FSPromenade.EgyptianRevivalist === 0) { - fragment.append(this._makeUpgrade( - "Upgrade this sector to appeal to Egyptian Revivalist establishments.", - () => { - this._clearFsStyle(); - V.FSPromenade.EgyptianRevivalist = 1; - this.type = "Egyptian Revivalist"; - }, cost - )); - } - } else if (A.FSEdoRevivalist !== "unset") { - if (V.FSPromenade.EdoRevivalist === 0) { - fragment.append(this._makeUpgrade( - "Upgrade this sector to appeal to Edo Revivalist establishments.", - () => { - this._clearFsStyle(); - V.FSPromenade.EdoRevivalist = 1; - this.type = "Edo Revivalist"; - }, cost - )); - } - } else if (A.FSArabianRevivalist !== "unset") { - if (V.FSPromenade.ArabianRevivalist === 0) { - fragment.append(this._makeUpgrade( - "Upgrade this sector to appeal to Arabian Revivalist establishments.", - () => { - this._clearFsStyle(); - V.FSPromenade.ArabianRevivalist = 1; - this.type = "Arabian Revivalist"; - }, cost - )); - } - } else if (A.FSChineseRevivalist !== "unset") { - if (V.FSPromenade.ChineseRevivalist === 0) { - fragment.append(this._makeUpgrade( - "Upgrade this sector to appeal to Chinese Revivalist establishments.", - () => { - this._clearFsStyle(); - V.FSPromenade.ChineseRevivalist = 1; - this.type = "Chinese Revivalist"; - }, cost - )); - } - } + fsUpgradeLink(this, "FSSubjugationist"); + fsUpgradeLink(this, "FSSupremacist"); + fsUpgradeLink(this, "FSGenderRadicalist"); + fsUpgradeLink(this, "FSGenderFundamentalist"); + fsUpgradeLink(this, "FSPaternalist"); + fsUpgradeLink(this, "FSDegradationist"); + fsUpgradeLink(this, "FSIntellectualDependency"); + fsUpgradeLink(this, "FSSlaveProfessionalism", "Slave Professionalism"); + fsUpgradeLink(this, "FSBodyPurist"); + fsUpgradeLink(this, "FSTransformationFetishist"); + fsUpgradeLink(this, "FSYouthPreferentialist"); + fsUpgradeLink(this, "FSMaturityPreferentialist"); + fsUpgradeLink(this, "FSPetiteAdmiration"); + fsUpgradeLink(this, "FSStatuesqueGlorification"); + fsUpgradeLink(this, "FSSlimnessEnthusiast"); + fsUpgradeLink(this, "FSAssetExpansionist"); + fsUpgradeLink(this, "FSPastoralist"); + fsUpgradeLink(this, "FSPhysicalIdealist"); + fsUpgradeLink(this, "FSHedonisticDecadence", "Hedonism"); + fsUpgradeLink(this, "FSRepopulationFocus"); + fsUpgradeLink(this, "FSChattelReligionist"); + fsUpgradeLink(this, "FSRomanRevivalist"); + fsUpgradeLink(this, "FSAztecRevivalist"); + fsUpgradeLink(this, "FSNeoImperialist"); + fsUpgradeLink(this, "FSEgyptianRevivalist"); + fsUpgradeLink(this, "FSEdoRevivalist"); + fsUpgradeLink(this, "FSArabianRevivalist"); + fsUpgradeLink(this, "FSChineseRevivalist"); if (this.type !== "Shops") { fragment.append(this._makeUpgrade( "Return this sector to standard outlets", () => { - this._clearFsStyle(); this.type = "Shops"; }, cost )); @@ -696,13 +395,6 @@ App.Arcology.Cell.Shop = class extends App.Arcology.Cell.BaseCell { return fragment; } - _clearFsStyle() { - if (!["Shops", "Brothel", "Club"].includes(this.type)) { - const currentFSStyle = this.type.replace(/\s+/g, ''); - V.FSPromenade[currentFSStyle] = 0; - } - } - /** * @returns {boolean} */ diff --git a/src/data/backwardsCompatibility/backwardsCompatibility.js b/src/data/backwardsCompatibility/backwardsCompatibility.js index 6003821a60a..9f7a1170aa0 100644 --- a/src/data/backwardsCompatibility/backwardsCompatibility.js +++ b/src/data/backwardsCompatibility/backwardsCompatibility.js @@ -980,39 +980,6 @@ App.Update.globalVariables = function(node) { assistant.object(); } App.Update.FCTV(); - if (jQuery.isEmptyObject(V.FSPromenade)) { - V.FSPromenade = { - Subjugationist: 0, - Supremacist: 0, - GenderRadicalist: 0, - GenderFundamentalist: 0, - Paternalist: 0, - Degradationist: 0, - BodyPurist: 0, - TransformationFetishist: 0, - YouthPreferentialist: 0, - MaturityPreferentialist: 0, - SlimnessEnthusiast: 0, - AssetExpansionist: 0, - Pastoralist: 0, - PhysicalIdealist: 0, - ChattelReligionist: 0, - RomanRevivalist: 0, - NeoImperialist: 0, - AztecRevivalist: 0, - EgyptianRevivalist: 0, - EdoRevivalist: 0, - ArabianRevivalist: 0, - ChineseRevivalist: 0, - Repopulationist: 0, - Eugenics: 0, - Hedonism: 0, - IntellectualDependency: 0, - SlaveProfessionalism: 0, - PetiteAdmiration: 0, - StatuesqueGlorification: 0 - }; - } if (jQuery.isEmptyObject(V.arcologyUpgrade)) { V.arcologyUpgrade = { drones: 0, @@ -1324,7 +1291,6 @@ App.Update.globalVariables = function(node) { V.boughtItem.toys.enema = V.boughtItem.toys.enema || V.enema || 0; V.boughtItem.toys.medicalEnema = V.boughtItem.toys.medicalEnema || V.medicalEnema || 0; - V.FSPromenade.Hedonism = V.FSPromenade.Hedonism || V.FSPromenade.HedonisticDecadence || 0; V.building.findCells(cell => cell instanceof App.Arcology.Cell.Shop && cell.type === "Hedonistic Decadence").forEach(cell => cell.type = "Hedonism"); node.append(`Done!`); diff --git a/src/interaction/siUtilities.js b/src/interaction/siUtilities.js index 55bd7902426..c95185faa66 100644 --- a/src/interaction/siUtilities.js +++ b/src/interaction/siUtilities.js @@ -26,7 +26,7 @@ App.UI.SlaveInteract.placeInLine = function(slave) { /** @typedef RowItem * @type {object} - * @property {string} [FS] - FS requirement, if any + * @property {FC.FutureSociety} [FS] - FS requirement, if any * @property {string} [text] - link text * @property {object} [updateSlave] - properties to be merged onto the slave * @property {object} [update] - properties to be merged into global state -- GitLab