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]