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.
- package/README.md +485 -228
- package/package.json +71 -33
- package/src/buildings/buildTime.js +25 -0
- package/src/buildings/crystal.js +35 -0
- package/src/buildings/deut.js +31 -0
- package/src/buildings/fusion-reactor.js +35 -0
- package/src/buildings/index.js +28 -0
- package/src/buildings/info.js +42 -0
- package/src/buildings/infocompte.js +150 -0
- package/src/buildings/metal.js +26 -0
- package/src/buildings/production.js +150 -0
- package/src/buildings/solar-plant.js +25 -0
- package/src/buildings/storage.js +59 -0
- package/src/cost.js +70 -0
- package/src/fleets/combat.js +291 -0
- package/src/fleets/distance.js +39 -0
- package/src/fleets/flight.js +105 -0
- package/src/fleets/getDebris.js +21 -0
- package/src/fleets/index.js +19 -0
- package/src/fleets/speed.js +108 -0
- package/src/i18n.js +43 -0
- package/src/index.js +28 -0
- package/src/models/buildings.js +319 -0
- package/src/models/destroyable.js +929 -0
- package/src/models/research.js +169 -0
- package/src/research/index.js +9 -0
- package/src/research/researchTime.js +25 -0
- package/src/trades/crystal.js +16 -0
- package/src/trades/deut.js +16 -0
- package/src/trades/index.js +13 -0
- package/src/trades/metal.js +16 -0
- package/src/trades/parseRate.js +49 -0
- package/src/trades/utils.js +9 -0
- package/src/types.js +146 -0
- package/types/buildings/buildTime.d.ts +16 -0
- package/types/buildings/buildTime.d.ts.map +1 -0
- package/types/buildings/crystal.d.ts +12 -0
- package/types/buildings/crystal.d.ts.map +1 -0
- package/types/buildings/deut.d.ts +12 -0
- package/types/buildings/deut.d.ts.map +1 -0
- package/types/buildings/fusion-reactor.d.ts +15 -0
- package/types/buildings/fusion-reactor.d.ts.map +1 -0
- package/types/buildings/index.d.ts +27 -0
- package/types/buildings/index.d.ts.map +1 -0
- package/types/buildings/info.d.ts +17 -0
- package/types/buildings/info.d.ts.map +1 -0
- package/types/buildings/infocompte.d.ts +41 -0
- package/types/buildings/infocompte.d.ts.map +1 -0
- package/types/buildings/metal.d.ts +11 -0
- package/types/buildings/metal.d.ts.map +1 -0
- package/types/buildings/production.d.ts +78 -0
- package/types/buildings/production.d.ts.map +1 -0
- package/types/buildings/solar-plant.d.ts +10 -0
- package/types/buildings/solar-plant.d.ts.map +1 -0
- package/types/buildings/storage.d.ts +29 -0
- package/types/buildings/storage.d.ts.map +1 -0
- package/types/cost.d.ts +25 -0
- package/types/cost.d.ts.map +1 -0
- package/types/fleets/combat.d.ts +57 -0
- package/types/fleets/combat.d.ts.map +1 -0
- package/types/fleets/distance.d.ts +13 -0
- package/types/fleets/distance.d.ts.map +1 -0
- package/types/fleets/flight.d.ts +57 -0
- package/types/fleets/flight.d.ts.map +1 -0
- package/types/fleets/getDebris.d.ts +12 -0
- package/types/fleets/getDebris.d.ts.map +1 -0
- package/types/fleets/index.d.ts +18 -0
- package/types/fleets/index.d.ts.map +1 -0
- package/types/fleets/speed.d.ts +54 -0
- package/types/fleets/speed.d.ts.map +1 -0
- package/types/i18n.d.ts +23 -0
- package/types/i18n.d.ts.map +1 -0
- package/types/index.d.ts +1316 -0
- package/types/index.d.ts.map +1 -0
- package/types/models/buildings.d.ts +373 -0
- package/types/models/buildings.d.ts.map +1 -0
- package/types/models/destroyable.d.ts +695 -0
- package/types/models/destroyable.d.ts.map +1 -0
- package/types/models/research.d.ts +262 -0
- package/types/models/research.d.ts.map +1 -0
- package/types/research/index.d.ts +8 -0
- package/types/research/index.d.ts.map +1 -0
- package/types/research/researchTime.d.ts +16 -0
- package/types/research/researchTime.d.ts.map +1 -0
- package/types/trades/crystal.d.ts +6 -0
- package/types/trades/crystal.d.ts.map +1 -0
- package/types/trades/deut.d.ts +6 -0
- package/types/trades/deut.d.ts.map +1 -0
- package/types/trades/index.d.ts +12 -0
- package/types/trades/index.d.ts.map +1 -0
- package/types/trades/metal.d.ts +6 -0
- package/types/trades/metal.d.ts.map +1 -0
- package/types/trades/parseRate.d.ts +2 -0
- package/types/trades/parseRate.d.ts.map +1 -0
- package/types/trades/utils.d.ts +2 -0
- package/types/trades/utils.d.ts.map +1 -0
- package/types/types.d.ts +449 -0
- package/types/types.d.ts.map +1 -0
- package/CHANGELOG.md +0 -50
- package/build/buildings/crystal.js +0 -61
- package/build/buildings/crystal.test.js +0 -32
- package/build/buildings/deut.js +0 -56
- package/build/buildings/deut.test.js +0 -32
- package/build/buildings/fusion-reactor.js +0 -60
- package/build/buildings/fusion-reactor.test.js +0 -22
- package/build/buildings/index.js +0 -31
- package/build/buildings/infocompte.js +0 -150
- package/build/buildings/infocompte.test.js +0 -107
- package/build/buildings/metal.js +0 -50
- package/build/buildings/metal.test.js +0 -32
- package/build/buildings/solar-plant.js +0 -42
- package/build/buildings/solar-plant.test.js +0 -21
- package/build/fleets/getDebris.js +0 -27
- package/build/fleets/getDebris.test.js +0 -26
- package/build/fleets/index.js +0 -16
- package/build/index.js +0 -30
- package/build/models/buildings.js +0 -65
- package/build/models/destroyable.js +0 -730
- package/build/trades/crystal.js +0 -33
- package/build/trades/crystal.test.js +0 -16
- package/build/trades/deut.js +0 -33
- package/build/trades/deut.test.js +0 -16
- package/build/trades/index.js +0 -25
- package/build/trades/metal.js +0 -33
- package/build/trades/metal.test.js +0 -16
- package/build/trades/parseRate.js +0 -60
- package/build/trades/parseRate.test.js +0 -40
- package/build/trades/trades.js +0 -119
- package/build/trades/trades.test.js +0 -65
- package/build/trades/utils.js +0 -17
- package/build/trades/utils.test.js +0 -16
- 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
|
-
});
|
package/build/buildings/index.js
DELETED
|
@@ -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
|
-
});
|
package/build/buildings/metal.js
DELETED
|
@@ -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
|
-
});
|
package/build/fleets/index.js
DELETED
|
@@ -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;
|