2023-03-22 10:33:13 +00:00
|
|
|
#include "global.h"
|
2023-08-12 20:00:15 +01:00
|
|
|
#include "test/battle.h"
|
2023-03-22 10:33:13 +00:00
|
|
|
|
|
|
|
SINGLE_BATTLE_TEST("Xerneas changes into Active Form upon battle start")
|
|
|
|
{
|
|
|
|
GIVEN {
|
2023-10-23 12:59:15 +01:00
|
|
|
PLAYER(SPECIES_XERNEAS_NEUTRAL);
|
2023-03-22 10:33:13 +00:00
|
|
|
OPPONENT(SPECIES_WOBBUFFET);
|
|
|
|
} WHEN {
|
|
|
|
TURN { MOVE(player, MOVE_CELEBRATE); }
|
|
|
|
} THEN {
|
|
|
|
EXPECT_EQ(player->species, SPECIES_XERNEAS_ACTIVE);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
SINGLE_BATTLE_TEST("Zacian changes into its Crowned Form when holding the Rusted Sword upon battle start")
|
|
|
|
{
|
|
|
|
u16 item;
|
|
|
|
PARAMETRIZE { item = ITEM_NONE; }
|
|
|
|
PARAMETRIZE { item = ITEM_RUSTED_SWORD; }
|
|
|
|
GIVEN {
|
2024-10-02 22:24:57 +01:00
|
|
|
PLAYER(SPECIES_ZACIAN_HERO) { Item(item); }
|
2023-03-22 10:33:13 +00:00
|
|
|
OPPONENT(SPECIES_WOBBUFFET);
|
|
|
|
} WHEN {
|
|
|
|
TURN { MOVE(player, MOVE_CELEBRATE); }
|
|
|
|
} THEN {
|
|
|
|
if (item == ITEM_NONE)
|
2024-10-02 22:24:57 +01:00
|
|
|
EXPECT_EQ(player->species, SPECIES_ZACIAN_HERO);
|
2023-03-22 10:33:13 +00:00
|
|
|
else
|
2024-10-02 22:24:57 +01:00
|
|
|
EXPECT_EQ(player->species, SPECIES_ZACIAN_CROWNED);
|
2023-03-22 10:33:13 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
SINGLE_BATTLE_TEST("Zacian's Iron Head becomes Behemoth Blade upon form change")
|
|
|
|
{
|
|
|
|
GIVEN {
|
2024-10-02 22:24:57 +01:00
|
|
|
PLAYER(SPECIES_ZACIAN_HERO) { Item(ITEM_RUSTED_SWORD); Moves(MOVE_IRON_HEAD, MOVE_CELEBRATE); }
|
2023-03-22 10:33:13 +00:00
|
|
|
OPPONENT(SPECIES_WOBBUFFET);
|
|
|
|
} WHEN {
|
|
|
|
TURN { MOVE(player, MOVE_CELEBRATE); }
|
|
|
|
} THEN {
|
2024-10-02 22:24:57 +01:00
|
|
|
ASSUME(player->species == SPECIES_ZACIAN_CROWNED); // Assumes form change worked.
|
2023-03-22 10:33:13 +00:00
|
|
|
EXPECT_EQ(player->moves[0], MOVE_BEHEMOTH_BLADE);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
SINGLE_BATTLE_TEST("Zamazenta changes into its Crowned Form when holding the Rusted Shield upon battle start")
|
|
|
|
{
|
|
|
|
u16 item;
|
|
|
|
PARAMETRIZE { item = ITEM_NONE; }
|
|
|
|
PARAMETRIZE { item = ITEM_RUSTED_SHIELD; }
|
|
|
|
GIVEN {
|
2024-10-02 22:24:57 +01:00
|
|
|
PLAYER(SPECIES_ZAMAZENTA_HERO) { Item(item); }
|
2023-03-22 10:33:13 +00:00
|
|
|
OPPONENT(SPECIES_WOBBUFFET);
|
|
|
|
} WHEN {
|
|
|
|
TURN { MOVE(player, MOVE_CELEBRATE); }
|
|
|
|
} THEN {
|
|
|
|
if (item == ITEM_NONE)
|
2024-10-02 22:24:57 +01:00
|
|
|
EXPECT_EQ(player->species, SPECIES_ZAMAZENTA_HERO);
|
2023-03-22 10:33:13 +00:00
|
|
|
else
|
2024-10-02 22:24:57 +01:00
|
|
|
EXPECT_EQ(player->species, SPECIES_ZAMAZENTA_CROWNED);
|
2023-03-22 10:33:13 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
SINGLE_BATTLE_TEST("Zamazenta's Iron Head becomes Behemoth Bash upon form change")
|
|
|
|
{
|
|
|
|
GIVEN {
|
2024-10-02 22:24:57 +01:00
|
|
|
PLAYER(SPECIES_ZAMAZENTA_HERO) { Item(ITEM_RUSTED_SHIELD); Moves(MOVE_IRON_HEAD, MOVE_CELEBRATE); }
|
2023-03-22 10:33:13 +00:00
|
|
|
OPPONENT(SPECIES_WOBBUFFET);
|
|
|
|
} WHEN {
|
|
|
|
TURN { MOVE(player, MOVE_CELEBRATE); }
|
|
|
|
} THEN {
|
2024-10-02 22:24:57 +01:00
|
|
|
ASSUME(player->species == SPECIES_ZAMAZENTA_CROWNED); // Assumes form change worked.
|
2023-03-22 10:33:13 +00:00
|
|
|
EXPECT_EQ(player->moves[0], MOVE_BEHEMOTH_BASH);
|
|
|
|
}
|
|
|
|
}
|