58 lines
1.8 KiB
C

#include "global.h"
#include "test/battle.h"
ASSUMPTIONS
{
ASSUME(GetMoveEffect(MOVE_MAGNET_RISE) == EFFECT_MAGNET_RISE);
}
SINGLE_BATTLE_TEST("Magnet Rise rises the user into the air, avoiding Ground-type attacks")
{
GIVEN {
ASSUME(GetMoveType(MOVE_EARTHQUAKE) == TYPE_GROUND);
PLAYER(SPECIES_WOBBUFFET);
OPPONENT(SPECIES_WYNAUT);
} WHEN {
TURN { MOVE(player, MOVE_MAGNET_RISE); MOVE(opponent, MOVE_EARTHQUAKE); }
} SCENE {
ANIMATION(ANIM_TYPE_MOVE, MOVE_MAGNET_RISE, player);
NONE_OF {
ANIMATION(ANIM_TYPE_MOVE, MOVE_EARTHQUAKE, opponent);
HP_BAR(player);
}
}
}
SINGLE_BATTLE_TEST("Magnet Rise fails if the user is Rooted")
{
GIVEN {
ASSUME(GetMoveEffect(MOVE_INGRAIN) == EFFECT_INGRAIN);
PLAYER(SPECIES_WOBBUFFET);
OPPONENT(SPECIES_WYNAUT);
} WHEN {
TURN { MOVE(player, MOVE_INGRAIN); }
TURN { MOVE(player, MOVE_MAGNET_RISE); }
} SCENE {
ANIMATION(ANIM_TYPE_MOVE, MOVE_INGRAIN, player);
NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_MAGNET_RISE, player);
}
}
SINGLE_BATTLE_TEST("Magnet Rise fails if the user is Grounded by Smack Down")
{
GIVEN {
ASSUME(GetMoveEffect(MOVE_SMACK_DOWN) == EFFECT_SMACK_DOWN);
ASSUME(gSpeciesInfo[SPECIES_XATU].types[0] == TYPE_FLYING || gSpeciesInfo[SPECIES_XATU].types[1] == TYPE_FLYING);
PLAYER(SPECIES_XATU);
OPPONENT(SPECIES_WYNAUT);
} WHEN {
TURN { MOVE(opponent, MOVE_SMACK_DOWN); MOVE(player, MOVE_MAGNET_RISE); }
} SCENE {
ANIMATION(ANIM_TYPE_MOVE, MOVE_SMACK_DOWN, opponent);
MESSAGE("Xatu fell straight down!");
NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_MAGNET_RISE, player);
}
}
TO_DO_BATTLE_TEST("TODO: Write Magnet Rise (Move Effect) test titles")