f7ca839f23
* Chilly Reception Effect * Wrap Chilling Reception Message Better * Animation & Some Testing * Remove Wimp Out cases from Chilly Reception tests * Animation tweaks * Battle Script Updates * Created CheckPrimalWeather macro for Weather Effects * Updated Chilly Reception logic to switch even if weather doesn't change Testing Updates * Fixed test: Move does not animate if weather fails to change * Remove snow animation check during failure path test * * Fix indentation * Move Chilly Reception animation to always play (even when weather change fails) * Updates to MoveSwitch and PartingShot to get closer to original logic * Update BattleScript_EffectChillyReception logic * * Move CHILLY_RECEPTION animation * Test updates * Fix Chilly Reception MESSAGE checks --------- Co-authored-by: Patrick Curran <rapidnutcracker@gmail.com> Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
90 lines
3 KiB
C
90 lines
3 KiB
C
#include "global.h"
|
|
#include "test/battle.h"
|
|
|
|
ASSUMPTIONS
|
|
{
|
|
ASSUME(gBattleMoves[MOVE_CHILLY_RECEPTION].effect == EFFECT_CHILLY_RECEPTION);
|
|
}
|
|
|
|
SINGLE_BATTLE_TEST("Chilly Reception sets up snow and switches the user out")
|
|
{
|
|
GIVEN {
|
|
PLAYER(SPECIES_SLOWKING_GALARIAN);
|
|
PLAYER(SPECIES_SLOWPOKE_GALARIAN);
|
|
OPPONENT(SPECIES_WOBBUFFET);
|
|
} WHEN {
|
|
TURN { MOVE(player, MOVE_CHILLY_RECEPTION); SEND_OUT(player, 1); }
|
|
} SCENE {
|
|
MESSAGE("Slowking is preparing to tell a chillingly bad joke!");
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_CHILLY_RECEPTION, player);
|
|
MESSAGE("It started to snow!");
|
|
MESSAGE("Slowking went back to 1");
|
|
MESSAGE("Go! Slowpoke!");
|
|
ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_SNOW_CONTINUES);
|
|
}
|
|
}
|
|
|
|
SINGLE_BATTLE_TEST("Chilly Reception switches the user out, even if the weather does not change")
|
|
{
|
|
GIVEN {
|
|
PLAYER(SPECIES_SLOWKING_GALARIAN);
|
|
PLAYER(SPECIES_SLOWPOKE_GALARIAN);
|
|
OPPONENT(SPECIES_KYOGRE) { Item(ITEM_BLUE_ORB); }
|
|
} WHEN {
|
|
TURN { MOVE(player, MOVE_CHILLY_RECEPTION); SEND_OUT(player, 1); }
|
|
} SCENE {
|
|
MESSAGE("Slowking is preparing to tell a chillingly bad joke!");
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_CHILLY_RECEPTION, player);
|
|
MESSAGE("There is no relief from this heavy rain!");
|
|
MESSAGE("Slowking went back to 1");
|
|
MESSAGE("Go! Slowpoke!");
|
|
MESSAGE("Rain continues to fall.");
|
|
}
|
|
}
|
|
|
|
SINGLE_BATTLE_TEST("Chilly Reception does not switch the user out if no replacements")
|
|
{
|
|
GIVEN {
|
|
PLAYER(SPECIES_SLOWKING_GALARIAN);
|
|
OPPONENT(SPECIES_WOBBUFFET);
|
|
} WHEN {
|
|
TURN { MOVE(player, MOVE_CHILLY_RECEPTION); }
|
|
} SCENE {
|
|
MESSAGE("Slowking is preparing to tell a chillingly bad joke!");
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_CHILLY_RECEPTION, player);
|
|
MESSAGE("It started to snow!");
|
|
NOT MESSAGE("Slowking went back to 1");
|
|
}
|
|
}
|
|
|
|
SINGLE_BATTLE_TEST("Chilly Reception does not switch the user out if replacements fainted")
|
|
{
|
|
GIVEN {
|
|
PLAYER(SPECIES_SLOWKING_GALARIAN);
|
|
PLAYER(SPECIES_SLOWPOKE_GALARIAN) { HP(0); }
|
|
OPPONENT(SPECIES_WOBBUFFET);
|
|
} WHEN {
|
|
TURN { MOVE(player, MOVE_CHILLY_RECEPTION); }
|
|
} SCENE {
|
|
MESSAGE("Slowking is preparing to tell a chillingly bad joke!");
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_CHILLY_RECEPTION, player);
|
|
MESSAGE("It started to snow!");
|
|
NOT MESSAGE("Slowking went back to 1");
|
|
}
|
|
}
|
|
|
|
SINGLE_BATTLE_TEST("Chilly Reception changes the weather, even if the user cannot switch out")
|
|
{
|
|
GIVEN {
|
|
PLAYER(SPECIES_SLOWKING_GALARIAN);
|
|
OPPONENT(SPECIES_WOBBUFFET);
|
|
} WHEN {
|
|
TURN { MOVE(player, MOVE_CHILLY_RECEPTION); }
|
|
} SCENE {
|
|
MESSAGE("Slowking is preparing to tell a chillingly bad joke!");
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_CHILLY_RECEPTION, player);
|
|
MESSAGE("It started to snow!");
|
|
NOT MESSAGE("Slowking went back to 1");
|
|
}
|
|
}
|
|
|