diff options
Diffstat (limited to 'event/mom_phone.asm')
-rwxr-xr-x | event/mom_phone.asm | 77 |
1 files changed, 37 insertions, 40 deletions
diff --git a/event/mom_phone.asm b/event/mom_phone.asm index b2bf0d2fd..e7d2a1493 100755 --- a/event/mom_phone.asm +++ b/event/mom_phone.asm @@ -6,43 +6,43 @@ MomTriesToBuySomething:: ; fcfec and a ret nz xor a - ld [wdc18], a + ld [wWhichMomItemSet], a call CheckBalance_MomItem2 ret nc - call Functionfd0c3 + call Mom_GiveItemOrDoll ret nc - ld b, BANK(UnknownScript_0xfd00f) - ld de, UnknownScript_0xfd00f + ld b, BANK(.Script) + ld de, .Script callba LoadScriptBDE scf ret ; fd00f -UnknownScript_0xfd00f: ; 0xfd00f - callasm Functionfd017 +.Script: ; 0xfd00f + callasm .ASMFunction farjump Script_ReceivePhoneCall ; 0xfd017 -Functionfd017: ; fd017 +.ASMFunction: ; fd017 call MomBuysItem_DeductFunds - call Functionfd0eb - ld a, [wdc18] + call Mom_GetScriptPointer + ld a, [wWhichMomItemSet] and a jr nz, .ok - ld hl, wdc17 + ld hl, wWhichMomItem inc [hl] .ok - ld a, 1 + ld a, PHONE_MOM ld [wCurrentCaller], a - ld bc, wd03f + ld bc, EngineBuffer2 ld hl, 0 add hl, bc ld [hl], 0 inc hl ld [hl], 1 - ld hl, 9 + ld hl, wPhoneScriptPointer - EngineBuffer2 add hl, bc - ld a, $3f + ld a, BANK(Mom_GetScriptPointer) ld [hli], a ld a, e ld [hli], a @@ -52,7 +52,7 @@ Functionfd017: ; fd017 ; fd044 CheckBalance_MomItem2: ; fd044 - ld a, [wdc17] + ld a, [wWhichMomItem] cp 10 jr nc, .nope call GetItemFromMom @@ -82,12 +82,12 @@ CheckBalance_MomItem2: ; fd044 inc hl ld [hl], (2300 % $100) ; $fc .loop - ld de, wdc19 + ld de, MomItemTriggerBalance ld bc, wMomsMoney callba CompareMoney jr z, .exact jr nc, .less_than - call Functionfd099 + call .AddMoney jr .loop .less_than @@ -95,17 +95,16 @@ CheckBalance_MomItem2: ; fd044 ret .exact - call Functionfd099 + call .AddMoney ld a, 5 call RandomRange inc a - ld [wdc18], a + ld [wWhichMomItemSet], a scf ret -; fd099 -Functionfd099: ; fd099 - ld de, wdc19 +.AddMoney + ld de, MomItemTriggerBalance ld bc, hMoneyTemp callba AddMoney ret @@ -114,7 +113,7 @@ Functionfd099: ; fd099 MomBuysItem_DeductFunds: ; fd0a6 (3f:50a6) call GetItemFromMom - ld de, 3 + ld de, 3 ; cost add hl, de ld a, [hli] ld [hMoneyTemp], a @@ -128,12 +127,12 @@ MomBuysItem_DeductFunds: ; fd0a6 (3f:50a6) ret -Functionfd0c3: ; fd0c3 +Mom_GiveItemOrDoll: ; fd0c3 call GetItemFromMom - ld de, 6 + ld de, 6 ; item type add hl, de ld a, [hli] - cp 1 + cp MOM_ITEM jr z, .not_doll ld a, [hl] ld c, a @@ -145,7 +144,7 @@ Functionfd0c3: ; fd0c3 .not_doll ld a, [hl] ld [CurItem], a - ld a, $1 + ld a, 1 ld [wItemQuantityChangeBuffer], a ld hl, PCItems call ReceiveItem @@ -153,19 +152,19 @@ Functionfd0c3: ; fd0c3 ; fd0eb -Functionfd0eb: ; fd0eb (3f:50eb) +Mom_GetScriptPointer: ; fd0eb (3f:50eb) call GetItemFromMom - ld de, 6 ; field + ld de, 6 ; item type add hl, de ld a, [hli] - ld de, Script_MomBoughtItem - cp 1 + ld de, .ItemScript + cp MOM_ITEM ret z - ld de, Script_MomBoughtDoll + ld de, .DollScript ret ; fd0fd (3f:50fd) -Script_MomBoughtItem: ; 0xfd0fd +.ItemScript: ; 0xfd0fd writetext _MomText_HiHowAreYou writetext _MomText_FoundAnItem writetext _MomText_BoughtWithYourMoney @@ -173,7 +172,7 @@ Script_MomBoughtItem: ; 0xfd0fd end ; 0xfd10a -Script_MomBoughtDoll: ; 0xfd10a +.DollScript: ; 0xfd10a writetext _MomText_HiHowAreYou writetext _MomText_FoundADoll writetext _MomText_BoughtWithYourMoney @@ -183,15 +182,15 @@ Script_MomBoughtDoll: ; 0xfd10a GetItemFromMom: ; fd117 - ld a, [wdc18] + ld a, [wWhichMomItemSet] and a jr z, .zero dec a ld de, MomItems_1 - jr .incave + jr .GetFromList1 .zero - ld a, [wdc17] + ld a, [wWhichMomItem] cp 10 ; length of MomItems_2 jr c, .ok xor a @@ -199,7 +198,7 @@ GetItemFromMom: ; fd117 .ok ld de, MomItems_2 -.incave +.GetFromList1 ld l, a ld h, 0 rept 3 ; multiply hl by 8 @@ -223,8 +222,6 @@ MomItems_1: ; fd136 momitem 0, 180, MOM_ITEM, POKE_BALL momitem 0, 450, MOM_ITEM, ESCAPE_ROPE momitem 0, 500, MOM_ITEM, GREAT_BALL -; fd15e - MomItems_2: ; fd15e momitem 900, 600, MOM_ITEM, SUPER_POTION momitem 4000, 270, MOM_ITEM, REPEL |