diff options
-rwxr-xr-x | data/item_prices.asm | 194 | ||||
-rwxr-xr-x | data/prizes.asm | 31 | ||||
-rwxr-xr-x | data/tm_prices.asm | 30 | ||||
-rwxr-xr-x | engine/battle/e.asm | 94 | ||||
-rwxr-xr-x | engine/items/tm_prices.asm | 11 | ||||
-rwxr-xr-x | engine/menu/prize_menu.asm | 2 | ||||
-rw-r--r-- | home.asm | 8 | ||||
-rw-r--r-- | macros.asm | 14 |
8 files changed, 213 insertions, 171 deletions
diff --git a/data/item_prices.asm b/data/item_prices.asm index 45537ded..f6882fd0 100755 --- a/data/item_prices.asm +++ b/data/item_prices.asm @@ -1,98 +1,98 @@ ItemPrices: ; 4608 (1:4608) - db $00,$00,$00 - db $00,$12,$00 - db $00,$06,$00 - db $00,$02,$00 - db $00,$00,$00 - db $00,$00,$00 - db $00,$00,$00 - db $00,$10,$00 - db $00,$00,$00 - db $00,$00,$00 - db $00,$01,$00 - db $00,$02,$50 - db $00,$02,$50 - db $00,$02,$00 - db $00,$02,$00 - db $00,$30,$00 - db $00,$25,$00 - db $00,$15,$00 - db $00,$07,$00 - db $00,$03,$00 - db $00,$00,$00 - db $00,$00,$00 - db $00,$00,$00 - db $00,$00,$00 - db $00,$00,$00 - db $00,$00,$00 - db $00,$00,$00 - db $00,$00,$00 - db $00,$05,$50 - db $00,$03,$50 - db $00,$00,$00 - db $00,$21,$00 - db $00,$21,$00 - db $00,$21,$00 - db $00,$98,$00 - db $00,$98,$00 - db $00,$98,$00 - db $00,$98,$00 - db $00,$98,$00 - db $00,$48,$00 - db $00,$00,$00 - db $00,$00,$00 - db $00,$00,$00 - db $00,$00,$00 - db $00,$00,$00 - db $00,$09,$50 - db $00,$21,$00 - db $00,$00,$00 - db $01,$00,$00 - db $00,$98,$00 - db $00,$10,$00 - db $00,$06,$00 - db $00,$15,$00 - db $00,$40,$00 - db $00,$07,$00 - db $00,$05,$00 - db $00,$07,$00 - db $00,$06,$50 - db $00,$00,$10 - db $00,$02,$00 - db $00,$03,$00 - db $00,$03,$50 - db $00,$00,$00 - db $00,$00,$00 - db $00,$05,$00 - db $00,$05,$50 - db $00,$03,$50 - db $00,$03,$50 - db $00,$00,$00 - db $00,$00,$00 - db $00,$00,$00 - db $00,$00,$00 - db $00,$00,$00 - db $00,$00,$00 - db $00,$00,$00 - db $00,$00,$00 - db $00,$00,$00 - db $00,$00,$00 - db $00,$00,$00 - db $00,$00,$00 - db $00,$00,$00 - db $00,$00,$00 - db $00,$00,$00 - db $00,$00,$00 - db $00,$00,$00 - db $00,$00,$00 - db $00,$00,$00 - db $00,$00,$00 - db $00,$00,$00 - db $00,$00,$00 - db $00,$00,$00 - db $00,$00,$00 - db $00,$00,$00 - db $00,$00,$00 - db $00,$00,$00 - db $00,$00,$00 - db $00,$00,$00 + money 0 ; MASTER_BALL + money 1200 ; ULTRA_BALL + money 600 ; GREAT_BALL + money 200 ; POKE_BALL + money 0 ; TOWN_MAP + money 0 ; BICYCLE + money 0 ; SURFBOARD + money 1000 ; SAFARI_BALL + money 0 ; POKEDEX + money 0 ; MOON_STONE + money 100 ; ANTIDOTE + money 250 ; BURN_HEAL + money 250 ; ICE_HEAL + money 200 ; AWAKENING + money 200 ; PARLYZ_HEAL + money 3000 ; FULL_RESTORE + money 2500 ; MAX_POTION + money 1500 ; HYPER_POTION + money 700 ; SUPER_POTION + money 300 ; POTION + money 0 ; BOULDERBADGE + money 0 ; CASCADEBADGE + money 0 ; THUNDERBADGE + money 0 ; RAINBOWBADGE + money 0 ; SOULBADGE + money 0 ; MARSHBADGE + money 0 ; VOLCANOBADGE + money 0 ; EARTHBADGE + money 550 ; ESCAPE_ROPE + money 350 ; REPEL + money 0 ; OLD_AMBER + money 2100 ; FIRE_STONE + money 2100 ; THUNDER_STONE + money 2100 ; WATER_STONE + money 9800 ; HP_UP + money 9800 ; PROTEIN + money 9800 ; IRON + money 9800 ; CARBOS + money 9800 ; CALCIUM + money 4800 ; RARE_CANDY + money 0 ; DOME_FOSSIL + money 0 ; HELIX_FOSSIL + money 0 ; SECRET_KEY + money 0 ; XXX + money 0 ; BIKE_VOUCHER + money 950 ; X_ACCURACY + money 2100 ; LEAF_STONE + money 0 ; CARD_KEY + money 10000 ; NUGGET + money 9800 ; XXX PP_UP + money 1000 ; POKE_DOLL + money 600 ; FULL_HEAL + money 1500 ; REVIVE + money 4000 ; MAX_REVIVE + money 700 ; GUARD_SPEC_ + money 500 ; SUPER_REPEL + money 700 ; MAX_REPEL + money 650 ; DIRE_HIT + money 10 ; COIN + money 200 ; FRESH_WATER + money 300 ; SODA_POP + money 350 ; LEMONADE + money 0 ; S_S__TICKET + money 0 ; GOLD_TEETH + money 500 ; X_ATTACK + money 550 ; X_DEFEND + money 350 ; X_SPEED + money 350 ; X_SPECIAL + money 0 ; COIN_CASE + money 0 ; OAKS_PARCEL + money 0 ; ITEMFINDER + money 0 ; SILPH_SCOPE + money 0 ; POKE_FLUTE + money 0 ; LIFT_KEY + money 0 ; EXP__ALL + money 0 ; OLD_ROD + money 0 ; GOOD_ROD + money 0 ; SUPER_ROD + money 0 ; PP_UP + money 0 ; ETHER + money 0 ; MAX_ETHER + money 0 ; ELIXER + money 0 ; MAX_ELIXER + money 0 ; B2F + money 0 ; B1F + money 0 ; 1F + money 0 ; 2F + money 0 ; 3F + money 0 ; 4F + money 0 ; 5F + money 0 ; 6F + money 0 ; 7F + money 0 ; 8F + money 0 ; 9F + money 0 ; 10F + money 0 ; 11F + money 0 ; B4F diff --git a/data/prizes.asm b/data/prizes.asm index 92736715..3d4102b6 100755 --- a/data/prizes.asm +++ b/data/prizes.asm @@ -21,16 +21,17 @@ IF DEF(_BLUE) db NIDORINO ENDC db "@" + PrizeMenuMon1Cost: ; 5285d (14:685d) IF DEF(_RED) - db $01,$80 - db $05,$00 + coins 180 + coins 500 ENDC IF DEF(_BLUE) - db $01,$20 - db $07,$50 + coins 120 + coins 750 ENDC - db $12,$00 + coins 1200 db "@" PrizeMenuMon2Entries: ; 52864 (14:6864) @@ -44,16 +45,17 @@ IF DEF(_BLUE) ENDC db PORYGON db "@" + PrizeMenuMon2Cost: ; 52868 (14:6868) IF DEF(_RED) - db $28,$00 - db $55,$00 - db $99,$99 + coins 2800 + coins 5500 + coins 9999 ENDC IF DEF(_BLUE) - db $25,$00 - db $46,$00 - db $65,$00 + coins 2500 + coins 4600 + coins 6500 ENDC db "@" @@ -62,8 +64,9 @@ PrizeMenuTMsEntries: ; 5286f (14:686f) db TM_15 db TM_50 db "@" + PrizeMenuTMsCost: ; 52873 (14:6873) - db $33,$00 ; 3300 Coins - db $55,$00 ; 5500 Coins - db $77,$00 ; 7700 Coins + coins 3300 + coins 5500 + coins 7700 db "@" diff --git a/data/tm_prices.asm b/data/tm_prices.asm index 4fce3f60..89fdb8e9 100755 --- a/data/tm_prices.asm +++ b/data/tm_prices.asm @@ -1,7 +1,27 @@ TechnicalMachinePrices: ; 7bfa7 (1e:7fa7) ; In thousands (nybbles). - db $32, $21, $34, $24, $34 - db $21, $45, $55, $32, $32 - db $55, $52, $54, $52, $41 - db $21, $12, $42, $25, $24 - db $22, $52, $24, $34, $42 + dn 3, 2 ; TM_01, TM_02 + dn 2, 1 ; TM_03, TM_04 + dn 3, 4 ; TM_05, TM_06 + dn 2, 4 ; TM_07, TM_08 + dn 3, 4 ; TM_09, TM_10 + dn 2, 1 ; TM_11, TM_12 + dn 4, 5 ; TM_13, TM_14 + dn 5, 5 ; TM_15, TM_16 + dn 3, 2 ; TM_17, TM_18 + dn 3, 2 ; TM_19, TM_20 + dn 5, 5 ; TM_21, TM_22 + dn 5, 2 ; TM_23, TM_24 + dn 5, 4 ; TM_25, TM_26 + dn 5, 2 ; TM_27, TM_28 + dn 4, 1 ; TM_29, TM_30 + dn 2, 1 ; TM_31, TM_32 + dn 1, 2 ; TM_33, TM_34 + dn 4, 2 ; TM_35, TM_36 + dn 2, 5 ; TM_37, TM_38 + dn 2, 4 ; TM_39, TM_40 + dn 2, 2 ; TM_41, TM_42 + dn 5, 2 ; TM_43, TM_44 + dn 2, 4 ; TM_45, TM_46 + dn 3, 4 ; TM_47, TM_48 + dn 4, 2 ; TM_49, TM_50 diff --git a/engine/battle/e.asm b/engine/battle/e.asm index 072aca49..dd227be7 100755 --- a/engine/battle/e.asm +++ b/engine/battle/e.asm @@ -435,145 +435,145 @@ TrainerPicAndMoneyPointers: ; 39914 (e:5914) ; trainer pic pointers and base money. ; money received after battle = base money × level of highest-level enemy mon dw YoungsterPic - db 0,$15,0 + money 1500 dw BugCatcherPic - db 0,$10,0 + money 1000 dw LassPic - db 0,$15,0 + money 1500 dw SailorPic - db 0,$30,0 + money 3000 dw JrTrainerMPic - db 0,$20,0 + money 2000 dw JrTrainerFPic - db 0,$20,0 + money 2000 dw PokemaniacPic - db 0,$50,0 + money 5000 dw SuperNerdPic - db 0,$25,0 + money 2500 dw HikerPic - db 0,$35,0 + money 3500 dw BikerPic - db 0,$20,0 + money 2000 dw BurglarPic - db 0,$90,0 + money 9000 dw EngineerPic - db 0,$50,0 + money 5000 dw JugglerPic - db 0,$35,0 + money 3500 dw FisherPic - db 0,$35,0 + money 3500 dw SwimmerPic - db 0,$05,0 + money 500 dw CueBallPic - db 0,$25,0 + money 2500 dw GamblerPic - db 0,$70,0 + money 7000 dw BeautyPic - db 0,$70,0 + money 7000 dw PsychicPic - db 0,$10,0 + money 1000 dw RockerPic - db 0,$25,0 + money 2500 dw JugglerPic - db 0,$35,0 + money 3500 dw TamerPic - db 0,$40,0 + money 4000 dw BirdKeeperPic - db 0,$25,0 + money 2500 dw BlackbeltPic - db 0,$25,0 + money 2500 dw Rival1Pic - db 0,$35,0 + money 3500 dw ProfOakPic - db 0,$99,0 + money 9900 dw ChiefPic - db 0,$30,0 + money 3000 dw ScientistPic - db 0,$50,0 + money 5000 dw GiovanniPic - db 0,$99,0 + money 9900 dw RocketPic - db 0,$30,0 + money 3000 dw CooltrainerMPic - db 0,$35,0 + money 3500 dw CooltrainerFPic - db 0,$35,0 + money 3500 dw BrunoPic - db 0,$99,0 + money 9900 dw BrockPic - db 0,$99,0 + money 9900 dw MistyPic - db 0,$99,0 + money 9900 dw LtSurgePic - db 0,$99,0 + money 9900 dw ErikaPic - db 0,$99,0 + money 9900 dw KogaPic - db 0,$99,0 + money 9900 dw BlainePic - db 0,$99,0 + money 9900 dw SabrinaPic - db 0,$99,0 + money 9900 dw GentlemanPic - db 0,$70,0 + money 7000 dw Rival2Pic - db 0,$65,0 + money 6500 dw Rival3Pic - db 0,$99,0 + money 9900 dw LoreleiPic - db 0,$99,0 + money 9900 dw ChannelerPic - db 0,$30,0 + money 3000 dw AgathaPic - db 0,$99,0 + money 9900 dw LancePic - db 0,$99,0 + money 9900 INCLUDE "text/trainer_names.asm" diff --git a/engine/items/tm_prices.asm b/engine/items/tm_prices.asm index c55a25b4..7c5c56fa 100755 --- a/engine/items/tm_prices.asm +++ b/engine/items/tm_prices.asm @@ -1,5 +1,8 @@ GetMachinePrice: ; 7bf86 (1e:7f86) - ld a, [wcf91] +; Input: [wcf91] = Item Id of a TM +; Output: Stores the 2-byte TM price in [H_DOWNARROWBLINKCNT1] and [H_DOWNARROWBLINKCNT2] +; as a BCD + ld a, [wcf91] ; a contains TM item id sub TM_01 ret c ld d, a @@ -8,11 +11,11 @@ GetMachinePrice: ; 7bf86 (1e:7f86) ld c, a ld b, 0 add hl, bc - ld a, [hl] + ld a, [hl] ; a contains byte whose high or low nybble is the TM price (in thousands) srl d - jr nc, .asm_7bf9d + jr nc, .highNybbleIsPrice ; is TM id odd? swap a -.asm_7bf9d +.highNybbleIsPrice and $f0 ld [H_DOWNARROWBLINKCNT2], a ; $ff8c xor a diff --git a/engine/menu/prize_menu.asm b/engine/menu/prize_menu.asm index 141b9beb..0e904200 100755 --- a/engine/menu/prize_menu.asm +++ b/engine/menu/prize_menu.asm @@ -6,7 +6,7 @@ CeladonPrizeMenu: ; 5271b (14:671b) jp PrintText .havingCoinCase ld hl,wd730 - set 6,[hl] + set 6,[hl] ; disable letter-printing delay ld hl,ExchangeCoinsForPrizesTextPtr call PrintText ; the following are the menu settings @@ -3335,6 +3335,8 @@ GetName:: ; 376b (0:376b) ret GetItemPrice:: ; 37df (0:37df) +; Stores item's price as BCD in [H_DOWNARROWBLINKCNT1] and [[H_DOWNARROWBLINKCNT2] +; Input: [wcf91] = item id ld a, [H_LOADEDROMBANK] push af ld a, [wListMenuID] ; wListMenuID @@ -3349,9 +3351,9 @@ GetItemPrice:: ; 37df (0:37df) ld a, [hli] ld h, [hl] ld l, a - ld a, [wcf91] + ld a, [wcf91] ; a contains item id cp HM_01 - jr nc, .asm_3812 + jr nc, .getTMPrice ld bc, $3 .asm_3802 add hl, bc @@ -3365,7 +3367,7 @@ GetItemPrice:: ; 37df (0:37df) ld a, [hl] ld [H_DOWNARROWBLINKCNT1], a ; $ff8b jr .asm_381c -.asm_3812 +.getTMPrice ld a, Bank(GetMachinePrice) ld [H_LOADEDROMBANK], a ld [$2000], a @@ -49,6 +49,20 @@ callab: MACRO call Bankswitch ENDM +bcd2: MACRO + dn ((\1) / 1000) % 10, ((\1) / 100) % 10 + dn ((\1) / 10) % 10, (\1) % 10 + ENDM + +bcd3: MACRO + dn ((\1) / 100000) % 10, ((\1) / 10000) % 10 + dn ((\1) / 1000) % 10, ((\1) / 100) % 10 + dn ((\1) / 10) % 10, (\1) % 10 + ENDM + +coins equs "bcd2" +money equs "bcd3" + ;\1 = X ;\2 = Y hlCoord: MACRO |