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.

211 lines
5.5 KiB

  1. function metalmineCost(lvl) {
  2. const base = {
  3. Metal: 60,
  4. Crystal: 15,
  5. Deuterium: 0,
  6. Energy: 0,
  7. };
  8. // cost = base * 1.5^(lvl-1)
  9. let cost = {};
  10. cost.Metal = Math.floor(base.Metal * 1.5**(lvl-1));
  11. cost.Crystal = Math.floor(base.Crystal * 1.5**(lvl-1));
  12. cost.Deuterium = Math.floor(base.Deuterium * 1.5**(lvl-1));
  13. cost.Energy = Math.floor(base.Energy * 1.5**(lvl-1));
  14. return cost;
  15. }
  16. function crystalmineCost(lvl) {
  17. const base = {
  18. Metal: 48,
  19. Crystal: 24,
  20. Deuterium: 0,
  21. Energy: 0,
  22. };
  23. // cost = base * 1.6^(lvl-1)
  24. let cost = {};
  25. cost.Metal = Math.floor(base.Metal * 1.6**(lvl-1));
  26. cost.Crystal = Math.floor(base.Crystal * 1.6**(lvl-1));
  27. cost.Deuterium = Math.floor(base.Deuterium * 1.6**(lvl-1));
  28. cost.Energy = Math.floor(base.Energy * 1.6**(lvl-1));
  29. return cost;
  30. }
  31. function deuteriummineCost(lvl) {
  32. const base = {
  33. Metal: 225,
  34. Crystal: 75,
  35. Deuterium: 0,
  36. Energy: 0,
  37. };
  38. // cost = base * 1.5^(lvl-1)
  39. let cost = {};
  40. cost.Metal = Math.floor(base.Metal * 1.5**(lvl-1));
  41. cost.Crystal = Math.floor(base.Crystal * 1.5**(lvl-1));
  42. cost.Deuterium = Math.floor(base.Deuterium * 1.5**(lvl-1));
  43. cost.Energy = Math.floor(base.Energy * 1.5**(lvl-1));
  44. return cost;
  45. }
  46. function energymineCost(lvl) {
  47. const base = {
  48. Metal: 75,
  49. Crystal: 30,
  50. Deuterium: 0,
  51. Energy: 0,
  52. };
  53. // cost = base * 1.5^(lvl-1)
  54. let cost = {};
  55. cost.Metal = Math.floor(base.Metal * 1.5**(lvl-1));
  56. cost.Crystal = Math.floor(base.Crystal * 1.5**(lvl-1));
  57. cost.Deuterium = Math.floor(base.Deuterium * 1.5**(lvl-1));
  58. cost.Energy = Math.floor(base.Energy * 1.5**(lvl-1));
  59. return cost;
  60. }
  61. function fusionreactorCost(lvl) {
  62. const base = {
  63. Metal: 900,
  64. Crystal: 360,
  65. Deuterium: 180,
  66. Energy: 0,
  67. };
  68. // cost = base * 1.8^(lvl-1)
  69. let cost = {};
  70. cost.Metal = Math.floor(base.Metal * 1.8**(lvl-1));
  71. cost.Crystal = Math.floor(base.Crystal * 1.8**(lvl-1));
  72. cost.Deuterium = Math.floor(base.Deuterium * 1.8**(lvl-1));
  73. cost.Energy = Math.floor(base.Energy * 1.8**(lvl-1));
  74. return cost;
  75. }
  76. function roboticsfactoryCost(lvl) {
  77. const base = {
  78. Metal: 400,
  79. Crystal: 120,
  80. Deuterium: 200,
  81. Energy: 0,
  82. };
  83. // cost = base * 2^(lvl-1)
  84. let cost = {};
  85. cost.Metal = Math.floor(base.Metal * 2**(lvl-1));
  86. cost.Crystal = Math.floor(base.Crystal * 2**(lvl-1));
  87. cost.Deuterium = Math.floor(base.Deuterium * 2**(lvl-1));
  88. cost.Energy = Math.floor(base.Energy * 2**(lvl-1));
  89. return cost;
  90. }
  91. function shipyardCost(lvl) {
  92. const base = {
  93. Metal: 400,
  94. Crystal: 200,
  95. Deuterium: 100,
  96. Energy: 0,
  97. };
  98. // cost = base * 2^(lvl-1)
  99. let cost = {};
  100. cost.Metal = Math.floor(base.Metal * 2**(lvl-1));
  101. cost.Crystal = Math.floor(base.Crystal * 2**(lvl-1));
  102. cost.Deuterium = Math.floor(base.Deuterium * 2**(lvl-1));
  103. cost.Energy = Math.floor(base.Energy * 2**(lvl-1));
  104. return cost;
  105. }
  106. function metalstorageCost(lvl) {
  107. const base = {
  108. Metal: 1000,
  109. Crystal: 0,
  110. Deuterium: 0,
  111. Energy: 0,
  112. };
  113. // cost = base * 2^(lvl-1)
  114. let cost = {};
  115. cost.Metal = Math.floor(base.Metal * 2**(lvl-1));
  116. cost.Crystal = 0;
  117. cost.Deuterium = 0;
  118. cost.Energy = 0;
  119. return cost;
  120. }
  121. function crystalstorageCost(lvl) {
  122. const base = {
  123. Metal: 1000,
  124. Crystal: 500,
  125. Deuterium: 0,
  126. Energy: 0,
  127. };
  128. // cost = base * 2^(lvl-1)
  129. let cost = {};
  130. cost.Metal = Math.floor(base.Metal * 2**(lvl-1));
  131. cost.Crystal = Math.floor(base.Crystal * 2**(lvl-1));
  132. cost.Deuterium = Math.floor(base.Deuterium * 2**(lvl-1));
  133. cost.Energy = Math.floor(base.Energy * 2**(lvl-1));
  134. return cost;
  135. }
  136. function deuteriumstorageCost(lvl) {
  137. const base = {
  138. Metal: 1000,
  139. Crystal: 1000,
  140. Deuterium: 0,
  141. Energy: 0,
  142. };
  143. // cost = base * 2^(lvl-1)
  144. let cost = {};
  145. cost.Metal = Math.floor(base.Metal * 2**(lvl-1));
  146. cost.Crystal = Math.floor(base.Crystal * 2**(lvl-1));
  147. cost.Deuterium = Math.floor(base.Deuterium * 2**(lvl-1));
  148. cost.Energy = Math.floor(base.Energy * 2**(lvl-1));
  149. return cost;
  150. }
  151. function ressearchlabCost(lvl) {
  152. const base = {
  153. Metal: 200,
  154. Crystal: 400,
  155. Deuterium: 200,
  156. Energy: 0,
  157. };
  158. // cost = base * 1.5^(lvl-1)
  159. let cost = {};
  160. cost.Metal = Math.floor(base.Metal * 1.5**(lvl-1));
  161. cost.Crystal = Math.floor(base.Crystal * 1.5**(lvl-1));
  162. cost.Deuterium = Math.floor(base.Deuterium * 1.5**(lvl-1));
  163. cost.Energy = Math.floor(base.Energy * 1.5**(lvl-1));
  164. return cost;
  165. }
  166. function alliancedepotCost(lvl) {
  167. const base = {
  168. Metal: 20000,
  169. Crystal: 40000,
  170. Deuterium: 0,
  171. Energy: 0,
  172. };
  173. // cost = base * 2^(lvl-1)
  174. let cost = {};
  175. cost.Metal = Math.floor(base.Metal * 2**(lvl-1));
  176. cost.Crystal = Math.floor(base.Crystal * 2**(lvl-1));
  177. cost.Deuterium = Math.floor(base.Deuterium * 2**(lvl-1));
  178. cost.Energy = Math.floor(base.Energy * 2**(lvl-1));
  179. return cost;
  180. }
  181. function missilesiloCost(lvl) {
  182. const base = {
  183. Metal: 20000,
  184. Crystal: 20000,
  185. Deuterium: 1000,
  186. Energy: 0,
  187. };
  188. // cost = base * 2^(lvl-1)
  189. let cost = {};
  190. cost.Metal = Math.floor(base.Metal * 2**(lvl-1));
  191. cost.Crystal = Math.floor(base.Crystal * 2**(lvl-1));
  192. cost.Deuterium = Math.floor(base.Deuterium * 2**(lvl-1));
  193. cost.Energy = Math.floor(base.Energy * 2**(lvl-1));
  194. return cost;
  195. }
  196. function spacedockCost(lvl) {
  197. const base = {
  198. Metal: 20000,
  199. Crystal: 20000,
  200. Deuterium: 1000,
  201. Energy: 0,
  202. };
  203. // cost = base * 2^(lvl-1)
  204. let cost = {};
  205. cost.Metal = Math.floor(base.Metal * 2**(lvl-1));
  206. cost.Crystal = Math.floor(base.Crystal * 2**(lvl-1));
  207. cost.Deuterium = Math.floor(base.Deuterium * 2**(lvl-1));
  208. cost.Energy = Math.floor(base.Energy * 2**(lvl-1));
  209. return cost;
  210. }