mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2024-12-26 11:44:17 +01:00
f1b9872bf0
Thank you to SBird for providing mgba-rom-test binaries and Spikes/Toxic Spikes tests! Co-authored-by: sbird <sbird@no.tld>
170 lines
5.7 KiB
C
170 lines
5.7 KiB
C
#include "global.h"
|
|
#include "test_battle.h"
|
|
|
|
SINGLE_BATTLE_TEST("Pastel Veil prevents Poison Sting poison")
|
|
{
|
|
GIVEN {
|
|
ASSUME(gBattleMoves[MOVE_POISON_STING].effect == EFFECT_POISON_HIT);
|
|
PLAYER(SPECIES_WOBBUFFET);
|
|
OPPONENT(SPECIES_PONYTA_GALARIAN) { Ability(ABILITY_PASTEL_VEIL); }
|
|
} WHEN {
|
|
TURN { MOVE(player, MOVE_POISON_STING); }
|
|
} SCENE {
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_POISON_STING, player);
|
|
NOT STATUS_ICON(opponent, poison: TRUE);
|
|
}
|
|
}
|
|
|
|
DOUBLE_BATTLE_TEST("Pastel Veil prevents Poison Sting poison on partner")
|
|
{
|
|
GIVEN {
|
|
ASSUME(gBattleMoves[MOVE_POISON_STING].effect == EFFECT_POISON_HIT);
|
|
PLAYER(SPECIES_WOBBUFFET);
|
|
PLAYER(SPECIES_WYNAUT);
|
|
OPPONENT(SPECIES_PONYTA_GALARIAN) { Ability(ABILITY_PASTEL_VEIL); }
|
|
OPPONENT(SPECIES_WYNAUT);
|
|
} WHEN {
|
|
TURN { MOVE(playerLeft, MOVE_POISON_STING, target: opponentRight); }
|
|
} SCENE {
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_POISON_STING, playerLeft);
|
|
NOT STATUS_ICON(opponentRight, poison: TRUE);
|
|
}
|
|
}
|
|
|
|
SINGLE_BATTLE_TEST("Pastel Veil immediately cures Mold Breaker poison")
|
|
{
|
|
GIVEN {
|
|
ASSUME(gBattleMoves[MOVE_TOXIC].effect == EFFECT_TOXIC);
|
|
PLAYER(SPECIES_DRILBUR) { Ability(ABILITY_MOLD_BREAKER); }
|
|
OPPONENT(SPECIES_PONYTA_GALARIAN) { Ability(ABILITY_PASTEL_VEIL); }
|
|
} WHEN {
|
|
TURN { MOVE(player, MOVE_TOXIC); }
|
|
} SCENE {
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_TOXIC, player);
|
|
STATUS_ICON(opponent, badPoison: TRUE);
|
|
ABILITY_POPUP(opponent, ABILITY_PASTEL_VEIL);
|
|
MESSAGE("Foe Ponyta's Pastel Veil cured its poison problem!");
|
|
STATUS_ICON(opponent, none: TRUE);
|
|
}
|
|
}
|
|
|
|
DOUBLE_BATTLE_TEST("Pastel Veil does not cure Mold Breaker poison on partner")
|
|
{
|
|
GIVEN {
|
|
ASSUME(gBattleMoves[MOVE_TOXIC].effect == EFFECT_TOXIC);
|
|
PLAYER(SPECIES_DRILBUR) { Ability(ABILITY_MOLD_BREAKER); }
|
|
PLAYER(SPECIES_WYNAUT);
|
|
OPPONENT(SPECIES_PONYTA_GALARIAN) { Ability(ABILITY_PASTEL_VEIL); }
|
|
OPPONENT(SPECIES_WYNAUT);
|
|
} WHEN {
|
|
TURN { MOVE(playerLeft, MOVE_TOXIC, target: opponentRight); }
|
|
} SCENE {
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_TOXIC, playerLeft, target: opponentRight);
|
|
STATUS_ICON(opponentRight, badPoison: TRUE);
|
|
NOT STATUS_ICON(opponentRight, none: TRUE);
|
|
}
|
|
}
|
|
|
|
SINGLE_BATTLE_TEST("Pastel Veil prevents Toxic bad poison")
|
|
{
|
|
GIVEN {
|
|
ASSUME(gBattleMoves[MOVE_TOXIC].effect == EFFECT_TOXIC);
|
|
PLAYER(SPECIES_WOBBUFFET);
|
|
OPPONENT(SPECIES_PONYTA_GALARIAN) { Ability(ABILITY_PASTEL_VEIL); }
|
|
} WHEN {
|
|
TURN { MOVE(player, MOVE_TOXIC); }
|
|
} SCENE {
|
|
MESSAGE("Wobbuffet used Toxic!");
|
|
ABILITY_POPUP(opponent, ABILITY_PASTEL_VEIL);
|
|
MESSAGE("Foe Ponyta is protected by a pastel veil!");
|
|
NOT STATUS_ICON(opponent, badPoison: TRUE);
|
|
}
|
|
}
|
|
|
|
DOUBLE_BATTLE_TEST("Pastel Veil prevents Toxic bad poison on partner")
|
|
{
|
|
GIVEN {
|
|
ASSUME(gBattleMoves[MOVE_TOXIC].effect == EFFECT_TOXIC);
|
|
PLAYER(SPECIES_WOBBUFFET);
|
|
PLAYER(SPECIES_WYNAUT);
|
|
OPPONENT(SPECIES_PONYTA_GALARIAN) { Ability(ABILITY_PASTEL_VEIL); }
|
|
OPPONENT(SPECIES_WYNAUT);
|
|
} WHEN {
|
|
TURN { MOVE(playerLeft, MOVE_TOXIC, target: opponentRight); }
|
|
} SCENE {
|
|
MESSAGE("Wobbuffet used Toxic!");
|
|
ABILITY_POPUP(opponentLeft, ABILITY_PASTEL_VEIL);
|
|
MESSAGE("Foe Wynaut is protected by a pastel veil!");
|
|
NOT STATUS_ICON(opponentRight, badPoison: TRUE);
|
|
}
|
|
}
|
|
|
|
SINGLE_BATTLE_TEST("Pastel Veil prevents Toxic Spikes poison")
|
|
{
|
|
GIVEN {
|
|
ASSUME(gBattleMoves[MOVE_TOXIC_SPIKES].effect == EFFECT_TOXIC_SPIKES);
|
|
PLAYER(SPECIES_WOBBUFFET);
|
|
OPPONENT(SPECIES_WOBBUFFET);
|
|
OPPONENT(SPECIES_PONYTA_GALARIAN) { Ability(ABILITY_PASTEL_VEIL); }
|
|
} WHEN {
|
|
TURN { MOVE(player, MOVE_TOXIC_SPIKES); }
|
|
TURN { SWITCH(opponent, 1); }
|
|
} SCENE {
|
|
MESSAGE("2 sent out Ponyta!");
|
|
NOT STATUS_ICON(opponent, poison: TRUE);
|
|
}
|
|
}
|
|
|
|
DOUBLE_BATTLE_TEST("Pastel Veil prevents Toxic Spikes poison on partner")
|
|
{
|
|
GIVEN {
|
|
ASSUME(gBattleMoves[MOVE_TOXIC_SPIKES].effect == EFFECT_TOXIC_SPIKES);
|
|
PLAYER(SPECIES_WOBBUFFET);
|
|
PLAYER(SPECIES_WYNAUT);
|
|
OPPONENT(SPECIES_PONYTA_GALARIAN) { Ability(ABILITY_PASTEL_VEIL); }
|
|
OPPONENT(SPECIES_WOBBUFFET);
|
|
OPPONENT(SPECIES_WYNAUT);
|
|
} WHEN {
|
|
TURN { MOVE(playerLeft, MOVE_TOXIC_SPIKES); }
|
|
TURN { SWITCH(opponentRight, 2); }
|
|
} SCENE {
|
|
MESSAGE("2 sent out Wynaut!");
|
|
NOT STATUS_ICON(opponentRight, poison: TRUE);
|
|
}
|
|
}
|
|
|
|
DOUBLE_BATTLE_TEST("Pastel Veil cures partner's poison on initial switch in")
|
|
{
|
|
GIVEN {
|
|
PLAYER(SPECIES_WOBBUFFET);
|
|
PLAYER(SPECIES_WYNAUT);
|
|
OPPONENT(SPECIES_WOBBUFFET) { Status1(STATUS1_POISON); }
|
|
OPPONENT(SPECIES_PONYTA_GALARIAN) { Ability(ABILITY_PASTEL_VEIL); }
|
|
} WHEN {
|
|
TURN {}
|
|
} SCENE {
|
|
MESSAGE("2 sent out Wobbuffet and Ponyta!");
|
|
ABILITY_POPUP(opponentRight, ABILITY_PASTEL_VEIL);
|
|
MESSAGE("Foe Wobbuffet was cured of its poisoning!");
|
|
STATUS_ICON(opponentLeft, none: TRUE);
|
|
}
|
|
}
|
|
|
|
DOUBLE_BATTLE_TEST("Pastel Veil cures partner's poison on switch in")
|
|
{
|
|
GIVEN {
|
|
PLAYER(SPECIES_WOBBUFFET);
|
|
PLAYER(SPECIES_WYNAUT);
|
|
OPPONENT(SPECIES_WOBBUFFET) { Status1(STATUS1_POISON); }
|
|
OPPONENT(SPECIES_WYNAUT);
|
|
OPPONENT(SPECIES_PONYTA_GALARIAN) { Ability(ABILITY_PASTEL_VEIL); }
|
|
} WHEN {
|
|
TURN { SWITCH(opponentRight, 2); }
|
|
} SCENE {
|
|
MESSAGE("2 sent out Ponyta!");
|
|
ABILITY_POPUP(opponentRight, ABILITY_PASTEL_VEIL);
|
|
MESSAGE("Foe Wobbuffet was cured of its poisoning!");
|
|
STATUS_ICON(opponentLeft, none: TRUE);
|
|
}
|
|
}
|