From b8ad707f8b5769e7edd1b878d74c2b404ddf1e8b Mon Sep 17 00:00:00 2001 From: PrabbyDD Date: Thu, 19 Sep 2024 18:29:29 -0700 Subject: [PATCH] modifying and adding tests --- src/test/abilities/dry_skin.test.ts | 13 +++++++++++++ src/test/abilities/flash_fire.test.ts | 19 +++++++++++++++++++ src/test/abilities/sap_sipper.test.ts | 18 ++++++++++++++++++ src/test/abilities/volt_absorb.test.ts | 2 ++ 4 files changed, 52 insertions(+) diff --git a/src/test/abilities/dry_skin.test.ts b/src/test/abilities/dry_skin.test.ts index 1af8831f25b..b7e627ba548 100644 --- a/src/test/abilities/dry_skin.test.ts +++ b/src/test/abilities/dry_skin.test.ts @@ -141,4 +141,17 @@ describe("Abilities - Dry Skin", () => { expect(healthGainedFromWaterShuriken).toBe(healthGainedFromWaterGun); }); + + it("opposing water moves still heal regardless of accuracy check", async () => { + await game.classicMode.startBattle(); + + const enemyPokemon = game.scene.getEnemyPokemon()!; + + game.move.select(Moves.WATER_GUN); + await game.phaseInterceptor.to("MoveEffectPhase"); + + await game.move.forceMiss(); + await game.phaseInterceptor.to("BerryPhase", false); + expect(enemyPokemon.hp).toBe(enemyPokemon.getMaxHp()); + }); }); diff --git a/src/test/abilities/flash_fire.test.ts b/src/test/abilities/flash_fire.test.ts index c3cf31496ea..ab768dd4789 100644 --- a/src/test/abilities/flash_fire.test.ts +++ b/src/test/abilities/flash_fire.test.ts @@ -126,4 +126,23 @@ describe("Abilities - Flash Fire", () => { expect(flashFireDmg).toBeGreaterThan(originalDmg); }, 20000); + + it("still activates regardless of accuracy check", async () => { + game.override.moveset(Moves.FLAMETHROWER); + game.override.enemyMoveset(Moves.SPLASH); + game.override.enemySpecies(Species.MAGIKARP); + game.override.enemyAbility(Abilities.FLASH_FIRE); + + await game.classicMode.startBattle(); + + const enemyPokemon = game.scene.getEnemyPokemon()!; + + game.move.select(Moves.FLAMETHROWER); + await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); + await game.phaseInterceptor.to("MoveEffectPhase"); + + await game.move.forceMiss(); + await game.phaseInterceptor.to("BerryPhase", false); + expect(enemyPokemon.hp).toBe(enemyPokemon.getMaxHp()); + }, 20000); }); diff --git a/src/test/abilities/sap_sipper.test.ts b/src/test/abilities/sap_sipper.test.ts index 5e8cac74c95..0e9be34d54f 100644 --- a/src/test/abilities/sap_sipper.test.ts +++ b/src/test/abilities/sap_sipper.test.ts @@ -165,4 +165,22 @@ describe("Abilities - Sap Sipper", () => { expect(initialEnemyHp - enemyPokemon.hp).toBe(0); expect(enemyPokemon.getStatStage(Stat.ATK)).toBe(1); }); + + it("still activates regardless of accuracy check", async () => { + game.override.moveset(Moves.LEAF_BLADE); + game.override.enemyMoveset(Moves.SPLASH); + game.override.enemySpecies(Species.MAGIKARP); + game.override.enemyAbility(Abilities.SAP_SIPPER); + + await game.classicMode.startBattle(); + + const enemyPokemon = game.scene.getEnemyPokemon()!; + + game.move.select(Moves.LEAF_BLADE); + await game.phaseInterceptor.to("MoveEffectPhase"); + + await game.move.forceMiss(); + await game.phaseInterceptor.to("BerryPhase", false); + expect(enemyPokemon.hp).toBe(enemyPokemon.getMaxHp()); + }); }); diff --git a/src/test/abilities/volt_absorb.test.ts b/src/test/abilities/volt_absorb.test.ts index db14a5a2dba..d1a57ad3c6a 100644 --- a/src/test/abilities/volt_absorb.test.ts +++ b/src/test/abilities/volt_absorb.test.ts @@ -7,6 +7,7 @@ import { Species } from "#enums/species"; import GameManager from "#test/utils/gameManager"; import Phaser from "phaser"; import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest"; +import { BattlerIndex } from "#app/battle"; // See also: TypeImmunityAbAttr describe("Abilities - Volt Absorb", () => { @@ -62,6 +63,7 @@ describe("Abilities - Volt Absorb", () => { const enemyPokemon = game.scene.getEnemyPokemon()!; game.move.select(Moves.THUNDERBOLT); + await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]); await game.phaseInterceptor.to("MoveEffectPhase"); await game.move.forceMiss();