diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index a1076e921..cb450c385 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -3650,6 +3650,7 @@ BattleScript_EffectPerishSong:: setbyte gBattlerTarget, 0 BattleScript_PerishSongLoop:: jumpifability BS_TARGET, ABILITY_SOUNDPROOF, BattleScript_PerishSongBlocked + jumpifbyteequal gBattlerAttacker, gBattlerTarget, BattleScript_PerishSongLoopIncrement @ cannot block your own perish song jumpifability BS_ATTACKER, ABILITY_PRANKSTER, BattleScript_PerishSongCheckPrankster goto BattleScript_PerishSongLoopIncrement BattleScript_PerishSongCheckPrankster: diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index c1da44b2e..5abc8a9d5 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -10606,7 +10606,7 @@ static void Cmd_trysetperishsong(void) { if (gStatuses3[i] & STATUS3_PERISH_SONG || gBattleMons[i].ability == ABILITY_SOUNDPROOF - || (GetBattlerAbility(gBattlerAttacker) == ABILITY_PRANKSTER && IS_BATTLER_OF_TYPE(i, TYPE_DARK))) + || (i != gBattlerAttacker && GetBattlerAbility(gBattlerAttacker) == ABILITY_PRANKSTER && IS_BATTLER_OF_TYPE(i, TYPE_DARK))) { notAffectedCount++; }