diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 0615e1239..0939b5b18 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -3878,6 +3878,7 @@ BattleScript_PerishSongLoopIncrement:: goto BattleScript_MoveEnd BattleScript_PerishSongBlocked:: + copybyte sBATTLER, gBattlerTarget printstring STRINGID_PKMNSXBLOCKSY2 waitmessage B_WAIT_TIME_LONG goto BattleScript_PerishSongLoopIncrement diff --git a/src/battle_util.c b/src/battle_util.c index a709aaf9e..cd5997f1f 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -4458,7 +4458,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move } break; case ABILITYEFFECT_MOVES_BLOCK: // 2 - if ((gLastUsedAbility == ABILITY_SOUNDPROOF && gBattleMoves[move].flags & FLAG_SOUND) + if ((gLastUsedAbility == ABILITY_SOUNDPROOF && gBattleMoves[move].flags & FLAG_SOUND && gCurrentMove != MOVE_PERISH_SONG) || (gLastUsedAbility == ABILITY_BULLETPROOF && gBattleMoves[move].flags & FLAG_BALLISTIC)) { if (gBattleMons[gBattlerAttacker].status2 & STATUS2_MULTIPLETURNS)