shithub: pokecrystal

Download patch

ref: 57fc81d44e1f26b8895d37c9d847400851a8f8b4
parent: 53bcd8f46ca4f78381af70f55d03f3180be277de
author: Hyperdriveguy <hyperdriveguy@gmail.com>
date: Fri Jul 20 13:39:53 EDT 2018

Add Counter and Mirror Coat bugfix

--- a/docs/bugs_and_glitches.md
+++ b/docs/bugs_and_glitches.md
@@ -246,7 +246,35 @@
 
 ([Video](https://www.youtube.com/watch?v=uRYyzKRatFk))
 
-*To do:* Identify specific code causing this bug and fix it.
+This is a bug with `BattleCommand_Counter` in [engine/battle/move_effects/counter.asm](/engine/battle/move_effects/counter.asm) and `BattleCommand_MirrorCoat` in [engine/battle/move_effects/mirror_coat.asm](/engine/battle/move_effects/mirror_coat.asm):
+
+```asm
+	; BUG: Move should fail with all non-damaging battle actions
+	ld hl, wCurDamage
+	ld a, [hli]
+	or [hl]
+	ret z
+```
+
+**Fix:**
+
+```diff
+	ld hl, wCurDamage
+	ld a, [hli]
+	or [hl]
+-	ret z
++	jp z, .failed
+```
+
+Add this to the end of each file:
+
+```diff
++.failed
++	ld a, 1
++	ld [wEffectFailed], a
++	and a
++	ret
+```
 
 
 ## A Disabled but PP Up–enhanced move may not trigger Struggle
--- a/engine/battle/move_effects/counter.asm
+++ b/engine/battle/move_effects/counter.asm
@@ -36,6 +36,7 @@
 	cp SPECIAL
 	ret nc
 
+	; BUG: Move should fail with all non-damaging battle actions
 	ld hl, wCurDamage
 	ld a, [hli]
 	or [hl]
--- a/engine/battle/move_effects/mirror_coat.asm
+++ b/engine/battle/move_effects/mirror_coat.asm
@@ -37,6 +37,7 @@
 	cp SPECIAL
 	ret c
 
+	; BUG: Move should fail with all non-damaging battle actions
 	ld hl, wCurDamage
 	ld a, [hli]
 	or [hl]