function secondsToTime(secs) { var h = Math.floor(secs / (60 * 60)); var divisor_for_minutes = secs % (60 * 60); var m = Math.floor(divisor_for_minutes / 60); var divisor_for_seconds = divisor_for_minutes % 60; var s = Math.ceil(divisor_for_seconds); return h + "h " + m + "m " + s + "s"; } function printNeededResources(r) { let enough = true; let enoughEnergy = true; let html = ""; html += `Requires:`; if (r.Metal <= planet.Resources.Metal) { html += ` Metal: ` + r.Metal + ``; } else { enough = false; html += ` Metal: ` + r.Metal + ``; } if (r.Crystal <= planet.Resources.Crystal) { html += ` Crystal: ` + r.Crystal + ``; } else { enough = false; html += ` Crystal: ` + r.Crystal + ``; } if (r.Deuterium <= planet.Resources.Deuterium) { html += ` Deuterium: ` + r.Deuterium + ``; } else { enough = false; html += ` Deuterium: ` + r.Deuterium + ``; } if (r.Energy <= planet.Resources.Energy) { html += ` Energy: ` + r.Energy + ``; } else { enough = false; enoughEnergy = true; html += ` Energy: ` + r.Energy + ``; } return {html, enough, enoughEnergy}; } function printResources(r) { console.log(r) document.getElementById("metal").innerHTML = r.Metal; document.getElementById("crystal").innerHTML = r.Crystal; document.getElementById("deuterium").innerHTML = r.Deuterium; document.getElementById("energy").innerHTML = r.Energy; } function coundown(t) { document.getElementById("countdown").innerHTML = ` Countdown: ` + secondsToTime(t) + ``; let timer = setInterval(function() { if (t > 0) { t--; document.getElementById("countdown").innerHTML = ` Countdown: ` + secondsToTime(t) + ``; } else { clearInterval(timer); getUser(); } }, 1000); } function printBuildings(planet) { let r = {}; let resrourcesHtml = {}; document.getElementById("planetname").innerHTML = planet.Name; if (planet.CurrentBuild.Title !== "") { document.getElementById("currentBuild").innerHTML = ` Currently building: ` + planet.CurrentBuild.Title + `
Finishes at: ` + planet.CurrentBuild.Ends + ` ` coundown(planet.CurrentBuild.CountDown); } else { document.getElementById("currentBuild").innerHTML = ""; document.getElementById("countdown").innerHTML = ""; } // metalmine if (planet.Buildings.metalmine == undefined) { document.getElementById("btnBuildMetalMine").innerHTML = `
Build building
`; r = metalmineCost(1); t = constructionTime(r, 1); resrourcesHtml = printNeededResources(r); document.getElementById("metalmineResources").innerHTML = resrourcesHtml.html + `
Construction time: ` + secondsToTime(t); } else { document.getElementById("metalmineLevel").innerHTML = "(Level " + planet.Buildings.metalmine + ")"; document.getElementById("btnBuildMetalMine").innerHTML = `
Build level ` + (+ (planet.Buildings.metalmine) + + (1)) + `
`; r = metalmineCost((+ (planet.Buildings.metalmine) + + (1))); t = constructionTime(r, (+ (planet.Buildings.roboticsfactory) + + (1))); resrourcesHtml = printNeededResources(r); document.getElementById("metalmineResources").innerHTML = resrourcesHtml.html + `
Construction time: ` + secondsToTime(t); } if (!resrourcesHtml.enough) { document.getElementById("btnBuildMetalMine").innerHTML = `not enough resources`; } if (planet.CurrentBuild.Title !== "") { document.getElementById("btnBuildMetalMine").innerHTML = `building`; } // crystalmine if (planet.Buildings.crystalmine == undefined) { document.getElementById("btnBuildCrystalMine").innerHTML = `
Build building
`; r = crystalmineCost(1); t = constructionTime(r, 1); resrourcesHtml = printNeededResources(r); document.getElementById("crystalmineResources").innerHTML = resrourcesHtml.html + `
Construction time: ` + secondsToTime(t); } else { document.getElementById("crystalmineLevel").innerHTML = "(Level " + planet.Buildings.crystalmine + ")"; document.getElementById("btnBuildCrystalMine").innerHTML = `
Build level ` + (+ (planet.Buildings.crystalmine) + + (1)) + `
`; r = crystalmineCost((+ (planet.Buildings.crystalmine) + + (1))); t = constructionTime(r, (+ (planet.Buildings.roboticsfactory) + + (1))); resrourcesHtml = printNeededResources(r); document.getElementById("crystalmineResources").innerHTML = resrourcesHtml.html + `
Construction time: ` + secondsToTime(t); } if (!resrourcesHtml.enough) { document.getElementById("btnBuildCrystalMine").innerHTML = `not enough resources`; } if (planet.CurrentBuild.Title !== "") { document.getElementById("btnBuildCrystalMine").innerHTML = `building`; } // deuteriummine{ if (planet.Buildings.deuteriummine == undefined) { document.getElementById("btnBuildDeuteriumMine").innerHTML = `
Build building
`; r = deuteriummineCost(1); t = constructionTime(r, 1); resrourcesHtml = printNeededResources(r); document.getElementById("deuteriummineResources").innerHTML = resrourcesHtml.html + `
Construction time: ` + secondsToTime(t); } else { document.getElementById("deuteriummineLevel").innerHTML = "(Level " + planet.Buildings.deuteriummine + ")"; document.getElementById("btnBuildDeuteriumMine").innerHTML = `
Build level ` + (+ (planet.Buildings.deuteriummine) + + (1)) + `
`; r = deuteriummineCost((+ (planet.Buildings.deuteriummine) + + (1))); t = constructionTime(r, (+ (planet.Buildings.roboticsfactory) + + (1))); resrourcesHtml = printNeededResources(r); document.getElementById("deuteriummineResources").innerHTML = resrourcesHtml.html + `
Construction time: ` + secondsToTime(t); } if (!resrourcesHtml.enough) { document.getElementById("btnBuildDeuteriumMine").innerHTML = `not enough resources`; } if (planet.CurrentBuild.Title !== "") { document.getElementById("btnBuildDeuteriumMine").innerHTML = `building`; } // energymine if (planet.Buildings.energymine == undefined) { document.getElementById("btnBuildEnergyMine").innerHTML = `
Build building
`; r = energymineCost(1); t = constructionTime(r, 1); resrourcesHtml = printNeededResources(r); document.getElementById("energymineResources").innerHTML = resrourcesHtml.html + `
Construction time: ` + secondsToTime(t); } else { document.getElementById("energymineLevel").innerHTML = "(Level " + planet.Buildings.energymine + ")"; document.getElementById("btnBuildEnergyMine").innerHTML = `
Build level ` + (+ (planet.Buildings.energymine) + + (1)) + `
`; r = energymineCost((+ (planet.Buildings.energymine) + + (1))); t = constructionTime(r, (+ (planet.Buildings.roboticsfactory) + + (1))); resrourcesHtml = printNeededResources(r); document.getElementById("energymineResources").innerHTML = resrourcesHtml.html + `
Construction time: ` + secondsToTime(t); } if (!resrourcesHtml.enoughEnergy) { document.getElementById("btnBuildEnergyMine").innerHTML = `not enough resources`; } if (planet.CurrentBuild.Title !== "") { document.getElementById("btnBuildEnergyMine").innerHTML = `building`; } // fusionreactor if (planet.Buildings.fusionreactor == undefined) { document.getElementById("btnBuildFusionReactor").innerHTML = `
Build building
`; r = fusionreactorCost(1); t = constructionTime(r, 1); resrourcesHtml = printNeededResources(r); document.getElementById("fusionreactorResources").innerHTML = resrourcesHtml.html + `
Construction time: ` + secondsToTime(t); } else { document.getElementById("fusionreactorLevel").innerHTML = "(Level " + planet.Buildings.fusionreactor + ")"; document.getElementById("btnBuildFusionReactor").innerHTML = `
Build level ` + (+ (planet.Buildings.fusionreactor) + + (1)) + `
`; r = fusionreactorCost((+ (planet.Buildings.fusionreactor) + + (1))); t = constructionTime(r, (+ (planet.Buildings.roboticsfactory) + + (1))); resrourcesHtml = printNeededResources(r); document.getElementById("fusionreactorResources").innerHTML = resrourcesHtml.html + `
Construction time: ` + secondsToTime(t); } if (!resrourcesHtml.enough) { document.getElementById("btnBuildFusionReactor").innerHTML = `not enough resources`; } if (planet.CurrentBuild.Title !== "") { document.getElementById("btnBuildFusionReactor").innerHTML = `building`; } // roboticsfactory if (planet.Buildings.roboticsfactory == undefined) { document.getElementById("btnBuildRoboticsFactory").innerHTML = `
Build building
`; r = roboticsfactoryCost(1); t = constructionTime(r, 1); resrourcesHtml = printNeededResources(r); document.getElementById("roboticsfactoryResources").innerHTML = resrourcesHtml.html + `
Construction time: ` + secondsToTime(t); } else { document.getElementById("roboticsfactoryLevel").innerHTML = "(Level " + planet.Buildings.roboticsfactory + ")"; document.getElementById("btnBuildRoboticsFactory").innerHTML = `
Build level ` + (+ (planet.Buildings.roboticsfactory) + + (1)) + `
`; r = roboticsfactoryCost((+ (planet.Buildings.roboticsfactory) + + (1))); t = constructionTime(r, (+ (planet.Buildings.roboticsfactory) + + (1))); resrourcesHtml = printNeededResources(r); document.getElementById("roboticsfactoryResources").innerHTML = resrourcesHtml.html + `
Construction time: ` + secondsToTime(t); } if (!resrourcesHtml.enough) { document.getElementById("btnBuildRoboticsFactory").innerHTML = `not enough resources`; } if (planet.CurrentBuild.Title !== "") { document.getElementById("btnBuildRoboticsFactory").innerHTML = `building`; } // shipyard if (planet.Buildings.shipyard == undefined) { document.getElementById("btnBuildShipyard").innerHTML = `
Build building
`; r = shipyardCost(1); t = constructionTime(r, 1); resrourcesHtml = printNeededResources(r); document.getElementById("shipyardResources").innerHTML = resrourcesHtml.html + `
Construction time: ` + secondsToTime(t); } else { document.getElementById("shipyardLevel").innerHTML = "(Level " + planet.Buildings.shipyard + ")"; document.getElementById("btnBuildShipyard").innerHTML = `
Build level ` + (+ (planet.Buildings.shipyard) + + (1)) + `
`; r = shipyardCost((+ (planet.Buildings.shipyard) + + (1))); t = constructionTime(r, (+ (planet.Buildings.roboticsfactory) + + (1))); resrourcesHtml = printNeededResources(r); document.getElementById("shipyardResources").innerHTML = resrourcesHtml.html + `
Construction time: ` + secondsToTime(t); } if (!resrourcesHtml.enough) { document.getElementById("btnBuildShipyard").innerHTML = `not enough resources`; } if (planet.CurrentBuild.Title !== "") { document.getElementById("btnBuildShipyard").innerHTML = `building`; } // metalstorage if (planet.Buildings.metalstorage == undefined) { document.getElementById("btnBuildMetalStorage").innerHTML = `
Build building
`; r = metalstorageCost(1); t = constructionTime(r, 1); resrourcesHtml = printNeededResources(r); document.getElementById("metalstorageResources").innerHTML = resrourcesHtml.html + `
Construction time: ` + secondsToTime(t); } else { document.getElementById("metalstorageLevel").innerHTML = "(Level " + planet.Buildings.metalstorage + ")"; document.getElementById("btnBuildMetalStorage").innerHTML = `
Build level ` + (+ (planet.Buildings.metalstorage) + + (1)) + `
`; r = metalstorageCost((+ (planet.Buildings.metalstorage) + + (1))); t = constructionTime(r, (+ (planet.Buildings.roboticsfactory) + + (1))); resrourcesHtml = printNeededResources(r); document.getElementById("metalstorageResources").innerHTML = resrourcesHtml.html + `
Construction time: ` + secondsToTime(t); } if (!resrourcesHtml.enough) { document.getElementById("btnBuildMetalStorage").innerHTML = `not enough resources`; } if (planet.CurrentBuild.Title !== "") { document.getElementById("btnBuildMetalStorage").innerHTML = `building`; } // crystalstorage if (planet.Buildings.crystalstorage == undefined) { document.getElementById("btnBuildCrystalStorage").innerHTML = `
Build building
`; r = crystalstorageCost(1); t = constructionTime(r, 1); resrourcesHtml = printNeededResources(r); document.getElementById("crystalstorageResources").innerHTML = resrourcesHtml.html + `
Construction time: ` + secondsToTime(t); } else { document.getElementById("crystalstorageLevel").innerHTML = "(Level " + planet.Buildings.crystalstorage + ")"; document.getElementById("btnBuildCrystalStorage").innerHTML = `
Build level ` + (+ (planet.Buildings.crystalstorage) + + (1)) + `
`; r = crystalstorageCost((+ (planet.Buildings.crystalstorage) + + (1))); t = constructionTime(r, (+ (planet.Buildings.roboticsfactory) + + (1))); resrourcesHtml = printNeededResources(r); document.getElementById("crystalstorageResources").innerHTML = resrourcesHtml.html + `
Construction time: ` + secondsToTime(t); } if (!resrourcesHtml.enough) { document.getElementById("btnBuildCrystalStorage").innerHTML = `not enough resources`; } if (planet.CurrentBuild.Title !== "") { document.getElementById("btnBuildCrystalStorage").innerHTML = `building`; } // deuteriumstorage if (planet.Buildings.deuteriumstorage == undefined) { document.getElementById("btnBuildDeuteriumStorage").innerHTML = `
Build building
`; r = deuteriumstorageCost(1); t = constructionTime(r, 1); resrourcesHtml = printNeededResources(r); document.getElementById("deuteriumstorageResources").innerHTML = resrourcesHtml.html + `
Construction time: ` + secondsToTime(t); } else { document.getElementById("deuteriumstorageLevel").innerHTML = "(Level " + planet.Buildings.deuteriumstorage + ")"; document.getElementById("btnBuildDeuteriumStorage").innerHTML = `
Build level ` + (+ (planet.Buildings.deuteriumstorage) + + (1)) + `
`; r = deuteriumstorageCost((+ (planet.Buildings.deuteriumstorage) + + (1))); t = constructionTime(r, (+ (planet.Buildings.roboticsfactory) + + (1))); resrourcesHtml = printNeededResources(r); document.getElementById("deuteriumstorageResources").innerHTML = resrourcesHtml.html + `
Construction time: ` + secondsToTime(t); } if (!resrourcesHtml.enough) { document.getElementById("btnBuildDeuteriumStorage").innerHTML = `not enough resources`; } if (planet.CurrentBuild.Title !== "") { document.getElementById("btnBuildDeuteriumStorage").innerHTML = `building`; } // ressearchlab if (planet.Buildings.ressearchlab == undefined) { document.getElementById("btnBuildRessearchLab").innerHTML = `
Build building
`; r = ressearchlabCost(1); t = constructionTime(r, 1); resrourcesHtml = printNeededResources(r); document.getElementById("ressearchlabResources").innerHTML = resrourcesHtml.html + `
Construction time: ` + secondsToTime(t); } else { document.getElementById("ressearchlabLevel").innerHTML = "(Level " + planet.Buildings.ressearchlab + ")"; document.getElementById("btnBuildRessearchLab").innerHTML = `
Build level ` + (+ (planet.Buildings.ressearchlab) + + (1)) + `
`; r = ressearchlabCost((+ (planet.Buildings.ressearchlab) + + (1))); t = constructionTime(r, (+ (planet.Buildings.roboticsfactory) + + (1))); resrourcesHtml = printNeededResources(r); document.getElementById("ressearchlabResources").innerHTML = resrourcesHtml.html + `
Construction time: ` + secondsToTime(t); } if (!resrourcesHtml.enough) { document.getElementById("btnBuildRessearchLab").innerHTML = `not enough resources`; } if (planet.CurrentBuild.Title !== "") { document.getElementById("btnBuildRessearchLab").innerHTML = `building`; } // alliancedepot if (planet.Buildings.alliancedepot == undefined) { document.getElementById("btnBuildAllianceDepot").innerHTML = `
Build building
`; r = alliancedepotCost(1); t = constructionTime(r, 1); resrourcesHtml = printNeededResources(r); document.getElementById("alliancedepotResources").innerHTML = resrourcesHtml.html + `
Construction time: ` + secondsToTime(t); } else { document.getElementById("alliancedepotLevel").innerHTML = "(Level " + planet.Buildings.alliancedepot + ")"; document.getElementById("btnBuildAllianceDepot").innerHTML = `
Build level ` + (+ (planet.Buildings.alliancedepot) + + (1)) + `
`; r = alliancedepotCost((+ (planet.Buildings.alliancedepot) + + (1))); t = constructionTime(r, (+ (planet.Buildings.roboticsfactory) + + (1))); resrourcesHtml = printNeededResources(r); document.getElementById("alliancedepotResources").innerHTML = resrourcesHtml.html + `
Construction time: ` + secondsToTime(t); } if (!resrourcesHtml.enough) { document.getElementById("btnBuildAllianceDepot").innerHTML = `not enough resources`; } if (planet.CurrentBuild.Title !== "") { document.getElementById("btnBuildAllianceDepot").innerHTML = `building`; } // missilesilo if (planet.Buildings.missilesilo == undefined) { document.getElementById("btnBuildMissileSilo").innerHTML = `
Build building
`; r = missilesiloCost(1); t = constructionTime(r, 1); resrourcesHtml = printNeededResources(r); document.getElementById("missilesiloResources").innerHTML = resrourcesHtml.html + `
Construction time: ` + secondsToTime(t); } else { document.getElementById("missilesiloLevel").innerHTML = "(Level " + planet.Buildings.missilesilo + ")"; document.getElementById("btnBuildMissileSilo").innerHTML = `
Build level ` + (+ (planet.Buildings.missilesilo) + + (1)) + `
`; r = missilesiloCost((+ (planet.Buildings.missilesilo) + + (1))); t = constructionTime(r, (+ (planet.Buildings.roboticsfactory) + + (1))); resrourcesHtml = printNeededResources(r); document.getElementById("missilesiloResources").innerHTML = resrourcesHtml.html + `
Construction time: ` + secondsToTime(t); } if (!resrourcesHtml.enough) { document.getElementById("btnBuildMissileSilo").innerHTML = `not enough resources`; } if (planet.CurrentBuild.Title !== "") { document.getElementById("btnBuildMissileSilo").innerHTML = `building`; } // spacedock if (planet.Buildings.spacedock == undefined) { document.getElementById("btnBuildSpacedock").innerHTML = `
Build building
`; r = spacedockCost(1); t = constructionTime(r, 1); resrourcesHtml = printNeededResources(r); document.getElementById("spacedockResources").innerHTML = resrourcesHtml.html + `
Construction time: ` + secondsToTime(t); } else { document.getElementById("spacedockLevel").innerHTML = "(Level " + planet.Buildings.spacedock + ")"; document.getElementById("btnBuildSpacedock").innerHTML = `
Build level ` + (+ (planet.Buildings.spacedock) + + (1)) + `
`; r = spacedockCost((+ (planet.Buildings.spacedock) + + (1))); t = constructionTime(r, (+ (planet.Buildings.roboticsfactory) + + (1))); resrourcesHtml = printNeededResources(r); document.getElementById("spacedockResources").innerHTML = resrourcesHtml.html + `
Construction time: ` + secondsToTime(t); } if (!resrourcesHtml.enough) { document.getElementById("btnBuildSpacedock").innerHTML = `not enough resources`; } if (planet.CurrentBuild.Title !== "") { document.getElementById("btnBuildSpacedock").innerHTML = `building`; } } function buildBuilding(building) { console.log("build " + building); const data = { planetid: planetid, building: building } axios.post(url + "/buildings", data, config).then(function(res) { console.log("buildings", res.data); planet = res.data.planet; // printResources(planet.Resources); printBuildings(planet); }).catch(function(error) { console.log(error); }); }