sovereignx/test/battle/move_effect/psychic_noise.c
Martin Griffin a1d2460372 Enable GF move names by default
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.
2024-04-25 18:40:37 +01:00

73 lines
2.6 KiB
C

#include "global.h"
#include "test/battle.h"
ASSUMPTIONS
{
ASSUME(MoveHasAdditionalEffect(MOVE_PSYCHIC_NOISE, MOVE_EFFECT_PSYCHIC_NOISE));
ASSUME(gMovesInfo[MOVE_RECOVER].effect == EFFECT_RESTORE_HP);
}
SINGLE_BATTLE_TEST("Psychic Noise blocks healing moves for 2 turns")
{
GIVEN {
PLAYER(SPECIES_WOBBUFFET);
OPPONENT(SPECIES_WOBBUFFET);
} WHEN {
TURN { MOVE(player, MOVE_PSYCHIC_NOISE); MOVE(opponent, MOVE_RECOVER); }
TURN { MOVE(opponent, MOVE_RECOVER, allowed: FALSE); }
TURN { MOVE(opponent, MOVE_RECOVER); }
} SCENE {
ANIMATION(ANIM_TYPE_MOVE, MOVE_PSYCHIC_NOISE, player);
MESSAGE("Foe Wobbuffet was prevented from healing!");
MESSAGE("Foe Wobbuffet was prevented from healing!");
ANIMATION(ANIM_TYPE_MOVE, MOVE_STRUGGLE, opponent);
MESSAGE("Foe Wobbuffet's Heal Block wore off!");
ANIMATION(ANIM_TYPE_MOVE, MOVE_RECOVER, opponent);
}
}
SINGLE_BATTLE_TEST("Psychic Noise is blocked by Soundproof")
{
GIVEN {
PLAYER(SPECIES_WOBBUFFET);
OPPONENT(SPECIES_VOLTORB) { HP(1); Ability(ABILITY_SOUNDPROOF); }
} WHEN {
TURN { MOVE(player, MOVE_PSYCHIC_NOISE); MOVE(opponent, MOVE_RECOVER); }
} SCENE {
ABILITY_POPUP(opponent, ABILITY_SOUNDPROOF);
MESSAGE("Foe Voltorb's Soundproof blocks Psychic Noise!");
ANIMATION(ANIM_TYPE_MOVE, MOVE_RECOVER, opponent);
}
}
SINGLE_BATTLE_TEST("Psychic Noise heal block effect is blocked by Aroma Veil")
{
GIVEN {
PLAYER(SPECIES_WOBBUFFET);
OPPONENT(SPECIES_MILCERY) { Ability(ABILITY_AROMA_VEIL); }
} WHEN {
TURN { MOVE(player, MOVE_PSYCHIC_NOISE); MOVE(opponent, MOVE_RECOVER); }
} SCENE {
ANIMATION(ANIM_TYPE_MOVE, MOVE_PSYCHIC_NOISE, player);
ABILITY_POPUP(opponent, ABILITY_AROMA_VEIL);
MESSAGE("Foe Milcery is protected by an aromatic veil!");
ANIMATION(ANIM_TYPE_MOVE, MOVE_RECOVER, opponent);
}
}
DOUBLE_BATTLE_TEST("Psychic Noise heal block effect is blocked by partners Aroma Veil in doubles")
{
GIVEN {
PLAYER(SPECIES_WOBBUFFET);
PLAYER(SPECIES_WOBBUFFET);
OPPONENT(SPECIES_WOBBUFFET);
OPPONENT(SPECIES_MILCERY) { Ability(ABILITY_AROMA_VEIL); }
} WHEN {
TURN { MOVE(playerLeft, MOVE_PSYCHIC_NOISE, target: opponentLeft); MOVE(opponentLeft, MOVE_RECOVER); }
} SCENE {
ANIMATION(ANIM_TYPE_MOVE, MOVE_PSYCHIC_NOISE, playerLeft);
ABILITY_POPUP(opponentRight, ABILITY_AROMA_VEIL);
MESSAGE("Foe Wobbuffet is protected by an aromatic veil!");
ANIMATION(ANIM_TYPE_MOVE, MOVE_RECOVER, opponentLeft);
}
}