states.push({ id: "recharge-battery", button: "Recharge Battery (₩50)", action: "Recharging", duration: 3000, requires: () => { let enoughMoney = userData.money > 50; if (!enoughMoney) { errorMessage = "Not enough money to recharge battery"; return false; } let lowOnEnergy = userData.energy / userData.maxBattery < 0.9; if (!lowOnEnergy) { errorMessage = "Battery does not need a recharge"; return false; } let confirmPurchase = confirm(`Are you sure you want to recharge your batteries for ₩50?`); return confirmPurchase; }, run: () => { userData.money -= 50; userData.energy = userData.maxBattery; }, });