|
|
|
@@ -4,6 +4,8 @@ let belongings = {}; |
|
|
|
|
|
|
|
let ownedUpgrades = {}; |
|
|
|
|
|
|
|
let remainingUpgrades = []; |
|
|
|
|
|
|
|
let resources = {}; |
|
|
|
|
|
|
|
let updateRate = 60; |
|
|
|
@@ -25,7 +27,6 @@ function productivityOf(type) { |
|
|
|
if (!ownedUpgrades[key]) { |
|
|
|
continue; |
|
|
|
} |
|
|
|
console.log(value); |
|
|
|
if (value.effect.type == "prod-2x") { |
|
|
|
if (value.effect.target == key) { |
|
|
|
baseProd *= 2; |
|
|
|
@@ -105,19 +106,27 @@ function spend(cost) { |
|
|
|
} |
|
|
|
|
|
|
|
function displayUpgrades() { |
|
|
|
for (const [key, value] of Object.entries(upgrades)) { |
|
|
|
let button = document.querySelector("#upgrade-" + key); |
|
|
|
for (let id of remainingUpgrades) { |
|
|
|
let button = document.querySelector("#upgrade-" + id); |
|
|
|
|
|
|
|
if (ownedUpgrades[key]) { |
|
|
|
if (ownedUpgrades[id]) { |
|
|
|
button.style.display = "none"; |
|
|
|
return; |
|
|
|
continue; |
|
|
|
} |
|
|
|
if (canAfford(upgrades[key].cost)) { |
|
|
|
if (upgradeAvailable(id)) { |
|
|
|
button.classList.remove("upgrade-button-inactive"); |
|
|
|
} else { |
|
|
|
button.classList.add("upgrade-button-inactive"); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// now we throw out stuff |
|
|
|
|
|
|
|
for (let i = remainingUpgrades.length-1; i >= 0; i--) { |
|
|
|
if (ownedUpgrades[remainingUpgrades[i]]) { |
|
|
|
remainingUpgrades.splice(i, 1); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
function buyUpgrade(id) { |
|
|
|
@@ -195,10 +204,35 @@ function createBuildings() { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
function upgradeAvailable(id) { |
|
|
|
if (ownedUpgrades[id]) { |
|
|
|
return false; |
|
|
|
} |
|
|
|
|
|
|
|
if (!canAfford(upgrades[id].cost)) { |
|
|
|
return false; |
|
|
|
} |
|
|
|
|
|
|
|
for (const [type, reqs] of Object.entries(upgrades[id].prereqs)) { |
|
|
|
if (type == "buildings") { |
|
|
|
for (const [building, amount] of Object.entries(upgrades[id].prereqs[type])) { |
|
|
|
if (belongings[building].count < amount) { |
|
|
|
return false; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
return true; |
|
|
|
} |
|
|
|
|
|
|
|
function createUpgrades() { |
|
|
|
let container = document.querySelector("#upgrades-list"); |
|
|
|
|
|
|
|
for (const [key, value] of Object.entries(upgrades)) { |
|
|
|
|
|
|
|
remainingUpgrades.push(key); |
|
|
|
|
|
|
|
let button = document.createElement("div"); |
|
|
|
button.classList.add("upgrade-button"); |
|
|
|
button.id = "upgrade-" + key; |
|
|
|
|