From 283db6d1934d7b937c222e7d27372658c23b2bcb Mon Sep 17 00:00:00 2001 From: Stophles <71789013+Stophles@users.noreply.github.com> Date: Fri, 5 Apr 2024 19:18:39 -0500 Subject: [PATCH] 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. --- src/data/battler-tags.ts | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/data/battler-tags.ts b/src/data/battler-tags.ts index 7ac8d1412f3..c4fb18cb46d 100644 --- a/src/data/battler-tags.ts +++ b/src/data/battler-tags.ts @@ -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,7 +91,9 @@ 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; } } @@ -1042,4 +1045,4 @@ export function getBattlerTag(tagType: BattlerTagType, turnCount: integer, sourc default: return new BattlerTag(tagType, BattlerTagLapseType.CUSTOM, turnCount, sourceMove, sourceId); } -} \ No newline at end of file +}