kep-hack/scripts/tradeback_move_tutor.asm
2023-09-25 11:42:31 +10:00

126 lines
2.4 KiB
NASM

TradebackTutorText1:
text_asm
; Display the list of moves to the player.
ld hl, TradebackTutorGreetingText
call PrintText
call YesNoChoice
ld a, [wCurrentMenuItem]
and a
jp nz, .exit
xor a
;charge 1000 money
ld [hMoney], a
ld [hMoney + 2], a
ld a, $0A
ld [hMoney + 1], a
call HasEnoughMoney
jr nc, .enoughMoney
; not enough money
ld hl, TradebackTutorNotEnoughMoneyText
call PrintText
jp TextScriptEnd
.enoughMoney
ld hl, TradebackTutorSaidYesText
call PrintText
; Select pokemon from party.
call SaveScreenTilesToBuffer2
xor a
ld [wListScrollOffset], a
ld [wPartyMenuTypeOrMessageID], a
ld [wUpdateSpritesEnabled], a
ld [wMenuItemToSwap], a
call DisplayPartyMenu
push af
call GBPalWhiteOutWithDelay3
call RestoreScreenTilesAndReloadTilePatterns
call LoadGBPal
pop af
jp c, .exit
ld a, [wWhichPokemon]
ld b, a
push bc
ld hl, PrepareTradebackMoveList
ld b, Bank(PrepareTradebackMoveList)
call Bankswitch
ld a, [wMoveBuffer]
and a
jr nz, .chooseMove
pop bc
ld hl, TradebackTutorNoMovesText
call PrintText
jp TextScriptEnd
.chooseMove
ld hl, TradebackTutorWhichMoveText
call PrintText
xor a
ld [wCurrentMenuItem], a
ld [wLastMenuItem], a
ld a, MOVESLISTMENU
ld [wListMenuID], a
ld de, wMoveBuffer
ld hl, wListPointer
ld [hl], e
inc hl
ld [hl], d
xor a
ld [wPrintItemPrices], a ; don't print prices
call DisplayListMenuID
pop bc
jr c, .exit ; exit if player chose cancel
push bc
; Save the selected move id.
ld a, [wcf91]
ld [wMoveNum], a
ld [wd11e],a
call GetMoveName
call CopyToStringBuffer ; copy name to wcf4b
pop bc
ld a, b
ld [wWhichPokemon], a
predef LearnMove
ld a, b
and a
jr z, .exit
; Charge 1000 money
xor a
ld [wPriceTemp], a
ld [wPriceTemp + 2], a
ld a, $0A
ld [wPriceTemp + 1], a
ld hl, wPriceTemp + 2
ld de, wPlayerMoney + 2
ld c, $3
predef SubBCDPredef
ld hl, TradebackTutorByeText
call PrintText
jp TextScriptEnd
.exit
ld hl, TradebackTutorByeText
call PrintText
jp TextScriptEnd
TradebackTutorGreetingText:
text_far _TradebackTutorGreetingText
text_end
TradebackTutorSaidYesText:
text_far _TradebackTutorSaidYesText
text_end
TradebackTutorNotEnoughMoneyText:
text_far _TradebackTutorNotEnoughMoneyText
text_end
TradebackTutorWhichMoveText:
text_far _TradebackTutorWhichMoveText
text_end
TradebackTutorByeText:
text_far _TradebackTutorByeText
text_end
TradebackTutorNoMovesText:
text_far _TradebackTutorNoMovesText
text_end