58 lines
1.9 KiB
C
58 lines
1.9 KiB
C
#include "global.h"
|
|
#include "test/battle.h"
|
|
|
|
TO_DO_BATTLE_TEST("TODO: Write Power Construct (Ability) test titles")
|
|
|
|
SINGLE_BATTLE_TEST("Power Construct switches Zygarde's form when HP is below half")
|
|
{
|
|
u16 baseSpecies;
|
|
PARAMETRIZE { baseSpecies = SPECIES_ZYGARDE_10_POWER_CONSTRUCT; }
|
|
PARAMETRIZE { baseSpecies = SPECIES_ZYGARDE_50_POWER_CONSTRUCT; }
|
|
|
|
GIVEN {
|
|
PLAYER(baseSpecies)
|
|
{
|
|
Ability(ABILITY_POWER_CONSTRUCT);
|
|
HP((GetMonData(&PLAYER_PARTY[0], MON_DATA_MAX_HP) / 2) + 1);
|
|
}
|
|
OPPONENT(SPECIES_WOBBUFFET);
|
|
} WHEN {
|
|
TURN { MOVE(opponent, MOVE_SCRATCH); MOVE(player, MOVE_CELEBRATE); }
|
|
} SCENE {
|
|
MESSAGE("You sense the presence of many!");
|
|
ABILITY_POPUP(player, ABILITY_POWER_CONSTRUCT);
|
|
ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_POWER_CONSTRUCT, player);
|
|
} THEN {
|
|
EXPECT_EQ(player->species, SPECIES_ZYGARDE_COMPLETE);
|
|
}
|
|
}
|
|
|
|
WILD_BATTLE_TEST("Power Construct Zygarde reverts to its original form upon catching")
|
|
{
|
|
u16 baseSpecies;
|
|
PARAMETRIZE { baseSpecies = SPECIES_ZYGARDE_10_POWER_CONSTRUCT; }
|
|
PARAMETRIZE { baseSpecies = SPECIES_ZYGARDE_50_POWER_CONSTRUCT; }
|
|
|
|
GIVEN {
|
|
PLAYER(SPECIES_WOBBUFFET);
|
|
OPPONENT(baseSpecies)
|
|
{
|
|
Ability(ABILITY_POWER_CONSTRUCT);
|
|
HP((GetMonData(&OPPONENT_PARTY[0], MON_DATA_MAX_HP) / 2) + 1);
|
|
}
|
|
} WHEN {
|
|
TURN { MOVE(player, MOVE_SCRATCH); }
|
|
TURN { USE_ITEM(player, ITEM_MASTER_BALL); }
|
|
} SCENE {
|
|
// Turn 1
|
|
MESSAGE("You sense the presence of many!");
|
|
ABILITY_POPUP(opponent, ABILITY_POWER_CONSTRUCT);
|
|
ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_POWER_CONSTRUCT, opponent);
|
|
|
|
// Turn 2
|
|
ANIMATION(ANIM_TYPE_SPECIAL, B_ANIM_BALL_THROW, player);
|
|
} THEN {
|
|
EXPECT_EQ(GetMonData(&gPlayerParty[1], MON_DATA_SPECIES), baseSpecies);
|
|
}
|
|
}
|