ref: 5e9de74735d09b2a43e8d1c6314f2a7839b6e55a
dir: /engine/battle/move_effects/counter.asm/
BattleCommand_Counter: ; counter ld a, 1 ld [wAttackMissed], a ld a, BATTLE_VARS_LAST_COUNTER_MOVE_OPP call GetBattleVar and a ret z ld b, a callfar GetMoveEffect ld a, b cp EFFECT_COUNTER ret z call BattleCommand_ResetTypeMatchup ld a, [wTypeMatchup] and a ret z call CheckOpponentWentFirst ret z ld a, BATTLE_VARS_LAST_COUNTER_MOVE_OPP call GetBattleVar dec a ld de, wStringBuffer1 call GetMoveData ld a, [wStringBuffer1 + MOVE_POWER] and a ret z ld a, [wStringBuffer1 + MOVE_TYPE] cp SPECIAL ret nc ; BUG: Move should fail with all non-damaging battle actions ld hl, wCurDamage ld a, [hli] or [hl] ret z ld a, [hl] add a ld [hld], a ld a, [hl] adc a ld [hl], a jr nc, .capped ld a, $ff ld [hli], a ld [hl], a .capped xor a ld [wAttackMissed], a ret