ref: d79fca8c6e0c3da8782b9952740706bf73e97a17
parent: c57ed5775cfe44e537d26797ed98b6467b4db478
author: ISSOtm <eldredhabert0@gmail.com>
date: Sun Mar 3 19:01:55 EST 2019
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. :')
--- a/docs/bugs_and_glitches.md
+++ b/docs/bugs_and_glitches.md
@@ -387,7 +387,28 @@
([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