From 4ff02e064ef4bd40754c0dc9d554d3772fb53fbd Mon Sep 17 00:00:00 2001 From: slweeb <91897291+slweeb@users.noreply.github.com> Date: Sun, 28 Jan 2024 18:10:08 -0500 Subject: [PATCH] Update alchemy.js --- mods/alchemy.js | 65 ++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 53 insertions(+), 12 deletions(-) diff --git a/mods/alchemy.js b/mods/alchemy.js index f0a61288..31a69de7 100644 --- a/mods/alchemy.js +++ b/mods/alchemy.js @@ -1,11 +1,30 @@ -// Warning: This mod will remove all of your previously unlocked elements. +// unhide oxygen (air), dirt (earth), fire, and water +if (!settings.alchemyUnlocked) { + settings.alchemyUnlocked = { + "oxygen": true, + "dirt": true, + "fire": true, + "water": true, + }; +} +if (settings.unlocked.alchemymod) { + for (var element in settings.unlocked) { + if (settings.unlocked[element]) { + settings.alchemyUnlocked[element] = true + } + } +} // loop through the elements object if (elements.explosion) { elements.explosion.category = "tools"; } for (var element in elements) { - if (elements[element].category !== "tools") { + if (settings.alchemyUnlocked[element]) { + elements[element].hidden = false; + if (elements[element].category !== "tools") { elements[element].category = "alchemy mod"; } + } + else if (elements[element].category !== "tools") { // give the element the hidden attribute true elements[element].hidden = true; // set its category to "alchemy mod" @@ -16,13 +35,35 @@ for (var element in elements) { // set the unhide setting to Unlock as Discovered (2) settings.unhide = 2; -// unhide oxygen (air), dirt (earth), fire, and water -if (!settings.unlocked.alchemymod) { - settings.unlocked = { - "oxygen": true, - "dirt": true, - "fire": true, - "water": true, - "alchemymod": true, - }; -} \ No newline at end of file +runAfterLoad(function(){ + checkUnlock = function(element) { + if (elements[element] && elements[element].hidden && !settings.alchemyUnlocked[element]) { + settings.alchemyUnlocked[element] = true; + if (settings.unhide === 2) { + createElementButton(element) + var categoryButton = document.querySelector(".categoryButton[current='true']"); + var currentCategory = categoryButton.getAttribute("category"); + if (currentCategory !== elements[element].category) { + document.getElementById("categoryButton-"+elements[element].category).classList.add("notify"); + } + // add notify to the elementButton of the element + document.getElementById("elementButton-"+element).classList.add("notify"); + } + saveSettings(); + } + } +}) +runAfterAutogen(function(){ + for (var element in elements) { + if (elements[element].category === "states") { + elements[element].category = "alchemy mod" + } + } +}) +window.addEventListener("load",function(){ + for (var element in elements) { + if (elements[element].hidden && document.getElementById("elementButton-"+element)) { + document.getElementById("elementButton-"+element).remove() + } + } +}) \ No newline at end of file