@pkmn/sim 0.9.26 → 0.9.28
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 +79 -86
- package/build/cjs/config/formats.js.map +1 -1
- package/build/cjs/data/abilities.js +100 -116
- package/build/cjs/data/abilities.js.map +1 -1
- package/build/cjs/data/aliases.js +3 -2
- package/build/cjs/data/aliases.js.map +1 -1
- package/build/cjs/data/conditions.js +3 -3
- package/build/cjs/data/conditions.js.map +1 -1
- package/build/cjs/data/formats-data.js +12 -12
- package/build/cjs/data/formats-data.js.map +1 -1
- package/build/cjs/data/items.js +55 -25
- package/build/cjs/data/items.js.map +1 -1
- package/build/cjs/data/legality.js +275 -23
- package/build/cjs/data/legality.js.map +1 -1
- package/build/cjs/data/mods/gen1/moves.js.map +1 -1
- package/build/cjs/data/mods/gen1/scripts.js +2 -0
- package/build/cjs/data/mods/gen1/scripts.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/abilities.js +0 -2
- package/build/cjs/data/mods/gen3/abilities.js.map +1 -1
- package/build/cjs/data/mods/gen3/moves.js.map +1 -1
- package/build/cjs/data/mods/gen4/abilities.js +1 -1
- package/build/cjs/data/mods/gen4/abilities.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 +88 -0
- package/build/cjs/data/mods/gen4/moves.js.map +1 -1
- package/build/cjs/data/mods/gen4/scripts.js +26 -0
- package/build/cjs/data/mods/gen4/scripts.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 +2 -2
- package/build/cjs/data/mods/gen5/formats-data.js.map +1 -1
- package/build/cjs/data/mods/gen6/moves.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/mods/gen8/moves.js +1 -1
- package/build/cjs/data/mods/gen8/moves.js.map +1 -1
- package/build/cjs/data/moves.js +22 -18
- package/build/cjs/data/moves.js.map +1 -1
- package/build/cjs/data/pokemongo.js +1 -1
- package/build/cjs/data/text/moves.js +1 -1
- package/build/cjs/data/text/moves.js.map +1 -1
- package/build/cjs/lib/utils.d.ts +8 -0
- package/build/cjs/lib/utils.js +21 -2
- package/build/cjs/lib/utils.js.map +1 -1
- package/build/cjs/sim/battle-actions.js +30 -39
- package/build/cjs/sim/battle-actions.js.map +1 -1
- package/build/cjs/sim/battle-queue.d.ts +1 -1
- package/build/cjs/sim/battle-queue.js +0 -2
- package/build/cjs/sim/battle-queue.js.map +1 -1
- package/build/cjs/sim/battle-stream.js +2 -3
- package/build/cjs/sim/battle-stream.js.map +1 -1
- package/build/cjs/sim/battle.d.ts +13 -7
- package/build/cjs/sim/battle.js +197 -70
- package/build/cjs/sim/battle.js.map +1 -1
- package/build/cjs/sim/dex-abilities.d.ts +0 -1
- package/build/cjs/sim/dex-abilities.js +2 -2
- package/build/cjs/sim/dex-abilities.js.map +1 -1
- package/build/cjs/sim/dex-conditions.d.ts +11 -3
- package/build/cjs/sim/dex-conditions.js +2 -2
- package/build/cjs/sim/dex-conditions.js.map +1 -1
- package/build/cjs/sim/dex-data.js +7 -7
- package/build/cjs/sim/dex-data.js.map +1 -1
- package/build/cjs/sim/dex-formats.d.ts +2 -1
- package/build/cjs/sim/dex-formats.js.map +1 -1
- package/build/cjs/sim/dex-items.d.ts +3 -1
- package/build/cjs/sim/dex-items.js +3 -2
- package/build/cjs/sim/dex-items.js.map +1 -1
- package/build/cjs/sim/dex-moves.js +4 -4
- package/build/cjs/sim/dex-moves.js.map +1 -1
- package/build/cjs/sim/exported-global-types.d.ts +6 -0
- package/build/cjs/sim/field.js +9 -9
- package/build/cjs/sim/field.js.map +1 -1
- package/build/cjs/sim/global-types.d.ts +6 -0
- package/build/cjs/sim/pokemon.d.ts +8 -4
- package/build/cjs/sim/pokemon.js +62 -47
- package/build/cjs/sim/pokemon.js.map +1 -1
- package/build/cjs/sim/prng.d.ts +57 -18
- package/build/cjs/sim/prng.js +171 -38
- package/build/cjs/sim/prng.js.map +1 -1
- package/build/cjs/sim/side.js +9 -6
- package/build/cjs/sim/side.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 +16 -17
- package/build/cjs/sim/team-validator.js.map +1 -1
- package/build/cjs/sim/tools/exhaustive-runner.js +11 -12
- package/build/cjs/sim/tools/exhaustive-runner.js.map +1 -1
- package/build/cjs/sim/tools/random-player-ai.js +5 -5
- package/build/cjs/sim/tools/random-player-ai.js.map +1 -1
- package/build/cjs/sim/tools/runner.js +7 -8
- package/build/cjs/sim/tools/runner.js.map +1 -1
- package/build/esm/config/formats.mjs +79 -86
- package/build/esm/config/formats.mjs.map +1 -1
- package/build/esm/data/abilities.mjs +100 -116
- package/build/esm/data/abilities.mjs.map +1 -1
- package/build/esm/data/aliases.mjs +3 -2
- package/build/esm/data/aliases.mjs.map +1 -1
- package/build/esm/data/conditions.mjs +3 -3
- package/build/esm/data/conditions.mjs.map +1 -1
- package/build/esm/data/formats-data.mjs +12 -12
- package/build/esm/data/formats-data.mjs.map +1 -1
- package/build/esm/data/items.mjs +55 -25
- package/build/esm/data/items.mjs.map +1 -1
- package/build/esm/data/legality.mjs +275 -23
- package/build/esm/data/legality.mjs.map +1 -1
- package/build/esm/data/mods/gen1/moves.mjs.map +1 -1
- package/build/esm/data/mods/gen1/scripts.mjs +2 -0
- package/build/esm/data/mods/gen1/scripts.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/abilities.mjs +0 -2
- package/build/esm/data/mods/gen3/abilities.mjs.map +1 -1
- package/build/esm/data/mods/gen3/moves.mjs.map +1 -1
- package/build/esm/data/mods/gen4/abilities.mjs +1 -1
- package/build/esm/data/mods/gen4/abilities.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 +88 -0
- package/build/esm/data/mods/gen4/moves.mjs.map +1 -1
- package/build/esm/data/mods/gen4/scripts.mjs +26 -0
- package/build/esm/data/mods/gen4/scripts.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 +2 -2
- package/build/esm/data/mods/gen5/formats-data.mjs.map +1 -1
- package/build/esm/data/mods/gen6/moves.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/mods/gen8/moves.mjs +1 -1
- package/build/esm/data/mods/gen8/moves.mjs.map +1 -1
- package/build/esm/data/moves.mjs +22 -18
- package/build/esm/data/moves.mjs.map +1 -1
- package/build/esm/data/pokemongo.mjs +1 -1
- package/build/esm/data/text/moves.mjs +1 -1
- package/build/esm/data/text/moves.mjs.map +1 -1
- package/build/esm/lib/utils.d.mts +8 -0
- package/build/esm/lib/utils.mjs +18 -2
- package/build/esm/lib/utils.mjs.map +1 -1
- package/build/esm/sim/battle-actions.mjs +30 -39
- package/build/esm/sim/battle-actions.mjs.map +1 -1
- package/build/esm/sim/battle-queue.d.mts +1 -1
- package/build/esm/sim/battle-queue.mjs +0 -2
- package/build/esm/sim/battle-queue.mjs.map +1 -1
- package/build/esm/sim/battle-stream.mjs +2 -3
- package/build/esm/sim/battle-stream.mjs.map +1 -1
- package/build/esm/sim/battle.d.mts +13 -7
- package/build/esm/sim/battle.mjs +196 -69
- package/build/esm/sim/battle.mjs.map +1 -1
- package/build/esm/sim/dex-abilities.d.mts +0 -1
- package/build/esm/sim/dex-abilities.mjs +1 -1
- package/build/esm/sim/dex-abilities.mjs.map +1 -1
- package/build/esm/sim/dex-conditions.d.mts +11 -3
- package/build/esm/sim/dex-conditions.mjs +1 -1
- package/build/esm/sim/dex-conditions.mjs.map +1 -1
- package/build/esm/sim/dex-data.mjs +1 -1
- package/build/esm/sim/dex-data.mjs.map +1 -1
- package/build/esm/sim/dex-formats.d.mts +2 -1
- package/build/esm/sim/dex-formats.mjs.map +1 -1
- package/build/esm/sim/dex-items.d.mts +3 -1
- package/build/esm/sim/dex-items.mjs +2 -1
- package/build/esm/sim/dex-items.mjs.map +1 -1
- package/build/esm/sim/dex-moves.mjs +1 -1
- package/build/esm/sim/dex-moves.mjs.map +1 -1
- package/build/esm/sim/exported-global-types.d.mts +6 -0
- package/build/esm/sim/field.mjs +9 -9
- package/build/esm/sim/field.mjs.map +1 -1
- package/build/esm/sim/global-types.d.mts +6 -0
- package/build/esm/sim/pokemon.d.mts +8 -4
- package/build/esm/sim/pokemon.mjs +62 -47
- package/build/esm/sim/pokemon.mjs.map +1 -1
- package/build/esm/sim/prng.d.mts +57 -18
- package/build/esm/sim/prng.mjs +134 -36
- package/build/esm/sim/prng.mjs.map +1 -1
- package/build/esm/sim/side.mjs +8 -5
- package/build/esm/sim/side.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 +10 -11
- package/build/esm/sim/team-validator.mjs.map +1 -1
- package/build/esm/sim/tools/exhaustive-runner.mjs +11 -12
- package/build/esm/sim/tools/exhaustive-runner.mjs.map +1 -1
- package/build/esm/sim/tools/random-player-ai.mjs +5 -5
- package/build/esm/sim/tools/random-player-ai.mjs.map +1 -1
- package/build/esm/sim/tools/runner.mjs +7 -8
- package/build/esm/sim/tools/runner.mjs.map +1 -1
- package/package.json +3 -2
|
@@ -112,6 +112,9 @@ export declare function waitUntil(time: number): Promise<void>;
|
|
|
112
112
|
export declare function parseExactInt(str: string): number;
|
|
113
113
|
/** formats an array into a series of question marks and adds the elements to an arguments array */
|
|
114
114
|
export declare function formatSQLArray(arr: unknown[], args?: unknown[]): string;
|
|
115
|
+
export declare function bufFromHex(hex: string): Uint8Array<ArrayBuffer>;
|
|
116
|
+
export declare function bufWriteHex(buf: Uint8Array, hex: string, offset?: number): void;
|
|
117
|
+
export declare function bufReadHex(buf: Uint8Array, start?: number, end?: number): string;
|
|
115
118
|
export declare class Multiset<T> extends Map<T, number> {
|
|
116
119
|
get(key: T): number;
|
|
117
120
|
add(key: T): this;
|
|
@@ -127,6 +130,8 @@ export declare const Utils: {
|
|
|
127
130
|
levenshtein: typeof levenshtein;
|
|
128
131
|
shuffle: typeof shuffle;
|
|
129
132
|
deepClone: typeof deepClone;
|
|
133
|
+
deepFreeze: typeof deepFreeze;
|
|
134
|
+
clampIntRange: typeof clampIntRange;
|
|
130
135
|
clearRequireCache: typeof clearRequireCache;
|
|
131
136
|
randomElement: typeof randomElement;
|
|
132
137
|
forceWrap: typeof forceWrap;
|
|
@@ -136,5 +141,8 @@ export declare const Utils: {
|
|
|
136
141
|
getString: typeof getString;
|
|
137
142
|
escapeRegex: typeof escapeRegex;
|
|
138
143
|
formatSQLArray: typeof formatSQLArray;
|
|
144
|
+
bufFromHex: typeof bufFromHex;
|
|
145
|
+
bufReadHex: typeof bufReadHex;
|
|
146
|
+
bufWriteHex: typeof bufWriteHex;
|
|
139
147
|
Multiset: typeof Multiset;
|
|
140
148
|
};
|
package/build/esm/lib/utils.mjs
CHANGED
|
@@ -395,6 +395,20 @@ export function formatSQLArray(arr, args) {
|
|
|
395
395
|
args?.push(...arr);
|
|
396
396
|
return [...'?'.repeat(arr.length)].join(', ');
|
|
397
397
|
}
|
|
398
|
+
export function bufFromHex(hex) {
|
|
399
|
+
const buf = new Uint8Array(Math.ceil(hex.length / 2));
|
|
400
|
+
bufWriteHex(buf, hex);
|
|
401
|
+
return buf;
|
|
402
|
+
}
|
|
403
|
+
export function bufWriteHex(buf, hex, offset = 0) {
|
|
404
|
+
const size = Math.ceil(hex.length / 2);
|
|
405
|
+
for (let i = 0; i < size; i++) {
|
|
406
|
+
buf[offset + i] = parseInt(hex.slice(i * 2, i * 2 + 2).padEnd(2, '0'), 16);
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
export function bufReadHex(buf, start = 0, end) {
|
|
410
|
+
return [...buf.slice(start, end)].map(val => val.toString(16).padStart(2, '0')).join('');
|
|
411
|
+
}
|
|
398
412
|
export class Multiset extends Map {
|
|
399
413
|
get(key) {
|
|
400
414
|
return super.get(key) ?? 0;
|
|
@@ -415,9 +429,11 @@ export class Multiset extends Map {
|
|
|
415
429
|
export const Utils = {
|
|
416
430
|
parseExactInt, waitUntil, html, escapeHTML,
|
|
417
431
|
compare, sortBy, levenshtein,
|
|
418
|
-
shuffle, deepClone, clearRequireCache,
|
|
432
|
+
shuffle, deepClone, deepFreeze, clampIntRange, clearRequireCache,
|
|
419
433
|
randomElement, forceWrap, splitFirst,
|
|
420
434
|
stripHTML, visualize, getString,
|
|
421
|
-
escapeRegex, formatSQLArray,
|
|
435
|
+
escapeRegex, formatSQLArray,
|
|
436
|
+
bufFromHex, bufReadHex, bufWriteHex,
|
|
437
|
+
Multiset,
|
|
422
438
|
};
|
|
423
439
|
//# sourceMappingURL=utils.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../lib/utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../lib/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -91,6 +91,7 @@ export class BattleActions {
|
|
|
91
91
|
// will definitely switch out at this point
|
|
92
92
|
oldActive.illusion = null;
|
|
93
93
|
this.battle.singleEvent('End', oldActive.getAbility(), oldActive.abilityState, oldActive);
|
|
94
|
+
this.battle.singleEvent('End', oldActive.getItem(), oldActive.itemState, oldActive);
|
|
94
95
|
// if a pokemon is forced out by Whirlwind/etc or Eject Button/Pack, it can't use its chosen move
|
|
95
96
|
this.battle.queue.cancelAction(oldActive);
|
|
96
97
|
let newMove = null;
|
|
@@ -122,24 +123,23 @@ export class BattleActions {
|
|
|
122
123
|
for (const moveSlot of pokemon.moveSlots) {
|
|
123
124
|
moveSlot.used = false;
|
|
124
125
|
}
|
|
126
|
+
pokemon.abilityState.effectOrder = this.battle.effectOrder++;
|
|
127
|
+
pokemon.itemState.effectOrder = this.battle.effectOrder++;
|
|
125
128
|
this.battle.runEvent('BeforeSwitchIn', pokemon);
|
|
126
129
|
if (sourceEffect) {
|
|
127
|
-
this.battle.add(isDrag ? 'drag' : 'switch', pokemon, pokemon.
|
|
130
|
+
this.battle.add(isDrag ? 'drag' : 'switch', pokemon, pokemon.getFullDetails, '[from] ' + sourceEffect);
|
|
128
131
|
}
|
|
129
132
|
else {
|
|
130
|
-
this.battle.add(isDrag ? 'drag' : 'switch', pokemon, pokemon.
|
|
133
|
+
this.battle.add(isDrag ? 'drag' : 'switch', pokemon, pokemon.getFullDetails);
|
|
131
134
|
}
|
|
132
|
-
pokemon.abilityOrder = this.battle.abilityOrder++;
|
|
133
135
|
if (isDrag && this.battle.gen === 2)
|
|
134
136
|
pokemon.draggedIn = this.battle.turn;
|
|
135
137
|
pokemon.previouslySwitchedIn++;
|
|
136
138
|
if (isDrag && this.battle.gen >= 5) {
|
|
137
139
|
// runSwitch happens immediately so that Mold Breaker can make hazards bypass Clear Body and Levitate
|
|
138
|
-
this.battle.singleEvent('PreStart', pokemon.getAbility(), pokemon.abilityState, pokemon);
|
|
139
140
|
this.runSwitch(pokemon);
|
|
140
141
|
}
|
|
141
142
|
else {
|
|
142
|
-
this.battle.queue.insertChoice({ choice: 'runUnnerve', pokemon });
|
|
143
143
|
this.battle.queue.insertChoice({ choice: 'runSwitch', pokemon });
|
|
144
144
|
}
|
|
145
145
|
return true;
|
|
@@ -161,35 +161,21 @@ export class BattleActions {
|
|
|
161
161
|
return true;
|
|
162
162
|
}
|
|
163
163
|
runSwitch(pokemon) {
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
this.battle.
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
if (!pokemon.hp)
|
|
181
|
-
return false;
|
|
182
|
-
pokemon.isStarted = true;
|
|
183
|
-
if (!pokemon.fainted) {
|
|
184
|
-
this.battle.singleEvent('Start', pokemon.getAbility(), pokemon.abilityState, pokemon);
|
|
185
|
-
this.battle.singleEvent('Start', pokemon.getItem(), pokemon.itemState, pokemon);
|
|
186
|
-
}
|
|
187
|
-
if (this.battle.gen === 4) {
|
|
188
|
-
for (const foeActive of pokemon.foes()) {
|
|
189
|
-
foeActive.removeVolatile('substitutebroken');
|
|
190
|
-
}
|
|
164
|
+
const switchersIn = [pokemon];
|
|
165
|
+
while (this.battle.queue.peek()?.choice === 'runSwitch') {
|
|
166
|
+
const nextSwitch = this.battle.queue.shift();
|
|
167
|
+
switchersIn.push(nextSwitch.pokemon);
|
|
168
|
+
}
|
|
169
|
+
const allActive = this.battle.getAllActive(true);
|
|
170
|
+
this.battle.speedSort(allActive);
|
|
171
|
+
this.battle.speedOrder = allActive.map((a) => a.side.n * a.battle.sides.length + a.position);
|
|
172
|
+
this.battle.fieldEvent('SwitchIn', switchersIn);
|
|
173
|
+
for (const poke of switchersIn) {
|
|
174
|
+
if (!poke.hp)
|
|
175
|
+
continue;
|
|
176
|
+
poke.isStarted = true;
|
|
177
|
+
poke.draggedIn = null;
|
|
191
178
|
}
|
|
192
|
-
pokemon.draggedIn = null;
|
|
193
179
|
return true;
|
|
194
180
|
}
|
|
195
181
|
// #endregion
|
|
@@ -304,6 +290,7 @@ export class BattleActions {
|
|
|
304
290
|
if (move.flags['cantusetwice'] && pokemon.removeVolatile(move.id)) {
|
|
305
291
|
this.battle.add('-hint', `Some effects can force a Pokemon to use ${move.name} again in a row.`);
|
|
306
292
|
}
|
|
293
|
+
// TODO: Refactor to use BattleQueue#prioritizeAction in onAnyAfterMove handlers
|
|
307
294
|
// Dancer's activation order is completely different from any other event, so it's handled separately
|
|
308
295
|
if (move.flags['dance'] && moveDidSomething && !move.isExternal) {
|
|
309
296
|
const dancers = [];
|
|
@@ -318,7 +305,7 @@ export class BattleActions {
|
|
|
318
305
|
// Note that the speed stat used is after any volatile replacements like Speed Swap,
|
|
319
306
|
// but before any multipliers like Agility or Choice Scarf
|
|
320
307
|
// Ties go to whichever Pokemon has had the ability for the least amount of time
|
|
321
|
-
dancers.sort((a, b) => -(b.storedStats['spe'] - a.storedStats['spe']) || b.
|
|
308
|
+
dancers.sort((a, b) => -(b.storedStats['spe'] - a.storedStats['spe']) || b.abilityState.effectOrder - a.abilityState.effectOrder);
|
|
322
309
|
const targetOf1stDance = this.battle.activeTarget;
|
|
323
310
|
for (const dancer of dancers) {
|
|
324
311
|
if (this.battle.faintMessages())
|
|
@@ -432,7 +419,7 @@ export class BattleActions {
|
|
|
432
419
|
if (move.id === 'hiddenpower')
|
|
433
420
|
movename = 'Hidden Power';
|
|
434
421
|
if (sourceEffect)
|
|
435
|
-
attrs += `|[from]${sourceEffect.fullname}`;
|
|
422
|
+
attrs += `|[from] ${sourceEffect.fullname}`;
|
|
436
423
|
if (zMove && move.isZ === true) {
|
|
437
424
|
attrs = '|[anim]' + movename + attrs;
|
|
438
425
|
movename = 'Z-' + movename;
|
|
@@ -1635,9 +1622,11 @@ export class BattleActions {
|
|
|
1635
1622
|
if ((!source.volatiles['dynamax'] && move.isMax) || (move.isMax && this.dex.moves.get(move.baseMove).isMax)) {
|
|
1636
1623
|
basePower = 0;
|
|
1637
1624
|
}
|
|
1638
|
-
|
|
1625
|
+
const dexMove = this.dex.moves.get(move.id);
|
|
1626
|
+
if (basePower < 60 && source.getTypes(true).includes(move.type) && source.terastallized &&
|
|
1627
|
+
dexMove.priority <= 0 && !dexMove.multihit &&
|
|
1639
1628
|
// Hard move.basePower check for moves like Dragon Energy that have variable BP
|
|
1640
|
-
!
|
|
1629
|
+
!((move.basePower === 0 || move.basePower === 150) && move.basePowerCallback)) {
|
|
1641
1630
|
basePower = 60;
|
|
1642
1631
|
}
|
|
1643
1632
|
const level = source.level;
|
|
@@ -1874,9 +1863,11 @@ export class BattleActions {
|
|
|
1874
1863
|
pokemon.maxhp = newMaxHP;
|
|
1875
1864
|
this.battle.add('-heal', pokemon, pokemon.getHealth, '[silent]');
|
|
1876
1865
|
}
|
|
1877
|
-
if (pokemon.species.baseSpecies === 'Morpeko'
|
|
1866
|
+
if (pokemon.species.baseSpecies === 'Morpeko' && !pokemon.transformed &&
|
|
1867
|
+
pokemon.baseSpecies.id !== pokemon.species.id) {
|
|
1868
|
+
pokemon.regressionForme = true;
|
|
1878
1869
|
pokemon.baseSpecies = pokemon.species;
|
|
1879
|
-
pokemon.details = pokemon.
|
|
1870
|
+
pokemon.details = pokemon.getUpdatedDetails();
|
|
1880
1871
|
}
|
|
1881
1872
|
this.battle.runEvent('AfterTerastallization', pokemon);
|
|
1882
1873
|
}
|