From d79fca8c6e0c3da8782b9952740706bf73e97a17 Mon Sep 17 00:00:00 2001 From: ISSOtm Date: Mon, 4 Mar 2019 00:01:55 +0100 Subject: [PATCH] Add Pursuit-switching fainting no-status-clearing fix Ridiculously long and stupid name for a bug that took a ridiculous and stupid amount of time to track. :') --- docs/bugs_and_glitches.md | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/docs/bugs_and_glitches.md b/docs/bugs_and_glitches.md index 7b9caf084..10f405865 100644 --- a/docs/bugs_and_glitches.md +++ b/docs/bugs_and_glitches.md @@ -387,7 +387,28 @@ Add this to the end of each file: ([Video](https://www.youtube.com/watch?v=tiRvw-Nb2ME)) -*To do:* Identify specific code causing this bug and fix it. +**Fix:** Edit `PursuitSwitch` in [engine/battle/core.asm](/engine/battle/core.asm) + +```diff + ld a, $f0 + ld [wCryTracks], a + ld a, [wBattleMonSpecies] + call PlayStereoCry ++ ld a, [wCurBattleMon] ++ push af + ld a, [wLastPlayerMon] ++ ld [wCurBattleMon], a ++ call UpdateFaintedPlayerMon ++ pop af ++ ld [wCurBattleMon], a +- ld c, a +- ld hl, wBattleParticipantsNotFainted +- ld b, RESET_FLAG +- predef SmallFarFlagAction + call PlayerMonFaintedAnimation + ld hl, BattleText_MonFainted + jr .done_fainted +``` ## Lock-On and Mind Reader don't always bypass Fly and Dig