Add Overcoat Tests (#7287)

Co-authored-by: ghoulslash <pokevoyager0@gmail.com>
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
This commit is contained in:
ghoulslash 2025-07-06 09:11:04 -04:00 committed by GitHub
parent f808201945
commit a24353d184
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -16,6 +16,60 @@ SINGLE_BATTLE_TEST("Overcoat blocks powder and spore moves")
}
}
TO_DO_BATTLE_TEST("Overcoat blocks damage from hail");
TO_DO_BATTLE_TEST("Overcoat blocks damage from sandstorm");
TO_DO_BATTLE_TEST("Overcoat blocks Effect Spore's effect");
DOUBLE_BATTLE_TEST("Overcoat blocks damage from sandstorm")
{
GIVEN {
PLAYER(SPECIES_WYNAUT) { Speed(50); }
PLAYER(SPECIES_HELIOLISK) { Speed(40); Ability(ABILITY_SAND_VEIL); }
OPPONENT(SPECIES_PINECO) { Speed(30); Ability(ABILITY_OVERCOAT); }
OPPONENT(SPECIES_STARLY) { Speed(20); }
} WHEN {
TURN { MOVE(playerLeft, MOVE_SANDSTORM); }
} SCENE {
MESSAGE("Wynaut used Sandstorm!");
MESSAGE("The sandstorm is raging.");
HP_BAR(playerLeft);
NONE_OF {
HP_BAR(playerRight);
HP_BAR(opponentLeft);
}
HP_BAR(opponentRight);
}
}
DOUBLE_BATTLE_TEST("Overcoat blocks damage from hail")
{
GIVEN {
PLAYER(SPECIES_WYNAUT) { Speed(50); Ability(ABILITY_SNOW_CLOAK); }
PLAYER(SPECIES_SOLOSIS) { Speed(40); Ability(ABILITY_RUN_AWAY); }
OPPONENT(SPECIES_PINECO) { Speed(30); Ability(ABILITY_OVERCOAT); }
OPPONENT(SPECIES_SNORUNT) { Speed(20); }
} WHEN {
TURN { MOVE(playerLeft, MOVE_HAIL); MOVE(playerRight, MOVE_SKILL_SWAP, target: playerLeft); }
} SCENE {
MESSAGE("Wynaut used Hail!");
MESSAGE("Solosis used Skill Swap!");
HP_BAR(playerLeft);
NONE_OF {
HP_BAR(playerRight);
HP_BAR(opponentLeft);
HP_BAR(opponentRight); // ice type
}
}
}
SINGLE_BATTLE_TEST("Overcoat blocks Effect Spore's effect")
{
GIVEN {
PLAYER(SPECIES_PINECO) {Ability(ABILITY_OVERCOAT);}
OPPONENT(SPECIES_SHROOMISH) {Ability(ABILITY_EFFECT_SPORE);}
} WHEN {
TURN { MOVE(player, MOVE_TACKLE, WITH_RNG(RNG_EFFECT_SPORE, 1)); }
} SCENE {
MESSAGE("Pineco used Tackle!");
NOT ABILITY_POPUP(opponent, ABILITY_EFFECT_SPORE);
} THEN {
EXPECT_EQ(player->status1, 0);
}
}