pokered/scripts/MtMoonPokecenter.asm

94 lines
1.6 KiB
NASM
Executable file

MtMoonPokecenter_Script:
call Serial_TryEstablishingExternallyClockedConnection
jp EnableAutoTextBoxDrawing
MtMoonPokecenter_TextPointers:
dw MtMoonHealNurseText
dw MtMoonPokecenterText2
dw MtMoonPokecenterText3
dw MagikarpSalesmanText
dw MtMoonPokecenterText5
dw MtMoonTradeNurseText
MtMoonHealNurseText:
db $ff
MtMoonPokecenterText2:
text_far _MtMoonPokecenterText1
text_end
MtMoonPokecenterText3:
text_far _MtMoonPokecenterText3
text_end
MagikarpSalesmanText:
text_asm
CheckEvent EVENT_BOUGHT_MAGIKARP, 1
jp c, .alreadyBoughtMagikarp
ld hl, .Text1
call PrintText
ld a, MONEY_BOX
ld [wTextBoxID], a
call DisplayTextBoxID
call YesNoChoice
ld a, [wCurrentMenuItem]
and a
jp nz, .choseNo
ld [hMoney], a
ld [hMoney + 2], a
ld a, $5
ld [hMoney + 1], a
call HasEnoughMoney
jr nc, .enoughMoney
ld hl, .NoMoneyText
jr .printText
.enoughMoney
lb bc, MAGIKARP, 5
call GivePokemon
jr nc, .done
xor a
ld [wPriceTemp], a
ld [wPriceTemp + 2], a
ld a, $5
ld [wPriceTemp + 1], a
ld hl, wPriceTemp + 2
ld de, wPlayerMoney + 2
ld c, $3
predef SubBCDPredef
ld a, MONEY_BOX
ld [wTextBoxID], a
call DisplayTextBoxID
SetEvent EVENT_BOUGHT_MAGIKARP
jr .done
.choseNo
ld hl, .RefuseText
jr .printText
.alreadyBoughtMagikarp
ld hl, .Text2
.printText
call PrintText
.done
jp TextScriptEnd
.Text1
text_far _MagikarpSalesmanText1
text_end
.RefuseText
text_far _MagikarpSalesmanNoText
text_end
.NoMoneyText
text_far _MagikarpSalesmanNoMoneyText
text_end
.Text2
text_far _MagikarpSalesmanText2
text_end
MtMoonPokecenterText5:
text_far _MtMoonPokecenterText5
text_end
MtMoonTradeNurseText:
db $f6