#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!"); } }