From 6bf78cd732a5f020be005c3c6d8958cb6db22879 Mon Sep 17 00:00:00 2001 From: dobin Date: Fri, 6 Jun 2025 23:55:46 +0900 Subject: [PATCH] [TEST]: Ensure Rattled triggers from Intimidate before player switches out --- test/abilities/rattled.test.ts | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/test/abilities/rattled.test.ts b/test/abilities/rattled.test.ts index ddef2028bee..c27dca87dbc 100644 --- a/test/abilities/rattled.test.ts +++ b/test/abilities/rattled.test.ts @@ -49,4 +49,19 @@ describe("Abilities - Rattled", () => { expect(playerPokemon.getStatStage(Stat.ATK)).toBe(-1); expect(playerPokemon.getStatStage(Stat.SPD)).toBe(1); }); + + it("should activate Rattled from Intimidate before the Pokémon is switched out.", async () => { + game.override.enemyLevel(100); // Ensures the opponent switches first by overriding their Pokémon's level to 100. + await game.classicMode.startBattle([SpeciesId.GIMMIGHOUL, SpeciesId.BULBASAUR]); + + const playerPokemon = game.field.getPlayerPokemon(); + + game.forceEnemyToSwitch(); + game.doSwitchPokemon(1); + + await game.phaseInterceptor.to("StatStageChangePhase"); + expect(playerPokemon.getStatStage(Stat.ATK)).toBe(-2); + await game.phaseInterceptor.to("StatStageChangePhase"); + expect(playerPokemon.getStatStage(Stat.SPD)).toBe(2); + }); });