diff --git a/constants.js b/constants.js index 353e18b..322f9f9 100644 --- a/constants.js +++ b/constants.js @@ -528,7 +528,7 @@ function createPowerupFreqUpgrades() { "upgrades": [ ], - "resources": { + "stats": { "powerups": 1 } } diff --git a/gorge.js b/gorge.js index 29e2f53..8050e91 100644 --- a/gorge.js +++ b/gorge.js @@ -43,7 +43,8 @@ const state = { resources: resources, currentProductivity: currentProductivity, belongings: belongings, - clickPowers: clickPowers + clickPowers: clickPowers, + stats: stats }; const numberModes = { @@ -755,6 +756,13 @@ function upgradeReachable(id) { } }; } + else if (type == "stats") { + for (const [stat, amount] of Object.entries(reqs)) { + if (stats[stat] < amount) { + return false; + } + }; + } } } @@ -1066,6 +1074,8 @@ function doPowerup() { clearTimeout(remove); + stats.powerups += 1; + setTimeout(() => { body.removeChild(button); }, 500); @@ -1272,8 +1282,9 @@ function load() { try { let storage = window.localStorage; + // migrate to everything in one - if (storage.getItem("save-version")) { + if (storage.getItem("save-version") !== null) { const save = {}; save.ownedUpgrades = JSON.parse(storage.getItem("ownedUpgrades")); save.resources = JSON.parse(storage.getItem("resources")); @@ -1283,8 +1294,12 @@ function load() { storage.setItem("save", JSON.stringify(save)) } + const save = JSON.parse(storage.getItem("save")); + if (save == null) + return; + migrate(save); for (const [key, value] of Object.entries(save.ownedUpgrades)) { @@ -1303,6 +1318,7 @@ function load() { stats[key] = value; } } catch (e) { + console.error(e); clickPopup("Can't load - no access to local storage.", "info", [window.innerWidth / 2, window.innerHeight / 5]); }