mirror of
https://github.com/rh-hideout/pokeemerald-expansion.git
synced 2026-03-21 18:04:50 -05:00
46 lines
1.9 KiB
C
46 lines
1.9 KiB
C
#include "global.h"
|
|
#include "test/battle.h"
|
|
|
|
SINGLE_BATTLE_TEST("Hadron Engine creates Electric Terrain when entering the battle")
|
|
{
|
|
GIVEN {
|
|
PLAYER(SPECIES_MIRAIDON) { Ability(ABILITY_HADRON_ENGINE); }
|
|
OPPONENT(SPECIES_WOBBUFFET);
|
|
} WHEN {
|
|
TURN {}
|
|
} SCENE {
|
|
ABILITY_POPUP(player, ABILITY_HADRON_ENGINE);
|
|
MESSAGE("An electric current ran across the battlefield!");
|
|
}
|
|
}
|
|
|
|
SINGLE_BATTLE_TEST("Hadron Engine boosts the Pokemon's Special Attack on Electric Terrain even if not grounded", s16 damage)
|
|
{
|
|
bool32 overrideTerrain, airBalloon;
|
|
|
|
PARAMETRIZE { airBalloon = FALSE; overrideTerrain = TRUE; }
|
|
PARAMETRIZE { airBalloon = FALSE; overrideTerrain = FALSE; }
|
|
PARAMETRIZE { airBalloon = TRUE; overrideTerrain = TRUE; }
|
|
PARAMETRIZE { airBalloon = TRUE; overrideTerrain = FALSE; }
|
|
|
|
GIVEN {
|
|
ASSUME(gItemsInfo[ITEM_AIR_BALLOON].holdEffect == HOLD_EFFECT_AIR_BALLOON);
|
|
ASSUME(GetMoveEffect(MOVE_GRASSY_TERRAIN) == EFFECT_GRASSY_TERRAIN);
|
|
ASSUME(GetMoveCategory(MOVE_POWER_GEM) == DAMAGE_CATEGORY_SPECIAL);
|
|
PLAYER(SPECIES_MIRAIDON) { Ability(ABILITY_HADRON_ENGINE); Moves(MOVE_POWER_GEM, MOVE_CELEBRATE); Item(airBalloon ? ITEM_AIR_BALLOON : ITEM_NONE); Speed(1); }
|
|
OPPONENT(SPECIES_WOBBUFFET) { Moves(MOVE_GRASSY_TERRAIN, MOVE_CELEBRATE); Speed(2); }
|
|
} WHEN {
|
|
if (overrideTerrain)
|
|
TURN { MOVE(opponent, MOVE_GRASSY_TERRAIN); }
|
|
TURN { MOVE(player, MOVE_POWER_GEM); }
|
|
} SCENE {
|
|
if (overrideTerrain)
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_GRASSY_TERRAIN, opponent);
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_POWER_GEM, player);
|
|
HP_BAR(opponent, captureDamage: &results[i].damage);
|
|
} FINALLY {
|
|
EXPECT_MUL_EQ(results[0].damage, Q_4_12(1.3333), results[1].damage);
|
|
EXPECT_MUL_EQ(results[2].damage, Q_4_12(1.3333), results[3].damage);
|
|
}
|
|
}
|