Alex 1c1a98ee45
Grudge, Destiny Bond and FaintBattler refactor (#8072)
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
2025-10-30 23:14:02 +01:00

54 lines
1.7 KiB
C

#include "global.h"
#include "test/battle.h"
TO_DO_BATTLE_TEST("TODO: Write Grudge (Move Effect) test titles")
SINGLE_BATTLE_TEST("Grudge depletes all pp of the move that fainted the target")
{
GIVEN {
PLAYER(SPECIES_WOBBUFFET) { HP(1); }
PLAYER(SPECIES_WOBBUFFET);
OPPONENT(SPECIES_WOBBUFFET) { Moves(MOVE_CELEBRATE, MOVE_SCRATCH, MOVE_POUND, MOVE_SURF); };
} WHEN {
TURN {
MOVE(player, MOVE_GRUDGE);
MOVE(opponent, MOVE_SCRATCH);
SEND_OUT(player, 1);
}
} SCENE {
ANIMATION(ANIM_TYPE_MOVE, MOVE_GRUDGE, player);
ANIMATION(ANIM_TYPE_MOVE, MOVE_SCRATCH, opponent);
MESSAGE("Wobbuffet fainted!");
} THEN {
EXPECT_GT(opponent->pp[0], 0);
EXPECT_EQ(opponent->pp[1], 0);
EXPECT_GT(opponent->pp[2], 0);
EXPECT_GT(opponent->pp[3], 0);
}
}
SINGLE_BATTLE_TEST("Grudge does not depletes pp of a z-move")
{
GIVEN {
PLAYER(SPECIES_WOBBUFFET) { HP(1); }
PLAYER(SPECIES_WOBBUFFET);
OPPONENT(SPECIES_WOBBUFFET) { Item(ITEM_NORMALIUM_Z); Moves(MOVE_CELEBRATE, MOVE_SCRATCH, MOVE_POUND, MOVE_SURF); };
} WHEN {
TURN {
MOVE(player, MOVE_GRUDGE);
MOVE(opponent, MOVE_SCRATCH, gimmick: GIMMICK_Z_MOVE);
SEND_OUT(player, 1);
}
} SCENE {
ANIMATION(ANIM_TYPE_MOVE, MOVE_GRUDGE, player);
ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_ZMOVE_ACTIVATE, opponent);
ANIMATION(ANIM_TYPE_MOVE, MOVE_BREAKNECK_BLITZ, opponent);
MESSAGE("Wobbuffet fainted!");
} THEN {
EXPECT_GT(opponent->pp[0], 0);
EXPECT_GT(opponent->pp[1], 0);
EXPECT_GT(opponent->pp[2], 0);
EXPECT_GT(opponent->pp[3], 0);
}
}