@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/test/gen.js
ADDED
|
@@ -0,0 +1,636 @@
|
|
|
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 __generator = (this && this.__generator) || function (thisArg, body) {
|
|
14
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
15
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
16
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
17
|
+
function step(op) {
|
|
18
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
19
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
20
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
21
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
22
|
+
switch (op[0]) {
|
|
23
|
+
case 0: case 1: t = op; break;
|
|
24
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
25
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
26
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
27
|
+
default:
|
|
28
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
29
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
30
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
31
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
32
|
+
if (t[2]) _.ops.pop();
|
|
33
|
+
_.trys.pop(); continue;
|
|
34
|
+
}
|
|
35
|
+
op = body.call(thisArg, _);
|
|
36
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
37
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
41
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
42
|
+
if (!m) return o;
|
|
43
|
+
var i = m.call(o), r, ar = [], e;
|
|
44
|
+
try {
|
|
45
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
46
|
+
}
|
|
47
|
+
catch (error) { e = { error: error }; }
|
|
48
|
+
finally {
|
|
49
|
+
try {
|
|
50
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
51
|
+
}
|
|
52
|
+
finally { if (e) throw e.error; }
|
|
53
|
+
}
|
|
54
|
+
return ar;
|
|
55
|
+
};
|
|
56
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
57
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
58
|
+
if (ar || !(i in from)) {
|
|
59
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
60
|
+
ar[i] = from[i];
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
64
|
+
};
|
|
65
|
+
exports.__esModule = true;
|
|
66
|
+
exports.Natures = exports.Types = exports.Generations = exports.toID = void 0;
|
|
67
|
+
function toID(s) {
|
|
68
|
+
return ('' + s).toLowerCase().replace(/[^a-z0-9]+/g, '');
|
|
69
|
+
}
|
|
70
|
+
exports.toID = toID;
|
|
71
|
+
var GENERATIONS = Object.create(null);
|
|
72
|
+
var Generations = (function () {
|
|
73
|
+
function Generations(dex) {
|
|
74
|
+
this.dex = dex;
|
|
75
|
+
}
|
|
76
|
+
Generations.prototype.get = function (gen) {
|
|
77
|
+
if (GENERATIONS[gen])
|
|
78
|
+
return GENERATIONS[gen];
|
|
79
|
+
return (GENERATIONS[gen] = new Generation(this.dex.forGen(gen)));
|
|
80
|
+
};
|
|
81
|
+
return Generations;
|
|
82
|
+
}());
|
|
83
|
+
exports.Generations = Generations;
|
|
84
|
+
var Generation = (function () {
|
|
85
|
+
function Generation(dex) {
|
|
86
|
+
this.dex = dex;
|
|
87
|
+
this.abilities = new Abilities(dex);
|
|
88
|
+
this.items = new Items(dex);
|
|
89
|
+
this.moves = new Moves(dex);
|
|
90
|
+
this.species = new Species(dex);
|
|
91
|
+
this.types = new Types(dex);
|
|
92
|
+
this.natures = new Natures(dex);
|
|
93
|
+
this.num = this.dex.gen;
|
|
94
|
+
}
|
|
95
|
+
return Generation;
|
|
96
|
+
}());
|
|
97
|
+
var Abilities = (function () {
|
|
98
|
+
function Abilities(dex) {
|
|
99
|
+
this.dex = dex;
|
|
100
|
+
}
|
|
101
|
+
Abilities.prototype.get = function (name) {
|
|
102
|
+
var ability = this.dex.abilities.get(name);
|
|
103
|
+
if (ability.isNonstandard === 'CAP' && this.dex.gen < 4)
|
|
104
|
+
return undefined;
|
|
105
|
+
return exists(ability, this.dex.gen) ? new Ability(ability) : undefined;
|
|
106
|
+
};
|
|
107
|
+
Abilities.prototype[Symbol.iterator] = function () {
|
|
108
|
+
var _a, _b, _c, _i, id, a;
|
|
109
|
+
return __generator(this, function (_d) {
|
|
110
|
+
switch (_d.label) {
|
|
111
|
+
case 0:
|
|
112
|
+
_a = this.dex.data.Abilities;
|
|
113
|
+
_b = [];
|
|
114
|
+
for (_c in _a)
|
|
115
|
+
_b.push(_c);
|
|
116
|
+
_i = 0;
|
|
117
|
+
_d.label = 1;
|
|
118
|
+
case 1:
|
|
119
|
+
if (!(_i < _b.length)) return [3, 4];
|
|
120
|
+
_c = _b[_i];
|
|
121
|
+
if (!(_c in _a)) return [3, 3];
|
|
122
|
+
id = _c;
|
|
123
|
+
a = this.get(id);
|
|
124
|
+
if (!a) return [3, 3];
|
|
125
|
+
return [4, a];
|
|
126
|
+
case 2:
|
|
127
|
+
_d.sent();
|
|
128
|
+
_d.label = 3;
|
|
129
|
+
case 3:
|
|
130
|
+
_i++;
|
|
131
|
+
return [3, 1];
|
|
132
|
+
case 4: return [2];
|
|
133
|
+
}
|
|
134
|
+
});
|
|
135
|
+
};
|
|
136
|
+
return Abilities;
|
|
137
|
+
}());
|
|
138
|
+
var Ability = (function () {
|
|
139
|
+
function Ability(ability) {
|
|
140
|
+
this.kind = 'Ability';
|
|
141
|
+
this.id = ability.id;
|
|
142
|
+
this.name = ability.name;
|
|
143
|
+
}
|
|
144
|
+
return Ability;
|
|
145
|
+
}());
|
|
146
|
+
var Items = (function () {
|
|
147
|
+
function Items(dex) {
|
|
148
|
+
this.dex = dex;
|
|
149
|
+
}
|
|
150
|
+
Items.prototype.get = function (name) {
|
|
151
|
+
if (this.dex.gen < 2)
|
|
152
|
+
return undefined;
|
|
153
|
+
var item = this.dex.items.get(name);
|
|
154
|
+
if (this.dex.gen === 3 && item.id === 'enigmaberry') {
|
|
155
|
+
item = this.dex.forGen(4).items.get('enigmaberry');
|
|
156
|
+
}
|
|
157
|
+
return exists(item, this.dex.gen) ? new Item(item, this.dex.gen) : undefined;
|
|
158
|
+
};
|
|
159
|
+
Items.prototype[Symbol.iterator] = function () {
|
|
160
|
+
var _a, _b, _c, _i, id, i;
|
|
161
|
+
return __generator(this, function (_d) {
|
|
162
|
+
switch (_d.label) {
|
|
163
|
+
case 0:
|
|
164
|
+
_a = this.dex.data.Items;
|
|
165
|
+
_b = [];
|
|
166
|
+
for (_c in _a)
|
|
167
|
+
_b.push(_c);
|
|
168
|
+
_i = 0;
|
|
169
|
+
_d.label = 1;
|
|
170
|
+
case 1:
|
|
171
|
+
if (!(_i < _b.length)) return [3, 4];
|
|
172
|
+
_c = _b[_i];
|
|
173
|
+
if (!(_c in _a)) return [3, 3];
|
|
174
|
+
id = _c;
|
|
175
|
+
i = this.get(id);
|
|
176
|
+
if (!i) return [3, 3];
|
|
177
|
+
return [4, i];
|
|
178
|
+
case 2:
|
|
179
|
+
_d.sent();
|
|
180
|
+
_d.label = 3;
|
|
181
|
+
case 3:
|
|
182
|
+
_i++;
|
|
183
|
+
return [3, 1];
|
|
184
|
+
case 4: return [2];
|
|
185
|
+
}
|
|
186
|
+
});
|
|
187
|
+
};
|
|
188
|
+
return Items;
|
|
189
|
+
}());
|
|
190
|
+
var Item = (function () {
|
|
191
|
+
function Item(item, gen) {
|
|
192
|
+
this.kind = 'Item';
|
|
193
|
+
this.id = item.id;
|
|
194
|
+
this.name = item.name;
|
|
195
|
+
this.megaEvolves = item.megaEvolves;
|
|
196
|
+
this.isBerry = item.isBerry;
|
|
197
|
+
this.naturalGift = item.naturalGift && {
|
|
198
|
+
basePower: item.naturalGift.basePower - (gen === 2 ? 20 : 0),
|
|
199
|
+
type: item.naturalGift.type
|
|
200
|
+
};
|
|
201
|
+
}
|
|
202
|
+
return Item;
|
|
203
|
+
}());
|
|
204
|
+
var Moves = (function () {
|
|
205
|
+
function Moves(dex) {
|
|
206
|
+
this.dex = dex;
|
|
207
|
+
}
|
|
208
|
+
Moves.prototype.get = function (name) {
|
|
209
|
+
var move = this.dex.moves.get(name);
|
|
210
|
+
return exists(move, this.dex.gen) ? new Move(move, this.dex) : undefined;
|
|
211
|
+
};
|
|
212
|
+
Moves.prototype[Symbol.iterator] = function () {
|
|
213
|
+
var _a, _b, _c, _i, id, m;
|
|
214
|
+
return __generator(this, function (_d) {
|
|
215
|
+
switch (_d.label) {
|
|
216
|
+
case 0: return [4, NoMove(this.dex)];
|
|
217
|
+
case 1:
|
|
218
|
+
_d.sent();
|
|
219
|
+
_a = this.dex.data.Moves;
|
|
220
|
+
_b = [];
|
|
221
|
+
for (_c in _a)
|
|
222
|
+
_b.push(_c);
|
|
223
|
+
_i = 0;
|
|
224
|
+
_d.label = 2;
|
|
225
|
+
case 2:
|
|
226
|
+
if (!(_i < _b.length)) return [3, 5];
|
|
227
|
+
_c = _b[_i];
|
|
228
|
+
if (!(_c in _a)) return [3, 4];
|
|
229
|
+
id = _c;
|
|
230
|
+
m = this.get(id);
|
|
231
|
+
if (!m) return [3, 4];
|
|
232
|
+
return [4, m];
|
|
233
|
+
case 3:
|
|
234
|
+
_d.sent();
|
|
235
|
+
_d.label = 4;
|
|
236
|
+
case 4:
|
|
237
|
+
_i++;
|
|
238
|
+
return [3, 2];
|
|
239
|
+
case 5: return [2];
|
|
240
|
+
}
|
|
241
|
+
});
|
|
242
|
+
};
|
|
243
|
+
return Moves;
|
|
244
|
+
}());
|
|
245
|
+
var Move = (function () {
|
|
246
|
+
function Move(move, dex) {
|
|
247
|
+
var _a, _b, _c;
|
|
248
|
+
this.kind = 'Move';
|
|
249
|
+
this.id = move.id === 'hiddenpower' ? toID(move.name) : move.id;
|
|
250
|
+
this.name = move.name;
|
|
251
|
+
this.basePower = move.basePower;
|
|
252
|
+
this.type = move.type;
|
|
253
|
+
this.overrideOffensiveStat = move.overrideOffensiveStat;
|
|
254
|
+
this.overrideDefensiveStat = move.overrideDefensiveStat;
|
|
255
|
+
this.overrideOffensivePokemon = move.overrideOffensivePokemon;
|
|
256
|
+
this.overrideDefensivePokemon = move.overrideDefensivePokemon;
|
|
257
|
+
if (move.category === 'Status' || dex.gen >= 4) {
|
|
258
|
+
this.category = move.category;
|
|
259
|
+
}
|
|
260
|
+
if (move.recoil)
|
|
261
|
+
this.recoil = move.recoil;
|
|
262
|
+
if (move.hasCrashDamage)
|
|
263
|
+
this.hasCrashDamage = move.hasCrashDamage;
|
|
264
|
+
if (move.mindBlownRecoil)
|
|
265
|
+
this.mindBlownRecoil = move.mindBlownRecoil;
|
|
266
|
+
if (move.struggleRecoil)
|
|
267
|
+
this.struggleRecoil = move.struggleRecoil;
|
|
268
|
+
var stat = move.category === 'Special' ? 'spa' : 'atk';
|
|
269
|
+
if (((_a = move.self) === null || _a === void 0 ? void 0 : _a.boosts) && move.self.boosts[stat] && move.self.boosts[stat] < 0) {
|
|
270
|
+
this.self = move.self;
|
|
271
|
+
}
|
|
272
|
+
if (move.multihit)
|
|
273
|
+
this.multihit = move.multihit;
|
|
274
|
+
if (move.multiaccuracy)
|
|
275
|
+
this.multiaccuracy = move.multiaccuracy;
|
|
276
|
+
if (move.drain)
|
|
277
|
+
this.drain = move.drain;
|
|
278
|
+
if (move.willCrit)
|
|
279
|
+
this.willCrit = move.willCrit;
|
|
280
|
+
if (move.priority > 0)
|
|
281
|
+
this.priority = move.priority;
|
|
282
|
+
this.flags = {};
|
|
283
|
+
if (dex.gen >= 2) {
|
|
284
|
+
if (move.breaksProtect)
|
|
285
|
+
this.breaksProtect = move.breaksProtect;
|
|
286
|
+
}
|
|
287
|
+
if (dex.gen >= 3) {
|
|
288
|
+
if (move.flags.contact)
|
|
289
|
+
this.flags.contact = move.flags.contact;
|
|
290
|
+
if (move.flags.sound)
|
|
291
|
+
this.flags.sound = move.flags.sound;
|
|
292
|
+
if (['allAdjacent', 'allAdjacentFoes'].includes(move.target)) {
|
|
293
|
+
this.target = move.target;
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
if (dex.gen >= 4) {
|
|
297
|
+
if (move.flags.punch)
|
|
298
|
+
this.flags.punch = move.flags.punch;
|
|
299
|
+
if (move.flags.bite)
|
|
300
|
+
this.flags.bite = move.flags.bite;
|
|
301
|
+
}
|
|
302
|
+
if (dex.gen >= 5) {
|
|
303
|
+
if (move.ignoreDefensive)
|
|
304
|
+
this.ignoreDefensive = move.ignoreDefensive;
|
|
305
|
+
if ('secondaries' in move && ((_b = move.secondaries) === null || _b === void 0 ? void 0 : _b.length)) {
|
|
306
|
+
this.secondaries = true;
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
if (dex.gen >= 6) {
|
|
310
|
+
if (move.flags.bullet)
|
|
311
|
+
this.flags.bullet = move.flags.bullet;
|
|
312
|
+
if (move.flags.pulse)
|
|
313
|
+
this.flags.pulse = move.flags.pulse;
|
|
314
|
+
}
|
|
315
|
+
if (dex.gen >= 7) {
|
|
316
|
+
if (move.isZ)
|
|
317
|
+
this.isZ = true;
|
|
318
|
+
if ((_c = move.zMove) === null || _c === void 0 ? void 0 : _c.basePower)
|
|
319
|
+
this.zMove = { basePower: move.zMove.basePower };
|
|
320
|
+
}
|
|
321
|
+
if (dex.gen >= 8) {
|
|
322
|
+
if (move.isMax)
|
|
323
|
+
this.isMax = true;
|
|
324
|
+
if (move.maxMove)
|
|
325
|
+
this.maxMove = { basePower: move.maxMove.basePower };
|
|
326
|
+
}
|
|
327
|
+
if (dex.gen >= 9) {
|
|
328
|
+
if (move.flags.wind)
|
|
329
|
+
this.flags.wind = move.flags.wind;
|
|
330
|
+
if (move.flags.slicing)
|
|
331
|
+
this.flags.slicing = move.flags.slicing;
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
return Move;
|
|
335
|
+
}());
|
|
336
|
+
var Species = (function () {
|
|
337
|
+
function Species(dex) {
|
|
338
|
+
this.dex = dex;
|
|
339
|
+
}
|
|
340
|
+
Species.prototype.get = function (name) {
|
|
341
|
+
var species = this.dex.species.get(name);
|
|
342
|
+
if (this.dex.gen >= 6 && species.id === 'aegislashboth')
|
|
343
|
+
return AegislashBoth(this.dex);
|
|
344
|
+
return exists(species, this.dex.gen) ? new Specie(species, this.dex) : undefined;
|
|
345
|
+
};
|
|
346
|
+
Species.prototype[Symbol.iterator] = function () {
|
|
347
|
+
var _a, _b, _c, _i, id, s;
|
|
348
|
+
return __generator(this, function (_d) {
|
|
349
|
+
switch (_d.label) {
|
|
350
|
+
case 0:
|
|
351
|
+
_a = this.dex.data.Species;
|
|
352
|
+
_b = [];
|
|
353
|
+
for (_c in _a)
|
|
354
|
+
_b.push(_c);
|
|
355
|
+
_i = 0;
|
|
356
|
+
_d.label = 1;
|
|
357
|
+
case 1:
|
|
358
|
+
if (!(_i < _b.length)) return [3, 6];
|
|
359
|
+
_c = _b[_i];
|
|
360
|
+
if (!(_c in _a)) return [3, 5];
|
|
361
|
+
id = _c;
|
|
362
|
+
s = this.get(id);
|
|
363
|
+
if (!s) return [3, 5];
|
|
364
|
+
if (!(id === 'aegislash')) return [3, 3];
|
|
365
|
+
return [4, AegislashBoth(this.dex)];
|
|
366
|
+
case 2:
|
|
367
|
+
_d.sent();
|
|
368
|
+
_d.label = 3;
|
|
369
|
+
case 3: return [4, s];
|
|
370
|
+
case 4:
|
|
371
|
+
_d.sent();
|
|
372
|
+
_d.label = 5;
|
|
373
|
+
case 5:
|
|
374
|
+
_i++;
|
|
375
|
+
return [3, 1];
|
|
376
|
+
case 6: return [2];
|
|
377
|
+
}
|
|
378
|
+
});
|
|
379
|
+
};
|
|
380
|
+
return Species;
|
|
381
|
+
}());
|
|
382
|
+
function NoMove(dex) {
|
|
383
|
+
return new Move({
|
|
384
|
+
id: 'nomove',
|
|
385
|
+
name: '(No Move)',
|
|
386
|
+
basePower: 0,
|
|
387
|
+
type: 'Normal',
|
|
388
|
+
category: 'Status',
|
|
389
|
+
target: 'any',
|
|
390
|
+
flags: {},
|
|
391
|
+
gen: 1,
|
|
392
|
+
priority: 0
|
|
393
|
+
}, dex);
|
|
394
|
+
}
|
|
395
|
+
var Specie = (function () {
|
|
396
|
+
function Specie(species, dex) {
|
|
397
|
+
var _a, _b;
|
|
398
|
+
this.kind = 'Species';
|
|
399
|
+
this.id = (species.id === 'aegislash' ? 'aegislashshield' : species.id);
|
|
400
|
+
this.name = (species.name === 'Aegislash' ? 'Aegislash-Shield' : species.name);
|
|
401
|
+
this.types = species.types;
|
|
402
|
+
this.baseStats = species.baseStats;
|
|
403
|
+
this.weightkg = species.weightkg;
|
|
404
|
+
var nfe = !!((_a = species.evos) === null || _a === void 0 ? void 0 : _a.some(function (s) { return exists(dex.species.get(s), dex.gen); }));
|
|
405
|
+
if (nfe)
|
|
406
|
+
this.nfe = nfe;
|
|
407
|
+
if (species.gender === 'N' && dex.gen > 1)
|
|
408
|
+
this.gender = species.gender;
|
|
409
|
+
var formes = (_b = species.otherFormes) === null || _b === void 0 ? void 0 : _b.filter(function (s) { return exists(dex.species.get(s), dex.gen); });
|
|
410
|
+
if (species.id.startsWith('aegislash')) {
|
|
411
|
+
if (species.id === 'aegislashblade') {
|
|
412
|
+
this.otherFormes = ['Aegislash-Shield', 'Aegislash-Both'];
|
|
413
|
+
}
|
|
414
|
+
else {
|
|
415
|
+
this.baseSpecies = 'Aegislash-Blade';
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
else if (species.id === 'toxtricity') {
|
|
419
|
+
this.otherFormes = [
|
|
420
|
+
'Toxtricity-Gmax', 'Toxtricity-Low-Key', 'Toxtricity-Low-Key-Gmax',
|
|
421
|
+
];
|
|
422
|
+
}
|
|
423
|
+
else if (species.id === 'toxtricitylowkey') {
|
|
424
|
+
this.baseSpecies = 'Toxtricity';
|
|
425
|
+
}
|
|
426
|
+
else if (species.id === 'urshifu') {
|
|
427
|
+
this.otherFormes = [
|
|
428
|
+
'Urshifu-Gmax', 'Urshifu-Rapid-Strike', 'Urshifu-Rapid-Strike-Gmax',
|
|
429
|
+
];
|
|
430
|
+
}
|
|
431
|
+
else if (species.id === 'eternatus') {
|
|
432
|
+
this.otherFormes = ['Eternatus-Eternamax'];
|
|
433
|
+
}
|
|
434
|
+
else if (formes === null || formes === void 0 ? void 0 : formes.length) {
|
|
435
|
+
this.otherFormes = __spreadArray([], __read(formes), false).sort();
|
|
436
|
+
}
|
|
437
|
+
else if (species.baseSpecies !== this.name) {
|
|
438
|
+
this.baseSpecies = species.baseSpecies;
|
|
439
|
+
}
|
|
440
|
+
if (dex.gen === 8 && species.canGigantamax &&
|
|
441
|
+
!(species.id.startsWith('toxtricity') || species.id.startsWith('urshifu'))) {
|
|
442
|
+
var formes_1 = this.otherFormes || [];
|
|
443
|
+
var gmax = dex.species.get("".concat(species.name, "-Gmax"));
|
|
444
|
+
if (exists(gmax, dex.gen))
|
|
445
|
+
this.otherFormes = __spreadArray(__spreadArray([], __read(formes_1), false), [gmax.name], false).sort();
|
|
446
|
+
}
|
|
447
|
+
if (dex.gen > 2)
|
|
448
|
+
this.abilities = { 0: species.abilities[0] };
|
|
449
|
+
}
|
|
450
|
+
return Specie;
|
|
451
|
+
}());
|
|
452
|
+
function AegislashBoth(dex) {
|
|
453
|
+
var shield = dex.species.get('aegislash');
|
|
454
|
+
var blade = dex.species.get('aegislashblade');
|
|
455
|
+
var baseStats = {
|
|
456
|
+
hp: shield.baseStats.hp,
|
|
457
|
+
atk: blade.baseStats.atk,
|
|
458
|
+
def: shield.baseStats.def,
|
|
459
|
+
spa: blade.baseStats.spa,
|
|
460
|
+
spd: shield.baseStats.spd,
|
|
461
|
+
spe: shield.baseStats.spe
|
|
462
|
+
};
|
|
463
|
+
return new Specie(__assign(__assign({}, shield), { baseStats: baseStats, id: 'aegislashboth', name: 'Aegislash-Both' }), dex);
|
|
464
|
+
}
|
|
465
|
+
var DAMAGE_TAKEN = [1, 2, 0.5, 0];
|
|
466
|
+
var Types = (function () {
|
|
467
|
+
function Types(dex) {
|
|
468
|
+
this.dex = dex;
|
|
469
|
+
var unknown = {
|
|
470
|
+
kind: 'Type',
|
|
471
|
+
id: '',
|
|
472
|
+
name: '???',
|
|
473
|
+
effectiveness: {}
|
|
474
|
+
};
|
|
475
|
+
this.byID = {};
|
|
476
|
+
for (var id in this.dex.data.Types) {
|
|
477
|
+
if (!exists(this.dex.types.get(id), this.dex.gen))
|
|
478
|
+
continue;
|
|
479
|
+
var name_1 = id[0].toUpperCase() + id.slice(1);
|
|
480
|
+
var effectiveness = { '???': 1 };
|
|
481
|
+
for (var t2ID in this.dex.data.Types) {
|
|
482
|
+
if (!exists(this.dex.types.get(t2ID), this.dex.gen))
|
|
483
|
+
continue;
|
|
484
|
+
var t = t2ID[0].toUpperCase() + t2ID.slice(1);
|
|
485
|
+
effectiveness[t] = DAMAGE_TAKEN[this.dex.data.Types[t2ID].damageTaken[name_1]];
|
|
486
|
+
}
|
|
487
|
+
unknown.effectiveness[name_1] = 1;
|
|
488
|
+
this.byID[id] = { kind: 'Type', id: id, name: name_1, effectiveness: effectiveness };
|
|
489
|
+
}
|
|
490
|
+
this.byID[unknown.id] = unknown;
|
|
491
|
+
}
|
|
492
|
+
Types.prototype.get = function (name) {
|
|
493
|
+
return this.byID[toID(name)];
|
|
494
|
+
};
|
|
495
|
+
Types.prototype[Symbol.iterator] = function () {
|
|
496
|
+
var _a, _b, _c, _i, id;
|
|
497
|
+
return __generator(this, function (_d) {
|
|
498
|
+
switch (_d.label) {
|
|
499
|
+
case 0:
|
|
500
|
+
_a = this.byID;
|
|
501
|
+
_b = [];
|
|
502
|
+
for (_c in _a)
|
|
503
|
+
_b.push(_c);
|
|
504
|
+
_i = 0;
|
|
505
|
+
_d.label = 1;
|
|
506
|
+
case 1:
|
|
507
|
+
if (!(_i < _b.length)) return [3, 4];
|
|
508
|
+
_c = _b[_i];
|
|
509
|
+
if (!(_c in _a)) return [3, 3];
|
|
510
|
+
id = _c;
|
|
511
|
+
return [4, this.byID[id]];
|
|
512
|
+
case 2:
|
|
513
|
+
_d.sent();
|
|
514
|
+
_d.label = 3;
|
|
515
|
+
case 3:
|
|
516
|
+
_i++;
|
|
517
|
+
return [3, 1];
|
|
518
|
+
case 4: return [2];
|
|
519
|
+
}
|
|
520
|
+
});
|
|
521
|
+
};
|
|
522
|
+
return Types;
|
|
523
|
+
}());
|
|
524
|
+
exports.Types = Types;
|
|
525
|
+
var Natures = (function () {
|
|
526
|
+
function Natures(dex) {
|
|
527
|
+
this.dex = dex;
|
|
528
|
+
}
|
|
529
|
+
Natures.prototype.get = function (name) {
|
|
530
|
+
var nature = this.dex.natures.get(name);
|
|
531
|
+
return nature.exists ? new Nature(nature) : undefined;
|
|
532
|
+
};
|
|
533
|
+
Natures.prototype[Symbol.iterator] = function () {
|
|
534
|
+
var _a, _b, _c, _i, id, n;
|
|
535
|
+
return __generator(this, function (_d) {
|
|
536
|
+
switch (_d.label) {
|
|
537
|
+
case 0:
|
|
538
|
+
_a = this.dex.data.Natures;
|
|
539
|
+
_b = [];
|
|
540
|
+
for (_c in _a)
|
|
541
|
+
_b.push(_c);
|
|
542
|
+
_i = 0;
|
|
543
|
+
_d.label = 1;
|
|
544
|
+
case 1:
|
|
545
|
+
if (!(_i < _b.length)) return [3, 4];
|
|
546
|
+
_c = _b[_i];
|
|
547
|
+
if (!(_c in _a)) return [3, 3];
|
|
548
|
+
id = _c;
|
|
549
|
+
n = this.get(id);
|
|
550
|
+
if (!n) return [3, 3];
|
|
551
|
+
return [4, n];
|
|
552
|
+
case 2:
|
|
553
|
+
_d.sent();
|
|
554
|
+
_d.label = 3;
|
|
555
|
+
case 3:
|
|
556
|
+
_i++;
|
|
557
|
+
return [3, 1];
|
|
558
|
+
case 4: return [2];
|
|
559
|
+
}
|
|
560
|
+
});
|
|
561
|
+
};
|
|
562
|
+
return Natures;
|
|
563
|
+
}());
|
|
564
|
+
exports.Natures = Natures;
|
|
565
|
+
var Nature = (function () {
|
|
566
|
+
function Nature(nature) {
|
|
567
|
+
this.kind = 'Nature';
|
|
568
|
+
this.id = nature.id;
|
|
569
|
+
this.name = nature.name;
|
|
570
|
+
switch (nature.id) {
|
|
571
|
+
case 'hardy':
|
|
572
|
+
this.plus = 'atk';
|
|
573
|
+
this.minus = 'atk';
|
|
574
|
+
break;
|
|
575
|
+
case 'docile':
|
|
576
|
+
this.plus = 'def';
|
|
577
|
+
this.minus = 'def';
|
|
578
|
+
break;
|
|
579
|
+
case 'bashful':
|
|
580
|
+
this.plus = 'spa';
|
|
581
|
+
this.minus = 'spa';
|
|
582
|
+
break;
|
|
583
|
+
case 'quirky':
|
|
584
|
+
this.plus = 'spd';
|
|
585
|
+
this.minus = 'spd';
|
|
586
|
+
break;
|
|
587
|
+
case 'serious':
|
|
588
|
+
this.plus = 'spe';
|
|
589
|
+
this.minus = 'spe';
|
|
590
|
+
break;
|
|
591
|
+
default:
|
|
592
|
+
this.plus = nature.plus;
|
|
593
|
+
this.minus = nature.minus;
|
|
594
|
+
}
|
|
595
|
+
}
|
|
596
|
+
return Nature;
|
|
597
|
+
}());
|
|
598
|
+
var NATDEX_BANNED = [
|
|
599
|
+
'Pikachu-Cosplay',
|
|
600
|
+
'Pikachu-Rock-Star',
|
|
601
|
+
'Pikachu-Belle',
|
|
602
|
+
'Pikachu-Pop-Star',
|
|
603
|
+
'Pikachu-PhD',
|
|
604
|
+
'Pikachu-Libre',
|
|
605
|
+
'Pichu-Spiky-eared',
|
|
606
|
+
'Floette-Eternal',
|
|
607
|
+
];
|
|
608
|
+
function exists(val, gen) {
|
|
609
|
+
if (!val.exists || val.id === 'noability')
|
|
610
|
+
return false;
|
|
611
|
+
if (gen === 7 && val.isNonstandard === 'LGPE')
|
|
612
|
+
return true;
|
|
613
|
+
if (gen >= 8) {
|
|
614
|
+
if (gen === 8) {
|
|
615
|
+
if (('isMax' in val && val.isMax) || val.isNonstandard === 'Gigantamax')
|
|
616
|
+
return true;
|
|
617
|
+
if (['eternatuseternamax', 'zarude', 'zarudedada'].includes(val.id))
|
|
618
|
+
return true;
|
|
619
|
+
if (val.isNonstandard === 'Future')
|
|
620
|
+
return false;
|
|
621
|
+
}
|
|
622
|
+
if (val.isNonstandard === 'Past' && !NATDEX_BANNED.includes(val.name))
|
|
623
|
+
return true;
|
|
624
|
+
if (gen > 8 && 'isZ' in val && val.isZ)
|
|
625
|
+
return false;
|
|
626
|
+
if (gen > 8 && val.isNonstandard === 'Unobtainable')
|
|
627
|
+
return true;
|
|
628
|
+
}
|
|
629
|
+
if (gen >= 6 && ['floetteeternal'].includes(val.id))
|
|
630
|
+
return true;
|
|
631
|
+
if (val.isNonstandard && !['CAP', 'Unobtainable', 'Gigantamax'].includes(val.isNonstandard)) {
|
|
632
|
+
return false;
|
|
633
|
+
}
|
|
634
|
+
return !('tier' in val && ['Illegal', 'Unreleased'].includes(val.tier));
|
|
635
|
+
}
|
|
636
|
+
//# sourceMappingURL=gen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gen.js","sourceRoot":"","sources":["../../src/test/gen.ts"],"names":[],"mappings":"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"}
|