From 3c8569646412e437ad35d703fe856b7425feb877 Mon Sep 17 00:00:00 2001 From: NightKev <34855794+DayKev@users.noreply.github.com> Date: Mon, 12 Aug 2024 23:13:41 -0700 Subject: [PATCH] Replace `BattlerTag.STATS_BOOSTED` with `PokemonTurnData` field --- src/data/battler-tags.ts | 2 -- src/data/move.ts | 4 ++-- src/enums/battler-tag-type.ts | 1 - src/field/pokemon.ts | 1 + src/phases.ts | 2 +- src/test/moves/alluring_voice.test.ts | 1 - 6 files changed, 4 insertions(+), 7 deletions(-) diff --git a/src/data/battler-tags.ts b/src/data/battler-tags.ts index 905d173769d..898bbbc306b 100644 --- a/src/data/battler-tags.ts +++ b/src/data/battler-tags.ts @@ -1911,8 +1911,6 @@ export function getBattlerTag(tagType: BattlerTagType, turnCount: number, source case BattlerTagType.GULP_MISSILE_ARROKUDA: case BattlerTagType.GULP_MISSILE_PIKACHU: return new GulpMissileTag(tagType, sourceMove); - case BattlerTagType.STATS_BOOSTED: - return new BattlerTag(tagType, BattlerTagLapseType.TURN_END, turnCount, sourceMove); case BattlerTagType.NONE: default: return new BattlerTag(tagType, BattlerTagLapseType.CUSTOM, turnCount, sourceMove, sourceId); diff --git a/src/data/move.ts b/src/data/move.ts index fd68d631d4f..a7c59840c20 100644 --- a/src/data/move.ts +++ b/src/data/move.ts @@ -5872,7 +5872,7 @@ export class AddBattlerTagIfBoostedAttr extends AddBattlerTagAttr { * @returns true */ apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { - if (target.getTag(BattlerTagType.STATS_BOOSTED)) { + if (target.turnData.battleStatsChange.find(v => v > 0)) { super.apply(user, target, move, args); } return true; @@ -5900,7 +5900,7 @@ export class StatusIfBoostedAttr extends MoveEffectAttr { * @returns true */ apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean { - if (target.getTag(BattlerTagType.STATS_BOOSTED)) { + if (target.turnData.battleStatsChange.find(v => v > 0)) { target.trySetStatus(this.effect, true, user); } return true; diff --git a/src/enums/battler-tag-type.ts b/src/enums/battler-tag-type.ts index dac90c296a1..5aab5036caf 100644 --- a/src/enums/battler-tag-type.ts +++ b/src/enums/battler-tag-type.ts @@ -61,7 +61,6 @@ export enum BattlerTagType { CENTER_OF_ATTENTION = "CENTER_OF_ATTENTION", ICE_FACE = "ICE_FACE", DISGUISE = "DISGUISE", - STATS_BOOSTED = "STATS_BOOSTED", STOCKPILING = "STOCKPILING", RECEIVE_DOUBLE_DAMAGE = "RECEIVE_DOUBLE_DAMAGE", ALWAYS_GET_HIT = "ALWAYS_GET_HIT", diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index dc0ff4d3225..c4264890d19 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -4255,6 +4255,7 @@ export class PokemonTurnData { public damageTaken: integer = 0; public attacksReceived: AttackMoveResult[] = []; public order: number; + public battleStatsChange: number[] = [0, 0, 0, 0, 0, 0, 0]; } export enum AiType { diff --git a/src/phases.ts b/src/phases.ts index 1c24cf0acb3..c9272fd874a 100644 --- a/src/phases.ts +++ b/src/phases.ts @@ -3513,7 +3513,7 @@ export class StatChangePhase extends PokemonPhase { for (const stat of filteredStats) { if (levels.value > 0 && pokemon.summonData.battleStats[stat] + levels.value <= 6) { - pokemon.addTag(BattlerTagType.STATS_BOOSTED, 1); + pokemon.turnData.battleStatsChange[stat] += levels.value; } pokemon.summonData.battleStats[stat] = Math.max(Math.min(pokemon.summonData.battleStats[stat] + levels.value, 6), -6); diff --git a/src/test/moves/alluring_voice.test.ts b/src/test/moves/alluring_voice.test.ts index 9c6a3632ef9..975860116a8 100644 --- a/src/test/moves/alluring_voice.test.ts +++ b/src/test/moves/alluring_voice.test.ts @@ -49,7 +49,6 @@ describe("Moves - Alluring Voice", () => { game.doAttack(getMovePosition(game.scene, 0, Moves.ALLURING_VOICE)); await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.phaseInterceptor.to(BerryPhase); - console.log(enemy.getTag(BattlerTagType.CONFUSED)); expect(enemy.getTag(BattlerTagType.CONFUSED)?.tagType).toBe("CONFUSED"); }, TIMEOUT);