Aura Break tests (#8099)
This commit is contained in:
parent
a10a824081
commit
dba50c91ea
@ -1,6 +1,115 @@
|
||||
#include "global.h"
|
||||
#include "test/battle.h"
|
||||
|
||||
TO_DO_BATTLE_TEST("Aura Break inverts Fairy Aura's effect");
|
||||
TO_DO_BATTLE_TEST("Aura Break inverts Dark Aura's effect");
|
||||
TO_DO_BATTLE_TEST("Aura Break ignores Mold Breaker abilities");
|
||||
DOUBLE_BATTLE_TEST("Aura Break inverts Fairy Aura's effect")
|
||||
{
|
||||
s16 damage[3];
|
||||
|
||||
GIVEN {
|
||||
PLAYER(SPECIES_WOBBUFFET);
|
||||
PLAYER(SPECIES_WOBBUFFET);
|
||||
PLAYER(SPECIES_XERNEAS) { Ability(ABILITY_FAIRY_AURA); }
|
||||
OPPONENT(SPECIES_WOBBUFFET);
|
||||
OPPONENT(SPECIES_WOBBUFFET);
|
||||
OPPONENT(SPECIES_ZYGARDE_50) { Ability(ABILITY_AURA_BREAK); }
|
||||
} WHEN {
|
||||
TURN { MOVE(playerLeft, MOVE_PLAY_ROUGH, target:opponentLeft); }
|
||||
TURN { MOVE(playerLeft, MOVE_PLAY_ROUGH, target:opponentLeft); SWITCH(playerRight, 2); }
|
||||
TURN { MOVE(playerLeft, MOVE_PLAY_ROUGH, target:opponentLeft); SWITCH(opponentRight, 2); }
|
||||
} SCENE {
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_PLAY_ROUGH, playerLeft);
|
||||
HP_BAR(opponentLeft, captureDamage: &damage[0]);
|
||||
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_PLAY_ROUGH, playerLeft);
|
||||
HP_BAR(opponentLeft, captureDamage: &damage[1]);
|
||||
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_PLAY_ROUGH, playerLeft);
|
||||
HP_BAR(opponentLeft, captureDamage: &damage[2]);
|
||||
|
||||
} THEN {
|
||||
EXPECT_MUL_EQ(damage[0], UQ_4_12(1.33), damage[1]);
|
||||
EXPECT_MUL_EQ(damage[0], UQ_4_12(0.75), damage[2]);
|
||||
}
|
||||
}
|
||||
|
||||
DOUBLE_BATTLE_TEST("Aura Break inverts Dark Aura's effect")
|
||||
{
|
||||
s16 damage[3];
|
||||
|
||||
GIVEN {
|
||||
PLAYER(SPECIES_WOBBUFFET);
|
||||
PLAYER(SPECIES_WOBBUFFET);
|
||||
PLAYER(SPECIES_YVELTAL) { Ability(ABILITY_DARK_AURA); }
|
||||
OPPONENT(SPECIES_WOBBUFFET);
|
||||
OPPONENT(SPECIES_WOBBUFFET);
|
||||
OPPONENT(SPECIES_ZYGARDE_50) { Ability(ABILITY_AURA_BREAK); }
|
||||
} WHEN {
|
||||
TURN { MOVE(playerLeft, MOVE_BITE, target:opponentLeft); }
|
||||
TURN { MOVE(playerLeft, MOVE_BITE, target:opponentLeft); SWITCH(playerRight, 2); }
|
||||
TURN { MOVE(playerLeft, MOVE_BITE, target:opponentLeft); SWITCH(opponentRight, 2); }
|
||||
} SCENE {
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_BITE, playerLeft);
|
||||
HP_BAR(opponentLeft, captureDamage: &damage[0]);
|
||||
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_BITE, playerLeft);
|
||||
HP_BAR(opponentLeft, captureDamage: &damage[1]);
|
||||
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_BITE, playerLeft);
|
||||
HP_BAR(opponentLeft, captureDamage: &damage[2]);
|
||||
|
||||
} THEN {
|
||||
EXPECT_MUL_EQ(damage[0], UQ_4_12(1.33), damage[1]);
|
||||
EXPECT_MUL_EQ(damage[0], UQ_4_12(0.75), damage[2]);
|
||||
}
|
||||
}
|
||||
|
||||
DOUBLE_BATTLE_TEST("Aura Break ignores Mold Breaker abilities")
|
||||
{
|
||||
s16 damage[6];
|
||||
u32 species = SPECIES_WOBBUFFET, ability = ABILITY_NONE;
|
||||
|
||||
PARAMETRIZE { species = SPECIES_WOBBUFFET, ability = ABILITY_SHADOW_TAG; }
|
||||
PARAMETRIZE { species = SPECIES_CRANIDOS, ability = ABILITY_MOLD_BREAKER; }
|
||||
PARAMETRIZE { species = SPECIES_ZEKROM, ability = ABILITY_TERAVOLT; }
|
||||
PARAMETRIZE { species = SPECIES_RESHIRAM, ability = ABILITY_TURBOBLAZE; }
|
||||
|
||||
GIVEN {
|
||||
PLAYER(species) { Ability(ability); Level(50); }
|
||||
PLAYER(SPECIES_WOBBUFFET);
|
||||
PLAYER(SPECIES_YVELTAL) { Ability(ABILITY_DARK_AURA); }
|
||||
PLAYER(SPECIES_XERNEAS) { Ability(ABILITY_FAIRY_AURA); }
|
||||
OPPONENT(SPECIES_WOBBUFFET);
|
||||
OPPONENT(SPECIES_WOBBUFFET);
|
||||
OPPONENT(SPECIES_ZYGARDE_50) { Ability(ABILITY_AURA_BREAK); }
|
||||
} WHEN {
|
||||
TURN { MOVE(playerLeft, MOVE_BITE, target: opponentLeft); }
|
||||
TURN { MOVE(playerLeft, MOVE_PLAY_ROUGH, target: opponentLeft); }
|
||||
TURN { MOVE(playerLeft, MOVE_BITE, target: opponentLeft); SWITCH(playerRight, 2); }
|
||||
TURN { MOVE(playerLeft, MOVE_PLAY_ROUGH, target: opponentLeft); SWITCH(playerRight, 3); }
|
||||
TURN { MOVE(playerLeft, MOVE_BITE, target: opponentLeft); SWITCH(playerRight, 2); SWITCH(opponentRight, 2); }
|
||||
TURN { MOVE(playerLeft, MOVE_PLAY_ROUGH, target: opponentLeft); SWITCH(playerRight, 3); }
|
||||
} SCENE {
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_BITE, playerLeft);
|
||||
HP_BAR(opponentLeft, captureDamage: &damage[0]);
|
||||
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_PLAY_ROUGH, playerLeft);
|
||||
HP_BAR(opponentLeft, captureDamage: &damage[1]);
|
||||
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_BITE, playerLeft);
|
||||
HP_BAR(opponentLeft, captureDamage: &damage[2]);
|
||||
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_PLAY_ROUGH, playerLeft);
|
||||
HP_BAR(opponentLeft, captureDamage: &damage[3]);
|
||||
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_BITE, playerLeft);
|
||||
HP_BAR(opponentLeft, captureDamage: &damage[4]);
|
||||
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_PLAY_ROUGH, playerLeft);
|
||||
HP_BAR(opponentLeft, captureDamage: &damage[5]);
|
||||
} THEN {
|
||||
EXPECT_MUL_EQ(damage[0], UQ_4_12(1.33), damage[2]);
|
||||
EXPECT_MUL_EQ(damage[0], UQ_4_12(0.75), damage[4]);
|
||||
EXPECT_MUL_EQ(damage[1], UQ_4_12(1.33), damage[3]);
|
||||
EXPECT_MUL_EQ(damage[1], UQ_4_12(0.75), damage[5]);
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user