From b6c6cf9cd1bcc2ff46043cb0587fb3f2fb91234d Mon Sep 17 00:00:00 2001 From: FosterProgramming Date: Tue, 25 Nov 2025 13:02:31 +0100 Subject: [PATCH] Add tests to verify aromatherapy is not affected by heal bell config (#8344) --- test/battle/move_effect/heal_bell.c | 50 +++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/test/battle/move_effect/heal_bell.c b/test/battle/move_effect/heal_bell.c index b3f6af0c45..4c86fd11c0 100644 --- a/test/battle/move_effect/heal_bell.c +++ b/test/battle/move_effect/heal_bell.c @@ -164,3 +164,53 @@ SINGLE_BATTLE_TEST("Heal Bell cures a Soundproof user (Gen5, Gen8+)") } } } + +DOUBLE_BATTLE_TEST("Aromatherapy cure Soundproof battlers regardless of config") +{ + u32 ability, config; + + PARAMETRIZE { ability = ABILITY_SOUNDPROOF; config = GEN_4; } + PARAMETRIZE { ability = ABILITY_SOUNDPROOF; config = GEN_5; } + PARAMETRIZE { ability = ABILITY_SOUNDPROOF; config = GEN_6; } + PARAMETRIZE { ability = ABILITY_SOUNDPROOF; config = GEN_8; } + + GIVEN { + ASSUME(!IsSoundMove(MOVE_AROMATHERAPY)); + WITH_CONFIG(GEN_CONFIG_HEAL_BELL_SOUNDPROOF, config); + PLAYER(SPECIES_WOBBUFFET) { Ability(ability); Status1(STATUS1_POISON); }; + PLAYER(SPECIES_EXPLOUD) { Ability(ability); Status1(STATUS1_POISON); } + OPPONENT(SPECIES_WYNAUT); + OPPONENT(SPECIES_WYNAUT); + } WHEN { + TURN { MOVE(playerLeft, MOVE_AROMATHERAPY, target: playerLeft); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_AROMATHERAPY, playerLeft); + NONE_OF { + MESSAGE("Exploud was hurt by its poisoning!"); + MESSAGE("Wobbuffet was hurt by its poisoning!"); + } + } +} + +SINGLE_BATTLE_TEST("Aromatherapy cures inactive Soundproof Pokemon regardless of config") +{ + u32 config, ability; + + PARAMETRIZE { config = GEN_4, ability = ABILITY_SOUNDPROOF; } + PARAMETRIZE { config = GEN_5, ability = ABILITY_SOUNDPROOF; } + + GIVEN { + ASSUME(!IsSoundMove(MOVE_AROMATHERAPY)); + WITH_CONFIG(GEN_CONFIG_HEAL_BELL_SOUNDPROOF, config); + PLAYER(SPECIES_WOBBUFFET) { } + PLAYER(SPECIES_EXPLOUD) { Ability(ability); Status1(STATUS1_POISON); } + OPPONENT(SPECIES_WYNAUT); + } WHEN { + TURN { MOVE(player, MOVE_AROMATHERAPY, target: player); } + TURN { SWITCH(player, 1); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_AROMATHERAPY, player); + SEND_IN_MESSAGE("Exploud"); + NOT MESSAGE("Exploud was hurt by its poisoning!"); + } +}