60 lines
1.5 KiB
C
60 lines
1.5 KiB
C
#include "global.h"
|
|
#include "test/battle.h"
|
|
|
|
ASSUMPTIONS
|
|
{
|
|
ASSUME(GetMoveEffect(MOVE_SNORE) == EFFECT_SNORE);
|
|
}
|
|
|
|
SINGLE_BATTLE_TEST("Snore fails if not asleep")
|
|
{
|
|
u32 status;
|
|
PARAMETRIZE { status = STATUS1_SLEEP; }
|
|
PARAMETRIZE { status = STATUS1_NONE; }
|
|
|
|
GIVEN {
|
|
PLAYER(SPECIES_WOBBUFFET) { Status1(status); }
|
|
OPPONENT(SPECIES_WOBBUFFET);
|
|
} WHEN {
|
|
TURN { MOVE(player, MOVE_SNORE); }
|
|
} SCENE {
|
|
if (status == STATUS1_SLEEP) {
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_SNORE, player);
|
|
NOT MESSAGE("But it failed!");
|
|
}
|
|
else {
|
|
NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_SNORE, player);
|
|
MESSAGE("But it failed!");
|
|
}
|
|
}
|
|
}
|
|
|
|
SINGLE_BATTLE_TEST("Snore works if user has Comatose")
|
|
{
|
|
|
|
GIVEN {
|
|
PLAYER(SPECIES_KOMALA);
|
|
OPPONENT(SPECIES_WOBBUFFET);
|
|
} WHEN {
|
|
TURN { MOVE(player, MOVE_SNORE); }
|
|
} SCENE {
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_SNORE, player);
|
|
NOT MESSAGE("But it failed!");
|
|
}
|
|
}
|
|
|
|
SINGLE_BATTLE_TEST("Snore fails if user is throat chopped")
|
|
{
|
|
GIVEN {
|
|
ASSUME(MoveHasAdditionalEffect(MOVE_THROAT_CHOP, MOVE_EFFECT_THROAT_CHOP));
|
|
ASSUME(IsSoundMove(MOVE_SNORE) == TRUE);
|
|
PLAYER(SPECIES_WOBBUFFET) { Status1(STATUS1_SLEEP); }
|
|
OPPONENT(SPECIES_WOBBUFFET);
|
|
} WHEN {
|
|
TURN { MOVE(opponent, MOVE_THROAT_CHOP); MOVE(player, MOVE_SNORE); }
|
|
} SCENE {
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_THROAT_CHOP, opponent);
|
|
NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_SNORE, player);
|
|
}
|
|
}
|