diff --git a/src/cheats/mod_EditArcologyCheatDatatypeCleanup.tw b/src/cheats/mod_EditArcologyCheatDatatypeCleanup.tw index d8672281baf768c3328b07618c45008abfa6d3c6..e7f467557ae39e99184858fb6eabc95ad5f84676 100644 --- a/src/cheats/mod_EditArcologyCheatDatatypeCleanup.tw +++ b/src/cheats/mod_EditArcologyCheatDatatypeCleanup.tw @@ -13,7 +13,7 @@ <</if>> <<unset $customEvalCode>> -<<run ArcologyDatatypeCleanup()>> +<<run App.Update.playerArcologyDatatypeCleanup()>> <<run App.Update.playerFSDatatypeCleanup()>> The chanting grows louder and louder, CHEAT! CHEAT! CHEAT! diff --git a/src/data/backwardsCompatibility/backwardsCompatibility.js b/src/data/backwardsCompatibility/backwardsCompatibility.js index 023126557c32c79028d046077ffe457fac66cb7c..0e3ff1d2dbc88f4947ab88e1b326f610c537d80e 100644 --- a/src/data/backwardsCompatibility/backwardsCompatibility.js +++ b/src/data/backwardsCompatibility/backwardsCompatibility.js @@ -1295,10 +1295,20 @@ App.Update.globalVariables = function(node) { if (typeof V.sexSupplyBarriersLC !== "undefined") { V.sexSupplyBarriers.lowerClass = V.sexSupplyBarriersLC; } + + // Food V.food = Math.max(+V.food, 0) || 12500; + V.foodCost = Math.trunc(2500 / V.localEcon); if (V.foodConsumption === 0) { V.foodConsumption = ((V.lowerClass * V.foodRate.lower) + (V.middleClass * V.foodRate.middle) + (V.upperClass * V.foodRate.upper) + (V.topClass * V.foodRate.top)); /* total amount food consumed per week */ } + if (V.localEcon > 100) { + V.farmyardFoodCost = Math.max(5 / (1 + (Math.trunc(1000-100000/V.localEcon)/10)/100), 3.125); + } else if (V.localEcon === 100) { + V.farmyardFoodCost = 5; + } else { + V.farmyardFoodCost = Math.min(5 * (1 + 1.5 * Math.sqrt(Math.trunc(100000/V.localEcon-1000)/10)/100), 6.5); + } } // Recalculate finished prosthetics @@ -1324,8 +1334,29 @@ App.Update.globalVariables = function(node) { V.nicaea.name = V.nicaea.name || V.nicaeaName || ""; V.nicaea.influence = V.nicaea.influence || V.nicaeaInfluence || 0; + V.shelterAbuse = Math.max(+V.shelterAbuse, 0) || 0; + + // Menials + V.menials = Math.max(+V.menials, 0) || 0; + V.fuckdolls = Math.max(+V.fuckdolls, 0) || 0; + V.menialBioreactors = Math.max(+V.menialBioreactors, 0) || 0; + + V.ACitizens = Math.max(+V.ACitizens, 0) || 0; + V.ASlaves = Math.max(+V.ASlaves, 0) || V.NPCSlaves + V.menials + V.fuckdolls + V.menialBioreactors; + + // Materials costs + V.drugsCost = Math.trunc(10000 / V.localEcon); + V.rulesCost = Math.trunc(10000 / V.localEcon); + V.modCost = Math.trunc(5000 / V.localEcon); + V.surgeryCost = Math.trunc(30000 / (V.localEcon * ((V.PC.career === "medicine" || V.PC.career === "medical assistant" || V.PC.career === "nurse") ? 2 : 1))); + V.facilityCost = +V.facilityCost || 100; + + // Schools + for (const school of App.Data.misc.schools.keys()) { + V[school].studentsBought = Math.max(+V[school].studentsBought, 0) || 0; + V[school].schoolProsperity = Math.clamp(+V[school].schoolProsperity, -10, 10) || 0; + } EconomyDatatypeCleanup(); - ArcologyDatatypeCleanup(); // Job Fulfillment Center (JFC) V.JFC.order = V.JFC.order || V.JFCOrder || 0; diff --git a/src/data/backwardsCompatibility/datatypeCleanup.js b/src/data/backwardsCompatibility/datatypeCleanup.js index 030cfe33c57a095e48da0bfabdf938a773741233..5c05c5bfb0df950d9a670aab3f2e9ccb8c075405 100644 --- a/src/data/backwardsCompatibility/datatypeCleanup.js +++ b/src/data/backwardsCompatibility/datatypeCleanup.js @@ -1381,7 +1381,6 @@ globalThis.PCDatatypeCleanup = function() { }; globalThis.EconomyDatatypeCleanup = function() { - V.arcologies[0].prosperity = Math.clamp(+V.arcologies[0].prosperity, 1, V.AProsperityCap) || 1; V.AProsperityCap = Math.max(+V.AProsperityCap, 0) || 0; if (V.economy === 0.5) { V.economy = 200; @@ -1510,36 +1509,10 @@ globalThis.EconomyDatatypeCleanup = function() { } }; -globalThis.ArcologyDatatypeCleanup = function() { +App.Update.playerArcologyDatatypeCleanup = function() { V.arcologies[0].ownership = Math.clamp(+V.arcologies[0].ownership, 0, 100) || 0; V.arcologies[0].minority = Math.clamp(+V.arcologies[0].minority, 0, 100) || 0; - - V.menials = Math.max(+V.menials, 0) || 0; - V.fuckdolls = Math.max(+V.fuckdolls, 0) || 0; - V.menialBioreactors = Math.max(+V.menialBioreactors, 0) || 0; - - V.ACitizens = Math.max(+V.ACitizens, 0) || 0; - V.ASlaves = Math.max(+V.ASlaves, 0) || V.NPCSlaves + V.menials + V.fuckdolls + V.menialBioreactors; - V.shelterAbuse = Math.max(+V.shelterAbuse, 0) || 0; - - if (V.localEcon > 100) { - V.farmyardFoodCost = Math.max(5 / (1 + (Math.trunc(1000-100000/V.localEcon)/10)/100), 3.125); - } else if (V.localEcon === 100) { - V.farmyardFoodCost = 5; - } else { - V.farmyardFoodCost = Math.min(5 * (1 + 1.5 * Math.sqrt(Math.trunc(100000/V.localEcon-1000)/10)/100), 6.5); - } - V.foodCost = Math.trunc(2500 / V.localEcon); - V.drugsCost = Math.trunc(10000 / V.localEcon); - V.rulesCost = Math.trunc(10000 / V.localEcon); - V.modCost = Math.trunc(5000 / V.localEcon); - V.surgeryCost = Math.trunc(30000 / (V.localEcon * ((V.PC.career === "medicine" || V.PC.career === "medical assistant" || V.PC.career === "nurse") ? 2 : 1))); - V.facilityCost = +V.facilityCost || 100; - - for (const school of App.Data.misc.schools.keys()) { - V[school].studentsBought = Math.max(+V[school].studentsBought, 0) || 0; - V[school].schoolProsperity = Math.clamp(+V[school].schoolProsperity, -10, 10) || 0; - } + V.arcologies[0].prosperity = Math.clamp(+V.arcologies[0].prosperity, 1, V.AProsperityCap) || 1; }; globalThis.FacilityDatatypeCleanup = (function() {