Added some TO_DO tests (#6140)
Co-authored-by: Hedara <hedara90@gmail.com>
This commit is contained in:
parent
392a16651b
commit
d0bd82452f
@ -1,15 +1,198 @@
|
||||
#include "global.h"
|
||||
#include "test/battle.h"
|
||||
|
||||
TO_DO_BATTLE_TEST("Aroma Veil protects the Pokémon's side from Taunt");
|
||||
TO_DO_BATTLE_TEST("Aroma Veil protects the Pokémon's side from Torment");
|
||||
TO_DO_BATTLE_TEST("Aroma Veil protects the Pokémon's side from Encore");
|
||||
TO_DO_BATTLE_TEST("Aroma Veil protects the Pokémon's side from Disable");
|
||||
TO_DO_BATTLE_TEST("Aroma Veil protects the Pokémon's side from Cursed Body");
|
||||
TO_DO_BATTLE_TEST("Aroma Veil protects the Pokémon's side from Heal Block");
|
||||
TO_DO_BATTLE_TEST("Aroma Veil protects the Pokémon's side from Infatuation");
|
||||
TO_DO_BATTLE_TEST("Aroma Veil does not protect the Pokémon's side from Imprison");
|
||||
DOUBLE_BATTLE_TEST("Aroma Veil protects the Pokémon's side from Taunt")
|
||||
{
|
||||
struct BattlePokemon *moveTarget = NULL;
|
||||
PARAMETRIZE { moveTarget = playerLeft; }
|
||||
PARAMETRIZE { moveTarget = playerRight; }
|
||||
GIVEN {
|
||||
ASSUME(gMovesInfo[MOVE_TAUNT].effect == EFFECT_TAUNT);
|
||||
ASSUME(gMovesInfo[MOVE_HARDEN].category == DAMAGE_CATEGORY_STATUS);
|
||||
PLAYER(SPECIES_AROMATISSE) { Ability(ABILITY_AROMA_VEIL); }
|
||||
PLAYER(SPECIES_WOBBUFFET);
|
||||
OPPONENT(SPECIES_WOBBUFFET);
|
||||
OPPONENT(SPECIES_WYNAUT);
|
||||
} WHEN {
|
||||
TURN { MOVE(opponentLeft, MOVE_TAUNT, target: moveTarget); MOVE(moveTarget, MOVE_HARDEN); }
|
||||
} SCENE {
|
||||
NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_TAUNT, opponentLeft);
|
||||
ABILITY_POPUP(playerLeft, ABILITY_AROMA_VEIL);
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_HARDEN, moveTarget);
|
||||
}
|
||||
}
|
||||
|
||||
DOUBLE_BATTLE_TEST("Aroma Veil protects the Pokémon's side from Torment")
|
||||
{
|
||||
struct BattlePokemon *moveTarget = NULL;
|
||||
PARAMETRIZE { moveTarget = playerLeft; }
|
||||
PARAMETRIZE { moveTarget = playerRight; }
|
||||
GIVEN {
|
||||
ASSUME(gMovesInfo[MOVE_TORMENT].effect == EFFECT_TORMENT);
|
||||
ASSUME(gMovesInfo[MOVE_HARDEN].category == DAMAGE_CATEGORY_STATUS);
|
||||
PLAYER(SPECIES_AROMATISSE) { Ability(ABILITY_AROMA_VEIL); }
|
||||
PLAYER(SPECIES_WOBBUFFET);
|
||||
OPPONENT(SPECIES_WOBBUFFET);
|
||||
OPPONENT(SPECIES_WYNAUT);
|
||||
} WHEN {
|
||||
TURN { MOVE(opponentLeft, MOVE_TORMENT, target: moveTarget); MOVE(moveTarget, MOVE_HARDEN); }
|
||||
TURN { MOVE(moveTarget, MOVE_HARDEN); }
|
||||
} SCENE {
|
||||
NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_TORMENT, opponentLeft);
|
||||
ABILITY_POPUP(playerLeft, ABILITY_AROMA_VEIL);
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_HARDEN, moveTarget);
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_HARDEN, moveTarget);
|
||||
}
|
||||
}
|
||||
|
||||
DOUBLE_BATTLE_TEST("Aroma Veil protects the Pokémon's side from Encore")
|
||||
{
|
||||
struct BattlePokemon *moveTarget = NULL;
|
||||
PARAMETRIZE { moveTarget = playerLeft; }
|
||||
PARAMETRIZE { moveTarget = playerRight; }
|
||||
GIVEN {
|
||||
ASSUME(gMovesInfo[MOVE_ENCORE].effect == EFFECT_ENCORE);
|
||||
ASSUME(gMovesInfo[MOVE_HARDEN].category == DAMAGE_CATEGORY_STATUS);
|
||||
PLAYER(SPECIES_AROMATISSE) { Ability(ABILITY_AROMA_VEIL); }
|
||||
PLAYER(SPECIES_WOBBUFFET);
|
||||
OPPONENT(SPECIES_WOBBUFFET);
|
||||
OPPONENT(SPECIES_WYNAUT);
|
||||
} WHEN {
|
||||
TURN { MOVE(opponentLeft, MOVE_ENCORE, target: moveTarget); MOVE(moveTarget, MOVE_HARDEN); }
|
||||
TURN { MOVE(moveTarget, MOVE_CELEBRATE); }
|
||||
} SCENE {
|
||||
NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_ENCORE, opponentLeft);
|
||||
ABILITY_POPUP(playerLeft, ABILITY_AROMA_VEIL);
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_HARDEN, moveTarget);
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, moveTarget);
|
||||
}
|
||||
}
|
||||
|
||||
DOUBLE_BATTLE_TEST("Aroma Veil protects the Pokémon's side from Disable")
|
||||
{
|
||||
struct BattlePokemon *moveTarget = NULL;
|
||||
PARAMETRIZE { moveTarget = playerLeft; }
|
||||
PARAMETRIZE { moveTarget = playerRight; }
|
||||
GIVEN {
|
||||
ASSUME(gMovesInfo[MOVE_DISABLE].effect == EFFECT_DISABLE);
|
||||
ASSUME(gMovesInfo[MOVE_HARDEN].category == DAMAGE_CATEGORY_STATUS);
|
||||
PLAYER(SPECIES_AROMATISSE) { Ability(ABILITY_AROMA_VEIL); }
|
||||
PLAYER(SPECIES_WOBBUFFET);
|
||||
OPPONENT(SPECIES_WOBBUFFET);
|
||||
OPPONENT(SPECIES_WYNAUT);
|
||||
} WHEN {
|
||||
TURN { MOVE(opponentLeft, MOVE_DISABLE, target: moveTarget); MOVE(moveTarget, MOVE_HARDEN); }
|
||||
TURN { MOVE(moveTarget, MOVE_HARDEN); }
|
||||
} SCENE {
|
||||
NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_DISABLE, opponentLeft);
|
||||
ABILITY_POPUP(playerLeft, ABILITY_AROMA_VEIL);
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_HARDEN, moveTarget);
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_HARDEN, moveTarget);
|
||||
}
|
||||
}
|
||||
|
||||
DOUBLE_BATTLE_TEST("Aroma Veil protects the Pokémon's side from Cursed Body")
|
||||
{
|
||||
GIVEN {
|
||||
ASSUME(gMovesInfo[MOVE_PECK].makesContact);
|
||||
PLAYER(SPECIES_AROMATISSE) { Ability(ABILITY_AROMA_VEIL); }
|
||||
PLAYER(SPECIES_WOBBUFFET);
|
||||
OPPONENT(SPECIES_JELLICENT) { Ability(ABILITY_CURSED_BODY); }
|
||||
OPPONENT(SPECIES_WYNAUT);
|
||||
} WHEN {
|
||||
TURN { MOVE(playerLeft, MOVE_PECK, target: opponentLeft); MOVE(playerRight, MOVE_PECK, target: opponentLeft); }
|
||||
TURN { MOVE(playerLeft, MOVE_PECK, target: opponentLeft); MOVE(playerRight, MOVE_PECK, target: opponentLeft); }
|
||||
} SCENE {
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_PECK, playerLeft);
|
||||
NOT ABILITY_POPUP(opponentLeft, ABILITY_CURSED_BODY);
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_PECK, playerRight);
|
||||
NOT ABILITY_POPUP(opponentLeft, ABILITY_CURSED_BODY);
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_PECK, playerLeft);
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_PECK, playerRight);
|
||||
}
|
||||
}
|
||||
|
||||
DOUBLE_BATTLE_TEST("Aroma Veil protects the Pokémon's side from Heal Block")
|
||||
{
|
||||
struct BattlePokemon *moveTarget = NULL;
|
||||
PARAMETRIZE { moveTarget = playerLeft; }
|
||||
PARAMETRIZE { moveTarget = playerRight; }
|
||||
GIVEN {
|
||||
ASSUME(gMovesInfo[MOVE_HEAL_BLOCK].effect == EFFECT_HEAL_BLOCK);
|
||||
ASSUME(gMovesInfo[MOVE_RECOVER].effect == EFFECT_RESTORE_HP);
|
||||
PLAYER(SPECIES_AROMATISSE) { Ability(ABILITY_AROMA_VEIL); HP(1); }
|
||||
PLAYER(SPECIES_WOBBUFFET) { HP(1); }
|
||||
OPPONENT(SPECIES_WOBBUFFET);
|
||||
OPPONENT(SPECIES_WYNAUT);
|
||||
} WHEN {
|
||||
TURN { MOVE(opponentLeft, MOVE_HEAL_BLOCK, target: moveTarget); MOVE(moveTarget, MOVE_RECOVER); }
|
||||
} SCENE {
|
||||
NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_HEAL_BLOCK, opponentLeft);
|
||||
ABILITY_POPUP(playerLeft, ABILITY_AROMA_VEIL);
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_RECOVER, moveTarget);
|
||||
}
|
||||
}
|
||||
|
||||
DOUBLE_BATTLE_TEST("Aroma Veil protects the Pokémon's side from Infatuation")
|
||||
{
|
||||
struct BattlePokemon *moveTarget = NULL;
|
||||
PARAMETRIZE { moveTarget = playerLeft; }
|
||||
PARAMETRIZE { moveTarget = playerRight; }
|
||||
GIVEN {
|
||||
ASSUME(gMovesInfo[MOVE_ATTRACT].effect == EFFECT_ATTRACT);
|
||||
PLAYER(SPECIES_AROMATISSE) { Ability(ABILITY_AROMA_VEIL); }
|
||||
PLAYER(SPECIES_WOBBUFFET);
|
||||
OPPONENT(SPECIES_WOBBUFFET);
|
||||
OPPONENT(SPECIES_WYNAUT);
|
||||
} WHEN {
|
||||
TURN { MOVE(opponentLeft, MOVE_ATTRACT, target: moveTarget); MOVE(moveTarget, MOVE_CELEBRATE); }
|
||||
} SCENE {
|
||||
NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_ATTRACT, opponentLeft);
|
||||
ABILITY_POPUP(playerLeft, ABILITY_AROMA_VEIL);
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, moveTarget);
|
||||
}
|
||||
}
|
||||
|
||||
DOUBLE_BATTLE_TEST("Aroma Veil does not protect the Pokémon's side from Imprison")
|
||||
{
|
||||
GIVEN {
|
||||
ASSUME(gMovesInfo[MOVE_IMPRISON].effect == EFFECT_IMPRISON);
|
||||
PLAYER(SPECIES_AROMATISSE) { Ability(ABILITY_AROMA_VEIL); }
|
||||
PLAYER(SPECIES_WOBBUFFET);
|
||||
OPPONENT(SPECIES_WOBBUFFET) {Moves(MOVE_IMPRISON, MOVE_CELEBRATE); }
|
||||
OPPONENT(SPECIES_WYNAUT);
|
||||
} WHEN {
|
||||
TURN { MOVE(opponentLeft, MOVE_IMPRISON); MOVE(playerLeft, MOVE_CELEBRATE); MOVE(playerRight, MOVE_CELEBRATE); MOVE(opponentRight, MOVE_SPLASH); }
|
||||
} SCENE {
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_IMPRISON, opponentLeft);
|
||||
NONE_OF {
|
||||
ABILITY_POPUP(playerLeft, ABILITY_AROMA_VEIL);
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, playerLeft);
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, playerRight);
|
||||
}
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_SPLASH, opponentRight);
|
||||
}
|
||||
}
|
||||
|
||||
DOUBLE_BATTLE_TEST("Aroma Veil prevents Psychic Noise's effect")
|
||||
{
|
||||
struct BattlePokemon *moveTarget = NULL;
|
||||
PARAMETRIZE { moveTarget = playerLeft; }
|
||||
PARAMETRIZE { moveTarget = playerRight; }
|
||||
GIVEN {
|
||||
ASSUME(gMovesInfo[MOVE_PSYCHIC_NOISE].additionalEffects[0].moveEffect == MOVE_EFFECT_PSYCHIC_NOISE);
|
||||
PLAYER(SPECIES_AROMATISSE) { Ability(ABILITY_AROMA_VEIL); }
|
||||
PLAYER(SPECIES_WOBBUFFET);
|
||||
OPPONENT(SPECIES_WOBBUFFET);
|
||||
OPPONENT(SPECIES_WYNAUT);
|
||||
} WHEN {
|
||||
TURN { MOVE(opponentLeft, MOVE_PSYCHIC_NOISE, target: moveTarget); MOVE(moveTarget, MOVE_RECOVER); }
|
||||
} SCENE {
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_PSYCHIC_NOISE, opponentLeft);
|
||||
ABILITY_POPUP(playerLeft, ABILITY_AROMA_VEIL);
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_RECOVER, moveTarget);
|
||||
}
|
||||
}
|
||||
|
||||
// Marked in Bulbapedia as need of research
|
||||
//TO_DO_BATTLE_TEST("Aroma Veil prevents G-Max Meltdown's effect");
|
||||
//TO_DO_BATTLE_TEST("Aroma Veil prevents Psychic Noise's effect");
|
||||
|
||||
@ -1,6 +1,50 @@
|
||||
#include "global.h"
|
||||
#include "test/battle.h"
|
||||
|
||||
TO_DO_BATTLE_TEST("Chlorophyll doubles speed if it's sunny");
|
||||
TO_DO_BATTLE_TEST("Chlorophyll doesn't double speed if Cloud Nine/Air Lock is on the field");
|
||||
TO_DO_BATTLE_TEST("Chlorophyll doesn't double speed if they have an Utility Umbrella");
|
||||
SINGLE_BATTLE_TEST("Chlorophyll doubles speed if it's sunny")
|
||||
{
|
||||
GIVEN {
|
||||
PLAYER(SPECIES_VENUSAUR) { Ability(ABILITY_CHLOROPHYLL); Speed(100); }
|
||||
OPPONENT(SPECIES_WOBBUFFET) { Speed(199); }
|
||||
} WHEN {
|
||||
TURN { MOVE(opponent, MOVE_CELEBRATE); MOVE(player, MOVE_SUNNY_DAY); }
|
||||
TURN { MOVE(player, MOVE_CELEBRATE); MOVE(opponent, MOVE_CELEBRATE); }
|
||||
} SCENE {
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, opponent);
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_SUNNY_DAY, player);
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, player);
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, opponent);
|
||||
}
|
||||
}
|
||||
|
||||
SINGLE_BATTLE_TEST("Chlorophyll doesn't double speed if Cloud Nine/Air Lock is on the field")
|
||||
{
|
||||
GIVEN {
|
||||
PLAYER(SPECIES_VENUSAUR) { Ability(ABILITY_CHLOROPHYLL); Speed(100); }
|
||||
OPPONENT(SPECIES_GOLDUCK) { Speed(199); Ability(ABILITY_CLOUD_NINE); }
|
||||
} WHEN {
|
||||
TURN { MOVE(opponent, MOVE_CELEBRATE); MOVE(player, MOVE_SUNNY_DAY); }
|
||||
TURN { MOVE(opponent, MOVE_CELEBRATE); MOVE(player, MOVE_CELEBRATE); }
|
||||
} SCENE {
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, opponent);
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_SUNNY_DAY, player);
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, opponent);
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, player);
|
||||
}
|
||||
}
|
||||
|
||||
SINGLE_BATTLE_TEST("Chlorophyll doesn't double speed if they have an Utility Umbrella")
|
||||
{
|
||||
GIVEN {
|
||||
PLAYER(SPECIES_VENUSAUR) { Ability(ABILITY_CHLOROPHYLL); Speed(100); Item(ITEM_UTILITY_UMBRELLA); }
|
||||
OPPONENT(SPECIES_WOBBUFFET) { Speed(199); }
|
||||
} WHEN {
|
||||
TURN { MOVE(opponent, MOVE_CELEBRATE); MOVE(player, MOVE_SUNNY_DAY); }
|
||||
TURN { MOVE(opponent, MOVE_CELEBRATE); MOVE(player, MOVE_CELEBRATE); }
|
||||
} SCENE {
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, opponent);
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_SUNNY_DAY, player);
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, opponent);
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, player);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,4 +1,15 @@
|
||||
#include "global.h"
|
||||
#include "test/battle.h"
|
||||
|
||||
TO_DO_BATTLE_TEST("Electric Surge creates Electric Terrain when entering the battle");
|
||||
SINGLE_BATTLE_TEST("Electric Surge creates Electric Terrain when entering the battle")
|
||||
{
|
||||
GIVEN {
|
||||
PLAYER(SPECIES_TAPU_KOKO) { Ability(ABILITY_ELECTRIC_SURGE); }
|
||||
OPPONENT(SPECIES_WOBBUFFET);
|
||||
} WHEN {
|
||||
TURN {}
|
||||
} SCENE {
|
||||
ABILITY_POPUP(player, ABILITY_ELECTRIC_SURGE);
|
||||
MESSAGE("An electric current ran across the battlefield!");
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,4 +1,15 @@
|
||||
#include "global.h"
|
||||
#include "test/battle.h"
|
||||
|
||||
TO_DO_BATTLE_TEST("Grassy Surge creates Grassy Terrain when entering the battle");
|
||||
SINGLE_BATTLE_TEST("Grassy Surge creates Grassy Terrain when entering the battle")
|
||||
{
|
||||
GIVEN {
|
||||
PLAYER(SPECIES_TAPU_BULU) { Ability(ABILITY_GRASSY_SURGE); }
|
||||
OPPONENT(SPECIES_WOBBUFFET);
|
||||
} WHEN {
|
||||
TURN {}
|
||||
} SCENE {
|
||||
ABILITY_POPUP(player, ABILITY_GRASSY_SURGE);
|
||||
MESSAGE("Grass grew to cover the battlefield!");
|
||||
}
|
||||
}
|
||||
|
||||
@ -15,4 +15,15 @@ SINGLE_BATTLE_TEST("Hydration cures non-volatile Status conditions if it is rain
|
||||
}
|
||||
}
|
||||
|
||||
TO_DO_BATTLE_TEST("Hydration doesn't cure status conditions if Cloud Nine/Air Lock is on the field");
|
||||
SINGLE_BATTLE_TEST("Hydration doesn't cure status conditions if Cloud Nine/Air Lock is on the field")
|
||||
{
|
||||
GIVEN {
|
||||
PLAYER(SPECIES_VAPOREON) { Ability(ABILITY_HYDRATION); Status1(STATUS1_BURN); }
|
||||
OPPONENT(SPECIES_GOLDUCK) { Ability(ABILITY_CLOUD_NINE); }
|
||||
} WHEN {
|
||||
TURN { MOVE(player, MOVE_RAIN_DANCE); }
|
||||
} SCENE {
|
||||
NOT ABILITY_POPUP(player, ABILITY_HYDRATION);
|
||||
MESSAGE("Vaporeon was hurt by its burn!");
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,4 +1,15 @@
|
||||
#include "global.h"
|
||||
#include "test/battle.h"
|
||||
|
||||
TO_DO_BATTLE_TEST("Misty Surge creates Misty Terrain when entering the battle");
|
||||
SINGLE_BATTLE_TEST("Misty Surge creates Misty Terrain when entering the battle")
|
||||
{
|
||||
GIVEN {
|
||||
PLAYER(SPECIES_TAPU_FINI) { Ability(ABILITY_MISTY_SURGE); }
|
||||
OPPONENT(SPECIES_WOBBUFFET);
|
||||
} WHEN {
|
||||
TURN {}
|
||||
} SCENE {
|
||||
ABILITY_POPUP(player, ABILITY_MISTY_SURGE);
|
||||
MESSAGE("Mist swirled around the battlefield!");
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,4 +1,15 @@
|
||||
#include "global.h"
|
||||
#include "test/battle.h"
|
||||
|
||||
TO_DO_BATTLE_TEST("Psychic Surge creates Psychic Terrain when entering the battle");
|
||||
SINGLE_BATTLE_TEST("Psychic Surge creates Psychic Terrain when entering the battle")
|
||||
{
|
||||
GIVEN {
|
||||
PLAYER(SPECIES_TAPU_LELE) { Ability(ABILITY_PSYCHIC_SURGE); }
|
||||
OPPONENT(SPECIES_WOBBUFFET);
|
||||
} WHEN {
|
||||
TURN {}
|
||||
} SCENE {
|
||||
ABILITY_POPUP(player, ABILITY_PSYCHIC_SURGE);
|
||||
MESSAGE("The battlefield got weird!");
|
||||
}
|
||||
}
|
||||
|
||||
@ -28,5 +28,30 @@ SINGLE_BATTLE_TEST("Snow Cloak increases evasion during hail")
|
||||
}
|
||||
}
|
||||
|
||||
TO_DO_BATTLE_TEST("Snow Cloak doesn't prevent hail damage if Cloud Nine/Air Lock is on the field");
|
||||
TO_DO_BATTLE_TEST("Snow Cloak doesn't increase evasion if Cloud Nine/Air Lock is on the field");
|
||||
SINGLE_BATTLE_TEST("Snow Cloak doesn't increase evasion if Cloud Nine/Air Lock is on the field")
|
||||
{
|
||||
PASSES_RANDOMLY(10, 10, RNG_ACCURACY);
|
||||
GIVEN {
|
||||
PLAYER(SPECIES_GLACEON) { Ability(ABILITY_SNOW_CLOAK); }
|
||||
OPPONENT(SPECIES_GOLDUCK) { Ability(ABILITY_CLOUD_NINE); }
|
||||
} WHEN {
|
||||
TURN { MOVE(player, MOVE_HAIL); MOVE(opponent, MOVE_TACKLE); }
|
||||
} SCENE {
|
||||
HP_BAR(player);
|
||||
}
|
||||
}
|
||||
|
||||
SINGLE_BATTLE_TEST("Snow Cloak increases evasion during snow")
|
||||
{
|
||||
PASSES_RANDOMLY(4, 5, RNG_ACCURACY);
|
||||
GIVEN {
|
||||
ASSUME(gMovesInfo[MOVE_POUND].accuracy == 100);
|
||||
PLAYER(SPECIES_GLACEON) { Ability(ABILITY_SNOW_CLOAK); }
|
||||
OPPONENT(SPECIES_WOBBUFFET);
|
||||
} WHEN {
|
||||
TURN { MOVE(opponent, MOVE_SNOWSCAPE); }
|
||||
TURN { MOVE(opponent, MOVE_POUND); }
|
||||
} SCENE {
|
||||
HP_BAR(player);
|
||||
}
|
||||
}
|
||||
|
||||
@ -79,5 +79,3 @@ SINGLE_BATTLE_TEST("Stance Change doesn't change Aegislash to Shield if King's S
|
||||
EXPECT_EQ(player->species, SPECIES_AEGISLASH_BLADE);
|
||||
}
|
||||
}
|
||||
|
||||
TO_DO_BATTLE_TEST("Stance Change doesn't change Aegislash to Shield if King's Shield is called by a different move - Me First");
|
||||
|
||||
@ -1202,7 +1202,22 @@ DOUBLE_BATTLE_TEST("(DYNAMAX) G-Max Terror traps both opponents")
|
||||
}
|
||||
}
|
||||
|
||||
TO_DO_BATTLE_TEST("(DYNAMAX) Baton Pass passes G-Max Terror's escape prevention effect");
|
||||
SINGLE_BATTLE_TEST("(DYNAMAX) Baton Pass passes G-Max Terror's escape prevention effect")
|
||||
{
|
||||
GIVEN {
|
||||
ASSUME(gMovesInfo[MOVE_G_MAX_TERROR].argument == MAX_EFFECT_MEAN_LOOK);
|
||||
PLAYER(SPECIES_GENGAR) { GigantamaxFactor(TRUE); }
|
||||
OPPONENT(SPECIES_WOBBUFFET);
|
||||
OPPONENT(SPECIES_WYNAUT);
|
||||
} WHEN {
|
||||
TURN { MOVE(player, MOVE_LICK, gimmick: GIMMICK_DYNAMAX); MOVE(opponent, MOVE_BATON_PASS); SEND_OUT(opponent, 1); }
|
||||
} SCENE {
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_G_MAX_TERROR, player);
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_BATON_PASS, opponent);
|
||||
} THEN {
|
||||
EXPECT(opponent->status2 & STATUS2_ESCAPE_PREVENTION);
|
||||
}
|
||||
}
|
||||
|
||||
DOUBLE_BATTLE_TEST("(DYNAMAX) G-Max Meltdown torments both opponents for 3 turns")
|
||||
{
|
||||
@ -1583,4 +1598,4 @@ SINGLE_BATTLE_TEST("(DYNAMAX) Max Moves don't bypass absorbing abilities")
|
||||
}
|
||||
ABILITY_POPUP(opponent, ability);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user