You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

467 lines
23 KiB

  1. function secondsToTime(secs) {
  2. var h = Math.floor(secs / (60 * 60));
  3. var divisor_for_minutes = secs % (60 * 60);
  4. var m = Math.floor(divisor_for_minutes / 60);
  5. var divisor_for_seconds = divisor_for_minutes % 60;
  6. var s = Math.ceil(divisor_for_seconds);
  7. return h + "h " + m + "m " + s + "s";
  8. }
  9. function printNeededResources(r) {
  10. let enough = true;
  11. let html = "";
  12. html += `Requires:`;
  13. if (r.Metal <= planet.Resources.Metal) {
  14. html += ` Metal: <b style="color:lime;">` + r.Metal + `</b>`;
  15. } else {
  16. enough = false;
  17. html += ` Metal: <b style="color:red;">` + r.Metal + `</b>`;
  18. }
  19. if (r.Crystal <= planet.Resources.Crystal) {
  20. html += ` Crystal: <b style="color:lime;">` + r.Crystal + `</b>`;
  21. } else {
  22. enough = false;
  23. html += ` Crystal: <b style="color:red;">` + r.Crystal + `</b>`;
  24. }
  25. if (r.Deuterium <= planet.Resources.Deuterium) {
  26. html += ` Deuterium: <b style="color:lime;">` + r.Deuterium + `</b>`;
  27. } else {
  28. enough = false;
  29. html += ` Deuterium: <b style="color:red;">` + r.Deuterium + `</b>`;
  30. }
  31. if (r.Energy <= planet.Resources.Energy) {
  32. html += ` Energy: <b style="color: lime;">` + r.Energy + `</b>`;
  33. } else {
  34. enough = false;
  35. html += ` Energy: <b style="color: red;">` + r.Energy + `</b>`;
  36. }
  37. return {html, enough};
  38. }
  39. function printResources(r) {
  40. console.log(r)
  41. document.getElementById("metal").innerHTML = r.Metal;
  42. document.getElementById("crystal").innerHTML = r.Crystal;
  43. document.getElementById("deuterium").innerHTML = r.Deuterium;
  44. document.getElementById("energy").innerHTML = r.Energy;
  45. }
  46. function coundown(t) {
  47. document.getElementById("countdown").innerHTML = `
  48. Countdown: <b>` + secondsToTime(t) + `</b>`;
  49. let timer = setInterval(function() {
  50. if (t > 0) {
  51. t--;
  52. document.getElementById("countdown").innerHTML = `
  53. Countdown: <b>` + secondsToTime(t) + `</b>`;
  54. } else {
  55. clearInterval(timer);
  56. getUser();
  57. }
  58. }, 1000);
  59. }
  60. function printBuildings(planet) {
  61. let r = {};
  62. let resrourcesHtml = {};
  63. document.getElementById("planetname").innerHTML = planet.Name;
  64. if (planet.CurrentBuild.Title !== "") {
  65. document.getElementById("currentBuild").innerHTML = `
  66. Currently building: <b>` + planet.CurrentBuild.Title + `</b>
  67. <br>
  68. Finishes at: <b>` + planet.CurrentBuild.Ends + `</b>
  69. `
  70. coundown(planet.CurrentBuild.CountDown);
  71. } else {
  72. document.getElementById("currentBuild").innerHTML = "";
  73. document.getElementById("countdown").innerHTML = "";
  74. }
  75. // metalmine
  76. if (planet.Buildings.metalmine == undefined) {
  77. document.getElementById("btnBuildMetalMine").innerHTML = `<div class="allowed" onclick="buildBuilding('metalmine')">Build building</div>`;
  78. r = metalmineCost(1);
  79. t = constructionTime(r, 1);
  80. resrourcesHtml = printNeededResources(r);
  81. document.getElementById("metalmineResources").innerHTML = resrourcesHtml.html + `
  82. <br>
  83. Construction time: ` + secondsToTime(t);
  84. } else {
  85. document.getElementById("metalmineLevel").innerHTML = "(Level " + planet.Buildings.metalmine + ")";
  86. document.getElementById("btnBuildMetalMine").innerHTML = `<div class="allowed" onclick="buildBuilding('metalmine')">Build level ` + (+ (planet.Buildings.metalmine) + + (1)) + `</div>`;
  87. r = metalmineCost((+ (planet.Buildings.metalmine) + + (1)));
  88. t = constructionTime(r, (+ (planet.Buildings.roboticsfactory) + + (1)));
  89. resrourcesHtml = printNeededResources(r);
  90. document.getElementById("metalmineResources").innerHTML = resrourcesHtml.html + `
  91. <br>
  92. Construction time: ` + secondsToTime(t);
  93. }
  94. if (!resrourcesHtml.enough) {
  95. document.getElementById("btnBuildMetalMine").innerHTML = `<span style="color: red;">not enough resources</span>`;
  96. }
  97. if (planet.CurrentBuild.Title !== "") {
  98. document.getElementById("btnBuildMetalMine").innerHTML = `<span style="color: red;">building</span>`;
  99. }
  100. // crystalmine
  101. if (planet.Buildings.crystalmine == undefined) {
  102. document.getElementById("btnBuildCrystalMine").innerHTML = `<div class="allowed" onclick="buildBuilding('crystalmine')">Build building</div>`;
  103. r = crystalmineCost(1);
  104. t = constructionTime(r, 1);
  105. resrourcesHtml = printNeededResources(r);
  106. document.getElementById("crystalmineResources").innerHTML = resrourcesHtml.html + `
  107. <br>
  108. Construction time: ` + secondsToTime(t);
  109. } else {
  110. document.getElementById("crystalmineLevel").innerHTML = "(Level " + planet.Buildings.crystalmine + ")";
  111. document.getElementById("btnBuildCrystalMine").innerHTML = `<div class="allowed" onclick="buildBuilding('crystalmine')">Build level ` + (+ (planet.Buildings.crystalmine) + + (1)) + `</div>`;
  112. r = crystalmineCost((+ (planet.Buildings.crystalmine) + + (1)));
  113. t = constructionTime(r, (+ (planet.Buildings.roboticsfactory) + + (1)));
  114. resrourcesHtml = printNeededResources(r);
  115. document.getElementById("crystalmineResources").innerHTML = resrourcesHtml.html + `
  116. <br>
  117. Construction time: ` + secondsToTime(t);
  118. }
  119. if (!resrourcesHtml.enough) {
  120. document.getElementById("btnBuildCrystalMine").innerHTML = `<span style="color: red;">not enough resources</span>`;
  121. }
  122. if (planet.CurrentBuild.Title !== "") {
  123. document.getElementById("btnBuildCrystalMine").innerHTML = `<span style="color: red;">building</span>`;
  124. }
  125. // deuteriummine{
  126. if (planet.Buildings.deuteriummine == undefined) {
  127. document.getElementById("btnBuildDeuteriumMine").innerHTML = `<div class="allowed" onclick="buildBuilding('deuteriummine')">Build building</div>`;
  128. r = deuteriummineCost(1);
  129. t = constructionTime(r, 1);
  130. resrourcesHtml = printNeededResources(r);
  131. document.getElementById("deuteriummineResources").innerHTML = resrourcesHtml.html + `
  132. <br>
  133. Construction time: ` + secondsToTime(t);
  134. } else {
  135. document.getElementById("deuteriummineLevel").innerHTML = "(Level " + planet.Buildings.deuteriummine + ")";
  136. document.getElementById("btnBuildDeuteriumMine").innerHTML = `<div class="allowed" onclick="buildBuilding('deuteriummine')">Build level ` + (+ (planet.Buildings.deuteriummine) + + (1)) + `</div>`;
  137. r = deuteriummineCost((+ (planet.Buildings.deuteriummine) + + (1)));
  138. t = constructionTime(r, (+ (planet.Buildings.roboticsfactory) + + (1)));
  139. resrourcesHtml = printNeededResources(r);
  140. document.getElementById("deuteriummineResources").innerHTML = resrourcesHtml.html + `
  141. <br>
  142. Construction time: ` + secondsToTime(t);
  143. }
  144. if (!resrourcesHtml.enough) {
  145. document.getElementById("btnBuildDeuteriumMine").innerHTML = `<span style="color: red;">not enough resources</span>`;
  146. }
  147. if (planet.CurrentBuild.Title !== "") {
  148. document.getElementById("btnBuildDeuteriumMine").innerHTML = `<span style="color: red;">building</span>`;
  149. }
  150. // energymine
  151. if (planet.Buildings.energymine == undefined) {
  152. document.getElementById("btnBuildEnergyMine").innerHTML = `<div class="allowed" onclick="buildBuilding('energymine')">Build building</div>`;
  153. r = energymineCost(1);
  154. t = constructionTime(r, 1);
  155. resrourcesHtml = printNeededResources(r);
  156. document.getElementById("energymineResources").innerHTML = resrourcesHtml.html + `
  157. <br>
  158. Construction time: ` + secondsToTime(t);
  159. } else {
  160. document.getElementById("energymineLevel").innerHTML = "(Level " + planet.Buildings.energymine + ")";
  161. document.getElementById("btnBuildEnergyMine").innerHTML = `<div class="allowed" onclick="buildBuilding('energymine')">Build level ` + (+ (planet.Buildings.energymine) + + (1)) + `</div>`;
  162. r = energymineCost((+ (planet.Buildings.energymine) + + (1)));
  163. t = constructionTime(r, (+ (planet.Buildings.roboticsfactory) + + (1)));
  164. resrourcesHtml = printNeededResources(r);
  165. document.getElementById("energymineResources").innerHTML = resrourcesHtml.html + `
  166. <br>
  167. Construction time: ` + secondsToTime(t);
  168. }
  169. if (!resrourcesHtml.enough) {
  170. document.getElementById("btnBuildEnergyMine").innerHTML = `<span style="color: red;">not enough resources</span>`;
  171. }
  172. if (planet.CurrentBuild.Title !== "") {
  173. document.getElementById("btnBuildEnergyMine").innerHTML = `<span style="color: red;">building</span>`;
  174. }
  175. // fusionreactor
  176. if (planet.Buildings.fusionreactor == undefined) {
  177. document.getElementById("btnBuildFusionReactor").innerHTML = `<div class="allowed" onclick="buildBuilding('fusionreactor')">Build building</div>`;
  178. r = fusionreactorCost(1);
  179. t = constructionTime(r, 1);
  180. resrourcesHtml = printNeededResources(r);
  181. document.getElementById("fusionreactorResources").innerHTML = resrourcesHtml.html + `
  182. <br>
  183. Construction time: ` + secondsToTime(t);
  184. } else {
  185. document.getElementById("fusionreactorLevel").innerHTML = "(Level " + planet.Buildings.fusionreactor + ")";
  186. document.getElementById("btnBuildFusionReactor").innerHTML = `<div class="allowed" onclick="buildBuilding('fusionreactor')">Build level ` + (+ (planet.Buildings.fusionreactor) + + (1)) + `</div>`;
  187. r = fusionreactorCost((+ (planet.Buildings.fusionreactor) + + (1)));
  188. t = constructionTime(r, (+ (planet.Buildings.roboticsfactory) + + (1)));
  189. resrourcesHtml = printNeededResources(r);
  190. document.getElementById("fusionreactorResources").innerHTML = resrourcesHtml.html + `
  191. <br>
  192. Construction time: ` + secondsToTime(t);
  193. }
  194. if (!resrourcesHtml.enough) {
  195. document.getElementById("btnBuildFusionReactor").innerHTML = `<span style="color: red;">not enough resources</span>`;
  196. }
  197. if (planet.CurrentBuild.Title !== "") {
  198. document.getElementById("btnBuildFusionReactor").innerHTML = `<span style="color: red;">building</span>`;
  199. }
  200. // roboticsfactory
  201. if (planet.Buildings.roboticsfactory == undefined) {
  202. document.getElementById("btnBuildRoboticsFactory").innerHTML = `<div class="allowed" onclick="buildBuilding('roboticsfactory')">Build building</div>`;
  203. r = roboticsfactoryCost(1);
  204. t = constructionTime(r, 1);
  205. resrourcesHtml = printNeededResources(r);
  206. document.getElementById("roboticsfactoryResources").innerHTML = resrourcesHtml.html + `
  207. <br>
  208. Construction time: ` + secondsToTime(t);
  209. } else {
  210. document.getElementById("roboticsfactoryLevel").innerHTML = "(Level " + planet.Buildings.roboticsfactory + ")";
  211. document.getElementById("btnBuildRoboticsFactory").innerHTML = `<div class="allowed" onclick="buildBuilding('roboticsfactory')">Build level ` + (+ (planet.Buildings.roboticsfactory) + + (1)) + `</div>`;
  212. r = roboticsfactoryCost((+ (planet.Buildings.roboticsfactory) + + (1)));
  213. t = constructionTime(r, (+ (planet.Buildings.roboticsfactory) + + (1)));
  214. resrourcesHtml = printNeededResources(r);
  215. document.getElementById("roboticsfactoryResources").innerHTML = resrourcesHtml.html + `
  216. <br>
  217. Construction time: ` + secondsToTime(t);
  218. }
  219. if (!resrourcesHtml.enough) {
  220. document.getElementById("btnBuildRoboticsFactory").innerHTML = `<span style="color: red;">not enough resources</span>`;
  221. }
  222. if (planet.CurrentBuild.Title !== "") {
  223. document.getElementById("btnBuildRoboticsFactory").innerHTML = `<span style="color: red;">building</span>`;
  224. }
  225. // shipyard
  226. if (planet.Buildings.shipyard == undefined) {
  227. document.getElementById("btnBuildShipyard").innerHTML = `<div class="allowed" onclick="buildBuilding('shipyard')">Build building</div>`;
  228. r = shipyardCost(1);
  229. t = constructionTime(r, 1);
  230. resrourcesHtml = printNeededResources(r);
  231. document.getElementById("shipyardResources").innerHTML = resrourcesHtml.html + `
  232. <br>
  233. Construction time: ` + secondsToTime(t);
  234. } else {
  235. document.getElementById("shipyardLevel").innerHTML = "(Level " + planet.Buildings.shipyard + ")";
  236. document.getElementById("btnBuildShipyard").innerHTML = `<div class="allowed" onclick="buildBuilding('shipyard')">Build level ` + (+ (planet.Buildings.shipyard) + + (1)) + `</div>`;
  237. r = shipyardCost((+ (planet.Buildings.shipyard) + + (1)));
  238. t = constructionTime(r, (+ (planet.Buildings.roboticsfactory) + + (1)));
  239. resrourcesHtml = printNeededResources(r);
  240. document.getElementById("shipyardResources").innerHTML = resrourcesHtml.html + `
  241. <br>
  242. Construction time: ` + secondsToTime(t);
  243. }
  244. if (!resrourcesHtml.enough) {
  245. document.getElementById("btnBuildShipyard").innerHTML = `<span style="color: red;">not enough resources</span>`;
  246. }
  247. if (planet.CurrentBuild.Title !== "") {
  248. document.getElementById("btnBuildShipyard").innerHTML = `<span style="color: red;">building</span>`;
  249. }
  250. // metalstorage
  251. if (planet.Buildings.metalstorage == undefined) {
  252. document.getElementById("btnBuildMetalStorage").innerHTML = `<div class="allowed" onclick="buildBuilding('metalstorage')">Build building</div>`;
  253. r = metalstorageCost(1);
  254. t = constructionTime(r, 1);
  255. resrourcesHtml = printNeededResources(r);
  256. document.getElementById("metalstorageResources").innerHTML = resrourcesHtml.html + `
  257. <br>
  258. Construction time: ` + secondsToTime(t);
  259. } else {
  260. document.getElementById("metalstorageLevel").innerHTML = "(Level " + planet.Buildings.metalstorage + ")";
  261. document.getElementById("btnBuildMetalStorage").innerHTML = `<div class="allowed" onclick="buildBuilding('metalstorage')">Build level ` + (+ (planet.Buildings.metalstorage) + + (1)) + `</div>`;
  262. r = metalstorageCost((+ (planet.Buildings.metalstorage) + + (1)));
  263. t = constructionTime(r, (+ (planet.Buildings.roboticsfactory) + + (1)));
  264. resrourcesHtml = printNeededResources(r);
  265. document.getElementById("metalstorageResources").innerHTML = resrourcesHtml.html + `
  266. <br>
  267. Construction time: ` + secondsToTime(t);
  268. }
  269. if (!resrourcesHtml.enough) {
  270. document.getElementById("btnBuildMetalStorage").innerHTML = `<span style="color: red;">not enough resources</span>`;
  271. }
  272. if (planet.CurrentBuild.Title !== "") {
  273. document.getElementById("btnBuildMetalStorage").innerHTML = `<span style="color: red;">building</span>`;
  274. }
  275. // crystalstorage
  276. if (planet.Buildings.crystalstorage == undefined) {
  277. document.getElementById("btnBuildCrystalStorage").innerHTML = `<div class="allowed" onclick="buildBuilding('crystalstorage')">Build building</div>`;
  278. r = crystalstorageCost(1);
  279. t = constructionTime(r, 1);
  280. resrourcesHtml = printNeededResources(r);
  281. document.getElementById("crystalstorageResources").innerHTML = resrourcesHtml.html + `
  282. <br>
  283. Construction time: ` + secondsToTime(t);
  284. } else {
  285. document.getElementById("crystalstorageLevel").innerHTML = "(Level " + planet.Buildings.crystalstorage + ")";
  286. document.getElementById("btnBuildCrystalStorage").innerHTML = `<div class="allowed" onclick="buildBuilding('crystalstorage')">Build level ` + (+ (planet.Buildings.crystalstorage) + + (1)) + `</div>`;
  287. r = crystalstorageCost((+ (planet.Buildings.crystalstorage) + + (1)));
  288. t = constructionTime(r, (+ (planet.Buildings.roboticsfactory) + + (1)));
  289. resrourcesHtml = printNeededResources(r);
  290. document.getElementById("crystalstorageResources").innerHTML = resrourcesHtml.html + `
  291. <br>
  292. Construction time: ` + secondsToTime(t);
  293. }
  294. if (!resrourcesHtml.enough) {
  295. document.getElementById("btnBuildCrystalStorage").innerHTML = `<span style="color: red;">not enough resources</span>`;
  296. }
  297. if (planet.CurrentBuild.Title !== "") {
  298. document.getElementById("btnBuildCrystalStorage").innerHTML = `<span style="color: red;">building</span>`;
  299. }
  300. // deuteriumstorage
  301. if (planet.Buildings.deuteriumstorage == undefined) {
  302. document.getElementById("btnBuildDeuteriumStorage").innerHTML = `<div class="allowed" onclick="buildBuilding('deuteriumstorage')">Build building</div>`;
  303. r = deuteriumstorageCost(1);
  304. t = constructionTime(r, 1);
  305. resrourcesHtml = printNeededResources(r);
  306. document.getElementById("deuteriumstorageResources").innerHTML = resrourcesHtml.html + `
  307. <br>
  308. Construction time: ` + secondsToTime(t);
  309. } else {
  310. document.getElementById("deuteriumstorageLevel").innerHTML = "(Level " + planet.Buildings.deuteriumstorage + ")";
  311. document.getElementById("btnBuildDeuteriumStorage").innerHTML = `<div class="allowed" onclick="buildBuilding('deuteriumstorage')">Build level ` + (+ (planet.Buildings.deuteriumstorage) + + (1)) + `</div>`;
  312. r = deuteriumstorageCost((+ (planet.Buildings.deuteriumstorage) + + (1)));
  313. t = constructionTime(r, (+ (planet.Buildings.roboticsfactory) + + (1)));
  314. resrourcesHtml = printNeededResources(r);
  315. document.getElementById("deuteriumstorageResources").innerHTML = resrourcesHtml.html + `
  316. <br>
  317. Construction time: ` + secondsToTime(t);
  318. }
  319. if (!resrourcesHtml.enough) {
  320. document.getElementById("btnBuildDeuteriumStorage").innerHTML = `<span style="color: red;">not enough resources</span>`;
  321. }
  322. if (planet.CurrentBuild.Title !== "") {
  323. document.getElementById("btnBuildDeuteriumStorage").innerHTML = `<span style="color: red;">building</span>`;
  324. }
  325. // ressearchlab
  326. if (planet.Buildings.ressearchlab == undefined) {
  327. document.getElementById("btnBuildRessearchLab").innerHTML = `<div class="allowed" onclick="buildBuilding('ressearchlab')">Build building</div>`;
  328. r = ressearchlabCost(1);
  329. t = constructionTime(r, 1);
  330. resrourcesHtml = printNeededResources(r);
  331. document.getElementById("ressearchlabResources").innerHTML = resrourcesHtml.html + `
  332. <br>
  333. Construction time: ` + secondsToTime(t);
  334. } else {
  335. document.getElementById("ressearchlabLevel").innerHTML = "(Level " + planet.Buildings.ressearchlab + ")";
  336. document.getElementById("btnBuildRessearchLab").innerHTML = `<div class="allowed" onclick="buildBuilding('ressearchlab')">Build level ` + (+ (planet.Buildings.ressearchlab) + + (1)) + `</div>`;
  337. r = ressearchlabCost((+ (planet.Buildings.ressearchlab) + + (1)));
  338. t = constructionTime(r, (+ (planet.Buildings.roboticsfactory) + + (1)));
  339. resrourcesHtml = printNeededResources(r);
  340. document.getElementById("ressearchlabResources").innerHTML = resrourcesHtml.html + `
  341. <br>
  342. Construction time: ` + secondsToTime(t);
  343. }
  344. if (!resrourcesHtml.enough) {
  345. document.getElementById("btnBuildRessearchLab").innerHTML = `<span style="color: red;">not enough resources</span>`;
  346. }
  347. if (planet.CurrentBuild.Title !== "") {
  348. document.getElementById("btnBuildRessearchLab").innerHTML = `<span style="color: red;">building</span>`;
  349. }
  350. // alliancedepot
  351. if (planet.Buildings.alliancedepot == undefined) {
  352. document.getElementById("btnBuildAllianceDepot").innerHTML = `<div class="allowed" onclick="buildBuilding('alliancedepot')">Build building</div>`;
  353. r = alliancedepotCost(1);
  354. t = constructionTime(r, 1);
  355. resrourcesHtml = printNeededResources(r);
  356. document.getElementById("alliancedepotResources").innerHTML = resrourcesHtml.html + `
  357. <br>
  358. Construction time: ` + secondsToTime(t);
  359. } else {
  360. document.getElementById("alliancedepotLevel").innerHTML = "(Level " + planet.Buildings.alliancedepot + ")";
  361. document.getElementById("btnBuildAllianceDepot").innerHTML = `<div class="allowed" onclick="buildBuilding('alliancedepot')">Build level ` + (+ (planet.Buildings.alliancedepot) + + (1)) + `</div>`;
  362. r = alliancedepotCost((+ (planet.Buildings.alliancedepot) + + (1)));
  363. t = constructionTime(r, (+ (planet.Buildings.roboticsfactory) + + (1)));
  364. resrourcesHtml = printNeededResources(r);
  365. document.getElementById("alliancedepotResources").innerHTML = resrourcesHtml.html + `
  366. <br>
  367. Construction time: ` + secondsToTime(t);
  368. }
  369. if (!resrourcesHtml.enough) {
  370. document.getElementById("btnBuildAllianceDepot").innerHTML = `<span style="color: red;">not enough resources</span>`;
  371. }
  372. if (planet.CurrentBuild.Title !== "") {
  373. document.getElementById("btnBuildAllianceDepot").innerHTML = `<span style="color: red;">building</span>`;
  374. }
  375. // missilesilo
  376. if (planet.Buildings.missilesilo == undefined) {
  377. document.getElementById("btnBuildMissileSilo").innerHTML = `<div class="allowed" onclick="buildBuilding('missilesilo')">Build building</div>`;
  378. r = missilesiloCost(1);
  379. t = constructionTime(r, 1);
  380. resrourcesHtml = printNeededResources(r);
  381. document.getElementById("missilesiloResources").innerHTML = resrourcesHtml.html + `
  382. <br>
  383. Construction time: ` + secondsToTime(t);
  384. } else {
  385. document.getElementById("missilesiloLevel").innerHTML = "(Level " + planet.Buildings.missilesilo + ")";
  386. document.getElementById("btnBuildMissileSilo").innerHTML = `<div class="allowed" onclick="buildBuilding('missilesilo')">Build level ` + (+ (planet.Buildings.missilesilo) + + (1)) + `</div>`;
  387. r = missilesiloCost((+ (planet.Buildings.missilesilo) + + (1)));
  388. t = constructionTime(r, (+ (planet.Buildings.roboticsfactory) + + (1)));
  389. resrourcesHtml = printNeededResources(r);
  390. document.getElementById("missilesiloResources").innerHTML = resrourcesHtml.html + `
  391. <br>
  392. Construction time: ` + secondsToTime(t);
  393. }
  394. if (!resrourcesHtml.enough) {
  395. document.getElementById("btnBuildMissileSilo").innerHTML = `<span style="color: red;">not enough resources</span>`;
  396. }
  397. if (planet.CurrentBuild.Title !== "") {
  398. document.getElementById("btnBuildMissileSilo").innerHTML = `<span style="color: red;">building</span>`;
  399. }
  400. // spacedock
  401. if (planet.Buildings.spacedock == undefined) {
  402. document.getElementById("btnBuildSpacedock").innerHTML = `<div class="allowed" onclick="buildBuilding('spacedock')">Build building</div>`;
  403. r = spacedockCost(1);
  404. t = constructionTime(r, 1);
  405. resrourcesHtml = printNeededResources(r);
  406. document.getElementById("spacedockResources").innerHTML = resrourcesHtml.html + `
  407. <br>
  408. Construction time: ` + secondsToTime(t);
  409. } else {
  410. document.getElementById("spacedockLevel").innerHTML = "(Level " + planet.Buildings.spacedock + ")";
  411. document.getElementById("btnBuildSpacedock").innerHTML = `<div class="allowed" onclick="buildBuilding('spacedock')">Build level ` + (+ (planet.Buildings.spacedock) + + (1)) + `</div>`;
  412. r = spacedockCost((+ (planet.Buildings.spacedock) + + (1)));
  413. t = constructionTime(r, (+ (planet.Buildings.roboticsfactory) + + (1)));
  414. resrourcesHtml = printNeededResources(r);
  415. document.getElementById("spacedockResources").innerHTML = resrourcesHtml.html + `
  416. <br>
  417. Construction time: ` + secondsToTime(t);
  418. }
  419. if (!resrourcesHtml.enough) {
  420. document.getElementById("btnBuildSpacedock").innerHTML = `<span style="color: red;">not enough resources</span>`;
  421. }
  422. if (planet.CurrentBuild.Title !== "") {
  423. document.getElementById("btnBuildSpacedock").innerHTML = `<span style="color: red;">building</span>`;
  424. }
  425. }
  426. function buildBuilding(building) {
  427. console.log("build " + building);
  428. const data = {
  429. planetid: planetid,
  430. building: building
  431. }
  432. axios.post(url + "/buildings", data, config).then(function(res) {
  433. console.log("buildings", res.data);
  434. planet = res.data.planet;
  435. printResources(planet.Resources);
  436. printBuildings(planet);
  437. }).catch(function(error) {
  438. console.log(error);
  439. });
  440. }