diff options
Diffstat (limited to 'scripts/pallettown.asm')
-rwxr-xr-x | scripts/pallettown.asm | 132 |
1 files changed, 62 insertions, 70 deletions
diff --git a/scripts/pallettown.asm b/scripts/pallettown.asm index c43b9682..a06dfd54 100755 --- a/scripts/pallettown.asm +++ b/scripts/pallettown.asm @@ -1,16 +1,14 @@ -PalletTownScript: ; 18e5b (6:4e5b) - ld a,[wd74b] - bit 4,a +PalletTownScript: + CheckEvent EVENT_GOT_POKEBALLS_FROM_OAK jr z,.next - ld hl,wd747 - set 6,[hl] + SetEvent EVENT_PALLET_AFTER_GETTING_POKEBALLS .next call EnableAutoTextBoxDrawing ld hl,PalletTownScriptPointers - ld a,[W_PALLETTOWNCURSCRIPT] + ld a,[wPalletTownCurScript] jp CallFunctionInTable -PalletTownScriptPointers: ; 18e73 (6:4e73) +PalletTownScriptPointers: dw PalletTownScript0 dw PalletTownScript1 dw PalletTownScript2 @@ -19,93 +17,92 @@ PalletTownScriptPointers: ; 18e73 (6:4e73) dw PalletTownScript5 dw PalletTownScript6 -PalletTownScript0: ; 18e81 (6:4e81) - ld a,[wd747] - bit 0,a +PalletTownScript0: + CheckEvent EVENT_FOLLOWED_OAK_INTO_LAB ret nz - ld a,[W_YCOORD] + ld a,[wYCoord] cp 1 ; is player near north exit? ret nz xor a ld [hJoyHeld],a - ld a,4 - ld [wd528],a + ld a,PLAYER_DIR_DOWN + ld [wPlayerMovingDirection],a ld a,$FF call PlaySound ; stop music ld a, BANK(Music_MeetProfOak) - ld c,a ; song bank + ld c,a ld a, MUSIC_MEET_PROF_OAK ; “oak appears” music - call PlayMusic ; plays music + call PlayMusic ld a,$FC ld [wJoyIgnore],a - ld hl,wd74b - set 7,[hl] + SetEvent EVENT_OAK_APPEARED_IN_PALLET ; trigger the next script ld a,1 - ld [W_PALLETTOWNCURSCRIPT],a + ld [wPalletTownCurScript],a ret -PalletTownScript1: ; 18eb2 (6:4eb2) +PalletTownScript1: xor a ld [wcf0d],a ld a,1 - ld [$FF8C],a + ld [hSpriteIndexOrTextID],a call DisplayTextID ld a,$FF ld [wJoyIgnore],a ld a,HS_PALLET_TOWN_OAK - ld [wcc4d],a + ld [wMissableObjectIndex],a predef ShowObject ; trigger the next script ld a,2 - ld [W_PALLETTOWNCURSCRIPT],a + ld [wPalletTownCurScript],a ret -PalletTownScript2: ; 18ed2 (6:4ed2) +PalletTownScript2: ld a,1 - ld [$FF8C],a - ld a,4 - ld [$FF8D],a + ld [H_SPRITEINDEX],a + ld a,SPRITE_FACING_UP + ld [hSpriteFacingDirection],a call SetSpriteFacingDirectionAndDelay call Delay3 ld a,1 - ld [W_YCOORD],a + ld [wYCoord],a ld a,1 - ld [$FF9B],a + ld [hNPCPlayerRelativePosPerspective],a ld a,1 swap a - ld [$FF95],a + ld [hNPCSpriteOffset],a predef CalcPositionOfPlayerRelativeToNPC - ld hl,$FF95 + ld hl,hNPCPlayerYDistance dec [hl] predef FindPathToPlayer ; load Oak’s movement into wNPCMovementDirections2 ld de,wNPCMovementDirections2 ld a,1 ; oak - ld [$FF8C],a + ld [H_SPRITEINDEX],a call MoveSprite ld a,$FF ld [wJoyIgnore],a ; trigger the next script ld a,3 - ld [W_PALLETTOWNCURSCRIPT],a + ld [wPalletTownCurScript],a ret -PalletTownScript3: ; 18f12 (6:4f12) +PalletTownScript3: ld a,[wd730] bit 0,a ret nz - xor a + xor a ; ld a, SPRITE_FACING_DOWN ld [wSpriteStateData1 + 9],a ld a,1 ld [wcf0d],a ld a,$FC ld [wJoyIgnore],a ld a,1 - ld [$FF8C],a + ld [hSpriteIndexOrTextID],a call DisplayTextID +; set up movement script that causes the player to follow Oak to his lab ld a,$FF ld [wJoyIgnore],a ld a,1 @@ -119,44 +116,39 @@ PalletTownScript3: ; 18f12 (6:4f12) ; trigger the next script ld a,4 - ld [W_PALLETTOWNCURSCRIPT],a + ld [wPalletTownCurScript],a ret -PalletTownScript4: ; 18f4b (6:4f4b) +PalletTownScript4: ld a,[wNPCMovementScriptPointerTableNum] - and a + and a ; is the movement script over? ret nz ; trigger the next script ld a,5 - ld [W_PALLETTOWNCURSCRIPT],a + ld [wPalletTownCurScript],a ret -PalletTownScript5: ; 18f56 (6:4f56) - ld a,[wd74a] - bit 2,a +PalletTownScript5: + CheckEvent EVENT_DAISY_WALKING jr nz,.next - and 3 - cp 3 + CheckBothEventsSet EVENT_GOT_TOWN_MAP, EVENT_ENTERED_BLUES_HOUSE, 1 jr nz,.next - ld hl,wd74a - set 2,[hl] + SetEvent EVENT_DAISY_WALKING ld a,HS_DAISY_SITTING - ld [wcc4d],a + ld [wMissableObjectIndex],a predef HideObject ld a,HS_DAISY_WALKING - ld [wcc4d],a + ld [wMissableObjectIndex],a predef_jump ShowObject .next - ld a,[wd74b] - bit 4,a + CheckEvent EVENT_GOT_POKEBALLS_FROM_OAK ret z - ld hl,wd74b - set 6,[hl] -PalletTownScript6: ; 18f87 (6:4f87) + SetEvent EVENT_PALLET_AFTER_GETTING_POKEBALLS_2 +PalletTownScript6: ret -PalletTownTextPointers: ; 18f88 (6:4f88) +PalletTownTextPointers: dw PalletTownText1 dw PalletTownText2 dw PalletTownText3 @@ -165,8 +157,8 @@ PalletTownTextPointers: ; 18f88 (6:4f88) dw PalletTownText6 dw PalletTownText7 -PalletTownText1: ; 18f96 (6:4f96) - db 8 +PalletTownText1: + TX_ASM ld a,[wcf0d] and a jr nz,.next @@ -180,43 +172,43 @@ PalletTownText1: ; 18f96 (6:4f96) call PrintText jp TextScriptEnd -OakAppearsText: ; 18fb0 (6:4fb0) +OakAppearsText: TX_FAR _OakAppearsText - db 8 + TX_ASM ld c,10 call DelayFrames xor a - ld [wcd4f],a - ld [wcd50],a - predef EmotionBubble ; display ! over head - ld a,4 - ld [wd528],a + ld [wEmotionBubbleSpriteIndex],a ; player's sprite + ld [wWhichEmotionBubble],a ; EXCLAMATION_BUBBLE + predef EmotionBubble + ld a,PLAYER_DIR_DOWN + ld [wPlayerMovingDirection],a jp TextScriptEnd -OakWalksUpText: ; 18fce (6:4fce) +OakWalksUpText: TX_FAR _OakWalksUpText db "@" -PalletTownText2: ; 0x18fd3 girl +PalletTownText2: ; girl TX_FAR _PalletTownText2 db "@" -PalletTownText3: ; 0x18fd8 fat man +PalletTownText3: ; fat man TX_FAR _PalletTownText3 db "@" -PalletTownText4: ; 0x18fdd sign by lab +PalletTownText4: ; sign by lab TX_FAR _PalletTownText4 db "@" -PalletTownText5: ; 0x18fe2 sign by fence +PalletTownText5: ; sign by fence TX_FAR _PalletTownText5 db "@" -PalletTownText6: ; 0x18fe7 sign by Red’s house +PalletTownText6: ; sign by Red’s house TX_FAR _PalletTownText6 db "@" -PalletTownText7: ; 0x18fec sign by Blue’s house +PalletTownText7: ; sign by Blue’s house TX_FAR _PalletTownText7 db "@" |