pokeemmo/test/battle/move_effect/natural_gift.c

66 lines
2.1 KiB
C

#include "global.h"
#include "test/battle.h"
SINGLE_BATTLE_TEST("Natural Gift removes berry if move fails due to an immunity")
{
GIVEN {
PLAYER(SPECIES_WOBBUFFET) { Item(ITEM_PECHA_BERRY); }
OPPONENT(SPECIES_PHANPY);
} WHEN {
TURN { MOVE(player, MOVE_NATURAL_GIFT); }
} SCENE {
NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_NATURAL_GIFT, player);
} THEN {
EXPECT(player->item == ITEM_NONE);
}
}
SINGLE_BATTLE_TEST("Natural Gift does not remove berry if user is ejected out")
{
GIVEN {
PLAYER(SPECIES_WOBBUFFET) { Item(ITEM_PECHA_BERRY); }
PLAYER(SPECIES_WOBBUFFET);
OPPONENT(SPECIES_WOBBUFFET) { Item(ITEM_RED_CARD); }
} WHEN {
TURN { MOVE(player, MOVE_NATURAL_GIFT); }
TURN { SWITCH(player, 0); }
} SCENE {
ANIMATION(ANIM_TYPE_MOVE, MOVE_NATURAL_GIFT, player);
ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, opponent);
} THEN {
EXPECT(player->item == ITEM_PECHA_BERRY);
}
}
SINGLE_BATTLE_TEST("Natural Gift does not remove berry if user is unable to use a move")
{
GIVEN {
PLAYER(SPECIES_WOBBUFFET) { Item(ITEM_PECHA_BERRY); }
OPPONENT(SPECIES_WOBBUFFET);
} WHEN {
TURN { MOVE(opponent, MOVE_THUNDER_WAVE); MOVE(player, MOVE_NATURAL_GIFT, WITH_RNG(RNG_PARALYSIS, FALSE)); }
} SCENE {
ANIMATION(ANIM_TYPE_MOVE, MOVE_THUNDER_WAVE, opponent);
NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_NATURAL_GIFT, player);
} THEN {
EXPECT(player->item == ITEM_PECHA_BERRY);
}
}
SINGLE_BATTLE_TEST("Natural Gift removes the berry if user missed")
{
GIVEN {
PLAYER(SPECIES_WOBBUFFET) { Item(ITEM_PECHA_BERRY); }
OPPONENT(SPECIES_WOBBUFFET);
} WHEN {
TURN { MOVE(opponent, MOVE_SAND_ATTACK); MOVE(player, MOVE_NATURAL_GIFT, hit: FALSE); }
} SCENE {
ANIMATION(ANIM_TYPE_MOVE, MOVE_SAND_ATTACK, opponent);
NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_NATURAL_GIFT, player);
} THEN {
EXPECT(player->item == ITEM_NONE);
}
}
TO_DO_BATTLE_TEST("TODO: Write Natural Gift (Move Effect) test titles")