ref: aa97752efeef1425a0e0a00059f4a44569c917fc
parent: daa071451d998e7cf460468870ca82498a5eb4af
author: Remy Oukaour <remy.oukaour@gmail.com>
date: Fri Dec 22 19:31:04 EST 2017
Move NUM_BUENA_PRIZES to event/buena.asm (still hard-coded) Buena_PrizeMenu has "rept NUM_BUENA_PRIZES", which needs NUM_BUENA_PRIZES to be already defined. BuenaPrizeItems and BuenaPrizeItemsEnd are needed to define NUM_BUENA_PRIZES; but BuenaPrizeItems is defined after Buena_PrizeMenu. I don't see a way to avoid hard-coding its value of 9. Contrast that with the NUM_MOM_ITEMS constants, which are not used as "rept" arguments and so can be defined within their code file.
--- a/constants/radio_constants.asm
+++ b/constants/radio_constants.asm
@@ -123,6 +123,3 @@
const BUENA_ITEM
const BUENA_MOVE
const BUENA_STRING
-
-; BuenaPrizeItems table length (see data/items/buena_prizes.asm)
-NUM_BUENA_PRIZES EQU 9
--- a/data/items/buena_prizes.asm
+++ b/data/items/buena_prizes.asm
@@ -1,5 +1,5 @@
BuenaPrizeItems: ; 8b15e
-; there are NUM_BUENA_PRIZES entries
+; there are NUM_BUENA_PRIZES items (see event/buena.asm)
db ULTRA_BALL, 2
db FULL_RESTORE, 2
db NUGGET, 3
@@ -9,4 +9,5 @@
db CARBOS, 5
db CALCIUM, 5
db HP_UP, 5
+BuenaPrizeItemsEnd:
; 8b170
--- a/event/buena.asm
+++ b/event/buena.asm
@@ -288,6 +288,8 @@
dba .prizepoints
; 8b129
+NUM_BUENA_PRIZES EQU 9 ; ((BuenaPrizeItemsEnd - BuenaPrizeItems) / 2)
+
.indices ; 8b129
db NUM_BUENA_PRIZES
x = 1
--- a/event/mom_phone.asm
+++ b/event/mom_phone.asm
@@ -1,3 +1,6 @@
+NUM_MOM_ITEMS_1 EQUS "((MomItems_1End - MomItems_1) / 8)"
+NUM_MOM_ITEMS_2 EQUS "((MomItems_2End - MomItems_2) / 8)"
+
const_value = 1
const MOM_ITEM
const MOM_DOLL
@@ -57,7 +60,7 @@
CheckBalance_MomItem2: ; fd044
ld a, [wWhichMomItem]
- cp 10
+ cp NUM_MOM_ITEMS_2
jr nc, .nope
call GetItemFromMom
ld a, [hli]
@@ -100,7 +103,7 @@
.exact
call .AddMoney
- ld a, 5
+ ld a, NUM_MOM_ITEMS_1
call RandomRange
inc a
ld [wWhichMomItemSet], a
@@ -195,7 +198,7 @@
.zero
ld a, [wWhichMomItem]
- cp 10 ; length of MomItems_2
+ cp NUM_MOM_ITEMS_2
jr c, .ok
xor a