#include "global.h" #include "test_battle.h" SINGLE_BATTLE_TEST("Powder Moves are blocked by Grass Types") { GIVEN { ASSUME(gBattleMoves[MOVE_STUN_SPORE].flags & FLAG_POWDER); ASSUME(gSpeciesInfo[SPECIES_ODDISH].types[0] == TYPE_GRASS); PLAYER(SPECIES_WYNAUT); OPPONENT(SPECIES_ODDISH); } WHEN { TURN { MOVE(player, MOVE_STUN_SPORE); } } SCENE { NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_STUN_SPORE, player); MESSAGE("It doesn't affect Foe Oddish…"); } } SINGLE_BATTLE_TEST("Powder Moves are blocked by Ability Overcoat") { GIVEN { ASSUME(gBattleMoves[MOVE_STUN_SPORE].flags & FLAG_POWDER); PLAYER(SPECIES_WYNAUT); OPPONENT(SPECIES_PINECO) { Ability(ABILITY_OVERCOAT); } } WHEN { TURN { MOVE(player, MOVE_STUN_SPORE); } } SCENE { ABILITY_POPUP(opponent, ABILITY_OVERCOAT); NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_STUN_SPORE, player); MESSAGE("It doesn't affect Foe Pineco…"); } } SINGLE_BATTLE_TEST("Powder Moves are blocked by Item Safety Goggles") { GIVEN { ASSUME(gBattleMoves[MOVE_STUN_SPORE].flags & FLAG_POWDER); ASSUME(gItems[ITEM_SAFETY_GOGGLES].holdEffect == HOLD_EFFECT_SAFETY_GOGGLES); PLAYER(SPECIES_WYNAUT); OPPONENT(SPECIES_ABRA) { Item(ITEM_SAFETY_GOGGLES); } } WHEN { TURN { MOVE(player, MOVE_STUN_SPORE); } } SCENE { NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_STUN_SPORE, player); MESSAGE("Foe Abra is not affected thanks to its SafetyGoggles!"); } }