|  |  | @@ -4,6 +4,7 @@ let belongings = {}; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | let ownedUpgrades = {}; | 
		
	
		
			
			|  |  |  | let remainingUpgrades = []; | 
		
	
		
			
			|  |  |  | let showOwnedUpgrades = false; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | let effects = {}; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
	
		
			
				|  |  | @@ -100,7 +101,7 @@ function updateDisplay() { | 
		
	
		
			
			|  |  |  | addResources(delta); | 
		
	
		
			
			|  |  |  | displayResources(); | 
		
	
		
			
			|  |  |  | displayBuildings(); | 
		
	
		
			
			|  |  |  | displayUpgrades(); | 
		
	
		
			
			|  |  |  | displayUpgrades(showOwnedUpgrades); | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | setTimeout(updateDisplay, 1000/updateRate); | 
		
	
		
			
			|  |  |  | } | 
		
	
	
		
			
				|  |  | @@ -183,32 +184,56 @@ function spend(cost) { | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | function displayUpgrades() { | 
		
	
		
			
			|  |  |  | for (let id of remainingUpgrades) { | 
		
	
		
			
			|  |  |  | let button = document.querySelector("#upgrade-" + id); | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | if (ownedUpgrades[id]) { | 
		
	
		
			
			|  |  |  | button.style.display = "none"; | 
		
	
		
			
			|  |  |  | continue; | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | if (upgradeReachable(id)) { | 
		
	
		
			
			|  |  |  | button.classList.remove("hidden"); | 
		
	
		
			
			|  |  |  | } else { | 
		
	
		
			
			|  |  |  | button.classList.add("hidden"); | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | if (upgradeAvailable(id)) { | 
		
	
		
			
			|  |  |  | button.classList.remove("upgrade-button-inactive"); | 
		
	
		
			
			|  |  |  | } else { | 
		
	
		
			
			|  |  |  | button.classList.add("upgrade-button-inactive"); | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | function switchShowOwnedUpgrades() { | 
		
	
		
			
			|  |  |  | if (showOwnedUpgrades) { | 
		
	
		
			
			|  |  |  | document.querySelector("#upgrades").innerText = "Upgrades"; | 
		
	
		
			
			|  |  |  | } else { | 
		
	
		
			
			|  |  |  | document.querySelector("#upgrades").innerText = "Owned Upgrades"; | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | // now we throw out stuff | 
		
	
		
			
			|  |  |  | showOwnedUpgrades = !showOwnedUpgrades; | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | for (let i = remainingUpgrades.length-1; i >= 0; i--) { | 
		
	
		
			
			|  |  |  | if (ownedUpgrades[remainingUpgrades[i]]) { | 
		
	
		
			
			|  |  |  | remainingUpgrades.splice(i, 1); | 
		
	
		
			
			|  |  |  | function displayUpgrades(owned) { | 
		
	
		
			
			|  |  |  | if (owned) { | 
		
	
		
			
			|  |  |  | Object.entries(ownedUpgrades).forEach(([key, val]) => { | 
		
	
		
			
			|  |  |  | let button = document.querySelector("#upgrade-" + key); | 
		
	
		
			
			|  |  |  | if (val) { | 
		
	
		
			
			|  |  |  | button.classList.remove("hidden"); | 
		
	
		
			
			|  |  |  | } else { | 
		
	
		
			
			|  |  |  | button.classList.add("hidden"); | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | }); | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | else { | 
		
	
		
			
			|  |  |  | for (let id of remainingUpgrades) { | 
		
	
		
			
			|  |  |  | let button = document.querySelector("#upgrade-" + id); | 
		
	
		
			
			|  |  |  |  | 
		
	
		
			
			|  |  |  | if (ownedUpgrades[id]) { | 
		
	
		
			
			|  |  |  | button.classList.add("hidden"); | 
		
	
		
			
			|  |  |  | continue; | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | if (upgradeReachable(id)) { | 
		
	
		
			
			|  |  |  | button.classList.remove("hidden"); | 
		
	
		
			
			|  |  |  | } else { | 
		
	
		
			
			|  |  |  | button.classList.add("hidden"); | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | if (upgradeAvailable(id)) { | 
		
	
		
			
			|  |  |  | button.classList.remove("upgrade-button-inactive"); | 
		
	
		
			
			|  |  |  | } else { | 
		
	
		
			
			|  |  |  | button.classList.add("upgrade-button-inactive"); | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  |  | 
		
	
		
			
			|  |  |  | // we aren't trimming the list of upgrades now | 
		
	
		
			
			|  |  |  | // because we need to switch between owned and unowned upgrades | 
		
	
		
			
			|  |  |  | // - thus we need to be able to show or hide anything | 
		
	
		
			
			|  |  |  | /* | 
		
	
		
			
			|  |  |  | for (let i = remainingUpgrades.length-1; i >= 0; i--) { | 
		
	
		
			
			|  |  |  | if (ownedUpgrades[remainingUpgrades[i]]) { | 
		
	
		
			
			|  |  |  | remainingUpgrades.splice(i, 1); | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | }*/ | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
	
		
			
				|  |  | @@ -344,6 +369,8 @@ function registerListeners() { | 
		
	
		
			
			|  |  |  | document.querySelector("#save").addEventListener("click", save); | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | document.querySelector("#reset").addEventListener("click", reset); | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | document.querySelector("#upgrades").addEventListener("click", switchShowOwnedUpgrades); | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | function createButtons() { | 
		
	
	
		
			
				|  |  | 
 |