PRE_MOVE Lapse added for Recharge, Recharge now cancels

Added a PRE_MOVE Identifier for Recharge specifically, which now cancels the move and shifts the move queue (since this will no longer occur in doMove. This prevents Confusion/Infatuation from also being triggered after a Pokemon is recharging.
This commit is contained in:
Stophles 2024-04-05 19:18:39 -05:00 committed by GitHub
parent 4c2dc8651f
commit 283db6d193
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -17,6 +17,7 @@ import { BattleStat } from "./battle-stat";
export enum BattlerTagLapseType {
FAINT,
MOVE,
PRE_MOVE,
AFTER_MOVE,
MOVE_EFFECT,
TURN_END,
@ -77,7 +78,7 @@ export interface TerrainBattlerTag {
export class RechargingTag extends BattlerTag {
constructor(sourceMove: Moves) {
super(BattlerTagType.RECHARGING, BattlerTagLapseType.MOVE, 1, sourceMove);
super(BattlerTagType.RECHARGING, BattlerTagLapseType.PRE_MOVE, 1, sourceMove);
}
onAdd(pokemon: Pokemon): void {
@ -90,6 +91,8 @@ export class RechargingTag extends BattlerTag {
super.lapse(pokemon, lapseType);
pokemon.scene.queueMessage(getPokemonMessage(pokemon, ' must\nrecharge!'));
(pokemon.scene.getCurrentPhase() as MovePhase).cancel();
pokemon.getMoveQueue().shift();
return true;
}