diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts index 283f90f891c..bf9cc6db42a 100644 --- a/src/field/pokemon.ts +++ b/src/field/pokemon.ts @@ -1081,6 +1081,12 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container { (Overrides.OPP_PASSIVE_ABILITY_OVERRIDE !== Abilities.NONE && !this.isPlayer())) { return true; } + + // Final boss does not have passive + if (this.scene.currentBattle?.battleSpec === BattleSpec.FINAL_BOSS && this instanceof EnemyPokemon) { + return false; + } + return this.passive || this.isBoss(); } diff --git a/src/test/final_boss.test.ts b/src/test/final_boss.test.ts index c087bd5ba82..1636b66707b 100644 --- a/src/test/final_boss.test.ts +++ b/src/test/final_boss.test.ts @@ -56,6 +56,14 @@ describe("Final Boss", () => { expect(game.scene.getEnemyPokemon()!.species.speciesId).not.toBe(Species.ETERNATUS); }); + it("should not have passive enabled on Eternatus", async () => { + await runToFinalBossEncounter(game, [Species.BIDOOF]); + + const eternatus = game.scene.getEnemyPokemon(); + expect(eternatus.species.speciesId).toBe(Species.ETERNATUS); + expect(eternatus.hasPassive()).toBe(false); + }); + it.todo("should change form on direct hit down to last boss fragment", () => {}); });