ogamejs 2.1.6 → 4.0.0

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 (132) hide show
  1. package/README.md +485 -228
  2. package/package.json +71 -33
  3. package/src/buildings/buildTime.js +25 -0
  4. package/src/buildings/crystal.js +35 -0
  5. package/src/buildings/deut.js +31 -0
  6. package/src/buildings/fusion-reactor.js +35 -0
  7. package/src/buildings/index.js +28 -0
  8. package/src/buildings/info.js +42 -0
  9. package/src/buildings/infocompte.js +150 -0
  10. package/src/buildings/metal.js +26 -0
  11. package/src/buildings/production.js +150 -0
  12. package/src/buildings/solar-plant.js +25 -0
  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 +21 -0
  19. package/src/fleets/index.js +19 -0
  20. package/src/fleets/speed.js +108 -0
  21. package/src/i18n.js +43 -0
  22. package/src/index.js +28 -0
  23. package/src/models/buildings.js +319 -0
  24. package/src/models/destroyable.js +929 -0
  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/crystal.js +16 -0
  29. package/src/trades/deut.js +16 -0
  30. package/src/trades/index.js +13 -0
  31. package/src/trades/metal.js +16 -0
  32. package/src/trades/parseRate.js +49 -0
  33. package/src/trades/utils.js +9 -0
  34. package/src/types.js +146 -0
  35. package/types/buildings/buildTime.d.ts +16 -0
  36. package/types/buildings/buildTime.d.ts.map +1 -0
  37. package/types/buildings/crystal.d.ts +12 -0
  38. package/types/buildings/crystal.d.ts.map +1 -0
  39. package/types/buildings/deut.d.ts +12 -0
  40. package/types/buildings/deut.d.ts.map +1 -0
  41. package/types/buildings/fusion-reactor.d.ts +15 -0
  42. package/types/buildings/fusion-reactor.d.ts.map +1 -0
  43. package/types/buildings/index.d.ts +27 -0
  44. package/types/buildings/index.d.ts.map +1 -0
  45. package/types/buildings/info.d.ts +17 -0
  46. package/types/buildings/info.d.ts.map +1 -0
  47. package/types/buildings/infocompte.d.ts +41 -0
  48. package/types/buildings/infocompte.d.ts.map +1 -0
  49. package/types/buildings/metal.d.ts +11 -0
  50. package/types/buildings/metal.d.ts.map +1 -0
  51. package/types/buildings/production.d.ts +78 -0
  52. package/types/buildings/production.d.ts.map +1 -0
  53. package/types/buildings/solar-plant.d.ts +10 -0
  54. package/types/buildings/solar-plant.d.ts.map +1 -0
  55. package/types/buildings/storage.d.ts +29 -0
  56. package/types/buildings/storage.d.ts.map +1 -0
  57. package/types/cost.d.ts +25 -0
  58. package/types/cost.d.ts.map +1 -0
  59. package/types/fleets/combat.d.ts +57 -0
  60. package/types/fleets/combat.d.ts.map +1 -0
  61. package/types/fleets/distance.d.ts +13 -0
  62. package/types/fleets/distance.d.ts.map +1 -0
  63. package/types/fleets/flight.d.ts +57 -0
  64. package/types/fleets/flight.d.ts.map +1 -0
  65. package/types/fleets/getDebris.d.ts +12 -0
  66. package/types/fleets/getDebris.d.ts.map +1 -0
  67. package/types/fleets/index.d.ts +18 -0
  68. package/types/fleets/index.d.ts.map +1 -0
  69. package/types/fleets/speed.d.ts +54 -0
  70. package/types/fleets/speed.d.ts.map +1 -0
  71. package/types/i18n.d.ts +23 -0
  72. package/types/i18n.d.ts.map +1 -0
  73. package/types/index.d.ts +1316 -0
  74. package/types/index.d.ts.map +1 -0
  75. package/types/models/buildings.d.ts +373 -0
  76. package/types/models/buildings.d.ts.map +1 -0
  77. package/types/models/destroyable.d.ts +695 -0
  78. package/types/models/destroyable.d.ts.map +1 -0
  79. package/types/models/research.d.ts +262 -0
  80. package/types/models/research.d.ts.map +1 -0
  81. package/types/research/index.d.ts +8 -0
  82. package/types/research/index.d.ts.map +1 -0
  83. package/types/research/researchTime.d.ts +16 -0
  84. package/types/research/researchTime.d.ts.map +1 -0
  85. package/types/trades/crystal.d.ts +6 -0
  86. package/types/trades/crystal.d.ts.map +1 -0
  87. package/types/trades/deut.d.ts +6 -0
  88. package/types/trades/deut.d.ts.map +1 -0
  89. package/types/trades/index.d.ts +12 -0
  90. package/types/trades/index.d.ts.map +1 -0
  91. package/types/trades/metal.d.ts +6 -0
  92. package/types/trades/metal.d.ts.map +1 -0
  93. package/types/trades/parseRate.d.ts +2 -0
  94. package/types/trades/parseRate.d.ts.map +1 -0
  95. package/types/trades/utils.d.ts +2 -0
  96. package/types/trades/utils.d.ts.map +1 -0
  97. package/types/types.d.ts +449 -0
  98. package/types/types.d.ts.map +1 -0
  99. package/CHANGELOG.md +0 -50
  100. package/build/buildings/crystal.js +0 -61
  101. package/build/buildings/crystal.test.js +0 -32
  102. package/build/buildings/deut.js +0 -56
  103. package/build/buildings/deut.test.js +0 -32
  104. package/build/buildings/fusion-reactor.js +0 -60
  105. package/build/buildings/fusion-reactor.test.js +0 -22
  106. package/build/buildings/index.js +0 -31
  107. package/build/buildings/infocompte.js +0 -150
  108. package/build/buildings/infocompte.test.js +0 -107
  109. package/build/buildings/metal.js +0 -50
  110. package/build/buildings/metal.test.js +0 -32
  111. package/build/buildings/solar-plant.js +0 -42
  112. package/build/buildings/solar-plant.test.js +0 -21
  113. package/build/fleets/getDebris.js +0 -27
  114. package/build/fleets/getDebris.test.js +0 -26
  115. package/build/fleets/index.js +0 -16
  116. package/build/index.js +0 -30
  117. package/build/models/buildings.js +0 -65
  118. package/build/models/destroyable.js +0 -730
  119. package/build/trades/crystal.js +0 -33
  120. package/build/trades/crystal.test.js +0 -16
  121. package/build/trades/deut.js +0 -33
  122. package/build/trades/deut.test.js +0 -16
  123. package/build/trades/index.js +0 -25
  124. package/build/trades/metal.js +0 -33
  125. package/build/trades/metal.test.js +0 -16
  126. package/build/trades/parseRate.js +0 -60
  127. package/build/trades/parseRate.test.js +0 -40
  128. package/build/trades/trades.js +0 -119
  129. package/build/trades/trades.test.js +0 -65
  130. package/build/trades/utils.js +0 -17
  131. package/build/trades/utils.test.js +0 -16
  132. package/build/winston.js +0 -16
@@ -1,60 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = void 0;
7
-
8
- function getEnergyFactor(energyTech) {
9
- return 1.05 + 0.01 * energyTech;
10
- }
11
-
12
- function getEnergyProduction(baseProduction, targetLevel, energyTech) {
13
- var factor = Math.pow(getEnergyFactor(energyTech), targetLevel);
14
- return Math.floor(baseProduction * targetLevel * factor);
15
- }
16
-
17
- function getMetalCost(baseMetalCost, targetLevel) {
18
- var level = targetLevel - 1;
19
- return Math.floor(baseMetalCost * Math.pow(1.8, level));
20
- }
21
-
22
- function getCrystalCost(baseCrystalCost, targetLevel) {
23
- var level = targetLevel - 1;
24
- return Math.floor(baseCrystalCost * Math.pow(1.8, level));
25
- }
26
-
27
- function getDeuteriumCost(baseDeuteriumCost, targetLevel) {
28
- var level = targetLevel - 1;
29
- return Math.floor(baseDeuteriumCost * Math.pow(1.8, level));
30
- }
31
-
32
- function getConsumption(baseConsumption, targetLevel, universeSpeed) {
33
- var levelFactor = Math.pow(1.1, targetLevel);
34
- return Math.floor(baseConsumption * targetLevel * levelFactor * universeSpeed);
35
- }
36
- /**
37
- *
38
- * Return information about the fusion reactor given a specific level
39
- * @param {object} reactor The fusion react base information
40
- * @param {number} targetLevel
41
- * @param {number} energyTech The technology energy level
42
- * @param {number} universeSpeed production factor is increased for some universe
43
- * @returns {Object} informations about the fusion reactor at this specific level
44
- */
45
-
46
-
47
- function getFusionReactor(reactor, targetLevel, energyTech) {
48
- var universeSpeed = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;
49
- return {
50
- crystal: getCrystalCost(reactor.crystal, targetLevel),
51
- energy: 0,
52
- consumption: getConsumption(reactor.consumption, targetLevel, universeSpeed),
53
- deuterium: getDeuteriumCost(reactor.deutrium, targetLevel),
54
- metal: getMetalCost(reactor.metal, targetLevel),
55
- production: getEnergyProduction(reactor.production, targetLevel, energyTech)
56
- };
57
- }
58
-
59
- var _default = getFusionReactor;
60
- exports["default"] = _default;
@@ -1,22 +0,0 @@
1
- "use strict";
2
-
3
- var _fusionReactor = _interopRequireDefault(require("./fusion-reactor"));
4
-
5
- var _buildings = _interopRequireDefault(require("../models/buildings"));
6
-
7
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
8
-
9
- describe('Fusion reactor informations should be correctly return when', function () {
10
- it('Level 19 is given with ernergy tech 17', function () {
11
- var reactor = _buildings["default"][5].base;
12
- var fusionReact = (0, _fusionReactor["default"])(reactor, 19, 17, 5);
13
- expect(fusionReact).toEqual({
14
- production: 24929,
15
- energy: 0,
16
- metal: 35411767,
17
- crystal: 14164706,
18
- deuterium: 7082353,
19
- consumption: 5810
20
- });
21
- });
22
- });
@@ -1,31 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = void 0;
7
-
8
- var _crystal = _interopRequireDefault(require("./crystal"));
9
-
10
- var _deut = _interopRequireDefault(require("./deut"));
11
-
12
- var _metal = _interopRequireDefault(require("./metal"));
13
-
14
- var _solarPlant = _interopRequireDefault(require("./solar-plant"));
15
-
16
- var _fusionReactor = _interopRequireDefault(require("./fusion-reactor"));
17
-
18
- var _infocompte = _interopRequireDefault(require("./infocompte"));
19
-
20
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
21
-
22
- var Buildings = {
23
- getCrystalMine: _crystal["default"],
24
- getDeutSynth: _deut["default"],
25
- getMetalMine: _metal["default"],
26
- getSolarPlant: _solarPlant["default"],
27
- getFusionReactor: _fusionReactor["default"],
28
- parseInfoCompteData: _infocompte["default"]
29
- };
30
- var _default = Buildings;
31
- exports["default"] = _default;
@@ -1,150 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = void 0;
7
-
8
- function _createForOfIteratorHelper(o) { if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (o = _unsupportedIterableToArray(o))) { var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var it, normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
9
-
10
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
11
-
12
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
13
-
14
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(n); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
15
-
16
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
17
-
18
- function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
19
-
20
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
21
-
22
- function toNumber() {
23
- var number = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
24
- return Number(number.split('.').join(''));
25
- }
26
- /**
27
- *
28
- * Return information about the crystal mine given a specific level
29
- * @param {object} data The infocompte bb-code
30
- * @returns {Object} The parsed JSON object of infocompte
31
- */
32
-
33
-
34
- function parseInfoCompteData(data) {
35
- var universeDataRe = new RegExp('([0-9]{3}-[a-z]{2})');
36
-
37
- var _data$match$1$split = data.match(universeDataRe)[1].split('-'),
38
- _data$match$1$split2 = _slicedToArray(_data$match$1$split, 2),
39
- universe = _data$match$1$split2[0],
40
- lang = _data$match$1$split2[1]; // eslint-disable-next-line security/detect-unsafe-regex
41
-
42
-
43
- var planetsRe = new RegExp('(?:Planète [0-9]+(.+))(?:s+(?:Planète [0-9]+))*', 'g');
44
- var planets = data.matchAll(planetsRe);
45
- var metalPointRe = new RegExp('Points dans les mines de métal : (.+)');
46
- var metalPoint = toNumber(data.match(metalPointRe)[1]);
47
- var crystalPointRe = new RegExp('Points dans les mines de cristal : (.+)');
48
- var crystalPoint = toNumber(data.match(crystalPointRe)[1]);
49
- var deutRe = new RegExp('Points dans les mines de deut : (.+)');
50
- var deutPoint = toNumber(data.match(deutRe)[1]);
51
- var plasmaRe = new RegExp('Technologie Plasma : (.+)');
52
- var plasmaTechLevel = toNumber(data.match(plasmaRe)[1]);
53
- var hourlyRe = new RegExp('Par heure : (.+)');
54
- var hourly = data.match(hourlyRe);
55
-
56
- var _hourly$1$split = hourly[1].split('/'),
57
- _hourly$1$split2 = _slicedToArray(_hourly$1$split, 3),
58
- hourlyMetal = _hourly$1$split2[0],
59
- hourlyCristal = _hourly$1$split2[1],
60
- hourlyDeut = _hourly$1$split2[2];
61
-
62
- var _hourlyMetal$split = hourlyMetal.split(' '),
63
- _hourlyMetal$split2 = _slicedToArray(_hourlyMetal$split, 1),
64
- hourlyMetalValue = _hourlyMetal$split2[0];
65
-
66
- var hourlyMetalNumber = toNumber(hourlyMetalValue);
67
-
68
- var _hourlyCristal$split$ = hourlyCristal.split(' ').filter(Boolean),
69
- _hourlyCristal$split$2 = _slicedToArray(_hourlyCristal$split$, 1),
70
- hourlyCristalValue = _hourlyCristal$split$2[0];
71
-
72
- var hourlyCristalNumber = toNumber(hourlyCristalValue);
73
-
74
- var _hourlyDeut$split$fil = hourlyDeut.split(' ').filter(Boolean),
75
- _hourlyDeut$split$fil2 = _slicedToArray(_hourlyDeut$split$fil, 1),
76
- hourlyDeutValue = _hourlyDeut$split$fil2[0];
77
-
78
- var hourlyDeutNumber = toNumber(hourlyDeutValue);
79
- var response = {
80
- planets: [],
81
- production: {
82
- hourly: {
83
- metal: hourlyMetalNumber,
84
- crystal: hourlyCristalNumber,
85
- deut: hourlyDeutNumber
86
- },
87
- daily: {
88
- metal: hourlyMetalNumber * 24,
89
- crystal: hourlyCristalNumber * 24,
90
- deut: hourlyDeutNumber * 24
91
- },
92
- weekly: {
93
- metal: hourlyMetalNumber * 24 * 7,
94
- crystal: hourlyCristalNumber * 24 * 7,
95
- deut: hourlyDeutNumber * 24 * 7
96
- }
97
- },
98
- points: {
99
- metal: metalPoint,
100
- crystal: crystalPoint,
101
- deut: deutPoint,
102
- total: metalPoint + crystalPoint + deutPoint
103
- },
104
- plasma: plasmaTechLevel,
105
- universe: Number(universe),
106
- lang: lang
107
- }; // eslint-disable-next-line no-restricted-syntax
108
-
109
- var _iterator = _createForOfIteratorHelper(planets),
110
- _step;
111
-
112
- try {
113
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
114
- var planet = _step.value;
115
-
116
- var _planet$0$split = planet[0].split('/'),
117
- _planet$0$split2 = _slicedToArray(_planet$0$split, 4),
118
- planetMetal = _planet$0$split2[0],
119
- crystal = _planet$0$split2[1],
120
- deut = _planet$0$split2[2],
121
- temperatureText = _planet$0$split2[3];
122
-
123
- var _temperatureText$spli = temperatureText.split('°'),
124
- _temperatureText$spli2 = _slicedToArray(_temperatureText$spli, 1),
125
- temperature = _temperatureText$spli2[0];
126
-
127
- var _planetMetal$split = planetMetal.split(':'),
128
- _planetMetal$split2 = _slicedToArray(_planetMetal$split, 2),
129
- thePlanet = _planetMetal$split2[0],
130
- metal = _planetMetal$split2[1];
131
-
132
- response.planets.push({
133
- planet: thePlanet.trim(),
134
- metal: metal.trim().split(' ')[1],
135
- crystal: crystal.trim().split(' ')[1],
136
- deut: deut.trim().split(' ')[1],
137
- temperature: Number.parseInt(temperature.trim(), 10)
138
- });
139
- }
140
- } catch (err) {
141
- _iterator.e(err);
142
- } finally {
143
- _iterator.f();
144
- }
145
-
146
- return response;
147
- }
148
-
149
- var _default = parseInfoCompteData;
150
- exports["default"] = _default;
@@ -1,107 +0,0 @@
1
- "use strict";
2
-
3
- var _infocompte = _interopRequireDefault(require("./infocompte"));
4
-
5
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
6
-
7
- describe('Infocompte informations should be correctly return when', function () {
8
- it('Version is ', function () {
9
- var params = "\n Niveau des mines du joueur Rolljee ( s165-fr ) le 07/04/2020, 16:40:32 :\n\n Plan\xE8te 01 : M\xE9tal 36 / Cristal 31 / Deut\xE9rium 31 / -94\xB0C\n Plan\xE8te 02 : M\xE9tal 36 / Cristal 31 / Deut\xE9rium 31 / -95\xB0C\n Plan\xE8te 03 : M\xE9tal 36 / Cristal 31 / Deut\xE9rium 31 / 56\xB0C\n Plan\xE8te 04 : M\xE9tal 36 / Cristal 31 / Deut\xE9rium 31 / -118\xB0C\n Plan\xE8te 05 : M\xE9tal 36 / Cristal 31 / Deut\xE9rium 31 / -122\xB0C\n Plan\xE8te 06 : M\xE9tal 36 / Cristal 31 / Deut\xE9rium 31 / -97\xB0C\n Plan\xE8te 07 : M\xE9tal 36 / Cristal 31 / Deut\xE9rium 31 / -96\xB0C\n Plan\xE8te 08 : M\xE9tal 36 / Cristal 31 / Deut\xE9rium 33 / -108\xB0C\n Plan\xE8te 09 : M\xE9tal 38 / Cristal 31 / Deut\xE9rium 34 / -103\xB0C\n Plan\xE8te 10 : M\xE9tal 38 / Cristal 31 / Deut\xE9rium 34 / -76\xB0C\n Plan\xE8te 11 : M\xE9tal 38 / Cristal 31 / Deut\xE9rium 34 / -116\xB0C\n\n Points dans les mines de m\xE9tal : 4.832.457\n Points dans les mines de cristal : 2.807.321\n Points dans les mines de deut : 3.343.660\n Points dans les mines : 10.983.438\n Technologie Plasma : 15\n\n Par heure : 2.292.692 M\xE9tal / 726.693 Cristal / 718.186 Deut\xE9rium\n\n Par jour : 55.024.608 M\xE9tal / 17.440.632 Cristal / 17.236.464 Deut\xE9rium\n\n Par semaine : 385.172.256 M\xE9tal / 122.084.424 Cristal / 120.655.248 Deut\xE9rium\n\n Export with Infocompte v7.0.10\n ";
10
- var response = (0, _infocompte["default"])(params);
11
- expect(response).toEqual({
12
- planets: [{
13
- planet: 'Planète 01',
14
- metal: '36',
15
- crystal: '31',
16
- deut: '31',
17
- temperature: -94
18
- }, {
19
- planet: 'Planète 02',
20
- metal: '36',
21
- crystal: '31',
22
- deut: '31',
23
- temperature: -95
24
- }, {
25
- planet: 'Planète 03',
26
- metal: '36',
27
- crystal: '31',
28
- deut: '31',
29
- temperature: 56
30
- }, {
31
- planet: 'Planète 04',
32
- metal: '36',
33
- crystal: '31',
34
- deut: '31',
35
- temperature: -118
36
- }, {
37
- planet: 'Planète 05',
38
- metal: '36',
39
- crystal: '31',
40
- deut: '31',
41
- temperature: -122
42
- }, {
43
- planet: 'Planète 06',
44
- metal: '36',
45
- crystal: '31',
46
- deut: '31',
47
- temperature: -97
48
- }, {
49
- planet: 'Planète 07',
50
- metal: '36',
51
- crystal: '31',
52
- deut: '31',
53
- temperature: -96
54
- }, {
55
- planet: 'Planète 08',
56
- metal: '36',
57
- crystal: '31',
58
- deut: '33',
59
- temperature: -108
60
- }, {
61
- planet: 'Planète 09',
62
- metal: '38',
63
- crystal: '31',
64
- deut: '34',
65
- temperature: -103
66
- }, {
67
- planet: 'Planète 10',
68
- metal: '38',
69
- crystal: '31',
70
- deut: '34',
71
- temperature: -76
72
- }, {
73
- planet: 'Planète 11',
74
- metal: '38',
75
- crystal: '31',
76
- deut: '34',
77
- temperature: -116
78
- }],
79
- production: {
80
- hourly: {
81
- metal: 2292692,
82
- crystal: 726693,
83
- deut: 718186
84
- },
85
- daily: {
86
- metal: 55024608,
87
- crystal: 17440632,
88
- deut: 17236464
89
- },
90
- weekly: {
91
- metal: 385172256,
92
- crystal: 122084424,
93
- deut: 120655248
94
- }
95
- },
96
- points: {
97
- metal: 4832457,
98
- crystal: 2807321,
99
- deut: 3343660,
100
- total: 10983438
101
- },
102
- plasma: 15,
103
- universe: 165,
104
- lang: 'fr'
105
- });
106
- });
107
- });
@@ -1,50 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = void 0;
7
-
8
- function getMineProduction(baseProduction, targetLevel, universeSpeed) {
9
- var levelFactor = Math.pow(1.1, targetLevel);
10
- return Math.floor(baseProduction * targetLevel * levelFactor * universeSpeed);
11
- }
12
-
13
- function getEnergyCost(baseEnergyCost, targetLevel) {
14
- var level = targetLevel;
15
- var levelFactor = Math.pow(1.1, level);
16
- return Math.floor(baseEnergyCost * level * levelFactor);
17
- }
18
-
19
- function getMetalCost(baseMetalCost, targetLevel) {
20
- var level = targetLevel - 1;
21
- return Math.floor(baseMetalCost * Math.pow(1.5, level));
22
- }
23
-
24
- function getCrystalCost(baseCrystalCost, targetLevel) {
25
- var level = targetLevel - 1;
26
- return Math.floor(baseCrystalCost * Math.pow(1.5, level));
27
- }
28
- /**
29
- *
30
- * Return information about the metal mine given a specific level
31
- * @param {object} mine The metal mine base information
32
- * @param {number} targetLevel
33
- * @param {number} universeSpeed production factor is increased for some universe
34
- * @returns {Object} informations about the metal mine at this specific level
35
- */
36
-
37
-
38
- function getMetalMine(mine, targetLevel) {
39
- var universeSpeed = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
40
- return {
41
- crystal: getCrystalCost(mine.crystal, targetLevel),
42
- deuterium: 0,
43
- energy: getEnergyCost(mine.energy, targetLevel),
44
- metal: getMetalCost(mine.metal, targetLevel),
45
- production: getMineProduction(mine.production, targetLevel, universeSpeed)
46
- };
47
- }
48
-
49
- var _default = getMetalMine;
50
- exports["default"] = _default;
@@ -1,32 +0,0 @@
1
- "use strict";
2
-
3
- var _metal = _interopRequireDefault(require("./metal"));
4
-
5
- var _buildings = _interopRequireDefault(require("../models/buildings"));
6
-
7
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
8
-
9
- describe('Metal mine informations should be correctly return when', function () {
10
- it('Level 10 is given and universe speed is 5', function () {
11
- var mine = _buildings["default"][1].base;
12
- var metalMine = (0, _metal["default"])(mine, 10, 5);
13
- expect(metalMine).toEqual({
14
- production: 3890,
15
- energy: 259,
16
- metal: 2306,
17
- crystal: 576,
18
- deuterium: 0
19
- });
20
- });
21
- it('Level 36 is given and universe speed is 5', function () {
22
- var mine = _buildings["default"][1].base;
23
- var metalMine = (0, _metal["default"])(mine, 36, 5);
24
- expect(metalMine).toEqual({
25
- production: 166928,
26
- energy: 11128,
27
- metal: 87366576,
28
- crystal: 21841644,
29
- deuterium: 0
30
- });
31
- });
32
- });
@@ -1,42 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = void 0;
7
-
8
- function getEnergyProduction(baseProduction, targetLevel) {
9
- var levelFactor = Math.pow(1.1, targetLevel);
10
- return Math.floor(baseProduction * targetLevel * levelFactor);
11
- }
12
-
13
- function getMetalCost(baseMetalCost, targetLevel) {
14
- var level = targetLevel - 1;
15
- return Math.floor(baseMetalCost * Math.pow(1.5, level));
16
- }
17
-
18
- function getCrystalCost(baseCrystalCost, targetLevel) {
19
- var level = targetLevel - 1;
20
- return Math.floor(baseCrystalCost * Math.pow(1.5, level));
21
- }
22
- /**
23
- *
24
- * Return information about the solar plant given a specific level
25
- * @param {object} solarPlant The solarPlant base information
26
- * @param {number} targetLevel
27
- * @returns {Object} informations about the solar plant at this specific level
28
- */
29
-
30
-
31
- function getSolarPlant(solarPlant, targetLevel) {
32
- return {
33
- crystal: getCrystalCost(solarPlant.crystal, targetLevel),
34
- energy: 0,
35
- deuterium: 0,
36
- metal: getMetalCost(solarPlant.metal, targetLevel),
37
- production: getEnergyProduction(solarPlant.production, targetLevel)
38
- };
39
- }
40
-
41
- var _default = getSolarPlant;
42
- exports["default"] = _default;
@@ -1,21 +0,0 @@
1
- "use strict";
2
-
3
- var _solarPlant = _interopRequireDefault(require("./solar-plant"));
4
-
5
- var _buildings = _interopRequireDefault(require("../models/buildings"));
6
-
7
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
8
-
9
- describe('Solar plant informations should be correctly return when', function () {
10
- it('Level 25 is given', function () {
11
- var mine = _buildings["default"][4].base;
12
- var solarPlant = (0, _solarPlant["default"])(mine, 25);
13
- expect(solarPlant).toEqual({
14
- production: 5417,
15
- energy: 0,
16
- metal: 1262558,
17
- crystal: 505023,
18
- deuterium: 0
19
- });
20
- });
21
- });
@@ -1,27 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = void 0;
7
-
8
- /**
9
- *
10
- * Returns the number of debris generated
11
- * @param {number} shipId The ship identifier
12
- * @param {number} number The number of ship
13
- * @param {number} factor The universe debris factor
14
- * @return {Object} The debris generated
15
- */
16
- function getDebris(ship, number, factor) {
17
- var cost = ship.cost;
18
- var metalDebris = cost.metal ? cost.metal * factor : 0;
19
- var crystalDebris = cost.crystal ? cost.crystal * factor : 0;
20
- return {
21
- metal: metalDebris * number,
22
- crystal: crystalDebris * number
23
- };
24
- }
25
-
26
- var _default = getDebris;
27
- exports["default"] = _default;
@@ -1,26 +0,0 @@
1
- "use strict";
2
-
3
- var _getDebris = _interopRequireDefault(require("./getDebris"));
4
-
5
- var _destroyable = _interopRequireDefault(require("../models/destroyable"));
6
-
7
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
8
-
9
- describe('Debris should be correctly return when', function () {
10
- it('A 10 light fighter crash with 60% in harvest fields', function () {
11
- var ship = _destroyable["default"][1];
12
- var debris = (0, _getDebris["default"])(ship, 10, 0.6);
13
- expect(debris).toEqual({
14
- metal: 18000,
15
- crystal: 6000
16
- });
17
- });
18
- it('A 10 light fighter crash with 30% in harvest fields', function () {
19
- var ship = _destroyable["default"][1];
20
- var debris = (0, _getDebris["default"])(ship, 10, 0.3);
21
- expect(debris).toEqual({
22
- metal: 9000,
23
- crystal: 3000
24
- });
25
- });
26
- });
@@ -1,16 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = void 0;
7
-
8
- var _getDebris = _interopRequireDefault(require("./getDebris"));
9
-
10
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
-
12
- var Fleets = {
13
- getDebris: _getDebris["default"]
14
- };
15
- var _default = Fleets;
16
- exports["default"] = _default;
package/build/index.js DELETED
@@ -1,30 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = void 0;
7
-
8
- var _trades = _interopRequireDefault(require("./trades"));
9
-
10
- var _buildings = _interopRequireDefault(require("./buildings"));
11
-
12
- var _fleets = _interopRequireDefault(require("./fleets"));
13
-
14
- var _buildings2 = _interopRequireDefault(require("./models/buildings"));
15
-
16
- var _destroyable = _interopRequireDefault(require("./models/destroyable"));
17
-
18
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
19
-
20
- var Ogame = {
21
- Trader: _trades["default"],
22
- Building: _buildings["default"],
23
- Fleets: _fleets["default"],
24
- models: {
25
- Buildings: _buildings2["default"],
26
- Destroyable: _destroyable["default"]
27
- }
28
- };
29
- var _default = Ogame;
30
- exports["default"] = _default;