a1d2460372
In contests, even FONT_NARROWER isn't sufficient to prevent clipping in all cases. e.g. Stomping Tantrum clips. We have decided to accept that cost to make the rest of the user experience better, but downstream projects that don't like that trade-off can either a) alter the contest UI, or b) set B_EXPANDED_MOVE_NAMES to FALSE.
91 lines
3.1 KiB
C
91 lines
3.1 KiB
C
#include "global.h"
|
|
#include "test/battle.h"
|
|
|
|
SINGLE_BATTLE_TEST("Electric Terrain protects grounded battlers from falling asleep")
|
|
{
|
|
GIVEN {
|
|
PLAYER(SPECIES_WOBBUFFET);
|
|
OPPONENT(SPECIES_CLAYDOL) { Ability(ABILITY_LEVITATE); }
|
|
} WHEN {
|
|
TURN { MOVE(player, MOVE_ELECTRIC_TERRAIN); MOVE(opponent, MOVE_SPORE); }
|
|
TURN { MOVE(player, MOVE_SPORE); }
|
|
} SCENE {
|
|
MESSAGE("Wobbuffet used Electric Terrain!");
|
|
MESSAGE("Foe Claydol used Spore!");
|
|
MESSAGE("Wobbuffet surrounds itself with electrified terrain!");
|
|
MESSAGE("Wobbuffet used Spore!");
|
|
MESSAGE("Foe Claydol fell asleep!");
|
|
STATUS_ICON(opponent, sleep: TRUE);
|
|
}
|
|
}
|
|
|
|
SINGLE_BATTLE_TEST("Electric Terrain activates Electric Seed and Mimicry")
|
|
{
|
|
GIVEN {
|
|
ASSUME(gItemsInfo[ITEM_ELECTRIC_SEED].holdEffect == HOLD_EFFECT_SEEDS);
|
|
ASSUME(gItemsInfo[ITEM_ELECTRIC_SEED].holdEffectParam == HOLD_EFFECT_PARAM_ELECTRIC_TERRAIN);
|
|
PLAYER(SPECIES_WOBBUFFET) { Item(ITEM_ELECTRIC_SEED); }
|
|
OPPONENT(SPECIES_STUNFISK_GALARIAN) { Ability(ABILITY_MIMICRY); }
|
|
} WHEN {
|
|
TURN { MOVE(player, MOVE_ELECTRIC_TERRAIN); }
|
|
} SCENE {
|
|
ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player);
|
|
MESSAGE("Using Electric Seed, the Defense of Wobbuffet rose!");
|
|
ABILITY_POPUP(opponent);
|
|
MESSAGE("Foe Stunfisk's type changed to Electr!");
|
|
} THEN {
|
|
EXPECT_EQ(gBattleMons[B_POSITION_OPPONENT_LEFT].type1, TYPE_ELECTRIC);
|
|
}
|
|
}
|
|
|
|
SINGLE_BATTLE_TEST("Electric Terrain increases power of Electric-type moves by 30/50 percent", s16 damage)
|
|
{
|
|
bool32 terrain;
|
|
PARAMETRIZE { terrain = FALSE; }
|
|
PARAMETRIZE { terrain = TRUE; }
|
|
GIVEN {
|
|
PLAYER(SPECIES_WOBBUFFET);
|
|
OPPONENT(SPECIES_WOBBUFFET);
|
|
} WHEN {
|
|
if (terrain)
|
|
TURN { MOVE(player, MOVE_ELECTRIC_TERRAIN); }
|
|
TURN { MOVE(player, MOVE_THUNDER_SHOCK); }
|
|
} SCENE {
|
|
MESSAGE("Wobbuffet used Thunder Shock!");
|
|
HP_BAR(opponent, captureDamage: &results[i].damage);
|
|
} FINALLY {
|
|
if (B_TERRAIN_TYPE_BOOST >= GEN_8)
|
|
EXPECT_MUL_EQ(results[0].damage, Q_4_12(1.3), results[1].damage);
|
|
else
|
|
EXPECT_MUL_EQ(results[0].damage, Q_4_12(1.5), results[1].damage);
|
|
}
|
|
}
|
|
|
|
SINGLE_BATTLE_TEST("Electric Terrain lasts for 5 turns")
|
|
{
|
|
GIVEN {
|
|
PLAYER(SPECIES_WOBBUFFET);
|
|
OPPONENT(SPECIES_WOBBUFFET);
|
|
} WHEN {
|
|
TURN { MOVE(opponent, MOVE_CELEBRATE); MOVE(player, MOVE_ELECTRIC_TERRAIN); }
|
|
TURN {}
|
|
TURN {}
|
|
TURN {}
|
|
TURN {}
|
|
} SCENE {
|
|
MESSAGE("Foe Wobbuffet used Celebrate!");
|
|
ANIMATION(ANIM_TYPE_MOVE, MOVE_ELECTRIC_TERRAIN, player);
|
|
MESSAGE("An electric current runs across the battlefield!");
|
|
|
|
MESSAGE("Wobbuffet used Celebrate!");
|
|
MESSAGE("Foe Wobbuffet used Celebrate!");
|
|
|
|
MESSAGE("Wobbuffet used Celebrate!");
|
|
MESSAGE("Foe Wobbuffet used Celebrate!");
|
|
|
|
MESSAGE("Wobbuffet used Celebrate!");
|
|
MESSAGE("Foe Wobbuffet used Celebrate!");
|
|
|
|
MESSAGE("The electricity disappeared from the battlefield.");
|
|
}
|
|
}
|