Finished Wish tests (#8530)

This commit is contained in:
Eduardo Quezada 2025-12-16 11:40:21 -03:00 committed by GitHub
parent 1c819450fe
commit 60e255ef5f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 48 additions and 6 deletions

View File

@ -92,7 +92,7 @@
F(GLARE_GHOST, glareGhost, (u32, GEN_COUNT - 1)) /* TODO: use in tests */ \
F(SKILL_SWAP, skillSwap, (u32, GEN_COUNT - 1)) /* TODO: use in tests */ \
F(BRICK_BREAK, brickBreak, (u32, GEN_COUNT - 1)) /* TODO: use in tests */ \
F(WISH_HP_SOURCE, wishHpSource, (u32, GEN_COUNT - 1)) /* TODO: use in tests */ \
F(WISH_HP_SOURCE, wishHpSource, (u32, GEN_COUNT - 1)) \
F(RAMPAGE_CANCELLING, rampageCancelling, (u32, GEN_COUNT - 1)) /* TODO: use in tests */ \
F(HEAL_BLOCKING, healBlocking, (u32, GEN_COUNT - 1)) /* TODO: use in tests */ \
F(ROOTED_GROUNDING, rootedGrounding, (u32, GEN_COUNT - 1)) /* TODO: use in tests */ \

View File

@ -270,7 +270,7 @@ static bool32 HandleEndTurnWish(u32 battler)
s32 wishHeal = 0;
gBattlerTarget = battler;
PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, battler, gWishFutureKnock.wishPartyId[battler])
if (B_WISH_HP_SOURCE >= GEN_5)
if (GetConfig(CONFIG_WISH_HP_SOURCE) >= GEN_5)
{
if (IsOnPlayerSide(battler))
wishHeal = GetMonData(&gPlayerParty[gWishFutureKnock.wishPartyId[battler]], MON_DATA_MAX_HP) / 2;

View File

@ -6,9 +6,13 @@ ASSUMPTIONS
ASSUME(GetMoveEffect(MOVE_WISH) == EFFECT_WISH);
}
SINGLE_BATTLE_TEST("Wish restores 50% of max player HP")
SINGLE_BATTLE_TEST("Wish restores 50% of the user's HP when not switching")
{
u32 config;
PARAMETRIZE { config = GEN_4; }
PARAMETRIZE { config = GEN_5; }
GIVEN {
WITH_CONFIG(CONFIG_WISH_HP_SOURCE, config);
PLAYER(SPECIES_WYNAUT) { HP(50); MaxHP(100); }
OPPONENT(SPECIES_WOBBUFFET);
} WHEN {
@ -18,11 +22,51 @@ SINGLE_BATTLE_TEST("Wish restores 50% of max player HP")
ANIMATION(ANIM_TYPE_MOVE, MOVE_WISH, player);
ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, player);
MESSAGE("Wynaut's wish came true!");
HP_BAR(player, hp: 100);
HP_BAR(player, damage: -50);
MESSAGE("Wynaut's HP was restored.");
}
}
SINGLE_BATTLE_TEST("Wish restores 50% of the user's HP when switching (Gen5+)")
{
GIVEN {
WITH_CONFIG(CONFIG_WISH_HP_SOURCE, GEN_5);
PLAYER(SPECIES_WYNAUT) { HP(50); MaxHP(100); }
PLAYER(SPECIES_WOBBUFFET) { HP(100); MaxHP(200); }
OPPONENT(SPECIES_WOBBUFFET);
} WHEN {
TURN { MOVE(player, MOVE_WISH); }
TURN { SWITCH(player, 1); }
} SCENE {
ANIMATION(ANIM_TYPE_MOVE, MOVE_WISH, player);
SWITCH_OUT_MESSAGE("Wynaut");
SEND_IN_MESSAGE("Wobbuffet");
MESSAGE("Wynaut's wish came true!");
HP_BAR(player, damage: -50);
MESSAGE("Wobbuffet's HP was restored.");
}
}
SINGLE_BATTLE_TEST("Wish restores 50% of the recipient's HP when switching (Gen3-4)")
{
GIVEN {
WITH_CONFIG(CONFIG_WISH_HP_SOURCE, GEN_4);
PLAYER(SPECIES_WYNAUT) { HP(50); MaxHP(100); }
PLAYER(SPECIES_WOBBUFFET) { HP(100); MaxHP(200); }
OPPONENT(SPECIES_WOBBUFFET);
} WHEN {
TURN { MOVE(player, MOVE_WISH); }
TURN { SWITCH(player, 1); }
} SCENE {
ANIMATION(ANIM_TYPE_MOVE, MOVE_WISH, player);
SWITCH_OUT_MESSAGE("Wynaut");
SEND_IN_MESSAGE("Wobbuffet");
MESSAGE("Wynaut's wish came true!");
HP_BAR(player, damage: -100);
MESSAGE("Wobbuffet's HP was restored.");
}
}
SINGLE_BATTLE_TEST("Wish heals the user at the end of the next turn")
{
GIVEN {
@ -60,5 +104,3 @@ SINGLE_BATTLE_TEST("Wish is blocked by Heal Block")
NOT HP_BAR(player);
}
}
TO_DO_BATTLE_TEST("TODO: Write Wish (Move Effect) test titles")