53 lines
1.7 KiB
C
53 lines
1.7 KiB
C
#include "global.h"
|
|
#include "test/battle.h"
|
|
|
|
ASSUMPTIONS
|
|
{
|
|
ASSUME(gMovesInfo[MOVE_PHOTON_GEYSER].effect == EFFECT_PHOTON_GEYSER);
|
|
}
|
|
|
|
SINGLE_BATTLE_TEST("Photon Geyser can be mirror coated if it is a special move")
|
|
{
|
|
GIVEN {
|
|
// EFFECT_PHOTON_GEYSER requires the move data to be Special to work
|
|
ASSUME(gMovesInfo[MOVE_PHOTON_GEYSER].category == DAMAGE_CATEGORY_SPECIAL);
|
|
PLAYER(SPECIES_WOBBUFFET) { Attack(100); SpAttack(110); }
|
|
OPPONENT(SPECIES_WOBBUFFET);
|
|
} WHEN {
|
|
TURN { MOVE(player, MOVE_PHOTON_GEYSER); MOVE(opponent, MOVE_MIRROR_COAT); }
|
|
} SCENE {
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_PHOTON_GEYSER, player);
|
|
HP_BAR(opponent);
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_MIRROR_COAT, opponent);
|
|
HP_BAR(player);
|
|
}
|
|
}
|
|
|
|
SINGLE_BATTLE_TEST("Photon Geyser can be countered if it is a physical move")
|
|
{
|
|
GIVEN {
|
|
PLAYER(SPECIES_WOBBUFFET) { Attack(110); SpAttack(100); }
|
|
OPPONENT(SPECIES_WOBBUFFET);
|
|
} WHEN {
|
|
TURN { MOVE(player, MOVE_PHOTON_GEYSER); MOVE(opponent, MOVE_COUNTER); }
|
|
} SCENE {
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_PHOTON_GEYSER, player);
|
|
HP_BAR(opponent);
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_COUNTER, opponent);
|
|
HP_BAR(player);
|
|
}
|
|
}
|
|
|
|
SINGLE_BATTLE_TEST("Photon Geyser ignores ignorable Abilities like Battle Armor")
|
|
{
|
|
GIVEN {
|
|
PLAYER(SPECIES_WOBBUFFET);
|
|
OPPONENT(SPECIES_LAPRAS) { Ability(ABILITY_SHELL_ARMOR); }
|
|
} WHEN {
|
|
TURN { MOVE(player, MOVE_PHOTON_GEYSER, criticalHit: TRUE); }
|
|
} SCENE {
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_PHOTON_GEYSER, player, );
|
|
HP_BAR(opponent);
|
|
MESSAGE("A critical hit!");
|
|
}
|
|
}
|