pokered/scripts/BillsHouse.asm

217 lines
5 KiB
NASM
Raw Permalink Normal View History

BillsHouse_Script:
2014-05-18 18:19:10 +00:00
call EnableAutoTextBoxDrawing
2015-08-31 02:38:41 +00:00
ld a, [wBillsHouseCurScript]
ld hl, BillsHouse_ScriptPointers
2014-05-18 18:19:10 +00:00
jp CallFunctionInTable
BillsHouse_ScriptPointers:
def_script_pointers
dw_const BillsHouseDefaultScript, SCRIPT_BILLSHOUSE_DEFAULT
dw_const BillsHousePokemonWalkToMachineScript, SCRIPT_BILLSHOUSE_POKEMON_WALK_TO_MACHINE
dw_const BillsHousePokemonEntersMachineScript, SCRIPT_BILLSHOUSE_POKEMON_ENTERS_MACHINE
dw_const BillsHouseBillExitsMachineScript, SCRIPT_BILLSHOUSE_BILL_EXITS_MACHINE
dw_const BillsHouseCleanupScript, SCRIPT_BILLSHOUSE_CLEANUP
dw_const BillsHousePCScript, SCRIPT_BILLSHOUSE_PC
BillsHouseDefaultScript:
2014-05-18 18:19:10 +00:00
ret
BillsHousePokemonWalkToMachineScript:
ld a, [wSpritePlayerStateData1FacingDirection]
and a ; cp SPRITE_FACING_DOWN
ld de, .PokemonWalkToMachineMovement
jr nz, .notDown
ld de, .PokemonWalkAroundPlayerMovement
.notDown
ld a, BILLSHOUSE_BILL_POKEMON
ldh [hSpriteIndex], a
2014-05-18 18:19:10 +00:00
call MoveSprite
ld a, SCRIPT_BILLSHOUSE_POKEMON_ENTERS_MACHINE
2015-08-31 02:38:41 +00:00
ld [wBillsHouseCurScript], a
2014-05-18 18:19:10 +00:00
ret
.PokemonWalkToMachineMovement:
db NPC_MOVEMENT_UP
db NPC_MOVEMENT_UP
db NPC_MOVEMENT_UP
db -1 ; end
2014-05-18 18:19:10 +00:00
; make Bill walk around the player
.PokemonWalkAroundPlayerMovement:
db NPC_MOVEMENT_RIGHT
db NPC_MOVEMENT_UP
db NPC_MOVEMENT_UP
db NPC_MOVEMENT_LEFT
db NPC_MOVEMENT_UP
db -1 ; end
2014-05-18 18:19:10 +00:00
BillsHousePokemonEntersMachineScript:
ld a, [wStatusFlags5]
bit BIT_SCRIPTED_NPC_MOVEMENT, a
2014-05-18 18:19:10 +00:00
ret nz
ld a, HS_BILL_POKEMON
2015-07-25 03:27:59 +00:00
ld [wMissableObjectIndex], a
predef HideObject
2015-07-21 17:36:03 +00:00
SetEvent EVENT_BILL_SAID_USE_CELL_SEPARATOR
2014-05-18 18:19:10 +00:00
xor a
2014-05-25 17:51:53 +00:00
ld [wJoyIgnore], a
ld a, SCRIPT_BILLSHOUSE_BILL_EXITS_MACHINE
2015-08-31 02:38:41 +00:00
ld [wBillsHouseCurScript], a
2014-05-18 18:19:10 +00:00
ret
BillsHouseBillExitsMachineScript:
2015-07-21 17:36:03 +00:00
CheckEvent EVENT_USED_CELL_SEPARATOR_ON_BILL
2014-05-18 18:19:10 +00:00
ret z
ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN
2014-05-25 17:51:53 +00:00
ld [wJoyIgnore], a
ld a, BILLSHOUSE_BILL1
2014-09-13 07:50:56 +00:00
ld [wSpriteIndex], a
2014-05-18 18:19:10 +00:00
ld a, $c
ldh [hSpriteScreenYCoord], a
2014-05-18 18:19:10 +00:00
ld a, $40
ldh [hSpriteScreenXCoord], a
ld a, 6
ldh [hSpriteMapYCoord], a
ld a, 5
ldh [hSpriteMapXCoord], a
call SetSpritePosition1
ld a, HS_BILL_1
2015-07-25 03:27:59 +00:00
ld [wMissableObjectIndex], a
predef ShowObject
ld c, 8
2014-05-18 18:19:10 +00:00
call DelayFrames
ld a, BILLSHOUSE_BILL1
ldh [hSpriteIndex], a
ld de, BillExitMachineMovement
2014-05-18 18:19:10 +00:00
call MoveSprite
ld a, SCRIPT_BILLSHOUSE_CLEANUP
2015-08-31 02:38:41 +00:00
ld [wBillsHouseCurScript], a
2014-05-18 18:19:10 +00:00
ret
BillExitMachineMovement:
db NPC_MOVEMENT_DOWN
db NPC_MOVEMENT_RIGHT
db NPC_MOVEMENT_RIGHT
db NPC_MOVEMENT_RIGHT
db NPC_MOVEMENT_DOWN
db -1 ; end
2014-05-18 18:19:10 +00:00
BillsHouseCleanupScript:
ld a, [wStatusFlags5]
bit BIT_SCRIPTED_NPC_MOVEMENT, a
2014-05-18 18:19:10 +00:00
ret nz
xor a
2014-05-25 17:51:53 +00:00
ld [wJoyIgnore], a
2015-07-21 17:36:03 +00:00
SetEvent EVENT_MET_BILL_2 ; this event seems redundant
SetEvent EVENT_MET_BILL
ld a, SCRIPT_BILLSHOUSE_DEFAULT
2015-08-31 02:38:41 +00:00
ld [wBillsHouseCurScript], a
2014-05-18 18:19:10 +00:00
ret
BillsHousePCScript:
ld a, TEXT_BILLSHOUSE_ACTIVATE_PC
ldh [hTextID], a
2014-05-18 18:19:10 +00:00
call DisplayTextID
ld a, SCRIPT_BILLSHOUSE_DEFAULT
2015-08-31 02:38:41 +00:00
ld [wBillsHouseCurScript], a
2014-05-18 18:19:10 +00:00
ret
BillsHouse_TextPointers:
def_text_pointers
dw_const BillsHouseBillPokemonText, TEXT_BILLSHOUSE_BILL_POKEMON
dw_const BillsHouseBillSSTicketText, TEXT_BILLSHOUSE_BILL_SS_TICKET
dw_const BillsHouseBillCheckOutMyRarePokemonText, TEXT_BILLSHOUSE_BILL_CHECK_OUT_MY_RARE_POKEMON
dw_const BillsHouseActivatePCScript, TEXT_BILLSHOUSE_ACTIVATE_PC
2014-05-18 18:19:10 +00:00
BillsHouseActivatePCScript:
script_bills_pc
2014-05-18 18:19:10 +00:00
BillsHouseBillPokemonText:
text_asm
ld hl, .ImNotAPokemonText
2014-05-18 18:19:10 +00:00
call PrintText
call YesNoChoice
ld a, [wCurrentMenuItem]
2014-05-18 18:19:10 +00:00
and a
jr nz, .answered_no
.use_machine
ld hl, .UseSeparationSystemText
2014-05-18 18:19:10 +00:00
call PrintText
ld a, SCRIPT_BILLSHOUSE_POKEMON_WALK_TO_MACHINE
2015-08-31 02:38:41 +00:00
ld [wBillsHouseCurScript], a
jr .text_script_end
.answered_no
ld hl, .NoYouGottaHelpText
2014-05-18 18:19:10 +00:00
call PrintText
jr .use_machine
.text_script_end
2014-05-18 18:19:10 +00:00
jp TextScriptEnd
.ImNotAPokemonText:
text_far _BillsHouseBillImNotAPokemonText
text_end
2014-05-18 18:19:10 +00:00
.UseSeparationSystemText:
text_far _BillsHouseBillUseSeparationSystemText
text_end
2014-05-18 18:19:10 +00:00
.NoYouGottaHelpText:
text_far _BillsHouseBillNoYouGottaHelpText
text_end
2014-05-18 18:19:10 +00:00
BillsHouseBillSSTicketText:
text_asm
2015-07-21 17:36:03 +00:00
CheckEvent EVENT_GOT_SS_TICKET
jr nz, .got_ss_ticket
ld hl, .ThankYouText
2014-05-18 18:19:10 +00:00
call PrintText
2015-12-15 04:09:30 +00:00
lb bc, S_S_TICKET, 1
2014-05-18 18:19:10 +00:00
call GiveItem
jr nc, .bag_full
ld hl, .SSTicketReceivedText
2014-05-18 18:19:10 +00:00
call PrintText
2015-07-21 17:36:03 +00:00
SetEvent EVENT_GOT_SS_TICKET
ld a, HS_CERULEAN_GUARD_1
2015-07-25 03:27:59 +00:00
ld [wMissableObjectIndex], a
predef ShowObject
ld a, HS_CERULEAN_GUARD_2
2015-07-25 03:27:59 +00:00
ld [wMissableObjectIndex], a
predef HideObject
.got_ss_ticket
ld hl, .WhyDontYouGoInsteadOfMeText
2014-05-18 18:19:10 +00:00
call PrintText
jr .text_script_end
.bag_full
ld hl, .SSTicketNoRoomText
2014-05-18 18:19:10 +00:00
call PrintText
.text_script_end
2014-05-18 18:19:10 +00:00
jp TextScriptEnd
.ThankYouText:
text_far _BillsHouseBillThankYouText
text_end
2014-05-18 18:19:10 +00:00
.SSTicketReceivedText:
text_far _SSTicketReceivedText
sound_get_key_item
text_promptbutton
text_end
2014-05-18 18:19:10 +00:00
.SSTicketNoRoomText:
text_far _SSTicketNoRoomText
text_end
2014-05-18 18:19:10 +00:00
.WhyDontYouGoInsteadOfMeText:
text_far _BillsHouseBillWhyDontYouGoInsteadOfMeText
text_end
2014-05-18 18:19:10 +00:00
BillsHouseBillCheckOutMyRarePokemonText:
text_asm
ld hl, .Text
2014-05-18 18:19:10 +00:00
call PrintText
jp TextScriptEnd
.Text:
text_far _BillsHouseBillCheckOutMyRarePokemonText
text_end