sovereignx/test/battle/move_effect/syrup_bomb.c
2023-10-13 14:08:44 +02:00

97 lines
3.3 KiB
C

#include "global.h"
#include "test/battle.h"
SINGLE_BATTLE_TEST("Syrup Bomb covers the foe in sticky syrup for 3 turns")
{
GIVEN {
PLAYER(SPECIES_WOBBUFFET);
OPPONENT(SPECIES_WOBBUFFET);
} WHEN {
TURN { MOVE(player, MOVE_SYRUP_BOMB); }
TURN {}
TURN {}
TURN {}
} SCENE {
ANIMATION(ANIM_TYPE_MOVE, MOVE_SYRUP_BOMB, player);
HP_BAR(opponent);
MESSAGE("Foe Wobbuffet got covered in sticky syrup!");
ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent);
MESSAGE("Foe Wobbuffet's Speed fell!");
ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent);
MESSAGE("Foe Wobbuffet's Speed fell!");
MESSAGE("Foe Wobbuffet was freed from Syrup Bomb!");
}
}
SINGLE_BATTLE_TEST("Syrup Bomb is prevented by Bulletproof")
{
GIVEN {
PLAYER(SPECIES_WOBBUFFET);
OPPONENT(SPECIES_CHESPIN) { Ability(ABILITY_BULLETPROOF); }
} WHEN {
TURN { MOVE(player, MOVE_SYRUP_BOMB); }
} SCENE {
ABILITY_POPUP(opponent, ABILITY_BULLETPROOF);
NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_SYRUP_BOMB, player);
NOT HP_BAR(opponent);
MESSAGE("Foe Chespin's Bulletproof blocks Syrup Bomb!");
}
}
SINGLE_BATTLE_TEST("Clear Body, White Smoke and Full Metal Body prevent Sticky Syrup speed reduction")
{
u32 species;
u32 ability;
PARAMETRIZE { species = SPECIES_BELDUM; ability = ABILITY_CLEAR_BODY; }
PARAMETRIZE { species = SPECIES_TORKOAL; ability = ABILITY_WHITE_SMOKE; }
PARAMETRIZE { species = SPECIES_SOLGALEO; ability = ABILITY_FULL_METAL_BODY; }
GIVEN {
PLAYER(SPECIES_WOBBUFFET);
OPPONENT(species) { Ability(ability); }
} WHEN {
TURN { MOVE(player, MOVE_SYRUP_BOMB); }
TURN {}
TURN {}
} SCENE {
ANIMATION(ANIM_TYPE_MOVE, MOVE_SYRUP_BOMB, player);
HP_BAR(opponent);
NOT ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent);
if (species == SPECIES_BELDUM)
{
MESSAGE("Foe Beldum got covered in sticky syrup!");
ABILITY_POPUP(opponent, ABILITY_CLEAR_BODY);
MESSAGE("Foe Beldum's Clear Body prevents stat loss!");
}
else if (species == SPECIES_TORKOAL)
{
MESSAGE("Foe Torkoal got covered in sticky syrup!");
ABILITY_POPUP(opponent, ABILITY_WHITE_SMOKE);
MESSAGE("Foe Torkoal's White Smoke prevents stat loss!");
}
else if (species == SPECIES_SOLGALEO)
{
MESSAGE("Foe Solgaleo got covered in sticky syrup!");
ABILITY_POPUP(opponent, ABILITY_FULL_METAL_BODY);
MESSAGE("Foe Solgaleo's Full Metal Body prevents stat loss!");
}
}
}
SINGLE_BATTLE_TEST("Clear Amulet prevents Sticky Syrup speed reduction")
{
GIVEN {
PLAYER(SPECIES_WOBBUFFET);
OPPONENT(SPECIES_WOBBUFFET) { Item(ITEM_CLEAR_AMULET); }
} WHEN {
TURN { MOVE(player, MOVE_SYRUP_BOMB); }
} SCENE {
ANIMATION(ANIM_TYPE_MOVE, MOVE_SYRUP_BOMB, player);
HP_BAR(opponent);
MESSAGE("Foe Wobbuffet got covered in sticky syrup!");
NOT ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent);
NOT MESSAGE("Foe Wobbuffet's Speed fell!");
MESSAGE("Foe Wobbuffet's Speed was not lowered!");
}
}