ogamejs 3.0.0 → 4.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/README.md +492 -228
  2. package/package.json +51 -4
  3. package/src/buildings/buildTime.js +25 -0
  4. package/src/buildings/crystal.js +18 -36
  5. package/src/buildings/deut.js +19 -34
  6. package/src/buildings/fusion-reactor.js +19 -34
  7. package/src/buildings/index.js +11 -0
  8. package/src/buildings/info.js +42 -0
  9. package/src/buildings/infocompte.js +116 -57
  10. package/src/buildings/metal.js +13 -28
  11. package/src/buildings/production.js +150 -0
  12. package/src/buildings/solar-plant.js +13 -21
  13. package/src/buildings/storage.js +59 -0
  14. package/src/cost.js +70 -0
  15. package/src/fleets/combat.js +291 -0
  16. package/src/fleets/distance.js +39 -0
  17. package/src/fleets/flight.js +105 -0
  18. package/src/fleets/getDebris.js +11 -10
  19. package/src/fleets/index.js +12 -0
  20. package/src/fleets/speed.js +108 -0
  21. package/src/i18n.js +43 -0
  22. package/src/index.js +12 -1
  23. package/src/models/buildings.js +285 -25
  24. package/src/models/destroyable.js +216 -110
  25. package/src/models/research.js +169 -0
  26. package/src/research/index.js +9 -0
  27. package/src/research/researchTime.js +25 -0
  28. package/src/trades/parseRate.js +7 -2
  29. package/src/types.js +146 -0
  30. package/types/buildings/buildTime.d.ts +16 -0
  31. package/types/buildings/buildTime.d.ts.map +1 -0
  32. package/types/buildings/crystal.d.ts +12 -0
  33. package/types/buildings/crystal.d.ts.map +1 -0
  34. package/types/buildings/deut.d.ts +12 -0
  35. package/types/buildings/deut.d.ts.map +1 -0
  36. package/types/buildings/fusion-reactor.d.ts +15 -0
  37. package/types/buildings/fusion-reactor.d.ts.map +1 -0
  38. package/types/buildings/index.d.ts +27 -0
  39. package/types/buildings/index.d.ts.map +1 -0
  40. package/types/buildings/info.d.ts +17 -0
  41. package/types/buildings/info.d.ts.map +1 -0
  42. package/types/buildings/infocompte.d.ts +41 -0
  43. package/types/buildings/infocompte.d.ts.map +1 -0
  44. package/types/buildings/metal.d.ts +11 -0
  45. package/types/buildings/metal.d.ts.map +1 -0
  46. package/types/buildings/production.d.ts +78 -0
  47. package/types/buildings/production.d.ts.map +1 -0
  48. package/types/buildings/solar-plant.d.ts +10 -0
  49. package/types/buildings/solar-plant.d.ts.map +1 -0
  50. package/types/buildings/storage.d.ts +29 -0
  51. package/types/buildings/storage.d.ts.map +1 -0
  52. package/types/cost.d.ts +25 -0
  53. package/types/cost.d.ts.map +1 -0
  54. package/types/fleets/combat.d.ts +57 -0
  55. package/types/fleets/combat.d.ts.map +1 -0
  56. package/types/fleets/distance.d.ts +13 -0
  57. package/types/fleets/distance.d.ts.map +1 -0
  58. package/types/fleets/flight.d.ts +57 -0
  59. package/types/fleets/flight.d.ts.map +1 -0
  60. package/types/fleets/getDebris.d.ts +12 -0
  61. package/types/fleets/getDebris.d.ts.map +1 -0
  62. package/types/fleets/index.d.ts +18 -0
  63. package/types/fleets/index.d.ts.map +1 -0
  64. package/types/fleets/speed.d.ts +54 -0
  65. package/types/fleets/speed.d.ts.map +1 -0
  66. package/types/i18n.d.ts +23 -0
  67. package/types/i18n.d.ts.map +1 -0
  68. package/types/index.d.ts +1316 -0
  69. package/types/index.d.ts.map +1 -0
  70. package/types/models/buildings.d.ts +373 -0
  71. package/types/models/buildings.d.ts.map +1 -0
  72. package/types/models/destroyable.d.ts +695 -0
  73. package/types/models/destroyable.d.ts.map +1 -0
  74. package/types/models/research.d.ts +262 -0
  75. package/types/models/research.d.ts.map +1 -0
  76. package/types/research/index.d.ts +8 -0
  77. package/types/research/index.d.ts.map +1 -0
  78. package/types/research/researchTime.d.ts +16 -0
  79. package/types/research/researchTime.d.ts.map +1 -0
  80. package/types/trades/crystal.d.ts +6 -0
  81. package/types/trades/crystal.d.ts.map +1 -0
  82. package/types/trades/deut.d.ts +6 -0
  83. package/types/trades/deut.d.ts.map +1 -0
  84. package/types/trades/index.d.ts +12 -0
  85. package/types/trades/index.d.ts.map +1 -0
  86. package/types/trades/metal.d.ts +6 -0
  87. package/types/trades/metal.d.ts.map +1 -0
  88. package/types/trades/parseRate.d.ts +2 -0
  89. package/types/trades/parseRate.d.ts.map +1 -0
  90. package/types/trades/utils.d.ts +2 -0
  91. package/types/trades/utils.d.ts.map +1 -0
  92. package/types/types.d.ts +449 -0
  93. package/types/types.d.ts.map +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.js"],"names":[],"mappings":"AAOA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAS,MAAM,WAAW,CAAC;AAEvD,QAAA,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgBV,CAAC;eAEa,KAAK"}
@@ -0,0 +1,373 @@
1
+ declare const CATEGORIES: Readonly<{
2
+ RESOURCES: "resources";
3
+ FACILITIES: "facilities";
4
+ MOON: "moon";
5
+ }>;
6
+ /**
7
+ * Every building of the game, keyed by the id used by this library.
8
+ *
9
+ * Ids 1 to 5 are historical and kept for backward compatibility; every other
10
+ * entry uses the id OGame itself uses. `ogameId` always holds the official id,
11
+ * so it is the field to rely on when talking to the game.
12
+ *
13
+ * - `names` holds the localised labels.
14
+ * - `factor` is the per-level cost multiplier: cost(level) = base * factor ** (level - 1).
15
+ * - `base` holds the level 1 values, with every energy and deuterium flow named
16
+ * after what it actually is:
17
+ * - `metal` / `crystal` / `deuterium` — the resources paid to build it,
18
+ * - `energyCost` — the energy paid to build it (Terraformer and Space Dock only),
19
+ * - `energyConsumption` — the energy it consumes once built (mines),
20
+ * - `deuteriumConsumption` — the deuterium it burns once built (Fusion Reactor),
21
+ * - `production` — what it produces, resources or energy.
22
+ */
23
+ declare const BUILDINGS: Readonly<{
24
+ 1: {
25
+ ogameId: number;
26
+ names: {
27
+ en: string;
28
+ fr: string;
29
+ };
30
+ category: "resources";
31
+ factor: number;
32
+ base: {
33
+ metal: number;
34
+ crystal: number;
35
+ deuterium: number;
36
+ energyCost: number;
37
+ energyConsumption: number;
38
+ deuteriumConsumption: number;
39
+ production: number;
40
+ };
41
+ };
42
+ 2: {
43
+ ogameId: number;
44
+ names: {
45
+ en: string;
46
+ fr: string;
47
+ };
48
+ category: "resources";
49
+ factor: number;
50
+ base: {
51
+ metal: number;
52
+ crystal: number;
53
+ deuterium: number;
54
+ energyCost: number;
55
+ energyConsumption: number;
56
+ deuteriumConsumption: number;
57
+ production: number;
58
+ };
59
+ };
60
+ 3: {
61
+ ogameId: number;
62
+ names: {
63
+ en: string;
64
+ fr: string;
65
+ };
66
+ category: "resources";
67
+ factor: number;
68
+ base: {
69
+ metal: number;
70
+ crystal: number;
71
+ deuterium: number;
72
+ energyCost: number;
73
+ energyConsumption: number;
74
+ deuteriumConsumption: number;
75
+ production: number;
76
+ };
77
+ };
78
+ 4: {
79
+ ogameId: number;
80
+ names: {
81
+ en: string;
82
+ fr: string;
83
+ };
84
+ category: "resources";
85
+ factor: number;
86
+ base: {
87
+ metal: number;
88
+ crystal: number;
89
+ deuterium: number;
90
+ energyCost: number;
91
+ energyConsumption: number;
92
+ deuteriumConsumption: number;
93
+ production: number;
94
+ };
95
+ };
96
+ 5: {
97
+ ogameId: number;
98
+ names: {
99
+ en: string;
100
+ fr: string;
101
+ };
102
+ category: "resources";
103
+ factor: number;
104
+ base: {
105
+ metal: number;
106
+ crystal: number;
107
+ deuterium: number;
108
+ energyCost: number;
109
+ energyConsumption: number;
110
+ deuteriumConsumption: number;
111
+ production: number;
112
+ };
113
+ };
114
+ 14: {
115
+ ogameId: number;
116
+ names: {
117
+ en: string;
118
+ fr: string;
119
+ };
120
+ category: "facilities";
121
+ factor: number;
122
+ base: {
123
+ metal: number;
124
+ crystal: number;
125
+ deuterium: number;
126
+ energyCost: number;
127
+ energyConsumption: number;
128
+ deuteriumConsumption: number;
129
+ production: number;
130
+ };
131
+ };
132
+ 15: {
133
+ ogameId: number;
134
+ names: {
135
+ en: string;
136
+ fr: string;
137
+ };
138
+ category: "facilities";
139
+ factor: number;
140
+ base: {
141
+ metal: number;
142
+ crystal: number;
143
+ deuterium: number;
144
+ energyCost: number;
145
+ energyConsumption: number;
146
+ deuteriumConsumption: number;
147
+ production: number;
148
+ };
149
+ };
150
+ 21: {
151
+ ogameId: number;
152
+ names: {
153
+ en: string;
154
+ fr: string;
155
+ };
156
+ category: "facilities";
157
+ factor: number;
158
+ base: {
159
+ metal: number;
160
+ crystal: number;
161
+ deuterium: number;
162
+ energyCost: number;
163
+ energyConsumption: number;
164
+ deuteriumConsumption: number;
165
+ production: number;
166
+ };
167
+ };
168
+ 22: {
169
+ ogameId: number;
170
+ names: {
171
+ en: string;
172
+ fr: string;
173
+ };
174
+ category: "resources";
175
+ factor: number;
176
+ storage: string;
177
+ base: {
178
+ metal: number;
179
+ crystal: number;
180
+ deuterium: number;
181
+ energyCost: number;
182
+ energyConsumption: number;
183
+ deuteriumConsumption: number;
184
+ production: number;
185
+ };
186
+ };
187
+ 23: {
188
+ ogameId: number;
189
+ names: {
190
+ en: string;
191
+ fr: string;
192
+ };
193
+ category: "resources";
194
+ factor: number;
195
+ storage: string;
196
+ base: {
197
+ metal: number;
198
+ crystal: number;
199
+ deuterium: number;
200
+ energyCost: number;
201
+ energyConsumption: number;
202
+ deuteriumConsumption: number;
203
+ production: number;
204
+ };
205
+ };
206
+ 24: {
207
+ ogameId: number;
208
+ names: {
209
+ en: string;
210
+ fr: string;
211
+ };
212
+ category: "resources";
213
+ factor: number;
214
+ storage: string;
215
+ base: {
216
+ metal: number;
217
+ crystal: number;
218
+ deuterium: number;
219
+ energyCost: number;
220
+ energyConsumption: number;
221
+ deuteriumConsumption: number;
222
+ production: number;
223
+ };
224
+ };
225
+ 31: {
226
+ ogameId: number;
227
+ names: {
228
+ en: string;
229
+ fr: string;
230
+ };
231
+ category: "facilities";
232
+ factor: number;
233
+ base: {
234
+ metal: number;
235
+ crystal: number;
236
+ deuterium: number;
237
+ energyCost: number;
238
+ energyConsumption: number;
239
+ deuteriumConsumption: number;
240
+ production: number;
241
+ };
242
+ };
243
+ 33: {
244
+ ogameId: number;
245
+ names: {
246
+ en: string;
247
+ fr: string;
248
+ };
249
+ category: "facilities";
250
+ factor: number;
251
+ base: {
252
+ metal: number;
253
+ crystal: number;
254
+ deuterium: number;
255
+ energyCost: number;
256
+ energyConsumption: number;
257
+ deuteriumConsumption: number;
258
+ production: number;
259
+ };
260
+ };
261
+ 34: {
262
+ ogameId: number;
263
+ names: {
264
+ en: string;
265
+ fr: string;
266
+ };
267
+ category: "facilities";
268
+ factor: number;
269
+ base: {
270
+ metal: number;
271
+ crystal: number;
272
+ deuterium: number;
273
+ energyCost: number;
274
+ energyConsumption: number;
275
+ deuteriumConsumption: number;
276
+ production: number;
277
+ };
278
+ };
279
+ 36: {
280
+ ogameId: number;
281
+ names: {
282
+ en: string;
283
+ fr: string;
284
+ };
285
+ category: "facilities";
286
+ factor: number;
287
+ energyFactor: number;
288
+ base: {
289
+ metal: number;
290
+ crystal: number;
291
+ deuterium: number;
292
+ energyCost: number;
293
+ energyConsumption: number;
294
+ deuteriumConsumption: number;
295
+ production: number;
296
+ };
297
+ };
298
+ 41: {
299
+ ogameId: number;
300
+ names: {
301
+ en: string;
302
+ fr: string;
303
+ };
304
+ category: "moon";
305
+ factor: number;
306
+ base: {
307
+ metal: number;
308
+ crystal: number;
309
+ deuterium: number;
310
+ energyCost: number;
311
+ energyConsumption: number;
312
+ deuteriumConsumption: number;
313
+ production: number;
314
+ };
315
+ };
316
+ 42: {
317
+ ogameId: number;
318
+ names: {
319
+ en: string;
320
+ fr: string;
321
+ };
322
+ category: "moon";
323
+ factor: number;
324
+ base: {
325
+ metal: number;
326
+ crystal: number;
327
+ deuterium: number;
328
+ energyCost: number;
329
+ energyConsumption: number;
330
+ deuteriumConsumption: number;
331
+ production: number;
332
+ };
333
+ };
334
+ 43: {
335
+ ogameId: number;
336
+ names: {
337
+ en: string;
338
+ fr: string;
339
+ };
340
+ category: "moon";
341
+ factor: number;
342
+ base: {
343
+ metal: number;
344
+ crystal: number;
345
+ deuterium: number;
346
+ energyCost: number;
347
+ energyConsumption: number;
348
+ deuteriumConsumption: number;
349
+ production: number;
350
+ };
351
+ };
352
+ 44: {
353
+ ogameId: number;
354
+ names: {
355
+ en: string;
356
+ fr: string;
357
+ };
358
+ category: "facilities";
359
+ factor: number;
360
+ base: {
361
+ metal: number;
362
+ crystal: number;
363
+ deuterium: number;
364
+ energyCost: number;
365
+ energyConsumption: number;
366
+ deuteriumConsumption: number;
367
+ production: number;
368
+ };
369
+ };
370
+ }>;
371
+ export { CATEGORIES };
372
+ export default BUILDINGS;
373
+ //# sourceMappingURL=buildings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildings.d.ts","sourceRoot":"","sources":["../../src/models/buildings.js"],"names":[],"mappings":"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"}