diff options
Diffstat (limited to 'scripts')
| -rwxr-xr-x | scripts/billshouse.asm | 250 | 
1 files changed, 159 insertions, 91 deletions
| diff --git a/scripts/billshouse.asm b/scripts/billshouse.asm index 4f01021e..014f5051 100755 --- a/scripts/billshouse.asm +++ b/scripts/billshouse.asm @@ -1,8 +1,10 @@  BillsHouseScript: ; 1e76a (7:676a) +	call BillsHouseScript_1e09e  	call EnableAutoTextBoxDrawing  	ld a, [W_BILLSHOUSECURSCRIPT]  	ld hl, BillsHouseScriptPointers -	jp JumpTable +	call JumpTable +	ret  BillsHouseScriptPointers: ; 1e776 (7:6776)  	dw BillsHouseScript0 @@ -11,21 +13,65 @@ BillsHouseScriptPointers: ; 1e776 (7:6776)  	dw BillsHouseScript3  	dw BillsHouseScript4  	dw BillsHouseScript5 +	dw BillsHouseScript6 +	dw BillsHouseScript7 +	dw BillsHouseScript8 +	dw BillsHouseScript9 + +BillsHouseScript_1e09e: +	ld hl, wPreventBlackout +	bit 7, [hl] +	set 7, [hl] +	ret nz +	ld hl, wd7f2 +	bit 5, [hl] +	jr z, .asm_1e0af +	jr .asm_1e0b3 + +.asm_1e0af +	ld a, $0 +	jr .asm_1e0b5 + +.asm_1e0b3 +	ld a, $9 +.asm_1e0b5 +	ld [W_BILLSHOUSECURSCRIPT], a +	ret  BillsHouseScript0: ; 1e782 (7:6782) +	ld a, [wd472] +	bit 7, a +	jr z, .asm_1e0d2 +	callab Func_fce73 +	jr c, .asm_1e0d2 +	callab Func_f24d5 +.asm_1e0d2 +	xor a +	ld [wJoyIgnore], a +	ld a, $1 +	ld [W_BILLSHOUSECURSCRIPT], a  	ret  BillsHouseScript1: ; 1e783 (7:6783) +	ret + +BillsHouseScript2: +	ld a, $ff +	ld [wJoyIgnore], a  	ld a, [wSpriteStateData1 + 9]  	and a ; cp SPRITE_FACING_DOWN  	ld de, MovementData_1e79c  	jr nz, .notDown +	call CheckPikachuAsleep +	jr nz, .asm_1e0f8 +	callab Func_f250b +.asm_1e0f8  	ld de, MovementData_1e7a0  .notDown  	ld a, $1  	ld [H_SPRITEINDEX], a  	call MoveSprite -	ld a, $2 +	ld a, $3  	ld [W_BILLSHOUSECURSCRIPT], a  	ret @@ -44,25 +90,58 @@ MovementData_1e7a0: ; 1e7a0 (7:67a0)  	db NPC_MOVEMENT_UP  	db $FF -BillsHouseScript2: ; 1e7a6 (7:67a6) +BillsHouseScript3: ; 1e7a6 (7:67a6)  	ld a, [wd730]  	bit 0, a  	ret nz  	ld a, HS_BILL_POKEMON  	ld [wMissableObjectIndex], a  	predef HideObject -	SetEvent EVENT_BILL_SAID_USE_CELL_SEPARATOR +	call CheckPikachuAsleep +	jr z, .asm_1e13e +	ld hl, PikachuMovementData_1e14d +	ld a, [wSpriteStateData1 + 9] +	and a ; cp SPRITE_FACING_DOWN +	jr nz, .asm_1e133 +	ld hl, PikachuMovementData_1e152 +.asm_1e133 +	call Func_159b +	callab InitializePikachuTextID +.asm_1e13e  	xor a  	ld [wJoyIgnore], a -	ld a, $3 +	SetEvent EVENT_BILL_SAID_USE_CELL_SEPARATOR +	ld a, $4  	ld [W_BILLSHOUSECURSCRIPT], a  	ret -BillsHouseScript3: ; 1e7c5 (7:67c5) +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: ; 1e7c5 (7:67c5)  	CheckEvent EVENT_USED_CELL_SEPARATOR_ON_BILL  	ret z -	ld a, $f0 +	ld a, $fc  	ld [wJoyIgnore], a +	ld a, $5 +	ld [W_BILLSHOUSECURSCRIPT], a +	ret + +BillsHouseScript5:  	ld a, $2  	ld [wSpriteIndex], a  	ld a, $c @@ -79,11 +158,30 @@ BillsHouseScript3: ; 1e7c5 (7:67c5)  	predef ShowObject  	ld c, 8  	call DelayFrames +	ld hl, wd472 +	bit 7, [hl] +	jr z, .asm_1e1c6 +	call CheckPikachuAsleep +	jr z, .asm_1e1c6 +	ld a, $2 +	ld [H_SPRITEINDEX], a +	ld a, SPRITE_FACING_DOWN +	ld [hSpriteFacingDirection], a +	call SetSpriteFacingDirectionAndDelay +	ld hl, PikachuMovementData_1e1a9 +	call Func_159b +	ld a, $f +	ld [wEmotionBubbleSpriteIndex], a +	ld a, $0 +	ld [wWhichEmotionBubble], a +	predef EmotionBubble +	callab InitializePikachuTextID +.asm_1e1c6  	ld a, $2  	ld [H_SPRITEINDEX], a  	ld de, MovementData_1e807  	call MoveSprite -	ld a, $4 +	ld a, $6  	ld [W_BILLSHOUSECURSCRIPT], a  	ret @@ -95,26 +193,67 @@ MovementData_1e807: ; 1e807 (7:6807)  	db NPC_MOVEMENT_DOWN  	db $FF -BillsHouseScript4: ; 1e80d (7:680d) +PikachuMovementData_1e1a9: +	db $00 +	db $37 +	db $3f + +BillsHouseScript6: ; 1e80d (7:680d)  	ld a, [wd730]  	bit 0, a  	ret nz -	xor a -	ld [wJoyIgnore], a  	SetEvent EVENT_MET_BILL_2 ; this event seems redundant  	SetEvent EVENT_MET_BILL -	ld a, $0 +	ld a, $7  	ld [W_BILLSHOUSECURSCRIPT], a  	ret -BillsHouseScript5: ; 1e827 (7:6827) -	ld a, $4 +BillsHouseScript7: +	xor a +	ld [wPlayerMovingDirection], a +	ld a, SPRITE_FACING_UP +	ld [wSpriteStateData1 + 9], a +	ld a, $FF ^ (A_BUTTON | B_BUTTON) +	ld [wJoyIgnore], a +	ld de, RLE_1e219 +	ld hl, wSimulatedJoypadStatesEnd +	call DecodeRLEList +	dec a +	ld [wSimulatedJoypadStatesIndex], a +	call StartSimulatingJoypadStates +	ld a, $8 +	ld [W_BILLSHOUSECURSCRIPT], a +	ret + +RLE_1e219: +	db D_RIGHT,$3 +	db $FF + +BillsHouseScript8: +	ld a, [wSimulatedJoypadStatesIndex] +	and a +	ret nz +	xor a +	ld [wPlayerMovingDirection], a +	ld a, SPRITE_FACING_UP +	ld [wSpriteStateData1 + 9], a +	ld a, $2 +	ld [H_SPRITEINDEX], a +	ld a, SPRITE_FACING_DOWN +	ld [hSpriteFacingDirection], a +	call SetSpriteFacingDirectionAndDelay +	xor a +	ld [wJoyIgnore], a +	ld a, $2  	ld [hSpriteIndexOrTextID], a  	call DisplayTextID -	ld a, $0 +	ld a, $9  	ld [W_BILLSHOUSECURSCRIPT], a  	ret +BillsHouseScript9: ; 1e827 (7:6827) +	ret +  BillsHouseTextPointers: ; 1e834 (7:6834)  	dw BillsHouseText1  	dw BillsHouseText2 @@ -122,91 +261,20 @@ BillsHouseTextPointers: ; 1e834 (7:6834)  	dw BillsHouseText4  BillsHouseText4: ; 1e83c (7:683c) -	db $fd +	TX_FAR _BillsHouseDontLeaveText +	db "@"  BillsHouseText1: ; 1e83d (7:683d)  	TX_ASM -	ld hl, BillsHouseText_1e865 -	call PrintText -	call YesNoChoice -	ld a, [wCurrentMenuItem] -	and a -	jr nz, .asm_1e85a -.asm_1e84d -	ld hl, BillsHouseText_1e86a -	call PrintText -	ld a, $1 -	ld [W_BILLSHOUSECURSCRIPT], a -	jr .asm_1e862 -.asm_1e85a -	ld hl, BillsHouseText_1e86f -	call PrintText -	jr .asm_1e84d -.asm_1e862 +	callba Func_f2418  	jp TextScriptEnd -BillsHouseText_1e865: ; 1e865 (7:6865) -	TX_FAR _BillsHouseText_1e865 -	db "@" - -BillsHouseText_1e86a: ; 1e86a (7:686a) -	TX_FAR _BillsHouseText_1e86a -	db "@" - -BillsHouseText_1e86f: ; 1e86f (7:686f) -	TX_FAR _BillsHouseText_1e86f -	db "@" -  BillsHouseText2: ; 1e874 (7:6874)  	TX_ASM -	CheckEvent EVENT_GOT_SS_TICKET -	jr nz, .asm_1e8a9 -	ld hl, BillThankYouText -	call PrintText -	lb bc, S_S_TICKET, 1 -	call GiveItem -	jr nc, .BagFull -	ld hl, SSTicketReceivedText -	call PrintText -	SetEvent EVENT_GOT_SS_TICKET -	ld a, HS_CERULEAN_GUARD_1 -	ld [wMissableObjectIndex], a -	predef ShowObject -	ld a, HS_CERULEAN_GUARD_2 -	ld [wMissableObjectIndex], a -	predef HideObject -.asm_1e8a9 -	ld hl, BillsHouseText_1e8cb -	call PrintText -	jr .asm_1e8b7 -.BagFull -	ld hl, SSTicketNoRoomText -	call PrintText -.asm_1e8b7 +	callba Func_f244a  	jp TextScriptEnd -BillThankYouText: ; 1e8ba (7:68ba) -	TX_FAR _BillThankYouText -	db "@" - -SSTicketReceivedText: ; 1e8bf (7:68bf) -	TX_FAR _SSTicketReceivedText -	db $11, $6, "@" - -SSTicketNoRoomText: ; 1e8c6 (7:68c6) -	TX_FAR _SSTicketNoRoomText -	db "@" - -BillsHouseText_1e8cb: ; 1e8cb (7:68cb) -	TX_FAR _BillsHouseText_1e8cb -	db "@" -  BillsHouseText3: ; 1e8d0 (7:68d0)  	TX_ASM -	ld hl, BillsHouseText_1e8da -	call PrintText +	callba Func_f24a2  	jp TextScriptEnd - -BillsHouseText_1e8da: ; 1e8da (7:68da) -	TX_FAR _BillsHouseText_1e8da -	db "@" | 
