1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
OneHitKOEffect_: ; 33f57 (c:7f57)
ld hl, W_DAMAGE
xor a
ld [hli], a
ld [hl], a ; set the damage output to zero
dec a
ld [wCriticalHitOrOHKO], a
ld hl, wBattleMonSpeed + 1
ld de, wEnemyMonSpeed + 1
ld a, [H_WHOSETURN] ; $fff3
and a
jr z, .asm_33f72
ld hl, wEnemyMonSpeed + 1
ld de, wBattleMonSpeed + 1
.asm_33f72
ld a, [de]
dec de
ld b, a
ld a, [hld]
sub b
ld a, [de]
ld b, a
ld a, [hl]
sbc b
jr c, .asm_33f8a
ld hl, W_DAMAGE
ld a, $ff
ld [hli], a
ld [hl], a
ld a, $2
ld [wCriticalHitOrOHKO], a
ret
.asm_33f8a
ld a, $1
ld [W_MOVEMISSED], a
ret
|