mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2024-09-09 09:51:34 -07:00
eb1e3636bb
Use explicit ldh instruction to access HRAM locations, don't rely on optimizing ld
58 lines
690 B
NASM
58 lines
690 B
NASM
ConsumeHeldItem:
|
|
push hl
|
|
push de
|
|
push bc
|
|
ldh a, [hBattleTurn]
|
|
and a
|
|
ld hl, wOTPartyMon1Item
|
|
ld de, wEnemyMonItem
|
|
ld a, [wCurOTMon]
|
|
jr z, .theirturn
|
|
ld hl, wPartyMon1Item
|
|
ld de, wBattleMonItem
|
|
ld a, [wCurBattleMon]
|
|
|
|
.theirturn
|
|
push hl
|
|
push af
|
|
ld a, [de]
|
|
ld b, a
|
|
farcall GetItemHeldEffect
|
|
ld hl, ConsumableEffects
|
|
.loop
|
|
ld a, [hli]
|
|
cp b
|
|
jr z, .ok
|
|
inc a
|
|
jr nz, .loop
|
|
pop af
|
|
pop hl
|
|
pop bc
|
|
pop de
|
|
pop hl
|
|
ret
|
|
|
|
.ok
|
|
xor a
|
|
ld [de], a
|
|
pop af
|
|
pop hl
|
|
call GetPartyLocation
|
|
ldh a, [hBattleTurn]
|
|
and a
|
|
jr nz, .ourturn
|
|
ld a, [wBattleMode]
|
|
dec a
|
|
jr z, .done
|
|
|
|
.ourturn
|
|
ld [hl], NO_ITEM
|
|
|
|
.done
|
|
pop bc
|
|
pop de
|
|
pop hl
|
|
ret
|
|
|
|
INCLUDE "data/battle/held_consumables.asm"
|