@pkmn/sim 0.9.25 → 0.9.27
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/build/cjs/config/formats.js +142 -172
- package/build/cjs/config/formats.js.map +1 -1
- package/build/cjs/data/abilities.js +17 -32
- package/build/cjs/data/abilities.js.map +1 -1
- package/build/cjs/data/aliases.js +2 -2
- package/build/cjs/data/aliases.js.map +1 -1
- package/build/cjs/data/conditions.js +3 -2
- package/build/cjs/data/conditions.js.map +1 -1
- package/build/cjs/data/formats-data.js +67 -65
- package/build/cjs/data/formats-data.js.map +1 -1
- package/build/cjs/data/mods/gen1/formats-data.js +17 -17
- package/build/cjs/data/mods/gen1/formats-data.js.map +1 -1
- package/build/cjs/data/mods/gen2/formats-data.js +8 -8
- package/build/cjs/data/mods/gen2/formats-data.js.map +1 -1
- package/build/cjs/data/mods/gen2/moves.js +1 -1
- package/build/cjs/data/mods/gen2/moves.js.map +1 -1
- package/build/cjs/data/mods/gen3/formats-data.js +11 -11
- package/build/cjs/data/mods/gen3/formats-data.js.map +1 -1
- package/build/cjs/data/mods/gen4/formats-data.js +1 -1
- package/build/cjs/data/mods/gen4/formats-data.js.map +1 -1
- package/build/cjs/data/mods/gen4/moves.js +57 -0
- package/build/cjs/data/mods/gen4/moves.js.map +1 -1
- package/build/cjs/data/mods/gen5/conditions.js +1 -2
- package/build/cjs/data/mods/gen5/conditions.js.map +1 -1
- package/build/cjs/data/mods/gen5/formats-data.js +1 -1
- package/build/cjs/data/mods/gen5/formats-data.js.map +1 -1
- package/build/cjs/data/mods/gen8/abilities.js +0 -2
- package/build/cjs/data/mods/gen8/abilities.js.map +1 -1
- package/build/cjs/data/moves.js +11 -17
- package/build/cjs/data/moves.js.map +1 -1
- package/build/cjs/data/rulesets.js +1 -1
- package/build/cjs/data/rulesets.js.map +1 -1
- package/build/cjs/data/text/items.js +1 -1
- package/build/cjs/data/text/items.js.map +1 -1
- package/build/cjs/data/text/moves.js +3 -0
- package/build/cjs/data/text/moves.js.map +1 -1
- package/build/cjs/lib/utils.d.ts +6 -0
- package/build/cjs/lib/utils.js +20 -1
- package/build/cjs/lib/utils.js.map +1 -1
- package/build/cjs/sim/battle-actions.js +5 -3
- package/build/cjs/sim/battle-actions.js.map +1 -1
- package/build/cjs/sim/battle-stream.js +3 -3
- package/build/cjs/sim/battle-stream.js.map +1 -1
- package/build/cjs/sim/battle.d.ts +1 -1
- package/build/cjs/sim/battle.js +14 -19
- package/build/cjs/sim/battle.js.map +1 -1
- package/build/cjs/sim/pokemon.js +1 -1
- package/build/cjs/sim/pokemon.js.map +1 -1
- package/build/cjs/sim/prng.d.ts +54 -18
- package/build/cjs/sim/prng.js +120 -38
- package/build/cjs/sim/prng.js.map +1 -1
- package/build/cjs/sim/state.js +1 -1
- package/build/cjs/sim/state.js.map +1 -1
- package/build/cjs/sim/team-validator.js +5 -3
- package/build/cjs/sim/team-validator.js.map +1 -1
- package/build/cjs/sim/tools/exhaustive-runner.js +8 -8
- package/build/cjs/sim/tools/exhaustive-runner.js.map +1 -1
- package/build/cjs/sim/tools/random-player-ai.js +4 -4
- package/build/cjs/sim/tools/random-player-ai.js.map +1 -1
- package/build/cjs/sim/tools/runner.js +5 -5
- package/build/cjs/sim/tools/runner.js.map +1 -1
- package/build/esm/config/formats.mjs +142 -172
- package/build/esm/config/formats.mjs.map +1 -1
- package/build/esm/data/abilities.mjs +17 -32
- package/build/esm/data/abilities.mjs.map +1 -1
- package/build/esm/data/aliases.mjs +2 -2
- package/build/esm/data/aliases.mjs.map +1 -1
- package/build/esm/data/conditions.mjs +3 -2
- package/build/esm/data/conditions.mjs.map +1 -1
- package/build/esm/data/formats-data.mjs +67 -65
- package/build/esm/data/formats-data.mjs.map +1 -1
- package/build/esm/data/mods/gen1/formats-data.mjs +17 -17
- package/build/esm/data/mods/gen1/formats-data.mjs.map +1 -1
- package/build/esm/data/mods/gen2/formats-data.mjs +8 -8
- package/build/esm/data/mods/gen2/formats-data.mjs.map +1 -1
- package/build/esm/data/mods/gen2/moves.mjs +1 -1
- package/build/esm/data/mods/gen2/moves.mjs.map +1 -1
- package/build/esm/data/mods/gen3/formats-data.mjs +11 -11
- package/build/esm/data/mods/gen3/formats-data.mjs.map +1 -1
- package/build/esm/data/mods/gen4/formats-data.mjs +1 -1
- package/build/esm/data/mods/gen4/formats-data.mjs.map +1 -1
- package/build/esm/data/mods/gen4/moves.mjs +57 -0
- package/build/esm/data/mods/gen4/moves.mjs.map +1 -1
- package/build/esm/data/mods/gen5/conditions.mjs +1 -2
- package/build/esm/data/mods/gen5/conditions.mjs.map +1 -1
- package/build/esm/data/mods/gen5/formats-data.mjs +1 -1
- package/build/esm/data/mods/gen5/formats-data.mjs.map +1 -1
- package/build/esm/data/mods/gen8/abilities.mjs +0 -2
- package/build/esm/data/mods/gen8/abilities.mjs.map +1 -1
- package/build/esm/data/moves.mjs +11 -17
- package/build/esm/data/moves.mjs.map +1 -1
- package/build/esm/data/rulesets.mjs +1 -1
- package/build/esm/data/rulesets.mjs.map +1 -1
- package/build/esm/data/text/items.mjs +1 -1
- package/build/esm/data/text/items.mjs.map +1 -1
- package/build/esm/data/text/moves.mjs +3 -0
- package/build/esm/data/text/moves.mjs.map +1 -1
- package/build/esm/lib/utils.d.mts +6 -0
- package/build/esm/lib/utils.mjs +17 -1
- package/build/esm/lib/utils.mjs.map +1 -1
- package/build/esm/sim/battle-actions.mjs +5 -3
- package/build/esm/sim/battle-actions.mjs.map +1 -1
- package/build/esm/sim/battle-stream.mjs +3 -3
- package/build/esm/sim/battle-stream.mjs.map +1 -1
- package/build/esm/sim/battle.d.mts +1 -1
- package/build/esm/sim/battle.mjs +14 -19
- package/build/esm/sim/battle.mjs.map +1 -1
- package/build/esm/sim/pokemon.mjs +1 -1
- package/build/esm/sim/pokemon.mjs.map +1 -1
- package/build/esm/sim/prng.d.mts +54 -18
- package/build/esm/sim/prng.mjs +116 -36
- package/build/esm/sim/prng.mjs.map +1 -1
- package/build/esm/sim/state.mjs +1 -1
- package/build/esm/sim/state.mjs.map +1 -1
- package/build/esm/sim/team-validator.mjs +5 -3
- package/build/esm/sim/team-validator.mjs.map +1 -1
- package/build/esm/sim/tools/exhaustive-runner.mjs +8 -8
- package/build/esm/sim/tools/exhaustive-runner.mjs.map +1 -1
- package/build/esm/sim/tools/random-player-ai.mjs +4 -4
- package/build/esm/sim/tools/random-player-ai.mjs.map +1 -1
- package/build/esm/sim/tools/runner.mjs +5 -5
- package/build/esm/sim/tools/runner.mjs.map +1 -1
- package/package.json +4 -3
package/build/cjs/sim/prng.js
CHANGED
|
@@ -13,26 +13,36 @@
|
|
|
13
13
|
* @license MIT license
|
|
14
14
|
*/
|
|
15
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
-
exports.PRNG = void 0;
|
|
16
|
+
exports.Gen5RNG = exports.SodiumRNG = exports.PRNG = void 0;
|
|
17
|
+
const ts_chacha20_1 = require("ts-chacha20");
|
|
18
|
+
const utils_1 = require("../lib/utils");
|
|
17
19
|
/**
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
+
* High-level PRNG API, for getting random numbers.
|
|
21
|
+
*
|
|
22
|
+
* Chooses the RNG implementation based on the seed passed to the constructor.
|
|
23
|
+
* Seeds starting with 'sodium' use sodium. Other seeds use the Gen 5 RNG.
|
|
24
|
+
* If a seed isn't given, defaults to sodium.
|
|
25
|
+
*
|
|
26
|
+
* The actual randomness source is in this.rng.
|
|
20
27
|
*/
|
|
21
28
|
class PRNG {
|
|
22
29
|
/** Creates a new source of randomness for the given seed. */
|
|
23
|
-
constructor(seed = null) {
|
|
30
|
+
constructor(seed = null, initialSeed) {
|
|
24
31
|
if (!seed)
|
|
25
32
|
seed = PRNG.generateSeed();
|
|
26
|
-
this.
|
|
27
|
-
this.seed
|
|
33
|
+
this.startingSeed = initialSeed || [...seed]; // make a copy
|
|
34
|
+
this.setSeed(seed);
|
|
28
35
|
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
+
setSeed(seed) {
|
|
37
|
+
if (seed[0] === 'sodium') {
|
|
38
|
+
this.rng = new SodiumRNG(seed);
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
this.rng = new Gen5RNG(seed);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
getSeed() {
|
|
45
|
+
return this.rng.getSeed();
|
|
36
46
|
}
|
|
37
47
|
/**
|
|
38
48
|
* Creates a clone of the current PRNG.
|
|
@@ -40,7 +50,7 @@ class PRNG {
|
|
|
40
50
|
* The new PRNG will have its initial seed set to the seed of the current instance.
|
|
41
51
|
*/
|
|
42
52
|
clone() {
|
|
43
|
-
return new PRNG(this.
|
|
53
|
+
return new PRNG(this.rng.getSeed(), this.startingSeed);
|
|
44
54
|
}
|
|
45
55
|
/**
|
|
46
56
|
* Retrieves the next random number in the sequence.
|
|
@@ -50,23 +60,21 @@ class PRNG {
|
|
|
50
60
|
* - random(m, n) returns an integer in [m, n)
|
|
51
61
|
* m and n are converted to integers via Math.floor. If the result is NaN, they are ignored.
|
|
52
62
|
*/
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
let result = (this.seed[0] << 16 >>> 0) + this.seed[1]; // Use the upper 32 bits
|
|
63
|
+
random(from, to) {
|
|
64
|
+
const result = this.rng.next();
|
|
56
65
|
if (from)
|
|
57
66
|
from = Math.floor(from);
|
|
58
67
|
if (to)
|
|
59
68
|
to = Math.floor(to);
|
|
60
69
|
if (from === undefined) {
|
|
61
|
-
|
|
70
|
+
return result / 2 ** 32;
|
|
62
71
|
}
|
|
63
72
|
else if (!to) {
|
|
64
|
-
|
|
73
|
+
return Math.floor(result * from / 2 ** 32);
|
|
65
74
|
}
|
|
66
75
|
else {
|
|
67
|
-
|
|
76
|
+
return Math.floor(result * (to - from) / 2 ** 32) + from;
|
|
68
77
|
}
|
|
69
|
-
return result;
|
|
70
78
|
}
|
|
71
79
|
/**
|
|
72
80
|
* Flip a coin (two-sided die), returning true or false.
|
|
@@ -79,7 +87,7 @@ class PRNG {
|
|
|
79
87
|
* The denominator must be a positive integer (`> 0`).
|
|
80
88
|
*/
|
|
81
89
|
randomChance(numerator, denominator) {
|
|
82
|
-
return this.
|
|
90
|
+
return this.random(denominator) < numerator;
|
|
83
91
|
}
|
|
84
92
|
/**
|
|
85
93
|
* Return a random item from the given array.
|
|
@@ -98,7 +106,7 @@ class PRNG {
|
|
|
98
106
|
if (items.length === 0) {
|
|
99
107
|
throw new RangeError(`Cannot sample an empty array`);
|
|
100
108
|
}
|
|
101
|
-
const index = this.
|
|
109
|
+
const index = this.random(items.length);
|
|
102
110
|
const item = items[index];
|
|
103
111
|
if (item === undefined && !Object.prototype.hasOwnProperty.call(items, index)) {
|
|
104
112
|
throw new RangeError(`Cannot sample a sparse array`);
|
|
@@ -113,19 +121,84 @@ class PRNG {
|
|
|
113
121
|
*/
|
|
114
122
|
shuffle(items, start = 0, end = items.length) {
|
|
115
123
|
while (start < end - 1) {
|
|
116
|
-
const nextIndex = this.
|
|
124
|
+
const nextIndex = this.random(start, end);
|
|
117
125
|
if (start !== nextIndex) {
|
|
118
126
|
[items[start], items[nextIndex]] = [items[nextIndex], items[start]];
|
|
119
127
|
}
|
|
120
128
|
start++;
|
|
121
129
|
}
|
|
122
130
|
}
|
|
131
|
+
static generateSeed() {
|
|
132
|
+
return [
|
|
133
|
+
'sodium',
|
|
134
|
+
// 32 bits each, 128 bits total (16 bytes)
|
|
135
|
+
Math.trunc(Math.random() * 2 ** 32).toString(16).padStart(8, '0') +
|
|
136
|
+
Math.trunc(Math.random() * 2 ** 32).toString(16).padStart(8, '0') +
|
|
137
|
+
Math.trunc(Math.random() * 2 ** 32).toString(16).padStart(8, '0') +
|
|
138
|
+
Math.trunc(Math.random() * 2 ** 32).toString(16).padStart(8, '0'),
|
|
139
|
+
];
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
exports.PRNG = PRNG;
|
|
143
|
+
/**
|
|
144
|
+
* This is a drop-in replacement for libsodium's randombytes_buf_deterministic,
|
|
145
|
+
* but it's implemented with ts-chacha20 instead, for a smaller dependency that
|
|
146
|
+
* doesn't use NodeJS native modules, for better portability.
|
|
147
|
+
*/
|
|
148
|
+
class SodiumRNG {
|
|
149
|
+
/** Creates a new source of randomness for the given seed. */
|
|
150
|
+
constructor(seed) {
|
|
151
|
+
this.setSeed(seed);
|
|
152
|
+
}
|
|
153
|
+
setSeed(seed) {
|
|
154
|
+
// randombytes_buf_deterministic requires 32 bytes, but
|
|
155
|
+
// generateSeed generates 16 bytes, so the last 16 bytes will be 0
|
|
156
|
+
// when starting out. This shouldn't cause any problems.
|
|
157
|
+
const seedBuf = new Uint8Array(32);
|
|
158
|
+
utils_1.Utils.bufWriteHex(seedBuf, seed[1].padEnd(64, '0'));
|
|
159
|
+
this.seed = seedBuf;
|
|
160
|
+
}
|
|
161
|
+
getSeed() {
|
|
162
|
+
return ['sodium', utils_1.Utils.bufReadHex(this.seed)];
|
|
163
|
+
}
|
|
164
|
+
next() {
|
|
165
|
+
const zeroBuf = new Uint8Array(36);
|
|
166
|
+
// tested to do the exact same thing as
|
|
167
|
+
// sodium.randombytes_buf_deterministic(buf, this.seed);
|
|
168
|
+
const buf = new ts_chacha20_1.Chacha20(this.seed, SodiumRNG.NONCE).encrypt(zeroBuf);
|
|
169
|
+
// use the first 32 bytes for the next seed, and the next 4 bytes for the output
|
|
170
|
+
this.seed = buf.slice(0, 32);
|
|
171
|
+
// reading big-endian
|
|
172
|
+
return buf.slice(32, 36).reduce((a, b) => a * 256 + b);
|
|
173
|
+
// alternative, probably slower (TODO: benchmark)
|
|
174
|
+
// return parseInt(Utils.bufReadHex(buf, 32, 36), 16);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
exports.SodiumRNG = SodiumRNG;
|
|
178
|
+
// nonce chosen to be compatible with libsodium's randombytes_buf_deterministic
|
|
179
|
+
// https://github.com/jedisct1/libsodium/blob/ce07d6c82c0e6c75031cf627913bf4f9d3f1e754/src/libsodium/randombytes/randombytes.c#L178
|
|
180
|
+
SodiumRNG.NONCE = Uint8Array.from([..."LibsodiumDRG"].map(c => c.charCodeAt(0)));
|
|
181
|
+
/**
|
|
182
|
+
* A PRNG intended to emulate the on-cartridge PRNG for Gen 5 with a 64-bit
|
|
183
|
+
* initial seed.
|
|
184
|
+
*/
|
|
185
|
+
class Gen5RNG {
|
|
186
|
+
/** Creates a new source of randomness for the given seed. */
|
|
187
|
+
constructor(seed = null) {
|
|
188
|
+
this.seed = [...seed || Gen5RNG.generateSeed()];
|
|
189
|
+
}
|
|
190
|
+
getSeed() {
|
|
191
|
+
return this.seed;
|
|
192
|
+
}
|
|
193
|
+
next() {
|
|
194
|
+
this.seed = this.nextFrame(this.seed); // Advance the RNG
|
|
195
|
+
return (this.seed[0] << 16 >>> 0) + this.seed[1]; // Use the upper 32 bits
|
|
196
|
+
}
|
|
123
197
|
/**
|
|
124
198
|
* Calculates `a * b + c` (with 64-bit 2's complement integers)
|
|
125
|
-
*
|
|
126
|
-
* If you've done long multiplication, this is the same thing.
|
|
127
199
|
*/
|
|
128
200
|
multiplyAdd(a, b, c) {
|
|
201
|
+
// If you've done long multiplication, this is the same thing.
|
|
129
202
|
const out = [0, 0, 0, 0];
|
|
130
203
|
let carry = 0;
|
|
131
204
|
for (let outIndex = 3; outIndex >= 0; outIndex--) {
|
|
@@ -154,33 +227,42 @@ class PRNG {
|
|
|
154
227
|
const a = [0x5D58, 0x8B65, 0x6C07, 0x8965];
|
|
155
228
|
const c = [0, 0, 0x26, 0x9EC3];
|
|
156
229
|
for (let i = 0; i < framesToAdvance; i++) {
|
|
230
|
+
// seed = seed * a + c
|
|
157
231
|
seed = this.multiplyAdd(seed, a, c);
|
|
158
232
|
}
|
|
159
233
|
return seed;
|
|
160
234
|
}
|
|
161
235
|
static generateSeed() {
|
|
162
236
|
return [
|
|
163
|
-
Math.
|
|
164
|
-
Math.
|
|
165
|
-
Math.
|
|
166
|
-
Math.
|
|
237
|
+
Math.trunc(Math.random() * 2 ** 16),
|
|
238
|
+
Math.trunc(Math.random() * 2 ** 16),
|
|
239
|
+
Math.trunc(Math.random() * 2 ** 16),
|
|
240
|
+
Math.trunc(Math.random() * 2 ** 16),
|
|
167
241
|
];
|
|
168
242
|
}
|
|
169
243
|
}
|
|
170
|
-
exports.
|
|
171
|
-
// The following commented-out
|
|
244
|
+
exports.Gen5RNG = Gen5RNG;
|
|
245
|
+
// The following commented-out class is designed to emulate the on-cartridge
|
|
172
246
|
// PRNG for Gens 3 and 4, as described in
|
|
173
247
|
// https://www.smogon.com/ingame/rng/pid_iv_creation#pokemon_random_number_generator
|
|
174
248
|
// This RNG uses a 32-bit initial seed
|
|
175
249
|
// m and n are converted to integers via Math.floor. If the result is NaN, they
|
|
176
250
|
// are ignored.
|
|
177
251
|
/*
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
252
|
+
export type Gen3RNGSeed = ['gen3', number];
|
|
253
|
+
export class Gen3RNG implements RNG {
|
|
254
|
+
seed: number;
|
|
255
|
+
constructor(seed: Gen3RNGSeed | null = null) {
|
|
256
|
+
this.seed = seed ? seed[1] : Math.trunc(Math.random() * 2 ** 32);
|
|
257
|
+
}
|
|
258
|
+
getSeed() {
|
|
259
|
+
return ['gen3', this.seed];
|
|
260
|
+
}
|
|
261
|
+
next(): number {
|
|
262
|
+
this.seed = this.seed * 0x41C64E6D + 0x6073) >>> 0; // truncate the result to the last 32 bits
|
|
263
|
+
const val = this.seed >>> 16; // the first 16 bits of the seed are the random value
|
|
264
|
+
return val << 16 >>> 0; // PRNG#random expects a 32-bit number and will divide accordingly
|
|
265
|
+
}
|
|
184
266
|
}
|
|
185
267
|
*/
|
|
186
268
|
//# sourceMappingURL=prng.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prng.js","sourceRoot":"","sources":["../../../sim/prng.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;;
|
|
1
|
+
{"version":3,"file":"prng.js","sourceRoot":"","sources":["../../../sim/prng.ts"],"names":[],"mappings":"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"}
|
package/build/cjs/sim/state.js
CHANGED
|
@@ -49,7 +49,7 @@ exports.State = new class {
|
|
|
49
49
|
for (const [i, side] of battle.sides.entries()) {
|
|
50
50
|
state.sides[i] = this.serializeSide(side);
|
|
51
51
|
}
|
|
52
|
-
state.prng = battle.prng.
|
|
52
|
+
state.prng = battle.prng.getSeed();
|
|
53
53
|
state.hints = Array.from(battle.hints);
|
|
54
54
|
// We treat log specially because we only set it back on Battle after everything
|
|
55
55
|
// else has been deserialized to avoid anything accidentally `add`-ing to it.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../sim/state.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../sim/state.ts"],"names":[],"mappings":"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"}
|
|
@@ -731,12 +731,14 @@ class TeamValidator {
|
|
|
731
731
|
}
|
|
732
732
|
}
|
|
733
733
|
let isUnderleveled;
|
|
734
|
+
let requiredLevel;
|
|
734
735
|
if (!isFromRBYEncounter && ruleTable.has('obtainablemisc')) {
|
|
735
736
|
// FIXME: Event pokemon given at a level under what it normally can be attained at gives a false positive
|
|
736
737
|
let evoSpecies = species;
|
|
737
738
|
while (evoSpecies.prevo) {
|
|
738
739
|
if (set.level < (evoSpecies.evoLevel || 0)) {
|
|
739
740
|
isUnderleveled = evoSpecies.name;
|
|
741
|
+
requiredLevel = evoSpecies.evoLevel;
|
|
740
742
|
break;
|
|
741
743
|
}
|
|
742
744
|
evoSpecies = dex.species.get(evoSpecies.prevo);
|
|
@@ -752,8 +754,8 @@ class TeamValidator {
|
|
|
752
754
|
let checkGoLegality = false;
|
|
753
755
|
let skippedEggSource = true;
|
|
754
756
|
const legalSources = [];
|
|
755
|
-
let evoSpecies = species;
|
|
756
757
|
if (isUnderleveled && !setSources.sources.length) {
|
|
758
|
+
let evoSpecies = species;
|
|
757
759
|
while (evoSpecies.prevo) {
|
|
758
760
|
const eventData = dex.species.getLearnsetData(evoSpecies.id).eventData;
|
|
759
761
|
if (eventData) {
|
|
@@ -794,14 +796,14 @@ class TeamValidator {
|
|
|
794
796
|
setSources.sources = legalSources;
|
|
795
797
|
}
|
|
796
798
|
else if (isUnderleveled) {
|
|
797
|
-
problems.push(`${name} must be at least level ${
|
|
799
|
+
problems.push(`${name} must be at least level ${requiredLevel} to be evolved.`);
|
|
798
800
|
const firstEventSource = setSources.sources.filter(source => source.charAt(1) === 'S')[0];
|
|
799
801
|
if (firstEventSource) {
|
|
800
802
|
const eventProblems = this.validateSource(set, firstEventSource, setSources, outOfBattleSpecies, ` to be underleveled`);
|
|
801
803
|
if (eventProblems)
|
|
802
804
|
problems.push(...eventProblems);
|
|
803
805
|
}
|
|
804
|
-
if (pokemonGoProblems) {
|
|
806
|
+
if (pokemonGoProblems && pokemonGoProblems.length) {
|
|
805
807
|
problems.push(`It failed to validate as a Pokemon from Pokemon GO because:`);
|
|
806
808
|
for (const pokemonGoProblem of pokemonGoProblems) {
|
|
807
809
|
problems.push(pokemonGoProblem);
|