mirror of
https://github.com/pret/pokeyellow.git
synced 2026-04-22 00:37:14 -05:00
282 lines
6.1 KiB
NASM
282 lines
6.1 KiB
NASM
BillsHouse_Script:
|
|
call BillsHouseScript_1e09e
|
|
call EnableAutoTextBoxDrawing
|
|
ld a, [wBillsHouseCurScript]
|
|
ld hl, BillsHouse_ScriptPointers
|
|
call CallFunctionInTable
|
|
ret
|
|
|
|
BillsHouse_ScriptPointers:
|
|
def_script_pointers
|
|
dw_const BillsHouseScript0, SCRIPT_BILLSHOUSE_SCRIPT0
|
|
dw_const BillsHouseScript1, SCRIPT_BILLSHOUSE_SCRIPT1
|
|
dw_const BillsHouseScript2, SCRIPT_BILLSHOUSE_SCRIPT2
|
|
dw_const BillsHouseScript3, SCRIPT_BILLSHOUSE_SCRIPT3
|
|
dw_const BillsHouseScript4, SCRIPT_BILLSHOUSE_SCRIPT4
|
|
dw_const BillsHouseScript5, SCRIPT_BILLSHOUSE_SCRIPT5
|
|
dw_const BillsHouseScript6, SCRIPT_BILLSHOUSE_SCRIPT6
|
|
dw_const BillsHouseScript7, SCRIPT_BILLSHOUSE_SCRIPT7
|
|
dw_const BillsHouseScript8, SCRIPT_BILLSHOUSE_SCRIPT8
|
|
dw_const BillsHouseScript9, SCRIPT_BILLSHOUSE_SCRIPT9
|
|
|
|
BillsHouseScript_1e09e:
|
|
ld hl, wd492
|
|
bit 7, [hl]
|
|
set 7, [hl]
|
|
ret nz
|
|
CheckEventHL EVENT_MET_BILL_2
|
|
jr z, .asm_1e0af
|
|
jr .asm_1e0b3
|
|
|
|
.asm_1e0af
|
|
ld a, SCRIPT_BILLSHOUSE_SCRIPT0
|
|
jr .asm_1e0b5
|
|
|
|
.asm_1e0b3
|
|
ld a, SCRIPT_BILLSHOUSE_SCRIPT9
|
|
.asm_1e0b5
|
|
ld [wBillsHouseCurScript], a
|
|
ret
|
|
|
|
BillsHouseScript0:
|
|
ld a, [wd471]
|
|
bit 7, a
|
|
jr z, .asm_1e0d2
|
|
callfar CheckPikachuStatusCondition
|
|
jr c, .asm_1e0d2
|
|
callfar Func_f24d5
|
|
.asm_1e0d2
|
|
xor a
|
|
ld [wJoyIgnore], a
|
|
ld a, SCRIPT_BILLSHOUSE_SCRIPT1
|
|
ld [wBillsHouseCurScript], a
|
|
ret
|
|
|
|
BillsHouseScript1:
|
|
ret
|
|
|
|
BillsHouseScript2:
|
|
ld a, PAD_BUTTONS | PAD_CTRL_PAD
|
|
ld [wJoyIgnore], a
|
|
ld a, [wSpritePlayerStateData1FacingDirection]
|
|
and a ; cp SPRITE_FACING_DOWN
|
|
ld de, MovementData_1e79c
|
|
jr nz, .notDown
|
|
call CheckPikachuFollowingPlayer
|
|
jr nz, .asm_1e0f8
|
|
callfar Func_f250b
|
|
.asm_1e0f8
|
|
ld de, MovementData_1e7a0
|
|
.notDown
|
|
ld a, BILLSHOUSE_BILL_POKEMON
|
|
ldh [hSpriteIndex], a
|
|
call MoveSprite
|
|
ld a, SCRIPT_BILLSHOUSE_SCRIPT3
|
|
ld [wBillsHouseCurScript], a
|
|
ret
|
|
|
|
MovementData_1e79c:
|
|
db NPC_MOVEMENT_UP
|
|
db NPC_MOVEMENT_UP
|
|
db NPC_MOVEMENT_UP
|
|
db -1 ; end
|
|
|
|
; make Bill walk around the player
|
|
MovementData_1e7a0:
|
|
db NPC_MOVEMENT_RIGHT
|
|
db NPC_MOVEMENT_UP
|
|
db NPC_MOVEMENT_UP
|
|
db NPC_MOVEMENT_LEFT
|
|
db NPC_MOVEMENT_UP
|
|
db -1 ; end
|
|
|
|
BillsHouseScript3:
|
|
ld a, [wStatusFlags5]
|
|
bit BIT_SCRIPTED_NPC_MOVEMENT, a
|
|
ret nz
|
|
ld a, TOGGLE_BILL_POKEMON
|
|
ld [wToggleableObjectIndex], a
|
|
predef HideObject
|
|
call CheckPikachuFollowingPlayer
|
|
jr z, .asm_1e13e
|
|
ld hl, PikachuMovementData_1e14d
|
|
ld a, [wSpritePlayerStateData1FacingDirection]
|
|
and a ; cp SPRITE_FACING_DOWN
|
|
jr nz, .asm_1e133
|
|
ld hl, PikachuMovementData_1e152
|
|
.asm_1e133
|
|
call ApplyPikachuMovementData
|
|
callfar InitializePikachuTextID
|
|
.asm_1e13e
|
|
xor a
|
|
ld [wJoyIgnore], a
|
|
SetEvent EVENT_BILL_SAID_USE_CELL_SEPARATOR
|
|
ld a, SCRIPT_BILLSHOUSE_SCRIPT4
|
|
ld [wBillsHouseCurScript], a
|
|
ret
|
|
|
|
PikachuMovementData_1e14d:
|
|
db $00
|
|
db $1e
|
|
db $1e
|
|
db $1e
|
|
db $3f
|
|
|
|
PikachuMovementData_1e152:
|
|
db $00
|
|
db $1e
|
|
db $1f
|
|
db $1e
|
|
db $1e
|
|
db $20
|
|
db $36
|
|
db $3f
|
|
|
|
BillsHouseScript4:
|
|
CheckEvent EVENT_USED_CELL_SEPARATOR_ON_BILL
|
|
ret z
|
|
ld a, PAD_SELECT | PAD_START | PAD_CTRL_PAD
|
|
ld [wJoyIgnore], a
|
|
ld a, SCRIPT_BILLSHOUSE_SCRIPT5
|
|
ld [wBillsHouseCurScript], a
|
|
ret
|
|
|
|
BillsHouseScript5:
|
|
ld a, BILLSHOUSE_BILL1
|
|
ld [wSpriteIndex], a
|
|
ld a, $c
|
|
ldh [hSpriteScreenYCoord], a
|
|
ld a, $40
|
|
ldh [hSpriteScreenXCoord], a
|
|
ld a, 6
|
|
ldh [hSpriteMapYCoord], a
|
|
ld a, 5
|
|
ldh [hSpriteMapXCoord], a
|
|
call SetSpritePosition1
|
|
ld a, TOGGLE_BILL_1
|
|
ld [wToggleableObjectIndex], a
|
|
predef ShowObject
|
|
ld c, 8
|
|
call DelayFrames
|
|
ld hl, wd471
|
|
bit 7, [hl]
|
|
jr z, .asm_1e1c6
|
|
call CheckPikachuFollowingPlayer
|
|
jr z, .asm_1e1c6
|
|
ld a, BILLSHOUSE_BILL1
|
|
ldh [hSpriteIndex], a
|
|
ld a, SPRITE_FACING_DOWN
|
|
ldh [hSpriteFacingDirection], a
|
|
call SetSpriteFacingDirectionAndDelay
|
|
ld hl, PikachuMovementData_1e1a9
|
|
call ApplyPikachuMovementData
|
|
ld a, $f
|
|
ld [wEmotionBubbleSpriteIndex], a
|
|
ld a, EXCLAMATION_BUBBLE
|
|
ld [wWhichEmotionBubble], a
|
|
predef EmotionBubble
|
|
callfar InitializePikachuTextID
|
|
.asm_1e1c6
|
|
ld a, BILLSHOUSE_BILL1
|
|
ldh [hSpriteIndex], a
|
|
ld de, .BillExitMachineMovement
|
|
call MoveSprite
|
|
ld a, SCRIPT_BILLSHOUSE_SCRIPT6
|
|
ld [wBillsHouseCurScript], a
|
|
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
|
|
|
|
PikachuMovementData_1e1a9:
|
|
db $00
|
|
db $37
|
|
db $3f
|
|
|
|
BillsHouseScript6:
|
|
ld a, [wStatusFlags5]
|
|
bit BIT_SCRIPTED_NPC_MOVEMENT, a
|
|
ret nz
|
|
SetEvent EVENT_MET_BILL_2 ; this event seems redundant
|
|
SetEvent EVENT_MET_BILL
|
|
ld a, SCRIPT_BILLSHOUSE_SCRIPT7
|
|
ld [wBillsHouseCurScript], a
|
|
ret
|
|
|
|
BillsHouseScript7:
|
|
xor a
|
|
ld [wPlayerMovingDirection], a
|
|
ld a, SPRITE_FACING_UP
|
|
ld [wSpritePlayerStateData1FacingDirection], a
|
|
ld a, PAD_SELECT | PAD_START | PAD_CTRL_PAD
|
|
ld [wJoyIgnore], a
|
|
ld de, RLE_1e219
|
|
ld hl, wSimulatedJoypadStatesEnd
|
|
call DecodeRLEList
|
|
dec a
|
|
ld [wSimulatedJoypadStatesIndex], a
|
|
call StartSimulatingJoypadStates
|
|
ld a, SCRIPT_BILLSHOUSE_SCRIPT8
|
|
ld [wBillsHouseCurScript], a
|
|
ret
|
|
|
|
RLE_1e219:
|
|
db PAD_RIGHT, $3
|
|
db $FF
|
|
|
|
BillsHouseScript8:
|
|
ld a, [wSimulatedJoypadStatesIndex]
|
|
and a
|
|
ret nz
|
|
xor a
|
|
ld [wPlayerMovingDirection], a
|
|
ld a, SPRITE_FACING_UP
|
|
ld [wSpritePlayerStateData1FacingDirection], a
|
|
ld a, BILLSHOUSE_BILL1
|
|
ldh [hSpriteIndex], a
|
|
ld a, SPRITE_FACING_DOWN
|
|
ldh [hSpriteFacingDirection], a
|
|
call SetSpriteFacingDirectionAndDelay
|
|
xor a
|
|
ld [wJoyIgnore], a
|
|
ld a, TEXT_BILLSHOUSE_BILL_SS_TICKET
|
|
ldh [hTextID], a
|
|
call DisplayTextID
|
|
ld a, SCRIPT_BILLSHOUSE_SCRIPT9
|
|
ld [wBillsHouseCurScript], a
|
|
ret
|
|
|
|
BillsHouseScript9:
|
|
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 BillsHouseBillDontLeaveText, TEXT_BILLSHOUSE_BILL_DONT_LEAVE
|
|
|
|
BillsHouseBillDontLeaveText:
|
|
text_far _BillsHouseBillDontLeaveText
|
|
text_end
|
|
|
|
BillsHouseBillPokemonText:
|
|
text_asm
|
|
farcall BillsHousePrintBillPokemonText
|
|
jp TextScriptEnd
|
|
|
|
BillsHouseBillSSTicketText:
|
|
text_asm
|
|
farcall BillsHousePrintBillSSTicketText
|
|
jp TextScriptEnd
|
|
|
|
BillsHouseBillCheckOutMyRarePokemonText:
|
|
text_asm
|
|
farcall BillsHousePrintBillCheckOutMyRarePokemonText
|
|
jp TextScriptEnd
|