2597d8a35a
* First version of new defines * Fixed cloaks * Fixed cloaks * Fixed cloaks * Fixed cloaks * Fixed cloaks * Removed old defines * Removed old defines * Removed old defines and cleaned up some macros * Undid changes to documentation Deleted unused defines Updated defines Fixed tests fixed docs * moved note to top per https://github.com/rh-hideout/pokeemerald-expansion/pull/5075\#discussion_r1783641599 * fixed alignment per https://github.com/rh-hideout/pokeemerald-expansion/pull/5075\#pullrequestreview-2341613591
160 lines
5.1 KiB
C
160 lines
5.1 KiB
C
#include "global.h"
|
|
#include "test/battle.h"
|
|
|
|
ASSUMPTIONS
|
|
{
|
|
ASSUME(gMovesInfo[MOVE_RAGING_BULL].effect == EFFECT_RAGING_BULL);
|
|
ASSUME(gMovesInfo[MOVE_SNOWSCAPE].effect == EFFECT_SNOWSCAPE);
|
|
ASSUME(gMovesInfo[MOVE_LIGHT_SCREEN].effect == EFFECT_LIGHT_SCREEN);
|
|
ASSUME(gMovesInfo[MOVE_REFLECT].effect == EFFECT_REFLECT);
|
|
ASSUME(gMovesInfo[MOVE_AURORA_VEIL].effect == EFFECT_AURORA_VEIL);
|
|
}
|
|
|
|
SINGLE_BATTLE_TEST("Raging Bull removes Light Screen, Reflect and Aurora Veil from the target's side of the field")
|
|
{
|
|
u16 move;
|
|
|
|
PARAMETRIZE { move = MOVE_LIGHT_SCREEN; }
|
|
PARAMETRIZE { move = MOVE_REFLECT; }
|
|
PARAMETRIZE { move = MOVE_AURORA_VEIL; }
|
|
|
|
GIVEN {
|
|
PLAYER(SPECIES_WOBBUFFET);
|
|
OPPONENT(SPECIES_WOBBUFFET);
|
|
} WHEN {
|
|
TURN { MOVE(player, MOVE_SNOWSCAPE); }
|
|
TURN { MOVE(opponent, move); MOVE(player, MOVE_RAGING_BULL); }
|
|
} SCENE {
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_SNOWSCAPE, player);
|
|
ANIMATION(ANIM_TYPE_MOVE, move, opponent);
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_RAGING_BULL, player);
|
|
MESSAGE("The wall shattered!");
|
|
HP_BAR(opponent);
|
|
}
|
|
}
|
|
|
|
SINGLE_BATTLE_TEST("Raging Bull doesn't remove Light Screen, Reflect and Aurora Veil if the target is immune")
|
|
{
|
|
u16 move;
|
|
|
|
PARAMETRIZE { move = MOVE_LIGHT_SCREEN; }
|
|
PARAMETRIZE { move = MOVE_REFLECT; }
|
|
PARAMETRIZE { move = MOVE_AURORA_VEIL; }
|
|
|
|
KNOWN_FAILING;
|
|
GIVEN {
|
|
PLAYER(SPECIES_WOBBUFFET);
|
|
OPPONENT(SPECIES_GASTLY);
|
|
} WHEN {
|
|
TURN { MOVE(player, MOVE_SNOWSCAPE); }
|
|
TURN { MOVE(opponent, move); MOVE(player, MOVE_RAGING_BULL); }
|
|
} SCENE {
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_SNOWSCAPE, player);
|
|
ANIMATION(ANIM_TYPE_MOVE, move, opponent);
|
|
NONE_OF {
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_RAGING_BULL, player);
|
|
MESSAGE("The wall shattered!");
|
|
HP_BAR(opponent);
|
|
}
|
|
}
|
|
}
|
|
|
|
SINGLE_BATTLE_TEST("Raging Bull doesn't remove Light Screen, Reflect and Aurora Veil if the target Protected")
|
|
{
|
|
u16 move;
|
|
|
|
PARAMETRIZE { move = MOVE_LIGHT_SCREEN; }
|
|
PARAMETRIZE { move = MOVE_REFLECT; }
|
|
PARAMETRIZE { move = MOVE_AURORA_VEIL; }
|
|
|
|
GIVEN {
|
|
PLAYER(SPECIES_WOBBUFFET);
|
|
OPPONENT(SPECIES_WOBBUFFET);
|
|
} WHEN {
|
|
TURN { MOVE(player, MOVE_SNOWSCAPE); MOVE(opponent, move); }
|
|
TURN { MOVE(player, MOVE_RAGING_BULL); MOVE(opponent, MOVE_PROTECT); }
|
|
} SCENE {
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_SNOWSCAPE, player);
|
|
ANIMATION(ANIM_TYPE_MOVE, move, opponent);
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_PROTECT, opponent);
|
|
NONE_OF {
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_RAGING_BULL, player);
|
|
MESSAGE("The wall shattered!");
|
|
HP_BAR(opponent);
|
|
}
|
|
}
|
|
}
|
|
|
|
SINGLE_BATTLE_TEST("Raging Bull doesn't remove Light Screen, Reflect and Aurora Veil if it misses")
|
|
{
|
|
u16 move;
|
|
|
|
PARAMETRIZE { move = MOVE_LIGHT_SCREEN; }
|
|
PARAMETRIZE { move = MOVE_REFLECT; }
|
|
PARAMETRIZE { move = MOVE_AURORA_VEIL; }
|
|
|
|
GIVEN {
|
|
PLAYER(SPECIES_WOBBUFFET);
|
|
OPPONENT(SPECIES_WOBBUFFET) { Item(ITEM_BRIGHT_POWDER); }
|
|
} WHEN {
|
|
TURN { MOVE(player, MOVE_SNOWSCAPE); MOVE(opponent, move); }
|
|
TURN { MOVE(player, MOVE_RAGING_BULL, hit: FALSE); }
|
|
} SCENE {
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_SNOWSCAPE, player);
|
|
ANIMATION(ANIM_TYPE_MOVE, move, opponent);
|
|
NONE_OF {
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_RAGING_BULL, player);
|
|
MESSAGE("The wall shattered!");
|
|
HP_BAR(opponent);
|
|
}
|
|
}
|
|
}
|
|
|
|
DOUBLE_BATTLE_TEST("Raging Bull can remove Light Screen, Reflect and Aurora Veil on users side")
|
|
{
|
|
u16 move;
|
|
|
|
PARAMETRIZE { move = MOVE_LIGHT_SCREEN; }
|
|
PARAMETRIZE { move = MOVE_REFLECT; }
|
|
PARAMETRIZE { move = MOVE_AURORA_VEIL; }
|
|
|
|
GIVEN {
|
|
PLAYER(SPECIES_WOBBUFFET);
|
|
PLAYER(SPECIES_WOBBUFFET);
|
|
OPPONENT(SPECIES_WOBBUFFET);
|
|
OPPONENT(SPECIES_WOBBUFFET);
|
|
} WHEN {
|
|
TURN {
|
|
MOVE(opponentLeft, MOVE_SNOWSCAPE);
|
|
MOVE(playerLeft, move);
|
|
MOVE(playerRight, MOVE_RAGING_BULL, target: playerLeft);
|
|
}
|
|
} SCENE {
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_SNOWSCAPE, opponentLeft);
|
|
ANIMATION(ANIM_TYPE_MOVE, move, playerLeft);
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_RAGING_BULL, playerRight);
|
|
MESSAGE("The wall shattered!");
|
|
HP_BAR(playerLeft);
|
|
}
|
|
}
|
|
|
|
SINGLE_BATTLE_TEST("Move Raging Bull changes it's type depending on the Tauros Form")
|
|
{
|
|
u16 speciesPlayer;
|
|
u16 speciesOpponent;
|
|
|
|
PARAMETRIZE { speciesPlayer = SPECIES_TAUROS_PALDEA_COMBAT; speciesOpponent = SPECIES_CHARIZARD; }
|
|
PARAMETRIZE { speciesPlayer = SPECIES_TAUROS_PALDEA_BLAZE; speciesOpponent = SPECIES_BLASTOISE; }
|
|
PARAMETRIZE { speciesPlayer = SPECIES_TAUROS_PALDEA_AQUA; speciesOpponent = SPECIES_VENUSAUR; }
|
|
|
|
GIVEN {
|
|
PLAYER(speciesPlayer);
|
|
OPPONENT(speciesOpponent);
|
|
} WHEN {
|
|
TURN { MOVE(player, MOVE_RAGING_BULL); }
|
|
} SCENE {
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_RAGING_BULL, player);
|
|
HP_BAR(opponent);
|
|
MESSAGE("It's not very effective…");
|
|
}
|
|
}
|