diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 802e9bac56..4648ceb4fb 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -16468,7 +16468,8 @@ void BS_TryRelicSong(void) { NATIVE_ARGS(); - if (GetBattlerAbility(gBattlerAttacker) != ABILITY_SHEER_FORCE && !(gBattleMons[gBattlerAttacker].status2 & STATUS2_TRANSFORMED)) + if (GetBattlerAbility(gBattlerAttacker) != ABILITY_SHEER_FORCE && !(gBattleMons[gBattlerAttacker].status2 & STATUS2_TRANSFORMED) + && (gBattleMons[gBattlerAttacker].species == SPECIES_MELOETTA_ARIA || gBattleMons[gBattlerAttacker].species == SPECIES_MELOETTA_PIROUETTE)) { if (gBattleMons[gBattlerAttacker].species == SPECIES_MELOETTA_ARIA) gBattleMons[gBattlerAttacker].species = SPECIES_MELOETTA_PIROUETTE; @@ -16479,7 +16480,9 @@ void BS_TryRelicSong(void) gBattlescriptCurrInstr = BattleScript_AttackerFormChangeMoveEffect; } else + { gBattlescriptCurrInstr = cmd->nextInstr; + } } void BS_SetPledge(void) diff --git a/test/battle/move_effect/relic_song.c b/test/battle/move_effect/relic_song.c index 52db4a3601..3ea405cc50 100644 --- a/test/battle/move_effect/relic_song.c +++ b/test/battle/move_effect/relic_song.c @@ -85,6 +85,25 @@ SINGLE_BATTLE_TEST("Relic Song transforms Meloetta if used successfully") } } +SINGLE_BATTLE_TEST("Relic Song does not transform Pokemon other than Meloetta") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_RELIC_SONG); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_RELIC_SONG, player); + HP_BAR(opponent); + NONE_OF { + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_FORM_CHANGE, player); + MESSAGE("Wobbuffet transformed!"); + } + } THEN { + EXPECT_EQ(player->species, SPECIES_WOBBUFFET); + } +} + SINGLE_BATTLE_TEST("Relic Song transforms Meloetta twice if used successfully") { GIVEN {