@robsonbittencourt/calc 0.10.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/.eslintignore +2 -0
- package/.eslintrc +12 -0
- package/bundle +107 -0
- package/dist/adaptable.d.ts +6 -0
- package/dist/adaptable.js +28 -0
- package/dist/adaptable.js.map +1 -0
- package/dist/calc.d.ts +6 -0
- package/dist/calc.js +26 -0
- package/dist/calc.js.map +1 -0
- package/dist/data/abilities.d.ts +15 -0
- package/dist/data/abilities.js +448 -0
- package/dist/data/abilities.js.map +1 -0
- package/dist/data/index.d.ts +2 -0
- package/dist/data/index.js +30 -0
- package/dist/data/index.js.map +1 -0
- package/dist/data/interface.d.ts +150 -0
- package/dist/data/interface.js +3 -0
- package/dist/data/interface.js.map +1 -0
- package/dist/data/items.d.ts +24 -0
- package/dist/data/items.js +708 -0
- package/dist/data/items.js.map +1 -0
- package/dist/data/moves.d.ts +86 -0
- package/dist/data/moves.js +5014 -0
- package/dist/data/moves.js.map +1 -0
- package/dist/data/natures.d.ts +17 -0
- package/dist/data/natures.js +127 -0
- package/dist/data/natures.js.map +1 -0
- package/dist/data/production.min.js +1 -0
- package/dist/data/species.d.ts +48 -0
- package/dist/data/species.js +10126 -0
- package/dist/data/species.js.map +1 -0
- package/dist/data/types.d.ts +23 -0
- package/dist/data/types.js +538 -0
- package/dist/data/types.js.map +1 -0
- package/dist/desc.d.ts +65 -0
- package/dist/desc.js +866 -0
- package/dist/desc.js.map +1 -0
- package/dist/field.d.ts +49 -0
- package/dist/field.js +111 -0
- package/dist/field.js.map +1 -0
- package/dist/index.d.ts +44 -0
- package/dist/index.js +99 -0
- package/dist/index.js.map +1 -0
- package/dist/items.d.ts +13 -0
- package/dist/items.js +434 -0
- package/dist/items.js.map +1 -0
- package/dist/mechanics/gen12.d.ts +6 -0
- package/dist/mechanics/gen12.js +271 -0
- package/dist/mechanics/gen12.js.map +1 -0
- package/dist/mechanics/gen3.d.ts +11 -0
- package/dist/mechanics/gen3.js +371 -0
- package/dist/mechanics/gen3.js.map +1 -0
- package/dist/mechanics/gen4.d.ts +11 -0
- package/dist/mechanics/gen4.js +596 -0
- package/dist/mechanics/gen4.js.map +1 -0
- package/dist/mechanics/gen56.d.ts +13 -0
- package/dist/mechanics/gen56.js +836 -0
- package/dist/mechanics/gen56.js.map +1 -0
- package/dist/mechanics/gen789.d.ts +14 -0
- package/dist/mechanics/gen789.js +1325 -0
- package/dist/mechanics/gen789.js.map +1 -0
- package/dist/mechanics/util.d.ts +39 -0
- package/dist/mechanics/util.js +675 -0
- package/dist/mechanics/util.js.map +1 -0
- package/dist/move.d.ts +50 -0
- package/dist/move.js +324 -0
- package/dist/move.js.map +1 -0
- package/dist/pokemon.d.ts +55 -0
- package/dist/pokemon.js +240 -0
- package/dist/pokemon.js.map +1 -0
- package/dist/production.min.js +1 -0
- package/dist/result.d.ts +34 -0
- package/dist/result.js +94 -0
- package/dist/result.js.map +1 -0
- package/dist/state.d.ts +77 -0
- package/dist/state.js +3 -0
- package/dist/state.js.map +1 -0
- package/dist/stats.d.ts +26 -0
- package/dist/stats.js +183 -0
- package/dist/stats.js.map +1 -0
- package/dist/test/calc.test.d.ts +1 -0
- package/dist/test/calc.test.js +1297 -0
- package/dist/test/calc.test.js.map +1 -0
- package/dist/test/data.test.d.ts +1 -0
- package/dist/test/data.test.js +368 -0
- package/dist/test/data.test.js.map +1 -0
- package/dist/test/gen.d.ts +135 -0
- package/dist/test/gen.js +636 -0
- package/dist/test/gen.js.map +1 -0
- package/dist/test/helper.d.ts +55 -0
- package/dist/test/helper.js +174 -0
- package/dist/test/helper.js.map +1 -0
- package/dist/test/move.test.d.ts +1 -0
- package/dist/test/move.test.js +14 -0
- package/dist/test/move.test.js.map +1 -0
- package/dist/test/pokemon.test.d.ts +1 -0
- package/dist/test/pokemon.test.js +102 -0
- package/dist/test/pokemon.test.js.map +1 -0
- package/dist/test/stats.test.d.ts +1 -0
- package/dist/test/stats.test.js +64 -0
- package/dist/test/stats.test.js.map +1 -0
- package/dist/test/utils.test.d.ts +1 -0
- package/dist/test/utils.test.js +19 -0
- package/dist/test/utils.test.js.map +1 -0
- package/dist/util.d.ts +17 -0
- package/dist/util.js +115 -0
- package/dist/util.js.map +1 -0
- package/jest.config.js +11 -0
- package/package.json +40 -0
- package/src/adaptable.ts +12 -0
- package/src/calc.ts +40 -0
- package/src/data/abilities.ts +383 -0
- package/src/data/index.ts +36 -0
- package/src/data/interface.ts +176 -0
- package/src/data/items.ts +632 -0
- package/src/data/moves.ts +5028 -0
- package/src/data/natures.ts +65 -0
- package/src/data/species.ts +10098 -0
- package/src/data/types.ts +478 -0
- package/src/desc.ts +1063 -0
- package/src/field.ts +124 -0
- package/src/index.ts +156 -0
- package/src/items.ts +423 -0
- package/src/mechanics/gen12.ts +297 -0
- package/src/mechanics/gen3.ts +444 -0
- package/src/mechanics/gen4.ts +702 -0
- package/src/mechanics/gen56.ts +1134 -0
- package/src/mechanics/gen789.ts +1788 -0
- package/src/mechanics/util.ts +676 -0
- package/src/move.ts +337 -0
- package/src/pokemon.ts +244 -0
- package/src/result.ts +106 -0
- package/src/state.ts +81 -0
- package/src/stats.ts +213 -0
- package/src/test/calc.test.ts +1588 -0
- package/src/test/data.test.ts +129 -0
- package/src/test/gen.ts +514 -0
- package/src/test/helper.ts +185 -0
- package/src/test/move.test.ts +13 -0
- package/src/test/pokemon.test.ts +121 -0
- package/src/test/stats.test.ts +84 -0
- package/src/test/utils.test.ts +18 -0
- package/src/util.ts +153 -0
- package/tsconfig.json +10 -0
package/dist/pokemon.js
ADDED
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __values = (this && this.__values) || function(o) {
|
|
14
|
+
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
15
|
+
if (m) return m.call(o);
|
|
16
|
+
if (o && typeof o.length === "number") return {
|
|
17
|
+
next: function () {
|
|
18
|
+
if (o && i >= o.length) o = void 0;
|
|
19
|
+
return { value: o && o[i++], done: !o };
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
23
|
+
};
|
|
24
|
+
exports.__esModule = true;
|
|
25
|
+
exports.Pokemon = void 0;
|
|
26
|
+
var stats_1 = require("./stats");
|
|
27
|
+
var util_1 = require("./util");
|
|
28
|
+
var STATS = ['hp', 'atk', 'def', 'spa', 'spd', 'spe'];
|
|
29
|
+
var SPC = new Set(['spc']);
|
|
30
|
+
var Pokemon = (function () {
|
|
31
|
+
function Pokemon(gen, name, options) {
|
|
32
|
+
var e_1, _a;
|
|
33
|
+
if (options === void 0) { options = {}; }
|
|
34
|
+
var _b;
|
|
35
|
+
this.species = (0, util_1.extend)(true, {}, gen.species.get((0, util_1.toID)(name)), options.overrides);
|
|
36
|
+
this.gen = gen;
|
|
37
|
+
this.name = options.name || name;
|
|
38
|
+
this.types = this.species.types;
|
|
39
|
+
this.weightkg = this.species.weightkg;
|
|
40
|
+
this.level = options.level || 100;
|
|
41
|
+
this.gender = options.gender || this.species.gender || 'M';
|
|
42
|
+
this.ability = options.ability || ((_b = this.species.abilities) === null || _b === void 0 ? void 0 : _b[0]) || undefined;
|
|
43
|
+
this.abilityOn = !!options.abilityOn;
|
|
44
|
+
this.isDynamaxed = !!options.isDynamaxed;
|
|
45
|
+
this.dynamaxLevel = this.isDynamaxed
|
|
46
|
+
? (options.dynamaxLevel === undefined ? 10 : options.dynamaxLevel) : undefined;
|
|
47
|
+
this.isSaltCure = !!options.isSaltCure;
|
|
48
|
+
this.alliesFainted = options.alliesFainted;
|
|
49
|
+
this.boostedStat = options.boostedStat;
|
|
50
|
+
this.teraType = options.teraType;
|
|
51
|
+
this.item = options.item;
|
|
52
|
+
this.nature = options.nature || 'Serious';
|
|
53
|
+
this.ivs = Pokemon.withDefault(gen, options.ivs, 31);
|
|
54
|
+
this.evs = Pokemon.withDefault(gen, options.evs, gen.num >= 3 ? 0 : 252);
|
|
55
|
+
this.boosts = Pokemon.withDefault(gen, options.boosts, 0, false);
|
|
56
|
+
if (this.weightkg === 0 && !this.isDynamaxed && this.species.baseSpecies) {
|
|
57
|
+
this.weightkg = gen.species.get((0, util_1.toID)(this.species.baseSpecies)).weightkg;
|
|
58
|
+
}
|
|
59
|
+
if (gen.num < 3) {
|
|
60
|
+
this.ivs.hp = stats_1.Stats.DVToIV(stats_1.Stats.getHPDV({
|
|
61
|
+
atk: this.ivs.atk,
|
|
62
|
+
def: this.ivs.def,
|
|
63
|
+
spe: this.ivs.spe,
|
|
64
|
+
spc: this.ivs.spa
|
|
65
|
+
}));
|
|
66
|
+
}
|
|
67
|
+
this.rawStats = {};
|
|
68
|
+
this.stats = {};
|
|
69
|
+
try {
|
|
70
|
+
for (var STATS_1 = __values(STATS), STATS_1_1 = STATS_1.next(); !STATS_1_1.done; STATS_1_1 = STATS_1.next()) {
|
|
71
|
+
var stat = STATS_1_1.value;
|
|
72
|
+
var val = this.calcStat(gen, stat);
|
|
73
|
+
this.rawStats[stat] = val;
|
|
74
|
+
this.stats[stat] = val;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
78
|
+
finally {
|
|
79
|
+
try {
|
|
80
|
+
if (STATS_1_1 && !STATS_1_1.done && (_a = STATS_1["return"])) _a.call(STATS_1);
|
|
81
|
+
}
|
|
82
|
+
finally { if (e_1) throw e_1.error; }
|
|
83
|
+
}
|
|
84
|
+
var curHP = options.curHP || options.originalCurHP;
|
|
85
|
+
this.originalCurHP = curHP && curHP <= this.rawStats.hp ? curHP : this.rawStats.hp;
|
|
86
|
+
this.status = options.status || '';
|
|
87
|
+
this.toxicCounter = options.toxicCounter || 0;
|
|
88
|
+
this.moves = options.moves || [];
|
|
89
|
+
}
|
|
90
|
+
Pokemon.prototype.maxHP = function (original) {
|
|
91
|
+
if (original === void 0) { original = false; }
|
|
92
|
+
if (!original && this.isDynamaxed && this.species.baseStats.hp !== 1) {
|
|
93
|
+
return Math.floor((this.rawStats.hp * (150 + 5 * this.dynamaxLevel)) / 100);
|
|
94
|
+
}
|
|
95
|
+
return this.rawStats.hp;
|
|
96
|
+
};
|
|
97
|
+
Pokemon.prototype.curHP = function (original) {
|
|
98
|
+
if (original === void 0) { original = false; }
|
|
99
|
+
if (!original && this.isDynamaxed && this.species.baseStats.hp !== 1) {
|
|
100
|
+
return Math.ceil((this.originalCurHP * (150 + 5 * this.dynamaxLevel)) / 100);
|
|
101
|
+
}
|
|
102
|
+
return this.originalCurHP;
|
|
103
|
+
};
|
|
104
|
+
Pokemon.prototype.hasAbility = function () {
|
|
105
|
+
var abilities = [];
|
|
106
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
107
|
+
abilities[_i] = arguments[_i];
|
|
108
|
+
}
|
|
109
|
+
return !!(this.ability && abilities.includes(this.ability));
|
|
110
|
+
};
|
|
111
|
+
Pokemon.prototype.hasItem = function () {
|
|
112
|
+
var items = [];
|
|
113
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
114
|
+
items[_i] = arguments[_i];
|
|
115
|
+
}
|
|
116
|
+
return !!(this.item && items.includes(this.item));
|
|
117
|
+
};
|
|
118
|
+
Pokemon.prototype.hasStatus = function () {
|
|
119
|
+
var statuses = [];
|
|
120
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
121
|
+
statuses[_i] = arguments[_i];
|
|
122
|
+
}
|
|
123
|
+
return !!(this.status && statuses.includes(this.status));
|
|
124
|
+
};
|
|
125
|
+
Pokemon.prototype.hasType = function () {
|
|
126
|
+
var e_2, _a;
|
|
127
|
+
var types = [];
|
|
128
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
129
|
+
types[_i] = arguments[_i];
|
|
130
|
+
}
|
|
131
|
+
try {
|
|
132
|
+
for (var types_1 = __values(types), types_1_1 = types_1.next(); !types_1_1.done; types_1_1 = types_1.next()) {
|
|
133
|
+
var type = types_1_1.value;
|
|
134
|
+
if (this.teraType ? this.teraType === type : this.types.includes(type))
|
|
135
|
+
return true;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
139
|
+
finally {
|
|
140
|
+
try {
|
|
141
|
+
if (types_1_1 && !types_1_1.done && (_a = types_1["return"])) _a.call(types_1);
|
|
142
|
+
}
|
|
143
|
+
finally { if (e_2) throw e_2.error; }
|
|
144
|
+
}
|
|
145
|
+
return false;
|
|
146
|
+
};
|
|
147
|
+
Pokemon.prototype.hasOriginalType = function () {
|
|
148
|
+
var e_3, _a;
|
|
149
|
+
var types = [];
|
|
150
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
151
|
+
types[_i] = arguments[_i];
|
|
152
|
+
}
|
|
153
|
+
try {
|
|
154
|
+
for (var types_2 = __values(types), types_2_1 = types_2.next(); !types_2_1.done; types_2_1 = types_2.next()) {
|
|
155
|
+
var type = types_2_1.value;
|
|
156
|
+
if (this.types.includes(type))
|
|
157
|
+
return true;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
161
|
+
finally {
|
|
162
|
+
try {
|
|
163
|
+
if (types_2_1 && !types_2_1.done && (_a = types_2["return"])) _a.call(types_2);
|
|
164
|
+
}
|
|
165
|
+
finally { if (e_3) throw e_3.error; }
|
|
166
|
+
}
|
|
167
|
+
return false;
|
|
168
|
+
};
|
|
169
|
+
Pokemon.prototype.named = function () {
|
|
170
|
+
var names = [];
|
|
171
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
172
|
+
names[_i] = arguments[_i];
|
|
173
|
+
}
|
|
174
|
+
return names.includes(this.name);
|
|
175
|
+
};
|
|
176
|
+
Pokemon.prototype.clone = function () {
|
|
177
|
+
return new Pokemon(this.gen, this.name, {
|
|
178
|
+
level: this.level,
|
|
179
|
+
ability: this.ability,
|
|
180
|
+
abilityOn: this.abilityOn,
|
|
181
|
+
isDynamaxed: this.isDynamaxed,
|
|
182
|
+
dynamaxLevel: this.dynamaxLevel,
|
|
183
|
+
isSaltCure: this.isSaltCure,
|
|
184
|
+
alliesFainted: this.alliesFainted,
|
|
185
|
+
boostedStat: this.boostedStat,
|
|
186
|
+
item: this.item,
|
|
187
|
+
gender: this.gender,
|
|
188
|
+
nature: this.nature,
|
|
189
|
+
ivs: (0, util_1.extend)(true, {}, this.ivs),
|
|
190
|
+
evs: (0, util_1.extend)(true, {}, this.evs),
|
|
191
|
+
boosts: (0, util_1.extend)(true, {}, this.boosts),
|
|
192
|
+
originalCurHP: this.originalCurHP,
|
|
193
|
+
status: this.status,
|
|
194
|
+
teraType: this.teraType,
|
|
195
|
+
toxicCounter: this.toxicCounter,
|
|
196
|
+
moves: this.moves.slice(),
|
|
197
|
+
overrides: this.species
|
|
198
|
+
});
|
|
199
|
+
};
|
|
200
|
+
Pokemon.prototype.calcStat = function (gen, stat) {
|
|
201
|
+
return stats_1.Stats.calcStat(gen, stat, this.species.baseStats[stat], this.ivs[stat], this.evs[stat], this.level, this.nature);
|
|
202
|
+
};
|
|
203
|
+
Pokemon.getForme = function (gen, speciesName, item, moveName) {
|
|
204
|
+
var species = gen.species.get((0, util_1.toID)(speciesName));
|
|
205
|
+
if (!(species === null || species === void 0 ? void 0 : species.otherFormes)) {
|
|
206
|
+
return speciesName;
|
|
207
|
+
}
|
|
208
|
+
var i = 0;
|
|
209
|
+
if ((item &&
|
|
210
|
+
((item.includes('ite') && !item.includes('ite Y')) ||
|
|
211
|
+
(speciesName === 'Groudon' && item === 'Red Orb') ||
|
|
212
|
+
(speciesName === 'Kyogre' && item === 'Blue Orb'))) ||
|
|
213
|
+
(moveName && speciesName === 'Meloetta' && moveName === 'Relic Song') ||
|
|
214
|
+
(speciesName === 'Rayquaza' && moveName === 'Dragon Ascent')) {
|
|
215
|
+
i = 1;
|
|
216
|
+
}
|
|
217
|
+
else if (item === null || item === void 0 ? void 0 : item.includes('ite Y')) {
|
|
218
|
+
i = 2;
|
|
219
|
+
}
|
|
220
|
+
return i ? species.otherFormes[i - 1] : species.name;
|
|
221
|
+
};
|
|
222
|
+
Pokemon.withDefault = function (gen, current, val, match) {
|
|
223
|
+
if (match === void 0) { match = true; }
|
|
224
|
+
var cur = {};
|
|
225
|
+
if (current) {
|
|
226
|
+
(0, util_1.assignWithout)(cur, current, SPC);
|
|
227
|
+
if (current.spc) {
|
|
228
|
+
cur.spa = current.spc;
|
|
229
|
+
cur.spd = current.spc;
|
|
230
|
+
}
|
|
231
|
+
if (match && gen.num <= 2 && current.spa !== current.spd) {
|
|
232
|
+
throw new Error('Special Attack and Special Defense must match before Gen 3');
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
return __assign({ hp: val, atk: val, def: val, spa: val, spd: val, spe: val }, cur);
|
|
236
|
+
};
|
|
237
|
+
return Pokemon;
|
|
238
|
+
}());
|
|
239
|
+
exports.Pokemon = Pokemon;
|
|
240
|
+
//# sourceMappingURL=pokemon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pokemon.js","sourceRoot":"","sources":["../src/pokemon.ts"],"names":[],"mappings":"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"}
|