blob: df9761bd6d8527ed75f8eef2a9c5602e28b2d294 (
plain)
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
|
GetMachinePrice::
; Input: [wcf91] = Item Id of a TM
; Output: Stores the TM price at hItemPrice
ld a, [wcf91] ; a contains TM item id
sub TM01 ; underflows below 0 for HM items (before TM items)
ret c ; HMs are priceless
ld d, a
ld hl, TechnicalMachinePrices
srl a
ld c, a
ld b, 0
add hl, bc
ld a, [hl] ; a contains byte whose high or low nybble is the TM price (in thousands)
srl d
jr nc, .highNybbleIsPrice ; is TM id odd?
swap a
.highNybbleIsPrice
and $f0
ldh [hItemPrice + 1], a
xor a
ldh [hItemPrice], a
ldh [hItemPrice + 2], a
ret
INCLUDE "data/items/tm_prices.asm"
|