diff options
310 files changed, 29853 insertions, 29630 deletions
diff --git a/data/hidden_objects.asm b/data/hidden_objects.asm index 01ecfd97..54326b35 100755 --- a/data/hidden_objects.asm +++ b/data/hidden_objects.asm @@ -608,7 +608,8 @@ Mansion1HiddenObjects: ; 46f2b (11:6f2b) db $FF Mansion2HiddenObjects: ; 46f38 (11:6f38) db $0b,$02,$04 ; XXX, y, x - dbw Bank(Func_52037), Func_52037 + db Bank(Mansion2Script_52037) + dw Mansion2Script_52037 db $FF Mansion3HiddenObjects: ; 46f3f (11:6f3f) db $09,$01,MAX_REVIVE @@ -10333,8 +10333,8 @@ GivePokemon:: ; 3e48 (0:3e48) ld [$d127], a xor a ld [$cc49], a - ld b, BANK(Func_4fda5) - ld hl, Func_4fda5 + ld b, BANK(_GivePokemon) + ld hl, _GivePokemon jp Bankswitch GenRandom:: ; 3e5c (0:3e5c) @@ -29002,2004 +29002,23 @@ Func_18e36: ; 18e36 (6:4e36) ld [H_CURRENTPRESSEDBUTTONS], a ret -PalletTownScript: ; 18e5b (6:4e5b) - ld a,[$D74B] - bit 4,a - jr z,.next - ld hl,$D747 - set 6,[hl] -.next - call EnableAutoTextBoxDrawing - ld hl,PalletTownScriptPointers - ld a,[W_PALLETTOWNCURSCRIPT] - jp CallFunctionInTable - -PalletTownScriptPointers: ; 18e73 (6:4e73) - dw PalletTownScript0 - dw PalletTownScript1 - dw PalletTownScript2 - dw PalletTownScript3 - dw PalletTownScript4 - dw PalletTownScript5 - dw PalletTownScript6 - -PalletTownScript0: ; 18e81 (6:4e81) - ld a,[$D747] - bit 0,a - ret nz - ld a,[W_YCOORD] - cp 1 ; is player near north exit? - ret nz - xor a - ld [H_CURRENTPRESSEDBUTTONS],a - ld a,4 - ld [$D528],a - ld a,$FF - call PlaySound ; stop music - ld a, BANK(Music_MeetProfOak) - ld c,a ; song bank - ld a, MUSIC_MEET_PROF_OAK ; “oak appears” music - call PlayMusic ; plays music - ld a,$FC - ld [wJoypadForbiddenButtonsMask],a - ld hl,$D74B - set 7,[hl] - - ; trigger the next script - ld a,1 - ld [W_PALLETTOWNCURSCRIPT],a - ret +INCLUDE "scripts/pallettown.asm" -PalletTownScript1: ; 18eb2 (6:4eb2) - xor a - ld [$CF0D],a - ld a,1 - ld [$FF8C],a - call DisplayTextID - ld a,$FF - ld [wJoypadForbiddenButtonsMask],a - ld a,0 - ld [$CC4D],a - ld a,$15 - call Predef +INCLUDE "scripts/viridiancity.asm" - ; trigger the next script - ld a,2 - ld [W_PALLETTOWNCURSCRIPT],a - ret +INCLUDE "scripts/pewtercity.asm" -PalletTownScript2: ; 18ed2 (6:4ed2) - ld a,1 - ld [$FF8C],a - ld a,4 - ld [$FF8D],a - call Func_34a6 - call Delay3 - ld a,1 - ld [W_YCOORD],a - ld a,1 - ld [$FF9B],a - ld a,1 - swap a - ld [$FF95],a - ld a,$22 - call Predef - ld hl,$FF95 - dec [hl] - ld a,$20 - call Predef ; load Oak’s movement into $CC97 - ld de,$CC97 - ld a,1 ; oak - ld [$FF8C],a - call MoveSprite - ld a,$FF - ld [wJoypadForbiddenButtonsMask],a +INCLUDE "scripts/ceruleancity.asm" - ; trigger the next script - ld a,3 - ld [W_PALLETTOWNCURSCRIPT],a - ret +INCLUDE "scripts/vermilioncity.asm" -PalletTownScript3: ; 18f12 (6:4f12) - ld a,[$D730] - bit 0,a - ret nz - xor a - ld [$C109],a - ld a,1 - ld [$CF0D],a - ld a,$FC - ld [wJoypadForbiddenButtonsMask],a - ld a,1 - ld [$FF8C],a - call DisplayTextID - ld a,$FF - ld [wJoypadForbiddenButtonsMask],a - ld a,1 - ld [$CF13],a - xor a - ld [$CF10],a - ld a,1 - ld [$CC57],a - ld a,[H_LOADEDROMBANK] - ld [$CC58],a - - ; trigger the next script - ld a,4 - ld [W_PALLETTOWNCURSCRIPT],a - ret - -PalletTownScript4: ; 18f4b (6:4f4b) - ld a,[$CC57] - and a - ret nz - - ; trigger the next script - ld a,5 - ld [W_PALLETTOWNCURSCRIPT],a - ret - -PalletTownScript5: ; 18f56 (6:4f56) - ld a,[$D74A] - bit 2,a - jr nz,.next - and 3 - cp 3 - jr nz,.next - ld hl,$D74A - set 2,[hl] - ld a,$27 - ld [$CC4D],a - ld a,$11 - call Predef - ld a,$28 - ld [$CC4D],a - ld a,$15 - jp Predef -.next - ld a,[$D74B] - bit 4,a - ret z - ld hl,$D74B - set 6,[hl] -PalletTownScript6: ; 18f87 (6:4f87) - ret - -PalletTownTextPointers: ; 18f88 (6:4f88) - dw PalletTownText1 - dw PalletTownText2 - dw PalletTownText3 - dw PalletTownText4 - dw PalletTownText5 - dw PalletTownText6 - dw PalletTownText7 - -PalletTownText1: ; 18f96 (6:4f96) - db 8 - ld a,[$CF0D] - and a - jr nz,.next - ld a,1 - ld [$CC3C],a - ld hl,OakAppearsText - jr .done -.next - ld hl,OakWalksUpText -.done - call PrintText - jp TextScriptEnd - -OakAppearsText: ; 18fb0 (6:4fb0) - TX_FAR _OakAppearsText - db 8 - ld c,10 - call DelayFrames - xor a - ld [$CD4F],a - ld [$CD50],a - ld a,$4C - call Predef ; display ! over head - ld a,4 - ld [$D528],a - jp TextScriptEnd +INCLUDE "scripts/celadoncity.asm" -OakWalksUpText: ; 18fce (6:4fce) - TX_FAR _OakWalksUpText - db "@" - -PalletTownText2: ; 0x18fd3 girl - TX_FAR _PalletTownText2 - db "@" - -PalletTownText3: ; 0x18fd8 fat man - TX_FAR _PalletTownText3 - db "@" - -PalletTownText4: ; 0x18fdd sign by lab - TX_FAR _PalletTownText4 - db "@" - -PalletTownText5: ; 0x18fe2 sign by fence - TX_FAR _PalletTownText5 - db "@" - -PalletTownText6: ; 0x18fe7 sign by Red’s house - TX_FAR _PalletTownText6 - db "@" - -PalletTownText7: ; 0x18fec sign by Blue’s house - TX_FAR _PalletTownText7 - db "@" - -ViridianCityScript: ; 18ff1 (6:4ff1) - call EnableAutoTextBoxDrawing - ld hl, ViridianCityScriptPointers - ld a, [W_VIRIDIANCITYCURSCRIPT] - jp CallFunctionInTable - -ViridianCityScriptPointers: ; 18ffd (6:4ffd) - dw ViridianCityScript0 - dw ViridianCityScript1 - dw ViridianCityScript2 - dw ViridianCityScript3 - -ViridianCityScript0: ; 19005 (6:5005) - call ViridianCityScript_1900b - jp ViridianCityScript_1903d - -ViridianCityScript_1900b: ; 1900b (6:500b) - ld a, [$d74c] - bit 0, a - ret nz - ld a, [W_OBTAINEDBADGES] - cp %01111111 - jr nz, .asm_1901e ; 0x19016 $6 - ld hl, $d74c - set 0, [hl] - ret -.asm_1901e - ld a, [W_YCOORD] - cp $8 - ret nz - ld a, [W_XCOORD] - cp $20 - ret nz - ld a, $e - ld [$ff8c], a - call DisplayTextID - xor a - ld [H_CURRENTPRESSEDBUTTONS], a - call ViridianCityScript_190cf - ld a, $3 - ld [W_VIRIDIANCITYCURSCRIPT], a - ret - -ViridianCityScript_1903d: ; 1903d (6:503d) - ld a, [$d74b] - bit 5, a - ret nz - ld a, [W_YCOORD] - cp $9 - ret nz - ld a, [W_XCOORD] - cp $13 - ret nz - ld a, $5 - ld [$ff8c], a - call DisplayTextID - xor a - ld [H_CURRENTPRESSEDBUTTONS], a - call ViridianCityScript_190cf - ld a, $3 - ld [W_VIRIDIANCITYCURSCRIPT], a - ret - -ViridianCityScript1: ; 19062 (6:5062) - ld a, [$c134] - ld [$ffeb], a - ld a, [$c136] - ld [$ffec], a - ld a, [$c234] - ld [$ffed], a - ld a, [$c235] - ld [$ffee], a - xor a - ld [wListScrollOffset], a - - ; set up battle for Old Man - ld a, $1 - ld [W_BATTLETYPE], a - ld a, 5 - ld [W_CURENEMYLVL], a - ld a, WEEDLE - ld [W_CUROPPONENT], a - ld a, $2 - ld [W_VIRIDIANCITYCURSCRIPT], a - ret - -ViridianCityScript2: ; 1908f (6:508f) - ld a, [$ffeb] - ld [$c134], a - ld a, [$ffec] - ld [$c136], a - ld a, [$ffed] - ld [$c234], a - ld a, [$ffee] - ld [$c235], a - call UpdateSprites - call Delay3 - xor a - ld [wJoypadForbiddenButtonsMask], a - ld a, $f - ld [$ff8c], a - call DisplayTextID - xor a - ld [W_BATTLETYPE], a - ld [wJoypadForbiddenButtonsMask], a - ld a, $0 - ld [W_VIRIDIANCITYCURSCRIPT], a - ret - -ViridianCityScript3: ; 190c1 (6:50c1) - ld a, [$cd38] - and a - ret nz - call Delay3 - ld a, 0 - ld [W_VIRIDIANCITYCURSCRIPT], a - ret - -ViridianCityScript_190cf: ; 190cf (6:50cf) - call Func_3486 - ld a, $1 - ld [$cd38], a - ld a, $80 - ld [$ccd3], a - xor a - ld [$c109], a - ld [wJoypadForbiddenButtonsMask], a - ret - -ViridianCityTextPointers: ; 190e4 (6:50e4) - dw ViridianCityText1 - dw ViridianCityText2 - dw ViridianCityText3 - dw ViridianCityText4 - dw ViridianCityText5 - dw ViridianCityText6 - dw ViridianCityText7 - dw ViridianCityText8 - dw ViridianCityText9 - dw ViridianCityText10 - dw MartSignText - dw PokeCenterSignText - dw ViridianCityText13 - dw ViridianCityText14 - dw ViridianCityText15 - -ViridianCityText1: ; 19102 (6:5102) - TX_FAR _ViridianCityText1 - db "@" - -ViridianCityText2: ; 19107 (6:5107) - db $08 ; asm - ld a, [W_OBTAINEDBADGES] - cp %01111111 - ld hl, UnnamedText_19127 - jr z, .asm_ae9fe ; 0x19110 - ld a, [$d751] - bit 1, a - jr nz, .asm_ae9fe ; 0x19117 - ld hl, UnnamedText_19122 -.asm_ae9fe ; 0x1911c - call PrintText - jp TextScriptEnd - -UnnamedText_19122: ; 19122 (6:5122) - TX_FAR _UnnamedText_19122 - db "@" - -UnnamedText_19127: ; 19127 (6:5127) - TX_FAR _UnnamedText_19127 - db "@" - -ViridianCityText3: ; 1912c (6:512c) - db $08 ; asm - ld hl, UnnamedText_1914d - call PrintText - call YesNoChoice - ld a, [$cc26] - and a - jr nz, .asm_6dfea ; 0x1913a - ld hl, UnnamedText_19157 - call PrintText - jr .asm_d611f ; 0x19142 -.asm_6dfea ; 0x19144 - ld hl, UnnamedText_19152 - call PrintText -.asm_d611f ; 0x1914a - jp TextScriptEnd - -UnnamedText_1914d: ; 1914d (6:514d) - TX_FAR _UnnamedText_1914d - db "@" - -UnnamedText_19152: ; 19152 (6:5152) - TX_FAR _UnnamedText_19152 - db "@" - -UnnamedText_19157: ; 19157 (6:5157) - TX_FAR _UnnamedText_19157 - db "@" - -ViridianCityText4: ; 1915c (6:515c) - db $08 ; asm - ld a, [$d74b] - bit 5, a - jr nz, .asm_83894 ; 0x19162 - ld hl, UnnamedText_19175 - call PrintText - jr .asm_700a6 ; 0x1916a -.asm_83894 ; 0x1916c - ld hl, UnnamedText_1917a - call PrintText -.asm_700a6 ; 0x19172 - jp TextScriptEnd - -UnnamedText_19175: ; 19175 (6:5175) - TX_FAR _UnnamedText_19175 - db "@" - -UnnamedText_1917a: ; 1917a (6:517a) - TX_FAR _UnnamedText_1917a - db "@" - -ViridianCityText5: ; 1917f (6:517f) - db $08 ; asm - ld hl, UnnamedText_19191 - call PrintText - call ViridianCityScript_190cf - ld a, $3 - ld [W_VIRIDIANCITYCURSCRIPT], a - jp TextScriptEnd - -UnnamedText_19191: ; 19191 (6:5191) - TX_FAR _UnnamedText_19191 - db "@" - -ViridianCityText6: ; 19196 (6:5196) - db $08 ; asm - ld a, [$d74c] - bit 1, a - jr nz, .asm_4e5a0 ; 0x1919c - ld hl, UnnamedText_191ca - call PrintText - ld bc, (TM_42 << 8) | 1 - call GiveItem - jr nc, .BagFull - ld hl, ReceivedTM42Text - call PrintText - ld hl, $d74c - set 1, [hl] - jr .asm_3c73c ; 0x191b7 -.BagFull - ld hl, TM42NoRoomText - call PrintText - jr .asm_3c73c ; 0x191bf -.asm_4e5a0 ; 0x191c1 - ld hl, TM42Explanation - call PrintText -.asm_3c73c ; 0x191c7 - jp TextScriptEnd - -UnnamedText_191ca: ; 191ca (6:51ca) - TX_FAR _UnnamedText_191ca - db "@" - -ReceivedTM42Text: ; 191cf (6:51cf) - TX_FAR _ReceivedTM42Text - db $10, "@" - -TM42Explanation: ; 191d5 (6:51d5) - TX_FAR _TM42Explanation - db "@" - -TM42NoRoomText: ; 191da (6:51da) - TX_FAR _TM42NoRoomText - db "@" - -ViridianCityText7: ; 191df (6:51df) - db $08 ; asm - ld hl, UnnamedText_1920a - call PrintText - ld c, $2 - call DelayFrames - call YesNoChoice - ld a, [$cc26] - and a - jr z, .asm_42f68 ; 0x191f2 - ld hl, UnnamedText_1920f - call PrintText - ld a, $1 - ld [W_VIRIDIANCITYCURSCRIPT], a - jr .asm_2413a ; 0x191ff -.asm_42f68 ; 0x19201 - ld hl, UnnamedText_19214 - call PrintText -.asm_2413a ; 0x19207 - jp TextScriptEnd - -UnnamedText_1920a: ; 1920a (6:520a) - TX_FAR _UnnamedText_1920a - db "@" - -UnnamedText_1920f: ; 1920f (6:520f) - TX_FAR _UnnamedText_1920f - db "@" - -UnnamedText_19214: ; 19214 (6:5214) - TX_FAR _UnnamedText_19214 - db "@" - -ViridianCityText15: ; 19219 (6:5219) - TX_FAR _UnnamedText_19219 - db "@" - -ViridianCityText8: ; 1921e (6:521e) - TX_FAR _ViridianCityText8 - db "@" - -ViridianCityText9: ; 19223 (6:5223) - TX_FAR _ViridianCityText9 - db "@" - -ViridianCityText10: ; 19228 (6:5228) - TX_FAR _ViridianCityText10 - db "@" - -ViridianCityText13: ; 1922d (6:522d) - TX_FAR _ViridianCityText13 - db "@" - -ViridianCityText14: ; 19232 (6:5232) - TX_FAR _ViridianCityText14 - db "@" - -PewterCityScript: ; 19237 (6:5237) - call EnableAutoTextBoxDrawing - ld hl, PewterCityScriptPointers - ld a, [W_PEWTERCITYCURSCRIPT] - jp CallFunctionInTable - -PewterCityScriptPointers: ; 19243 (6:5243) - dw PewterCityScript0 - dw PewterCityScript1 - dw PewterCityScript2 - dw PewterCityScript3 - dw PewterCityScript4 - dw PewterCityScript5 - dw PewterCityScript6 - -PewterCityScript0: ; 19251 (6:5251) - xor a - ld [W_MUSEUM1FCURSCRIPT], a - ld hl, $d754 - res 0, [hl] - call PewterCityScript_1925e - ret - -PewterCityScript_1925e: ; 1925e (6:525e) - ld a, [$d755] - bit 7, a - ret nz - ld hl, CoordsData_19277 - call ArePlayerCoordsInArray - ret nc - ld a, $f0 - ld [wJoypadForbiddenButtonsMask], a - ld a, $5 - ld [$ff8c], a - jp DisplayTextID - -CoordsData_19277: ; 19277 (6:5277) - db $11,$23 - db $11,$24 - db $12,$25 - db $13,$25 - db $ff - -PewterCityScript1: ; 19280 (6:5280) - ld a, [$cc57] - and a - ret nz - ld a, $3 - ld [$ff8c], a - ld a, $4 - ld [$ff8d], a - call Func_34a6 - ld a, $34 - ld [$ff8d], a - call Func_34b9 - call Func_2307 - ld hl, wFlags_0xcd60 - set 4, [hl] - ld a, $d - ld [$ff8c], a - call DisplayTextID - ld a, $3c - ld [$ffeb], a - ld a, $30 - ld [$ffec], a - ld a, $c - ld [$ffed], a - ld a, $11 - ld [$ffee], a - ld a, $3 - ld [$cf13], a - call Func_32f9 - ld a, $3 - ld [$ff8c], a - ld de, MovementData_PewterMuseumGuyExit ; $52ce - call MoveSprite - ld a, $2 - ld [W_PEWTERCITYCURSCRIPT], a - ret - -MovementData_PewterMuseumGuyExit: ; 192ce (6:52ce) - db $00,$00,$00,$00,$FF - -PewterCityScript2: ; 192d3 (6:52d3) - ld a, [$d730] - bit 0, a - ret nz - ld a, $3 - ld [$cc4d], a - ld a, $11 - call Predef - ld a, $3 - ld [W_PEWTERCITYCURSCRIPT], a - ret - -PewterCityScript3: ; 192e9 (6:52e9) - ld a, $3 - ld [$cf13], a - call Func_32fe - ld a, $3 - ld [$cc4d], a - ld a, $15 - call Predef - xor a - ld [wJoypadForbiddenButtonsMask], a - ld a, $0 - ld [W_PEWTERCITYCURSCRIPT], a - ret - -PewterCityScript4: ; 19305 (6:5305) - ld a, [$cc57] - and a - ret nz - ld a, $5 - ld [$ff8c], a - ld a, $8 - ld [$ff8d], a - call Func_34a6 - ld a, $18 - ld [$ff8d], a - call Func_34b9 - call Func_2307 - ld hl, wFlags_0xcd60 - set 4, [hl] - ld a, $e - ld [$ff8c], a - call DisplayTextID - ld a, $3c - ld [$ffeb], a - ld a, $40 - ld [$ffec], a - ld a, $16 - ld [$ffed], a - ld a, $10 - ld [$ffee], a - ld a, $5 - ld [$cf13], a - call Func_32f9 - ld a, $5 - ld [$ff8c], a - ld de, MovementData_PewterGymGuyExit - call MoveSprite - ld a, $5 - ld [W_PEWTERCITYCURSCRIPT], a - ret - -MovementData_PewterGymGuyExit: ; 19353 (6:5353) - db $C0,$C0,$C0,$C0,$C0,$FF - -PewterCityScript5: ; 19359 (6:5359) - ld a, [$d730] - bit 0, a - ret nz - ld a, $4 - ld [$cc4d], a - ld a, $11 - call Predef - ld a, $6 - ld [W_PEWTERCITYCURSCRIPT], a - ret - -PewterCityScript6: ; 1936f (6:536f) - ld a, $5 - ld [$cf13], a - call Func_32fe - ld a, $4 - ld [$cc4d], a - ld a, $15 - call Predef - xor a - ld [wJoypadForbiddenButtonsMask], a - ld a, $0 - ld [W_PEWTERCITYCURSCRIPT], a - ret - -PewterCityTextPointers: ; 1938b (6:538b) - dw PewterCityText1 - dw PewterCityText2 - dw PewterCityText3 - dw PewterCityText4 - dw PewterCityText5 - dw PewterCityText6 - dw PewterCityText7 - dw MartSignText - dw PokeCenterSignText - dw PewterCityText10 - dw PewterCityText11 - dw PewterCityText12 - dw PewterCityText13 - dw PewterCityText14 - -PewterCityText1: ; 193a7 (6:53a7) - TX_FAR _PewterCityText1 - db "@" - -PewterCityText2: ; 193ac (6:53ac) - TX_FAR _PewterCityText2 - db "@" - -PewterCityText3: ; 193b1 (6:53b1) - db $08 ; asm - ld hl, UnnamedText_193f1 - call PrintText - call YesNoChoice - ld a, [$cc26] - and a - jr nz, .asm_f46a9 ; 0x193bf - ld hl, UnnamedText_193f6 - call PrintText - jr .asm_ac429 ; 0x193c7 -.asm_f46a9 ; 0x193c9 - ld hl, UnnamedText_193fb - call PrintText - xor a - ldh [$b3], a - ldh [$b4], a - ld [$cf10], a - ld a, $2 - ld [$cc57], a - ldh a, [$b8] - ld [$cc58], a - ld a, $3 - ld [$cf13], a - call Func_32f4 - ld a, $1 - ld [W_PEWTERCITYCURSCRIPT], a -.asm_ac429 ; 0x193ee - jp TextScriptEnd - -UnnamedText_193f1: ; 193f1 (6:53f1) - TX_FAR _UnnamedText_193f1 - db "@" - -UnnamedText_193f6: ; 193f6 (6:53f6) - TX_FAR _UnnamedText_193f6 - db "@" - -UnnamedText_193fb: ; 193fb (6:53fb) - TX_FAR _UnnamedText_193fb - db "@" - -PewterCityText13: ; 19400 (6:5400) - TX_FAR _PewterCityText13 - db "@" - -PewterCityText4: ; 19405 (6:5405) - db $8 - ld hl, UnnamedText_19427 - call PrintText - call YesNoChoice - ld a, [$cc26] - cp $0 - jr nz, .asm_e4603 - ld hl, UnnamedText_1942c - call PrintText - jr .asm_e4604 ; 0x1941c $6 -.asm_e4603 - ld hl, UnnamedText_19431 - call PrintText -.asm_e4604 ; 0x19424 - jp TextScriptEnd - -UnnamedText_19427: ; 19427 (6:5427) - TX_FAR _UnnamedText_19427 - db "@" - -UnnamedText_1942c: ; 1942c (6:542c) - TX_FAR _UnnamedText_1942c - db "@" - -UnnamedText_19431: ; 19431 (6:5431) - TX_FAR _UnnamedText_19431 - db "@" - -PewterCityText5: ; 19436 (6:5436) - db $08 ; asm - ld hl, UnnamedText_1945d - call PrintText - xor a - ldh [$b4], a - ld [$cf10], a - ld a, $3 - ld [$cc57], a - ldh a, [$b8] - ld [$cc58], a - ld a, $5 - ld [$cf13], a - call Func_32f4 - ld a, $4 - ld [W_PEWTERCITYCURSCRIPT], a - jp TextScriptEnd - -UnnamedText_1945d: ; 1945d (6:545d) - TX_FAR _UnnamedText_1945d - db "@" - -PewterCityText14: ; 19462 (6:5462) - -UnnamedText_19462: ; 19462 (6:5462) - TX_FAR _UnnamedText_19462 - db "@" - -PewterCityText6: ; 19467 (6:5467) - TX_FAR _PewterCityText6 - db "@" - -PewterCityText7: ; 1946c (6:546c) - TX_FAR _PewterCityText7 - db "@" - -PewterCityText10: ; 19471 (6:5471) - TX_FAR _PewterCityText10 - db "@" - -PewterCityText11: ; 19476 (6:5476) - TX_FAR _PewterCityText11 - db "@" - -PewterCityText12: ; 1947b (6:547b) - TX_FAR _PewterCityText12 - db "@" - -CeruleanCityScript: ; 19480 (6:5480) - call EnableAutoTextBoxDrawing - ld hl, CeruleanCityScriptPointers - ld a, [W_CERULEANCITYCURSCRIPT] - jp CallFunctionInTable - -CeruleanCityScript_1948c: ; 1948c (6:548c) - xor a - ld [wJoypadForbiddenButtonsMask], a - ld [W_CERULEANCITYCURSCRIPT], a - ld a, $5 - ld [$cc4d], a - ld a, $11 - jp Predef - -CeruleanCityScriptPointers: ; 1949d (6:549d) - dw CeruleanCityScript0 - dw CeruleanCityScript1 - dw CeruleanCityScript2 - dw CeruleanCityScript3 - dw CeruleanCityScript4 - -CeruleanCityScript4: ; 194a7 (6:54a7) - ld a, [W_ISINBATTLE] - cp $ff - jp z, CeruleanCityScript_1948c - ld a, $f0 - ld [wJoypadForbiddenButtonsMask], a - ld hl, $d75b - set 7, [hl] - ld a, $2 - ld [$ff8c], a - call DisplayTextID - xor a - ld [wJoypadForbiddenButtonsMask], a - ld [W_CERULEANCITYCURSCRIPT], a - ret - -CeruleanCityScript0: ; 194c8 (6:54c8) - ld a, [$d75b] - bit 7, a - jr nz, .asm_194f7 ; 0x194cd $28 - ld hl, CeruleanCityCoords1 - call ArePlayerCoordsInArray - jr nc, .asm_194f7 ; 0x194d5 $20 - ld a, [$cd3d] - cp $1 - ld a, $8 - ld b, $0 - jr nz, .asm_194e6 ; 0x194e0 $4 - ld a, $4 - ld b, $4 -.asm_194e6 - ld [$d528], a - ld a, b - ld [$c129], a - call Delay3 - ld a, $2 - ld [$ff8c], a - jp DisplayTextID -.asm_194f7 - ld a, [$d75a] - bit 0, a - ret nz - ld hl, CeruleanCityCoords2 - call ArePlayerCoordsInArray - ret nc - ld a, [$d700] - and a - jr z, .asm_19512 ; 0x19508 $8 - ld a, $ff - ld [$c0ee], a - call PlaySound -.asm_19512 - ld c, BANK(Music_MeetRival) - ld a, MUSIC_MEET_RIVAL - call PlayMusic - xor a - ld [H_CURRENTPRESSEDBUTTONS], a - ld a, $f0 - ld [wJoypadForbiddenButtonsMask], a - ld a, [W_XCOORD] - cp $14 - jr z, .asm_19535 ; 0x19526 $d - ld a, $1 - ld [$ff8c], a - ld a, $5 - ld [$ff8b], a - call Func_3500 - ld [hl], $19 -.asm_19535 - ld a, $5 - ld [$cc4d], a - ld a, $15 - call Predef - ld de, CeruleanCityMovement1 - ld a, $1 - ld [$ff8c], a - call MoveSprite - ld a, $1 - ld [W_CERULEANCITYCURSCRIPT], a - ret - -CeruleanCityCoords1: ; 1954f (6:554f) - db $07,$1e - db $09,$1e - db $ff - -CeruleanCityCoords2: ; 19554 (6:5554) - db $06,$14 - db $06,$15 - db $ff - -CeruleanCityMovement1: ; 19559 (6:5559) - db $00,$00,$00,$FF - -CeruleanCityScript_1955d: ; 1955d (6:555d) - ld a,1 - ld [$ff8c],a - xor a - ld [$ff8d],a - jp Func_34a6 ; face object - -CeruleanCityScript1: ; 19567 (6:5567) - ld a, [$d730] - bit 0, a - ret nz - xor a - ld [wJoypadForbiddenButtonsMask], a - ld a, $1 - ld [$ff8c], a - call DisplayTextID - ld hl, $d72d - set 6, [hl] - set 7, [hl] - ld hl, UnnamedText_1966d - ld de, UnnamedText_19672 - call PreBattleSaveRegisters - ld a, SONY1 + $c8 - ld [W_CUROPPONENT], a - - ; select which team to use during the encounter - ld a, [W_RIVALSTARTER] - cp SQUIRTLE - jr nz, .NotSquirtle ; 0x19592 $4 - ld a, $7 - jr .done -.NotSquirtle - cp BULBASAUR - jr nz, .Charmander ; 0x1959a $4 - ld a, $8 - jr .done -.Charmander - ld a, $9 -.done - ld [W_TRAINERNO], a - - xor a - ld [H_CURRENTPRESSEDBUTTONS], a - call CeruleanCityScript_1955d - ld a, $2 - ld [W_CERULEANCITYCURSCRIPT], a - ret - -CeruleanCityScript2: ; 195b1 (6:55b1) - ld a, [$d057] - cp $ff - jp z, CeruleanCityScript_1948c - call CeruleanCityScript_1955d - ld a, $f0 - ld [wJoypadForbiddenButtonsMask], a - ld hl, $d75a - set 0, [hl] - ld a, $1 - ld [$ff8c], a - call DisplayTextID - ld a, $ff - ld [$c0ee], a - call PlaySound - ld b, BANK(Music_RivalAlternateStart) - ld hl, Music_RivalAlternateStart - call Bankswitch - ld a, $1 - ld [$ff8c], a - call SetSpriteMovementBytesToFF - ld a, [W_XCOORD] - cp $14 - jr nz, .asm_195f0 ; 0x195e9 $5 - ld de, CeruleanCityMovement4 - jr .asm_195f3 ; 0x195ee $3 -.asm_195f0 - ld de, CeruleanCityMovement3 -.asm_195f3 - ld a, $1 - ld [$ff8c], a - call MoveSprite - ld a, $3 - ld [W_CERULEANCITYCURSCRIPT], a - ret - -CeruleanCityMovement3: ; 19600 (6:5600) - db $80,$00,$00,$00,$00,$00,$00,$FF - -CeruleanCityMovement4: ; 19608 (6:5608) - db $c0,$00,$00,$00,$00,$00,$00,$FF - -CeruleanCityScript3: ; 19610 (6:5610) - ld a, [$d730] - bit 0, a - ret nz - ld a, $5 - ld [$cc4d], a - ld a, $11 - call Predef - xor a - ld [wJoypadForbiddenButtonsMask], a - call Func_2307 - ld a, $0 - ld [W_CERULEANCITYCURSCRIPT], a - ret - -CeruleanCityTextPointers: ; 1962d (6:562d) - dw CeruleanCityText1 - dw CeruleanCityText2 - dw CeruleanCityText3 - dw CeruleanCityText4 - dw CeruleanCityText5 - dw CeruleanCityText6 - dw CeruleanCityText7 - dw CeruleanCityText8 - dw CeruleanCityText9 - dw CeruleanCityText10 - dw CeruleanCityText11 - dw CeruleanCityText12 - dw CeruleanCityText13 - dw MartSignText - dw PokeCenterSignText - dw CeruleanCityText16 - dw CeruleanCityText17 - -CeruleanCityText1: ; 1964f (6:564f) - db $08 ; asm - ld a, [$d75a] ; rival battle flag - bit 0, a - ; do pre-battle text - jr z, .PreBattleText - ; or talk about bill - ld hl, UnnamedText_19677 - call PrintText - jr .end ; 0x1965d -.PreBattleText ; 0x1965f - ld hl, UnnamedText_19668 - call PrintText -.end ; 0x19665 - jp TextScriptEnd - -UnnamedText_19668: ; 19668 (6:5668) - TX_FAR _UnnamedText_19668 - db "@" - -UnnamedText_1966d: ; 1966d (6:566d) - TX_FAR _UnnamedText_1966d - db "@" - -UnnamedText_19672: ; 19672 (6:5672) - TX_FAR _UnnamedText_19672 - db "@" - -UnnamedText_19677: ; 19677 (6:5677) - TX_FAR _UnnamedText_19677 - db "@" - -CeruleanCityText2: ; 1967c (6:567c) - db $8 - ld a, [$d75b] - bit 7, a - jr nz, .asm_4ca20 ; 0x19682 $29 - ld hl, UnnamedText_196d9 - call PrintText - ld hl, $d72d - set 6, [hl] - set 7, [hl] - ld hl, UnnamedText_196ee - ld de, UnnamedText_196ee - call PreBattleSaveRegisters - ld a, [$ff8c] - ld [$cf13], a - call EngageMapTrainer - call InitBattleEnemyParameters - ld a, $4 - ld [W_CERULEANCITYCURSCRIPT], a - jp TextScriptEnd -.asm_4ca20 ; 0x196ad - ld hl, UnnamedText_196f3 - call PrintText - ld bc, $e401 - call GiveItem - jr c, .Success - ld hl, TM28NoRoomText - call PrintText - jr .Done -.Success - ld a, $1 - ld [$cc3c], a - ld hl, ReceivedTM28Text - call PrintText - ld b, BANK(Func_74872) - ld hl, Func_74872 - call Bankswitch -.Done - jp TextScriptEnd - -UnnamedText_196d9: ; 196d9 (6:56d9) - TX_FAR _UnnamedText_196d9 - db "@" - -ReceivedTM28Text: ; 196de (6:56de) - TX_FAR _ReceivedTM28Text - db $0B - TX_FAR _ReceivedTM28Text2 - db $0D, "@" - -TM28NoRoomText: ; 196e9 (6:56e9) - TX_FAR _TM28NoRoomText - db "@" - -UnnamedText_196ee: ; 196ee (6:56ee) - TX_FAR _UnnamedText_196ee - db "@" - -UnnamedText_196f3: ; 196f3 (6:56f3) - TX_FAR _UnnamedText_196f3 - db "@" - -CeruleanCityText3: ; 196f8 (6:56f8) - TX_FAR _CeruleanCityText3 - db "@" - -CeruleanCityText4: ; 196fd (6:56fd) - TX_FAR _CeruleanCityText4 - db "@" - -CeruleanCityText5: ; 19702 (6:5702) - TX_FAR _CeruleanCityText5 - db "@" - -CeruleanCityText11: ; 19707 (6:5707) -CeruleanCityText6: ; 19707 (6:5707) - TX_FAR _CeruleanCityText6 - db "@" - -CeruleanCityText7: ; 1970c (6:570c) - db $08 ; asm - ldh a, [$d3] - cp $b4 - jr c, .asm_e9fc9 ; 0x19711 - ld hl, UnnamedText_19730 - call PrintText - jr .asm_d486e ; 0x19719 -.asm_e9fc9 ; 0x1971b - cp $64 - jr c, .asm_df99b ; 0x1971d - ld hl, UnnamedText_19735 - call PrintText - jr .asm_d486e ; 0x19725 -.asm_df99b ; 0x19727 - ld hl, UnnamedText_1973a - call PrintText -.asm_d486e ; 0x1972d - jp TextScriptEnd - -UnnamedText_19730: ; 19730 (6:5730) - TX_FAR _UnnamedText_19730 - db "@" - -UnnamedText_19735: ; 19735 (6:5735) - TX_FAR _UnnamedText_19735 - db "@" - -UnnamedText_1973a: ; 1973a (6:573a) - TX_FAR _UnnamedText_1973a - db "@" - -CeruleanCityText8: ; 1973f (6:573f) - db $08 ; asm - ldh a, [$d3] - cp $b4 - jr c, .asm_e28da ; 0x19744 - ld hl, UnnamedText_1976f - call PrintText - jr .asm_f2f38 ; 0x1974c -.asm_e28da ; 0x1974e - cp $78 - jr c, .asm_15d08 ; 0x19750 - ld hl, UnnamedText_19774 - call PrintText - jr .asm_f2f38 ; 0x19758 -.asm_15d08 ; 0x1975a - cp $3c - jr c, .asm_d7fea ; 0x1975c - ld hl, UnnamedText_19779 - call PrintText - jr .asm_f2f38 ; 0x19764 -.asm_d7fea ; 0x19766 - ld hl, UnnamedText_1977e - call PrintText -.asm_f2f38 ; 0x1976c - jp TextScriptEnd - -UnnamedText_1976f: ; 1976f (6:576f) - TX_FAR _UnnamedText_1976f - db "@" - -UnnamedText_19774: ; 19774 (6:5774) - TX_FAR _UnnamedText_19774 - db "@" - -UnnamedText_19779: ; 19779 (6:5779) - TX_FAR _UnnamedText_19779 - db "@" - -UnnamedText_1977e: ; 1977e (6:577e) - TX_FAR _UnnamedText_1977e - db "@" - -CeruleanCityText9: ; 19783 (6:5783) - TX_FAR _CeruleanCityText9 - db "@" - -CeruleanCityText10: ; 19788 (6:5788) - TX_FAR _CeruleanCityText10 - db "@" - -CeruleanCityText12: ; 1978d (6:578d) - TX_FAR _CeruleanCityText12 - db "@" - -CeruleanCityText13: ; 19792 (6:5792) - TX_FAR _CeruleanCityText13 - db "@" - -CeruleanCityText16: ; 19797 (6:5797) - TX_FAR _CeruleanCityText16 - db "@" - -CeruleanCityText17: ; 1979c (6:579c) - TX_FAR _CeruleanCityText17 - db "@" - -VermilionCityScript: ; 197a1 (6:57a1) - call EnableAutoTextBoxDrawing - ld hl, $d126 - bit 6, [hl] - res 6, [hl] - push hl - call nz, VermilionCityScript_197cb - pop hl - bit 5, [hl] - res 5, [hl] - call nz, VermilionCityScript_197c0 - ld hl, VermilionCityScriptPointers - ld a, [W_VERMILIONCITYCURSCRIPT] - jp CallFunctionInTable - -VermilionCityScript_197c0: ; 197c0 (6:57c0) - call GenRandom - ld a, [$ffd4] - and $e - ld [$d743], a - ret - -VermilionCityScript_197cb: ; 197cb (6:57cb) - ld hl, $d803 - bit 2, [hl] - ret z - bit 3, [hl] - set 3, [hl] - ret nz - ld a, $2 - ld [W_VERMILIONCITYCURSCRIPT], a - ret - -VermilionCityScriptPointers: ; 197dc (6:57dc) - dw VermilionCityScript0 - dw VermilionCityScript1 - dw VermilionCityScript2 - dw VermilionCityScript3 - dw VermilionCityScript4 - -VermilionCityScript0: ; 197e6 (6:57e6) - ld a, [$c109] - and a - ret nz - ld hl, CoordsData_19823 - call ArePlayerCoordsInArray - ret nc - xor a - ld [H_CURRENTPRESSEDBUTTONS], a - ld [$cf0d], a - ld a, $3 - ld [$ff8c], a - call DisplayTextID - ld a, [$d803] - bit 2, a - jr nz, .asm_19810 ; 0x19804 $a - ld b, $3f - ld a, $1c - call Predef - ld a, b - and a - ret nz -.asm_19810 - ld a, $40 - ld [$ccd3], a - ld a, $1 - ld [$cd38], a - call Func_3486 - ld a, $1 - ld [W_VERMILIONCITYCURSCRIPT], a - ret - -CoordsData_19823: ; 19823 (6:5823) - db $1e,$12 - db $ff - -VermilionCityScript4: ; 19826 (6:5826) - ld hl, CoordsData_19823 - call ArePlayerCoordsInArray - ret c - ld a, $0 - ld [W_VERMILIONCITYCURSCRIPT], a - ret - -VermilionCityScript2: ; 19833 (6:5833) - ld a, $ff - ld [wJoypadForbiddenButtonsMask], a - ld a, $40 - ld [$ccd3], a - ld [$ccd4], a - ld a, $2 - ld [$cd38], a - call Func_3486 - ld a, $3 - ld [W_VERMILIONCITYCURSCRIPT], a - ret - -VermilionCityScript3: ; 1984e (6:584e) - ld a, [$cd38] - and a - ret nz - xor a - ld [wJoypadForbiddenButtonsMask], a - ld [H_CURRENTPRESSEDBUTTONS], a - ld a, $0 - ld [W_VERMILIONCITYCURSCRIPT], a - ret - -VermilionCityScript1: ; 1985f (6:585f) - ld a, [$cd38] - and a - ret nz - ld c, $a - call DelayFrames - ld a, $0 - ld [W_VERMILIONCITYCURSCRIPT], a - ret - -VermilionCityTextPointers: ; 1986f (6:586f) - dw VermilionCityText1 - dw VermilionCityText2 - dw VermilionCityText3 - dw VermilionCityText4 - dw VermilionCityText5 - dw VermilionCityText6 - dw VermilionCityText7 - dw VermilionCityText8 - dw MartSignText - dw PokeCenterSignText - dw VermilionCityText11 - dw VermilionCityText12 - dw VermilionCityText13 - -VermilionCityText1: ; 19889 (6:5889) - TX_FAR _VermilionCityText1 - db "@" - -VermilionCityText2: ; 1988e (6:588e) - db $08 ; asm - ld a, [$d803] - bit 2, a - jr nz, .asm_359bd ; 0x19894 - ld hl, UnnamedText_198a7 - call PrintText - jr .asm_735d9 ; 0x1989c -.asm_359bd ; 0x1989e - ld hl, UnnamedText_198ac - call PrintText -.asm_735d9 ; 0x198a4 - jp TextScriptEnd - -UnnamedText_198a7: ; 198a7 (6:58a7) - TX_FAR _UnnamedText_198a7 - db "@" - -UnnamedText_198ac: ; 198ac (6:58ac) - TX_FAR _UnnamedText_198ac - db "@" - -VermilionCityText3: ; 198b1 (6:58b1) - db $08 ; asm - ld a, [$d803] - bit 2, a - jr nz, .asm_3e0e9 ; 0x198b7 - ld a, [$c109] - cp $c - jr z, .asm_07af3 ; 0x198be - ld hl, VermilionCityCoords1 - call ArePlayerCoordsInArray - jr nc, .asm_57b73 ; 0x198c6 -.asm_07af3 ; 0x198c8 - ld hl, SSAnneWelcomeText4 - call PrintText - jr .asm_79bd1 ; 0x198ce -.asm_57b73 ; 0x198d0 - ld hl, SSAnneWelcomeText9 - call PrintText - ld b, $3f - ld a, $1c - call Predef - ld a, b - and a - jr nz, .asm_0419b ; 0x198df - ld hl, SSAnneNoTicketText - call PrintText - jr .asm_79bd1 ; 0x198e7 -.asm_0419b ; 0x198e9 - ld hl, SSAnneFlashedTicketText - call PrintText - ld a, $4 - ld [W_VERMILIONCITYCURSCRIPT], a - jr .asm_79bd1 ; 0x198f4 -.asm_3e0e9 ; 0x198f6 - ld hl, SSAnneNotHereText - call PrintText -.asm_79bd1 ; 0x198fc - jp TextScriptEnd - -VermilionCityCoords1: ; 198ff (6:58ff) - db $1d,$13 - db $1f,$13 - db $ff - -SSAnneWelcomeText4: ; 19904 (6:5904) - TX_FAR _SSAnneWelcomeText4 - db "@" - -SSAnneWelcomeText9: ; 19909 (6:5909) - TX_FAR _SSAnneWelcomeText9 - db "@" - -SSAnneFlashedTicketText: ; 1990e (6:590e) - TX_FAR _SSAnneFlashedTicketText - db "@" - -SSAnneNoTicketText: ; 19913 (6:5913) - TX_FAR _SSAnneNoTicketText - db "@" - -SSAnneNotHereText: ; 19918 (6:5918) - TX_FAR _SSAnneNotHereText - db "@" - -VermilionCityText4: ; 1991d (6:591d) - TX_FAR _VermilionCityText4 - db "@" - -VermilionCityText5: ; 19922 (6:5922) - TX_FAR _VermilionCityText5 - db $08 ; asm - ld a, MACHOP - call PlayCry - call WaitForSoundToFinish - ld hl, VermilionCityText14 ; $5933 - ret - -VermilionCityText14: ; 19933 (6:5933) - TX_FAR _VermilionCityText14 - db "@" - -VermilionCityText6: ; 19938 (6:5938) - TX_FAR _VermilionCityText6 - db "@" - -VermilionCityText7: ; 1993d (6:593d) - TX_FAR _VermilionCityText7 - db "@" - -VermilionCityText8: ; 19942 (6:5942) - TX_FAR _VermilionCityText8 - db "@" - -VermilionCityText11: ; 19947 (6:5947) - TX_FAR _VermilionCityText11 - db "@" - -VermilionCityText12: ; 1994c (6:594c) - TX_FAR _VermilionCityText12 - db "@" - -VermilionCityText13: ; 19951 (6:5951) - TX_FAR _VermilionCityText13 - db "@" - -CeladonCityScript: ; 19956 (6:5956) - call EnableAutoTextBoxDrawing - ld hl, $d77e - res 0, [hl] - res 7, [hl] - ld hl, $d816 - res 7, [hl] - ret - -CeladonCityTextPointers: ; 19966 (6:5966) - dw CeladonCityText1 - dw CeladonCityText2 - dw CeladonCityText3 - dw CeladonCityText4 - dw CeladonCityText5 - dw CeladonCityText6 - dw CeladonCityText7 - dw CeladonCityText8 - dw CeladonCityText9 - dw CeladonCityText10 - dw CeladonCityText11 - dw PokeCenterSignText - dw CeladonCityText13 - dw CeladonCityText14 - dw CeladonCityText15 - dw CeladonCityText16 - dw CeladonCityText17 - dw CeladonCityText18 - -CeladonCityText1: ; 1998a (6:598a) - TX_FAR _CeladonCityText1 - db "@" - -CeladonCityText2: ; 1998f (6:598f) - TX_FAR _CeladonCityText2 - db "@" - -CeladonCityText3: ; 19994 (6:5994) - TX_FAR _CeladonCityText3 - db "@" - -CeladonCityText4: ; 19999 (6:5999) - TX_FAR _CeladonCityText4 - db "@" - -CeladonCityText5: ; 1999e (6:599e) - db $08 ; asm - ld a, [$d777] - bit 0, a - jr nz, .asm_7053f ; 0x199a4 - ld hl, TM41PreText - call PrintText - ld bc, (TM_41 << 8) | 1 - call GiveItem - jr c, .Success - ld hl, TM41NoRoomText - call PrintText - jr .Done -.Success - ld hl, ReceivedTM41Text - call PrintText - ld hl, $d777 - set 0, [hl] - jr .Done -.asm_7053f ; 0x199c9 - ld hl, TM41ExplanationText - call PrintText -.Done - jp TextScriptEnd - -TM41PreText: ; 199d2 (6:59d2) - TX_FAR _TM41PreText - db "@" - -ReceivedTM41Text: ; 199d7 (6:59d7) - TX_FAR _ReceivedTM41Text - db $0B, "@" - -TM41ExplanationText: ; 199dd (6:59dd) - TX_FAR _TM41ExplanationText - db "@" - -TM41NoRoomText: ; 199e2 (6:59e2) - TX_FAR _TM41NoRoomText - db "@" - -CeladonCityText6: ; 199e7 (6:59e7) - TX_FAR _CeladonCityText6 - db "@" - -CeladonCityText7: ; 199ec (6:59ec) - TX_FAR _CeladonCityText7 - db $08 ; asm - ld a, POLIWRATH - call PlayCry - jp TextScriptEnd - -CeladonCityText8: ; 199f9 (6:59f9) - TX_FAR _CeladonCityText8 - db "@" - -CeladonCityText9: ; 199fe (6:59fe) - TX_FAR _CeladonCityText9 - db "@" - -CeladonCityText10: ; 19a03 (6:5a03) - TX_FAR _CeladonCityText10 - db "@" - -CeladonCityText11: ; 19a08 (6:5a08) - TX_FAR _CeladonCityText11 - db "@" - -CeladonCityText13: ; 19a0d (6:5a0d) - TX_FAR _CeladonCityText13 - db "@" - -CeladonCityText14: ; 19a12 (6:5a12) - TX_FAR _CeladonCityText14 - db "@" - -CeladonCityText15: ; 19a17 (6:5a17) - TX_FAR _CeladonCityText15 - db "@" - -CeladonCityText16: ; 19a1c (6:5a1c) - TX_FAR _CeladonCityText16 - db "@" - -CeladonCityText17: ; 19a21 (6:5a21) - TX_FAR _CeladonCityText17 - db "@" - -CeladonCityText18: ; 19a26 (6:5a26) - TX_FAR _CeladonCityText18 - db "@" - -FuchsiaCityScript: ; 19a2b (6:5a2b) - jp EnableAutoTextBoxDrawing - -FuchsiaCityTextPointers: ; 19a2e (6:5a2e) - dw FuchsiaCityText1 - dw FuchsiaCityText2 - dw FuchsiaCityText3 - dw FuchsiaCityText4 - dw FuchsiaCityText5 - dw FuchsiaCityText6 - dw FuchsiaCityText7 - dw FuchsiaCityText8 - dw FuchsiaCityText9 - dw FuchsiaCityText10 - dw FuchsiaCityText11 - dw FuchsiaCityText12 - dw FuchsiaCityText13 - dw MartSignText - dw PokeCenterSignText - dw FuchsiaCityText16 - dw FuchsiaCityText17 - dw FuchsiaCityText18 - dw FuchsiaCityText19 - dw FuchsiaCityText20 - dw FuchsiaCityText21 - dw FuchsiaCityText22 - dw FuchsiaCityText23 - dw FuchsiaCityText24 - -FuchsiaCityText1: ; 19a5e (6:5a5e) - TX_FAR _FuchsiaCityText1 - db "@" - -FuchsiaCityText2: ; 19a63 (6:5a63) - TX_FAR _FuchsiaCityText2 - db "@" - -FuchsiaCityText3: ; 19a68 (6:5a68) - TX_FAR _FuchsiaCityText3 - db "@" - -FuchsiaCityText4: ; 19a6d (6:5a6d) - TX_FAR _FuchsiaCityText4 - db "@" - -FuchsiaCityText5: ; 19a72 (6:5a72) -FuchsiaCityText6: ; 19a72 (6:5a72) -FuchsiaCityText7: ; 19a72 (6:5a72) -FuchsiaCityText8: ; 19a72 (6:5a72) -FuchsiaCityText9: ; 19a72 (6:5a72) -FuchsiaCityText10: ; 19a72 (6:5a72) - TX_FAR _FuchsiaCityText5 - db "@" - -FuchsiaCityText12: ; 19a77 (6:5a77) -FuchsiaCityText11: ; 19a77 (6:5a77) - TX_FAR _FuchsiaCityText11 - db "@" - -FuchsiaCityText13: ; 19a7c (6:5a7c) - TX_FAR _FuchsiaCityText13 - db "@" - -FuchsiaCityText16: ; 19a81 (6:5a81) - TX_FAR _FuchsiaCityText16 - db "@" - -FuchsiaCityText17: ; 19a86 (6:5a86) - TX_FAR _FuchsiaCityText17 - db "@" - -FuchsiaCityText18: ; 19a8b (6:5a8b) - TX_FAR _FuchsiaCityText18 - db "@" - -FuchsiaCityText19: ; 19a90 (6:5a90) - db $08 ; asm - ld hl, FuchsiaCityChanseyText - call PrintText - ld a, CHANSEY - call DisplayPokedex - jp TextScriptEnd - -FuchsiaCityChanseyText: ; 19a9f (6:5a9f) - TX_FAR _FuchsiaCityChanseyText - db "@" - -FuchsiaCityText20: ; 19aa4 (6:5aa4) - db $08 ; asm - ld hl, FuchsiaCityVoltorbText - call PrintText - ld a, VOLTORB - call DisplayPokedex - jp TextScriptEnd - -FuchsiaCityVoltorbText: ; 19ab3 (6:5ab3) - TX_FAR _FuchsiaCityVoltorbText - db "@" - -FuchsiaCityText21: ; 19ab8 (6:5ab8) - db $08 ; asm - ld hl, FuchsiaCityKangaskhanText - call PrintText - ld a, KANGASKHAN - call DisplayPokedex - jp TextScriptEnd - -FuchsiaCityKangaskhanText: ; 19ac7 (6:5ac7) - TX_FAR _FuchsiaCityKangaskhanText - db "@" - -FuchsiaCityText22: ; 19acc (6:5acc) - db $08 ; asm - ld hl, FuchsiaCitySlowpokeText - call PrintText - ld a, SLOWPOKE - call DisplayPokedex - jp TextScriptEnd - -FuchsiaCitySlowpokeText: ; 19adb (6:5adb) - TX_FAR _FuchsiaCitySlowpokeText - db "@" - -FuchsiaCityText23: ; 19ae0 (6:5ae0) - db $08 ; asm - ld hl, FuchsiaCityLaprasText - call PrintText - ld a, LAPRAS - call DisplayPokedex - jp TextScriptEnd - -FuchsiaCityLaprasText: ; 19aef (6:5aef) - TX_FAR _FuchsiaCityLaprasText - db "@" - -FuchsiaCityText24: ; 19af4 (6:5af4) - db $08 ; asm - ld a, [$d7f6] - bit 6, a - jr nz, .asm_3b4e8 ; 0x19afa - bit 7, a - jr nz, .asm_667d5 ; 0x19afe - ld hl, UnnamedText_19b2a - call PrintText - jr .asm_4343f ; 0x19b06 -.asm_3b4e8 ; 0x19b08 - ld hl, FuchsiaCityOmanyteText - call PrintText - ld a, OMANYTE - jr .asm_81556 ; 0x19b10 -.asm_667d5 ; 0x19b12 - ld hl, FuchsiaCityKabutoText - call PrintText - ld a, KABUTO -.asm_81556 ; 0x19b1a - call DisplayPokedex -.asm_4343f ; 0x19b1d - jp TextScriptEnd - -FuchsiaCityOmanyteText: ; 19b20 (6:5b20) - TX_FAR _FuchsiaCityOmanyteText - db "@" - -FuchsiaCityKabutoText: ; 19b25 (6:5b25) - TX_FAR _FuchsiaCityKabutoText - db "@" - -UnnamedText_19b2a: ; 19b2a (6:5b2a) - TX_FAR _UnnamedText_19b2a - db "@" +INCLUDE "scripts/fuchsiacity.asm" INCLUDE "data/mapHeaders/blueshouse.asm" -BluesHouseScript: ; 19b3b (6:5b3b) - call EnableAutoTextBoxDrawing - ld hl,BluesHouseScriptPointers - ld a,[W_BLUESHOUSECURSCRIPT] - jp CallFunctionInTable - -BluesHouseScriptPointers: ; 19b47 (6:5b47) - dw BluesHouseScript0 - dw BluesHouseScript1 - -BluesHouseScript0: ; 19b4b (6:5b4b) - ld hl,$D74A - set 1,[hl] - - ; trigger the next script - ld a,1 - ld [W_BLUESHOUSECURSCRIPT],a - ret - -BluesHouseScript1: ; 19b56 (6:5b56) - ret - -BluesHouseTextPointers: ; 19b57 (6:5b57) - dw BluesHouseText1 - dw BluesHouseText2 - dw BluesHouseText3 - -BluesHouseText1: ; 19b5d (6:5b5d) - db 8 - ld a,[$D74A] - bit 0,a - jr nz,.GotMap - ld a,[$D74B] - bit 5,a - jr nz,.GiveMap - ld hl,DaisyInitialText - call PrintText - jr .done -.GiveMap - ld hl,DaisyOfferMapText - call PrintText - ld bc,(TOWN_MAP << 8) | 1 - call GiveItem - jr nc, .BagFull - ld a,$29 - ld [$CC4D],a - ld a,$11 - call Predef ; hide table map object - ld hl,GotMapText - call PrintText - ld hl,$D74A - set 0,[hl] - jr .done -.GotMap - ld hl,DaisyUseMapText - call PrintText - jr .done -.BagFull - ld hl,DaisyBagFullText - call PrintText -.done - jp TextScriptEnd - -DaisyInitialText: ; 19baa (6:5baa) - TX_FAR _DaisyInitialText - db "@" - -DaisyOfferMapText: ; 19baf (6:5baf) - TX_FAR _DaisyOfferMapText - db "@" - -GotMapText: ; 19bb4 (6:5bb4) - TX_FAR _GotMapText - db $11,"@" - -DaisyBagFullText: ; 19bba (6:5bba) - TX_FAR _DaisyBagFullText - db "@" - -DaisyUseMapText: ; 19bbf (6:5bbf) - TX_FAR _DaisyUseMapText - db "@" - -BluesHouseText2: ; 0x19bc4 Daisy, walking around - TX_FAR _BluesHouseText2 - db "@" - -BluesHouseText3: ; 0x19bc9 map on table - TX_FAR _BluesHouseText3 - db "@" +INCLUDE "scripts/blueshouse.asm" INCLUDE "data/mapObjects/blueshouse.asm" @@ -31008,19 +29027,7 @@ BluesHouseBlocks: ; 19bf6 (6:5bf6) INCLUDE "data/mapHeaders/vermilionhouse3.asm" -VermilionHouse3Script: ; 19c12 (6:5c12) - jp EnableAutoTextBoxDrawing - -VermilionHouse3TextPointers: ; 19c15 (6:5c15) - dw VermilionHouse3Text1 - -VermilionHouse3Text1: ; 19c17 (6:5c17) - db $08 ; asm - ld a, $4 - ld [wWhichTrade], a - ld a, $54 - call Predef - jp TextScriptEnd +INCLUDE "scripts/vermilionhouse3.asm" INCLUDE "data/mapObjects/vermilionhouse3.asm" @@ -31029,47 +29036,7 @@ VermilionHouse3Blocks: ; 19c3f (6:5c3f) INCLUDE "data/mapHeaders/indigoplateaulobby.asm" -IndigoPlateauLobbyScript: ; 19c5b (6:5c5b) - call Func_22fa - call EnableAutoTextBoxDrawing - ld hl, $d126 - bit 6, [hl] - res 6, [hl] - ret z - ld hl, $d869 - res 7, [hl] - ld hl, $d734 - bit 1, [hl] - res 1, [hl] - ret z - ld hl, $d863 - xor a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hl], a - ret - -IndigoPlateauLobbyTextPointers: ; 19c7f (6:5c7f) - dw IndigoPlateauLobbyText1 - dw IndigoPlateauLobbyText2 - dw IndigoPlateauLobbyText3 - dw IndigoPlateauLobbyText4 - dw IndigoPlateauLobbyText5 - -IndigoPlateauLobbyText1: ; 19c89 (6:5c89) - db $ff - -IndigoPlateauLobbyText2: ; 19c8a (6:5c8a) - TX_FAR _IndigoPlateauLobbyText1 - db "@" - -IndigoPlateauLobbyText3: ; 19c8f (6:5c8f) - TX_FAR _IndigoPlateauLobbyText3 - db "@" - -IndigoPlateauLobbyText5: ; 19c94 (6:5c94) - db $f6 +INCLUDE "scripts/indigoplateaulobby.asm" INCLUDE "data/mapObjects/indigoplateaulobby.asm" @@ -31078,207 +29045,7 @@ IndigoPlateauLobbyBlocks: ; 19ccf (6:5ccf) INCLUDE "data/mapHeaders/silphco4.asm" -SilphCo4Script: ; 19d0b (6:5d0b) - call SilphCo4Script_19d21 - call EnableAutoTextBoxDrawing - ld hl, SilphCo4TrainerHeaders - ld de, SilphCo4ScriptPointers - ld a, [W_SILPHCO4CURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_SILPHCO4CURSCRIPT], a - ret - -SilphCo4Script_19d21: ; 19d21 (6:5d21) - ld hl, $d126 - bit 5, [hl] - res 5, [hl] - ret z - ld hl, SilphCo4Data19d58 - call SilphCo4Script_19d5d - call SilphCo4Script_19d89 - ld a, [$d82a] - bit 0, a - jr nz, .asm_19d48 - push af - ld a, $54 - ld [$d09f], a - ld bc, $0602 - ld a, $17 - call Predef - pop af -.asm_19d48 - bit 1, a - ret nz - ld a, $54 - ld [$d09f], a - ld bc, $0406 - ld a, $17 - jp Predef - -SilphCo4Data19d58: ; 19d58 (6:5d58) - db $06, $02, $04, $06, $ff - -SilphCo4Script_19d5d: ; 19d5d (6:5d5d) - push hl - ld hl, $d73f - ld a, [hli] - ld b, a - ld a, [hl] - ld c, a - xor a - ld [$ffe0], a - pop hl -.asm_19d69 - ld a, [hli] - cp $ff - jr z, .asm_19d85 ; 0x19d6c $17 - push hl - ld hl, $ffe0 - inc [hl] - pop hl - cp b - jr z, .asm_19d7a ; 0x19d75 $3 - inc hl - jr .asm_19d69 ; 0x19d78 $ef -.asm_19d7a - ld a, [hli] - cp c - jr nz, .asm_19d69 ; 0x19d7c $eb - ld hl, $d73f - xor a - ld [hli], a - ld [hl], a - ret -.asm_19d85 - xor a - ld [$ffe0], a - ret - -SilphCo4Script_19d89: ; 19d89 (6:5d89) - ld hl, $d82a - ld a, [$ffe0] - and a - ret z - cp $1 - jr nz, .asm_19d97 ; 0x19d92 $3 - set 0, [hl] - ret -.asm_19d97 - set 1, [hl] - ret - -SilphCo4ScriptPointers: ; 19d9a (6:5d9a) - dw CheckFightingMapTrainers - dw Func_324c - dw EndTrainerBattle - -SilphCo4TextPointers: ; 19da0 (6:5da0) - dw SilphCo4Text1 - dw SilphCo4Text2 - dw SilphCo4Text3 - dw SilphCo4Text4 - dw Predef5CText - dw Predef5CText - dw Predef5CText - -SilphCo4TrainerHeaders: ; 19dae (6:5dae) -SilphCo4TrainerHeader0: ; 19dae (6:5dae) - db $2 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d829 ; flag's byte - dw SilphCo4BattleText2 ; 0x5df4 TextBeforeBattle - dw SilphCo4AfterBattleText2 ; 0x5dfe TextAfterBattle - dw SilphCo4EndBattleText2 ; 0x5df9 TextEndBattle - dw SilphCo4EndBattleText2 ; 0x5df9 TextEndBattle - -SilphCo4TrainerHeader2: ; 19dba (6:5dba) - db $3 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d829 ; flag's byte - dw SilphCo4BattleText3 ; 0x5e0d TextBeforeBattle - dw SilphCo4AfterBattleText3 ; 0x5e17 TextAfterBattle - dw SilphCo4EndBattleText3 ; 0x5e12 TextEndBattle - dw SilphCo4EndBattleText3 ; 0x5e12 TextEndBattle - -SilphCo4TrainerHeader3: ; 19dc6 (6:5dc6) - db $4 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d829 ; flag's byte - dw SilphCo4BattleText4 ; 0x5e26 TextBeforeBattle - dw SilphCo4AfterBattleText4 ; 0x5e30 TextAfterBattle - dw SilphCo4EndBattleText4 ; 0x5e2b TextEndBattle - dw SilphCo4EndBattleText4 ; 0x5e2b TextEndBattle - - db $ff - -SilphCo4Text1: ; 19dd3 (6:5dd3) - db $08 ; asm - ld hl, UnnamedText_19de0 - ld de, UnnamedText_19de5 - call SilphCo6Script_1a22f - jp TextScriptEnd - -UnnamedText_19de0: ; 19de0 (6:5de0) - TX_FAR _UnnamedText_19de0 - db "@" - -UnnamedText_19de5: ; 19de5 (6:5de5) - TX_FAR _UnnamedText_19de5 - db "@" - -SilphCo4Text2: ; 19dea (6:5dea) - db $08 ; asm - ld hl, SilphCo4TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -SilphCo4BattleText2: ; 19df4 (6:5df4) - TX_FAR _SilphCo4BattleText2 - db "@" - -SilphCo4EndBattleText2: ; 19df9 (6:5df9) - TX_FAR _SilphCo4EndBattleText2 - db "@" - -SilphCo4AfterBattleText2: ; 19dfe (6:5dfe) - TX_FAR _SilphCo4AfterBattleText2 - db "@" - -SilphCo4Text3: ; 19e03 (6:5e03) - db $08 ; asm - ld hl, SilphCo4TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -SilphCo4BattleText3: ; 19e0d (6:5e0d) - TX_FAR _SilphCo4BattleText3 - db "@" - -SilphCo4EndBattleText3: ; 19e12 (6:5e12) - TX_FAR _SilphCo4EndBattleText3 - db "@" - -SilphCo4AfterBattleText3: ; 19e17 (6:5e17) - TX_FAR _SilphCo4AfterBattleText3 - db "@" - -SilphCo4Text4: ; 19e1c (6:5e1c) - db $08 ; asm - ld hl, SilphCo4TrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -SilphCo4BattleText4: ; 19e26 (6:5e26) - TX_FAR _SilphCo4BattleText4 - db "@" - -SilphCo4EndBattleText4: ; 19e2b (6:5e2b) - TX_FAR _SilphCo4EndBattleText4 - db "@" - -SilphCo4AfterBattleText4: ; 19e30 (6:5e30) - TX_FAR _SilphCo4AfterBattleText4 - db "@" +INCLUDE "scripts/silphco4.asm" INCLUDE "data/mapObjects/silphco4.asm" @@ -31287,229 +29054,7 @@ SilphCo4Blocks: ; 19ea4 (6:5ea4) INCLUDE "data/mapHeaders/silphco5.asm" -SilphCo5Script: ; 19f37 (6:5f37) - call SilphCo5Script_19f4d - call EnableAutoTextBoxDrawing - ld hl, SilphCo5TrainerHeaders - ld de, SilphCo5ScriptPointers - ld a, [W_SILPHCO5CURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_SILPHCO5CURSCRIPT], a - ret - -SilphCo5Script_19f4d: ; 19f4d (6:5f4d) - ld hl, $d126 - bit 5, [hl] - res 5, [hl] - ret z - ld hl, SilphCo5Coords - call SilphCo4Script_19d5d - call SilphCo5Script_19f9e - ld a, [$d82c] - bit 0, a - jr nz, .asm_19f74 ; 0x19f63 $f - push af - ld a, $5f - ld [$d09f], a - ld bc, $0203 - ld a, $17 - call Predef - pop af -.asm_19f74 - bit 1, a - jr nz, .asm_19f87 ; 0x19f76 $f - push af - ld a, $5f - ld [$d09f], a - ld bc, $0603 - ld a, $17 - call Predef - pop af -.asm_19f87 - bit 2, a - ret nz - ld a, $5f - ld [$d09f], a - ld bc, $0507 - ld a, $17 - jp Predef - -SilphCo5Coords: ; 19f97 (6:5f97) ; coords? - db $02, $03, $06, $03, $05, $07, $ff - -SilphCo5Script_19f9e: ; 19f9e (6:5f9e) - ld hl, $d82c - ld a, [$ffe0] - and a - ret z - cp $1 - jr nz, .asm_19fac ; 0x19fa7 $3 - set 0, [hl] - ret -.asm_19fac - cp $2 - jr nz, .asm_19fb3 ; 0x19fae $3 - set 1, [hl] - ret -.asm_19fb3 - set 2, [hl] - ret - -SilphCo5ScriptPointers: ; 19fb6 (6:5fb6) - dw CheckFightingMapTrainers - dw Func_324c - dw EndTrainerBattle - -SilphCo5TextPointers: ; 19fbc (6:5fbc) - dw SilphCo5Text1 - dw SilphCo5Text2 - dw SilphCo5Text3 - dw SilphCo5Text4 - dw SilphCo5Text5 - dw Predef5CText - dw Predef5CText - dw Predef5CText - dw SilphCo5Text9 - dw SilphCo5Text10 - dw SilphCo5Text11 - -SilphCo5TrainerHeaders: ; 19fd2 (6:5fd2) -Silphco5TrainerHeader0: ; 19fd2 (6:5fd2) - db $2 ; flag's bit - db ($1 << 4) ; trainer's view range - dw $d82b ; flag's byte - dw SilphCo5BattleText2 ; 0x6024 TextBeforeBattle - dw SilphCo5AfterBattleText2 ; 0x602e TextAfterBattle - dw SilphCo5EndBattleText2 ; 0x6029 TextEndBattle - dw SilphCo5EndBattleText2 ; 0x6029 TextEndBattle - -Silphco5TrainerHeader2: ; 19fde (6:5fde) - db $3 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d82b ; flag's byte - dw SilphCo5BattleText3 ; 0x603d TextBeforeBattle - dw SilphCo5AfterBattleText3 ; 0x6047 TextAfterBattle - dw SilphCo5EndBattleText3 ; 0x6042 TextEndBattle - dw SilphCo5EndBattleText3 ; 0x6042 TextEndBattle - -Silphco5TrainerHeader3: ; 19fea (6:5fea) - db $4 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d82b ; flag's byte - dw SilphCo5BattleText4 ; 0x6056 TextBeforeBattle - dw SilphCo5AfterBattleText4 ; 0x6060 TextAfterBattle - dw SilphCo5EndBattleText4 ; 0x605b TextEndBattle - dw SilphCo5EndBattleText4 ; 0x605b TextEndBattle - -Silphco5TrainerHeader4: ; 19ff6 (6:5ff6) - db $5 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d82b ; flag's byte - dw SilphCo5BattleText5 ; 0x606f TextBeforeBattle - dw SilphCo5AfterBattleText5 ; 0x6079 TextAfterBattle - dw SilphCo5EndBattleText5 ; 0x6074 TextEndBattle - dw SilphCo5EndBattleText5 ; 0x6074 TextEndBattle - - db $ff - -SilphCo5Text1: ; 1a003 (6:6003) - db $08 ; asm - ld hl, UnnamedText_1a010 - ld de, UnnamedText_1a015 - call SilphCo6Script_1a22f - jp TextScriptEnd - -UnnamedText_1a010: ; 1a010 (6:6010) - TX_FAR _UnnamedText_1a010 - db "@" - -UnnamedText_1a015: ; 1a015 (6:6015) - TX_FAR _UnnamedText_1a015 - db "@" - -SilphCo5Text2: ; 1a01a (6:601a) - db $08 ; asm - ld hl, Silphco5TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -SilphCo5BattleText2: ; 1a024 (6:6024) - TX_FAR _SilphCo5BattleText2 - db "@" - -SilphCo5EndBattleText2: ; 1a029 (6:6029) - TX_FAR _SilphCo5EndBattleText2 - db "@" - -SilphCo5AfterBattleText2: ; 1a02e (6:602e) - TX_FAR _SilphCo5AfterBattleText2 - db "@" - -SilphCo5Text3: ; 1a033 (6:6033) - db $08 ; asm - ld hl, Silphco5TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -SilphCo5BattleText3: ; 1a03d (6:603d) - TX_FAR _SilphCo5BattleText3 - db "@" - -SilphCo5EndBattleText3: ; 1a042 (6:6042) - TX_FAR _SilphCo5EndBattleText3 - db "@" - -SilphCo5AfterBattleText3: ; 1a047 (6:6047) - TX_FAR _SilphCo5AfterBattleText3 - db "@" - -SilphCo5Text4: ; 1a04c (6:604c) - db $08 ; asm - ld hl, Silphco5TrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -SilphCo5BattleText4: ; 1a056 (6:6056) - TX_FAR _SilphCo5BattleText4 - db "@" - -SilphCo5EndBattleText4: ; 1a05b (6:605b) - TX_FAR _SilphCo5EndBattleText4 - db "@" - -SilphCo5AfterBattleText4: ; 1a060 (6:6060) - TX_FAR _SilphCo5AfterBattleText4 - db "@" - -SilphCo5Text5: ; 1a065 (6:6065) - db $08 ; asm - ld hl, Silphco5TrainerHeader4 - call TalkToTrainer - jp TextScriptEnd - -SilphCo5BattleText5: ; 1a06f (6:606f) - TX_FAR _SilphCo5BattleText5 - db "@" - -SilphCo5EndBattleText5: ; 1a074 (6:6074) - TX_FAR _SilphCo5EndBattleText5 - db "@" - -SilphCo5AfterBattleText5: ; 1a079 (6:6079) - TX_FAR _SilphCo5AfterBattleText5 - db "@" - -SilphCo5Text9: ; 1a07e (6:607e) - TX_FAR _SilphCo5Text9 - db "@" - -SilphCo5Text10: ; 1a083 (6:6083) - TX_FAR _SilphCo5Text10 - db "@" - -SilphCo5Text11: ; 1a088 (6:6088) - TX_FAR _SilphCo5Text11 - db "@" +INCLUDE "scripts/silphco5.asm" INCLUDE "data/mapObjects/silphco5.asm" @@ -31518,231 +29063,7 @@ SilphCo5Blocks: ; 1a116 (6:6116) INCLUDE "data/mapHeaders/silphco6.asm" -SilphCo6Script: ; 1a1a9 (6:61a9) - call SilphCo6Script_1a1bf - call EnableAutoTextBoxDrawing - ld hl, SilphCo6TrainerHeaders - ld de, SilphCo6ScriptPointers - ld a, [W_SILPHCO6CURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_SILPHCO6CURSCRIPT], a - ret - -SilphCo6Script_1a1bf: ; 1a1bf (6:61bf) - ld hl, $d126 - bit 5, [hl] - res 5, [hl] - ret z - ld hl, SilphCo6Coords1 - call SilphCo4Script_19d5d - call SilphCo6Script_1a1e6 - ld a, [$d82e] - bit 7, a - ret nz - ld a, $5f - ld [$d09f], a - ld bc, $0602 - ld a, $17 - jp Predef - -SilphCo6Coords1: ; 1a1e3 (6:61e3) - db $06, $02 - db $ff - -SilphCo6Script_1a1e6: ; 1a1e6 (6:61e6) - ld a, [$ffe0] - and a - ret z - ld hl, $d82e - set 7, [hl] - ret - -SilphCo6ScriptPointers: ; 1a1f0 (6:61f0) - dw CheckFightingMapTrainers - dw Func_324c - dw EndTrainerBattle - -SilphCo6TextPointers: ; 1a1f6 (6:61f6) - dw SilphCo6Text1 - dw SilphCo6Text2 - dw SilphCo6Text3 - dw SilphCo6Text4 - dw SilphCo6Text5 - dw SilphCo6Text6 - dw SilphCo6Text7 - dw SilphCo6Text8 - dw Predef5CText - dw Predef5CText - -SilphCo6TrainerHeaders: ; 1a20a (6:620a) -SilphCo6TrainerHeader0: ; 1a20a (6:620a) - db $6 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d82d ; flag's byte - dw SilphCo6BattleText2 ; 0x62ba TextBeforeBattle - dw SilphCo6AfterBattleText2 ; 0x62c4 TextAfterBattle - dw SilphCo6EndBattleText2 ; 0x62bf TextEndBattle - dw SilphCo6EndBattleText2 ; 0x62bf TextEndBattle - -SilphCo6TrainerHeader2: ; 1a216 (6:6216) - db $7 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d82d ; flag's byte - dw SilphCo6BattleText3 ; 0x62d3 TextBeforeBattle - dw SilphCo6AfterBattleText3 ; 0x62dd TextAfterBattle - dw SilphCo6EndBattleText3 ; 0x62d8 TextEndBattle - dw SilphCo6EndBattleText3 ; 0x62d8 TextEndBattle - -SilphCo6TrainerHeader3: ; 1a222 (6:6222) - db $8 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d82d ; flag's byte - dw SilphCo6BattleText4 ; 0x62ec TextBeforeBattle - dw SilphCo6AfterBattleText4 ; 0x62f6 TextAfterBattle - dw SilphCo6EndBattleText4 ; 0x62f1 TextEndBattle - dw SilphCo6EndBattleText4 ; 0x62f1 TextEndBattle - - db $ff - -SilphCo6Script_1a22f: ; 1a22f (6:622f) - ld a, [$d838] - bit 7, a - jr nz, .asm_1a238 ; 0x1a234 $2 - jr .asm_1a23a ; 0x1a236 $2 -.asm_1a238 - ld h, d - ld l, e -.asm_1a23a - jp PrintText - -SilphCo6Text1: ; 1a23d (6:623d) - db $08 ; asm - ld hl, UnnamedText_1a24a - ld de, UnnamedText_1a24f - call SilphCo6Script_1a22f - jp TextScriptEnd - -UnnamedText_1a24a: ; 1a24a (6:624a) - TX_FAR _UnnamedText_1a24a - db "@" - -UnnamedText_1a24f: ; 1a24f (6:624f) - TX_FAR _UnnamedText_1a24f - db "@" - -SilphCo6Text2: ; 1a254 (6:6254) - db $08 ; asm - ld hl, UnnamedText_1a261 - ld de, UnnamedText_1a266 - call SilphCo6Script_1a22f - jp TextScriptEnd - -UnnamedText_1a261: ; 1a261 (6:6261) - TX_FAR _UnnamedText_1a261 - db "@" - -UnnamedText_1a266: ; 1a266 (6:6266) - TX_FAR _UnnamedText_1a266 - db "@" - -SilphCo6Text3: ; 1a26b (6:626b) - db $08 ; asm - ld hl, UnnamedText_1a278 - ld de, UnnamedText_1a27d - call SilphCo6Script_1a22f - jp TextScriptEnd - -UnnamedText_1a278: ; 1a278 (6:6278) - TX_FAR _UnnamedText_1a278 - db "@" - -UnnamedText_1a27d: ; 1a27d (6:627d) - TX_FAR _UnnamedText_1a27d - db "@" - -SilphCo6Text4: ; 1a282 (6:6282) - db $08 ; asm - ld hl, UnnamedText_1a28f - ld de, UnnamedText_1a294 - call SilphCo6Script_1a22f - jp TextScriptEnd - -UnnamedText_1a28f: ; 1a28f (6:628f) - TX_FAR _UnnamedText_1a28f - db "@" - -UnnamedText_1a294: ; 1a294 (6:6294) - TX_FAR _UnnamedText_1a294 - db "@" - -SilphCo6Text5: ; 1a299 (6:6299) - db $08 ; asm - ld hl, UnnamedText_1a2a6 - ld de, UnnamedText_1a2ab - call SilphCo6Script_1a22f - jp TextScriptEnd - -UnnamedText_1a2a6: ; 1a2a6 (6:62a6) - TX_FAR _UnnamedText_1a2a6 - db "@" - -UnnamedText_1a2ab: ; 1a2ab (6:62ab) - TX_FAR _UnnamedText_1a2ab - db "@" - -SilphCo6Text6: ; 1a2b0 (6:62b0) - db $08 ; asm - ld hl, SilphCo6TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -SilphCo6BattleText2: ; 1a2ba (6:62ba) - TX_FAR _SilphCo6BattleText2 - db "@" - -SilphCo6EndBattleText2: ; 1a2bf (6:62bf) - TX_FAR _SilphCo6EndBattleText2 - db "@" - -SilphCo6AfterBattleText2: ; 1a2c4 (6:62c4) - TX_FAR _SilphCo6AfterBattleText2 - db "@" - -SilphCo6Text7: ; 1a2c9 (6:62c9) - db $08 ; asm - ld hl, SilphCo6TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -SilphCo6BattleText3: ; 1a2d3 (6:62d3) - TX_FAR _SilphCo6BattleText3 - db "@" - -SilphCo6EndBattleText3: ; 1a2d8 (6:62d8) - TX_FAR _SilphCo6EndBattleText3 - db "@" - -SilphCo6AfterBattleText3: ; 1a2dd (6:62dd) - TX_FAR _SilphCo6AfterBattleText3 - db "@" - -SilphCo6Text8: ; 1a2e2 (6:62e2) - db $08 ; asm - ld hl, SilphCo6TrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -SilphCo6BattleText4: ; 1a2ec (6:62ec) - TX_FAR _SilphCo6BattleText4 - db "@" - -SilphCo6EndBattleText4: ; 1a2f1 (6:62f1) - TX_FAR _SilphCo6EndBattleText4 - db "@" - -SilphCo6AfterBattleText4: ; 1a2f6 (6:62f6) - TX_FAR _SilphCo6AfterBattleText4 - db "@" +INCLUDE "scripts/silphco6.asm" INCLUDE "data/mapObjects/silphco6.asm" @@ -32343,1494 +29664,19 @@ WhichFloorText: ; 1ca14 (7:4a14) TX_FAR _WhichFloorText db "@" -CinnabarIslandScript: ; 1ca19 (7:4a19) - call EnableAutoTextBoxDrawing - ld hl, $d126 - set 5, [hl] - ld hl, $d796 - res 0, [hl] - ld hl, $d7a3 - res 1, [hl] - ld hl, CinnabarIslandScriptPointers - ld a, [W_CINNABARISLANDCURSCRIPT] - jp CallFunctionInTable - -CinnabarIslandScriptPointers: ; 1ca34 (7:4a34) - dw CinnabarIslandScript0 - dw CinnabarIslandScript1 - -CinnabarIslandScript0: ; 1ca38 (7:4a38) - ld b, SECRET_KEY - call IsItemInBag - ret nz - ld a, [W_YCOORD] - cp $4 - ret nz - ld a, [W_XCOORD] - cp $12 - ret nz - ld a, $8 - ld [$d528], a - ld a, $8 - ld [$ff8c], a - call DisplayTextID - xor a - ld [H_CURRENTPRESSEDBUTTONS], a - ld a, $1 - ld [$cd38], a - ld a, $80 - ld [$ccd3], a - call Func_3486 - xor a - ld [$c109], a - ld [wJoypadForbiddenButtonsMask], a - ld a, $1 - ld [W_CINNABARISLANDCURSCRIPT], a - ret - -CinnabarIslandScript1: ; 1ca73 (7:4a73) - ld a, [$cd38] - and a - ret nz - call Delay3 - ld a, $0 - ld [W_CINNABARISLANDCURSCRIPT], a - ret - -CinnabarIslandTextPointers: ; 1ca81 (7:4a81) - dw CinnabarIslandText1 - dw CinnabarIslandText2 - dw CinnabarIslandText3 - dw MartSignText - dw PokeCenterSignText - dw CinnabarIslandText6 - dw CinnabarIslandText7 - dw CinnabarIslandText8 - -CinnabarIslandText8: ; 1ca91 (7:4a91) - TX_FAR _CinnabarIslandText8 - db "@" - -CinnabarIslandText1: ; 1ca96 (7:4a96) - TX_FAR _CinnabarIslandText1 - db "@" - -CinnabarIslandText2: ; 1ca9b (7:4a9b) - TX_FAR _CinnabarIslandText2 - db "@" - -CinnabarIslandText3: ; 1caa0 (7:4aa0) - TX_FAR _CinnabarIslandText3 - db "@" - -CinnabarIslandText6: ; 1caa5 (7:4aa5) - TX_FAR _CinnabarIslandText6 - db "@" - -CinnabarIslandText7: ; 1caaa (7:4aaa) - TX_FAR _CinnabarIslandText7 - db "@" - -Route1Script: ; 1caaf (7:4aaf) - jp EnableAutoTextBoxDrawing - -Route1TextPointers: ; 1cab2 (7:4ab2) - dw Route1Text1 - dw Route1Text2 - dw Route1Text3 - -Route1Text1: ; 1cab8 (7:4ab8) - db $08 ; asm - ld hl, $d7bf - bit 0, [hl] - set 0, [hl] - jr nz, .asm_02840 ; 0x1cac0 - ld hl, Route1ViridianMartSampleText - call PrintText - ld bc, (POTION << 8) | 1 - call GiveItem - jr nc, .BagFull - ld hl, UnnamedText_1cae8 ; $4ae8 - jr .asm_46d43 ; 0x1cad3 -.BagFull - ld hl, UnnamedText_1caf3 ; $4af3 - jr .asm_46d43 ; 0x1cad8 -.asm_02840 ; 0x1cada - ld hl, UnnamedText_1caee ; $4aee -.asm_46d43 ; 0x1cadd - call PrintText - jp TextScriptEnd - -Route1ViridianMartSampleText: ; 1cae3 (7:4ae3) - TX_FAR _Route1ViridianMartSampleText - db "@" - -UnnamedText_1cae8: ; 1cae8 (7:4ae8) - TX_FAR _UnnamedText_1cae8 - db $0b,"@" - -UnnamedText_1caee: ; 1caee (7:4aee) - TX_FAR _UnnamedText_1caee - db "@" +INCLUDE "scripts/cinnabarisland.asm" -UnnamedText_1caf3: ; 1caf3 (7:4af3) - TX_FAR _UnnamedText_1caf3 - db "@" - -Route1Text2: ; 1caf8 (7:4af8) - TX_FAR _Route1Text2 - db "@" - -Route1Text3: ; 1cafd (7:4afd) - TX_FAR _Route1Text3 - db "@" +INCLUDE "scripts/route1.asm" INCLUDE "data/mapHeaders/oakslab.asm" -OaksLabScript: ; 1cb0e (7:4b0e) - ld a, [$d74b] - bit 6, a - call nz, OaksLabScript_1d076 - ld a, $1 - ld [$cf0c], a - xor a - ld [$cc3c], a - ld hl, OaksLabScriptPointers - ld a, [W_OAKSLABCURSCRIPT] - jp CallFunctionInTable - -OaksLabScriptPointers: ; 1cb28 (7:4b28) - dw OaksLabScript0 - dw OaksLabScript1 - dw OaksLabScript2 - dw OaksLabScript3 - dw OaksLabScript4 - dw OaksLabScript5 - dw OaksLabScript6 - dw OaksLabScript7 - dw OaksLabScript8 - dw OaksLabScript9 - dw OaksLabScript10 - dw OaksLabScript11 - dw OaksLabScript12 - dw OaksLabScript13 - dw OaksLabScript14 - dw OaksLabScript15 - dw OaksLabScript16 - dw OaksLabScript17 - dw OaksLabScript18 - -OaksLabScript0: ; 1cb4e (7:4b4e) - ld a, [$d74b] - bit 7, a - ret z - ld a, [$cf10] - and a - ret nz - ld a, $31 - ld [$cc4d], a - ld a, $15 - call Predef - ld hl, $d72e - res 4, [hl] - - ld a, $1 - ld [W_OAKSLABCURSCRIPT], a - ret - -OaksLabScript1: ; 1cb6e (7:4b6e) - ld a, $8 - ld [$ff8c], a - ld de, OakEntryMovement - call MoveSprite - - ld a, $2 - ld [W_OAKSLABCURSCRIPT], a - ret - -OakEntryMovement: ; 1cb7e (7:4b7e) - db $40,$40,$40,$FF - -OaksLabScript2: ; 1cb82 (7:4b82) - ld a, [$d730] - bit 0, a - ret nz - ld a, $31 - ld [$cc4d], a - ld a, $11 - call Predef - ld a, $2e - ld [$cc4d], a - ld a, $15 - call Predef - - ld a, $3 - ld [W_OAKSLABCURSCRIPT], a - ret - -OaksLabScript3: ; 1cba2 (7:4ba2) - call Delay3 - ld hl, $ccd3 - ld de, PlayerEntryMovementRLE - call DecodeRLEList - dec a - ld [$cd38], a - call Func_3486 - ld a, $1 - ld [$ff8c], a - xor a - ld [$ff8d], a - call Func_34a6 ; face object - ld a, $5 - ld [$ff8c], a - xor a - ld [$ff8d], a - call Func_34a6 ; face object - - ld a, $4 - ld [W_OAKSLABCURSCRIPT], a - ret - -PlayerEntryMovementRLE: ; 1cbcf (7:4bcf) - db $40, $8, $ff - -OaksLabScript4: ; 1cbd2 (7:4bd2) - ld a, [$cd38] - and a - ret nz - ld hl, $d747 - set 0, [hl] - ld hl, $d74b - set 0, [hl] - ld a, $1 - ld [$ff8c], a - ld a, $4 - ld [$ff8d], a - call Func_34a6 ; face object - call UpdateSprites - ld hl, W_FLAGS_D733 - res 1, [hl] - call Func_2307 - - ld a, $5 - ld [W_OAKSLABCURSCRIPT], a - ret - -OaksLabScript5: ; 1cbfd (7:4bfd) - ld a, $fc - ld [wJoypadForbiddenButtonsMask], a - ld a, $11 - ld [$ff8c], a - call DisplayTextID - call Delay3 - ld a, $12 - ld [$ff8c], a - call DisplayTextID - call Delay3 - ld a, $13 - ld [$ff8c], a - call DisplayTextID - call Delay3 - ld a, $14 - ld [$ff8c], a - call DisplayTextID - ld hl, $d74b - set 1, [hl] - xor a - ld [wJoypadForbiddenButtonsMask], a - - ld a, $6 - ld [W_OAKSLABCURSCRIPT], a - ret - -OaksLabScript6: ; 1cc36 (7:4c36) - ld a, [W_YCOORD] - cp $6 - ret nz - ld a, $5 - ld [$ff8c], a - xor a - ld [$ff8d], a - call Func_34a6 ; face object - ld a, $1 - ld [$ff8c], a - xor a - ld [$ff8d], a - call Func_34a6 ; face object - call UpdateSprites - ld a, $c - ld [$ff8c], a - call DisplayTextID - ld a, $1 - ld [$cd38], a - ld a, $40 - ld [$ccd3], a - call Func_3486 - ld a, $8 - ld [$d528], a - - ld a, $7 - ld [W_OAKSLABCURSCRIPT], a - ret - -OaksLabScript7: ; 1cc72 (7:4c72) - ld a, [$cd38] - and a - ret nz - call Delay3 - - ld a, $6 - ld [W_OAKSLABCURSCRIPT], a - ret - -OaksLabScript8: ; 1cc80 (7:4c80) - ld a, [W_PLAYERSTARTER] - cp CHARMANDER - jr z, .Charmander ; 0x1cc85 $6 - cp SQUIRTLE - jr z, .Squirtle ; 0x1cc89 $1d - jr .Bulbasaur ; 0x1cc8b $38 -.Charmander - ld de, .MiddleBallMovement1 - ld a, [W_YCOORD] - cp $4 ; is the player standing below the table? - jr z, .asm_1ccf3 ; 0x1cc95 $5c - ld de, .MiddleBallMovement2 - jr .asm_1ccf3 ; 0x1cc9a $57 - -.MiddleBallMovement1 - db 0,0,$C0,$C0,$C0,$40,$FF -.MiddleBallMovement2 - db 0,$C0,$C0,$C0,$FF - -.Squirtle - ld de, .RightBallMovement1 - ld a, [W_YCOORD] - cp $4 ; is the player standing below the table? - jr z, .asm_1ccf3 ; 0x1ccb0 $41 - ld de, .RightBallMovement2 - jr .asm_1ccf3 ; 0x1ccb5 $3c - -.RightBallMovement1 - db 0,0,$C0,$C0,$C0,$C0,$40,$FF -.RightBallMovement2 - db 0,$C0,$C0,$C0,$C0,$FF - -.Bulbasaur - ld de, .LeftBallMovement1 - ld a, [W_XCOORD] - cp $9 ; is the player standing to the right of the table? - jr nz, .asm_1ccf3 ; 0x1cccd $24 - push hl - ld a, $1 - ld [$ff8c], a - ld a, $4 - ld [$ff8b], a - call Func_34fc - push hl - ld [hl], $4c - inc hl - inc hl - ld [hl], $0 - pop hl - inc h - ld [hl], $8 - inc hl - ld [hl], $9 - ld de, .LeftBallMovement2 ; the rival is not currently onscreen, so account for that - pop hl - jr .asm_1ccf3 ; 0x1cced $4 - -.LeftBallMovement1 - db $00,$C0 ; not yet terminated! -.LeftBallMovement2 - db $C0,$FF - -.asm_1ccf3 - ld a, $1 - ld [$ff8c], a - call MoveSprite - - ld a, $9 - ld [W_OAKSLABCURSCRIPT], a - ret - -OaksLabScript9: ; 1cd00 (7:4d00) - ld a, [$d730] - bit 0, a - ret nz - ld a, $fc - ld [wJoypadForbiddenButtonsMask], a - ld a, $1 - ld [$ff8c], a - ld a, $4 - ld [$ff8d], a - call Func_34a6 ; face object - ld a, $d - ld [$ff8c], a - call DisplayTextID - ld a, [$cd3e] - cp $2 - jr nz, .asm_1cd28 ; 0x1cd22 $4 - ld a, $2b - jr .asm_1cd32 ; 0x1cd26 $a -.asm_1cd28 - cp $3 - jr nz, .asm_1cd30 ; 0x1cd2a $4 - ld a, $2c - jr .asm_1cd32 ; 0x1cd2e $2 -.asm_1cd30 - ld a, $2d -.asm_1cd32 - ld [$cc4d], a - ld a, $11 - call Predef - call Delay3 - ld a, [$cd3d] - ld [W_RIVALSTARTER], a - ld [$cf91], a - ld [$d11e], a - call GetMonName - ld a, $1 - ld [$ff8c], a - ld a, $4 - ld [$ff8d], a - call Func_34a6 ; face object - ld a, $e - ld [$ff8c], a - call DisplayTextID - ld hl, $d74b - set 2, [hl] - xor a - ld [wJoypadForbiddenButtonsMask], a - - ld a, $a - ld [W_OAKSLABCURSCRIPT], a - ret - -OaksLabScript10: ; 1cd6d (7:4d6d) - ld a, [W_YCOORD] - cp $6 - ret nz - ld a, $1 - ld [$ff8c], a - xor a - ld [$ff8d], a - call Func_34a6 ; face object - ld a, $8 - ld [$d528], a - ld c, BANK(Music_MeetRival) - ld a, MUSIC_MEET_RIVAL - call PlayMusic ; play music - ld a, $f - ld [$ff8c], a - call DisplayTextID - ld a, $1 - ld [$ff9b], a - ld a, $1 - swap a - ld [$ff95], a - ld a, $22 - call Predef - ld a, [$ff95] - dec a - ld [$ff95], a - ld a, $20 - call Predef - ld de, $cc97 - ld a, $1 - ld [$ff8c], a - call MoveSprite - - ld a, $b - ld [W_OAKSLABCURSCRIPT], a - ret - -OaksLabScript11: ; 1cdb9 (7:4db9) - ld a, [$d730] - bit 0, a - ret nz - - ; define which team rival uses, and fight it - ld a, SONY1 + $C8 - ld [W_CUROPPONENT], a - ld a, [W_RIVALSTARTER] - cp SQUIRTLE - jr nz, .NotSquirtle ; 0x1cdc9 $4 - ld a, $1 - jr .done ; 0x1cdcd $a -.NotSquirtle - cp BULBASAUR - jr nz, .Charmander ; 0x1cdd1 $4 - ld a, $2 - jr .done ; 0x1cdd5 $2 -.Charmander - ld a, $3 -.done - ld [W_TRAINERNO], a - ld a, $1 - ld [$cf13], a - call Func_32ef - ld hl, UnnamedText_1d3be - ld de, UnnamedText_1d3c3 - call PreBattleSaveRegisters - ld hl, $d72d - set 6, [hl] - set 7, [hl] - xor a - ld [wJoypadForbiddenButtonsMask], a - ld a, $8 - ld [$d528], a - ld a, $c - ld [W_OAKSLABCURSCRIPT], a - ret - -OaksLabScript12: ; 1ce03 (7:4e03) - ld a, $f0 - ld [wJoypadForbiddenButtonsMask], a - ld a, $8 - ld [$d528], a - call UpdateSprites - ld a, $1 - ld [$cf13], a - call Func_32f9 - ld a, $1 - ld [$ff8c], a - xor a - ld [$ff8d], a - call Func_34a6 ; face object - ld a, $7 - call Predef - ld hl, $d74b - set 3, [hl] - - ld a, $d - ld [W_OAKSLABCURSCRIPT], a - ret - -OaksLabScript13: ; 1ce32 (7:4e32) - ld c, $14 - call DelayFrames - ld a, $10 - ld [$ff8c], a - call DisplayTextID - ld b, BANK(Music_RivalAlternateStart) - ld hl, Music_RivalAlternateStart - call Bankswitch - ld a, $1 - ld [$ff8c], a - ld de, .RivalExitMovement - call MoveSprite - ld a, [W_XCOORD] - cp $4 - ; move left or right depending on where the player is standing - jr nz, .asm_1ce5b ; 0x1ce55 $4 - ld a, $c0 - jr .asm_1ce5d ; 0x1ce59 $2 -.asm_1ce5b - ld a, $80 -.asm_1ce5d - ld [$cc5b], a - - ld a, $e - ld [W_OAKSLABCURSCRIPT], a - ret - -.RivalExitMovement - db $E0,$00,$00,$00,$00,$00,$FF - -OaksLabScript14: ; 1ce6d (7:4e6d) - ld a, [$d730] - bit 0, a - jr nz, .asm_1ce8c ; 0x1ce72 $18 - ld a, $2a - ld [$cc4d], a - ld a, $11 - call Predef - xor a - ld [wJoypadForbiddenButtonsMask], a - call Func_2307 ; reset to map music - ld a, $12 - ld [W_OAKSLABCURSCRIPT], a - jr .done ; 0x1ce8a $23 -.asm_1ce8c - ld a, [$cf0f] - cp $5 - jr nz, .asm_1cea8 ; 0x1ce91 $15 - ld a, [W_XCOORD] - cp $4 - jr nz, .asm_1cea1 ; 0x1ce98 $7 - ld a, $c - ld [$c109], a - jr .done ; 0x1ce9f $e -.asm_1cea1 - ld a, $8 - ld [$c109], a - jr .done ; 0x1cea6 $7 -.asm_1cea8 - cp $4 - ret nz - xor a - ld [$c109], a -.done - ret - -OaksLabScript15: ; 1ceb0 (7:4eb0) - xor a - ld [H_CURRENTPRESSEDBUTTONS], a - call EnableAutoTextBoxDrawing - ld a, $ff - ld [$c0ee], a - call PlaySound - ld b, BANK(Music_RivalAlternateStart) - ld hl, Music_RivalAlternateStart - call Bankswitch - ld a, $15 - ld [$ff8c], a - call DisplayTextID - call OaksLabScript_1d02b - ld a, $2a - ld [$cc4d], a - ld a, $15 - call Predef - ld a, [$cd37] - ld [$d157], a - ld b, $0 - ld c, a - ld hl, $cc97 - ld a, $40 - call FillMemory - ld [hl], $ff - ld a, $1 - ld [$ff8c], a - ld de, $cc97 - call MoveSprite - - ld a, $10 - ld [W_OAKSLABCURSCRIPT], a - ret - -OaksLabScript_1cefd ; 1cefd (7:4efd) - ld a, $1 - ld [$ff8c], a - ld a, $4 - ld [$ff8d], a - call Func_34a6 ; face object - ld a, $8 - ld [$ff8c], a - xor a - ld [$ff8d], a - jp Func_34a6 ; face object - -OaksLabScript16: ; 1cf12 (7:4f12) - ld a, [$d730] - bit 0, a - ret nz - call EnableAutoTextBoxDrawing - call Func_2307 - ld a, $fc - ld [wJoypadForbiddenButtonsMask], a - call OaksLabScript_1cefd - ld a, $16 - ld [$ff8c], a - call DisplayTextID - call DelayFrame - call OaksLabScript_1cefd - ld a, $17 - ld [$ff8c], a - call DisplayTextID - call DelayFrame - call OaksLabScript_1cefd - ld a, $18 - ld [$ff8c], a - call DisplayTextID - call DelayFrame - ld a, $19 - ld [$ff8c], a - call DisplayTextID - call Delay3 - ld a, $2f - ld [$cc4d], a - ld a, $11 - call Predef - ld a, $30 - ld [$cc4d], a - ld a, $11 - call Predef - call OaksLabScript_1cefd - ld a, $1a - ld [$ff8c], a - call DisplayTextID - ld a, $1 - ld [$ff8c], a - ld a, $c - ld [$ff8d], a - call Func_34a6 ; face object - call Delay3 - ld a, $1b - ld [$ff8c], a - call DisplayTextID - ld hl, $d74b - set 5, [hl] - ld hl, $d74e - set 0, [hl] - ld a, $1 - ld [$cc4d], a - ld a, $11 - call Predef - ld a, $2 - ld [$cc4d], a - ld a, $15 - call Predef - ld a, [$d157] - ld b, $0 - ld c, a - ld hl, $cc97 - xor a - call FillMemory - ld [hl], $ff - ld a, $ff - ld [$c0ee], a - call PlaySound - ld b, BANK(Music_RivalAlternateStart) - ld hl, Music_RivalAlternateStart - call Bankswitch - ld a, $1 - ld [$ff8c], a - ld de, $cc97 - call MoveSprite - - ld a, $11 - ld [W_OAKSLABCURSCRIPT], a - ret - -OaksLabScript17: ; 1cfd4 (7:4fd4) - ld a, [$d730] - bit 0, a - ret nz - call Func_2307 - ld a, $2a - ld [$cc4d], a - ld a, $11 - call Predef - ld hl, $d7eb - set 0, [hl] - res 1, [hl] - set 7, [hl] - ld a, $22 - ld [$cc4d], a - ld a, $15 - call Predef - ld a, $5 - ld [W_PALLETTOWNCURSCRIPT], a - xor a - ld [wJoypadForbiddenButtonsMask], a - - ld a, $12 - ld [W_OAKSLABCURSCRIPT], a - ret - -OaksLabScript18: ; 1d009 (7:5009) - ret - -OaksLabScript_1d00a: ; 1d00a (7:500a) - ld hl, wBagItems - ld bc, $0000 -.asm_1d010 - ld a, [hli] - cp $ff - ret z - cp OAKS_PARCEL - jr z, .GotParcel ; 0x1d016 $4 - inc hl - inc c - jr .asm_1d010 ; 0x1d01a $f4 -.GotParcel - ld hl, $d31d - ld a, c - ld [wWhichPokemon], a - ld a, $1 - ld [$cf96], a - jp RemoveItemFromInventory - -OaksLabScript_1d02b: ; 1d02b (7:502b) - ld a, $7c - ld [$ffeb], a - ld a, $8 - ld [$ffee], a - ld a, [W_YCOORD] - cp $3 - jr nz, .asm_1d045 ; 0x1d038 $b - ld a, $4 - ld [$cd37], a - ld a, $30 - ld b, $b - jr .asm_1d068 ; 0x1d043 $23 -.asm_1d045 - cp $1 - jr nz, .asm_1d054 ; 0x1d047 $b - ld a, $2 - ld [$cd37], a - ld a, $30 - ld b, $9 - jr .asm_1d068 ; 0x1d052 $14 -.asm_1d054 - ld a, $3 - ld [$cd37], a - ld b, $a - ld a, [W_XCOORD] - cp $4 - jr nz, .asm_1d066 ; 0x1d060 $4 - ld a, $40 - jr .asm_1d068 ; 0x1d064 $2 -.asm_1d066 - ld a, $20 -.asm_1d068 - ld [$ffec], a - ld a, b - ld [$ffed], a - ld a, $1 - ld [$cf13], a - call Func_32f9 - ret - -OaksLabScript_1d076: ; 1d076 (7:5076) - ld hl, OaksLabTextPointers + $36 ; $50b8 ; starts at OaksLabText28 - ld a, l - ld [W_MAPTEXTPTR], a - ld a, h - ld [W_MAPTEXTPTR+1], a - ret - -OaksLabTextPointers: ; 1d082 (7:5082) - dw OaksLabText1 - dw OaksLabText2 - dw OaksLabText3 - dw OaksLabText4 - dw OaksLabText5 - dw OaksLabText6 - dw OaksLabText7 - dw OaksLabText8 - dw OaksLabText9 - dw OaksLabText10 - dw OaksLabText11 - dw OaksLabText12 - dw OaksLabText13 - dw OaksLabText14 - dw OaksLabText15 - dw OaksLabText16 - dw OaksLabText17 - dw OaksLabText18 - dw OaksLabText19 - dw OaksLabText20 - dw OaksLabText21 - dw OaksLabText22 - dw OaksLabText23 - dw OaksLabText24 - dw OaksLabText25 - dw OaksLabText26 - dw OaksLabText27 - dw OaksLabText28 - dw OaksLabText29 - dw OaksLabText30 - dw OaksLabText31 - dw OaksLabText32 - dw OaksLabText33 - dw OaksLabText34 - dw OaksLabText35 - dw OaksLabText36 - dw OaksLabText37 - dw OaksLabText38 - -OaksLabText28: ; 1d0ce (7:50ce) -OaksLabText1: ; 1d0ce (7:50ce) - db $08 ; asm - ld a, [$d74b] - bit 0, a - jr nz, .asm_1d0de ; 0x1d0d4 - ld hl, OaksLabGaryText1 - call PrintText - jr .asm_1d0f0 ; 0x1d0dc -.asm_1d0de ; 0x1d0de - bit 2, a - jr nz, .asm_1d0ea ; 0x1d0e0 - ld hl, OaksLabText40 - call PrintText - jr .asm_1d0f0 ; 0x1d0e8 -.asm_1d0ea ; 0x1d0ea - ld hl, OaksLabText41 - call PrintText -.asm_1d0f0 ; 0x1d0f0 - jp TextScriptEnd - -OaksLabGaryText1: ; 1d0f3 (7:50f3) - TX_FAR _OaksLabGaryText1 - db "@" - -OaksLabText40: ; 1d0f8 (7:50f8) - TX_FAR _OaksLabText40 - db "@" - -OaksLabText41: ; 1d0fd (7:50fd) - TX_FAR _OaksLabText41 - db "@" - -OaksLabText29: ; 1d102 (7:5102) -OaksLabText2: ; 1d102 (7:5102) - db $8 - ld a, SQUIRTLE - ld [$cd3d], a - ld a, $3 - ld [$cd3e], a - ld a, CHARMANDER - ld b, $2 - jr OaksLabScript_1d133 ; 0x1d111 $20 - -OaksLabText30: ; 1d113 (7:5113) -OaksLabText3: ; 1d113 (7:5113) - db $8 - ld a, BULBASAUR - ld [$cd3d], a - ld a, $4 - ld [$cd3e], a - ld a, SQUIRTLE - ld b, $3 - jr OaksLabScript_1d133 ; 0x1d122 $f - -OaksLabText31: ; 1d124 (7:5124) -OaksLabText4: ; 1d124 (7:5124) - db $8 - ld a, CHARMANDER - ld [$cd3d], a - ld a, $2 - ld [$cd3e], a - ld a, BULBASAUR - ld b, $4 - -OaksLabScript_1d133: ; 1d133 (7:5133) - ld [$cf91], a - ld [$d11e], a - ld a, b - ld [$cf13], a - ld a, [$d74b] - bit 2, a - jp nz, OaksLabScript_1d22d - bit 1, a - jr nz, OaksLabScript_1d157 ; 0x1d147 $e - ld hl, OaksLabText39 - call PrintText - jp TextScriptEnd - -OaksLabText39: ; 1d152 (7:5152) - TX_FAR _OaksLabText39 - db "@" - -OaksLabScript_1d157: ; 1d157 (7:5157) - ld a, $5 - ld [$ff8c], a - ld a, $9 - ld [$ff8b], a - call Func_34fc - ld [hl], $0 - ; manually fixed some disassembler issues around here - ld a, $1 - ld [$FF8c], a - ld a, $9 - ld [$ff8b], a - call Func_34fc - ld [hl], $c - ld hl, $d730 - set 6, [hl] - ld a, $46 - call Predef - ld hl, $d730 - res 6, [hl] - call ReloadMapData - ld c, $a - call DelayFrames - ld a, [$cf13] - cp $2 - jr z, OaksLabLookAtCharmander - cp $3 - jr z, OaksLabLookAtSquirtle - jr OaksLabLookAtBulbasaur - -OaksLabLookAtCharmander ; 0x1d195 - ld hl, OaksLabCharmanderText - jr OaksLabMonChoiceMenu -OaksLabCharmanderText: ; 1d19a (7:519a) - TX_FAR _OaksLabCharmanderText - db "@" - -OaksLabLookAtSquirtle: ; 1d19f (7:519f) - ld hl, OaksLabSquirtleText - jr OaksLabMonChoiceMenu -OaksLabSquirtleText: ; 1d1a4 (7:51a4) - TX_FAR _OaksLabSquirtleText - db "@" - -OaksLabLookAtBulbasaur: ; 1d1a9 (7:51a9) - ld hl, OaksLabBulbasaurText - jr OaksLabMonChoiceMenu -OaksLabBulbasaurText: ; 1d1ae (7:51ae) - TX_FAR _OaksLabBulbasaurText - db "@" - -OaksLabMonChoiceMenu: ; 1d1b3 (7:51b3) - call PrintText - ld a, $1 - ld [$cc3c], a - call YesNoChoice ; yes/no menu - ld a, [$cc26] - and a - jr nz, OaksLabMonChoiceEnd - ld a, [$cf91] - ld [$d717], a - ld [$d11e], a - call GetMonName - ld a, [$cf13] - cp $2 - jr nz, asm_1d1db ; 0x1d1d5 $4 - ld a, $2b - jr asm_1d1e5 ; 0x1d1d9 $a -asm_1d1db: ; 1d1db (7:51db) - cp $3 - jr nz, asm_1d1e3 ; 0x1d1dd $4 - ld a, $2c - jr asm_1d1e5 ; 0x1d1e1 $2 -asm_1d1e3: ; 1d1e3 (7:51e3) - ld a, $2d -asm_1d1e5: ; 1d1e5 (7:51e5) - ld [$cc4d], a - ld a, $11 - call Predef - ld a, $1 - ld [$cc3c], a - ld hl, OaksLabMonEnergeticText - call PrintText - ld hl, OaksLabReceivedMonText - call PrintText - xor a - ld [$cc49], a - ld a, $5 - ld [$d127], a - ld a, [$cf91] - ld [$d11e], a - call AddPokemonToParty - ld hl, $d72e - set 3, [hl] - ld a, $fc - ld [wJoypadForbiddenButtonsMask], a - ld a, $8 - ld [W_OAKSLABCURSCRIPT], a -OaksLabMonChoiceEnd: ; 1d21f (7:521f) - jp TextScriptEnd - -OaksLabMonEnergeticText: ; 1d222 (7:5222) - TX_FAR _OaksLabMonEnergeticText - db "@" - -OaksLabReceivedMonText: ; 1d227 (7:5227) - TX_FAR _OaksLabReceivedMonText - db $11, "@" - -OaksLabScript_1d22d: ; 1d22d (7:522d) - ld a, $5 - ld [$ff8c], a - ld a, $9 - ld [$ff8b], a - call Func_34fc - ld [hl], $0 - ld hl, OaksLabLastMonText - call PrintText - jp TextScriptEnd - -OaksLabLastMonText: ; 1d243 (7:5243) - TX_FAR _OaksLabLastMonText - db "@" - -OaksLabText32: ; 1d248 (7:5248) -OaksLabText5: ; 1d248 (7:5248) - db $08 ; asm - ld a, [$d747] - bit 6, a - jr nz, .asm_50e81 ; 0x1d24e - ld hl, $d2f7 - ld b, $13 - call CountSetBits - ld a, [$d11e] - cp $2 - jr c, .asm_b28b0 ; 0x1d25d - ld a, [$d74b] - bit 5, a - jr z, .asm_b28b0 ; 0x1d264 -.asm_50e81 ; 0x1d266 - ld hl, UnnamedText_1d31d - call PrintText - ld a, $1 - ld [$cc3c], a - ld a, $56 - call Predef - jp .asm_0f042 -.asm_b28b0 ; 0x1d279 - ld b,POKE_BALL - call IsItemInBag - jr nz, .asm_17c30 ; 0x1d27e - ld a, [$d7eb] - bit 5, a - jr nz, .asm_f1adc ; 0x1d285 - ld a, [$d74b] - bit 5, a - jr nz, .asm_333a2 ; 0x1d28c - bit 3, a - jr nz, .asm_76269 ; 0x1d290 - ld a, [$d72e] - bit 3, a - jr nz, .asm_4a5e0 ; 0x1d297 - ld hl, UnnamedText_1d2f0 - call PrintText - jr .asm_0f042 ; 0x1d29f -.asm_4a5e0 ; 0x1d2a1 - ld hl, UnnamedText_1d2f5 - call PrintText - jr .asm_0f042 ; 0x1d2a7 -.asm_76269 ; 0x1d2a9 - ld b, OAKS_PARCEL - call IsItemInBag - jr nz, .asm_a8fcf ; 0x1d2ae - ld hl, UnnamedText_1d2fa - call PrintText - jr .asm_0f042 ; 0x1d2b6 -.asm_a8fcf ; 0x1d2b8 - ld hl, OaksLabDeliverParcelText - call PrintText - call OaksLabScript_1d00a - ld a, $f - ld [W_OAKSLABCURSCRIPT], a - jr .asm_0f042 ; 0x1d2c6 -.asm_333a2 ; 0x1d2c8 - ld hl, OaksLabAroundWorldText - call PrintText - jr .asm_0f042 ; 0x1d2ce -.asm_f1adc ; 0x1d2d0 - ld hl, $d74b - bit 4, [hl] - set 4, [hl] - jr nz, .asm_17c30 ; 0x1d2d7 - ld bc, (POKE_BALL << 8) | 5 - call GiveItem - ld hl, OaksLabGivePokeballsText - call PrintText - jr .asm_0f042 ; 0x1d2e5 -.asm_17c30 ; 0x1d2e7 - ld hl, OaksLabPleaseVisitText - call PrintText -.asm_0f042 ; 0x1d2ed - jp TextScriptEnd - -UnnamedText_1d2f0: ; 1d2f0 (7:52f0) - TX_FAR _UnnamedText_1d2f0 - db "@" - -UnnamedText_1d2f5: ; 1d2f5 (7:52f5) - TX_FAR _UnnamedText_1d2f5 - db "@" - -UnnamedText_1d2fa: ; 1d2fa (7:52fa) - TX_FAR _UnnamedText_1d2fa - db "@" - -OaksLabDeliverParcelText: ; 1d2ff (7:52ff) - TX_FAR _OaksLabDeliverParcelText1 - db $11 - TX_FAR _OaksLabDeliverParcelText2 - db "@" - -OaksLabAroundWorldText: ; 1d309 (7:5309) - TX_FAR _OaksLabAroundWorldText - db "@" - -OaksLabGivePokeballsText: ; 1d30e (7:530e) - TX_FAR _OaksLabGivePokeballsText1 - db $11 - TX_FAR _OaksLabGivePokeballsText2 - db "@" - -OaksLabPleaseVisitText: ; 1d318 (7:5318) - TX_FAR _OaksLabPleaseVisitText - db "@" - -UnnamedText_1d31d: ; 1d31d (7:531d) - TX_FAR _UnnamedText_1d31d - db "@" - -OaksLabText34: ; 1d322 (7:5322) -OaksLabText33: ; 1d322 (7:5322) -OaksLabText7: ; 1d322 (7:5322) -OaksLabText6: ; 1d322 (7:5322) - db $08 ; asm - ld hl, UnnamedText_1d32c - call PrintText - jp TextScriptEnd - -UnnamedText_1d32c: ; 1d32c (7:532c) - TX_FAR _UnnamedText_1d32c - db "@" - -OaksLabText35: ; 1d331 (7:5331) -OaksLabText8: ; 1d331 (7:5331) - TX_FAR _OaksLabText8 - db "@" - -OaksLabText36: ; 1d336 (7:5336) -OaksLabText9: ; 1d336 (7:5336) - db $08 ; asm - ld hl, UnnamedText_1d340 - call PrintText - jp TextScriptEnd - -UnnamedText_1d340: ; 1d340 (7:5340) - TX_FAR _UnnamedText_1d340 - db "@" - -OaksLabText17: ; 1d345 (7:5345) - db $8 - ld hl, OaksLabRivalWaitingText - call PrintText - jp TextScriptEnd - -OaksLabRivalWaitingText: ; 1d34f (7:534f) - TX_FAR _OaksLabRivalWaitingText - db "@" - -OaksLabText18: ; 1d354 (7:5354) - db $8 - ld hl, OaksLabChooseMonText - call PrintText - jp TextScriptEnd - -OaksLabChooseMonText: ; 1d35e (7:535e) - TX_FAR _OaksLabChooseMonText - db "@" - -OaksLabText19: ; 1d363 (7:5363) - db $8 - ld hl, OaksLabRivalInterjectionText - call PrintText - jp TextScriptEnd - -OaksLabRivalInterjectionText: ; 1d36d (7:536d) - TX_FAR _OaksLabRivalInterjectionText - db "@" - -OaksLabText20: ; 1d372 (7:5372) - db $8 - ld hl, OaksLabBePatientText - call PrintText - jp TextScriptEnd - -OaksLabBePatientText: ; 1d37c (7:537c) - TX_FAR _OaksLabBePatientText - db "@" - -OaksLabText12: ; 1d381 (7:5381) - db $8 - ld hl, OaksLabLeavingText - call PrintText - jp TextScriptEnd - -OaksLabLeavingText: ; 1d38b (7:538b) - TX_FAR _OaksLabLeavingText - db "@" - -OaksLabText13: ; 1d390 (7:5390) - db $8 - ld hl, OaksLabRivalPickingMonText - call PrintText - jp TextScriptEnd - -OaksLabRivalPickingMonText: ; 1d39a (7:539a) - TX_FAR _OaksLabRivalPickingMonText - db "@" - -OaksLabText14: ; 1d39f (7:539f) - db $8 - ld hl, OaksLabRivalReceivedMonText - call PrintText - jp TextScriptEnd - -OaksLabRivalReceivedMonText: ; 1d3a9 (7:53a9) - TX_FAR _OaksLabRivalReceivedMonText - db $11, "@" - -OaksLabText15: ; 1d3af (7:53af) - db $8 - ld hl, OaksLabRivalChallengeText - call PrintText - jp TextScriptEnd - -OaksLabRivalChallengeText: ; 1d3b9 (7:53b9) - TX_FAR _OaksLabRivalChallengeText - db "@" - -UnnamedText_1d3be: ; 1d3be (7:53be) - TX_FAR _UnnamedText_1d3be - db "@" - -UnnamedText_1d3c3: ; 1d3c3 (7:53c3) - TX_FAR _UnnamedText_1d3c3 - db "@" - -OaksLabText16: ; 1d3c8 (7:53c8) - db $8 - ld hl, OaksLabRivalToughenUpText - call PrintText - jp TextScriptEnd - -OaksLabRivalToughenUpText: ; 1d3d2 (7:53d2) - TX_FAR _OaksLabRivalToughenUpText - db "@" - -OaksLabText21: ; 1d3d7 (7:53d7) - TX_FAR _OaksLabText21 - db "@" - -OaksLabText22: ; 1d3dc (7:53dc) - TX_FAR _OaksLabText22 - db "@" - -OaksLabText23: ; 1d3e1 (7:53e1) - TX_FAR _OaksLabText23 - db "@" - -OaksLabText24: ; 1d3e6 (7:53e6) - TX_FAR _OaksLabText24 - db "@" - -OaksLabText25: ; 1d3eb (7:53eb) - TX_FAR _OaksLabText25 - db $11, "@" - -OaksLabText26: ; 1d3f1 (7:53f1) - TX_FAR _OaksLabText26 - db "@" - -OaksLabText27: ; 1d3f6 (7:53f6) - TX_FAR _OaksLabText27 - db "@" - -OaksLabText38: ; 1d3fb (7:53fb) -OaksLabText37: ; 1d3fb (7:53fb) -OaksLabText11: ; 1d3fb (7:53fb) -OaksLabText10: ; 1d3fb (7:53fb) - db $08 ; asm - ld hl, UnnamedText_1d405 - call PrintText - jp TextScriptEnd - -UnnamedText_1d405: ; 1d405 (7:5405) - TX_FAR _UnnamedText_1d405 - db "@" +INCLUDE "scripts/oakslab.asm" INCLUDE "data/mapObjects/oakslab.asm" INCLUDE "data/mapHeaders/viridianmart.asm" -ViridianMartScript: ; 1d46e (7:546e) - call ViridianMartScript_1d47d - call EnableAutoTextBoxDrawing - ld hl, ViridianMartScriptPointers - ld a, [W_VIRIDIANMARKETCURSCRIPT] - jp CallFunctionInTable - -ViridianMartScript_1d47d: ; 1d47d (7:547d) - ld a, [$d74e] - bit 0, a - jr nz, .asm_1d489 ; 0x1d482 $5 - ld hl, ViridianMartTextPointers ; $54e0 - jr .asm_1d48c ; 0x1d487 $3 -.asm_1d489 - ld hl, ViridianMartTextPointers + $a ; $54ea ; starts at ViridianMartText6 -.asm_1d48c - ld a, l - ld [W_MAPTEXTPTR], a - ld a, h - ld [W_MAPTEXTPTR+1], a - ret - -ViridianMartScriptPointers: ; 1d495 (7:5495) - dw ViridianMartScript0 - dw ViridianMartScript1 - dw ViridianMartScript2 - -ViridianMartScript0: ; 1d49b (7:549b) - call UpdateSprites - ld a, $4 - ld [$ff8c], a - call DisplayTextID - ld hl, $ccd3 - ld de, RLEMovement1d4bb - call DecodeRLEList - dec a - ld [$cd38], a - call Func_3486 - ld a, $1 - ld [W_VIRIDIANMARKETCURSCRIPT], a - ret - -RLEMovement1d4bb: ; 1d4bb (7:54bb) - db $20, $01 - db $40, $02 - db $ff - -ViridianMartScript1: ; 1d4c0 (7:54c0) - ld a, [$cd38] - and a - ret nz - call Delay3 - ld a, $5 - ld [$ff8c], a - call DisplayTextID - ld bc, (OAKS_PARCEL << 8) + 1 - call GiveItem - ld hl, $d74e - set 1, [hl] - ld a, $2 - ld [W_VIRIDIANMARKETCURSCRIPT], a - ; fallthrough -ViridianMartScript2: ; 1d4df (7:54df) - ret - -ViridianMartTextPointers: ; 1d4e0 (7:54e0) - dw ViridianMartText1 - dw ViridianMartText2 - dw ViridianMartText3 - dw ViridianMartText4 - dw ViridianMartText5 - dw ViridianMartText6 - dw ViridianMartText2 - dw ViridianMartText3 - -ViridianMartText1: ; 1d4f0 (7:54f0) - TX_FAR _ViridianMartText1 - db "@" - -ViridianMartText4: ; 1d4f5 (7:54f5) - TX_FAR _ViridianMartText4 - db "@" - -ViridianMartText5: ; 1d4fa (7:54fa) - TX_FAR ViridianMartParcelQuestText - db $11 - db "@" - -ViridianMartText2: ; 1d500 (7:5500) - TX_FAR _ViridianMartText2 - db "@" - -ViridianMartText3: ; 1d505 (7:5505) - TX_FAR _ViridianMartText3 - db "@" +INCLUDE "scripts/viridianmart.asm" INCLUDE "data/mapObjects/viridianmart.asm" @@ -33839,331 +29685,43 @@ ViridianMartBlocks: ; 1d530 (7:5530) INCLUDE "data/mapHeaders/school.asm" -SchoolScript: ; 1d54c (7:554c) - jp EnableAutoTextBoxDrawing - -SchoolTextPointers: ; 1d54f (7:554f) - dw SchoolText1 - dw SchoolText2 - -SchoolText1: ; 1d553 (7:5553) - TX_FAR _SchoolText1 - db "@" - -SchoolText2: ; 1d558 (7:5558) - TX_FAR _SchoolText2 - db "@" +INCLUDE "scripts/school.asm" INCLUDE "data/mapObjects/school.asm" INCLUDE "data/mapHeaders/viridianhouse.asm" -ViridianHouseScript: ; 1d58a (7:558a) - jp EnableAutoTextBoxDrawing - -ViridianHouseTextPointers: ; 1d58d (7:558d) - dw ViridianHouseText1 - dw ViridianHouseText2 - dw ViridianHouseText3 - dw ViridianHouseText4 - -ViridianHouseText1: ; 1d595 (7:5595) - TX_FAR _ViridianHouseText1 - db "@" - -ViridianHouseText2: ; 1d59a (7:559a) - TX_FAR _ViridianHouseText2 - db "@" - -ViridianHouseText3: ; 1d59f (7:559f) - db $08 ; asm - ld hl, UnnamedText_1d5b1 - call PrintText - ld a, SPEAROW - call PlayCry - call WaitForSoundToFinish - jp TextScriptEnd - -UnnamedText_1d5b1: ; 1d5b1 (7:55b1) - TX_FAR _UnnamedText_1d5b1 - db "@" - -ViridianHouseText4: ; 1d5b6 (7:55b6) - TX_FAR _ViridianHouseText4 - db "@" +INCLUDE "scripts/viridianhouse.asm" INCLUDE "data/mapObjects/viridianhouse.asm" INCLUDE "data/mapHeaders/pewterhouse1.asm" -PewterHouse1Script: ; 1d5f3 (7:55f3) - jp EnableAutoTextBoxDrawing - -PewterHouse1TextPointers: ; 1d5f6 (7:55f6) - dw PewterHouse1Text1 - dw PewterHouse1Text2 - dw PewterHouse1Text3 - -PewterHouse1Text1: ; 1d5fc (7:55fc) - TX_FAR _PewterHouse1Text1 - db $08 ; asm - ld a, NIDORAN_M - call PlayCry - call WaitForSoundToFinish - jp TextScriptEnd - -PewterHouse1Text2: ; 1d60c (7:560c) - TX_FAR _PewterHouse1Text2 - db "@" - -PewterHouse1Text3: ; 1d611 (7:5611) - TX_FAR _PewterHouse1Text3 - db "@" +INCLUDE "scripts/pewterhouse1.asm" INCLUDE "data/mapObjects/pewterhouse1.asm" INCLUDE "data/mapHeaders/pewterhouse2.asm" -PewterHouse2Script: ; 1d648 (7:5648) - jp EnableAutoTextBoxDrawing - -PewterHouse2TextPointers: ; 1d64b (7:564b) - dw PewterHouse2Text1 - dw PewterHouse2Text2 - -PewterHouse2Text1: ; 1d64f (7:564f) - TX_FAR _PewterHouse2Text1 - db "@" - -PewterHouse2Text2: ; 1d654 (7:5654) - TX_FAR _PewterHouse2Text2 - db "@" +INCLUDE "scripts/pewterhouse2.asm" INCLUDE "data/mapObjects/pewterhouse2.asm" INCLUDE "data/mapHeaders/ceruleanhousetrashed.asm" -CeruleanHouseTrashedScript: ; 1d685 (7:5685) - call EnableAutoTextBoxDrawing - ret - -CeruleanHouseTrashedTextPointers: ; 1d689 (7:5689) - dw CeruleanHouseTrashedText1 - dw CeruleanHouseTrashedText2 - dw CeruleanHouseTrashedText3 - -CeruleanHouseTrashedText1: ; 1d68f (7:568f) - db $08 ; asm - ld b, $e4 - ld a, $1c - call Predef - and b - jr z, .asm_f8734 ; 0x1d698 - ld hl, UnnamedText_1d6b0 - call PrintText - jr .asm_8dfe9 ; 0x1d6a0 -.asm_f8734 ; 0x1d6a2 - ld hl, UnnamedText_1d6ab - call PrintText -.asm_8dfe9 ; 0x1d6a8 - jp TextScriptEnd - -UnnamedText_1d6ab: ; 1d6ab (7:56ab) - TX_FAR _UnnamedText_1d6ab - db "@" - -UnnamedText_1d6b0: ; 1d6b0 (7:56b0) - TX_FAR _UnnamedText_1d6b0 - db "@" - -CeruleanHouseTrashedText2: ; 1d6b5 (7:56b5) - TX_FAR _CeruleanHouseTrashedText2 - db "@" - -CeruleanHouseTrashedText3: ; 1d6ba (7:56ba) - TX_FAR _CeruleanHouseTrashedText3 - db "@" +INCLUDE "scripts/ceruleanhousetrashed.asm" INCLUDE "data/mapObjects/ceruleanhousetrashed.asm" INCLUDE "data/mapHeaders/ceruleanhouse1.asm" -CeruleanHouse1Script: ; 1d6f6 (7:56f6) - jp EnableAutoTextBoxDrawing - -CeruleanHouse1TextPointers: ; 1d6f9 (7:56f9) - dw CeruleanHouse1Text1 - dw CeruleanHouse1Text2 - -CeruleanHouse1Text1: ; 1d6fd (7:56fd) - TX_FAR _CeruleanHouse1Text1 - db "@" - -CeruleanHouse1Text2: ; 1d702 (7:5702) - db $08 ; asm - ld a, $6 - ld [wWhichTrade], a - ld a, $54 - call Predef - jp TextScriptEnd +INCLUDE "scripts/ceruleanhouse1.asm" INCLUDE "data/mapObjects/ceruleanhouse1.asm" INCLUDE "data/mapHeaders/bikeshop.asm" -BikeShopScript: ; 1d73c (7:573c) - jp EnableAutoTextBoxDrawing - -BikeShopTextPointers: ; 1d73f (7:573f) - dw BikeShopText1 - dw BikeShopText2 - dw BikeShopText3 - -BikeShopText1: ; 1d745 (7:5745) - db $08 ; asm - ld a, [$d75f] - bit 0, a - jr z, .asm_260d4 ; 0x1d74b - ld hl, UnnamedText_1d82f - call PrintText - jp .Done -.asm_260d4 ; 0x1d756 - ld b, BIKE_VOUCHER - call IsItemInBag - jr z, .asm_41190 ; 0x1d75b - ld hl, UnnamedText_1d81f - call PrintText - ld bc, (BICYCLE << 8) | 1 - call GiveItem - jr nc, .BagFull - ld a, BIKE_VOUCHER - ldh [$db], a - ld b, BANK(RemoveItemByID) - ld hl, RemoveItemByID - call Bankswitch - ld hl, $d75f - set 0, [hl] - ld hl, UnnamedText_1d824 - call PrintText - jr .Done -.BagFull - ld hl, UnnamedText_1d834 - call PrintText - jr .Done -.asm_41190 ; 0x1d78c - ld hl, UnnamedText_1d810 - call PrintText - xor a - ld [$cc26], a - ld [$cc2a], a - ld a, $3 - ld [$cc29], a - ld a, $1 - ld [$cc28], a - ld a, $2 - ld [$cc24], a - ld a, $1 - ld [$cc25], a - ld hl, $d730 - set 6, [hl] - ld hl, wTileMap - ld b, $4 - ld c, $f - call TextBoxBorder - call UpdateSprites - FuncCoord 2, 2 ; $c3ca - ld hl, Coord - ld de, BikeShopMenuText - call PlaceString - FuncCoord 8, 3 ; $c3e4 - ld hl, Coord - ld de, BikeShopMenuPrice - call PlaceString - ld hl, UnnamedText_1d815 - call PrintText - call HandleMenuInput - bit 1, a - jr nz, .asm_b7579 ; 0x1d7dc - ld hl, $d730 - res 6, [hl] - ld a, [$cc26] - and a - jr nz, .asm_b7579 ; 0x1d7e7 - ld hl, UnnamedText_1d81a - call PrintText -.asm_b7579 ; 0x1d7ef - ld hl, UnnamedText_1d82a - call PrintText -.Done - jp TextScriptEnd - -BikeShopMenuText: ; 1d7f8 (7:57f8) - db "BICYCLE" - next "CANCEL@" - -BikeShopMenuPrice: ; 1d807 (7:5807) - db "¥1000000@" - -UnnamedText_1d810: ; 1d810 (7:5810) - TX_FAR _UnnamedText_1d810 - db "@" - -UnnamedText_1d815: ; 1d815 (7:5815) - TX_FAR _UnnamedText_1d815 - db "@" - -UnnamedText_1d81a: ; 1d81a (7:581a) - TX_FAR _UnnamedText_1d81a - db "@" - -UnnamedText_1d81f: ; 1d81f (7:581f) - TX_FAR _UnnamedText_1d81f - db "@" - -UnnamedText_1d824: ; 1d824 (7:5824) - TX_FAR _UnnamedText_1d824 ; 0x98eb2 - db $11, "@" - -UnnamedText_1d82a: ; 1d82a (7:582a) - TX_FAR _UnnamedText_1d82a - db "@" - -UnnamedText_1d82f: ; 1d82f (7:582f) - TX_FAR _UnnamedText_1d82f - db "@" - -UnnamedText_1d834: ; 1d834 (7:5834) - TX_FAR _UnnamedText_1d834 - db "@" - -BikeShopText2: ; 1d839 (7:5839) - db $08 ; asm - ld hl, UnnamedText_1d843 - call PrintText - jp TextScriptEnd - -UnnamedText_1d843: ; 1d843 (7:5843) - TX_FAR _UnnamedText_1d843 - db "@" - -BikeShopText3: ; 1d848 (7:5848) - db $08 ; asm - ld a, [$d75f] - bit 0, a - ld hl, UnnamedText_1d861 - jr nz, .asm_34d2d ; 0x1d851 - ld hl, UnnamedText_1d85c -.asm_34d2d ; 0x1d856 - call PrintText - jp TextScriptEnd - -UnnamedText_1d85c: ; 1d85c (7:585c) - TX_FAR _UnnamedText_1d85c - db "@" - -UnnamedText_1d861: ; 1d861 (7:5861) - TX_FAR _UnnamedText_1d861 - db "@" +INCLUDE "scripts/bikeshop.asm" INCLUDE "data/mapObjects/bikeshop.asm" @@ -34172,521 +29730,31 @@ BikeShopBlocks: ; 1d88c (7:588c) INCLUDE "data/mapHeaders/lavenderhouse1.asm" -LavenderHouse1Script: ; 1d8a8 (7:58a8) - call EnableAutoTextBoxDrawing - ret - -LavenderHouse1TextPointers: ; 1d8ac (7:58ac) - dw LavenderHouse1Text1 - dw LavenderHouse1Text2 - dw LavenderHouse1Text3 - dw LavenderHouse1Text4 - dw LavenderHouse1Text5 - dw LavenderHouse1Text6 - -LavenderHouse1Text1: ; 1d8b8 (7:58b8) - db $08 ; asm - ld a, [$d7e0] - bit 7, a - jr nz, .asm_72e5d ; 0x1d8be - ld hl, UnnamedText_1d8d1 - call PrintText - jr .asm_6957f ; 0x1d8c6 -.asm_72e5d ; 0x1d8c8 - ld hl, UnnamedText_1d8d6 - call PrintText -.asm_6957f ; 0x1d8ce - jp TextScriptEnd - -UnnamedText_1d8d1: ; 1d8d1 (7:58d1) - TX_FAR _UnnamedText_1d8d1 - db "@" - -UnnamedText_1d8d6: ; 1d8d6 (7:58d6) - TX_FAR _UnnamedText_1d8d6 - db "@" - -LavenderHouse1Text2: ; 1d8db (7:58db) - db $08 ; asm - ld a, [$d7e0] - bit 7, a - jr nz, .asm_06470 ; 0x1d8e1 - ld hl, UnnamedText_1d8f4 - call PrintText - jr .asm_3d208 ; 0x1d8e9 -.asm_06470 ; 0x1d8eb - ld hl, UnnamedText_1d8f9 - call PrintText -.asm_3d208 ; 0x1d8f1 - jp TextScriptEnd - -UnnamedText_1d8f4: ; 1d8f4 (7:58f4) - TX_FAR _UnnamedText_1d8f4 - db "@" - -UnnamedText_1d8f9: ; 1d8f9 (7:58f9) - TX_FAR _UnnamedText_1d8f9 - db "@" - -LavenderHouse1Text3: ; 1d8fe (7:58fe) - TX_FAR _LavenderHouse1Text3 - db $8 - ld a, PSYDUCK - call PlayCry - jp TextScriptEnd - -LavenderHouse1Text4: ; 1d90b (7:590b) - TX_FAR _LavenderHouse1Text4 - db $8 - ld a, NIDORINO - call PlayCry - jp TextScriptEnd - -LavenderHouse1Text5: ; 1d918 (7:5918) - db $08 ; asm - ld a, [$d76c] - bit 0, a - jr nz, .asm_15ac2 ; 0x1d91e - ld hl, UnnamedText_1d94c - call PrintText - ld bc, (POKE_FLUTE << 8) | 1 - call GiveItem - jr nc, .BagFull - ld hl, ReceivedFluteText - call PrintText - ld hl, $d76c - set 0, [hl] - jr .asm_da749 ; 0x1d939 -.BagFull - ld hl, FluteNoRoomText - call PrintText - jr .asm_da749 ; 0x1d941 -.asm_15ac2 ; 0x1d943 - ld hl, MrFujiAfterFluteText - call PrintText -.asm_da749 ; 0x1d949 - jp TextScriptEnd - -UnnamedText_1d94c: ; 1d94c (7:594c) - TX_FAR _UnnamedText_1d94c - db "@" - -ReceivedFluteText: ; 1d951 (7:5951) - TX_FAR _ReceivedFluteText - db $11 - TX_FAR _FluteExplanationText - db "@" - -FluteNoRoomText: ; 1d95b (7:595b) - TX_FAR _FluteNoRoomText - db "@" - -MrFujiAfterFluteText: ; 1d960 (7:5960) - TX_FAR _MrFujiAfterFluteText - db "@" - -LavenderHouse1Text6: ; 1d965 (7:5965) - TX_FAR _LavenderHouse1Text6 - db "@" +INCLUDE "scripts/lavenderhouse1.asm" INCLUDE "data/mapObjects/lavenderhouse1.asm" INCLUDE "data/mapHeaders/lavenderhouse2.asm" -LavenderHouse2Script: ; 1d9ae (7:59ae) - call EnableAutoTextBoxDrawing - ret - -LavenderHouse2TextPointers: ; 1d9b2 (7:59b2) - dw LavenderHouse2Text1 - dw LavenderHouse2Text2 - -LavenderHouse2Text1: ; 1d9b6 (7:59b6) - TX_FAR _LavenderHouse2Text1 - db $8 - ld a, CUBONE - call PlayCry - jp TextScriptEnd - -LavenderHouse2Text2: ; 1d9c3 (7:59c3) - db $08 ; asm - ld a, [$d7e0] - bit 7, a - jr nz, .asm_65711 ; 0x1d9c9 - ld hl, UnnamedText_1d9dc - call PrintText - jr .asm_64be1 ; 0x1d9d1 -.asm_65711 ; 0x1d9d3 - ld hl, UnnamedText_1d9e1 - call PrintText -.asm_64be1 ; 0x1d9d9 - jp TextScriptEnd - -UnnamedText_1d9dc: ; 1d9dc (7:59dc) - TX_FAR _UnnamedText_1d9dc - db "@" - -UnnamedText_1d9e1: ; 1d9e1 (7:59e1) - TX_FAR _UnnamedText_1d9e1 - db "@" +INCLUDE "scripts/lavenderhouse2.asm" INCLUDE "data/mapObjects/lavenderhouse2.asm" INCLUDE "data/mapHeaders/namerater.asm" -NameRaterScript: ; 1da12 (7:5a12) - jp EnableAutoTextBoxDrawing - -Func_1da15: ; 1da15 (7:5a15) - call PrintText - call YesNoChoice - ld a, [$cc26] - and a - ret - -Func_1da20: ; 1da20 (7:5a20) - ld hl, W_PARTYMON1OT - ld bc, $000b - ld a, [wWhichPokemon] - call AddNTimes - ld de, W_PLAYERNAME - ld c, $b - call .asm_1da47 - jr c, .asm_1da52 ; 0x1da34 $1c - ld hl, $d177 - ld bc, $002c - ld a, [wWhichPokemon] - call AddNTimes - ld de, $d359 - ld c, $2 -.asm_1da47 - ld a, [de] - cp [hl] - jr nz, .asm_1da52 ; 0x1da49 $7 - inc hl - inc de - dec c - jr nz, .asm_1da47 ; 0x1da4e $f7 - and a - ret -.asm_1da52 - scf - ret - -NameRaterTextPointers: ; 1da54 (7:5a54) - dw NameRaterText1 - -NameRaterText1: ; 1da56 (7:5a56) - db $8 - call SaveScreenTilesToBuffer2 - ld hl, UnnamedText_1dab3 - call Func_1da15 - jr nz, .asm_1daae ; 0x1da60 $4c - ld hl, UnnamedText_1dab8 - call PrintText - xor a - ld [$d07d], a - ld [$cfcb], a - ld [$cc35], a - call DisplayPartyMenu - push af - call GBPalWhiteOutWithDelay3 - call Func_3dbe - call LoadGBPal - pop af - jr c, .asm_1daae ; 0x1da80 $2c - call GetPartyMonName2 - call Func_1da20 - ld hl, UnnamedText_1dad1 - jr c, .asm_1daa8 ; 0x1da8b $1b - ld hl, UnnamedText_1dabd - call Func_1da15 - jr nz, .asm_1daae ; 0x1da93 $19 - ld hl, UnnamedText_1dac2 - call PrintText - ld b, BANK(Func_655c) - ld hl, Func_655c - call Bankswitch - jr c, .asm_1daae ; 0x1daa3 $9 - ld hl, UnnamedText_1dac7 -.asm_1daa8 - call PrintText - jp TextScriptEnd -.asm_1daae - ld hl, UnnamedText_1dacc - jr .asm_1daa8 ; 0x1dab1 $f5 - -UnnamedText_1dab3: ; 1dab3 (7:5ab3) - TX_FAR _UnnamedText_1dab3 - db "@" - -UnnamedText_1dab8: ; 1dab8 (7:5ab8) - TX_FAR _UnnamedText_1dab8 - db "@" - -UnnamedText_1dabd: ; 1dabd (7:5abd) - TX_FAR _UnnamedText_1dabd - db "@" - -UnnamedText_1dac2: ; 1dac2 (7:5ac2) - TX_FAR _UnnamedText_1dac2 - db "@" - -UnnamedText_1dac7: ; 1dac7 (7:5ac7) - TX_FAR _UnnamedText_1dac7 - db "@" - -UnnamedText_1dacc: ; 1dacc (7:5acc) - TX_FAR _UnnamedText_1dacc - db "@" - -UnnamedText_1dad1: ; 1dad1 (7:5ad1) - TX_FAR _UnnamedText_1dad1 - db "@" +INCLUDE "scripts/namerater.asm" INCLUDE "data/mapObjects/namerater.asm" INCLUDE "data/mapHeaders/vermilionhouse1.asm" -VermilionHouse1Script: ; 1dafc (7:5afc) - call EnableAutoTextBoxDrawing - ret - -VermilionHouse1TextPointers: ; 1db00 (7:5b00) - dw VermilionHouse1Text1 - dw VermilionHouse1Text2 - dw VermilionHouse1Text3 - -VermilionHouse1Text1: ; 1db06 (7:5b06) - TX_FAR _VermilionHouse1Text1 - db "@" - -VermilionHouse1Text2: ; 1db0b (7:5b0b) - TX_FAR _VermilionHouse1Text2 - db $08 ; asm - ld a, PIDGEY - call PlayCry - call WaitForSoundToFinish - jp TextScriptEnd - -VermilionHouse1Text3: ; 1db1b (7:5b1b) - TX_FAR _VermilionHouse1Text3 - db "@" +INCLUDE "scripts/vermilionhouse1.asm" INCLUDE "data/mapObjects/vermilionhouse1.asm" INCLUDE "data/mapHeaders/vermiliondock.asm" -VermilionDockScript: ; 1db52 (7:5b52) - call EnableAutoTextBoxDrawing - ld hl, $d803 - bit 4, [hl] - jr nz, .asm_1db8d ; 0x1db5a $31 - bit 0, [hl] - ret z - ld a, [$d42f] - cp $1 - ret nz - bit 2, [hl] - jp z, VermilionDock_1db9b - set 4, [hl] - call Delay3 - ld hl, $d730 - set 7, [hl] - ld hl, $ccd3 - ld a, $40 - ld [hli], a - ld [hli], a - ld [hl], a - ld a, $3 - ld [$cd38], a - xor a - ld [$c206], a - ld [$cd3b], a - dec a - ld [wJoypadForbiddenButtonsMask], a - ret -.asm_1db8d - bit 5, [hl] - ret nz - ld a, [$cd38] - and a - ret nz - ld [wJoypadForbiddenButtonsMask], a - set 5, [hl] - ret - -VermilionDock_1db9b: ; 1db9b (7:5b9b) - set 2, [hl] - ld a, $ff - ld [wJoypadForbiddenButtonsMask], a - ld [$c0ee], a - call PlaySound - ld c, BANK(Music_Surfing) - ld a, MUSIC_SURFING - call PlayMusic - ld b, BANK(LoadSmokeTileFourTimes) - ld hl, LoadSmokeTileFourTimes - call Bankswitch - xor a - ld [$c102], a - ld c, $78 - call DelayFrames - ld b, $9c - call CopyScreenTileBufferToVRAM - FuncCoord 0, 10 ; $c468 - ld hl, Coord - ld bc, $0078 - ld a, $14 - call FillMemory - ld a, $1 - ld [$ffba], a - call Delay3 - xor a - ld [$ffba], a - ld [$cd3d], a - ld [$ff49], a - ld a, $58 - ld [$cd3e], a - ld hl, $d526 - ld c, [hl] - inc hl - ld b, [hl] - push bc - push hl - ld a, (SFX_02_54 - SFX_Headers_02) / 3 - call PlaySoundWaitForCurrent - ld a, $ff - ld [$cfcb], a - ld d, $0 - ld e, $8 -.asm_1dbfa - ld hl, $0002 - add hl, bc - ld a, l - ld [$d526], a - ld a, h - ld [$d527], a - push hl - push de - call ScheduleEastColumnRedraw - call VermilionDock_1dc59 - pop de - ld b, $10 -.asm_1dc11 - call VermilionDock_1dc42 - ld c, $8 -.asm_1dc16 - call VermilionDock_1dc7c - dec c - jr nz, .asm_1dc16 ; 0x1dc1a $fa - inc d - dec b - jr nz, .asm_1dc11 ; 0x1dc1e $f1 - pop bc - dec e - jr nz, .asm_1dbfa ; 0x1dc22 $d6 - xor a - ld [$ff4a], a - ld [$ffb0], a - call VermilionDock_1dc94 - ld a, $90 - ld [$ffb0], a - ld a, $1 - ld [$cfcb], a - pop hl - pop bc - ld [hl], b - dec hl - ld [hl], c - call LoadPlayerSpriteGraphics - ld hl, $d3ae - dec [hl] - ret - -VermilionDock_1dc42: ; 1dc42 (7:5c42) - push bc - push de - ld hl, $c311 - ld a, [$cd3d] - swap a - ld c, a - ld de, $0004 -.asm_1dc50 - inc [hl] - inc [hl] - add hl, de - dec c - jr nz, .asm_1dc50 ; 0x1dc54 $fa - pop de - pop bc - ret - -VermilionDock_1dc59: ; 1dc59 (7:5c59) - ld a, [$cd3e] - sub $10 - ld [$cd3e], a - ld c, a - ld b, $64 - ld a, [$cd3d] - inc a - ld [$cd3d], a - ld a, $1 - ld de, VermilionDockOAMBlock - call WriteOAMBlock - ret - -VermilionDockOAMBlock: ; 1dc74 (7:5c74) - db $fc, $10 - db $fd, $10 - db $fe, $10 - db $ff, $10 - -VermilionDock_1dc7c: ; 1dc7c (7:5c7c) - ld h, d - ld l, $50 - call .asm_1dc86 - ld h, $0 - ld l, $80 -.asm_1dc86 - ld a, [$ff44] - cp l - jr nz, .asm_1dc86 ; 0x1dc89 $fb - ld a, h - ld [$ff43], a -.asm_1dc8e - ld a, [$ff44] - cp h - jr z, .asm_1dc8e ; 0x1dc91 $fb - ret - -VermilionDock_1dc94: ; 1dc94 (7:5c94) - ld hl, $cc5b - ld bc, $00b4 - ld a, $14 - call FillMemory - ld hl, $9940 - ld de, $cc5b - ld bc, $000c - call CopyVideoData - ld hl, $c754 - ld a, $d - ld [hli], a - ld [hli], a - ld [hli], a - ld [hl], a - ld a, (SFX_02_54 - SFX_Headers_02) / 3 - call PlaySound - ld c, $78 - call DelayFrames - ret - -VermilionDockTextPointers: ; 1dcbf (7:5cbf) - dw VermilionDockText1 - -VermilionDockText1: ; 1dcc1 (7:5cc1) - TX_FAR _VermilionDockText1 - db "@" +INCLUDE "scripts/vermiliondock.asm" INCLUDE "data/mapObjects/vermiliondock.asm" @@ -34695,48 +29763,13 @@ VermilionDockBlocks: ; 1dcda (7:5cda) INCLUDE "data/mapHeaders/celadonmansion5.asm" -CeladonMansion5Script: ; 1dd3a (7:5d3a) - jp EnableAutoTextBoxDrawing - -CeladonMansion5TextPointers: ; 1dd3d (7:5d3d) - dw CeladonMansion5Text1 - dw CeladonMansion5Text2 - -CeladonMansion5Text1: ; 1dd41 (7:5d41) - TX_FAR _CeladonMansion5Text1 - db "@" - -CeladonMansion5Text2: ; 1dd46 (7:5d46) - db $08 ; asm - ld bc,(EEVEE << 8) | 25 - call GivePokemon - jr nc, .asm_24365 ; 0x1dd4d - ld a, $45 - ld [$cc4d], a - ld a, $11 - call Predef -.asm_24365 ; 0x1dd59 - jp TextScriptEnd +INCLUDE "scripts/celadonmansion5.asm" INCLUDE "data/mapObjects/celadonmansion5.asm" INCLUDE "data/mapHeaders/fuchsiamart.asm" -FuchsiaMartScript: ; 1dd88 (7:5d88) - jp EnableAutoTextBoxDrawing - -FuchsiaMartTextPointers: ; 1dd8b (7:5d8b) - dw FuchsiaMartText1 - dw FuchsiaMartText2 - dw FuchsiaMartText3 - -FuchsiaMartText2: ; 1dd91 (7:5d91) - TX_FAR _FuchsiaMartText2 - db "@" - -FuchsiaMartText3: ; 1dd96 (7:5d96) - TX_FAR _FuchsiaMartText3 - db "@" +INCLUDE "scripts/fuchsiamart.asm" INCLUDE "data/mapObjects/fuchsiamart.asm" @@ -34745,249 +29778,31 @@ FuchsiaMartBlocks: ; 1ddc1 (7:5dc1) INCLUDE "data/mapHeaders/saffronhouse1.asm" -SaffronHouse1Script: ; 1dddd (7:5ddd) - jp EnableAutoTextBoxDrawing - -SaffronHouse1TextPointers: ; 1dde0 (7:5de0) - dw SaffronHouse1Text1 - dw SaffronHouse1Text2 - dw SaffronHouse1Text3 - dw SaffronHouse1Text4 - -SaffronHouse1Text1: ; 1dde8 (7:5de8) - TX_FAR _SaffronHouse1Text1 - db "@" - -SaffronHouse1Text2: ; 1dded (7:5ded) - TX_FAR _SaffronHouse1Text2 - db $8 - ld a, PIDGEY - call PlayCry - jp TextScriptEnd - -SaffronHouse1Text3: ; 1ddfa (7:5dfa) - TX_FAR _SaffronHouse1Text3 - db "@" - -SaffronHouse1Text4: ; 1ddff (7:5dff) - TX_FAR _SaffronHouse1Text4 - db "@" +INCLUDE "scripts/saffronhouse1.asm" INCLUDE "data/mapObjects/saffronhouse1.asm" INCLUDE "data/mapHeaders/saffronhouse2.asm" -SaffronHouse2Script: ; 1de3c (7:5e3c) - jp EnableAutoTextBoxDrawing - -SaffronHouse2TextPointers: ; 1de3f (7:5e3f) - dw SaffronHouse2Text1 - -SaffronHouse2Text1: ; 1de41 (7:5e41) - db $08 ; asm - ld a, [$d7bd] - bit 0, a - jr nz, .asm_9e72b ; 0x1de47 - ld hl, TM29PreReceiveText - call PrintText - ld bc,(TM_29 << 8) | 1 - call GiveItem - jr nc, .BagFull - ld hl, ReceivedTM29Text - call PrintText - ld hl, $d7bd - set 0, [hl] - jr .asm_fe4e1 ; 0x1de62 -.BagFull - ld hl, TM29NoRoomText - call PrintText - jr .asm_fe4e1 ; 0x1de6a -.asm_9e72b ; 0x1de6c - ld hl, TM29ExplanationText - call PrintText -.asm_fe4e1 ; 0x1de72 - jp TextScriptEnd - -TM29PreReceiveText: ; 1de75 (7:5e75) - TX_FAR _TM29PreReceiveText - db "@" - -ReceivedTM29Text: ; 1de7a (7:5e7a) - TX_FAR _ReceivedTM29Text - db $0B, "@" - -TM29ExplanationText: ; 1de80 (7:5e80) - TX_FAR _TM29ExplanationText - db "@" - -TM29NoRoomText: ; 1de85 (7:5e85) - TX_FAR _TM29NoRoomText - db "@" +INCLUDE "scripts/saffronhouse2.asm" INCLUDE "data/mapObjects/saffronhouse2.asm" INCLUDE "data/mapHeaders/diglettscaveroute2.asm" -DiglettsCaveRoute2Script: ; 1deb0 (7:5eb0) - ld a, $d - ld [$d365], a - jp EnableAutoTextBoxDrawing - -DiglettsCaveRoute2TextPointers: ; 1deb8 (7:5eb8) - dw DiglettsCaveRoute2Text1 - -DiglettsCaveRoute2Text1: ; 1deba (7:5eba) - TX_FAR _DiglettsCaveRoute2Text1 - db "@" +INCLUDE "scripts/diglettscaveroute2.asm" INCLUDE "data/mapObjects/diglettscaveroute2.asm" INCLUDE "data/mapHeaders/route2house.asm" -Route2HouseScript: ; 1deed (7:5eed) - jp EnableAutoTextBoxDrawing - -Route2HouseTextPointers: ; 1def0 (7:5ef0) - dw Route2HouseText1 - dw Route2HouseText2 - -Route2HouseText1: ; 1def4 (7:5ef4) - TX_FAR _Route2HouseText1 - db "@" - -Route2HouseText2: ; 1def9 (7:5ef9) - db $08 ; asm - ld a, $1 - ld [wWhichTrade], a - ld a, $54 - call Predef - jp TextScriptEnd +INCLUDE "scripts/route2house.asm" INCLUDE "data/mapObjects/route2house.asm" INCLUDE "data/mapHeaders/route5gate.asm" -Route5GateScript: ; 1df33 (7:5f33) - call EnableAutoTextBoxDrawing - ld a, [W_ROUTE5GATECURSCRIPT] - ld hl, Route5GateScriptPointers - jp CallFunctionInTable - -Route5GateScriptPointers: ; 1df3f (7:5f3f) - dw Route5GateScript0 - dw Route5GateScript1 - -Route5GateScript_1df43: ; 1df43 (7:5f43) - ld a, $40 - ld [$ccd3], a - ld a, $1 - ld [$cd38], a - jp Func_3486 - -Route5GateScript0: ; 1df50 (7:5f50) - ld a, [$d728] - bit 6, a - ret nz - ld hl, CoordsData_1df8f - call ArePlayerCoordsInArray - ret nc - ld a, $2 - ld [$d528], a - xor a - ld [H_CURRENTPRESSEDBUTTONS], a - ld b, BANK(RemoveGuardDrink) - ld hl, RemoveGuardDrink - call Bankswitch - ld a, [$ffdb] - and a - jr nz, .asm_1df82 ; 0x1df70 $10 - ld a, $2 - ld [$ff8c], a - call DisplayTextID - call Route5GateScript_1df43 - ld a, $1 - ld [W_ROUTE5GATECURSCRIPT], a - ret -.asm_1df82 - ld a, $3 - ld [$ff8c], a - call DisplayTextID - ld hl, $d728 - set 6, [hl] - ret - -CoordsData_1df8f: ; 1df8f (7:5f8f) - db 3,3 - db 3,4 - db $ff - -Route5GateScript1: ; 1df94 (7:5f94) - ld a, [$cd38] - and a - ret nz - call Delay3 - xor a - ld [wJoypadForbiddenButtonsMask], a - ld [W_ROUTE5GATECURSCRIPT], a - ret - -Route5GateTextPointers: ; 1dfa4 (7:5fa4) - dw Route5GateText1 - dw Route5GateText2 - dw Route5GateText3 - -Route8GateText1: ; 1dfaa (7:5faa) -Route7GateText1: ; 1dfaa (7:5faa) -Route6GateText1: ; 1dfaa (7:5faa) -Route5GateText1: ; 1dfaa (7:5faa) - db $8 - ld a, [$d728] - bit 6, a - jr nz, .asm_88856 ; 0x1dfb0 $2c - ld b, BANK(RemoveGuardDrink) - ld hl, RemoveGuardDrink - call Bankswitch - ld a, [$ffdb] - and a - jr nz, .asm_768a2 ; 0x1dfbd $11 - ld hl, UnnamedText_1dfe7 - call PrintText - call Route5GateScript_1df43 - ld a, $1 - ld [W_ROUTE5GATECURSCRIPT], a - jp TextScriptEnd -.asm_768a2 ; 0x1dfd0 - ld hl, UnnamedText_1dfec - call PrintText - ld hl, $d728 - set 6, [hl] - jp TextScriptEnd -.asm_88856 ; 0x1dfde - ld hl, UnnamedText_1dff6 - call PrintText - jp TextScriptEnd - -Route8GateText2: ; 1dfe7 (7:5fe7) -Route7GateText2: ; 1dfe7 (7:5fe7) -Route6GateText2: ; 1dfe7 (7:5fe7) -Route5GateText2: ; 1dfe7 (7:5fe7) -UnnamedText_1dfe7: ; 1dfe7 (7:5fe7) - TX_FAR _UnnamedText_1dfe7 - db "@" - -Route8GateText3: ; 1dfec (7:5fec) -Route7GateText3: ; 1dfec (7:5fec) -Route6GateText3: ; 1dfec (7:5fec) -Route5GateText3: ; 1dfec (7:5fec) -UnnamedText_1dfec: ; 1dfec (7:5fec) - TX_FAR _UnnamedText_8aaa9 ; 0x8aaa9 - db $11 - TX_FAR _UnnamedText_1dff1 ; 0x8aaef - db "@" - -UnnamedText_1dff6: ; 1dff6 (7:5ff6) - TX_FAR _UnnamedText_1dff6 - db "@" +INCLUDE "scripts/route5gate.asm" INCLUDE "data/mapObjects/route5gate.asm" @@ -34996,78 +29811,7 @@ Route5GateBlocks: ; 1e025 (7:6025) INCLUDE "data/mapHeaders/route6gate.asm" -Route6GateScript: ; 1e03d (7:603d) - call EnableAutoTextBoxDrawing - ld hl, Route6GateScriptPointers - ld a, [W_ROUTE6GATECURSCRIPT] - call CallFunctionInTable - ret - -Route6GateScriptPointers: ; 1e04a (7:604a) - dw Route6GateScript0 - dw Route6GateScript1 - -Route6GateScript0: ; 1e04e (7:604e) - ld a, [$d728] - bit 6, a - ret nz - ld hl, CoordsData_1e08c - call ArePlayerCoordsInArray - ret nc - ld a, $1 - ld [$d528], a - xor a - ld [H_CURRENTPRESSEDBUTTONS], a - ld b, BANK(RemoveGuardDrink) - ld hl, RemoveGuardDrink - call Bankswitch - ld a, [$ffdb] - and a - jr nz, .asm_1e080 ; 0x1e06e $10 - ld a, $2 - ld [$ff8c], a - call DisplayTextID - call Func_1e0a1 - ld a, $1 - ld [W_ROUTE6GATECURSCRIPT], a - ret -.asm_1e080 - ld hl, $d728 - set 6, [hl] - ld a, $3 - ld [$ff8c], a - jp DisplayTextID - -CoordsData_1e08c: ; 1e08c (7:608c) - db $02,$03 - db $02,$04,$FF - -Route6GateScript1: ; 1e091 (7:6091) - ld a, [$cd38] - and a - ret nz - call Delay3 - xor a - ld [wJoypadForbiddenButtonsMask], a - ld [W_ROUTE6GATECURSCRIPT], a - ret - -Func_1e0a1: ; 1e0a1 (7:60a1) - ld hl, $d730 - set 7, [hl] - ld a, $80 - ld [$ccd3], a - ld a, $1 - ld [$cd38], a - xor a - ld [$c206], a - ld [$cd3b], a - ret - -Route6GateTextPointers: ; 1e0b8 (7:60b8) - dw Route6GateText1 - dw Route6GateText2 - dw Route6GateText3 +INCLUDE "scripts/route6gate.asm" INCLUDE "data/mapObjects/route6gate.asm" @@ -35076,81 +29820,7 @@ Route6GateBlocks: ; 1e0e8 (7:60e8) INCLUDE "data/mapHeaders/route7gate.asm" -Route7GateScript: ; 1e100 (7:6100) - call EnableAutoTextBoxDrawing - ld a, [W_ROUTE7GATECURSCRIPT] - ld hl, Route7GateScriptPointers - call CallFunctionInTable - ret - -Route7GateScriptPointers: ; 1e10d (7:610d) - dw Route7GateScript0 - dw Route7GateScript1 - -Route7GateScript_1e111: ; 1e111 (7:6111) - ld hl, $d730 - set 7, [hl] - ld a, $20 - ld [$ccd3], a - ld a, $1 - ld [$cd38], a - xor a - ld [$c206], a - ld [$cd3b], a - ret - -Route7GateScript0: ; 1e128 (7:6128) - ld a, [$d728] - bit 6, a - ret nz - ld hl, CoordsData_1e167 - call ArePlayerCoordsInArray - ret nc - ld a, $8 - ld [$d528], a - xor a - ld [H_CURRENTPRESSEDBUTTONS], a - ld b, BANK(RemoveGuardDrink) - ld hl, RemoveGuardDrink - call Bankswitch - ld a, [$ffdb] - and a - jr nz, .asm_1e15a ; 0x1e148 $10 - ld a, $2 - ld [$ff8c], a - call DisplayTextID - call Route7GateScript_1e111 - ld a, $1 - ld [W_ROUTE7GATECURSCRIPT], a - ret -.asm_1e15a - ld a, $3 - ld [$ff8c], a - call DisplayTextID - ld hl, $d728 - set 6, [hl] - ret - -CoordsData_1e167: ; 1e167 (7:6167) - db 3,3 - db 4,3 - db $ff - -Route7GateScript1: ; 1e16c (7:616c) - ld a, [$cd38] - and a - ret nz - call Delay3 - xor a - ld [wJoypadForbiddenButtonsMask], a - ld [W_ROUTE7GATECURSCRIPT], a - ld [W_CURMAPSCRIPT], a - ret - -Route7GateTextPointers: ; 1e17f (7:617f) - dw Route7GateText1 - dw Route7GateText2 - dw Route7GateText3 +INCLUDE "scripts/route7gate.asm" INCLUDE "data/mapObjects/route7gate.asm" @@ -35159,78 +29829,7 @@ Route7GateBlocks: ; 1e1af (7:61af) INCLUDE "data/mapHeaders/route8gate.asm" -Route8GateScript: ; 1e1c7 (7:61c7) - call EnableAutoTextBoxDrawing - ld hl, Route8GateScriptPointers - ld a, [W_ROUTE8GATECURSCRIPT] - jp CallFunctionInTable - -Route8GateScriptPointers: ; 1e1d3 (7:61d3) - dw Route8GateScript0 - dw Route8GateScript1 - -Route8GateScript_1e1d7: ; 1e1d7 (7:61d7) - ld hl, $d730 - set 7, [hl] - ld a, $10 - ld [$ccd3], a - ld a, $1 - ld [$cd38], a - xor a - ld [$c206], a - ld [$cd3b], a - ret - -Route8GateScript0: ; 1e1ee (7:61ee) - ld a, [$d728] - bit 6, a - ret nz - ld hl, CoordsData_1e22c - call ArePlayerCoordsInArray - ret nc - ld a, $2 - ld [$d528], a - xor a - ld [H_CURRENTPRESSEDBUTTONS], a - ld b, BANK(RemoveGuardDrink) - ld hl, RemoveGuardDrink - call Bankswitch - ld a, [$ffdb] - and a - jr nz, .asm_1e220 ; 0x1e20e $10 - ld a, $2 - ld [$ff8c], a - call DisplayTextID - call Route8GateScript_1e1d7 - ld a, $1 - ld [W_ROUTE8GATECURSCRIPT], a - ret -.asm_1e220 - ld hl, $d728 - set 6, [hl] - ld a, $3 - ld [$ff8c], a - jp DisplayTextID - -CoordsData_1e22c: ; 1e22c (7:622c) - db 3,2 - db 4,2 - db $ff - -Route8GateScript1: ; 1e231 (7:6231) - ld a, [$cd38] - and a - ret nz - call Delay3 - xor a - ld [wJoypadForbiddenButtonsMask], a - ld [W_ROUTE8GATECURSCRIPT], a - ret - -Route8GateTextPointers: ; 1e241 (7:6241) - dw Route8GateText1 - dw Route8GateText2 - dw Route8GateText3 +INCLUDE "scripts/route8gate.asm" INCLUDE "data/mapObjects/route8gate.asm" @@ -35239,198 +29838,13 @@ Route8GateBlocks: ; 1e271 (7:6271) INCLUDE "data/mapHeaders/undergroundpathentranceroute8.asm" -UndergroundPathEntranceRoute8Script: ; 1e289 (7:6289) - ld a, $13 - ld [$d365], a - jp EnableAutoTextBoxDrawing - -UndergroundPathEntranceRoute8TextPointers: ; 1e291 (7:6291) - dw UndergroundPathEntranceRoute8Text1 - -UndergroundPathEntranceRoute8Text1: ; 1e293 (7:6293) - TX_FAR _UndergroundPathEntRoute8Text1 - db "@" +INCLUDE "scripts/undergroundpathentranceroute8.asm" INCLUDE "data/mapObjects/undergroundpathentranceroute8.asm" INCLUDE "data/mapHeaders/powerplant.asm" -PowerPlantScript: ; 1e2c6 (7:62c6) - call EnableAutoTextBoxDrawing - ld hl, PowerPlantTrainerHeaders - ld de, PowerPlantScriptPointers - ld a, [W_POWERPLANTCURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_POWERPLANTCURSCRIPT], a - ret - -PowerPlantScriptPointers: ; 1e2d9 (7:62d9) - dw CheckFightingMapTrainers - dw Func_324c - dw EndTrainerBattle - -PowerPlantTextPointers: ; 1e2df (7:62df) - dw PowerPlantText1 - dw PowerPlantText2 - dw PowerPlantText3 - dw PowerPlantText4 - dw PowerPlantText5 - dw PowerPlantText6 - dw PowerPlantText7 - dw PowerPlantText8 - dw PowerPlantText9 - dw Predef5CText - dw Predef5CText - dw Predef5CText - dw Predef5CText - dw Predef5CText - -PowerPlantTrainerHeaders: ; 1e2fb (7:62fb) -PowerPlantTrainerHeader0: ; 1e2fb (7:62fb) - db 1 ; flag's bit - db 0 ; view range - dw $d7d3 ; flag's byte - dw VoltorbBattleText ; TextBeforeBattle - dw VoltorbBattleText ; TextAfterBattle - dw VoltorbBattleText ; TextEndBattle - dw VoltorbBattleText ; TextEndBattle - -PowerPlantTrainerHeader1: ; 1e307 (7:6307) - db 2 ; flag's bit - db 0 ; view range - dw $d7d3 ; flag's byte - dw VoltorbBattleText ; TextBeforeBattle - dw VoltorbBattleText ; TextAfterBattle - dw VoltorbBattleText ; TextEndBattle - dw VoltorbBattleText ; TextEndBattle - -PowerPlantTrainerHeader2: ; 1e313 (7:6313) - db 3 ; flag's bit - db 0 ; view range - dw $d7d3 ; flag's byte - dw VoltorbBattleText ; TextBeforeBattle - dw VoltorbBattleText ; TextAfterBattle - dw VoltorbBattleText ; TextEndBattle - dw VoltorbBattleText ; TextEndBattle - -PowerPlantTrainerHeader3: ; 1e31f (7:631f) - db 4 ; flag's bit - db 0 ; view range - dw $d7d3 ; flag's byte - dw VoltorbBattleText ; TextBeforeBattle - dw VoltorbBattleText ; TextAfterBattle - dw VoltorbBattleText ; TextEndBattle - dw VoltorbBattleText ; TextEndBattle - -PowerPlantTrainerHeader4: ; 1e32b (7:632b) - db 5 ; flag's bit - db 0 ; view range - dw $d7d3 ; flag's byte - dw VoltorbBattleText ; TextBeforeBattle - dw VoltorbBattleText ; TextAfterBattle - dw VoltorbBattleText ; TextEndBattle - dw VoltorbBattleText ; TextEndBattle - -PowerPlantTrainerHeader5: ; 1e337 (7:6337) - db 6 ; flag's bit - db 0 ; view range - dw $d7d3 ; flag's byte - dw VoltorbBattleText ; TextBeforeBattle - dw VoltorbBattleText ; TextAfterBattle - dw VoltorbBattleText ; TextEndBattle - dw VoltorbBattleText ; TextEndBattle - -PowerPlantTrainerHeader6: ; 1e343 (7:6343) - db 7 ; flag's bit - db 0 ; view range - dw $d7d3 ; flag's byte - dw VoltorbBattleText ; TextBeforeBattle - dw VoltorbBattleText ; TextAfterBattle - dw VoltorbBattleText ; TextEndBattle - dw VoltorbBattleText ; TextEndBattle - -PowerPlantTrainerHeader7: ; 1e34f (7:634f) - db 8 ; flag's bit - db 0 ; view range - dw $d7d3 ; flag's byte - dw VoltorbBattleText ; TextBeforeBattle - dw VoltorbBattleText ; TextAfterBattle - dw VoltorbBattleText ; TextEndBattle - dw VoltorbBattleText ; TextEndBattle - -PowerPlantTrainerHeader8: ; 1e35b (7:635b) - db 9 ; flag's bit - db 0 ; view range - dw $d7d3 ; flag's byte - dw ZapdosBattleText ; TextBeforeBattle - dw ZapdosBattleText ; TextAfterBattle - dw ZapdosBattleText ; TextEndBattle - dw ZapdosBattleText ; TextEndBattle - - db $ff - -asm_234cc: ; 1e368 (7:6368) - call TalkToTrainer - ld a, [W_CURMAPSCRIPT] - ld [W_POWERPLANTCURSCRIPT], a - jp TextScriptEnd - -PowerPlantText1: ; 1e374 (7:6374) - db $8 ; asm - ld hl, PowerPlantTrainerHeader0 ; $62fb - jr asm_234cc ; 0x1e378 $ee - -PowerPlantText2: ; 1e37a (7:637a) - db $8 ; asm - ld hl, PowerPlantTrainerHeader1 ; $6307 - jr asm_234cc ; 0x1e37e $e8 - -PowerPlantText3: ; 1e380 (7:6380) - db $8 ; asm - ld hl, PowerPlantTrainerHeader2 ; $6313 - jr asm_234cc ; 0x1e384 $e2 - -PowerPlantText4: ; 1e386 (7:6386) - db $8 ; asm - ld hl, PowerPlantTrainerHeader3 ; $631f - jr asm_234cc ; 0x1e38a $dc - -PowerPlantText5: ; 1e38c (7:638c) - db $8 ; asm - ld hl, PowerPlantTrainerHeader4 ; $632b - jr asm_234cc ; 0x1e390 $d6 - -PowerPlantText6: ; 1e392 (7:6392) - db $8 ; asm - ld hl, PowerPlantTrainerHeader5 ; $6337 - jr asm_234cc ; 0x1e396 $d0 - -PowerPlantText7: ; 1e398 (7:6398) - db $8 ; asm - ld hl, PowerPlantTrainerHeader6 ; $6343 - jr asm_234cc ; 0x1e39c $ca - -PowerPlantText8: ; 1e39e (7:639e) - db $8 ; asm - ld hl, PowerPlantTrainerHeader7 ; $634f - jr asm_234cc ; 0x1e3a2 $c4 - -PowerPlantText9: ; 1e3a4 (7:63a4) - db $8 ; asm - ld hl, PowerPlantTrainerHeader8 ; $635b - jr asm_234cc ; 0x1e3a8 $be - -VoltorbBattleText: ; 1e3aa (7:63aa) - TX_FAR _VoltorbBattleText - db "@" - -ZapdosBattleText: ; 1e3af (7:63af) - TX_FAR _ZapdosBattleText - db $8 - ld a, ZAPDOS - call PlayCry - call WaitForSoundToFinish - jp TextScriptEnd +INCLUDE "scripts/powerplant.asm" INCLUDE "data/mapObjects/powerplant.asm" @@ -35439,176 +29853,19 @@ PowerPlantBlocks: ; 1e446 (7:6446) INCLUDE "data/mapHeaders/diglettscaveroute11.asm" -DiglettsCaveEntranceRoute11Script: ; 1e5ba (7:65ba) - call EnableAutoTextBoxDrawing - ld a, $16 - ld [$d365], a - ret - -DiglettsCaveEntranceRoute11TextPointers: ; 1e5c3 (7:65c3) - dw DiglettsCaveEntranceRoute11Text1 - -DiglettsCaveEntranceRoute11Text1: ; 1e5c5 (7:65c5) - TX_FAR _DiglettsCaveEntRoute11Text1 - db "@" +INCLUDE "scripts/diglettscaveroute11.asm" INCLUDE "data/mapObjects/diglettscaveroute11.asm" INCLUDE "data/mapHeaders/route16house.asm" -Route16HouseScript: ; 1e5f8 (7:65f8) - jp EnableAutoTextBoxDrawing - -Route16HouseTextPointers: ; 1e5fb (7:65fb) - dw Route16HouseText1 - dw Route16HouseText2 - -Route16HouseText1: ; 1e5ff (7:65ff) - db $08 ; asm - ld a, [$d7e0] - bit 6, a - ld hl, HM02ExplanationText - jr nz, .asm_13616 ; 0x1e608 - ld hl, Route16HouseText3 - call PrintText - ld bc, (HM_02 << 8) | 1 - call GiveItem - jr nc, .BagFull - ld hl, $d7e0 - set 6, [hl] - ld hl, ReceivedHM02Text - jr .asm_13616 ; 0x1e620 -.BagFull - ld hl, HM02NoRoomText -.asm_13616 ; 0x1e625 - call PrintText - jp TextScriptEnd - -Route16HouseText3: ; 1e62b (7:662b) - TX_FAR _Route16HouseText3 - db "@" - -ReceivedHM02Text: ; 1e630 (7:6630) - TX_FAR _ReceivedHM02Text - db $11, "@" - -HM02ExplanationText: ; 1e636 (7:6636) - TX_FAR _HM02ExplanationText - db "@" - -HM02NoRoomText: ; 1e63b (7:663b) - TX_FAR _HM02NoRoomText - db "@" - -Route16HouseText2: ; 1e640 (7:6640) - db $08 ; asm - ld hl, UnnamedText_1e652 - call PrintText - ld a, FEAROW - call PlayCry - call WaitForSoundToFinish - jp TextScriptEnd - -UnnamedText_1e652: ; 1e652 (7:6652) - TX_FAR _UnnamedText_1e652 - db "@" +INCLUDE "scripts/route16house.asm" INCLUDE "data/mapObjects/route16house.asm" INCLUDE "data/mapHeaders/route22gate.asm" -Route22GateScript: ; 1e683 (7:6683) - call EnableAutoTextBoxDrawing - ld hl, Route22GateScriptPointers - ld a, [W_ROUTE22GATECURSCRIPT] - call CallFunctionInTable - ld a, [W_YCOORD] - cp $4 - ld a, $22 - jr c, .asm_1e69a ; 0x1e696 $2 - ld a, $21 -.asm_1e69a - ld [$d365], a - ret - -Route22GateScriptPointers: ; 1e69e (7:669e) - dw Route22GateScript0 - dw Route22GateScript1 - dw Route22GateScript2 - -Route22GateScript0: ; 1e6a4 (7:66a4) - ld hl, Route22GateScriptCoords - call ArePlayerCoordsInArray - ret nc - xor a - ld [H_CURRENTPRESSEDBUTTONS], a - ld a, $1 - ld [$ff8c], a - jp DisplayTextID - -Route22GateScriptCoords: ; 1e6b5 (7:66b5) - db 2,4 - db 2,5 - db $ff - -Func_1e6ba: ; 1e6ba (7:66ba) - ld a, $1 - ld [$cd38], a - ld a, $80 - ld [$ccd3], a - ld [$c109], a - ld [wJoypadForbiddenButtonsMask], a - jp Func_3486 - -Route22GateScript1: ; 1e6cd (7:66cd) - ld a, [$cd38] - and a - ret nz - xor a - ld [wJoypadForbiddenButtonsMask], a - call Delay3 - ld a, $0 - ld [W_ROUTE22GATECURSCRIPT], a -Route22GateScript2: ; 1e6de (7:66de) - ret - -Route22GateTextPointers: ; 1e6df (7:66df) - dw Route22GateText1 - -Route22GateText1: ; 1e6e1 (7:66e1) - db $8 - ld a, [W_OBTAINEDBADGES] - bit 0, a - jr nz, .asm_8a809 ; 0x1e6e7 $d - ld hl, UnnamedText_1e704 - call PrintText - call Func_1e6ba - ld a, $1 - jr .asm_20f7e ; 0x1e6f4 $8 -.asm_8a809 ; 0x1e6f6 - ld hl, UnnamedText_1e71a - call PrintText - ld a, $2 -.asm_20f7e ; 0x1e6fe - ld [W_ROUTE22GATECURSCRIPT], a - jp TextScriptEnd - -UnnamedText_1e704: ; 1e704 (7:6704) - TX_FAR _UnnamedText_1e704 ; 0x8cfbb - db $8 - ld a, (SFX_02_51 - SFX_Headers_02) / 3 - call PlaySoundWaitForCurrent - call WaitForSoundToFinish - ld hl, UnnamedText_1e715 ; $6715 - ret - -UnnamedText_1e715: ; 1e715 (7:6715) - TX_FAR _UnnamedText_1e715 - db "@" - -UnnamedText_1e71a: ; 1e71a (7:671a) - TX_FAR _UnnamedText_1e71a ; 0x8d03e - db $0B, "@" +INCLUDE "scripts/route22gate.asm" INCLUDE "data/mapObjects/route22gate.asm" @@ -35617,214 +29874,7 @@ Route22GateBlocks: ; 1e74a (7:674a) INCLUDE "data/mapHeaders/billshouse.asm" -BillsHouseScript: ; 1e76a (7:676a) - call EnableAutoTextBoxDrawing - ld a, [W_BILLSHOUSECURSCRIPT] - ld hl, BillsHouseScriptPointers - jp CallFunctionInTable - -BillsHouseScriptPointers: ; 1e776 (7:6776) - dw BillsHouseScript0 - dw BillsHouseScript1 - dw BillsHouseScript2 - dw BillsHouseScript3 - dw BillsHouseScript4 - dw BillsHouseScript5 - -BillsHouseScript0: ; 1e782 (7:6782) - ret - -BillsHouseScript1: ; 1e783 (7:6783) - ld a, [$c109] - and a - ld de, MovementData_1e79c - jr nz, .asm_1e78f ; 0x1e78a $3 - ld de, MovementData_1e7a0 -.asm_1e78f - ld a, $1 - ld [$ff8c], a - call MoveSprite - ld a, $2 - ld [W_BILLSHOUSECURSCRIPT], a - ret - -MovementData_1e79c: ; 1e79c (7:679c) - db $40,$40,$40,$FF - -MovementData_1e7a0: ; 1e7a0 (7:67a0) - db $C0,$40,$40,$80,$40,$FF - -BillsHouseScript2: ; 1e7a6 (7:67a6) - ld a, [$d730] - bit 0, a - ret nz - ld a, $61 - ld [$cc4d], a - ld a, $11 - call Predef - ld hl, $d7f2 - set 6, [hl] - xor a - ld [wJoypadForbiddenButtonsMask], a - ld a, $3 - ld [W_BILLSHOUSECURSCRIPT], a - ret - -BillsHouseScript3: ; 1e7c5 (7:67c5) - ld a, [$d7f2] - bit 3, a - ret z - ld a, $f0 - ld [wJoypadForbiddenButtonsMask], a - ld a, $2 - ld [$cf13], a - ld a, $c - ld [$ffeb], a - ld a, $40 - ld [$ffec], a - ld a, $6 - ld [$ffed], a - ld a, $5 - ld [$ffee], a - call Func_32f9 - ld a, $62 - ld [$cc4d], a - ld a, $15 - call Predef - ld c, $8 - call DelayFrames - ld a, $2 - ld [$ff8c], a - ld de, MovementData_1e807 - call MoveSprite - ld a, $4 - ld [W_BILLSHOUSECURSCRIPT], a - ret - -MovementData_1e807: ; 1e807 (7:6807) - db $00,$C0,$C0,$C0,$00,$FF - -BillsHouseScript4: ; 1e80d (7:680d) - ld a, [$d730] - bit 0, a - ret nz - xor a - ld [wJoypadForbiddenButtonsMask], a - ld hl, $d7f2 - set 5, [hl] - ld hl, $d7f1 - set 0, [hl] - ld a, $0 - ld [W_BILLSHOUSECURSCRIPT], a - ret - -BillsHouseScript5: ; 1e827 (7:6827) - ld a, $4 - ld [$ff8c], a - call DisplayTextID - ld a, $0 - ld [W_BILLSHOUSECURSCRIPT], a - ret - -BillsHouseTextPointers: ; 1e834 (7:6834) - dw BillsHouseText1 - dw BillsHouseText2 - dw BillsHouseText3 - dw BillsHouseText4 - -BillsHouseText4: ; 1e83c (7:683c) - db $fd - -BillsHouseText1: ; 1e83d (7:683d) - db $8 - ld hl, UnnamedText_1e865 - call PrintText - call YesNoChoice - ld a, [$cc26] - and a - jr nz, asm_6b196 ; 0x1e84b $d -asm_4d03c: ; 1e84d (7:684d) - ld hl, UnnamedText_1e86a - call PrintText - ld a, $1 - ld [W_BILLSHOUSECURSCRIPT], a - jr asm_fd4e2 ; 0x1e858 $8 -asm_6b196: ; 1e85a (7:685a) - ld hl, UnnamedText_1e86f - call PrintText - jr asm_4d03c ; 0x1e860 $eb -asm_fd4e2 ; 0x1e862 - jp TextScriptEnd - -UnnamedText_1e865: ; 1e865 (7:6865) - TX_FAR _UnnamedText_1e865 ; 0x8d267 - db "@" - -UnnamedText_1e86a: ; 1e86a (7:686a) - TX_FAR _UnnamedText_1e86a ; 0x8d345 - db "@" - -UnnamedText_1e86f: ; 1e86f (7:686f) - TX_FAR _UnnamedText_1e86f ; 0x8d391 - db "@" - -BillsHouseText2: ; 1e874 (7:6874) - db $08 ; asm - ld a, [$d7f2] - bit 4, a - jr nz, .asm_5491f ; 0x1e87a - ld hl, BillThankYouText - call PrintText - ld bc, (S_S__TICKET << 8) | 1 - call GiveItem - jr nc, .BagFull - ld hl, SSTicketReceivedText - call PrintText - ld hl, $d7f2 - set 4, [hl] - ld a, $7 - ld [$cc4d], a - ld a, $15 - call Predef - ld a, $9 - ld [$cc4d], a - ld a, $11 - call Predef -.asm_5491f ; 0x1e8a9 - ld hl, UnnamedText_1e8cb - call PrintText - jr .asm_bd408 ; 0x1e8af -.BagFull - ld hl, SSTicketNoRoomText - call PrintText -.asm_bd408 ; 0x1e8b7 - 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 "@" - -UnnamedText_1e8cb: ; 1e8cb (7:68cb) - TX_FAR _UnnamedText_1e8cb - db "@" - -BillsHouseText3: ; 1e8d0 (7:68d0) - db $08 ; asm - ld hl, UnnamedText_1e8da - call PrintText - jp TextScriptEnd - -UnnamedText_1e8da: ; 1e8da (7:68da) - TX_FAR _UnnamedText_1e8da - db "@" +INCLUDE "scripts/billshouse.asm" INCLUDE "data/mapObjects/billshouse.asm" @@ -37207,7 +31257,7 @@ Func_2ff09 ; 2ff09 (b:7f09) ld a, [$c102] and $8 jr z, .asm_2ff2e - ld b, $45 + ld b, COIN_CASE ld a, $1c call Predef ld a, b @@ -38128,7 +32178,7 @@ Func_37588: ; 37588 (d:7588) inc hl ld [hl], e call Func_3775f - ld hl, UnnamedText_37665 + ld hl, SlotsMachineText_37665 call PrintText call WaitForTextScrollButtonPress call Func_3776b @@ -38137,7 +32187,7 @@ Func_37588: ; 37588 (d:7588) ld [$ff48], a jp .loop -UnnamedText_37665: ; 37665 (d:7665) +SlotsMachineText_37665: ; 37665 (d:7665) db $08 ; asm push bc call Func_37728 @@ -51763,69 +45813,7 @@ SafariZoneRestHouse3Blocks: ; 440fb (11:40fb) SafariZoneRestHouse4Blocks: ; 440fb (11:40fb) INCBIN "maps/safarizoneresthouse1.blk" -LavenderTownScript: ; 4410b (11:410b) - jp EnableAutoTextBoxDrawing - -LavenderTownTextPointers: ; 4410e (11:410e) - dw LavenderTownText1 - dw LavenderTownText2 - dw LavenderTownText3 - dw LavenderTownText4 - dw LavenderTownText5 - dw MartSignText - dw PokeCenterSignText - dw LavenderTownText8 - dw LavenderTownText9 - -LavenderTownText1: ; 44120 (11:4120) - db $08 ; asm - ld hl, UnnamedText_4413c - call PrintText - call YesNoChoice - ld a, [$cc26] - and a - ld hl, UnnamedText_44146 - jr nz, .asm_40831 ; 0x44131 - ld hl, UnnamedText_44141 -.asm_40831 ; 0x44136 - call PrintText - jp TextScriptEnd - -UnnamedText_4413c: ; 4413c (11:413c) - TX_FAR _UnnamedText_4413c - db "@" - -UnnamedText_44141: ; 44141 (11:4141) - TX_FAR _UnnamedText_44141 - db "@" - -UnnamedText_44146: ; 44146 (11:4146) - TX_FAR _UnnamedText_44146 - db "@" - -LavenderTownText2: ; 4414b (11:414b) - TX_FAR _LavenderTownText2 - db "@" - -LavenderTownText3: ; 44150 (11:4150) - TX_FAR _LavenderTownText3 - db "@" - -LavenderTownText4: ; 44155 (11:4155) - TX_FAR _LavenderTownText4 - db "@" - -LavenderTownText5: ; 4415a (11:415a) - TX_FAR _LavenderTownText5 - db "@" - -LavenderTownText8: ; 4415f (11:415f) - TX_FAR _LavenderTownText8 - db "@" - -LavenderTownText9: ; 44164 (11:4164) - TX_FAR _LavenderTownText9 - db "@" +INCLUDE "scripts/lavendertown.asm" DisplayDexRating: ; 44169 (11:4169) ld hl, wPokedexSeen @@ -51858,7 +45846,7 @@ DisplayDexRating: ; 44169 (11:4169) ld [$D747], a jr nz, .label3 push hl - ld hl, UnnamedText_441cc + ld hl, PokedexRatingText_441cc call PrintText pop hl call PrintText @@ -51885,277 +45873,117 @@ DisplayDexRating: ; 44169 (11:4169) ld [de], a ret -UnnamedText_441cc: ; 441cc (11:41cc) - TX_FAR _UnnamedText_441cc +PokedexRatingText_441cc: ; 441cc (11:41cc) + TX_FAR _OaksLabText_441cc db "@" DexRatingsTable: ; 441d1 (11:41d1) db 10 - dw UnnamedText_44201 + dw PokedexRatingText_44201 db 20 - dw UnnamedText_44206 + dw PokedexRatingText_44206 db 30 - dw UnnamedText_4420b + dw PokedexRatingText_4420b db 40 - dw UnnamedText_44210 + dw PokedexRatingText_44210 db 50 - dw UnnamedText_44215 + dw PokedexRatingText_44215 db 60 - dw UnnamedText_4421a + dw PokedexRatingText_4421a db 70 - dw UnnamedText_4421f + dw PokedexRatingText_4421f db 80 - dw UnnamedText_44224 + dw PokedexRatingText_44224 db 90 - dw UnnamedText_44229 + dw PokedexRatingText_44229 db 100 - dw UnnamedText_4422e + dw PokedexRatingText_4422e db 110 - dw UnnamedText_44233 + dw PokedexRatingText_44233 db 120 - dw UnnamedText_44238 + dw PokedexRatingText_44238 db 130 - dw UnnamedText_4423d + dw PokedexRatingText_4423d db 140 - dw UnnamedText_44242 + dw PokedexRatingText_44242 db 150 - dw UnnamedText_44247 + dw PokedexRatingText_44247 db 152 - dw UnnamedText_4424c + dw PokedexRatingText_4424c -UnnamedText_44201: ; 44201 (11:4201) - TX_FAR _UnnamedText_44201 +PokedexRatingText_44201: ; 44201 (11:4201) + TX_FAR _OaksLabText_44201 db "@" -UnnamedText_44206: ; 44206 (11:4206) - TX_FAR _UnnamedText_44206 +PokedexRatingText_44206: ; 44206 (11:4206) + TX_FAR _OaksLabText_44206 db "@" -UnnamedText_4420b: ; 4420b (11:420b) - TX_FAR _UnnamedText_4420b +PokedexRatingText_4420b: ; 4420b (11:420b) + TX_FAR _OaksLabText_4420b db "@" -UnnamedText_44210: ; 44210 (11:4210) - TX_FAR _UnnamedText_44210 +PokedexRatingText_44210: ; 44210 (11:4210) + TX_FAR _OaksLabText_44210 db "@" -UnnamedText_44215: ; 44215 (11:4215) - TX_FAR _UnnamedText_44215 +PokedexRatingText_44215: ; 44215 (11:4215) + TX_FAR _OaksLabText_44215 db "@" -UnnamedText_4421a: ; 4421a (11:421a) - TX_FAR _UnnamedText_4421a +PokedexRatingText_4421a: ; 4421a (11:421a) + TX_FAR _OaksLabText_4421a db "@" -UnnamedText_4421f: ; 4421f (11:421f) - TX_FAR _UnnamedText_4421f +PokedexRatingText_4421f: ; 4421f (11:421f) + TX_FAR _OaksLabText_4421f db "@" -UnnamedText_44224: ; 44224 (11:4224) - TX_FAR _UnnamedText_44224 +PokedexRatingText_44224: ; 44224 (11:4224) + TX_FAR _OaksLabText_44224 db "@" -UnnamedText_44229: ; 44229 (11:4229) - TX_FAR _UnnamedText_44229 +PokedexRatingText_44229: ; 44229 (11:4229) + TX_FAR _OaksLabText_44229 db "@" -UnnamedText_4422e: ; 4422e (11:422e) - TX_FAR _UnnamedText_4422e +PokedexRatingText_4422e: ; 4422e (11:422e) + TX_FAR _OaksLabText_4422e db "@" -UnnamedText_44233: ; 44233 (11:4233) - TX_FAR _UnnamedText_44233 +PokedexRatingText_44233: ; 44233 (11:4233) + TX_FAR _OaksLabText_44233 db "@" -UnnamedText_44238: ; 44238 (11:4238) - TX_FAR _UnnamedText_44238 +PokedexRatingText_44238: ; 44238 (11:4238) + TX_FAR _OaksLabText_44238 db "@" -UnnamedText_4423d: ; 4423d (11:423d) - TX_FAR _UnnamedText_4423d +PokedexRatingText_4423d: ; 4423d (11:423d) + TX_FAR _OaksLabText_4423d db "@" -UnnamedText_44242: ; 44242 (11:4242) - TX_FAR _UnnamedText_44242 +PokedexRatingText_44242: ; 44242 (11:4242) + TX_FAR _OaksLabText_44242 db "@" -UnnamedText_44247: ; 44247 (11:4247) - TX_FAR _UnnamedText_44247 +PokedexRatingText_44247: ; 44247 (11:4247) + TX_FAR _OaksLabText_44247 db "@" -UnnamedText_4424c: ; 4424c (11:424c) - TX_FAR _UnnamedText_4424c +PokedexRatingText_4424c: ; 4424c (11:424c) + TX_FAR _OaksLabText_4424c db "@" INCLUDE "data/mapHeaders/viridianpokecenter.asm" -ViridianPokeCenterScript: ; 4425d (11:425d) - call Func_22fa - jp EnableAutoTextBoxDrawing - -ViridianPokecenterTextPointers: ; 44263 (11:4263) - dw ViridianPokeCenterText1 - dw ViridianPokeCenterText2 - dw ViridianPokeCenterText3 - dw ViridianPokeCenterText4 - -ViridianPokeCenterText1: ; 4426b (11:426b) - db $ff - -ViridianPokeCenterText2: ; 4426c (11:426c) - TX_FAR _ViridianPokeCenterText1 - db "@" - -ViridianPokeCenterText3: ; 44271 (11:4271) - TX_FAR _ViridianPokeCenterText3 - db "@" - -ViridianPokeCenterText4: ; 44276 (11:4276) - db $f6 +INCLUDE "scripts/viridianpokecenter.asm" INCLUDE "data/mapObjects/viridianpokecenter.asm" INCLUDE "data/mapHeaders/mansion1.asm" -Mansion1Script: ; 442af (11:42af) - call Mansion1Subscript1 - call EnableAutoTextBoxDrawing - ld hl, Mansion1TrainerHeaders - ld de, Mansion1ScriptPointers - ld a, [W_MANSION1CURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_MANSION1CURSCRIPT], a - ret - -Mansion1Subscript1: ; 442c5 (11:42c5) - ld hl, $d126 - bit 5, [hl] - res 5, [hl] - ret z - ld a, [$d796] - bit 0, a - jr nz, .asm_442ec ; 0x442d2 $18 - ld bc, $060c - call Func_4430b - ld bc, $0308 - call Func_44304 - ld bc, $080a - call Func_44304 - ld bc, $0d0d - jp Func_44304 -.asm_442ec - ld bc, $060c - call Func_44304 - ld bc, $0308 - call Func_4430b - ld bc, $080a - call Func_4430b - ld bc, $0d0d - jp Func_4430b - -Func_44304: ; 44304 (11:4304) - ld a, $2d - ld [$d09f], a - jr asm_44310 - -Func_4430b: ; 4430b (11:430b) - ld a, $e - ld [$d09f], a -asm_44310: ; 44310 (11:4310) - ld a, $17 - call Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e)) - ret - -Func_44316: ; 44316 (11:4316) - ld a, [$c109] - cp $4 - ret nz - xor a - ld [H_CURRENTPRESSEDBUTTONS], a - ld a, $4 - ld [H_SPRITEHEIGHT], a - jp DisplayTextID - -Mansion1ScriptPointers: ; 44326 (11:4326) - dw CheckFightingMapTrainers - dw Func_324c - dw EndTrainerBattle - -Mansion1TextPointers: ; 4432c (11:432c) - dw Mansion1Text1 - dw Predef5CText - dw Predef5CText - dw Mansion1Text4 - -Mansion1TrainerHeaders: ; 44334 (11:4334) -Mansion1TrainerHeader0: ; 44334 (11:4334) - db $1 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d798 ; flag's byte - dw Mansion1BattleText2 ; 0x434b TextBeforeBattle - dw Mansion1AfterBattleText2 ; 0x4355 TextAfterBattle - dw Mansion1EndBattleText2 ; 0x4350 TextEndBattle - dw Mansion1EndBattleText2 ; 0x4350 TextEndBattle - - db $ff - -Mansion1Text1: ; 44341 (11:4341) - db $08 ; asm - ld hl, Mansion1TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -Mansion1BattleText2: ; 4434b (11:434b) - TX_FAR _Mansion1BattleText2 - db "@" - -Mansion1EndBattleText2: ; 44350 (11:4350) - TX_FAR _Mansion1EndBattleText2 - db "@" - -Mansion1AfterBattleText2: ; 44355 (11:4355) - TX_FAR _Mansion1AfterBattleText2 - db "@" - -Mansion1Text4: ; 4435a (11:435a) - db $8 - ld hl, MansionSwitchText - call PrintText - call YesNoChoice - ld a, [$cc26] - and a - jr nz, .asm_4438c ; 0x44368 $22 - ld a, $1 - ld [$cc3c], a - ld hl, $d126 - set 5, [hl] - ld hl, MansionSwitchPressedText - call PrintText - ld a, (SFX_02_57 - SFX_Headers_02) / 3 - call PlaySound - ld hl, $d796 - bit 0, [hl] - set 0, [hl] - jr z, .asm_44392 ; 0x44386 $a - res 0, [hl] - jr .asm_44392 ; 0x4438a $6 -.asm_4438c - ld hl, MansionSwitchNotPressedText - call PrintText -.asm_44392 - jp TextScriptEnd - -MansionSwitchText: ; 44395 (11:4395) - TX_FAR _MansionSwitchText - db "@" - -MansionSwitchPressedText: ; 4439a (11:439a) - TX_FAR _MansionSwitchPressedText - db "@" - -MansionSwitchNotPressedText: ; 4439f (11:439f) - TX_FAR _MansionSwitchNotPressedText - db "@" +INCLUDE "scripts/mansion1.asm" INCLUDE "data/mapObjects/mansion1.asm" @@ -52164,220 +45992,7 @@ Mansion1Blocks: ; 443fe (11:43fe) INCLUDE "data/mapHeaders/rocktunnel1.asm" -RockTunnel1Script: ; 444dc (11:44dc) - call EnableAutoTextBoxDrawing - ld hl, RockTunnel1TrainerHeaders - ld de, RockTunnel1ScriptPointers - ld a, [W_ROCKTUNNEL1CURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_ROCKTUNNEL1CURSCRIPT], a - ret - -RockTunnel1ScriptPointers: ; 444ef (11:44ef) - dw CheckFightingMapTrainers - dw Func_324c - dw EndTrainerBattle - -RockTunnel1TextPointers: ; 444f5 (11:44f5) - dw RockTunnel1Text1 - dw RockTunnel1Text2 - dw RockTunnel1Text3 - dw RockTunnel1Text4 - dw RockTunnel1Text5 - dw RockTunnel1Text6 - dw RockTunnel1Text7 - dw RockTunnel1Text8 - -RockTunnel1TrainerHeaders: ; 44505 (11:4505) -RockTunnel1TrainerHeader1: ; 44505 (11:4505) - db $1 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7d2 ; flag's byte - dw RockTunnel1BattleText1 ; 0x4588 TextBeforeBattle - dw RockTunnel1AfterBattleText1 ; 0x4592 TextAfterBattle - dw RockTunnel1EndBattleText1 ; 0x458d TextEndBattle - dw RockTunnel1EndBattleText1 ; 0x458d TextEndBattle - -RockTunnel1TrainerHeader2: ; 44511 (11:4511) - db $2 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7d2 ; flag's byte - dw RockTunnel1BattleText2 ; 0x4597 TextBeforeBattle - dw RockTunnel1AfterBattleText2 ; 0x45a1 TextAfterBattle - dw RockTunnel1EndBattleText2 ; 0x459c TextEndBattle - dw RockTunnel1EndBattleText2 ; 0x459c TextEndBattle - -RockTunnel1TrainerHeader3: ; 4451d (11:451d) - db $3 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7d2 ; flag's byte - dw RockTunnel1BattleText3 ; 0x45a6 TextBeforeBattle - dw RockTunnel1AfterBattleText3 ; 0x45b0 TextAfterBattle - dw RockTunnel1EndBattleText3 ; 0x45ab TextEndBattle - dw RockTunnel1EndBattleText3 ; 0x45ab TextEndBattle - -RockTunnel1TrainerHeader4: ; 44529 (11:4529) - db $4 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7d2 ; flag's byte - dw RockTunnel1BattleText4 ; 0x45b5 TextBeforeBattle - dw RockTunnel1AfterBattleText4 ; 0x45bf TextAfterBattle - dw RockTunnel1EndBattleText4 ; 0x45ba TextEndBattle - dw RockTunnel1EndBattleText4 ; 0x45ba TextEndBattle - -RockTunnel1TrainerHeader5: ; 44535 (11:4535) - db $5 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7d2 ; flag's byte - dw RockTunnel1BattleText5 ; 0x45c4 TextBeforeBattle - dw RockTunnel1AfterBattleText5 ; 0x45ce TextAfterBattle - dw RockTunnel1EndBattleText5 ; 0x45c9 TextEndBattle - dw RockTunnel1EndBattleText5 ; 0x45c9 TextEndBattle - -RockTunnel1TrainerHeader6: ; 44541 (11:4541) - db $6 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7d2 ; flag's byte - dw RockTunnel1BattleText6 ; 0x45d3 TextBeforeBattle - dw RockTunnel1AfterBattleText6 ; 0x45dd TextAfterBattle - dw RockTunnel1EndBattleText6 ; 0x45d8 TextEndBattle - dw RockTunnel1EndBattleText6 ; 0x45d8 TextEndBattle - -RockTunnel1TrainerHeader7: ; 4454d (11:454d) - db $7 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7d2 ; flag's byte - dw RockTunnel1BattleText7 ; 0x45e2 TextBeforeBattle - dw RockTunnel1AfterBattleText7 ; 0x45ec TextAfterBattle - dw RockTunnel1EndBattleText7 ; 0x45e7 TextEndBattle - dw RockTunnel1EndBattleText7 ; 0x45e7 TextEndBattle - - db $ff - -RockTunnel1Text1: ; 4455a (11:455a) - db $8 - ld hl, RockTunnel1TrainerHeader1 ; $4505 - jr asm_0c916 ; 0x4455e $22 - -RockTunnel1Text2: ; 44560 (11:4560) - db $8 - ld hl, RockTunnel1TrainerHeader2 ; $4511 - jr asm_0c916 ; 0x44564 $1c - -RockTunnel1Text3: ; 44566 (11:4566) - db $8 - ld hl, RockTunnel1TrainerHeader3 ; $451d - jr asm_0c916 ; 0x4456a $16 - -RockTunnel1Text4: ; 4456c (11:456c) - db $8 - ld hl, RockTunnel1TrainerHeader4 ; $4529 - jr asm_0c916 ; 0x44570 $10 - -RockTunnel1Text5: ; 44572 (11:4572) - db $8 - ld hl, RockTunnel1TrainerHeader5 ; $4535 - jr asm_0c916 ; 0x44576 $a - -RockTunnel1Text6: ; 44578 (11:4578) - db $8 - ld hl, RockTunnel1TrainerHeader6 ; $4541 - jr asm_0c916 ; 0x4457c $4 - -RockTunnel1Text7: ; 4457e (11:457e) - db $8 - ld hl, RockTunnel1TrainerHeader7 ; $454d -asm_0c916: ; 44582 (11:4582) - call TalkToTrainer - jp TextScriptEnd - -RockTunnel1BattleText1: ; 44588 (11:4588) - TX_FAR _RockTunnel1BattleText1 - db "@" - -RockTunnel1EndBattleText1: ; 4458d (11:458d) - TX_FAR _RockTunnel1EndBattleText1 - db "@" - -RockTunnel1AfterBattleText1: ; 44592 (11:4592) - TX_FAR _RockTunnel1AfterBattleText1 - db "@" - -RockTunnel1BattleText2: ; 44597 (11:4597) - TX_FAR _RockTunnel1BattleText2 - db "@" - -RockTunnel1EndBattleText2: ; 4459c (11:459c) - TX_FAR _RockTunnel1EndBattleText2 - db "@" - -RockTunnel1AfterBattleText2: ; 445a1 (11:45a1) - TX_FAR _RockTunnel1AfterBattleText2 - db "@" - -RockTunnel1BattleText3: ; 445a6 (11:45a6) - TX_FAR _RockTunnel1BattleText3 - db "@" - -RockTunnel1EndBattleText3: ; 445ab (11:45ab) - TX_FAR _RockTunnel1EndBattleText3 - db "@" - -RockTunnel1AfterBattleText3: ; 445b0 (11:45b0) - TX_FAR _RockTunnel1AfterBattleText3 - db "@" - -RockTunnel1BattleText4: ; 445b5 (11:45b5) - TX_FAR _RockTunnel1BattleText4 - db "@" - -RockTunnel1EndBattleText4: ; 445ba (11:45ba) - TX_FAR _RockTunnel1EndBattleText4 - db "@" - -RockTunnel1AfterBattleText4: ; 445bf (11:45bf) - TX_FAR _RockTunnel1AfterBattleText4 - db "@" - -RockTunnel1BattleText5: ; 445c4 (11:45c4) - TX_FAR _RockTunnel1BattleText5 - db "@" - -RockTunnel1EndBattleText5: ; 445c9 (11:45c9) - TX_FAR _RockTunnel1EndBattleText5 - db "@" - -RockTunnel1AfterBattleText5: ; 445ce (11:45ce) - TX_FAR _RockTunnel1AfterBattleText5 - db "@" - -RockTunnel1BattleText6: ; 445d3 (11:45d3) - TX_FAR _RockTunnel1BattleText6 - db "@" - -RockTunnel1EndBattleText6: ; 445d8 (11:45d8) - TX_FAR _RockTunnel1EndBattleText6 - db "@" - -RockTunnel1AfterBattleText6: ; 445dd (11:45dd) - TX_FAR _RockTunnel1AfterBattleText6 - db "@" - -RockTunnel1BattleText7: ; 445e2 (11:45e2) - TX_FAR _RockTunnel1BattleText7 - db "@" - -RockTunnel1EndBattleText7: ; 445e7 (11:45e7) - TX_FAR _RockTunnel1EndBattleText7 - db "@" - -RockTunnel1AfterBattleText7: ; 445ec (11:45ec) - TX_FAR _RockTunnel1AfterBattleText7 - db "@" - -RockTunnel1Text8: ; 445f1 (11:45f1) - TX_FAR _RockTunnel1Text8 - db "@" +INCLUDE "scripts/rocktunnel1.asm" INCLUDE "data/mapObjects/rocktunnel1.asm" @@ -52386,56 +46001,7 @@ RockTunnel1Blocks: ; 44675 (11:4675) INCLUDE "data/mapHeaders/seafoamislands1.asm" -SeafoamIslands1Script: ; 447e9 (11:47e9) - call EnableAutoTextBoxDrawing - ld hl, $d7e7 - set 0, [hl] - ld hl, wFlags_0xcd60 - bit 7, [hl] - res 7, [hl] - jr z, .asm_4483b ; 0x447f8 $41 - ld hl, Seafoam1HolesCoords - call CheckBoulderCoords - ret nc - ld hl, $d7e8 - ld a, [$cd3d] - cp $1 - jr nz, .asm_44819 ; 0x44809 $e - set 6, [hl] - ld a, $d7 - ld [$d079], a - ld a, $d9 - ld [$d07a], a - jr .asm_44825 ; 0x44817 $c -.asm_44819 - set 7, [hl] - ld a, $d8 - ld [$d079], a - ld a, $da - ld [$d07a], a -.asm_44825 - ld a, [$d079] - ld [$cc4d], a - ld a, $11 - call Predef - ld a, [$d07a] - ld [$cc4d], a - ld a, $15 - jp Predef -.asm_4483b - ld a, $9f - ld [$d71d], a - ld hl, Seafoam1HolesCoords - jp Func_46981 - -Seafoam1HolesCoords: ; 44846 (11:4846) - db $06,$11 - db $06,$18 - db $ff - -SeafoamIslands1TextPointers: ; 4484b (11:484b) - dw BoulderText - dw BoulderText +INCLUDE "scripts/seafoamislands1.asm" INCLUDE "data/mapObjects/seafoamislands1.asm" @@ -52444,15 +46010,7 @@ SeafoamIslands1Blocks: ; 4489f (11:489f) INCLUDE "data/mapHeaders/ssanne3.asm" -SSAnne3Script: ; 44932 (11:4932) - jp EnableAutoTextBoxDrawing - -SSAnne3TextPointers: ; 44935 (11:4935) - dw SSAnne3Text1 - -SSAnne3Text1: ; 44937 (11:4937) - TX_FAR _SSAnne3Text1 - db "@" +INCLUDE "scripts/ssanne3.asm" INCLUDE "data/mapObjects/ssanne3.asm" @@ -52461,211 +46019,7 @@ SSAnne3Blocks: ; 44956 (11:4956) INCLUDE "data/mapHeaders/victoryroad3.asm" -VictoryRoad3Script: ; 44980 (11:4980) - call VictoryRoad3Script_44996 - call EnableAutoTextBoxDrawing - ld hl, VictoryRoad3TrainerHeaders - ld de, VictoryRoad3ScriptPointers - ld a, [W_VICTORYROAD3CURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_VICTORYROAD3CURSCRIPT], a - ret - -VictoryRoad3Script_44996: ; 44996 (11:4996) - ld hl, $d126 - bit 5, [hl] - res 5, [hl] - ret z - ld hl, $d813 - bit 0, [hl] - ret z - ld a, $1d - ld [$d09f], a - ld bc, $503 - ld a, $17 - jp Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e)) - -VictoryRoad3ScriptPointers: ; 449b1 (11:49b1) - dw VictoryRoad3Script0 - dw Func_324c - dw EndTrainerBattle - -VictoryRoad3Script0: ; 449b7 (11:49b7) - ld hl, wFlags_0xcd60 - bit 7, [hl] - res 7, [hl] - jp z, .asm_449fe - ld hl, .coordsData_449f9 ; $49f9 - call CheckBoulderCoords - jp nc, .asm_449fe - ld a, [wWhichTrade] ; $cd3d - cp $1 - jr nz, .asm_449dc - ld hl, $d126 - set 5, [hl] - ld hl, $d813 - set 0, [hl] - ret -.asm_449dc - ld hl, $d813 - bit 6, [hl] - set 6, [hl] - jr nz, .asm_449fe - ld a, $7a - ld [$cc4d], a - ld a, $11 - call Predef ; indirect jump to RemoveMissableObject (f1d7 (3:71d7)) - ld a, $60 - ld [$cc4d], a - ld a, $15 - jp Predef ; indirect jump to AddMissableObject (f1c8 (3:71c8)) - -.coordsData_449f9: ; 449f9 (11:49f9) - db $05,$03 - db $0F,$17 - db $FF - -.asm_449fe - ld a, $c2 - ld [$d71d], a - ld hl, .coordsData_449f9 ; $49f9 - call Func_46981 - ld a, [wWhichTrade] ; $cd3d - cp $1 - jr nz, .asm_44a1b - ld hl, $d72d - res 4, [hl] - ld hl, $d732 - res 4, [hl] - ret -.asm_44a1b - ld a, [$d72d] - bit 4, a - jp z, CheckFightingMapTrainers - ret - -VictoryRoad3TextPointers: ; 44a24 (11:4a24) - dw VictoryRoad3Text1 - dw VictoryRoad3Text2 - dw VictoryRoad3Text3 - dw VictoryRoad3Text4 - dw Predef5CText - dw Predef5CText - dw BoulderText - dw BoulderText - dw BoulderText - dw BoulderText - -VictoryRoad3TrainerHeaders: ; 44a38 (11:4a38) -VictoryRoad3TrainerHeader0: ; 44a38 (11:4a38) - db $1 ; flag's bit - db ($1 << 4) ; trainer's view range - dw $d813 ; flag's byte - dw VictoryRoad3BattleText2 ; 0x4a91 TextBeforeBattle - dw VictoryRoad3AfterBattleText2 ; 0x4a9b TextAfterBattle - dw VictoryRoad3EndBattleText2 ; 0x4a96 TextEndBattle - dw VictoryRoad3EndBattleText2 ; 0x4a96 TextEndBattle - -VictoryRoad3TrainerHeader2: ; 44a44 (11:4a44) - db $2 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d813 ; flag's byte - dw VictoryRoad3BattleText3 ; 0x4aa0 TextBeforeBattle - dw VictoryRoad3AfterBattleText3 ; 0x4aaa TextAfterBattle - dw VictoryRoad3EndBattleText3 ; 0x4aa5 TextEndBattle - dw VictoryRoad3EndBattleText3 ; 0x4aa5 TextEndBattle - -VictoryRoad3TrainerHeader3: ; 44a50 (11:4a50) - db $3 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d813 ; flag's byte - dw VictoryRoad3BattleText4 ; 0x4aaf TextBeforeBattle - dw VictoryRoad3AfterBattleText4 ; 0x4ab9 TextAfterBattle - dw VictoryRoad3EndBattleText4 ; 0x4ab4 TextEndBattle - dw VictoryRoad3EndBattleText4 ; 0x4ab4 TextEndBattle - -VictoryRoad3TrainerHeader4: ; 44a5c (11:4a5c) - db $4 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d813 ; flag's byte - dw VictoryRoad3BattleText5 ; 0x4abe TextBeforeBattle - dw VictoryRoad3AfterBattleText5 ; 0x4ac8 TextAfterBattle - dw VictoryRoad3EndBattleText5 ; 0x4ac3 TextEndBattle - dw VictoryRoad3EndBattleText5 ; 0x4ac3 TextEndBattle - - db $ff - -VictoryRoad3Text1: ; 44a69 (11:4a69) - db $08 ; asm - ld hl, VictoryRoad3TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -VictoryRoad3Text2: ; 44a73 (11:4a73) - db $08 ; asm - ld hl, VictoryRoad3TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -VictoryRoad3Text3: ; 44a7d (11:4a7d) - db $08 ; asm - ld hl, VictoryRoad3TrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -VictoryRoad3Text4: ; 44a87 (11:4a87) - db $08 ; asm - ld hl, VictoryRoad3TrainerHeader4 - call TalkToTrainer - jp TextScriptEnd - -VictoryRoad3BattleText2: ; 44a91 (11:4a91) - TX_FAR _VictoryRoad3BattleText2 - db "@" - -VictoryRoad3EndBattleText2: ; 44a96 (11:4a96) - TX_FAR _VictoryRoad3EndBattleText2 - db "@" - -VictoryRoad3AfterBattleText2: ; 44a9b (11:4a9b) - TX_FAR _VictoryRoad3AfterBattleText2 - db "@" - -VictoryRoad3BattleText3: ; 44aa0 (11:4aa0) - TX_FAR _VictoryRoad3BattleText3 - db "@" - -VictoryRoad3EndBattleText3: ; 44aa5 (11:4aa5) - TX_FAR _VictoryRoad3EndBattleText3 - db "@" - -VictoryRoad3AfterBattleText3: ; 44aaa (11:4aaa) - TX_FAR _VictoryRoad3AfterBattleText3 - db "@" - -VictoryRoad3BattleText4: ; 44aaf (11:4aaf) - TX_FAR _VictoryRoad3BattleText4 - db "@" - -VictoryRoad3EndBattleText4: ; 44ab4 (11:4ab4) - TX_FAR _VictoryRoad3EndBattleText4 - db "@" - -VictoryRoad3AfterBattleText4: ; 44ab9 (11:4ab9) - TX_FAR _VictoryRoad3AfterBattleText4 - db "@" - -VictoryRoad3BattleText5: ; 44abe (11:4abe) - TX_FAR _VictoryRoad3BattleText5 - db "@" - -VictoryRoad3EndBattleText5: ; 44ac3 (11:4ac3) - TX_FAR _VictoryRoad3EndBattleText5 - db "@" - -VictoryRoad3AfterBattleText5: ; 44ac8 (11:4ac8) - TX_FAR _VictoryRoad3AfterBattleText5 - db "@" +INCLUDE "scripts/victoryroad3.asm" INCLUDE "data/mapObjects/victoryroad3.asm" @@ -52674,199 +46028,7 @@ VictoryRoad3Blocks: ; 44b37 (11:4b37) INCLUDE "data/mapHeaders/rockethideout1.asm" -RocketHideout1Script: ; 44bca (11:4bca) - call Func_44be0 - call EnableAutoTextBoxDrawing - ld hl, RocketHideout1TrainerHeaders - ld de, RocketHideout1ScriptPointers - ld a, [W_ROCKETHIDEOUT1CURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_ROCKETHIDEOUT1CURSCRIPT], a - ret - -Func_44be0: ; 44be0 (11:4be0) - ld hl, $d126 - bit 5, [hl] - res 5, [hl] - ret z - ld a, [$d815] - bit 7, a - jr nz, .asm_44c01 - bit 5, a - jr nz, .asm_44bf7 - ld a, $54 - jr .asm_44c03 -.asm_44bf7 - ld a, (SFX_02_57 - SFX_Headers_02) / 3 - call PlaySound - ld hl, $d815 - bit 7, [hl] -.asm_44c01 - ld a, $e -.asm_44c03 - ld [$d09f], a - ld bc, $080c - ld a, $17 - jp Predef - -RocketHideout1ScriptPointers: ; 44c0e (11:4c0e) - dw CheckFightingMapTrainers - dw Func_324c - dw EndTrainerBattle - -RocketHideout1TextPointers: ; 44c14 (11:4c14) - dw RocketHideout1Text1 - dw RocketHideout1Text2 - dw RocketHideout1Text3 - dw RocketHideout1Text4 - dw RocketHideout1Text5 - dw Predef5CText - dw Predef5CText - -RocketHideout1TrainerHeaders: ; 44c22 (11:4c22) -RocketHideout1TrainerHeader0: ; 44c22 (11:4c22) - db $1 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d815 ; flag's byte - dw RocketHideout1BattleText2 ; 0x4ca1 TextBeforeBattle - dw RocketHideout1AfterBattleTxt2 ; 0x4cab TextAfterBattle - dw RocketHideout1EndBattleText2 ; 0x4ca6 TextEndBattle - dw RocketHideout1EndBattleText2 ; 0x4ca6 TextEndBattle - -RocketHideout1TrainerHeader2: ; 44c2e (11:4c2e) - db $2 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d815 ; flag's byte - dw RocketHideout1BattleText3 ; 0x4cb0 TextBeforeBattle - dw RocketHideout1AfterBattleTxt3 ; 0x4cba TextAfterBattle - dw RocketHideout1EndBattleText3 ; 0x4cb5 TextEndBattle - dw RocketHideout1EndBattleText3 ; 0x4cb5 TextEndBattle - -RocketHideout1TrainerHeader3: ; 44c3a (11:4c3a) - db $3 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d815 ; flag's byte - dw RocketHideout1BattleText4 ; 0x4cbf TextBeforeBattle - dw RocketHideout1AfterBattleTxt4 ; 0x4cc9 TextAfterBattle - dw RocketHideout1EndBattleText4 ; 0x4cc4 TextEndBattle - dw RocketHideout1EndBattleText4 ; 0x4cc4 TextEndBattle - -RocketHideout1TrainerHeader4: ; 44c46 (11:4c46) - db $4 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d815 ; flag's byte - dw RocketHideout1BattleText5 ; 0x4cce TextBeforeBattle - dw RocketHideout1AfterBattleTxt5 ; 0x4cd8 TextAfterBattle - dw RocketHideout1EndBattleText5 ; 0x4cd3 TextEndBattle - dw RocketHideout1EndBattleText5 ; 0x4cd3 TextEndBattle - -RocketHideout1TrainerHeader5: ; 44c52 (11:4c52) - db $5 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d815 ; flag's byte - dw RocketHideout1BattleText6 ; 0x4cdd TextBeforeBattle - dw RocketHideout1AfterBattleTxt6 ; 0x4ce2 TextAfterBattle - dw RocketHideout1EndBattleText6 ; 0x4c91 TextEndBattle - dw RocketHideout1EndBattleText6 ; 0x4c91 TextEndBattle - - db $ff - -RocketHideout1Text1: ; 44c5f (11:4c5f) - db $08 ; asm - ld hl, RocketHideout1TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -RocketHideout1Text2: ; 44c69 (11:4c69) - db $08 ; asm - ld hl, RocketHideout1TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -RocketHideout1Text3: ; 44c73 (11:4c73) - db $08 ; asm - ld hl, RocketHideout1TrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -RocketHideout1Text4: ; 44c7d (11:4c7d) - db $08 ; asm - ld hl, RocketHideout1TrainerHeader4 - call TalkToTrainer - jp TextScriptEnd - -RocketHideout1Text5: ; 44c87 (11:4c87) - db $08 ; asm - ld hl, RocketHideout1TrainerHeader5 - call TalkToTrainer - jp TextScriptEnd - -RocketHideout1EndBattleText6: ; 44c91 (11:4c91) - TX_FAR _RocketHideout1EndBattleText6 - db $8 - ld hl, $d815 - set 5, [hl] - ld hl, UnnamedText_44c9f - ret - -UnnamedText_44c9f: ; 44c9f (11:4c9f) - db $6, $50 - -RocketHideout1BattleText2: ; 44ca1 (11:4ca1) - TX_FAR _RocketHideout1BattleText2 - db "@" - -RocketHideout1EndBattleText2: ; 44ca6 (11:4ca6) - TX_FAR _RocketHideout1EndBattleText2 - db "@" - -RocketHideout1AfterBattleTxt2: ; 44cab (11:4cab) - TX_FAR _RocketHideout1AfterBattleTxt2 - db "@" - -RocketHideout1BattleText3: ; 44cb0 (11:4cb0) - TX_FAR _RocketHideout1BattleText3 - db "@" - -RocketHideout1EndBattleText3: ; 44cb5 (11:4cb5) - TX_FAR _RocketHideout1EndBattleText3 - db "@" - -RocketHideout1AfterBattleTxt3: ; 44cba (11:4cba) - TX_FAR _RocketHideout1AfterBattleTxt3 - db "@" - -RocketHideout1BattleText4: ; 44cbf (11:4cbf) - TX_FAR _RocketHideout1BattleText4 - db "@" - -RocketHideout1EndBattleText4: ; 44cc4 (11:4cc4) - TX_FAR _RocketHideout1EndBattleText4 - db "@" - -RocketHideout1AfterBattleTxt4: ; 44cc9 (11:4cc9) - TX_FAR _RocketHideout1AfterBattleTxt4 - db "@" - -RocketHideout1BattleText5: ; 44cce (11:4cce) - TX_FAR _RocketHideout1BattleText5 - db "@" - -RocketHideout1EndBattleText5: ; 44cd3 (11:4cd3) - TX_FAR _RocketHideout1EndBattleText5 - db "@" - -RocketHideout1AfterBattleTxt5: ; 44cd8 (11:4cd8) - TX_FAR _RocketHideout1AfterBattleTxt5 - db "@" - -RocketHideout1BattleText6: ; 44cdd (11:4cdd) - TX_FAR _RocketHideout1BattleText6 - db "@" - -RocketHideout1AfterBattleTxt6: ; 44ce2 (11:4ce2) - TX_FAR _RocketHideout1AfterBattleTxt6 - db "@" +INCLUDE "scripts/rockethideout1.asm" INCLUDE "data/mapObjects/rockethideout1.asm" @@ -52875,507 +46037,7 @@ RocketHideout1Blocks: ; 44d49 (11:4d49) INCLUDE "data/mapHeaders/rockethideout2.asm" -RocketHideout2Script: ; 44e27 (11:4e27) - call EnableAutoTextBoxDrawing - ld hl, RocketHideout2TrainerHeaders - ld de, RocketHideout2ScriptPointers - ld a, [W_ROCKETHIDEOUT2CURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_ROCKETHIDEOUT2CURSCRIPT], a - ret - -RocketHideout2ScriptPointers: ; 44e3a (11:4e3a) - dw RocketHideout2Script0 - dw Func_324c - dw EndTrainerBattle - dw RocketHideout2Script3 - -RocketHideout2Script0: ; 44e42 (11:4e42) - ld a, [W_YCOORD] - ld b, a - ld a, [W_XCOORD] - ld c, a - ld hl, RocketHideout2ArrowTilePlayerMovement - call Func_3442 - cp $ff - jp z, CheckFightingMapTrainers - ld hl, $d736 - set 7, [hl] - call Func_3486 - ld a, (SFX_02_52 - SFX_Headers_02) / 3 - call PlaySound - ld a, $ff - ld [wJoypadForbiddenButtonsMask], a - ld a, $3 - ld [W_CURMAPSCRIPT], a - ret - -;format: -;db y,x -;dw pointer to movement -RocketHideout2ArrowTilePlayerMovement: ; 44e6d (11:4e6d) - db $9,$4 - dw RocketHideout2ArrowMovement1 - db $b,$4 - dw RocketHideout2ArrowMovement2 - db $f,$4 - dw RocketHideout2ArrowMovement3 - db $10,$4 - dw RocketHideout2ArrowMovement4 - db $13,$4 - dw RocketHideout2ArrowMovement1 - db $16,$4 - dw RocketHideout2ArrowMovement5 - db $e,$5 - dw RocketHideout2ArrowMovement6 - db $16,$6 - dw RocketHideout2ArrowMovement7 - db $18,$6 - dw RocketHideout2ArrowMovement8 - db $9,$8 - dw RocketHideout2ArrowMovement9 - db $c,$8 - dw RocketHideout2ArrowMovement10 - db $f,$8 - dw RocketHideout2ArrowMovement8 - db $13,$8 - dw RocketHideout2ArrowMovement9 - db $17,$8 - dw RocketHideout2ArrowMovement11 - db $e,$9 - dw RocketHideout2ArrowMovement12 - db $16,$9 - dw RocketHideout2ArrowMovement12 - db $9,$a - dw RocketHideout2ArrowMovement13 - db $a,$a - dw RocketHideout2ArrowMovement14 - db $f,$a - dw RocketHideout2ArrowMovement15 - db $11,$a - dw RocketHideout2ArrowMovement16 - db $13,$a - dw RocketHideout2ArrowMovement17 - db $19,$a - dw RocketHideout2ArrowMovement2 - db $e,$b - dw RocketHideout2ArrowMovement18 - db $10,$b - dw RocketHideout2ArrowMovement19 - db $12,$b - dw RocketHideout2ArrowMovement12 - db $9,$c - dw RocketHideout2ArrowMovement20 - db $b,$c - dw RocketHideout2ArrowMovement21 - db $d,$c - dw RocketHideout2ArrowMovement22 - db $11,$c - dw RocketHideout2ArrowMovement23 - db $a,$d - dw RocketHideout2ArrowMovement24 - db $c,$d - dw RocketHideout2ArrowMovement25 - db $10,$d - dw RocketHideout2ArrowMovement26 - db $12,$d - dw RocketHideout2ArrowMovement27 - db $13,$d - dw RocketHideout2ArrowMovement28 - db $16,$d - dw RocketHideout2ArrowMovement29 - db $17,$d - dw RocketHideout2ArrowMovement30 - db $11,$e - dw RocketHideout2ArrowMovement31 - db $10,$f - dw RocketHideout2ArrowMovement12 - db $e,$10 - dw RocketHideout2ArrowMovement32 - db $10,$10 - dw RocketHideout2ArrowMovement33 - db $12,$10 - dw RocketHideout2ArrowMovement34 - db $a,$11 - dw RocketHideout2ArrowMovement35 - db $b,$11 - dw RocketHideout2ArrowMovement36 - db $FF - -;format: direction, count -;right: $10 -;left: $20 -;up: $40 -;down: $80 -;each list is read starting from the $FF and working backwards -RocketHideout2ArrowMovement1: ; 44f1a (11:4f1a) - db $20,$02 - db $FF - -RocketHideout2ArrowMovement2: ; 44f1d (11:4f1d) - db $10,$04 - db $FF - -RocketHideout2ArrowMovement3: ; 44f20 (11:4f20) - db $40,$04 - db $10,$04 - db $FF - -RocketHideout2ArrowMovement4: ; 44f25 (11:4f25) - db $40,$04 - db $10,$04 - db $40,$01 - db $FF - -RocketHideout2ArrowMovement5: ; 44f2c (11:4f2c) - db $20,$02 - db $40,$03 - db $FF - -RocketHideout2ArrowMovement6: ; 44f31 (11:4f31) - db $80,$02 - db $10,$04 - db $FF - -RocketHideout2ArrowMovement7: ; 44f36 (11:4f36) - db $40,$02 - db $FF - -RocketHideout2ArrowMovement8: ; 44f39 (11:4f39) - db $40,$04 - db $FF - -RocketHideout2ArrowMovement9: ; 44f3c (11:4f3c) - db $20,$06 - db $FF - -RocketHideout2ArrowMovement10: ; 44f3f (11:4f3f) - db $40,$01 - db $FF - -RocketHideout2ArrowMovement11: ; 44f42 (11:4f42) - db $20,$06 - db $40,$04 - db $FF - -RocketHideout2ArrowMovement12: ; 44f47 (11:4f47) - db $80,$02 - db $FF - -RocketHideout2ArrowMovement13: ; 44f4a (11:4f4a) - db $20,$08 - db $FF - -RocketHideout2ArrowMovement14: ; 44f4d (11:4f4d) - db $20,$08 - db $40,$01 - db $FF - -RocketHideout2ArrowMovement15: ; 44f52 (11:4f52) - db $20,$08 - db $40,$06 - db $FF - -RocketHideout2ArrowMovement16: ; 44f57 (11:4f57) - db $40,$02 - db $10,$04 - db $FF - -RocketHideout2ArrowMovement17: ; 44f5c (11:4f5c) - db $40,$02 - db $10,$04 - db $40,$02 - db $FF - -RocketHideout2ArrowMovement18: ; 44f63 (11:4f63) - db $80,$02 - db $10,$04 - db $80,$02 - db $FF - -RocketHideout2ArrowMovement19: ; 44f6a (11:4f6a) - db $80,$02 - db $10,$04 - db $FF - -RocketHideout2ArrowMovement20: ; 44f6f (11:4f6f) - db $20,$0A - db $FF - -RocketHideout2ArrowMovement21: ; 44f72 (11:4f72) - db $20,$0A - db $40,$02 - db $FF - -RocketHideout2ArrowMovement22: ; 44f77 (11:4f77) - db $20,$0A - db $40,$04 - db $FF - -RocketHideout2ArrowMovement23: ; 44f7c (11:4f7c) - db $40,$02 - db $10,$02 - db $FF - -RocketHideout2ArrowMovement24: ; 44f81 (11:4f81) - db $10,$01 - db $80,$02 - db $FF - -RocketHideout2ArrowMovement25: ; 44f86 (11:4f86) - db $10,$01 - db $FF - -RocketHideout2ArrowMovement26: ; 44f89 (11:4f89) - db $80,$02 - db $10,$02 - db $FF - -RocketHideout2ArrowMovement27: ; 44f8e (11:4f8e) - db $80,$02 - db $20,$02 - db $FF - -RocketHideout2ArrowMovement28: ; 44f93 (11:4f93) - db $40,$02 - db $10,$04 - db $40,$02 - db $20,$03 - db $FF - -RocketHideout2ArrowMovement29: ; 44f9c (11:4f9c) - db $80,$02 - db $20,$04 - db $FF - -RocketHideout2ArrowMovement30: ; 44fa1 (11:4fa1) - db $20,$06 - db $40,$04 - db $20,$05 - db $FF - -RocketHideout2ArrowMovement31: ; 44fa8 (11:4fa8) - db $40,$02 - db $FF - -RocketHideout2ArrowMovement32: ; 44fab (11:4fab) - db $40,$01 - db $FF - -RocketHideout2ArrowMovement33: ; 44fae (11:4fae) - db $40,$03 - db $FF - -RocketHideout2ArrowMovement34: ; 44fb1 (11:4fb1) - db $40,$05 - db $FF - -RocketHideout2ArrowMovement35: ; 44fb4 (11:4fb4) - db $10,$01 - db $80,$02 - db $20,$04 - db $FF - -RocketHideout2ArrowMovement36: ; 44fbb (11:4fbb) - db $20,$0A - db $40,$02 - db $20,$05 - db $FF - -RocketHideout2Script3: ; 44fc2 (11:4fc2) - ld a, [$cd38] - and a - jr nz, LoadSpinnerArrowTiles - xor a - ld [wJoypadForbiddenButtonsMask], a - ld hl, $d736 - res 7, [hl] - ld a, $0 - ld [W_CURMAPSCRIPT], a - ret - -LoadSpinnerArrowTiles: ; 44fd7 (11:4fd7) - ld a, [$c102] - srl a - srl a - ld hl, SpinnerPlayerFacingDirections ; $5083 - ld c, a - ld b, $0 - add hl, bc - ld a, [hl] - ld [$c102], a - ld a, [W_CURMAPTILESET] ; $d367 - cp FACILITY - ld hl, SpinnerArrowTilePointers1 ; $5023 - jr z, .asm_44ff6 - ld hl, SpinnerArrowTilePointers2 ; $5053 -.asm_44ff6 - ld a, [$cd38] - bit 0, a - jr nz, .asm_45001 - ld de, $18 - add hl, de -.asm_45001 - ld a, $4 - ld bc, $0 -.asm_45006 - push af - push hl - push bc - add hl, bc - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ld a, [hli] - ld h, [hl] - ld l, a - call CopyVideoData - pop bc - ld a, $6 - add c - ld c, a - pop hl - pop af - dec a - jr nz, .asm_45006 - ret - -SpinnerArrowTilePointers1: ; 45023 (11:5023) - dw SpinnerArrowAnimTiles ;address from within tileset graphics - db 1 ;number of tiles to copy? - db BANK(SpinnerArrowAnimTiles) ;bank of tileset graphics - dw $9200 ;where to load in VRAM - - dw SpinnerArrowAnimTiles + $10 - db 1 - db BANK(SpinnerArrowAnimTiles) - dw $9210 - - dw SpinnerArrowAnimTiles + $20 - db 1 - db BANK(SpinnerArrowAnimTiles) - dw $9300 - - dw SpinnerArrowAnimTiles + $30 - db 1 - db BANK(SpinnerArrowAnimTiles) - dw $9310 - - dw Facility_GFX + $200 - db 1 - db BANK(Facility_GFX) - dw $9200 - - dw Facility_GFX + $210 - db 1 - db BANK(Facility_GFX) - dw $9210 - - dw Facility_GFX + $300 - db 1 - db BANK(Facility_GFX) - dw $9300 - - dw Facility_GFX + $310 - db 1 - db BANK(Facility_GFX) - dw $9310 - -SpinnerArrowTilePointers2: ; 45053 (11:5053) - dw SpinnerArrowAnimTiles + $10 - db 1 - db BANK(SpinnerArrowAnimTiles) - dw $93C0 - - dw SpinnerArrowAnimTiles + $30 - db 1 - db BANK(SpinnerArrowAnimTiles) - dw $93D0 - - dw SpinnerArrowAnimTiles - db 1 - db BANK(SpinnerArrowAnimTiles) - dw $94C0 - - dw SpinnerArrowAnimTiles + $20 - db 1 - db BANK(SpinnerArrowAnimTiles) - dw $94D0 - - dw Gym_GFX + $3C0 - db 1 - db BANK(Facility_GFX) - dw $93C0 - - dw Gym_GFX + $3D0 - db 1 - db BANK(Facility_GFX) - dw $93D0 - - dw Gym_GFX + $4C0 - db 1 - db BANK(Facility_GFX) - dw $94C0 - - dw Gym_GFX + $4D0 - db 1 - db BANK(Facility_GFX) - dw $94D0 - -SpinnerPlayerFacingDirections: ; 45083 (11:5083) -; This isn't the order of the facing directions. Rather, it's a list of -; the facing directions that come next. For example, when the player is -; facing down (00), the next facing direction is left (08). - db $08 ; down -> left - db $0C ; up -> right - db $04 ; left -> up - db $00 ; right -> down - -; these tiles are the animation for the tiles that push the player in dungeons like Rocket HQ -SpinnerArrowAnimTiles: ; 45087 (11:5087) - INCBIN "gfx/spinner_arrow.2bpp" - -RocketHideout2TextPointers: ; 450c7 (11:50c7) - dw RocketHideout2Text1 - dw Predef5CText - dw Predef5CText - dw Predef5CText - dw Predef5CText - -RocketHideout2TrainerHeaders: ; 450d1 (11:50d1) -RocketHideout2TrainerHeader0: ; 450d1 (11:50d1) - db $1 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d817 ; flag's byte - dw RocketHideout2BattleText2 ; 0x50e8 TextBeforeBattle - dw RocketHideout2AfterBattleTxt2 ; 0x50f2 TextAfterBattle - dw RocketHideout2EndBattleText2 ; 0x50ed TextEndBattle - dw RocketHideout2EndBattleText2 ; 0x50ed TextEndBattle - - db $ff - -RocketHideout2Text1: ; 450de (11:50de) - db $08 ; asm - ld hl, RocketHideout2TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -RocketHideout2BattleText2: ; 450e8 (11:50e8) - TX_FAR _RocketHideout2BattleText2 - db "@" - -RocketHideout2EndBattleText2: ; 450ed (11:50ed) - TX_FAR _RocketHideout2EndBattleText2 - db "@" - -RocketHideout2AfterBattleTxt2: ; 450f2 (11:50f2) - TX_FAR _RocketHideout2AfterBattleTxt2 - db "@" +INCLUDE "scripts/rockethideout2.asm" INCLUDE "data/mapObjects/rockethideout2.asm" @@ -53384,217 +46046,7 @@ RocketHideout2Blocks: ; 45147 (11:5147) INCLUDE "data/mapHeaders/rockethideout3.asm" -RocketHideout3Script: ; 45225 (11:5225) - call EnableAutoTextBoxDrawing - ld hl, RocketHideout3TrainerHeaders - ld de, RocketHideout3ScriptPointers - ld a, [W_ROCKETHIDEOUT3CURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_ROCKETHIDEOUT3CURSCRIPT], a - ret - -RocketHideout3ScriptPointers: ; 45238 (11:5238) - dw RocketHideout3Script0 - dw Func_324c - dw EndTrainerBattle - dw RocketHideout3Script3 - -RocketHideout3Script0: ; 45240 (11:5240) - ld a, [W_YCOORD] - ld b, a - ld a, [W_XCOORD] - ld c, a - ld hl, RocketHideout3ArrowTilePlayerMovement - call Func_3442 - cp $ff - jp z, CheckFightingMapTrainers - ld hl, $d736 - set 7, [hl] - call Func_3486 - ld a, (SFX_02_52 - SFX_Headers_02) / 3 - call PlaySound - ld a, $ff - ld [wJoypadForbiddenButtonsMask], a - ld a, $3 - ld [W_CURMAPSCRIPT], a - ret - -;format: -;db y,x -;dw pointer to movement -RocketHideout3ArrowTilePlayerMovement: ; 4526b (11:526b) - db $d,$a - dw RocketHideout3ArrowMovement6 - db $13,$a - dw RocketHideout3ArrowMovement1 - db $12,$b - dw RocketHideout3ArrowMovement2 - db $b,$c - dw RocketHideout3ArrowMovement3 - db $11,$c - dw RocketHideout3ArrowMovement4 - db $14,$c - dw RocketHideout3ArrowMovement5 - db $10,$d - dw RocketHideout3ArrowMovement6 - db $b,$e - dw RocketHideout3ArrowMovement7 - db $f,$e - dw RocketHideout3ArrowMovement6 - db $11,$e - dw RocketHideout3ArrowMovement8 - db $13,$e - dw RocketHideout3ArrowMovement9 - db $10,$f - dw RocketHideout3ArrowMovement7 - db $12,$f - dw RocketHideout3ArrowMovement10 - db $d,$10 - dw RocketHideout3ArrowMovement11 - db $c,$11 - dw RocketHideout3ArrowMovement10 - db $10,$12 - dw RocketHideout3ArrowMovement12 - db $FF - -;format: direction, count -;right: $10 -;left: $20 -;up: $40 -;down: $80 -;each list is read starting from the $FF and working backwards -RocketHideout3ArrowMovement1: ; 452ac (11:52ac) - db $10,$04 - db $40,$04 - db $10,$04 - db $FF - -RocketHideout3ArrowMovement2: ; 452b3 (11:52b3) - db $80,$04 - db $10,$04 - db $FF - -RocketHideout3ArrowMovement3: ; 452b8 (11:52b8) - db $20,$02 - db $FF - -RocketHideout3ArrowMovement4: ; 452bb (11:52bb) - db $10,$04 - db $40,$02 - db $10,$02 - db $FF - -RocketHideout3ArrowMovement5: ; 452c2 (11:52c2) - db $10,$04 - db $40,$02 - db $10,$02 - db $40,$03 - db $FF - -RocketHideout3ArrowMovement6: ; 452cb (11:52cb) - db $10,$04 - db $FF - -RocketHideout3ArrowMovement7: ; 452ce (11:52ce) - db $10,$02 - db $FF - -RocketHideout3ArrowMovement8: ; 452d1 (11:52d1) - db $10,$04 - db $40,$02 - db $FF - -RocketHideout3ArrowMovement9: ; 452d6 (11:52d6) - db $10,$04 - db $40,$04 - db $FF - -RocketHideout3ArrowMovement10: ; 452db (11:52db) - db $80,$04 - db $FF - -RocketHideout3ArrowMovement11: ; 452de (11:52de) - db $40,$02 - db $FF - -RocketHideout3ArrowMovement12: ; 452e1 (11:52e1) - db $40,$01 - db $FF - -RocketHideout3Script3 ; 452e4 (11:452e4) - ld a, [$cd38] - and a - jp nz, LoadSpinnerArrowTiles - xor a - ld [wJoypadForbiddenButtonsMask], a - ld hl, $d736 - res 7, [hl] - ld a, $0 - ld [W_CURMAPSCRIPT], a - ret - -RocketHideout3TextPointers: ; 452fa (11:52fa) - dw RocketHideout3Text1 - dw RocketHideout3Text2 - dw Predef5CText - dw Predef5CText - -RocketHideout3TrainerHeaders: ; 45302 (11:5302) -RocketHideout3TrainerHeader0: ; 45302 (11:5302) - db $1 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d819 ; flag's byte - dw RocketHideout3BattleText2 ; 0x5325 TextBeforeBattle - dw RocketHideout3AfterBattleTxt2 ; 0x532f TextAfterBattle - dw RocketHideout3EndBattleText2 ; 0x532a TextEndBattle - dw RocketHideout3EndBattleText2 ; 0x532a TextEndBattle - -RocketHideout3TrainerHeader2: ; 4530e (11:530e) - db $2 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d819 ; flag's byte - dw RocketHideout3BattleTxt ; 0x533e TextBeforeBattle - dw RocketHideout3AfterBattleText3 ; 0x5348 TextAfterBattle - dw RocketHideout3EndBattleText3 ; 0x5343 TextEndBattle - dw RocketHideout3EndBattleText3 ; 0x5343 TextEndBattle - - db $ff - -RocketHideout3Text1: ; 4531b (11:531b) - db $08 ; asm - ld hl, RocketHideout3TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -RocketHideout3BattleText2: ; 45325 (11:5325) - TX_FAR _RocketHideout3BattleText2 - db "@" - -RocketHideout3EndBattleText2: ; 4532a (11:532a) - TX_FAR _RocketHideout3EndBattleText2 - db "@" - -RocketHideout3AfterBattleTxt2: ; 4532f (11:532f) - TX_FAR _RocketHideout3AfterBattleTxt2 - db "@" - -RocketHideout3Text2: ; 45334 (11:5334) - db $08 ; asm - ld hl, RocketHideout3TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -RocketHideout3BattleTxt: ; 4533e (11:533e) - TX_FAR _RocketHideout3BattleTxt - db "@" - -RocketHideout3EndBattleText3: ; 45343 (11:5343) - TX_FAR _RocketHideout3EndBattleText3 - db "@" - -RocketHideout3AfterBattleText3: ; 45348 (11:5348) - TX_FAR _RocketHide3AfterBattleText3 - db "@" +INCLUDE "scripts/rockethideout3.asm" INCLUDE "data/mapObjects/rockethideout3.asm" @@ -53603,238 +46055,7 @@ RocketHideout3Blocks: ; 4537f (11:537f) INCLUDE "data/mapHeaders/rockethideout4.asm" -RocketHideout4Script: ; 4545d (11:545d) - call Func_45473 - call EnableAutoTextBoxDrawing - ld hl, RocketHideout4TrainerHeader0 - ld de, RocketHideout4ScriptPointers - ld a, [W_ROCKETHIDEOUT4CURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_ROCKETHIDEOUT4CURSCRIPT], a - ret - -Func_45473: ; 45473 (11:5473) - ld hl, $d126 - bit 5, [hl] - res 5, [hl] - ret z - ld a, [$d81b] - bit 5, a - jr nz, .asm_45496 - and $c - cp $c - jr z, .asm_4548c - ld a, $2d - jr .asm_45498 -.asm_4548c - ld a, (SFX_02_57 - SFX_Headers_02) / 3 - call PlaySound - ld hl, $d81b - set 5, [hl] -.asm_45496 - ld a, $e -.asm_45498 - ld [$d09f], a - ld bc, $050c - ld a, $17 - jp Predef - -Func_454a3: ; 454a3 (11:54a3) - xor a - ld [wJoypadForbiddenButtonsMask], a - ld [W_ROCKETHIDEOUT4CURSCRIPT], a - ld [W_CURMAPSCRIPT], a - ret - -RocketHideout4ScriptPointers: ; 454ae (11:54ae)c - dw CheckFightingMapTrainers - dw Func_324c - dw EndTrainerBattle - dw RocketHideout4Script3 - -RocketHideout4Script3: ; 454b6 (11:54b6) - ld a, [W_ISINBATTLE] - cp $ff - jp z, Func_454a3 - call UpdateSprites - ld a, $f0 - ld [wJoypadForbiddenButtonsMask], a - ld hl, $d81b - set 7, [hl] - ld a, $a - ld [H_SPRITEHEIGHT], a - call DisplayTextID - call GBFadeIn1 - ld a, $83 - ld [$cc4d], a - ld a, $11 - call Predef - ld a, $87 - ld [$cc4d], a - ld a, $15 - call Predef - call UpdateSprites - call GBFadeOut1 - xor a - ld [wJoypadForbiddenButtonsMask], a - ld hl, $d126 - set 5, [hl] - ld a, $0 - ld [W_ROCKETHIDEOUT4CURSCRIPT], a - ld [W_CURMAPSCRIPT], a - ret - -RocketHideout4TextPointers: ; 45501 (11:5501) - dw RocketHideout4Text1 - dw RocketHideout4Text2 - dw RocketHideout4Text3 - dw RocketHideout4Text4 - dw Predef5CText - dw Predef5CText - dw Predef5CText - dw Predef5CText - dw Predef5CText - dw RocketHideout4Text10 - -RocketHideout4TrainerHeaders: ; 45515 (11:5515) -RocketHideout4TrainerHeader0: ; 45515 (11:5515) - db $2 ; flag's bit - db ($0 << 4) ; trainer's view range - dw $d81b ; flag's byte - dw RocketHideout4BattleText2 ; 0x5593 TextBeforeBattle - dw RocketHideout4AfterBattleText2 ; 0x559d TextAfterBattle - dw RocketHideout4EndBattleText2 ; 0x5598 TextEndBattle - dw RocketHideout4EndBattleText2 ; 0x5598 TextEndBattle - -RocketHideout4TrainerHeader2: ; 45521 (11:5521) - db $3 ; flag's bit - db ($0 << 4) ; trainer's view range - dw $d81b ; flag's byte - dw RocketHideout4BattleText3 ; 0x55ac TextBeforeBattle - dw RocketHideout4AfterBattleText3 ; 0x55b6 TextAfterBattle - dw RocketHideout4EndBattleText3 ; 0x55b1 TextEndBattle - dw RocketHideout4EndBattleText3 ; 0x55b1 TextEndBattle - -RocketHideout4TrainerHeader3: ; 4552d (11:552d) - db $4 ; flag's bit - db ($1 << 4) ; trainer's view range - dw $d81b ; flag's byte - dw RocketHideout4BattleText4 ; 0x55c5 TextBeforeBattle - dw RocketHideout4AfterBattleText4 ; 0x55cf TextAfterBattle - dw RocketHideout4EndBattleText4 ; 0x55ca TextEndBattle - dw RocketHideout4EndBattleText4 ; 0x55ca TextEndBattle - - db $ff - -RocketHideout4Text1: ; 4553a (11:553a) - db $08 ; asm - ld a, [$d81b] - bit 7, a - jp nz, .asm_545571 - ld hl, UnnamedText_4557a - call PrintText - ld hl, $d72d - set 6, [hl] - set 7, [hl] - ld hl, UnnamedText_4557f - ld de, UnnamedText_4557f - call PreBattleSaveRegisters - ldh a, [$8c] - ld [$cf13], a - call EngageMapTrainer - call InitBattleEnemyParameters - xor a - ldh [$b4], a - ld a, $3 - ld [W_ROCKETHIDEOUT4CURSCRIPT], a - ld [W_CURMAPSCRIPT], a - jr .asm_209f0 ; 0x4556f -.asm_545571 - ld hl, RocketHideout4Text10 - call PrintText -.asm_209f0 ; 0x45577 - jp TextScriptEnd - -UnnamedText_4557a: ; 4557a (11:557a) - TX_FAR _UnnamedText_4557a - db "@" - -UnnamedText_4557f: ; 4557f (11:557f) - TX_FAR _UnnamedText_4557f - db "@" - -RocketHideout4Text10: ; 45584 (11:5584) - TX_FAR _UnnamedText_45584 - db "@" - -RocketHideout4Text2: ; 45589 (11:5589) - db $08 ; asm - ld hl, RocketHideout4TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -RocketHideout4BattleText2: ; 45593 (11:5593) - TX_FAR _RocketHideout4BattleText2 - db "@" - -RocketHideout4EndBattleText2: ; 45598 (11:5598) - TX_FAR _RocketHideout4EndBattleText2 - db "@" - -RocketHideout4AfterBattleText2: ; 4559d (11:559d) - TX_FAR _RocketHide4AfterBattleText2 - db "@" - -RocketHideout4Text3: ; 455a2 (11:55a2) - db $08 ; asm - ld hl, RocketHideout4TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -RocketHideout4BattleText3: ; 455ac (11:55ac) - TX_FAR _RocketHideout4BattleText3 - db "@" - -RocketHideout4EndBattleText3: ; 455b1 (11:55b1) - TX_FAR _RocketHideout4EndBattleText3 - db "@" - -RocketHideout4AfterBattleText3: ; 455b6 (11:55b6) - TX_FAR _RocketHide4AfterBattleText3 - db "@" - -RocketHideout4Text4: ; 455bb (11:55bb) - db $08 ; asm - ld hl, RocketHideout4TrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -RocketHideout4BattleText4: ; 455c5 (11:55c5) - TX_FAR _RocketHideout4BattleText4 - db "@" - -RocketHideout4EndBattleText4: ; 455ca (11:55ca) - TX_FAR _RocketHideout4EndBattleText4 - db "@" - -RocketHideout4AfterBattleText4: ; 455cf (11:55cf) - db $8 - ld hl, UnnamedText_455ec ; $55ec - call PrintText - ld hl, $d81b - bit 6, [hl] - set 6, [hl] - jr nz, .asm_455e9 ; 0x455dd $a - ld a, $88 - ld [$cc4d], a - ld a, $15 - call Predef -.asm_455e9 - jp TextScriptEnd - -UnnamedText_455ec: ; 455ec (11:55ec) - TX_FAR _UnnamedText_455ec - db "@" +INCLUDE "scripts/rockethideout4.asm" INCLUDE "data/mapObjects/rockethideout4.asm" @@ -53843,90 +46064,7 @@ RocketHideout4Blocks: ; 45650 (11:5650) INCLUDE "data/mapHeaders/rockethideoutelevator.asm" -RocketHideoutElevatorScript: ; 45710 (11:5710) - ld hl, $d126 - bit 5, [hl] - res 5, [hl] - push hl - call nz, RocketHideoutElevatorScript_4572c - pop hl - bit 7, [hl] - res 7, [hl] - call nz, Func_4575f - xor a - ld [$cf0c], a - inc a - ld [$cc3c], a - ret - -RocketHideoutElevatorScript_4572c: ; 4572c (11:572c) - ld hl, $d3af - ld a, [$d73b] - ld b, a - ld a, [$d73c] - ld c, a - call RocketHideoutElevatorScript_4573a - -RocketHideoutElevatorScript_4573a: ; 4573a (11:573a) - inc hl - inc hl - ld a, b - ld [hli], a - ld a, c - ld [hli], a - ret - -RocketHideoutElevatorScript_45741: ; 45741 (11:5741) - ld hl, RocketHideoutElavatorFloors ; $5754 - call LoadItemList - ld hl, RocketHideoutElevatorWarpMaps ; $5759 - ld de, $cc5b - ld bc, $0006 - call CopyData - ret - -RocketHideoutElavatorFloors: ; 45754 (11:5754) - db $03 ; num elements in list - db $55, $54, $61 ; "B1F", "B2F", "B4F" - db $FF ; terminator - -RocketHideoutElevatorWarpMaps: ; 45759 (11:5759) -; first byte is warp number -; second byte is map number -; These specify where the player goes after getting out of the elevator. - db $04, ROCKET_HIDEOUT_1 - db $04, ROCKET_HIDEOUT_2 - db $02, ROCKET_HIDEOUT_4 - -Func_4575f: ; 4575f (11:575f) - call Delay3 - ld b, BANK(Func_7bf15) - ld hl, Func_7bf15 - call Bankswitch - ret - -RocketHideoutElevatorTextPointers: ; 4576b (11:576b) - dw RocketHideoutElevatorText1 - -RocketHideoutElevatorText1: ; 4576d (11:576d) - db $08 ; asm - ld b, LIFT_KEY - call IsItemInBag - jr z, .asm_8d8f0 ; 0x45773 - call RocketHideoutElevatorScript_45741 - ld hl, RocketHideoutElevatorWarpMaps ; $5759 - ld a, $61 - call Predef - jr .asm_46c43 ; 0x45780 -.asm_8d8f0 ; 0x45782 - ld hl, UnnamedText_4578b - call PrintText -.asm_46c43 ; 0x45788 - jp TextScriptEnd - -UnnamedText_4578b: ; 4578b (11:578b) - TX_FAR _UnnamedText_4578b ; 0x82438 - db $d, "@" +INCLUDE "scripts/rockethideoutelevator.asm" INCLUDE "data/mapObjects/rockethideoutelevator.asm" @@ -53935,86 +46073,7 @@ RocketHideoutElevatorBlocks: ; 457a8 (11:57a8) INCLUDE "data/mapHeaders/silphcoelevator.asm" -SilphCoElevatorScript: ; 457c0 (11:57c0) - ld hl, $d126 - bit 5, [hl] - res 5, [hl] - push hl - call nz, SilphCoElevatorScript_457dc - pop hl - bit 7, [hl] - res 7, [hl] - call nz, Func_45827 - xor a - ld [$cf0c], a - inc a - ld [$cc3c], a - ret - -SilphCoElevatorScript_457dc: ; 457dc (11:57dc) - ld hl, $d3af - ld a, [$d73b] - ld b, a - ld a, [$d73c] - ld c, a - call SilphCoElevatorScript_457ea - -SilphCoElevatorScript_457ea: ; 457ea (11:57ea) - inc hl - inc hl - ld a, b - ld [hli], a - ld a, c - ld [hli], a - ret - -SilphCoElevatorScript_457f1: ; 457f1 (11:57f1) - ld hl, SilphCoElavatorFloors ; $5804 - call LoadItemList - ld hl, SilphCoElevatorWarpMaps ; $5811 - ld de, $cc5b - ld bc, $16 - call CopyData - ret - -SilphCoElavatorFloors: ; 45804 (11:45804) - db $0B ; num elements in list - db $56, $57, $58, $59, $5A, $5B, $5C, $5D, $5E, $5F, $60 ; "1F", "2F", "3F", "4F", ... , "11F" - db $FF ; terminator - -SilphCoElevatorWarpMaps: ; 45811 (11:45811) -; first byte is warp number -; second byte is map number -; These specify where the player goes after getting out of the elevator. - db $03, SILPH_CO_1F - db $02, SILPH_CO_2F - db $02, SILPH_CO_3F - db $02, SILPH_CO_4F - db $02, SILPH_CO_5F - db $02, SILPH_CO_6F - db $02, SILPH_CO_7F - db $02, SILPH_CO_8F - db $02, SILPH_CO_9F - db $02, SILPH_CO_10F - db $01, SILPH_CO_11F - -Func_45827: ; 45827 (11:5827) - call Delay3 - ld b, BANK(Func_7bf15) - ld hl, Func_7bf15 - call Bankswitch - ret - -SilphCoElevatorTextPointers: ; 45833 (11:5833) - dw SilphCoElevatorText1 - -SilphCoElevatorText1: ; 45835 (11:5835) - db $08 ; asm - call SilphCoElevatorScript_457f1 - ld hl, SilphCoElevatorWarpMaps ; $5811 - ld a, $61 - call Predef - jp TextScriptEnd +INCLUDE "scripts/silphcoelevator.asm" INCLUDE "data/mapObjects/silphcoelevator.asm" @@ -54023,29 +46082,7 @@ SilphCoElevatorBlocks: ; 4585b (11:585b) INCLUDE "data/mapHeaders/safarizoneeast.asm" -SafariZoneEastScript: ; 4586b (11:586b) - jp EnableAutoTextBoxDrawing - -SafariZoneEastTextPointers: ; 4586e (11:586e) - dw Predef5CText - dw Predef5CText - dw Predef5CText - dw Predef5CText - dw SafariZoneEastText5 - dw SafariZoneEastText6 - dw SafariZoneEastText7 - -SafariZoneEastText5: ; 4587c (11:587c) - TX_FAR _SafariZoneEastText5 - db "@" - -SafariZoneEastText6: ; 45881 (11:5881) - TX_FAR _SafariZoneEastText6 - db "@" - -SafariZoneEastText7: ; 45886 (11:5886) - TX_FAR _SafariZoneEastText7 - db "@" +INCLUDE "scripts/safarizoneeast.asm" INCLUDE "data/mapObjects/safarizoneeast.asm" @@ -54054,37 +46091,7 @@ SafariZoneEastBlocks: ; 458dc (11:58dc) INCLUDE "data/mapHeaders/safarizonenorth.asm" -SafariZoneNorthScript: ; 459ab (11:59ab) - jp EnableAutoTextBoxDrawing - -SafariZoneNorthTextPointers: ; 459ae (11:59ae) - dw Predef5CText - dw Predef5CText - dw SafariZoneNorthText3 - dw SafariZoneNorthText4 - dw SafariZoneNorthText5 - dw SafariZoneNorthText6 - dw SafariZoneNorthText7 - -SafariZoneNorthText3: ; 459bc (11:59bc) - TX_FAR _SafariZoneNorthText3 - db "@" - -SafariZoneNorthText4: ; 459c1 (11:59c1) - TX_FAR _SafariZoneNorthText4 - db "@" - -SafariZoneNorthText5: ; 459c6 (11:59c6) - TX_FAR _SafariZoneNorthText5 - db "@" - -SafariZoneNorthText6: ; 459cb (11:59cb) - TX_FAR _SafariZoneNorthText6 - db "@" - -SafariZoneNorthText7: ; 459d0 (11:59d0) - TX_FAR _SafariZoneNorthText7 - db "@" +INCLUDE "scripts/safarizonenorth.asm" INCLUDE "data/mapObjects/safarizonenorth.asm" @@ -54093,21 +46100,7 @@ SafariZoneNorthBlocks: ; 45a3e (11:5a3e) INCLUDE "data/mapHeaders/safarizonecenter.asm" -SafariZoneCenterScript: ; 45bb2 (11:5bb2) - jp EnableAutoTextBoxDrawing - -SafariZoneCenterTextPointers: ; 45bb5 (11:5bb5) - dw Predef5CText - dw SafariZoneCenterText2 - dw SafariZoneCenterText3 - -SafariZoneCenterText2: ; 45bbb (11:5bbb) - TX_FAR _SafariZoneCenterText2 - db "@" - -SafariZoneCenterText3: ; 45bc0 (11:5bc0) - TX_FAR _SafariZoneCenterText3 - db "@" +INCLUDE "scripts/safarizonecenter.asm" INCLUDE "data/mapObjects/safarizonecenter.asm" @@ -54116,107 +46109,31 @@ SafariZoneCenterBlocks: ; 45c1e (11:5c1e) INCLUDE "data/mapHeaders/safarizoneresthouse1.asm" -SafariZoneRestHouse1Script: ; 45ced (11:5ced) - jp EnableAutoTextBoxDrawing - -SafariZoneRestHouse1TextPointers: ; 45cf0 (11:5cf0) - dw SafariZoneRestHouse1Text1 - dw SafariZoneRestHouse1Text2 - -SafariZoneRestHouse1Text1: ; 45cf4 (11:5cf4) - TX_FAR _SafariZoneRestHouse1Text1 - db "@" - -SafariZoneRestHouse1Text2: ; 45cf9 (11:5cf9) - TX_FAR _SafariZoneRestHouse1Text2 - db "@" +INCLUDE "scripts/safarizoneresthouse1.asm" INCLUDE "data/mapObjects/safarizoneresthouse1.asm" INCLUDE "data/mapHeaders/safarizoneresthouse2.asm" -SafariZoneRestHouse2Script: ; 45d2a (11:5d2a) - call EnableAutoTextBoxDrawing - ret - -SafariZoneRestHouse2TextPointers: ; 45d2e (11:5d2e) - dw SafariZoneRestHouse2Text1 - dw SafariZoneRestHouse2Text2 - dw SafariZoneRestHouse2Text3 - -SafariZoneRestHouse2Text1: ; 45d34 (11:5d34) - TX_FAR _SafariZoneRestHouse2Text1 - db "@" - -SafariZoneRestHouse2Text2: ; 45d39 (11:5d39) - TX_FAR _SafariZoneRestHouse2Text2 - db "@" - -SafariZoneRestHouse2Text3: ; 45d3e (11:5d3e) - TX_FAR _SafariZoneRestHouse2Text3 - db "@" +INCLUDE "scripts/safarizoneresthouse2.asm" INCLUDE "data/mapObjects/safarizoneresthouse2.asm" INCLUDE "data/mapHeaders/safarizoneresthouse3.asm" -SafariZoneRestHouse3Script: ; 45d75 (11:5d75) - call EnableAutoTextBoxDrawing - ret - -SafariZoneRestHouse3TextPointers: ; 45d79 (11:5d79) - dw SafariZoneRestHouse3Text1 - dw SafariZoneRestHouse3Text2 - dw SafariZoneRestHouse3Text3 - -SafariZoneRestHouse3Text1: ; 45d7f (11:5d7f) - TX_FAR _SafariZoneRestHouse3Text1 - db "@" - -SafariZoneRestHouse3Text2: ; 45d84 (11:5d84) - TX_FAR _SafariZoneRestHouse3Text2 - db "@" - -SafariZoneRestHouse3Text3: ; 45d89 (11:5d89) - TX_FAR _SafariZoneRestHouse3Text3 - db "@" +INCLUDE "scripts/safarizoneresthouse3.asm" INCLUDE "data/mapObjects/safarizoneresthouse3.asm" INCLUDE "data/mapHeaders/safarizoneresthouse4.asm" -SafariZoneRestHouse4Script: ; 45dc0 (11:5dc0) - call EnableAutoTextBoxDrawing - ret - -SafariZoneRestHouse4TextPointers: ; 45dc4 (11:5dc4) - dw SafariZoneRestHouse4Text1 - dw SafariZoneRestHouse4Text2 - dw SafariZoneRestHouse4Text3 - -SafariZoneRestHouse4Text1: ; 45dca (11:5dca) - TX_FAR _SafariZoneRestHouse4Text1 - db "@" - -SafariZoneRestHouse4Text2: ; 45dcf (11:5dcf) - TX_FAR _SafariZoneRestHouse4Text2 - db "@" - -SafariZoneRestHouse4Text3: ; 45dd4 (11:5dd4) - TX_FAR _SafariZoneRestHouse4Text3 - db "@" +INCLUDE "scripts/safarizoneresthouse4.asm" INCLUDE "data/mapObjects/safarizoneresthouse4.asm" INCLUDE "data/mapHeaders/unknowndungeon2.asm" -UnknownDungeon2Script: ; 45e0b (11:5e0b) - jp EnableAutoTextBoxDrawing - -UnknownDungeon2TextPointers: ; 45e0e (11:5e0e) - dw Predef5CText - dw Predef5CText - dw Predef5CText +INCLUDE "scripts/unknowndungeon2.asm" INCLUDE "data/mapObjects/unknowndungeon2.asm" @@ -54225,50 +46142,7 @@ UnknownDungeon2Blocks: ; 45e5d (11:5e5d) INCLUDE "data/mapHeaders/unknowndungeon3.asm" -UnknownDungeon3Script: ; 45ef0 (11:5ef0) - call EnableAutoTextBoxDrawing - ld hl, UnknownDungeon3TrainerHeaders - ld de, UnknownDungeon3ScriptPointers - ld a, [W_UNKNOWNDUNGEON3CURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_UNKNOWNDUNGEON3CURSCRIPT], a - ret - -UnknownDungeon3ScriptPointers: ; 45f03 (11:5f03) - dw CheckFightingMapTrainers - dw Func_324c - dw EndTrainerBattle - -UnknownDungeon3TextPointers: ; 45f09 (11:5f09) - dw UnknownDungeon3Text1 - dw Predef5CText - dw Predef5CText - -UnknownDungeon3TrainerHeaders: ; 45f0f (11:5f0f) -UnknownDungeon3TrainerHeader0: ; 45f0f (11:5f0f) - db $1 ; flag's bit - db ($0 << 4) ; trainer's view range - dw $d85f ; flag's byte - dw UnknownDungeon3MewtwoText ; 0x5f26 TextBeforeBattle - dw UnknownDungeon3MewtwoText ; 0x5f26 TextAfterBattle - dw UnknownDungeon3MewtwoText ; 0x5f26 TextEndBattle - dw UnknownDungeon3MewtwoText ; 0x5f26 TextEndBattle - - db $ff - -UnknownDungeon3Text1: ; 45f1c (11:5f1c) - db $08 ; asm - ld hl, UnknownDungeon3TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -UnknownDungeon3MewtwoText: ; 45f26 (11:5f26) - TX_FAR _UnknownDungeon3MewtwoText - db $8 - ld a, MEWTWO - call PlayCry - call WaitForSoundToFinish - jp TextScriptEnd +INCLUDE "scripts/unknowndungeon3.asm" INCLUDE "data/mapObjects/unknowndungeon3.asm" @@ -54277,248 +46151,7 @@ UnknownDungeon3Blocks: ; 45f58 (11:5f58) INCLUDE "data/mapHeaders/rocktunnel2.asm" -RockTunnel2Script: ; 45feb (11:5feb) - call EnableAutoTextBoxDrawing - ld hl, RockTunnel2TrainerHeaders - ld de, RockTunnel2ScriptPointers - ld a, [W_ROCKTUNNEL2CURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_ROCKTUNNEL2CURSCRIPT], a - ret - -RockTunnel2ScriptPointers: ; 45ffe (11:5ffe) - dw CheckFightingMapTrainers - dw Func_324c - dw EndTrainerBattle - -RockTunnel2TextPointers: ; 46004 (11:6004) - dw RockTunnel2Text1 - dw RockTunnel2Text2 - dw RockTunnel2Text3 - dw RockTunnel2Text4 - dw RockTunnel2Text5 - dw RockTunnel2Text6 - dw RockTunnel2Text7 - dw RockTunnel2Text8 - -RockTunnel2TrainerHeaders: ; 46014 (11:6014) -RockTunnel2TrainerHeader0: ; 46014 (11:6014) - db $1 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d87d ; flag's byte - dw RockTunnel2BattleText2 ; 0x60c5 TextBeforeBattle - dw RockTunnel2AfterBattleText2 ; 0x60cf TextAfterBattle - dw RockTunnel2EndBattleText2 ; 0x60ca TextEndBattle - dw RockTunnel2EndBattleText2 ; 0x60ca TextEndBattle - -RockTunnel2TrainerHeader2: ; 46020 (11:6020) - db $2 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d87d ; flag's byte - dw RockTunnel2BattleText3 ; 0x60d4 TextBeforeBattle - dw RockTunnel2AfterBattleText3 ; 0x60de TextAfterBattle - dw RockTunnel2EndBattleText3 ; 0x60d9 TextEndBattle - dw RockTunnel2EndBattleText3 ; 0x60d9 TextEndBattle - -RockTunnel2TrainerHeader3: ; 4602c (11:602c) - db $3 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d87d ; flag's byte - dw RockTunnel2BattleText4 ; 0x60e3 TextBeforeBattle - dw RockTunnel2AfterBattleText4 ; 0x60ed TextAfterBattle - dw RockTunnel2EndBattleText4 ; 0x60e8 TextEndBattle - dw RockTunnel2EndBattleText4 ; 0x60e8 TextEndBattle - -RockTunnel2TrainerHeader4: ; 46038 (11:6038) - db $4 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d87d ; flag's byte - dw RockTunnel2BattleText5 ; 0x60f2 TextBeforeBattle - dw RockTunnel2AfterBattleText5 ; 0x60fc TextAfterBattle - dw RockTunnel2EndBattleText5 ; 0x60f7 TextEndBattle - dw RockTunnel2EndBattleText5 ; 0x60f7 TextEndBattle - -RockTunnel2TrainerHeader5: ; 46044 (11:6044) - db $5 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d87d ; flag's byte - dw RockTunnel2BattleText6 ; 0x6101 TextBeforeBattle - dw RockTunnel2AfterBattleText6 ; 0x610b TextAfterBattle - dw RockTunnel2EndBattleText6 ; 0x6106 TextEndBattle - dw RockTunnel2EndBattleText6 ; 0x6106 TextEndBattle - -RockTunnel2TrainerHeader6: ; 46050 (11:6050) - db $6 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d87d ; flag's byte - dw RockTunnel2BattleText7 ; 0x6110 TextBeforeBattle - dw RockTunnel2AfterBattleText7 ; 0x611a TextAfterBattle - dw RockTunnel2EndBattleText7 ; 0x6115 TextEndBattle - dw RockTunnel2EndBattleText7 ; 0x6115 TextEndBattle - -RockTunnel2TrainerHeader7: ; 4605c (11:605c) - db $7 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d87d ; flag's byte - dw RockTunnel2BattleText8 ; 0x611f TextBeforeBattle - dw RockTunnel2AfterBattleText8 ; 0x6129 TextAfterBattle - dw RockTunnel2EndBattleText8 ; 0x6124 TextEndBattle - dw RockTunnel2EndBattleText8 ; 0x6124 TextEndBattle - -RockTunnel2TrainerHeader8: ; 46068 (11:6068) - db $8 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d87d ; flag's byte - dw RockTunnel2BattleText9 ; 0x612e TextBeforeBattle - dw RockTunnel2AfterBattleText9 ; 0x6138 TextAfterBattle - dw RockTunnel2EndBattleText9 ; 0x6133 TextEndBattle - dw RockTunnel2EndBattleText9 ; 0x6133 TextEndBattle - - db $ff - -RockTunnel2Text1: ; 46075 (11:6075) - db $08 ; asm - ld hl, RockTunnel2TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -RockTunnel2Text2: ; 4607f (11:607f) - db $08 ; asm - ld hl, RockTunnel2TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -RockTunnel2Text3: ; 46089 (11:6089) - db $08 ; asm - ld hl, RockTunnel2TrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -RockTunnel2Text4: ; 46093 (11:6093) - db $08 ; asm - ld hl, RockTunnel2TrainerHeader4 - call TalkToTrainer - jp TextScriptEnd - -RockTunnel2Text5: ; 4609d (11:609d) - db $08 ; asm - ld hl, RockTunnel2TrainerHeader5 - call TalkToTrainer - jp TextScriptEnd - -RockTunnel2Text6: ; 460a7 (11:60a7) - db $08 ; asm - ld hl, RockTunnel2TrainerHeader6 - call TalkToTrainer - jp TextScriptEnd - -RockTunnel2Text7: ; 460b1 (11:60b1) - db $08 ; asm - ld hl, RockTunnel2TrainerHeader7 - call TalkToTrainer - jp TextScriptEnd - -RockTunnel2Text8: ; 460bb (11:60bb) - db $08 ; asm - ld hl, RockTunnel2TrainerHeader8 - call TalkToTrainer - jp TextScriptEnd - -RockTunnel2BattleText2: ; 460c5 (11:60c5) - TX_FAR _RockTunnel2BattleText2 - db "@" - -RockTunnel2EndBattleText2: ; 460ca (11:60ca) - TX_FAR _RockTunnel2EndBattleText2 - db "@" - -RockTunnel2AfterBattleText2: ; 460cf (11:60cf) - TX_FAR _RockTunnel2AfterBattleText2 - db "@" - -RockTunnel2BattleText3: ; 460d4 (11:60d4) - TX_FAR _RockTunnel2BattleText3 - db "@" - -RockTunnel2EndBattleText3: ; 460d9 (11:60d9) - TX_FAR _RockTunnel2EndBattleText3 - db "@" - -RockTunnel2AfterBattleText3: ; 460de (11:60de) - TX_FAR _RockTunnel2AfterBattleText3 - db "@" - -RockTunnel2BattleText4: ; 460e3 (11:60e3) - TX_FAR _RockTunnel2BattleText4 - db "@" - -RockTunnel2EndBattleText4: ; 460e8 (11:60e8) - TX_FAR _RockTunnel2EndBattleText4 - db "@" - -RockTunnel2AfterBattleText4: ; 460ed (11:60ed) - TX_FAR _RockTunnel2AfterBattleText4 - db "@" - -RockTunnel2BattleText5: ; 460f2 (11:60f2) - TX_FAR _RockTunnel2BattleText5 - db "@" - -RockTunnel2EndBattleText5: ; 460f7 (11:60f7) - TX_FAR _RockTunnel2EndBattleText5 - db "@" - -RockTunnel2AfterBattleText5: ; 460fc (11:60fc) - TX_FAR _RockTunnel2AfterBattleText5 - db "@" - -RockTunnel2BattleText6: ; 46101 (11:6101) - TX_FAR _RockTunnel2BattleText6 - db "@" - -RockTunnel2EndBattleText6: ; 46106 (11:6106) - TX_FAR _RockTunnel2EndBattleText6 - db "@" - -RockTunnel2AfterBattleText6: ; 4610b (11:610b) - TX_FAR _RockTunnel2AfterBattleText6 - db "@" - -RockTunnel2BattleText7: ; 46110 (11:6110) - TX_FAR _RockTunnel2BattleText7 - db "@" - -RockTunnel2EndBattleText7: ; 46115 (11:6115) - TX_FAR _RockTunnel2EndBattleText7 - db "@" - -RockTunnel2AfterBattleText7: ; 4611a (11:611a) - TX_FAR _RockTunnel2AfterBattleText7 - db "@" - -RockTunnel2BattleText8: ; 4611f (11:611f) - TX_FAR _RockTunnel2BattleText8 - db "@" - -RockTunnel2EndBattleText8: ; 46124 (11:6124) - TX_FAR _RockTunnel2EndBattleText8 - db "@" - -RockTunnel2AfterBattleText8: ; 46129 (11:6129) - TX_FAR _RockTunnel2AfterBattleText8 - db "@" - -RockTunnel2BattleText9: ; 4612e (11:612e) - TX_FAR _RockTunnel2BattleText9 - db "@" - -RockTunnel2EndBattleText9: ; 46133 (11:6133) - TX_FAR _RockTunnel2EndBattleText9 - db "@" - -RockTunnel2AfterBattleText9: ; 46138 (11:6138) - TX_FAR _RockTunnel2AfterBattleText9 - db "@" +INCLUDE "scripts/rocktunnel2.asm" INCLUDE "data/mapObjects/rocktunnel2.asm" @@ -54527,54 +46160,7 @@ RockTunnel2Blocks: ; 461a1 (11:61a1) INCLUDE "data/mapHeaders/seafoamislands2.asm" -SeafoamIslands2Script: ; 46315 (11:6315) - call EnableAutoTextBoxDrawing - ld hl, wFlags_0xcd60 - bit 7, [hl] - res 7, [hl] - jr z, .asm_46362 ; 0x4631f $41 - ld hl, Seafoam2HolesCoords - call CheckBoulderCoords - ret nc - ld hl, $d87f - ld a, [$cd3d] - cp $1 - jr nz, .asm_46340 ; 0x46330 $e - set 0, [hl] - ld a, $d9 - ld [$d079], a - ld a, $db - ld [$d07a], a - jr .asm_4634c ; 0x4633e $c -.asm_46340 - set 1, [hl] - ld a, $da - ld [$d079], a - ld a, $dc - ld [$d07a], a -.asm_4634c - ld a, [$d079] - ld [$cc4d], a - ld a, $11 - call Predef - ld a, [$d07a] - ld [$cc4d], a - ld a, $15 - jp Predef -.asm_46362 - ld a, $a0 - ld [$d71d], a - ld hl, Seafoam2HolesCoords - jp Func_46981 - -Seafoam2HolesCoords: ; 4636d (11:636d) - db $06,$12 - db $06,$17 - db $ff - -SeafoamIslands2TextPointers: ; 46372 (11:6372) - dw BoulderText - dw BoulderText +INCLUDE "scripts/seafoamislands2.asm" INCLUDE "data/mapObjects/seafoamislands2.asm" @@ -54583,54 +46169,7 @@ SeafoamIslands2Blocks: ; 463be (11:63be) INCLUDE "data/mapHeaders/seafoamislands3.asm" -SeafoamIslands3Script: ; 46451 (11:6451) - call EnableAutoTextBoxDrawing - ld hl, wFlags_0xcd60 - bit 7, [hl] - res 7, [hl] - jr z, .asm_4649e ; 0x4645b $41 - ld hl, Seafoam3HolesCoords - call CheckBoulderCoords - ret nc - ld hl, $d880 - ld a, [$cd3d] - cp $1 - jr nz, .asm_4647c ; 0x4646c $e - set 0, [hl] - ld a, $db - ld [$d079], a - ld a, $df - ld [$d07a], a - jr .asm_46488 ; 0x4647a $c -.asm_4647c - set 1, [hl] - ld a, $dc - ld [$d079], a - ld a, $e0 - ld [$d07a], a -.asm_46488 - ld a, [$d079] - ld [$cc4d], a - ld a, $11 - call Predef - ld a, [$d07a] - ld [$cc4d], a - ld a, $15 - jp Predef -.asm_4649e - ld a, $a1 - ld [$d71d], a - ld hl, Seafoam3HolesCoords - jp Func_46981 - -Seafoam3HolesCoords: ; 464a9 (11:64a9) - db $06,$13 - db $06,$16 - db $ff - -SeafoamIslands3TextPointers: ; 464ae (11:64ae) - dw BoulderText - dw BoulderText +INCLUDE "scripts/seafoamislands3.asm" INCLUDE "data/mapObjects/seafoamislands3.asm" @@ -54639,154 +46178,7 @@ SeafoamIslands3Blocks: ; 464fa (11:64fa) INCLUDE "data/mapHeaders/seafoamislands4.asm" -SeafoamIslands4Script: ; 4658d (11:658d) - call EnableAutoTextBoxDrawing - ld hl, wFlags_0xcd60 - bit 7, [hl] - res 7, [hl] - jr z, .asm_465dc ; 0x46597 $43 - ld hl, Seafoam4HolesCoords - call CheckBoulderCoords - ret nc - ld hl, $d881 - ld a, [$cd3d] - cp $1 - jr nz, .asm_465b8 ; 0x465a8 $e - set 0, [hl] - ld a, $dd - ld [$d079], a - ld a, $e1 - ld [$d07a], a - jr .asm_465c4 ; 0x465b6 $c -.asm_465b8 - set 1, [hl] - ld a, $de - ld [$d079], a - ld a, $e2 - ld [$d07a], a -.asm_465c4 - ld a, [$d079] - ld [$cc4d], a - ld a, $11 - call Predef - ld a, [$d07a] - ld [$cc4d], a - ld a, $15 - call Predef - jr .asm_465ed ; 0x465da $11 -.asm_465dc - ld a, $a2 - ld [$d71d], a - ld hl, Seafoam4HolesCoords - call Func_46981 - ld a, [$d732] - bit 4, a - ret nz -.asm_465ed - ld hl, SeafoamIslands4ScriptPointers - ld a, [W_SEAFOAMISLANDS4CURSCRIPT] - jp CallFunctionInTable - -Seafoam4HolesCoords: ; 465f6 (11:65f6) - db $10,$03 - db $10,$06 - db $ff - -SeafoamIslands4ScriptPointers: ; 465fb (11:65fb) - dw SeafoamIslands4Script0 - dw SeafoamIslands4Script1 - dw SeafoamIslands4Script2 - dw SeafoamIslands4Script3 - -SeafoamIslands4Script0: ; 46603 (11:6603) - ld a, [$d880] - and $3 - cp $3 - ret z - ld a, [W_YCOORD] - cp $8 - ret nz - ld a, [W_XCOORD] - cp $f - ret nz - ld hl, $ccd3 - ld de, RLEMovement46632 - call DecodeRLEList - dec a - ld [$cd38], a - call Func_3486 - ld hl, W_FLAGS_D733 - set 2, [hl] - ld a, $1 - ld [W_SEAFOAMISLANDS4CURSCRIPT], a - ret - -RLEMovement46632: ; 46632 (11:6632) - db $80,6 - db $10,5 - db $80,3 - db $ff - -SeafoamIslands4Script1: ; 46639 (11:6639) - ld a, [$cd38] - and a - ret nz - ld a, $0 - ld [W_SEAFOAMISLANDS4CURSCRIPT], a - ret - -SeafoamIslands4Script2: ; 46644 (11:6644) - ld a, [$d880] - and $3 - cp $3 - ret z - ld a, [W_XCOORD] - cp $12 - jr z, .asm_4665e - cp $13 - ld a, $0 - jr nz, .asm_4667b - ld de, RLEData_4667f - jr .asm_46661 -.asm_4665e - ld de, RLEData_46688 -.asm_46661 - ld hl, $ccd3 - call DecodeRLEList - dec a - ld [$cd38], a - xor a - ld [$c206], a - ld hl, $d730 - set 7, [hl] - ld hl, W_FLAGS_D733 - set 2, [hl] - ld a, $3 -.asm_4667b - ld [W_SEAFOAMISLANDS4CURSCRIPT], a - ret - -RLEData_4667f: ; 4667f (11:667f) - db $80,$06,$10,$02,$80,$04,$20,$01,$FF - -RLEData_46688: ; 46688 (11:6688) - db $80,$06,$10,$02,$80,$04,$FF - -SeafoamIslands4Script3: ; 4668f (11:668f) - ld a, [$cd38] - and a - ret nz - ld a, $0 - ld [W_SEAFOAMISLANDS4CURSCRIPT], a - ret - -SeafoamIslands4TextPointers: ; 4669a (11:669a) - dw BoulderText - dw BoulderText - dw BoulderText - dw BoulderText - dw BoulderText - dw BoulderText +INCLUDE "scripts/seafoamislands4.asm" INCLUDE "data/mapObjects/seafoamislands4.asm" @@ -54795,184 +46187,7 @@ SeafoamIslands4Blocks: ; 46706 (11:6706) INCLUDE "data/mapHeaders/seafoamislands5.asm" -SeafoamIslands5Script: ; 46799 (11:6799) - call EnableAutoTextBoxDrawing - ld a, [W_SEAFOAMISLANDS5CURSCRIPT] - ld hl, SeafoamIslands5ScriptPointers - jp CallFunctionInTable - -SeafoamIslands5Script_467a5: ; 467a5 (11:67a5) - xor a - ld [W_SEAFOAMISLANDS5CURSCRIPT], a - ld [wJoypadForbiddenButtonsMask], a - ret - -SeafoamIslands5ScriptPointers: ; 467ad (11:67ad) - dw SeafoamIslands5Script0 - dw SeafoamIslands5Script1 - dw SeafoamIslands5Script2 - dw SeafoamIslands5Script3 - dw SeafoamIslands5Script4 - -SeafoamIslands5Script4: ; 467b7 (11:67b7) - ld a, [W_ISINBATTLE] - cp $ff - jr z, SeafoamIslands5Script_467a5 - call EndTrainerBattle - ld a, $0 - ld [W_SEAFOAMISLANDS5CURSCRIPT], a - ret - -SeafoamIslands5Script0: ; 467c7 (11:67c7) - ld a, [$d880] - and $3 - cp $3 - ret z - ld hl, CoordsData_467fe - call ArePlayerCoordsInArray - ret nc - ld a, [$cd3d] - cp $3 - jr nc, .asm_467e6 - ld a, $40 - ld [$ccd4], a - ld a, $2 - jr .asm_467e8 -.asm_467e6 - ld a, $1 -.asm_467e8 - ld [$cd38], a - ld a, $40 - ld [$ccd3], a - call Func_3486 - ld hl, W_FLAGS_D733 - res 2, [hl] - ld a, $1 - ld [W_SEAFOAMISLANDS5CURSCRIPT], a - ret - -CoordsData_467fe: ; 467fe (11:67fe) - db $11,$14 - db $11,$15 - db $10,$14 - db $10,$15 - db $FF - -SeafoamIslands5Script1: ; 46807 (11:6807) - ld a, [$cd38] - and a - ret nz - xor a - ld [wJoypadForbiddenButtonsMask], a - ld a, $0 - ld [W_SEAFOAMISLANDS5CURSCRIPT], a - ret - -SeafoamIslands5Script2: ; 46816 (11:6816) - ld a, [$d881] - and $3 - cp $3 - ld a, $0 - jr z, .asm_46849 - ld hl, CoordsData_4684d - call ArePlayerCoordsInArray - ld a, $0 - jr nc, .asm_46849 - ld a, [$cd3d] - cp $1 - jr nz, .asm_46837 - ld de, RLEMovementData_46859 - jr .asm_4683a -.asm_46837 - ld de, RLEMovementData_46852 -.asm_4683a - ld hl, $ccd3 - call DecodeRLEList - dec a - ld [$cd38], a - call Func_3486 - ld a, $3 -.asm_46849 - ld [W_SEAFOAMISLANDS5CURSCRIPT], a - ret - -CoordsData_4684d: ; 4684d (11:684d) - db $0E,$04 - db $0E,$05 - db $FF - -RLEMovementData_46852: ; 46852 (11:6852) - db $40,$03 - db $10,$02 - db $40,$01 - db $FF - -RLEMovementData_46859: ; 46859 (11:6859) - db $40,$03 - db $10,$03 - db $40,$01 - db $FF - -SeafoamIslands5Script3: ; 46860 (11:6860) - ld a, [$cd38] - ld b, a - cp $1 - call z, SeaFoamIslands5Script_46872 - ld a, b - and a - ret nz - ld a, $0 - ld [W_SEAFOAMISLANDS5CURSCRIPT], a - ret - -SeaFoamIslands5Script_46872: ; 46872 (11:6872) - xor a - ld [$d700], a - ld [$d11a], a - jp ForceBikeOrSurf - -SeafoamIslands5TextPointers: ; 4687c (11:687c) - dw BoulderText - dw BoulderText - dw SeafoamIslands5Text3 - dw SeafoamIslands5Text4 - dw SeafoamIslands5Text5 - -SeafoamIslands5TrainerHeaders: ; 46886 (11:6886) -SeafoamIslands5TrainerHeader0: ; 46886 (11:6886) - db $2 ; flag's bit - db ($0 << 4) ; trainer's view range - dw $d882 ; flag's byte - dw SeafoamIslands5BattleText2 ; 0x68a2 TextBeforeBattle - dw SeafoamIslands5BattleText2 ; 0x68a2 TextAfterBattle - dw SeafoamIslands5BattleText2 ; 0x68a2 TextEndBattle - dw SeafoamIslands5BattleText2 ; 0x68a2 TextEndBattle - - db $ff - -SeafoamIslands5Text3: ; 46893 (11:6893) - db $08 ; asm - ld hl, SeafoamIslands5TrainerHeader0 - call TalkToTrainer - ld a, $4 - ld [W_SEAFOAMISLANDS5CURSCRIPT], a - jp TextScriptEnd - -SeafoamIslands5BattleText2: ; 468a2 (11:68a2) - TX_FAR _SeafoamIslands5BattleText2 - db $8 - ld a, ARTICUNO - call PlayCry - call WaitForSoundToFinish - jp TextScriptEnd - -SeafoamIslands5Text4: ; 468b2 (11:68b2) - TX_FAR _SeafoamIslands5Text4 - db "@" - -SeafoamIslands5Text5: ; 468b7 (11:68b7) - TX_FAR _SeafoamIslands5Text5 - db "@" +INCLUDE "scripts/seafoamislands5.asm" INCLUDE "data/mapObjects/seafoamislands5.asm" @@ -55200,87 +46415,11 @@ Func_4813f: ; 4813f (12:413f) ld c, $4 jp DelayFrames -Route7Script: ; 48152 (12:4152) - jp EnableAutoTextBoxDrawing - -Route7TextPointers: ; 48155 (12:4155) - dw Route7Text1 - -Route7Text1: ; 48157 (12:4157) - TX_FAR _Route7Text1 - db "@" +INCLUDE "scripts/route7.asm" INCLUDE "data/mapHeaders/redshouse1f.asm" -RedsHouse1FScript: ; 48168 (12:4168) - jp EnableAutoTextBoxDrawing - -RedsHouse1FTextPointers: ; 4816b (12:416b) - dw RedsHouse1FText1 - dw RedsHouse1FText2 - -RedsHouse1FText1: ; 4816f (12:416f) ; 416F Mom - db 8 - ld a, [$D72E] - bit 3, a - jr nz, .heal ; if player has received a Pokémon from Oak, heal team - ld hl, MomWakeUpText - call PrintText - jr .done -.heal - call MomHealPokemon -.done - jp TextScriptEnd - -MomWakeUpText: ; 48185 (12:4185) - TX_FAR _MomWakeUpText - db "@" - -MomHealPokemon: ; 4818a (12:418a) - ld hl, MomHealText1 - call PrintText - call GBFadeOut2 - call ReloadMapData - PREDEF HealPartyPredef - ld a, MUSIC_PKMN_HEALED - ld [$C0EE], a - call PlaySound ; play sound? -.next - ld a, [$C026] - cp MUSIC_PKMN_HEALED - jr z, .next - ld a, [$D35B] - ld [$C0EE], a - call PlaySound - call GBFadeIn2 - ld hl, MomHealText2 - jp PrintText - -MomHealText1: ; 481bc (12:41bc) - TX_FAR _MomHealText1 - db "@" -MomHealText2: ; 481c1 (12:41c1) - TX_FAR _MomHealText2 - db "@" - -RedsHouse1FText2: ; 0x481c6 TV - db 8 - ld a,[$C109] - cp 4 - ld hl,TVWrongSideText - jr nz,.done ; if player is not facing up - ld hl,StandByMeText -.done - call PrintText - jp TextScriptEnd - -StandByMeText: ; 481da (12:41da) - TX_FAR _StandByMeText - db "@" - -TVWrongSideText: ; 481df (12:41df) - TX_FAR _TVWrongSideText - db "@" +INCLUDE "scripts/redshouse1f.asm" INCLUDE "data/mapObjects/redshouse1f.asm" @@ -55289,115 +46428,7 @@ RedsHouse1FBlocks: ; 48209 (12:4209) INCLUDE "data/mapHeaders/celadonmart3.asm" -CeladonMart3Script: ; 48225 (12:4225) - jp EnableAutoTextBoxDrawing - -CeladonMart3TextPointers: ; 48228 (12:4228) - dw CeladonMart3Text1 - dw CeladonMart3Text2 - dw CeladonMart3Text3 - dw CeladonMart3Text4 - dw CeladonMart3Text5 - dw CeladonMart3Text6 - dw CeladonMart3Text7 - dw CeladonMart3Text8 - dw CeladonMart3Text9 - dw CeladonMart3Text10 - dw CeladonMart3Text11 - dw CeladonMart3Text12 - dw CeladonMart3Text13 - dw CeladonMart3Text14 - dw CeladonMart3Text15 - dw CeladonMart3Text16 - dw CeladonMart3Text17 - -CeladonMart3Text1: ; 4824a (12:424a) - db $08 ; asm - ld a, [$d778] - bit 7, a - jr nz, .asm_a5463 ; 0x48250 - ld hl, TM18PreReceiveText - call PrintText - ld bc, (TM_18 << 8) | 1 - call GiveItem - jr nc, .BagFull - ld hl, $d778 - set 7, [hl] - ld hl, ReceivedTM18Text - jr .asm_81359 ; 0x48268 -.BagFull - ld hl, TM18NoRoomText - jr .asm_81359 ; 0x4826d -.asm_a5463 ; 0x4826f - ld hl, TM18ExplanationText -.asm_81359 ; 0x48272 - call PrintText - jp TextScriptEnd - -TM18PreReceiveText: ; 48278 (12:4278) - TX_FAR _TM18PreReceiveText - db "@" - -ReceivedTM18Text: ; 4827d (12:427d) - TX_FAR _ReceivedTM18Text - db $0B, "@" - -TM18ExplanationText: ; 48283 (12:4283) - TX_FAR _TM18ExplanationText - db "@" - -TM18NoRoomText: ; 48288 (12:4288) - TX_FAR _TM18NoRoomText - db "@" - -CeladonMart3Text2: ; 4828d (12:428d) - TX_FAR _CeladonMart3Text2 - db "@" - -CeladonMart3Text3: ; 48292 (12:4292) - TX_FAR _CeladonMart3Text3 - db "@" - -CeladonMart3Text4: ; 48297 (12:4297) - TX_FAR _CeladonMart3Text4 - db "@" - -CeladonMart3Text5: ; 4829c (12:429c) - TX_FAR _CeladonMart3Text5 - db "@" - -CeladonMart3Text12 -CeladonMart3Text10: ; 482a1 (12:42a1) -CeladonMart3Text8: ; 482a1 (12:42a1) -CeladonMart3Text6: ; 482a1 (12:42a1) - TX_FAR _CeladonMart3Text6 - db "@" - -CeladonMart3Text7: ; 482a6 (12:42a6) - TX_FAR _CeladonMart3Text7 - db "@" - -CeladonMart3Text9: ; 482ab (12:42ab) - TX_FAR _CeladonMart3Text9 - db "@" - -CeladonMart3Text11: ; 482b0 (12:42b0) - TX_FAR _CeladonMart3Text11 - db "@" - -CeladonMart3Text13: ; 482b5 (12:42b5) - TX_FAR _CeladonMart3Text13 - db "@" - -CeladonMart3Text14: ; 482ba (12:42ba) - TX_FAR _CeladonMart3Text14 - db "@" - -CeladonMart3Text17: ; 482bf (12:42bf) -CeladonMart3Text16: ; 482bf (12:42bf) -CeladonMart3Text15: ; 482bf (12:42bf) - TX_FAR _CeladonMart3Text15 - db "@" +INCLUDE "scripts/celadonmart3.asm" INCLUDE "data/mapObjects/celadonmart3.asm" @@ -55406,26 +46437,7 @@ CeladonMart3Blocks: ; 48322 (12:4322) INCLUDE "data/mapHeaders/celadonmart4.asm" -CeladonMart4Script: ; 48356 (12:4356) - jp EnableAutoTextBoxDrawing - -CeladonMart4TextPointers: ; 48359 (12:4359) - dw CeladonMart4Text1 - dw CeladonMart4Text2 - dw CeladonMart4Text3 - dw CeladonMart4Text4 - -CeladonMart4Text2: ; 48361 (12:4361) - TX_FAR _CeladonMart4Text2 - db "@" - -CeladonMart4Text3: ; 48366 (12:4366) - TX_FAR _CeladonMart4Text3 - db "@" - -CeladonMart4Text4: ; 4836b (12:436b) - TX_FAR _CeladonMart4Text4 - db "@" +INCLUDE "scripts/celadonmart4.asm" INCLUDE "data/mapObjects/celadonmart4.asm" @@ -55434,269 +46446,7 @@ CeladonMart4Blocks: ; 483a1 (12:43a1) INCLUDE "data/mapHeaders/celadonmartroof.asm" -CeladonMartRoofScript: ; 483d5 (12:43d5) - jp EnableAutoTextBoxDrawing - -CeladonMartRoofScript_483d8: ; 483d8 (12:43d8) - xor a - ld [$cd37], a - ld de, $cc5b - ld hl, CeladonMartRoofDrinkList ; $4408 -.asm_483e2 - ld a, [hli] - and a - jr z, .asm_48404 - push hl - push de - ld [$d11e], a - ld b, a - ld a, $1c - call Predef ; indirect jump to Func_f8a5 (f8a5 (3:78a5)) - pop de - pop hl - ld a, b - and a - jr z, .asm_483e2 - ld a, [$d11e] - ld [de], a - inc de - push hl - ld hl, $cd37 - inc [hl] - pop hl - jr .asm_483e2 -.asm_48404 - ld a, $ff - ld [de], a - ret - -CeladonMartRoofDrinkList: ; 48408 (12:4408) - db FRESH_WATER - db SODA_POP - db LEMONADE - db $00 - -CeladonMartRoofScript_4840c: ; 4840c (12:440c) - ld hl, $d730 - set 6, [hl] - ld hl, UnnamedText_484ee ; $44ee - call PrintText - xor a - ld [wCurrentMenuItem], a ; $cc26 - ld a, $3 - ld [wMenuWatchedKeys], a ; $cc29 - ld a, [$cd37] - dec a - ld [wMaxMenuItem], a ; $cc28 - ld a, $2 - ld [wTopMenuItemY], a ; $cc24 - ld a, $1 - ld [wTopMenuItemX], a ; $cc25 - ld a, [$cd37] - dec a - ld bc, $2 - ld hl, $3 - call AddNTimes - dec l - ld b, l - ld c, $c - ld hl, wTileMap - call TextBoxBorder - call UpdateSprites - call CeladonMartRoofScript_48532 - ld hl, $d730 - res 6, [hl] - call HandleMenuInput - bit 1, a - ret nz - ld hl, $cc5b - ld a, [wCurrentMenuItem] ; $cc26 - ld d, $0 - ld e, a - add hl, de - ld a, [hl] - ld [$ffdb], a - cp FRESH_WATER - jr z, .asm_484b6 - cp SODA_POP - jr z, .asm_48492 - ld a, [$d778] - bit 6, a - jr nz, .asm_484e0 - ld hl, UnnamedText_48515 ; $4515 - call PrintText - call RemoveItemByIDBank12 - ld bc, (TM_49 << 8) | 1 - call GiveItem - jr nc, .BagFull - ld hl, ReceivedTM49Text - call PrintText - ld hl, $d778 - set 6, [hl] - ret -.asm_48492 - ld a, [$d778] - bit 5, a - jr nz, .asm_484e0 - ld hl, UnnamedText_48504 ; $4504 - call PrintText - call RemoveItemByIDBank12 - ld bc, (TM_48 << 8) | 1 - call GiveItem - jr nc, .BagFull - ld hl, UnnamedText_4850a ; $450a - call PrintText - ld hl, $d778 - set 5, [hl] - ret -.asm_484b6 - ld a, [$d778] - bit 4, a - jr nz, .asm_484e0 - ld hl, UnnamedText_484f3 ; $44f3 - call PrintText - call RemoveItemByIDBank12 - ld bc, (TM_13 << 8) | 1 - call GiveItem - jr nc, .BagFull - ld hl, UnnamedText_484f9 ; $44f9 - call PrintText - ld hl, $d778 - set 4, [hl] - ret -.BagFull - ld hl, UnnamedText_48526 ; $4526 - jp PrintText -.asm_484e0 - ld hl, UnnamedText_4852c ; $452c - jp PrintText - -RemoveItemByIDBank12: ; 484e6 (12:44e6) - ld b, BANK(RemoveItemByID) - ld hl, RemoveItemByID - jp Bankswitch - -UnnamedText_484ee: ; 484ee (12:44ee) - TX_FAR _UnnamedText_484ee - db "@" - -UnnamedText_484f3: ; 484f3 (12:44f3) - TX_FAR _UnnamedText_484f3 - db $0d - db "@" - -UnnamedText_484f9: ; 484f9 (12:44f9) - TX_FAR _UnnamedText_484f9 - db $0b - TX_FAR _UnnamedText_484fe - db $0d - db "@" - -UnnamedText_48504: ; 48504 (12:4504) - TX_FAR _UnnamedText_48504 - db $0d - db "@" - -UnnamedText_4850a: ; 4850a (12:450a) - TX_FAR _UnnamedText_4850a - db $0b - TX_FAR _UnnamedText_4850f - db $0d - db "@" - -UnnamedText_48515: ; 48515 (12:4515) - TX_FAR _UnnamedText_48515 - db $0d - db "@" - -ReceivedTM49Text: ; 4851b (12:451b) - TX_FAR _ReceivedTM49Text - db $0b - TX_FAR _UnnamedText_48520 - db $0d - db "@" - -UnnamedText_48526: ; 48526 (12:4526) - TX_FAR _UnnamedText_48526 - db $0d - db "@" - -UnnamedText_4852c: ; 4852c (12:452c) - TX_FAR _UnnamedText_4852c - db $0d - db "@" - -CeladonMartRoofScript_48532: ; 48532 (12:4532) - ld hl, $cc5b - xor a - ld [$ffdb], a -.asm_48538 - ld a, [hli] - cp $ff - ret z - push hl - ld [$d11e], a - call GetItemName - FuncCoord 2, 2 ; $c3ca - ld hl, Coord - ld a, [$ffdb] - ld bc, $28 - call AddNTimes - ld de, $cd6d - call PlaceString - ld hl, $ffdb - inc [hl] - pop hl - jr .asm_48538 - -CeladonMartRoofTextPointers: ; 4855b (12:455b) - dw CeladonMartRoofText1 - dw CeladonMartRoofText2 - dw CeladonMartRoofText5 - dw CeladonMartRoofText5 - dw CeladonMartRoofText5 - dw CeladonMartRoofText6 - -CeladonMartRoofText1: ; 48567 (12:4567) - TX_FAR _CeladonMartRoofText1 - db "@" - -CeladonMartRoofText2: ; 4856c (12:456c) - db $08 ; asm - call CeladonMartRoofScript_483d8 - ld a, [$cd37] - and a - jr z, .asm_914b9 ; 0x48574 - ld a, $1 - ld [$cc3c], a - ld hl, CeladonMartRoofText4 - call PrintText - call YesNoChoice - ld a, [$cc26] - and a - jr nz, .asm_05aa4 ; 0x48588 - call CeladonMartRoofScript_4840c - jr .asm_05aa4 ; 0x4858d -.asm_914b9 ; 0x4858f - ld hl, CeladonMartRoofText3 - call PrintText -.asm_05aa4 ; 0x48595 - jp TextScriptEnd - -CeladonMartRoofText3: ; 48598 (12:4598) - TX_FAR _UnnamedText_48598 - db "@" - -CeladonMartRoofText4: ; 4859d (12:459d) - TX_FAR _CeladonMartRoofText4 - db "@" - -CeladonMartRoofText5: ; 485a2 (12:45a2) - db $f5 - -CeladonMartRoofText6: ; 485a3 (12:45a3) - TX_FAR _CeladonMartRoofText6 - db "@" +INCLUDE "scripts/celadonmartroof.asm" INCLUDE "data/mapObjects/celadonmartroof.asm" @@ -55705,77 +46455,7 @@ CeladonMartRoofBlocks: ; 485cc (12:45cc) INCLUDE "data/mapHeaders/celadonmartelevator.asm" -CeladonMartElevatorScript: ; 48600 (12:4600) - ld hl, $d126 - bit 5, [hl] - res 5, [hl] - push hl - call nz, CeladonMartElevatorScript_4861c - pop hl - bit 7, [hl] - res 7, [hl] - call nz, Func_48654 - xor a - ld [$cf0c], a - inc a - ld [$cc3c], a - ret - -CeladonMartElevatorScript_4861c: ; 4861c (12:461c) - ld hl, $d3af - ld a, [$d73b] - ld b, a - ld a, [$d73c] - ld c, a - call CeladonMartElevatorScript_4862a - -CeladonMartElevatorScript_4862a: ; 4862a (12:462a) - inc hl - inc hl - ld a, b - ld [hli], a - ld a, c - ld [hli], a - ret - -CeladonMartElevatorScript_48631: ; 48631 (12:4631) - ld hl, CeladonMartElavatorFloors ; $4643 - call LoadItemList - ld hl, CeldaonMartElevatorWarpMaps ; $464a - ld de, $cc5b - ld bc, $000a - jp CopyData - -CeladonMartElavatorFloors: ; 48643 (12:4643) - db $05 ; num elements in list - db $56, $57, $58, $59, $5A ; "1F", "2F", "3F", "4F, "5F" - db $FF ; terminator - -CeldaonMartElevatorWarpMaps: ; 4864a (12:464a) -; first byte is warp number -; second byte is map number -; These specify where the player goes after getting out of the elevator. - db $05, CELADON_MART_1 - db $02, CELADON_MART_2 - db $02, CELADON_MART_3 - db $02, CELADON_MART_4 - db $02, CELADON_MART_5 - -Func_48654: ; 48654 (12:4654) - ld b, BANK(Func_7bf15) - ld hl, Func_7bf15 - jp Bankswitch - -CeladonMartElevatorTextPointers: ; 4865c (12:465c) - dw CeladonMartElevatorText1 - -CeladonMartElevatorText1: ; 4865e (12:465e) - db $08 ; asm - call CeladonMartElevatorScript_48631 - ld hl, CeldaonMartElevatorWarpMaps ; $464a - ld a, $61 - call Predef - jp TextScriptEnd +INCLUDE "scripts/celadonmartelevator.asm" INCLUDE "data/mapObjects/celadonmartelevator.asm" @@ -55784,45 +46464,7 @@ CeladonMartElevatorBlocks: ; 48684 (12:4684) INCLUDE "data/mapHeaders/celadonmansion1.asm" -CeladonMansion1Script: ; 48694 (12:4694) - jp EnableAutoTextBoxDrawing - -CeladonMansion1TextPointers: ; 48697 (12:4697) - dw CeladonMansion1Text1 - dw CeladonMansion1Text2 - dw CeladonMansion1Text3 - dw CeladonMansion1Text4 - dw CeladonMansion1Text5 - -Func_486a1: ; 486a1 (12:46a1) - call PlayCry - jp TextScriptEnd - -CeladonMansion1Text1: ; 486a7 (12:46a7) - TX_FAR _CeladonMansion1Text1 - db $08 ; asm - ld a, $4d - jp Func_486a1 - -CeladonMansion1Text2: ; 486b1 (12:46b1) - TX_FAR _CeladonMansion1Text2 - db "@" - -CeladonMansion1Text3: ; 486b6 (12:46b6) - TX_FAR _CeladonMansion1Text3 - db $8 - ld a, $4 - jp Func_486a1 - -CeladonMansion1Text4: ; 486c0 (12:46c0) - TX_FAR _CeladonMansion1Text4 - db $8 - ld a, $f - jp Func_486a1 - -CeladonMansion1Text5: ; 486ca (12:46ca) - TX_FAR _CeladonMansion1Text5 - db "@" +INCLUDE "scripts/celadonmansion1.asm" INCLUDE "data/mapObjects/celadonmansion1.asm" @@ -55831,16 +46473,7 @@ CeladonMansion1Blocks: ; 48716 (12:4716) INCLUDE "data/mapHeaders/celadonmansion2.asm" -CeladonMansion2Script: ; 4873a (12:473a) - call EnableAutoTextBoxDrawing - ret - -CeladonMansion2TextPointers: ; 4873e (12:473e) - dw CeladonMansion2Text1 - -CeladonMansion2Text1: ; 48740 (12:4740) - TX_FAR _CeladonMansion2Text1 - db "@" +INCLUDE "scripts/celadonmansion2.asm" INCLUDE "data/mapObjects/celadonmansion2.asm" @@ -55849,79 +46482,7 @@ CeladonMansion2Blocks: ; 4876c (12:476c) INCLUDE "data/mapHeaders/celadonmansion3.asm" -CeladonMansion3Script: ; 48790 (12:4790) - jp EnableAutoTextBoxDrawing - -CeladonMansion3TextPointers: ; 48793 (12:4793) - dw ProgrammerText - dw GraphicArtistText - dw WriterText - dw DirectorText - dw GameFreakPCText1 - dw GameFreakPCText2 - dw GameFreakPCText3 - dw GameFreakSignText - -ProgrammerText: ; 487a3 (12:47a3) - TX_FAR _ProgrammerText - db "@" - -GraphicArtistText: ; 487a8 (12:47a8) - TX_FAR _GraphicArtistText - db "@" - -WriterText: ; 487ad (12:47ad) - TX_FAR _WriterText - db "@" - -DirectorText: ; 487b2 (12:47b2) - db $08 ; asm - - ; check pokédex - ld hl, wPokedexOwned - ld b, wPokedexOwnedEnd - wPokedexOwned - call CountSetBits - ld a, [$d11e] - cp 150 - jr nc, .CompletedDex - ld hl, .GameDesigner - jr .done -.CompletedDex - ld hl, .CompletedDexText -.done - call PrintText - jp TextScriptEnd - -.GameDesigner ; 487d0 (12:47d0) - TX_FAR _GameDesignerText - db "@" - -.CompletedDexText - TX_FAR _CompletedDexText - db $6 - db $8 ; asm - ld hl, DisplayDiploma - ld b, BANK(DisplayDiploma) - call Bankswitch - ld a, $1 - ld [$cc3c], a - jp TextScriptEnd - -GameFreakPCText1: ; 487eb (12:47eb) - TX_FAR _CeladonMansion3Text5 - db "@" - -GameFreakPCText2: ; 487f0 (12:47f0) - TX_FAR _CeladonMansion3Text6 - db "@" - -GameFreakPCText3: ; 487f5 (12:47f5) - TX_FAR _CeladonMansion3Text7 - db "@" - -GameFreakSignText: ; 487fa (12:47fa) - TX_FAR _CeladonMansion3Text8 - db "@" +INCLUDE "scripts/celadonmansion3.asm" INCLUDE "data/mapObjects/celadonmansion3.asm" @@ -55930,15 +46491,7 @@ CeladonMansion3Blocks: ; 48847 (12:4847) INCLUDE "data/mapHeaders/celadonmansion4.asm" -CeladonMansion4Script: ; 4886b (12:486b) - jp EnableAutoTextBoxDrawing - -CeladonMansion4TextPointers: ; 4886e (12:486e) - dw CeladonMansion4Text1 - -CeladonMansion4Text1: ; 48870 (12:4870) - TX_FAR _CeladonMansion4Text1 - db "@" +INCLUDE "scripts/celadonmansion4.asm" INCLUDE "data/mapObjects/celadonmansion4.asm" @@ -55947,378 +46500,13 @@ CeladonMansion4Blocks: ; 48894 (12:4894) INCLUDE "data/mapHeaders/celadonpokecenter.asm" -CeladonPokecenterScript: ; 488b8 (12:48b8) - call Func_22fa - jp EnableAutoTextBoxDrawing - -CeladonPokecenterTextPointers: ; 488be (12:48be) - dw CeladonPokecenterText1 - dw CeladonPokecenterText2 - dw CeladonPokecenterText3 - dw CeladonPokecenterText4 - -CeladonPokecenterText4: ; 488c6 (12:48c6) - db $f6 - -CeladonPokecenterText1: ; 488c7 (12:48c7) - db $ff - -CeladonPokecenterText2: ; 488c8 (12:48c8) - TX_FAR _CeladonPokecenterText2 - db "@" - -CeladonPokecenterText3: ; 488cd (12:48cd) - TX_FAR _CeladonPokecenterText3 - db "@" +INCLUDE "scripts/celadonpokecenter.asm" INCLUDE "data/mapObjects/celadonpokecenter.asm" INCLUDE "data/mapHeaders/celadongym.asm" -CeladonGymScript: ; 4890a (12:490a) - ld hl, $d126 - bit 6, [hl] - res 6, [hl] - call nz, CeladonGymScript_48927 - call EnableAutoTextBoxDrawing - ld hl, CeladonGymTrainerHeaders - ld de, CeladonGymScriptPointers - ld a, [W_CELADONGYMCURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_CELADONGYMCURSCRIPT], a - ret - -CeladonGymScript_48927: ; 48927 (12:4927) - ld hl, Gym4CityName ; $4930 - ld de, Gym4LeaderName ; $493d - jp LoadGymLeaderAndCityName - -Gym4CityName: ; 48930 (12:4930) - db "CELADON CITY@" - -Gym4LeaderName: ; 4893d (12:493d) - db "ERIKA@" - -Func_48943: ; 48943 (12:4943) - xor a - ld [wJoypadForbiddenButtonsMask], a - ld [W_CELADONGYMCURSCRIPT], a - ld [W_CURMAPSCRIPT], a - ret - -CeladonGymScriptPointers: ; 4894e (12:494e) - dw CheckFightingMapTrainers - dw Func_324c - dw EndTrainerBattle - dw CeladonGymScript3 - -CeladonGymScript3: ; 48956 (12:4956) - ld a, [W_ISINBATTLE] ; $d057 - cp $ff - jp z, Func_48943 - ld a, $f0 - ld [wJoypadForbiddenButtonsMask], a - -Func_48963: ; 48963 (12:4963) - ld a, $9 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - call DisplayTextID - ld hl, $d77c - set 1, [hl] - ld bc, (TM_21 << 8) | 1 - call GiveItem - jr nc, .BagFull - ld a, $a - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - call DisplayTextID - ld hl, $d77c - set 0, [hl] - jr .asm_4898c -.BagFull - ld a, $b - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - call DisplayTextID -.asm_4898c - ld hl, W_OBTAINEDBADGES - set 3, [hl] - ld hl, $d72a - set 3, [hl] - - ; deactivate gym trainers - ld a, [$d77c] - or %11111100 - ld [$d77c], a - ld hl, $d77d - set 0, [hl] - - jp Func_48943 - -CeladonGymTextPointers: ; 489a6 (12:49a6) - dw CeladonGymText1 - dw CeladonGymText2 - dw CeladonGymText3 - dw CeladonGymText4 - dw CeladonGymText5 - dw CeladonGymText6 - dw CeladonGymText7 - dw CeladonGymText8 - dw CeladonGymText9 - dw TM21Text - dw TM21NoRoomText - -CeladonGymTrainerHeaders: ; 489bc (12:49bc) -CeladonGymTrainerHeader0: ; 489bc (12:49bc) - db $2 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d77c ; flag's byte - dw CeladonGymBattleText2 ; 0x4a8b TextBeforeBattle - dw CeladonGymAfterBattleText2 ; 0x4a95 TextAfterBattle - dw CeladonGymEndBattleText2 ; 0x4a90 TextEndBattle - dw CeladonGymEndBattleText2 ; 0x4a90 TextEndBattle - -CeladonGymTrainerHeader2: ; 489c8 (12:49c8) - db $3 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d77c ; flag's byte - dw CeladonGymBattleText3 ; 0x4aa4 TextBeforeBattle - dw CeladonGymAfterBattleText3 ; 0x4aae TextAfterBattle - dw CeladonGymEndBattleText3 ; 0x4aa9 TextEndBattle - dw CeladonGymEndBattleText3 ; 0x4aa9 TextEndBattle - -CeladonGymTrainerHeader3: ; 489d4 (12:49d4) - db $4 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d77c ; flag's byte - dw CeladonGymBattleText4 ; 0x4abd TextBeforeBattle - dw CeladonGymAfterBattleText4 ; 0x4ac7 TextAfterBattle - dw CeladonGymEndBattleText4 ; 0x4ac2 TextEndBattle - dw CeladonGymEndBattleText4 ; 0x4ac2 TextEndBattle - -CeladonGymTrainerHeader4: ; 489e0 (12:49e0) - db $5 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d77c ; flag's byte - dw CeladonGymBattleText5 ; 0x4ad6 TextBeforeBattle - dw CeladonGymAfterBattleText5 ; 0x4ae0 TextAfterBattle - dw CeladonGymEndBattleText5 ; 0x4adb TextEndBattle - dw CeladonGymEndBattleText5 ; 0x4adb TextEndBattle - -CeladonGymTrainerHeader5: ; 489ec (12:49ec) - db $6 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d77c ; flag's byte - dw CeladonGymBattleText6 ; 0x4aef TextBeforeBattle - dw CeladonGymAfterBattleText6 ; 0x4af9 TextAfterBattle - dw CeladonGymEndBattleText6 ; 0x4af4 TextEndBattle - dw CeladonGymEndBattleText6 ; 0x4af4 TextEndBattle - -CeladonGymTrainerHeader6: ; 489f8 (12:49f8) - db $7 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d77c ; flag's byte - dw CeladonGymBattleText7 ; 0x4b08 TextBeforeBattle - dw CeladonGymAfterBattleText7 ; 0x4b12 TextAfterBattle - dw CeladonGymEndBattleText7 ; 0x4b0d TextEndBattle - dw CeladonGymEndBattleText7 ; 0x4b0d TextEndBattle - -CeladonGymTrainerHeader7: ; 48a04 (12:4a04) - db $8 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d77c ; flag's byte - dw CeladonGymBattleText8 ; 0x4b21 TextBeforeBattle - dw CeladonGymAfterBattleText8 ; 0x4b2b TextAfterBattle - dw CeladonGymEndBattleText8 ; 0x4b26 TextEndBattle - dw CeladonGymEndBattleText8 ; 0x4b26 TextEndBattle - - db $ff - -CeladonGymText1: ; 48a11 (12:4a11) - db $08 ; asm - ld a, [$d77c] - bit 1, a - jr z, .asm_16064 ; 0x48a17 - bit 0, a - jr nz, .asm_3b22c ; 0x48a1b - call z, Func_48963 - call DisableWaitingAfterTextDisplay - jr .asm_96252 ; 0x48a23 -.asm_3b22c ; 0x48a25 - ld hl, UnnamedText_48a68 - call PrintText - jr .asm_96252 ; 0x48a2b -.asm_16064 ; 0x48a2d - ld hl, UnnamedText_48a5e - call PrintText - ld hl, $d72d - set 6, [hl] - set 7, [hl] - ld hl, UnnamedText_48a63 - ld de, UnnamedText_48a63 - call PreBattleSaveRegisters - ldh a, [$8c] - ld [$cf13], a - call EngageMapTrainer - call InitBattleEnemyParameters - ld a, $4 - ld [$d05c], a - ld a, $3 - ld [W_CELADONGYMCURSCRIPT], a - ld [W_CURMAPSCRIPT], a -.asm_96252 ; 0x48a5b - jp TextScriptEnd - -UnnamedText_48a5e: ; 48a5e (12:4a5e) - TX_FAR _UnnamedText_48a5e - db "@" - -UnnamedText_48a63: ; 48a63 (12:4a63) - TX_FAR _UnnamedText_48a63 - db "@" - -UnnamedText_48a68: ; 48a68 (12:4a68) - TX_FAR _UnnamedText_48a68 - db "@" - -CeladonGymText9: ; 48a6d (12:4a6d) -UnnamedText_48a6d: ; 48a6d (12:4a6d) - TX_FAR _UnnamedText_48a6d - db "@" - -TM21Text: ; 48a72 (12:4a72) - TX_FAR _ReceivedTM21Text - db $0B - TX_FAR _TM21ExplanationText - db "@" - -TM21NoRoomText: ; 48a7c (12:4a7c) - TX_FAR _TM21NoRoomText - db "@" - -CeladonGymText2: ; 48a81 (12:4a81) - db $08 ; asm - ld hl, CeladonGymTrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -CeladonGymBattleText2: ; 48a8b (12:4a8b) - TX_FAR _CeladonGymBattleText2 - db "@" - -CeladonGymEndBattleText2: ; 48a90 (12:4a90) - TX_FAR _CeladonGymEndBattleText2 - db "@" - -CeladonGymAfterBattleText2: ; 48a95 (12:4a95) - TX_FAR _CeladonGymAfterBattleText2 - db "@" - -CeladonGymText3: ; 48a9a (12:4a9a) - db $08 ; asm - ld hl, CeladonGymTrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -CeladonGymBattleText3: ; 48aa4 (12:4aa4) - TX_FAR _CeladonGymBattleText3 - db "@" - -CeladonGymEndBattleText3: ; 48aa9 (12:4aa9) - TX_FAR _CeladonGymEndBattleText3 - db "@" - -CeladonGymAfterBattleText3: ; 48aae (12:4aae) - TX_FAR _CeladonGymAfterBattleText3 - db "@" - -CeladonGymText4: ; 48ab3 (12:4ab3) - db $08 ; asm - ld hl, CeladonGymTrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -CeladonGymBattleText4: ; 48abd (12:4abd) - TX_FAR _CeladonGymBattleText4 - db "@" - -CeladonGymEndBattleText4: ; 48ac2 (12:4ac2) - TX_FAR _CeladonGymEndBattleText4 - db "@" - -CeladonGymAfterBattleText4: ; 48ac7 (12:4ac7) - TX_FAR _CeladonGymAfterBattleText4 - db "@" - -CeladonGymText5: ; 48acc (12:4acc) - db $08 ; asm - ld hl, CeladonGymTrainerHeader4 - call TalkToTrainer - jp TextScriptEnd - -CeladonGymBattleText5: ; 48ad6 (12:4ad6) - TX_FAR _CeladonGymBattleText5 - db "@" - -CeladonGymEndBattleText5: ; 48adb (12:4adb) - TX_FAR _CeladonGymEndBattleText5 - db "@" - -CeladonGymAfterBattleText5: ; 48ae0 (12:4ae0) - TX_FAR _CeladonGymAfterBattleText5 - db "@" - -CeladonGymText6: ; 48ae5 (12:4ae5) - db $08 ; asm - ld hl, CeladonGymTrainerHeader5 - call TalkToTrainer - jp TextScriptEnd - -CeladonGymBattleText6: ; 48aef (12:4aef) - TX_FAR _CeladonGymBattleText6 - db "@" - -CeladonGymEndBattleText6: ; 48af4 (12:4af4) - TX_FAR _CeladonGymEndBattleText6 - db "@" - -CeladonGymAfterBattleText6: ; 48af9 (12:4af9) - TX_FAR _CeladonGymAfterBattleText6 - db "@" - -CeladonGymText7: ; 48afe (12:4afe) - db $08 ; asm - ld hl, CeladonGymTrainerHeader6 - call TalkToTrainer - jp TextScriptEnd - -CeladonGymBattleText7: ; 48b08 (12:4b08) - TX_FAR _CeladonGymBattleText7 - db "@" - -CeladonGymEndBattleText7: ; 48b0d (12:4b0d) - TX_FAR _CeladonGymEndBattleText7 - db "@" - -CeladonGymAfterBattleText7: ; 48b12 (12:4b12) - TX_FAR _CeladonGymAfterBattleText7 - db "@" - -CeladonGymText8: ; 48b17 (12:4b17) - db $08 ; asm - ld hl, CeladonGymTrainerHeader7 - call TalkToTrainer - jp TextScriptEnd - -CeladonGymBattleText8: ; 48b21 (12:4b21) - TX_FAR _CeladonGymBattleText8 - db "@" - -CeladonGymEndBattleText8: ; 48b26 (12:4b26) - TX_FAR _CeladonGymEndBattleText8 - db "@" - -CeladonGymAfterBattleText8: ; 48b2b (12:4b2b) - TX_FAR _CeladonGymAfterBattleText8 - db "@" +INCLUDE "scripts/celadongym.asm" INCLUDE "data/mapObjects/celadongym.asm" @@ -56327,542 +46515,7 @@ CeladonGymBlocks: ; 48b84 (12:4b84) INCLUDE "data/mapHeaders/celadongamecorner.asm" -CeladonGameCornerScript: ; 48bbd (12:4bbd) - call CeladonGameCornerScript_48bcf - call Func_48bec - call EnableAutoTextBoxDrawing - ld hl, CeladonGameCornerScriptPointers - ld a, [W_CELADONGAMECORNERCURSCRIPT] - jp CallFunctionInTable - -CeladonGameCornerScript_48bcf: ; 48bcf (12:4bcf) - ld hl, $d126 - bit 6, [hl] - res 6, [hl] - ret z - call GenRandom - ld a, [$ffd3] - cp $7 - jr nc, .asm_48be2 - ld a, $8 -.asm_48be2 - srl a - srl a - srl a - ld [$cd05], a - ret - -Func_48bec: ; 48bec (12:4bec) - ld hl, $d126 - bit 5, [hl] - res 5, [hl] - ret z - ld a, [$d77e] - bit 1, a - ret nz - ld a, $2a - ld [$d09f], a - ld bc, $0208 - ld a, $17 - jp Predef - -CeladonGameCornerScript_48c07: ; 48c07 (12:4c07) - xor a - ld [wJoypadForbiddenButtonsMask], a - ld [W_CELADONGAMECORNERCURSCRIPT], a - ld [W_CURMAPSCRIPT], a - ret - -CeladonGameCornerScriptPointers: ; 48c12 (12:4c12) - dw CeladonGameCornerScript0 - dw CeladonGameCornerScript1 - dw CeladonGameCornerScript2 - -CeladonGameCornerScript0: ; 48c18 (12:4c18) - ret - -CeladonGameCornerScript1: ; 48c19 (12:4c19) - ld a, [W_ISINBATTLE] - cp $ff - jp z, CeladonGameCornerScript_48c07 - ld a, $f0 - ld [wJoypadForbiddenButtonsMask], a - ld a, $d - ld [H_SPRITEHEIGHT], a - call DisplayTextID - ld a, $b - ld [H_SPRITEHEIGHT], a - call SetSpriteMovementBytesToFF - ld de, MovementData_48c5a - ld a, [W_YCOORD] - cp $6 - jr nz, .asm_48c43 - ld de, MovementData_48c63 - jr .asm_48c4d -.asm_48c43 - ld a, [W_XCOORD] - cp $8 - jr nz, .asm_48c4d - ld de, MovementData_48c63 -.asm_48c4d - ld a, $b - ld [H_DOWNARROWBLINKCNT2], a - call MoveSprite - ld a, $2 - ld [W_CELADONGAMECORNERCURSCRIPT], a - ret - -MovementData_48c5a: ; 48c5a (12:4c5a) - db $00,$C0,$C0,$40,$C0,$C0,$C0,$C0,$FF - -MovementData_48c63: ; 48c63 (12:4c63) - db $C0,$C0,$C0,$C0,$C0,$FF - -CeladonGameCornerScript2: ; 48c69 (12:4c69) - ld a, [$d730] - bit 0, a - ret nz - xor a - ld [wJoypadForbiddenButtonsMask], a - ld a, $46 - ld [$cc4d], a - ld a, $11 - call Predef - ld hl, $d126 - set 5, [hl] - set 6, [hl] - ld a, $0 - ld [W_CELADONGAMECORNERCURSCRIPT], a - ret - -CeladonGameCornerTextPointers: ; 48c8a (12:4c8a) - dw CeladonGameCornerText1 - dw CeladonGameCornerText2 - dw CeladonGameCornerText3 - dw CeladonGameCornerText4 - dw CeladonGameCornerText5 - dw CeladonGameCornerText6 - dw CeladonGameCornerText7 - dw CeladonGameCornerText8 - dw CeladonGameCornerText9 - dw CeladonGameCornerText10 - dw CeladonGameCornerText11 - dw CeladonGameCornerText12 - dw CeladonGameCornerText13 - -CeladonGameCornerText1: ; 48ca4 (12:4ca4) - TX_FAR _CeladonGameCornerText1 - db "@" - -CeladonGameCornerText2: ; 48ca9 (12:4ca9) - db $08 ; asm - call Func_48f1e - ld hl, UnnamedText_48d22 - call PrintText - call YesNoChoice - ld a, [$cc26] - and a - jr nz, .asm_c650b ; 0x48cba - ld b,COIN_CASE - call IsItemInBag - jr z, .asm_ed086 ; 0x48cc1 - call Has9990Coins - jr nc, .asm_31338 ; 0x48cc6 - xor a - ldh [$9f], a - ldh [$a1], a - ld a, $10 - ldh [$a0], a - call HasEnoughMoney - jr nc, .asm_b6ef0 ; 0x48cd4 - ld hl, UnnamedText_48d31 ; $4d31 - jr .asm_e2afd ; 0x48cd9 -.asm_b6ef0 ; 0x48cdb - xor a - ldh [$9f], a - ldh [$a1], a - ld a, $10 - ldh [$a0], a - ld hl, $ffa1 - ld de, $d349 - ld c, $3 - ld a, $c - call Predef - xor a - ldh [$9f], a - ldh [$a0], a - ld a, $50 - ldh [$a1], a - ld de, $d5a5 - ld hl, $ffa1 - ld c, $2 - ld a, $b - call Predef - call Func_48f1e - ld hl, UnnamedText_48d27 - jr .asm_e2afd ; 0x48d0d -.asm_c650b ; 0x48d0f - ld hl, UnnamedText_48d2c - jr .asm_e2afd ; 0x48d12 -.asm_31338 ; 0x48d14 - ld hl, UnnamedText_48d36 - jr .asm_e2afd ; 0x48d17 -.asm_ed086 ; 0x48d19 - ld hl, UnnamedText_48d3b -.asm_e2afd ; 0x48d1c - call PrintText - jp TextScriptEnd - -UnnamedText_48d22: ; 48d22 (12:4d22) - TX_FAR _UnnamedText_48d22 - db "@" - -UnnamedText_48d27: ; 48d27 (12:4d27) - TX_FAR _UnnamedText_48d27 - db "@" - -UnnamedText_48d2c: ; 48d2c (12:4d2c) - TX_FAR _UnnamedText_48d2c - db "@" - -UnnamedText_48d31: ; 48d31 (12:4d31) - TX_FAR _UnnamedText_48d31 - db "@" - -UnnamedText_48d36: ; 48d36 (12:4d36) - TX_FAR _UnnamedText_48d36 - db "@" - -UnnamedText_48d3b: ; 48d3b (12:4d3b) - TX_FAR _UnnamedText_48d3b - db "@" - -CeladonGameCornerText3: ; 48d40 (12:4d40) - TX_FAR _CeladonGameCornerText3 - db "@" - -CeladonGameCornerText4: ; 48d45 (12:4d45) - TX_FAR _CeladonGameCornerText4 - db "@" - -CeladonGameCornerText5: ; 48d4a (12:4d4a) - db $08 ; asm - ld a, [$d77e] - bit 2, a - jr nz, .asm_d0957 ; 0x48d50 - ld hl, UnnamedText_48d9c - call PrintText - ld b, COIN_CASE - call IsItemInBag - jr z, .asm_5aef9 ; 0x48d5d - call Has9990Coins - jr nc, .asm_98546 ; 0x48d62 - xor a - ldh [$9f], a - ldh [$a0], a - ld a, $10 - ldh [$a1], a - ld de, $d5a5 - ld hl, $ffa1 - ld c, $2 - ld a, $b - call Predef - ld hl, $d77e - set 2, [hl] - ld a, $1 - ld [$cc3c], a - ld hl, Received10CoinsText - jr .asm_c7d1a ; 0x48d87 -.asm_d0957 ; 0x48d89 - ld hl, UnnamedText_48dac - jr .asm_c7d1a ; 0x48d8c -.asm_98546 ; 0x48d8e - ld hl, UnnamedText_48da7 - jr .asm_c7d1a ; 0x48d91 -.asm_5aef9 ; 0x48d93 - ld hl, UnnamedText_48f19 -.asm_c7d1a ; 0x48d96 - call PrintText - jp TextScriptEnd - -UnnamedText_48d9c: ; 48d9c (12:4d9c) - TX_FAR _UnnamedText_48d9c - db "@" - -Received10CoinsText: ; 48da1 (12:4da1) - TX_FAR _Received10CoinsText - db $0B, "@" - -UnnamedText_48da7: ; 48da7 (12:4da7) - TX_FAR _UnnamedText_48da7 - db "@" - -UnnamedText_48dac: ; 48dac (12:4dac) - TX_FAR _UnnamedText_48dac - db "@" - -CeladonGameCornerText6: ; 48db1 (12:4db1) - TX_FAR _CeladonGameCornerText6 - db "@" - -CeladonGameCornerText7: ; 48db6 (12:4db6) - db $08 ; asm - ld a, [$d77c] - bit 1, a - ld hl, UnnamedText_48dca ; $4dca - jr z, .asm_be3fd ; 0x48dbf - ld hl, UnnamedText_48dcf ; $4dcf -.asm_be3fd ; 0x48dc4 - call PrintText - jp TextScriptEnd - -UnnamedText_48dca: ; 48dca (12:4dca) - TX_FAR _UnnamedText_48dca - db "@" - -UnnamedText_48dcf: ; 48dcf (12:4dcf) - TX_FAR _UnnamedText_48dcf - db "@" - -CeladonGameCornerText8: ; 48dd4 (12:4dd4) - TX_FAR _CeladonGameCornerText8 - db "@" - -CeladonGameCornerText9: ; 48dd9 (12:4dd9) - db $08 ; asm - ld a, [$d77e] - bit 4, a - jr nz, .asm_ed8bc ; 0x48ddf - ld hl, UnnamedText_48e26 - call PrintText - ld b, COIN_CASE - call IsItemInBag - jr z, .asm_df794 ; 0x48dec - call Has9990Coins - jr nc, .asm_f17c3 ; 0x48df1 - xor a - ldh [$9f], a - ldh [$a0], a - ld a, $20 - ldh [$a1], a - ld de, $d5a5 - ld hl, $ffa1 - ld c, $2 - ld a, $b - call Predef - ld hl, $d77e - set 4, [hl] - ld hl, Received20CoinsText - jr .asm_0ddc2 ; 0x48e11 -.asm_ed8bc ; 0x48e13 - ld hl, UnnamedText_48e36 - jr .asm_0ddc2 ; 0x48e16 -.asm_f17c3 ; 0x48e18 - ld hl, UnnamedText_48e31 - jr .asm_0ddc2 ; 0x48e1b -.asm_df794 ; 0x48e1d - ld hl, UnnamedText_48f19 -.asm_0ddc2 ; 0x48e20 - call PrintText - jp TextScriptEnd - -UnnamedText_48e26: ; 48e26 (12:4e26) - TX_FAR _UnnamedText_48e26 - db "@" - -Received20CoinsText: ; 48e2b (12:4e2b) - TX_FAR _Received20CoinsText - db $0B, "@" - -UnnamedText_48e31: ; 48e31 (12:4e31) - TX_FAR _UnnamedText_48e31 - db "@" - -UnnamedText_48e36: ; 48e36 (12:4e36) - TX_FAR _UnnamedText_48e36 - db "@" - -CeladonGameCornerText10: ; 48e3b (12:4e3b) - db $08 ; asm - ld a, [$d77e] - bit 3, a - jr nz, .asm_ff080 ; 0x48e41 - ld hl, UnnamedText_48e88 ; $4e88 - call PrintText - ld b,COIN_CASE - call IsItemInBag - jr z, .asm_4fb0c ; 0x48e4e - call Has9990Coins - jr z, .asm_9505a ; 0x48e53 - xor a - ldh [$9f], a - ldh [$a0], a - ld a, $20 - ldh [$a1], a - ld de, $d5a5 - ld hl, $ffa1 - ld c, $2 - ld a, $b - call Predef - ld hl, $d77e - set 3, [hl] - ld hl, UnnamedText_48e8d - jr .asm_78d65 ; 0x48e73 -.asm_ff080 ; 0x48e75 - ld hl, UnnamedText_48e98 - jr .asm_78d65 ; 0x48e78 -.asm_9505a ; 0x48e7a - ld hl, UnnamedText_48e93 - jr .asm_78d65 ; 0x48e7d -.asm_4fb0c ; 0x48e7f - ld hl, UnnamedText_48f19 -.asm_78d65 ; 0x48e82 - call PrintText - jp TextScriptEnd - -UnnamedText_48e88: ; 48e88 (12:4e88) - TX_FAR _UnnamedText_48e88 - db "@" - -UnnamedText_48e8d: ; 48e8d (12:4e8d) - TX_FAR _UnnamedText_48e8d ; 0x9dceb - db $0B, "@" - -UnnamedText_48e93: ; 48e93 (12:4e93) - TX_FAR _UnnamedText_48e93 - db "@" - -UnnamedText_48e98: ; 48e98 (12:4e98) - TX_FAR _UnnamedText_48e98 - db "@" - -CeladonGameCornerText11: ; 48e9d (12:4e9d) - db $08 ; asm - ld hl, UnnamedText_48ece - call PrintText - ld hl, $d72d - set 6, [hl] - set 7, [hl] - ld hl, UnnamedText_48ed3 - ld de, UnnamedText_48ed3 - call PreBattleSaveRegisters - ldh a, [$8c] - ld [$cf13], a - call EngageMapTrainer - call InitBattleEnemyParameters - xor a - ldh [$b4], a - ldh [$b3], a - ldh [$b2], a - ld a, $1 - ld [W_CELADONGAMECORNERCURSCRIPT], a - jp TextScriptEnd - -UnnamedText_48ece: ; 48ece (12:4ece) - TX_FAR _UnnamedText_48ece - db "@" - -UnnamedText_48ed3: ; 48ed3 (12:4ed3) - TX_FAR _UnnamedText_48ed3 - db "@" - -CeladonGameCornerText13: ; 48ed8 (12:4ed8) - TX_FAR _UnnamedText_48ed8 - db "@" - -CeladonGameCornerText12: ; 48edd (12:4edd) - db $08 ; asm - ld a, $1 - ld [$cc3c], a - ld hl, UnnamedText_48f09 - call PrintText - call WaitForSoundToFinish - ld a, (SFX_02_57 - SFX_Headers_02) / 3 - call PlaySound - call WaitForSoundToFinish - ld hl, $d77e - set 1, [hl] - ld a, $43 - ld [$d09f], a - ld bc, $0208 - ld a, $17 - call Predef - jp TextScriptEnd - -UnnamedText_48f09: ; 48f09 (12:4f09) - TX_FAR _UnnamedText_48f09 ; 0x9ddb0 - db $8 - ld a, (SFX_02_49 - SFX_Headers_02) / 3 - call PlaySound - call WaitForSoundToFinish - jp TextScriptEnd - -UnnamedText_48f19: ; 48f19 (12:4f19) - TX_FAR _UnnamedText_48f19 - db "@" - -Func_48f1e: ; 48f1e (12:4f1e) - ld hl, $d730 - set 6, [hl] - FuncCoord 11, 0 ; $c3ab - ld hl, Coord - ld b, $5 - ld c, $7 - call TextBoxBorder - call UpdateSprites - FuncCoord 12, 1 ; $c3c0 - ld hl, Coord - ld b, $4 - ld c, $7 - call ClearScreenArea - FuncCoord 12, 2 ; $c3d4 - ld hl, Coord - ld de, GameCornerMoneyText - call PlaceString - FuncCoord 12, 3 ; $c3e8 - ld hl, Coord - ld de, GameCornerBlankText1 - call PlaceString - FuncCoord 12, 3 ; $c3e8 - ld hl, Coord - ld de, $d347 - ld c, $a3 - call PrintBCDNumber - FuncCoord 12, 4 ; $c3fc - ld hl, Coord - ld de, GameCornerCoinText - call PlaceString - FuncCoord 12, 5 ; $c410 - ld hl, Coord - ld de, GameCornerBlankText2 - call PlaceString - FuncCoord 15, 5 ; $c413 - ld hl, Coord - ld de, $d5a4 - ld c, $82 - call PrintBCDNumber - ld hl, $d730 - res 6, [hl] - ret - -GameCornerMoneyText: ; 48f7a (12:4f7a) - db "MONEY@" - -GameCornerCoinText: ; 48f80 (12:4f80) - db "COIN@" - -GameCornerBlankText1: ; 48f85 (12:4f85) - db " @" - -GameCornerBlankText2: ; 48f8d (12:4f8d) - db " @" - -Has9990Coins: ; 48f95 (12:4f95) - ld a, $99 - ld [$ffa0], a - ld a, $90 - ld [$ffa1], a - jp HasEnoughCoins +INCLUDE "scripts/celadongamecorner.asm" INCLUDE "data/mapObjects/celadongamecorner.asm" @@ -56871,27 +46524,7 @@ CeladonGameCornerBlocks: ; 49003 (12:5003) INCLUDE "data/mapHeaders/celadonmart5.asm" -CeladonMart5Script: ; 49069 (12:5069) - jp EnableAutoTextBoxDrawing - -CeladonMart5TextPointers: ; 4906c (12:506c) - dw CeladonMart5Text1 - dw CeladonMart5Text2 - dw CeladonMart5Text3 - dw CeladonMart5Text4 - dw CeladonMart5Text5 - -CeladonMart5Text1: ; 49076 (12:5076) - TX_FAR _CeladonMart5Text1 - db "@" - -CeladonMart5Text2: ; 4907b (12:507b) - TX_FAR _CeladonMart5Text2 - db "@" - -CeladonMart5Text5: ; 49080 (12:5080) - TX_FAR _CeladonMart5Text5 - db "@" +INCLUDE "scripts/celadonmart5.asm" INCLUDE "data/mapObjects/celadonmart5.asm" @@ -56900,26 +46533,7 @@ CeladonMart5Blocks: ; 490bc (12:50bc) INCLUDE "data/mapHeaders/celadonprizeroom.asm" -CeladonPrizeRoomScript: ; 490f0 (12:50f0) - jp EnableAutoTextBoxDrawing - -CeladonPrizeRoomTextPointers: ; 490f3 (12:50f3) - dw CeladonPrizeRoomText1 - dw CeladonPrizeRoomText2 - dw CeladonPrizeRoomText3 - dw CeladonPrizeRoomText3 - dw CeladonPrizeRoomText3 - -CeladonPrizeRoomText1: ; 490fd (12:50fd) - TX_FAR _CeladonPrizeRoomText1 - db "@" - -CeladonPrizeRoomText2: ; 49102 (12:5102) - TX_FAR _CeladonPrizeRoomText2 - db "@" - -CeladonPrizeRoomText3: ; 49107 (12:5107) - db $f7 +INCLUDE "scripts/celadonprizeroom.asm" INCLUDE "data/mapObjects/celadonprizeroom.asm" @@ -56928,73 +46542,7 @@ CeladonPrizeRoomBlocks: ; 49131 (12:5131) INCLUDE "data/mapHeaders/celadondiner.asm" -CeladonDinerScript: ; 49151 (12:5151) - call EnableAutoTextBoxDrawing - ret - -CeladonDinerTextPointers: ; 49155 (12:5155) - dw CeladonDinerText1 - dw CeladonDinerText2 - dw CeladonDinerText3 - dw CeladonDinerText4 - dw CeladonDinerText5 - -CeladonDinerText1: ; 4915f (12:515f) - TX_FAR _CeladonDinerText1 - db "@" - -CeladonDinerText2: ; 49164 (12:5164) - TX_FAR _CeladonDinerText2 - db "@" - -CeladonDinerText3: ; 49169 (12:5169) - TX_FAR _CeladonDinerText3 - db "@" - -CeladonDinerText4: ; 4916e (12:516e) - TX_FAR _CeladonDinerText4 - db "@" - -CeladonDinerText5: ; 49173 (12:5173) - db $08 ; asm - ld a, [$d783] - bit 0, a - jr nz, .asm_eb14d ; 0x49179 - ld hl, UnnamedText_491a7 - call PrintText - ld bc, (COIN_CASE << 8) | 1 - call GiveItem - jr nc, .BagFull - ld hl, $d783 - set 0, [hl] - ld hl, ReceivedCoinCaseText - call PrintText - jr .asm_68b61 ; 0x49194 -.BagFull - ld hl, CoinCaseNoRoomText - call PrintText - jr .asm_68b61 ; 0x4919c -.asm_eb14d ; 0x4919e - ld hl, UnnamedText_491b7 - call PrintText -.asm_68b61 ; 0x491a4 - jp TextScriptEnd - -UnnamedText_491a7: ; 491a7 (12:51a7) - TX_FAR _UnnamedText_491a7 - db "@" - -ReceivedCoinCaseText: ; 491ac (12:51ac) - TX_FAR _ReceivedCoinCaseText - db $11, "@" - -CoinCaseNoRoomText: ; 491b2 (12:51b2) - TX_FAR _CoinCaseNoRoomText - db "@" - -UnnamedText_491b7: ; 491b7 (12:51b7) - TX_FAR _UnnamedText_491b7 - db "@" +INCLUDE "scripts/celadondiner.asm" INCLUDE "data/mapObjects/celadondiner.asm" @@ -57003,26 +46551,7 @@ CeladonDinerBlocks: ; 491ee (12:51ee) INCLUDE "data/mapHeaders/celadonhouse.asm" -CeladonHouseScript: ; 4920e (12:520e) - call EnableAutoTextBoxDrawing - ret - -CeladonHouseTextPointers: ; 49212 (12:5212) - dw CeladonHouseText1 - dw CeladonHouseText2 - dw CeladonHouseText3 - -CeladonHouseText1: ; 49218 (12:5218) - TX_FAR _CeladonHouseText1 - db "@" - -CeladonHouseText2: ; 4921d (12:521d) - TX_FAR _CeladonHouseText2 - db "@" - -CeladonHouseText3: ; 49222 (12:5222) - TX_FAR _CeladonHouseText3 - db "@" +INCLUDE "scripts/celadonhouse.asm" INCLUDE "data/mapObjects/celadonhouse.asm" @@ -57031,25 +46560,7 @@ CeladonHouseBlocks: ; 4924d (12:524d) INCLUDE "data/mapHeaders/celadonhotel.asm" -CeladonHotelScript: ; 49269 (12:5269) - jp EnableAutoTextBoxDrawing - -CeladonHotelTextPointers: ; 4926c (12:526c) - dw CeladonHotelText1 - dw CeladonHotelText2 - dw CeladonHotelText3 - -CeladonHotelText1: ; 49272 (12:5272) - TX_FAR _CeladonHotelText1 - db "@" - -CeladonHotelText2: ; 49277 (12:5277) - TX_FAR _CeladonHotelText2 - db "@" - -CeladonHotelText3: ; 4927c (12:527c) - TX_FAR _CeladonHotelText3 - db "@" +INCLUDE "scripts/celadonhotel.asm" INCLUDE "data/mapObjects/celadonhotel.asm" @@ -57058,245 +46569,31 @@ CeladonHotelBlocks: ; 492a7 (12:52a7) INCLUDE "data/mapHeaders/mtmoonpokecenter.asm" -MtMoonPokecenterScript: ; 492cf (12:52cf) - call Func_22fa - jp EnableAutoTextBoxDrawing - -MtMoonPokecenterTextPointers: ; 492d5 (12:52d5) - dw MtMoonPokecenterText1 - dw MtMoonPokecenterText2 - dw MtMoonPokecenterText3 - dw MtMoonPokecenterText4 - dw MtMoonPokecenterText5 - dw MtMoonPokecenterText6 - -MtMoonPokecenterText1: ; 492e1 (12:52e1) - db $ff - -MtMoonPokecenterText2: ; 492e2 (12:52e2) - TX_FAR _MtMoonPokecenterText1 - db "@" - -MtMoonPokecenterText3: ; 492e7 (12:52e7) - TX_FAR _MtMoonPokecenterText3 - db "@" - -MtMoonPokecenterText4: ; 492ec (12:52ec) - db $08 ; asm - ld a, [$d7c6] - add a - jp c, .asm_49353 - ld hl, UnnamedText_4935c - call PrintText - ld a, $13 - ld [$d125], a - call DisplayTextBoxID - call YesNoChoice - ld a, [$cc26] - and a - jp nz, .asm_4934e - ldh [$9f], a - ldh [$a1], a - ld a, $5 - ldh [$a0], a - call HasEnoughMoney - jr nc, .asm_faa09 ; 0x49317 - ld hl, UnnamedText_49366 - jr .asm_49356 ; 0x4931c -.asm_faa09 ; 0x4931e - ld bc,(MAGIKARP << 8) | 5 - call GivePokemon - jr nc, .asm_49359 ; 0x49324 - xor a - ld [wWhichTrade], a - ld [$cd3f], a - ld a, $5 - ld [$cd3e], a - ld hl, $cd3f - ld de, $d349 - ld c, $3 - ld a, $c - call Predef - ld a, $13 - ld [$d125], a - call DisplayTextBoxID - ld hl, $d7c6 - set 7, [hl] - jr .asm_49359 ; 0x4934c -.asm_4934e ; 0x4934e - ld hl, UnnamedText_49361 - jr .asm_49356 ; 0x49351 -.asm_49353 ; 0x49353 - ld hl, UnnamedText_4936b -.asm_49356 ; 0x49356 - call PrintText -.asm_49359 ; 0x49359 - jp TextScriptEnd - -UnnamedText_4935c: ; 4935c (12:535c) - TX_FAR _UnnamedText_4935c - db "@" - -UnnamedText_49361: ; 49361 (12:5361) - TX_FAR _UnnamedText_49361 - db "@" - -UnnamedText_49366: ; 49366 (12:5366) - TX_FAR _UnnamedText_49366 - db "@" - -UnnamedText_4936b: ; 4936b (12:536b) - TX_FAR _UnnamedText_4936b - db "@" - -MtMoonPokecenterText5: ; 49370 (12:5370) - TX_FAR _MtMoonPokecenterText5 - db "@" - -MtMoonPokecenterText6: ; 49375 (12:5375) - db $f6 +INCLUDE "scripts/mtmoonpokecenter.asm" INCLUDE "data/mapObjects/mtmoonpokecenter.asm" INCLUDE "data/mapHeaders/rocktunnelpokecenter.asm" -RockTunnelPokecenterScript: ; 493ba (12:53ba) - call Func_22fa - jp EnableAutoTextBoxDrawing - -RockTunnelPokecenterTextPointers: ; 493c0 (12:53c0) - dw RockTunnelPokecenterText1 - dw RockTunnelPokecenterText2 - dw RockTunnelPokecenterText3 - dw RockTunnelPokecenterText4 - -RockTunnelPokecenterText1: ; 493c8 (12:53c8) - db $ff - -RockTunnelPokecenterText2: ; 493c9 (12:53c9) - TX_FAR _RockTunnelPokecenterText1 - db "@" - -RockTunnelPokecenterText3: ; 493ce (12:53ce) - TX_FAR _RockTunnelPokecenterText3 - db "@" - -RockTunnelPokecenterText4: ; 493d3 (12:53d3) - db $f6 +INCLUDE "scripts/rocktunnelpokecenter.asm" INCLUDE "data/mapObjects/rocktunnelpokecenter.asm" INCLUDE "data/mapHeaders/route11gate.asm" -Route11GateScript: ; 4940c (12:540c) - jp EnableAutoTextBoxDrawing - -Route11GateTextPointers: ; 4940f (12:540f) - dw Route11GateText1 - -Route11GateText1: ; 49411 (12:5411) - TX_FAR _Route11GateText1 - db "@" +INCLUDE "scripts/route11gate.asm" INCLUDE "data/mapObjects/route11gate.asm" INCLUDE "data/mapHeaders/route11gateupstairs.asm" -Route11GateUpstairsScript: ; 49454 (12:5454) - jp DisableAutoTextBoxDrawing - -Route11GateUpstairsTextPointers: ; 49457 (12:5457) - dw Route11GateUpstairsText1 - dw Route11GateUpstairsText2 - dw Route11GateUpstairsText3 - dw Route11GateUpstairsText4 - -Route11GateUpstairsText1: ; 4945f (12:545f) - db $08 ; asm - xor a - ld [wWhichTrade], a - ld a, $54 - call Predef -asm_49469: ; 49469 (12:5469) - jp TextScriptEnd - -Route11GateUpstairsText2: ; 4946c (12:546c) - db $8 - ld a, [$d7d6] - add a - jr c, .asm_4949b ; 0x49471 $28 - ld a, $1e - ld [$ffdb], a - ld a, $47 - ld [$ffdc], a - ld [$d11e], a - call GetItemName - ld h, d - ld l, e - ld de, $cc5b - ld bc, $000d - call CopyData - ld a, $62 - call Predef - ld a, [$ffdb] - dec a - jr nz, .asm_494a1 ; 0x49494 $b - ld hl, $d7d6 - set 7, [hl] -.asm_4949b - ld hl, UnnamedText_494a3 - call PrintText -.asm_494a1 - jr asm_49469 ; 0x494a1 $c6 - -UnnamedText_494a3: ; 494a3 (12:54a3) - TX_FAR _UnnamedText_494a3 - db "@" - -Route11GateUpstairsText3: ; 494a8 (12:54a8) - db $08 ; asm - ld a, [$c109] - cp $4 - jp nz, Func_55c9 - ld a, [$d7d8] - bit 7, a ; fought snorlax? - ld hl, BinocularsSnorlaxText - jr z, .print - ld hl, BinocularsNoSnorlaxText -.print - call PrintText - jp TextScriptEnd - -BinocularsSnorlaxText: - TX_FAR _BinocularsSnorlaxText - db "@" - -BinocularsNoSnorlaxText: - TX_FAR _BinocularsNoSnorlaxText - db "@" - -Route11GateUpstairsText4: ; 494ce (12:54ce) - db $8 - ld hl, UnnamedText_494d5 ; $54d5 - jp Func_55c9 - -UnnamedText_494d5: ; 494d5 (12:54d5) - TX_FAR _UnnamedText_494d5 - db "@" +INCLUDE "scripts/route11gateupstairs.asm" INCLUDE "data/mapObjects/route11gateupstairs.asm" INCLUDE "data/mapHeaders/route12gate.asm" -Route12GateScript: ; 49504 (12:5504) - jp EnableAutoTextBoxDrawing - -Route12GateTextPointers: ; 49507 (12:5507) - dw Route12GateText1 - -Route12GateText1: ; 49509 (12:5509) - TX_FAR _Route12GateText1 - db "@" +INCLUDE "scripts/route12gate.asm" INCLUDE "data/mapObjects/route12gate.asm" @@ -57305,277 +46602,25 @@ Route12GateBlocks: ; 49540 (12:5540) INCLUDE "data/mapHeaders/route12gateupstairs.asm" -Route12GateUpstairsScript: ; 49560 (12:5560) - jp DisableAutoTextBoxDrawing - -Route12GateUpstairsTextPointers: ; 49563 (12:5563) - dw Route12GateUpstairsText1 - dw Route12GateUpstairsText2 - dw Route12GateUpstairsText3 - -Route12GateUpstairsText1: ; 49569 (12:5569) - db $08 ; asm - ld a, [$d7d7] - rrca - jr c, .asm_0ad3c ; 0x4956e - ld hl, TM39PreReceiveText - call PrintText - ld bc, (TM_39 << 8) | 1 - call GiveItem - jr nc, .BagFull - ld hl, ReceivedTM39Text - call PrintText - ld hl, $d7d7 - set 0, [hl] - jr .asm_4ba56 ; 0x49589 -.BagFull - ld hl, TM39NoRoomText - call PrintText - jr .asm_4ba56 ; 0x49591 -.asm_0ad3c ; 0x49593 - ld hl, TM39ExplanationText - call PrintText -.asm_4ba56 ; 0x49599 - jp TextScriptEnd - -TM39PreReceiveText: ; 4959c (12:559c) - TX_FAR _TM39PreReceiveText - db "@" - -ReceivedTM39Text: ; 495a1 (12:55a1) - TX_FAR _ReceivedTM39Text - db $0B, "@" - -TM39ExplanationText: ; 495a7 (12:55a7) - TX_FAR _TM39ExplanationText - db "@" - -TM39NoRoomText: ; 495ac (12:55ac) - TX_FAR _TM39NoRoomText - db "@" - -Route12GateUpstairsText2: ; 495b1 (12:55b1) - db $08 ; asm - ld hl, UnnamedText_495b8 - jp Func_55c9 - -UnnamedText_495b8: ; 495b8 (12:55b8) - TX_FAR _UnnamedText_495b8 - db "@" - -Route12GateUpstairsText3: ; 495bd (12:55bd) - db $8 - ld hl, UnnamedText_495c4 - jp Func_55c9 - -UnnamedText_495c4: ; 495c4 (12:55c4) - TX_FAR _UnnamedText_495c4 - db "@" - -Func_55c9: ; 495c9 (12:55c9) - ld a, [$c109] - cp $4 - jr z, .asm_495d4 ; 0x495ce $4 - ld a, $1 - jr .asm_495d8 ; 0x495d2 $4 -.asm_495d4 - call PrintText - xor a -.asm_495d8 - ld [$cc3c], a - jp TextScriptEnd +INCLUDE "scripts/route12gateupstairs.asm" INCLUDE "data/mapObjects/route12gateupstairs.asm" INCLUDE "data/mapHeaders/route15gate.asm" -Route15GateScript: ; 49602 (12:5602) - jp EnableAutoTextBoxDrawing - -Route15GateTextPointers: ; 49605 (12:5605) - dw Route15GateText1 - -Route15GateText1: ; 49607 (12:5607) - TX_FAR _Route15GateText1 - db "@" +INCLUDE "scripts/route15gate.asm" INCLUDE "data/mapObjects/route15gate.asm" INCLUDE "data/mapHeaders/route15gateupstairs.asm" -Route15GateUpstairsScript: ; 4964a (12:564a) - jp DisableAutoTextBoxDrawing - -Route15GateUpstairsTextPointers: ; 4964d (12:564d) - dw Route15GateUpstairsText1 - dw Route15GateUpstairsText2 - -Route15GateUpstairsText1: ; 49651 (12:5651) - db $8 - ld a, [$d7dd] - bit 0, a - jr nz, .asm_49683 ; 0x49657 $2a - ld a, $32 - ld [$ffdb], a - ld a, $4b - ld [$ffdc], a - ld [$d11e], a - call GetItemName - ld hl, $cd6d - ld de, $cc5b - ld bc, $000d - call CopyData - ld a, $62 - call Predef - ld a, [$ffdb] - cp $1 - jr nz, .asm_49689 ; 0x4967c $b - ld hl, $d7dd - set 0, [hl] -.asm_49683 - ld hl, UnnamedText_4968c - call PrintText -.asm_49689 - jp TextScriptEnd - -UnnamedText_4968c: ; 4968c (12:568c) - TX_FAR _UnnamedText_4968c - db "@" - -Route15GateUpstairsText2: ; 49691 (12:5691) - db $8 - ld hl, UnnamedText_49698 - jp Func_55c9 - -UnnamedText_49698: ; 49698 (12:5698) - TX_FAR _UnnamedText_49698 - db "@" +INCLUDE "scripts/route15gateupstairs.asm" INCLUDE "data/mapObjects/route15gateupstairs.asm" INCLUDE "data/mapHeaders/route16gate.asm" -Route16GateScript: ; 496be (12:56be) - ld hl, $d732 - res 5, [hl] - call EnableAutoTextBoxDrawing - ld a, [W_ROUTE16GATECURSCRIPT] - ld hl, Route16GateScriptPointers - jp CallFunctionInTable - -Route16GateScriptPointers: ; 496cf (12:56cf) - dw Route16GateScript0 - dw Route16GateScript1 - dw Route16GateScript2 - dw Route16GateScript3 - -Route16GateScript0: ; 496d7 (12:56d7) - call Func_49755 - ret nz - ld hl, CoordsData_49714 - call ArePlayerCoordsInArray - ret nc - ld a, $3 - ld [$ff8c], a - call DisplayTextID - xor a - ld [H_CURRENTPRESSEDBUTTONS], a - ld a, [$cd3d] - cp $1 - jr z, .asm_4970e ; 0x496f1 $1b - ld a, [$cd3d] - dec a - ld [$cd38], a - ld b, $0 - ld c, a - ld a, $40 - ld hl, $ccd3 - call FillMemory - call Func_3486 - ld a, $1 - ld [W_ROUTE16GATECURSCRIPT], a - ret -.asm_4970e - ld a, $2 - ld [W_ROUTE16GATECURSCRIPT], a - ret - -CoordsData_49714: ; 49714 (12:5714) - db $07,$04 - db $08,$04 - db $09,$04 - db $0A,$04 - db $FF - -Route16GateScript1: ; 4971d (12:571d) - ld a, [$cd38] - and a - ret nz - ld a, $f0 - ld [wJoypadForbiddenButtonsMask], a - -Route16GateScript2: ; 49727 (12:5727) - ld a, $1 - ld [H_SPRITEHEIGHT], a - call DisplayTextID - ld a, $1 - ld [$cd38], a - ld a, $10 - ld [$ccd3], a - call Func_3486 - ld a, $3 - ld [W_ROUTE16GATECURSCRIPT], a - ret - -Route16GateScript3: ; 49741 (12:5741) - ld a, [$cd38] - and a - ret nz - xor a - ld [wJoypadForbiddenButtonsMask], a - ld hl, $d730 - res 7, [hl] - ld a, $0 - ld [W_ROUTE16GATECURSCRIPT], a - ret - -Func_49755: ; 49755 (12:5755) - ld b, BICYCLE - jp IsItemInBag - -Route16GateTextPointers: ; 4975a (12:575a) - dw Route16GateText1 - dw Route16GateText2 - dw Route16GateText3 - -Route16GateText1: ; 49760 (12:5760) - db $08 ; asm - call Func_49755 - jr z, .asm_0bdf3 ; 0x49764 - ld hl, UnnamedText_4977c - call PrintText - jr .asm_56c9d ; 0x4976c -.asm_0bdf3 ; 0x4976e - ld hl, UnnamedText_49777 - call PrintText -.asm_56c9d ; 0x49774 - jp TextScriptEnd - -UnnamedText_49777: ; 49777 (12:5777) - TX_FAR _UnnamedText_49777 - db "@" - -UnnamedText_4977c: ; 4977c (12:577c) - TX_FAR _UnnamedText_4977c - db "@" - -Route16GateText3: ; 49781 (12:5781) - TX_FAR _UnnamedText_49781 - db "@" - -Route16GateText2: ; 49786 (12:5786) - TX_FAR _Route16GateText2 - db "@" +INCLUDE "scripts/route16gate.asm" INCLUDE "data/mapObjects/route16gate.asm" @@ -57584,437 +46629,25 @@ Route16GateBlocks: ; 497e3 (12:57e3) INCLUDE "data/mapHeaders/route16gateupstairs.asm" -Route16GateUpstairsScript: ; 4980b (12:580b) - jp DisableAutoTextBoxDrawing - -Route16GateUpstairsTextPointers: ; 4980e (12:580e) - dw Route16GateUpstairsText1 - dw Route16GateUpstairsText2 - dw Route16GateUpstairsText3 - dw Route16GateUpstairsText4 - -Route16GateUpstairsText1: ; 49816 (12:5816) - db $08 ; asm - ld hl, UnnamedText_49820 - call PrintText - jp TextScriptEnd - -UnnamedText_49820: ; 49820 (12:5820) - TX_FAR _UnnamedText_49820 - db "@" - -Route16GateUpstairsText2: ; 49825 (12:5825) - db $08 ; asm - ld hl, UnnamedText_4982f - call PrintText - jp TextScriptEnd - -UnnamedText_4982f: ; 4982f (12:582f) - TX_FAR _UnnamedText_4982f - db "@" - -Route16GateUpstairsText3: ; 49834 (12:5834) - db $8 - ld hl, UnnamedText_4983b - jp Func_55c9 - -UnnamedText_4983b: ; 4983b (12:583b) - TX_FAR _UnnamedText_4983b - db "@" - -Route16GateUpstairsText4: ; 49840 (12:5840) - db $8 - ld hl, UnnamedText_49847 ; $5847 - jp Func_55c9 - -UnnamedText_49847: ; 49847 (12:5847) - TX_FAR _UnnamedText_49847 - db "@" +INCLUDE "scripts/route16gateupstairs.asm" INCLUDE "data/mapObjects/route16gateupstairs.asm" INCLUDE "data/mapHeaders/route18gate.asm" -Route18GateScript: ; 49876 (12:5876) - ld hl, $d732 - res 5, [hl] - call EnableAutoTextBoxDrawing - ld a, [W_ROUTE18GATECURSCRIPT] - ld hl, Route18GateScriptPointers - jp CallFunctionInTable - -Route18GateScriptPointers: ; 49887 (12:5887) - dw Route18GateScript0 - dw Route18GateScript1 - dw Route18GateScript2 - dw Route18GateScript3 - -Route18GateScript0: ; 4988f (12:588f) - call Func_49755 - ret nz - ld hl, CoordsData_498cc - call ArePlayerCoordsInArray - ret nc - ld a, $2 - ld [$ff8c], a - call DisplayTextID - xor a - ld [H_CURRENTPRESSEDBUTTONS], a - ld a, [$cd3d] - cp $1 - jr z, .asm_498c6 ; 0x498a9 $1b - ld a, [$cd3d] - dec a - ld [$cd38], a - ld b, $0 - ld c, a - ld a, $40 - ld hl, $ccd3 - call FillMemory - call Func_3486 - ld a, $1 - ld [W_ROUTE18GATECURSCRIPT], a - ret -.asm_498c6 - ld a, $2 - ld [W_ROUTE18GATECURSCRIPT], a - ret - -CoordsData_498cc: ; 498cc (12:58cc) - db $03,$04 - db $04,$04 - db $05,$04 - db $06,$04 - db $FF - -Route18GateScript1: ; 498d5 (12:58d5) - ld a, [$cd38] - and a - ret nz - ld a, $f0 - ld [wJoypadForbiddenButtonsMask], a - -Route18GateScript2: ; 498df (12:58df) - ld a, $1 - ld [H_SPRITEHEIGHT], a - call DisplayTextID - ld a, $1 - ld [$cd38], a - ld a, $10 - ld [$ccd3], a - call Func_3486 - ld a, $3 - ld [W_ROUTE18GATECURSCRIPT], a - ret - -Route18GateScript3: ; 498f9 (12:58f9) - ld a, [$cd38] - and a - ret nz - xor a - ld [wJoypadForbiddenButtonsMask], a - ld hl, $d730 - res 7, [hl] - ld a, $0 - ld [W_ROUTE18GATECURSCRIPT], a - ret - -Route18GateTextPointers: ; 4990d (12:590d) - dw Route18GateText1 - dw Route18GateText2 - -Route18GateText1: ; 49911 (12:5911) - db $08 ; asm - call Func_49755 - jr z, .asm_3c84d ; 0x49915 - ld hl, UnnamedText_4992d - call PrintText - jr .asm_a8410 ; 0x4991d -.asm_3c84d ; 0x4991f - ld hl, UnnamedText_49928 - call PrintText -.asm_a8410 ; 0x49925 - jp TextScriptEnd - -UnnamedText_49928: ; 49928 (12:5928) - TX_FAR _UnnamedText_49928 - db "@" - -UnnamedText_4992d: ; 4992d (12:592d) - TX_FAR _UnnamedText_4992d - db "@" - -Route18GateText2: ; 49932 (12:5932) - TX_FAR _UnnamedText_49932 - db "@" +INCLUDE "scripts/route18gate.asm" INCLUDE "data/mapObjects/route18gate.asm" INCLUDE "data/mapHeaders/route18gateupstairs.asm" -Route18GateUpstairsScript: ; 49975 (12:5975) - jp DisableAutoTextBoxDrawing - -Route18GateUpstairsTextPointers: ; 49978 (12:5978) - dw Route18GateUpstairsText1 - dw Route18GateUpstairsText2 - dw Route18GateUpstairsText3 - -Route18GateUpstairsText1: ; 4997e (12:597e) - db $08 ; asm - ld a, $5 - ld [wWhichTrade], a - ld a, $54 - call Predef - jp TextScriptEnd - -Route18GateUpstairsText2: ; 4998c (12:598c) - db $8 - ld hl, UnnamedText_49993 ; $5993 - jp Func_55c9 - -UnnamedText_49993: ; 49993 (12:5993) - TX_FAR _UnnamedText_49993 - db "@" - -Route18GateUpstairsText3: ; 49998 (12:5998) - db $8 - ld hl, UnnamedText_4999f ; $599f - jp Func_55c9 - -UnnamedText_4999f: ; 4999f (12:599f) - TX_FAR _UnnamedText_4999f - db "@" +INCLUDE "scripts/route18gateupstairs.asm" INCLUDE "data/mapObjects/route18gateupstairs.asm" INCLUDE "data/mapHeaders/mtmoon1.asm" -MtMoon1Script: ; 499c8 (12:59c8) - call EnableAutoTextBoxDrawing - ld hl, MtMoon1TrainerHeader0 - ld de, MtMoon1ScriptPointers - ld a, [W_MTMOON1CURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_MTMOON1CURSCRIPT], a - ret - -MtMoon1ScriptPointers: ; 499db (12:59db) - dw CheckFightingMapTrainers - dw Func_324c - dw EndTrainerBattle - -MtMoon1TextPointers: ; 499e1 (12:59e1) - dw MtMoon1Text1 - dw MtMoon1Text2 - dw MtMoon1Text3 - dw MtMoon1Text4 - dw MtMoon1Text5 - dw MtMoon1Text6 - dw MtMoon1Text7 - dw Predef5CText - dw Predef5CText - dw Predef5CText - dw Predef5CText - dw Predef5CText - dw Predef5CText - dw MtMoon1Text14 - -MtMoon1TrainerHeaders: ; 499fd (12:59fd) -MtMoon1TrainerHeader0: ; 499fd (12:59fd) - db $1 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7f5 ; flag's byte - dw MtMoon1BattleText2 ; 0x5a98 TextBeforeBattle - dw MtMoon1AfterBattleText2 ; 0x5aa2 TextAfterBattle - dw MtMoon1EndBattleText2 ; 0x5a9d TextEndBattle - dw MtMoon1EndBattleText2 ; 0x5a9d TextEndBattle - -MtMoon1TrainerHeader2: ; 49a09 (12:5a09) - db $2 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7f5 ; flag's byte - dw MtMoon1BattleText3 ; 0x5aa7 TextBeforeBattle - dw MtMoon1AfterBattleText3 ; 0x5ab1 TextAfterBattle - dw MtMoon1EndBattleText3 ; 0x5aac TextEndBattle - dw MtMoon1EndBattleText3 ; 0x5aac TextEndBattle - -MtMoon1TrainerHeader3: ; 49a15 (12:5a15) - db $3 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7f5 ; flag's byte - dw MtMoon1BattleText4 ; 0x5ab6 TextBeforeBattle - dw MtMoon1AfterBattleText4 ; 0x5ac0 TextAfterBattle - dw MtMoon1EndBattleText4 ; 0x5abb TextEndBattle - dw MtMoon1EndBattleText4 ; 0x5abb TextEndBattle - -MtMoon1TrainerHeader4: ; 49a21 (12:5a21) - db $4 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7f5 ; flag's byte - dw MtMoon1BattleText5 ; 0x5ac5 TextBeforeBattle - dw MtMoon1AfterBattleText5 ; 0x5acf TextAfterBattle - dw MtMoon1EndBattleText5 ; 0x5aca TextEndBattle - dw MtMoon1EndBattleText5 ; 0x5aca TextEndBattle - -MtMoon1TrainerHeader5: ; 49a2d (12:5a2d) - db $5 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7f5 ; flag's byte - dw MtMoon1BattleText6 ; 0x5ad4 TextBeforeBattle - dw MtMoon1AfterBattleText6 ; 0x5ade TextAfterBattle - dw MtMoon1EndBattleText6 ; 0x5ad9 TextEndBattle - dw MtMoon1EndBattleText6 ; 0x5ad9 TextEndBattle - -MtMoon1TrainerHeader6: ; 49a39 (12:5a39) - db $6 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7f5 ; flag's byte - dw MtMoon1BattleText7 ; 0x5ae3 TextBeforeBattle - dw MtMoon1AfterBattleText7 ; 0x5aed TextAfterBattle - dw MtMoon1EndBattleText7 ; 0x5ae8 TextEndBattle - dw MtMoon1EndBattleText7 ; 0x5ae8 TextEndBattle - -MtMoon1TrainerHeader7: ; 49a45 (12:5a45) - db $7 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7f5 ; flag's byte - dw MtMoon1BattleText8 ; 0x5af2 TextBeforeBattle - dw MtMoon1AfterBattleText8 ; 0x5afc TextAfterBattle - dw MtMoon1EndBattleText8 ; 0x5af7 TextEndBattle - dw MtMoon1EndBattleText8 ; 0x5af7 TextEndBattle - - db $ff - -MtMoon1Text1: ; 49a52 (12:5a52) - db $08 ; asm - ld hl, MtMoon1TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -MtMoon1Text2: ; 49a5c (12:5a5c) - db $08 ; asm - ld hl, MtMoon1TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -MtMoon1Text3: ; 49a66 (12:5a66) - db $08 ; asm - ld hl, MtMoon1TrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -MtMoon1Text4: ; 49a70 (12:5a70) - db $08 ; asm - ld hl, MtMoon1TrainerHeader4 - call TalkToTrainer - jp TextScriptEnd - -MtMoon1Text5: ; 49a7a (12:5a7a) - db $08 ; asm - ld hl, MtMoon1TrainerHeader5 - call TalkToTrainer - jp TextScriptEnd - -MtMoon1Text6: ; 49a84 (12:5a84) - db $08 ; asm - ld hl, MtMoon1TrainerHeader6 - call TalkToTrainer - jp TextScriptEnd - -MtMoon1Text7: ; 49a8e (12:5a8e) - db $08 ; asm - ld hl, MtMoon1TrainerHeader7 - call TalkToTrainer - jp TextScriptEnd - -MtMoon1BattleText2: ; 49a98 (12:5a98) - TX_FAR _MtMoon1BattleText2 - db "@" - -MtMoon1EndBattleText2: ; 49a9d (12:5a9d) - TX_FAR _MtMoon1EndBattleText2 - db "@" - -MtMoon1AfterBattleText2: ; 49aa2 (12:5aa2) - TX_FAR _MtMoon1AfterBattleText2 - db "@" - -MtMoon1BattleText3: ; 49aa7 (12:5aa7) - TX_FAR _MtMoon1BattleText3 - db "@" - -MtMoon1EndBattleText3: ; 49aac (12:5aac) - TX_FAR _MtMoon1EndBattleText3 - db "@" - -MtMoon1AfterBattleText3: ; 49ab1 (12:5ab1) - TX_FAR _MtMoon1AfterBattleText3 - db "@" - -MtMoon1BattleText4: ; 49ab6 (12:5ab6) - TX_FAR _MtMoon1BattleText4 - db "@" - -MtMoon1EndBattleText4: ; 49abb (12:5abb) - TX_FAR _MtMoon1EndBattleText4 - db "@" - -MtMoon1AfterBattleText4: ; 49ac0 (12:5ac0) - TX_FAR _MtMoon1AfterBattleText4 - db "@" - -MtMoon1BattleText5: ; 49ac5 (12:5ac5) - TX_FAR _MtMoon1BattleText5 - db "@" - -MtMoon1EndBattleText5: ; 49aca (12:5aca) - TX_FAR _MtMoon1EndBattleText5 - db "@" - -MtMoon1AfterBattleText5: ; 49acf (12:5acf) - TX_FAR _MtMoon1AfterBattleText5 - db "@" - -MtMoon1BattleText6: ; 49ad4 (12:5ad4) - TX_FAR _MtMoon1BattleText6 - db "@" - -MtMoon1EndBattleText6: ; 49ad9 (12:5ad9) - TX_FAR _MtMoon1EndBattleText6 - db "@" - -MtMoon1AfterBattleText6: ; 49ade (12:5ade) - TX_FAR _MtMoon1AfterBattleText6 - db "@" - -MtMoon1BattleText7: ; 49ae3 (12:5ae3) - TX_FAR _MtMoon1BattleText7 - db "@" - -MtMoon1EndBattleText7: ; 49ae8 (12:5ae8) - TX_FAR _MtMoon1EndBattleText7 - db "@" - -MtMoon1AfterBattleText7: ; 49aed (12:5aed) - TX_FAR _MtMoon1AfterBattleText7 - db "@" - -MtMoon1BattleText8: ; 49af2 (12:5af2) - TX_FAR _MtMoon1BattleText8 - db "@" - -MtMoon1EndBattleText8: ; 49af7 (12:5af7) - TX_FAR _MtMoon1EndBattleText8 - db "@" - -MtMoon1AfterBattleText8: ; 49afc (12:5afc) - TX_FAR _MtMoon1AfterBattleText8 - db "@" - -MtMoon1Text14: ; 49b01 (12:5b01) - TX_FAR _MtMoon1Text14 - db "@" +INCLUDE "scripts/mtmoon1.asm" INCLUDE "data/mapObjects/mtmoon1.asm" @@ -58023,420 +46656,7 @@ MtMoon1Blocks: ; 49b97 (12:5b97) INCLUDE "data/mapHeaders/mtmoon3.asm" -MtMoon3Script: ; 49d0b (12:5d0b) - call EnableAutoTextBoxDrawing - ld hl, MtMoon3TrainerHeader0 ; $5e48 - ld de, MtMoon3ScriptPointers - ld a, [W_MTMOON3CURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_MTMOON3CURSCRIPT], a - ld a, [$d7f6] - bit 1, a - ret z - ld hl, CoordsData_49d37 - call ArePlayerCoordsInArray - jr nc, .asm_49d31 ; 0x49d29 $6 - ld hl, $d72e - set 4, [hl] - ret -.asm_49d31 - ld hl, $d72e - res 4, [hl] - ret - -CoordsData_49d37: ; 49d37 (12:5d37) - db $05,$0B - db $05,$0C - db $05,$0D - db $05,$0E - db $06,$0B - db $06,$0C - db $06,$0D - db $06,$0E - db $07,$0B - db $07,$0C - db $07,$0D - db $07,$0E - db $08,$0B - db $08,$0C - db $08,$0D - db $08,$0E - db $FF - -Func_49d58: ; 49d58 (12:5d58) - xor a - ld [wJoypadForbiddenButtonsMask], a - ld [W_MTMOON3CURSCRIPT], a - ld [W_CURMAPSCRIPT], a - ret - -MtMoon3ScriptPointers: ; 49d63 (12:5d63) - dw MtMoon3Script0 - dw Func_324c - dw EndTrainerBattle - dw MtMoon3Script3 - dw MtMoon3Script4 - dw MtMoon3Script5 - -MtMoon3Script0: ; 49d6f (12:5d6f) - ld a, [$d7f6] - bit 1, a - jp nz, Func_49d91 - ld a, [W_YCOORD] ; $d361 - cp $8 - jp nz, Func_49d91 - ld a, [W_XCOORD] ; $d362 - cp $d - jp nz, Func_49d91 - xor a - ld [H_CURRENTPRESSEDBUTTONS], a - ld a, $1 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - jp DisplayTextID - -Func_49d91: ; 49d91 (12:5d91) - ld a, [$d7f6] - and $c0 - jp z, CheckFightingMapTrainers - ret - -MtMoon3Script3: ; 49d9a (12:5d9a) - ld a, [W_ISINBATTLE] ; $d057 - cp $ff - jp z, Func_49d58 - call UpdateSprites - call Delay3 - ld hl, $d7f6 - set 1, [hl] - xor a - ld [wJoypadForbiddenButtonsMask], a - ld a, $0 - ld [W_MTMOON3CURSCRIPT], a - ld [W_CURMAPSCRIPT], a - ret - -MtMoon3Script4: ; 49dba (12:5dba) - ld a, $1 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - call SetSpriteMovementBytesToFF - ld hl, CoordsData_49dea - call ArePlayerCoordsInArray - jr c, .asm_49dd7 - ld hl, CoordsData_49df1 - call ArePlayerCoordsInArray - jp nc, CheckFightingMapTrainers - ld de, MovementData_49df9 - jr .asm_49dda -.asm_49dd7 - ld de, MovementData_49df8 -.asm_49dda - ld a, $1 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - call MoveSprite - ld a, $5 - ld [W_MTMOON3CURSCRIPT], a - ld [W_CURMAPSCRIPT], a - ret - -CoordsData_49dea: ; 49dea (12:5dea) - db $07,$0C - db $06,$0B - db $05,$0C - db $FF - -CoordsData_49df1: ; 49df1 (12:5df1) - db $07,$0D - db $06,$0E - db $05,$0E - db $FF - -MovementData_49df8: ; 49df8 (12:5df8) - db $C0 - -MovementData_49df9: ; 49df9 (12:5df9) - db $40,$FF - -MtMoon3Script5: ; 49dfb (12:5dfb) - ld a, [$d730] - bit 0, a - ret nz - ld a, $f0 - ld [wJoypadForbiddenButtonsMask], a - ld a, $1 - ld [$cc3c], a - ld a, $a - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - call DisplayTextID - ld a, [$d7f6] - bit 6, a - jr z, .asm_49e1d - ld a, $6e - jr .asm_49e1f -.asm_49e1d - ld a, $6d -.asm_49e1f - ld [$cc4d], a - ld a, $11 - call Predef ; indirect jump to RemoveMissableObject (f1d7 (3:71d7)) - xor a - ld [wJoypadForbiddenButtonsMask], a - ld a, $0 - ld [W_MTMOON3CURSCRIPT], a - ld [W_CURMAPSCRIPT], a - ret - -MtMoon3TextPointers: ; 49e34 (12:5e34) - dw MtMoon3Text1 - dw MtMoon3Text2 - dw MtMoon3Text3 - dw MtMoon3Text4 - dw MtMoon3Text5 - dw MtMoon3Text6 - dw MtMoon3Text7 - dw Predef5CText - dw Predef5CText - dw UnnamedText_49f99 - -MtMoon3TrainerHeaders: ; 49e48 (12:5e48) -MtMoon3TrainerHeader0: ; 49e48 (12:5e48) - db $2 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7f6 ; flag's byte - dw MtMoon3BattleText2 ; 0x5f9f TextBeforeBattle - dw MtMoon3AfterBattleText2 ; 0x5fa9 TextAfterBattle - dw MtMoon3EndBattleText2 ; 0x5fa4 TextEndBattle - dw MtMoon3EndBattleText2 ; 0x5fa4 TextEndBattle - -MtMoon3TrainerHeader2: ; 49e54 (12:5e54) - db $3 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7f6 ; flag's byte - dw MtMoon3BattleText3 ; 0x5fae TextBeforeBattle - dw MtMoon3AfterBattleText3 ; 0x5fb8 TextAfterBattle - dw MtMoon3EndBattleText3 ; 0x5fb3 TextEndBattle - dw MtMoon3EndBattleText3 ; 0x5fb3 TextEndBattle - -MtMoon3TrainerHeader3: ; 49e60 (12:5e60) - db $4 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7f6 ; flag's byte - dw MtMoon3BattleText4 ; 0x5fbd TextBeforeBattle - dw MtMoon3AfterBattleText4 ; 0x5fc7 TextAfterBattle - dw MtMoon3EndBattleText4 ; 0x5fc2 TextEndBattle - dw MtMoon3EndBattleText4 ; 0x5fc2 TextEndBattle - -MtMoon3TrainerHeader4: ; 49e6c (12:5e6c) - db $5 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7f6 ; flag's byte - dw MtMoon3BattleText5 ; 0x5fcc TextBeforeBattle - dw MtMoon3AfterBattleText5 ; 0x5fd6 TextAfterBattle - dw MtMoon3EndBattleText5 ; 0x5fd1 TextEndBattle - dw MtMoon3EndBattleText5 ; 0x5fd1 TextEndBattle - - db $ff - -MtMoon3Text1: ; 49e79 (12:5e79) - db $08 ; asm - ld a, [$d7f6] - bit 1, a - jr z, .asm_be1e0 ; 0x49e7f - and $c0 - jr nz, .asm_f8cd4 ; 0x49e83 - ld hl, UnnamedText_49f8f - call PrintText - jr .asm_f1fba ; 0x49e8b -.asm_be1e0 ; 0x49e8d - ld hl, UnnamedText_49f85 - call PrintText - ld hl, $d72d - set 6, [hl] - set 7, [hl] - ld hl, UnnamedText_49f8a - ld de, UnnamedText_49f8a - call PreBattleSaveRegisters - ldh a, [$8c] - ld [$cf13], a - call EngageMapTrainer - call InitBattleEnemyParameters - ld a, $3 - ld [W_MTMOON3CURSCRIPT], a - ld [W_CURMAPSCRIPT], a - jr .asm_f1fba ; 0x49eb6 -.asm_f8cd4 ; 0x49eb8 - ld hl, UnnamedText_49f94 - call PrintText -.asm_f1fba ; 0x49ebe - jp TextScriptEnd - -MtMoon3Text2: ; 49ec1 (12:5ec1) - db $08 ; asm - ld hl, MtMoon3TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -MtMoon3Text3: ; 49ecb (12:5ecb) - db $08 ; asm - ld hl, MtMoon3TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -MtMoon3Text4: ; 49ed5 (12:5ed5) - db $08 ; asm - ld hl, MtMoon3TrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -MtMoon3Text5: ; 49edf (12:5edf) - db $08 ; asm - ld hl, MtMoon3TrainerHeader4 ; $5e6c - call TalkToTrainer - jp TextScriptEnd - -MtMoon3Text6: ; 49ee9 (12:5ee9) - db $08 ; asm - ld a, $1 - ld [$cc3c], a - ld hl, UnnamedText_49f24 - call PrintText - call YesNoChoice - ld a, [$cc26] - and a - jr nz, .asm_1fa5e ; 0x49efc - ld bc,(DOME_FOSSIL << 8) | 1 - call GiveItem - jp nc, Func_49f76 - call Func_49f69 - ld a, $6d - ld [$cc4d], a - ld a, $11 - call Predef - ld hl, $d7f6 - set 6, [hl] - ld a, $4 - ld [W_MTMOON3CURSCRIPT], a - ld [W_CURMAPSCRIPT], a -.asm_1fa5e ; 0x49f21 - jp TextScriptEnd - -UnnamedText_49f24: ; 49f24 (12:5f24) - TX_FAR _UnnamedText_49f24 - db "@" - -MtMoon3Text7: ; 49f29 (12:5f29) - db $08 ; asm - ld a, $1 - ld [$cc3c], a - ld hl, UnnamedText_49f64 - call PrintText - call YesNoChoice - ld a, [$cc26] - and a - jr nz, .asm_8e988 ; 0x49f3c - ld bc, (HELIX_FOSSIL << 8) | 1 - call GiveItem - jp nc, Func_49f76 - call Func_49f69 - ld a, $6e - ld [$cc4d], a - ld a, $11 - call Predef - ld hl, $d7f6 - set 7, [hl] - ld a, $4 - ld [W_MTMOON3CURSCRIPT], a - ld [W_CURMAPSCRIPT], a -.asm_8e988 ; 0x49f61 - jp TextScriptEnd - -UnnamedText_49f64: ; 49f64 (12:5f64) - TX_FAR _UnnamedText_49f64 - db "@" - -Func_49f69: ; 49f69 (12:5f69) - ld hl, UnnamedText_49f6f - jp PrintText - -UnnamedText_49f6f: ; 49f6f (12:5f6f) - TX_FAR _UnnamedText_49f6f ; 0x80995 - db $11, $d, "@" - -Func_49f76: ; 49f76 (12:5f76) - ld hl, UnnamedText_49f7f - call PrintText - jp TextScriptEnd - -UnnamedText_49f7f: ; 49f7f (12:5f7f) - TX_FAR _UnnamedText_49f7f ; 0x809a8 - db $d, "@" - -UnnamedText_49f85: ; 49f85 (12:5f85) - TX_FAR _UnnamedText_49f85 - db "@" - -UnnamedText_49f8a: ; 49f8a (12:5f8a) - TX_FAR _UnnamedText_49f8a - db "@" - -UnnamedText_49f8f: ; 49f8f (12:5f8f) - TX_FAR _UnnamedText_49f8f - db "@" - -UnnamedText_49f94: ; 49f94 (12:5f94) - TX_FAR _UnnamedText_49f94 - db "@" - -UnnamedText_49f99: ; 49f99 (12:5f99) - TX_FAR _UnnamedText_49f99 - db $11, "@" - -MtMoon3BattleText2: ; 49f9f (12:5f9f) - TX_FAR _MtMoon3BattleText2 - db "@" - -MtMoon3EndBattleText2: ; 49fa4 (12:5fa4) - TX_FAR _MtMoon3EndBattleText2 - db "@" - -MtMoon3AfterBattleText2: ; 49fa9 (12:5fa9) - TX_FAR _MtMoon3AfterBattleText2 - db "@" - -MtMoon3BattleText3: ; 49fae (12:5fae) - TX_FAR _MtMoon3BattleText3 - db "@" - -MtMoon3EndBattleText3: ; 49fb3 (12:5fb3) - TX_FAR _MtMoon3EndBattleText3 - db "@" - -MtMoon3AfterBattleText3: ; 49fb8 (12:5fb8) - TX_FAR _MtMoon3AfterBattleText3 - db "@" - -MtMoon3BattleText4: ; 49fbd (12:5fbd) - TX_FAR _MtMoon3BattleText4 - db "@" - -MtMoon3EndBattleText4: ; 49fc2 (12:5fc2) - TX_FAR _MtMoon3EndBattleText4 - db "@" - -MtMoon3AfterBattleText4: ; 49fc7 (12:5fc7) - TX_FAR _MtMoon3AfterBattleText4 - db "@" - -MtMoon3BattleText5: ; 49fcc (12:5fcc) - TX_FAR _MtMoon3BattleText5 - db "@" - -MtMoon3EndBattleText5: ; 49fd1 (12:5fd1) - TX_FAR _MtMoon3EndBattleText5 - db "@" - -MtMoon3AfterBattleText5: ; 49fd6 (12:5fd6) - TX_FAR _MtMoon3AfterBattleText5 - db "@" +INCLUDE "scripts/mtmoon3.asm" INCLUDE "data/mapObjects/mtmoon3.asm" @@ -58445,34 +46665,7 @@ MtMoon3Blocks: ; 4a041 (12:6041) INCLUDE "data/mapHeaders/safarizonewest.asm" -SafariZoneWestScript: ; 4a1b5 (12:61b5) - jp EnableAutoTextBoxDrawing - -SafariZoneWestTextPointers: ; 4a1b8 (12:61b8) - dw Predef5CText - dw Predef5CText - dw Predef5CText - dw Predef5CText - dw SafariZoneWestText5 - dw SafariZoneWestText6 - dw SafariZoneWestText7 - dw SafariZoneWestText8 - -SafariZoneWestText5: ; 4a1c8 (12:61c8) - TX_FAR _SafariZoneWestText5 - db "@" - -SafariZoneWestText6: ; 4a1cd (12:61cd) - TX_FAR _SafariZoneWestText6 - db "@" - -SafariZoneWestText7: ; 4a1d2 (12:61d2) - TX_FAR _SafariZoneWestText7 - db "@" - -SafariZoneWestText8: ; 4a1d7 (12:61d7) - TX_FAR _SafariZoneWestText8 - db "@" +INCLUDE "scripts/safarizonewest.asm" INCLUDE "data/mapObjects/safarizonewest.asm" @@ -58481,52 +46674,7 @@ SafariZoneWestBlocks: ; 4a248 (12:6248) INCLUDE "data/mapHeaders/safarizonesecrethouse.asm" -SafariZoneSecretHouseScript: ; 4a317 (12:6317) - jp EnableAutoTextBoxDrawing - -SafariZoneSecretHouseTextPointers: ; 4a31a (12:631a) - dw SafariZoneSecretHouseText1 - -SafariZoneSecretHouseText1: ; 4a31c (12:631c) - db $08 ; asm - ld a, [$d857] - bit 0, a - jr nz, .asm_20a9b ; 0x4a322 - ld hl, UnnamedText_4a350 - call PrintText - ld bc, (HM_03 << 8) | 1 - call GiveItem - jr nc, .BagFull - ld hl, ReceivedHM03Text - call PrintText - ld hl, $d857 - set 0, [hl] - jr .asm_8f1fc ; 0x4a33d -.BagFull - ld hl, HM03NoRoomText - call PrintText - jr .asm_8f1fc ; 0x4a345 -.asm_20a9b ; 0x4a347 - ld hl, HM03ExplanationText - call PrintText -.asm_8f1fc ; 0x4a34d - jp TextScriptEnd - -UnnamedText_4a350: ; 4a350 (12:6350) - TX_FAR _UnnamedText_4a350 - db "@" - -ReceivedHM03Text: ; 4a355 (12:6355) - TX_FAR _ReceivedHM03Text - db $0B, "@" - -HM03ExplanationText: ; 4a35b (12:635b) - TX_FAR _HM03ExplanationText - db "@" - -HM03NoRoomText: ; 4a360 (12:6360) - TX_FAR _HM03NoRoomText - db "@" +INCLUDE "scripts/safarizonesecrethouse.asm" INCLUDE "data/mapObjects/safarizonesecrethouse.asm" @@ -58631,44 +46779,7 @@ LancePic: ; 4fba2 (13:7ba2) INCLUDE "data/mapHeaders/battlecenterm.asm" -BattleCenterMScript: ; 4fd10 (13:7d10) - call EnableAutoTextBoxDrawing - ld a, [$ffaa] - cp $2 - ld a, $8 - jr z, .asm_4fd1d ; 0x4fd19 $2 - ld a, $c -.asm_4fd1d - ld [$ff8d], a - ld a, $1 - ld [$ff8c], a - call Func_34ae - ld hl, $d72d - bit 0, [hl] - set 0, [hl] - ret nz - ld hl, $c214 - ld a, $8 - ld [hli], a - ld a, $a - ld [hl], a - ld a, $8 - ld [$c119], a - ld a, [$ffaa] - cp $2 - ret z - ld a, $7 - ld [$c215], a - ld a, $c - ld [$c119], a - ret - -BattleCenterMTextPointers: ; 4fd4c (13:7d4c) - dw BattleCenterMText1 - -BattleCenterMText1: ; 4fd4e (13:7d4e) - TX_FAR _BattleCenterMText1 - db "@" +INCLUDE "scripts/battlecenterm.asm" INCLUDE "data/mapObjects/battlecenterm.asm" @@ -58677,22 +46788,14 @@ BattleCenterMBlocks: ; 4fd5d (13:7d5d) INCLUDE "data/mapHeaders/tradecenterm.asm" -TradeCenterMScript: ; 4fd7d (13:7d7d) - jp BattleCenterMScript - -TradeCenterMTextPointers: ; 4fd80 (13:7d80) - dw TradeCenterMText1 - -TradeCenterMText1: ; 4fd82 (13:7d82) - TX_FAR _TradeCenterMText1 - db "@" +INCLUDE "scripts/tradecenterm.asm" INCLUDE "data/mapObjects/tradecenterm.asm" TradeCenterMBlocks: ; 4fd91 (13:7d91) INCBIN "maps/tradecenterm.blk" -Func_4fda5: ; 4fda5 (13:7da5) +_GivePokemon: ; 4fda5 (13:7da5) call EnableAutoTextBoxDrawing xor a ld [$ccd3], a @@ -58997,10 +47100,8 @@ Route25Blocks: ; 50810 (14:4810) INCLUDE "data/mapHeaders/indigoplateau.asm" -IndigoPlateauScript: ; 50935 (14:4935) - ret +INCLUDE "scripts/indigoplateau.asm" -IndigoPlateauTextPointers: ; 50936 (14:4936) INCLUDE "data/mapObjects/indigoplateau.asm" IndigoPlateauBlocks: ; 5094a (14:494a) @@ -59013,2059 +47114,21 @@ INCLUDE "data/mapObjects/saffroncity.asm" SaffronCityBlocks: ; 50a98 (14:4a98) INCBIN "maps/saffroncity.blk" -SaffronCityScript: ; 50c00 (14:4c00) - jp EnableAutoTextBoxDrawing - -SaffronCityTextPointers: ; 50c03 (14:4c03) - dw SaffronCityText1 - dw SaffronCityText2 - dw SaffronCityText3 - dw SaffronCityText4 - dw SaffronCityText5 - dw SaffronCityText6 - dw SaffronCityText7 - dw SaffronCityText8 - dw SaffronCityText9 - dw SaffronCityText10 - dw SaffronCityText11 - dw SaffronCityText12 - dw SaffronCityText13 - dw SaffronCityText14 - dw SaffronCityText15 - dw SaffronCityText16 - dw SaffronCityText17 - dw SaffronCityText18 - dw MartSignText - dw SaffronCityText20 - dw SaffronCityText21 - dw SaffronCityText22 - dw PokeCenterSignText - dw SaffronCityText24 - dw SaffronCityText25 - -SaffronCityText1: ; 50c35 (14:4c35) - TX_FAR _SaffronCityText1 - db "@" - -SaffronCityText2: ; 50c3a (14:4c3a) - TX_FAR _SaffronCityText2 - db "@" - -SaffronCityText3: ; 50c3f (14:4c3f) - TX_FAR _SaffronCityText3 - db "@" - -SaffronCityText4: ; 50c44 (14:4c44) - TX_FAR _SaffronCityText4 - db "@" - -SaffronCityText5: ; 50c49 (14:4c49) - TX_FAR _SaffronCityText5 - db "@" - -SaffronCityText6: ; 50c4e (14:4c4e) - TX_FAR _SaffronCityText6 - db "@" - -SaffronCityText7: ; 50c53 (14:4c53) - TX_FAR _SaffronCityText7 - db "@" - -SaffronCityText8: ; 50c58 (14:4c58) - TX_FAR _SaffronCityText8 - db "@" - -SaffronCityText9: ; 50c5d (14:4c5d) - TX_FAR _SaffronCityText9 - db "@" - -SaffronCityText10: ; 50c62 (14:4c62) - TX_FAR _SaffronCityText10 - db "@" - -SaffronCityText11: ; 50c67 (14:4c67) - TX_FAR _SaffronCityText11 - db "@" - -SaffronCityText12: ; 50c6c (14:4c6c) - TX_FAR _SaffronCityText12 - db $15, "@" - -SaffronCityText13: ; 50c72 (14:4c72) - TX_FAR _SaffronCityText13 - db "@" - -SaffronCityText14: ; 50c77 (14:4c77) - TX_FAR _SaffronCityText14 - db "@" - -SaffronCityText15: ; 50c7c (14:4c7c) - TX_FAR _SaffronCityText15 - db "@" - -SaffronCityText16: ; 50c81 (14:4c81) - TX_FAR _SaffronCityText16 - db "@" - -SaffronCityText17: ; 50c86 (14:4c86) - TX_FAR _SaffronCityText17 - db "@" - -SaffronCityText18: ; 50c8b (14:4c8b) - TX_FAR _SaffronCityText18 - db "@" - -SaffronCityText20: ; 50c90 (14:4c90) - TX_FAR _SaffronCityText20 - db "@" - -SaffronCityText21: ; 50c95 (14:4c95) - TX_FAR _SaffronCityText21 - db "@" - -SaffronCityText22: ; 50c9a (14:4c9a) - TX_FAR _SaffronCityText22 - db "@" - -SaffronCityText24: ; 50c9f (14:4c9f) - TX_FAR _SaffronCityText24 - db "@" - -SaffronCityText25: ; 50ca4 (14:4ca4) - TX_FAR _SaffronCityText25 - db "@" - -Route20Script: ; 50ca9 (14:4ca9) - ld hl, $d7e7 - bit 0, [hl] - res 0, [hl] - call nz, Func_50cc6 - call EnableAutoTextBoxDrawing - ld hl, Route20TrainerHeader0 ; $4d3a - ld de, Route20ScriptPointers - ld a, [W_ROUTE20CURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_ROUTE20CURSCRIPT], a - ret - -Func_50cc6: ; 50cc6 (14:4cc6) - ld a, [$d880] - and $3 - cp $3 - jr z, .asm_50cef - ld a, $d7 - call Func_50d0c - ld a, $d8 - call Func_50d0c - ld hl, .MissableObjectIDs ; $4ce8 -.asm_50cdc - ld a, [hli] - cp $ff - jr z, .asm_50cef - push hl - call Func_50d14 - pop hl - jr .asm_50cdc - -.MissableObjectIDs: ; 50ce8 (14:4ce8) - db $D9,$DA,$DB,$DC,$DF,$E0,$FF - -.asm_50cef - ld a, [$d881] - and $3 - cp $3 - ret z - ld a, $dd - call Func_50d0c - ld a, $de - call Func_50d0c - ld a, $e1 - call Func_50d14 - ld a, $e2 - call Func_50d14 - ret - -Func_50d0c: ; 50d0c (14:4d0c) - ld [$cc4d], a - ld a, $15 - jp Predef ; indirect jump to AddMissableObject (f1c8 (3:71c8)) - -Func_50d14: ; 50d14 (14:4d14) - ld [$cc4d], a - ld a, $11 - jp Predef ; indirect jump to RemoveMissableObject (f1d7 (3:71d7)) - -Route20ScriptPointers: ; 50d1c (14:4d1c) - dw CheckFightingMapTrainers - dw Func_324c - dw EndTrainerBattle - -Route20TextPointers: ; 50d22 (14:4d22) - dw Route20Text1 - dw Route20Text2 - dw Route20Text3 - dw Route20Text4 - dw Route20Text5 - dw Route20Text6 - dw Route20Text7 - dw Route20Text8 - dw Route20Text9 - dw Route20Text10 - dw Route20Text11 - dw Route20Text12 - -Route20TrainerHeaders: ; 50d3a (14:4d3a) -Route20TrainerHeader0: ; 50d3a (14:4d3a) - db $1 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7e7 ; flag's byte - dw Route20BattleText1 ; 0x4e17 TextBeforeBattle - dw Route20AfterBattleText1 ; 0x4e21 TextAfterBattle - dw Route20EndBattleText1 ; 0x4e1c TextEndBattle - dw Route20EndBattleText1 ; 0x4e1c TextEndBattle - -Route20TrainerHeader2: ; 50d46 (14:4d46) - db $2 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7e7 ; flag's byte - dw Route20BattleText2 ; 0x4e26 TextBeforeBattle - dw Route20AfterBattleText2 ; 0x4e30 TextAfterBattle - dw Route20EndBattleText2 ; 0x4e2b TextEndBattle - dw Route20EndBattleText2 ; 0x4e2b TextEndBattle - -Route20TrainerHeader3: ; 50d52 (14:4d52) - db $3 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7e7 ; flag's byte - dw Route20BattleText3 ; 0x4e35 TextBeforeBattle - dw Route20AfterBattleText3 ; 0x4e3f TextAfterBattle - dw Route20EndBattleText3 ; 0x4e3a TextEndBattle - dw Route20EndBattleText3 ; 0x4e3a TextEndBattle - -Route20TrainerHeader4: ; 50d5e (14:4d5e) - db $4 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7e7 ; flag's byte - dw Route20BattleText4 ; 0x4e44 TextBeforeBattle - dw Route20AfterBattleText4 ; 0x4e4e TextAfterBattle - dw Route20EndBattleText4 ; 0x4e49 TextEndBattle - dw Route20EndBattleText4 ; 0x4e49 TextEndBattle - -Route20TrainerHeader5: ; 50d6a (14:4d6a) - db $5 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7e7 ; flag's byte - dw Route20BattleText5 ; 0x4e53 TextBeforeBattle - dw Route20AfterBattleText5 ; 0x4e5d TextAfterBattle - dw Route20EndBattleText5 ; 0x4e58 TextEndBattle - dw Route20EndBattleText5 ; 0x4e58 TextEndBattle - -Route20TrainerHeader6: ; 50d76 (14:4d76) - db $6 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7e7 ; flag's byte - dw Route20BattleText6 ; 0x4e62 TextBeforeBattle - dw Route20AfterBattleText6 ; 0x4e6c TextAfterBattle - dw Route20EndBattleText6 ; 0x4e67 TextEndBattle - dw Route20EndBattleText6 ; 0x4e67 TextEndBattle - -Route20TrainerHeader7: ; 50d82 (14:4d82) - db $7 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7e7 ; flag's byte - dw Route20BattleText7 ; 0x4e71 TextBeforeBattle - dw Route20AfterBattleText7 ; 0x4e7b TextAfterBattle - dw Route20EndBattleText7 ; 0x4e76 TextEndBattle - dw Route20EndBattleText7 ; 0x4e76 TextEndBattle - -Route20TrainerHeader8: ; 50d8e (14:4d8e) - db $8 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7e7 ; flag's byte - dw Route20BattleText8 ; 0x4e80 TextBeforeBattle - dw Route20AfterBattleText8 ; 0x4e8a TextAfterBattle - dw Route20EndBattleText8 ; 0x4e85 TextEndBattle - dw Route20EndBattleText8 ; 0x4e85 TextEndBattle - -Route20TrainerHeader9: ; 50d9a (14:4d9a) - db $9 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7e7 ; flag's byte - dw Route20BattleText9 ; 0x4e8f TextBeforeBattle - dw Route20AfterBattleText9 ; 0x4e99 TextAfterBattle - dw Route20EndBattleText9 ; 0x4e94 TextEndBattle - dw Route20EndBattleText9 ; 0x4e94 TextEndBattle - -Route20TrainerHeader10: ; 50da6 (14:4da6) - db $a ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7e7 ; flag's byte - dw Route20BattleText10 ; 0x4e9e TextBeforeBattle - dw Route20AfterBattleText10 ; 0x4ea8 TextAfterBattle - dw Route20EndBattleText10 ; 0x4ea3 TextEndBattle - dw Route20EndBattleText10 ; 0x4ea3 TextEndBattle - - db $ff - -Route20Text1: ; 50db3 (14:4db3) - db $08 ; asm - ld hl, Route20TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -Route20Text2: ; 50dbd (14:4dbd) - db $08 ; asm - ld hl, Route20TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -Route20Text3: ; 50dc7 (14:4dc7) - db $08 ; asm - ld hl, Route20TrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -Route20Text4: ; 50dd1 (14:4dd1) - db $08 ; asm - ld hl, Route20TrainerHeader4 - call TalkToTrainer - jp TextScriptEnd - -Route20Text5: ; 50ddb (14:4ddb) - db $08 ; asm - ld hl, Route20TrainerHeader5 - call TalkToTrainer - jp TextScriptEnd - -Route20Text6: ; 50de5 (14:4de5) - db $08 ; asm - ld hl, Route20TrainerHeader6 - call TalkToTrainer - jp TextScriptEnd - -Route20Text7: ; 50def (14:4def) - db $08 ; asm - ld hl, Route20TrainerHeader7 - call TalkToTrainer - jp TextScriptEnd - -Route20Text8: ; 50df9 (14:4df9) - db $08 ; asm - ld hl, Route20TrainerHeader8 - call TalkToTrainer - jp TextScriptEnd - -Route20Text9: ; 50e03 (14:4e03) - db $08 ; asm - ld hl, Route20TrainerHeader9 - call TalkToTrainer - jp TextScriptEnd - -Route20Text10: ; 50e0d (14:4e0d) - db $08 ; asm - ld hl, Route20TrainerHeader10 - call TalkToTrainer - jp TextScriptEnd - -Route20BattleText1: ; 50e17 (14:4e17) - TX_FAR _Route20BattleText1 - db "@" - -Route20EndBattleText1: ; 50e1c (14:4e1c) - TX_FAR _Route20EndBattleText1 - db "@" - -Route20AfterBattleText1: ; 50e21 (14:4e21) - TX_FAR _Route20AfterBattleText1 - db "@" - -Route20BattleText2: ; 50e26 (14:4e26) - TX_FAR _Route20BattleText2 - db "@" - -Route20EndBattleText2: ; 50e2b (14:4e2b) - TX_FAR _Route20EndBattleText2 - db "@" - -Route20AfterBattleText2: ; 50e30 (14:4e30) - TX_FAR _Route20AfterBattleText2 - db "@" - -Route20BattleText3: ; 50e35 (14:4e35) - TX_FAR _Route20BattleText3 - db "@" - -Route20EndBattleText3: ; 50e3a (14:4e3a) - TX_FAR _Route20EndBattleText3 - db "@" - -Route20AfterBattleText3: ; 50e3f (14:4e3f) - TX_FAR _Route20AfterBattleText3 - db "@" - -Route20BattleText4: ; 50e44 (14:4e44) - TX_FAR _Route20BattleText4 - db "@" - -Route20EndBattleText4: ; 50e49 (14:4e49) - TX_FAR _Route20EndBattleText4 - db "@" - -Route20AfterBattleText4: ; 50e4e (14:4e4e) - TX_FAR _Route20AfterBattleText4 - db "@" - -Route20BattleText5: ; 50e53 (14:4e53) - TX_FAR _Route20BattleText5 - db "@" - -Route20EndBattleText5: ; 50e58 (14:4e58) - TX_FAR _Route20EndBattleText5 - db "@" - -Route20AfterBattleText5: ; 50e5d (14:4e5d) - TX_FAR _Route20AfterBattleText5 - db "@" - -Route20BattleText6: ; 50e62 (14:4e62) - TX_FAR _Route20BattleText6 - db "@" - -Route20EndBattleText6: ; 50e67 (14:4e67) - TX_FAR _Route20EndBattleText6 - db "@" - -Route20AfterBattleText6: ; 50e6c (14:4e6c) - TX_FAR _Route20AfterBattleText6 - db "@" - -Route20BattleText7: ; 50e71 (14:4e71) - TX_FAR _Route20BattleText7 - db "@" - -Route20EndBattleText7: ; 50e76 (14:4e76) - TX_FAR _Route20EndBattleText7 - db "@" - -Route20AfterBattleText7: ; 50e7b (14:4e7b) - TX_FAR _Route20AfterBattleText7 - db "@" - -Route20BattleText8: ; 50e80 (14:4e80) - TX_FAR _Route20BattleText8 - db "@" - -Route20EndBattleText8: ; 50e85 (14:4e85) - TX_FAR _Route20EndBattleText8 - db "@" - -Route20AfterBattleText8: ; 50e8a (14:4e8a) - TX_FAR _Route20AfterBattleText8 - db "@" - -Route20BattleText9: ; 50e8f (14:4e8f) - TX_FAR _Route20BattleText9 - db "@" - -Route20EndBattleText9: ; 50e94 (14:4e94) - TX_FAR _Route20EndBattleText9 - db "@" - -Route20AfterBattleText9: ; 50e99 (14:4e99) - TX_FAR _Route20AfterBattleText9 - db "@" - -Route20BattleText10: ; 50e9e (14:4e9e) - TX_FAR _Route20BattleText10 - db "@" - -Route20EndBattleText10: ; 50ea3 (14:4ea3) - TX_FAR _Route20EndBattleText10 - db "@" - -Route20AfterBattleText10: ; 50ea8 (14:4ea8) - TX_FAR _Route20AfterBattleText10 - db "@" - -Route20Text12: ; 50ead (14:4ead) -Route20Text11: ; 50ead (14:4ead) - TX_FAR _Route20Text11 - db "@" - -Route22Script: ; 50eb2 (14:4eb2) - call EnableAutoTextBoxDrawing - ld hl, Route22ScriptPointers - ld a, [W_ROUTE22CURSCRIPT] - jp CallFunctionInTable - -Route22ScriptPointers: ; 50ebe (14:4ebe) - dw Route22Script0 - dw Route22Script1 - dw Route22Script2 - dw Route22Script3 - dw Route22Script4 - dw Route22Script5 - dw Route22Script6 - dw Route22Script7 - -Func_50ece: ; 50ece (14:4ece) - xor a - ld [wJoypadForbiddenButtonsMask], a - ld [W_ROUTE22CURSCRIPT], a -Route22Script7: ; 50ed5 (14:4ed5) - ret - -Func_50ed6: ; 50ed6 (14:4ed6) - ld a, [W_RIVALSTARTER] ; $d715 - ld b, a -.asm_50eda - ld a, [hli] - cp b - jr z, .asm_50ee1 - inc hl - jr .asm_50eda -.asm_50ee1 - ld a, [hl] - ld [W_TRAINERNO], a ; $d05d - ret - -Func_50ee6: ; 50ee6 (14:4ee6) - ld de, MovementData_50efb ; $4efb - ld a, [$cf0d] - cp $1 - jr z, .asm_50ef1 - inc de -.asm_50ef1 - call MoveSprite - ld a, $c - ld [$ff8d], a - jp Func_34a6 - -MovementData_50efb: ; 50efb (14:4efb) - db $C0,$C0,$C0,$C0,$FF - -Route22Script0: ; 50f00 (14:4f00) - ld a, [$d7eb] - bit 7, a - ret z - ld hl, .CoordsData_50f2d ; $4f2d - call ArePlayerCoordsInArray - ret nc - ld a, [$cd3d] - ld [$cf0d], a - xor a - ld [H_CURRENTPRESSEDBUTTONS], a - ld a, $f0 - ld [wJoypadForbiddenButtonsMask], a - ld a, $2 - ld [$d528], a - ld a, [$d7eb] - bit 0, a - jr nz, .asm_50f32 ; 0x50f25 $b - bit 1, a - jp nz, Func_5104e - ret - -.CoordsData_50f2d - db $04, $1D - db $05, $1D - db $FF - -.asm_50f32 - ld a, $1 - ld [$cd4f], a - xor a - ld [$cd50], a - ld a, $4c - call Predef - ld a, [$d700] - and a - jr z, .asm_50f4e ; 0x50f44 $8 - ld a, $ff - ld [$c0ee], a - call PlaySound -.asm_50f4e - ld c, BANK(Music_MeetRival) - ld a, MUSIC_MEET_RIVAL - call PlayMusic - ld a, $1 - ld [$ff8c], a - call Func_50ee6 - ld a, $1 - ld [W_ROUTE22CURSCRIPT], a - ret - -Route22Script1: ; 50f62 (14:4f62) - ld a, [$d730] - bit 0, a - ret nz - ld a, [$cf0d] - cp $1 - jr nz, .asm_50f78 ; 0x50f6d $9 - ld a, $4 - ld [$d528], a - ld a, $4 - jr .asm_50f7a ; 0x50f76 $2 -.asm_50f78 - ld a, $c -.asm_50f7a - ld [$ff8d], a - ld a, $1 - ld [$ff8c], a - call Func_34a6 - xor a - ld [wJoypadForbiddenButtonsMask], a - ld a, $1 - ld [$ff8c], a - call DisplayTextID - ld hl, $d72d - set 6, [hl] - set 7, [hl] - ld hl, UnnamedText_511b7 - ld de, UnnamedText_511bc - call PreBattleSaveRegisters - ld a, SONY1 + $c8 - ld [W_CUROPPONENT], a - ld hl, StarterMons_50faf ; $4faf - call Func_50ed6 - ld a, $2 - ld [W_ROUTE22CURSCRIPT], a - ret - -StarterMons_50faf: ; 50faf (14:4faf) - db SQUIRTLE,$04 - db BULBASAUR,$05 - db CHARMANDER,$06 - -Route22Script2: ; 50fb5 (14:4fb5) - ld a, [$d057] - cp $ff - jp z, Func_50ece - ld a, [$c109] - and a - jr nz, .asm_50fc7 ; 0x50fc1 $4 - ld a, $4 - jr .asm_50fc9 ; 0x50fc5 $2 -.asm_50fc7 - ld a, $c -.asm_50fc9 - ld [$ff8d], a - ld a, $1 - ld [$ff8c], a - call Func_34a6 - ld a, $f0 - ld [wJoypadForbiddenButtonsMask], a - ld hl, $d7eb - set 5, [hl] - ld a, $1 - ld [$ff8c], a - call DisplayTextID - ld a, $ff - ld [$c0ee], a - call PlaySound - ld b, BANK(Music_RivalAlternateStart) - ld hl, Music_RivalAlternateStart - call Bankswitch - ld a, [$cf0d] - cp $1 - jr nz, .asm_50fff ; 0x50ff8 $5 - call Func_51008 - jr .asm_51002 ; 0x50ffd $3 -.asm_50fff - call Func_5100d -.asm_51002 - ld a, $3 - ld [W_ROUTE22CURSCRIPT], a - ret - -Func_51008: ; 51008 (14:5008) - ld de, MovementData_51017 ; $5017 - jr asm_51010 - -Func_5100d: ; 5100d (14:500d) - ld de, MovementData_5101f ; $501f -asm_51010 - ld a, $1 - ld [H_SPRITEHEIGHT], a - jp MoveSprite - -MovementData_51017: ; 51017 (14:5017) - db $C0,$C0,$00,$00,$00,$00,$00,$FF - -MovementData_5101f: ; 5101f (14:501f) - db $40,$C0,$C0,$C0,$00,$00,$00,$00,$00,$00,$FF - -Route22Script3: ; 5102a (14:502a) - ld a, [$d730] - bit 0, a - ret nz - xor a - ld [wJoypadForbiddenButtonsMask], a - ld a, $22 - ld [$cc4d], a - ld a, $11 - call Predef - call Func_2307 - ld hl, $d7eb - res 0, [hl] - res 7, [hl] - ld a, $0 - ld [W_ROUTE22CURSCRIPT], a - ret - -Func_5104e: ; 5104e (14:504e) - ld a, $2 - ld [$cd4f], a - xor a - ld [$cd50], a - ld a, $4c - call Predef ; indirect jump to PrintEmotionBubble (17c47 (5:7c47)) - ld a, [$d700] - and a - jr z, .skipYVisibilityTesta - ld a, $ff - ld [$c0ee], a - call PlaySound -.skipYVisibilityTesta - ld a, $ff - ld [$c0ee], a - call PlaySound - ld b, BANK(Music_RivalAlternateTempo) - ld hl, Music_RivalAlternateTempo - call Bankswitch - ld a, $2 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - call Func_50ee6 - ld a, $4 - ld [W_ROUTE22CURSCRIPT], a - ret - -Route22Script4: ; 51087 (14:5087) - ld a, [$d730] - bit 0, a - ret nz - ld a, $2 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - ld a, [$cf0d] - cp $1 - jr nz, .asm_510a1 - ld a, $4 - ld [$d528], a - ld a, $4 - jr .asm_510a8 -.asm_510a1 - ld a, $2 - ld [$d528], a - ld a, $c -.asm_510a8 - ld [$ff8d], a - call Func_34a6 - xor a - ld [wJoypadForbiddenButtonsMask], a - ld a, $2 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - call DisplayTextID - ld hl, $d72d - set 6, [hl] - set 7, [hl] - ld hl, UnnamedText_511cb ; $51cb - ld de, UnnamedText_511d0 ; $51d0 - call PreBattleSaveRegisters - ld a, SONY2 + $c8 - ld [W_CUROPPONENT], a ; $d059 - ld hl, StarterMons_510d9 ; $50d9 - call Func_50ed6 - ld a, $5 - ld [W_ROUTE22CURSCRIPT], a - ret - -StarterMons_510d9: ; 510d9 (14:50d9) - db SQUIRTLE,$0a - db BULBASAUR,$0b - db CHARMANDER,$0c - -Route22Script5: ; 510df (14:50df) - ld a, [W_ISINBATTLE] ; $d057 - cp $ff - jp z, Func_50ece - ld a, $2 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - ld a, [$cf0d] - cp $1 - jr nz, .asm_510fb - ld a, $4 - ld [$d528], a - ld a, $4 - jr .asm_51102 -.asm_510fb - ld a, $2 - ld [$d528], a - ld a, $c -.asm_51102 - ld [$ff8d], a - call Func_34a6 - ld a, $f0 - ld [wJoypadForbiddenButtonsMask], a - ld hl, $d7eb - set 6, [hl] - ld a, $2 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - call DisplayTextID - ld a, $ff - ld [$c0ee], a - call PlaySound - ld b, BANK(Music_RivalAlternateStartAndTempo) - ld hl, Music_RivalAlternateStartAndTempo - call Bankswitch - ld a, [$cf0d] - cp $1 - jr nz, .asm_51134 - call Func_5113d - jr .asm_51137 -.asm_51134 - call Func_51142 -.asm_51137 - ld a, $6 - ld [W_ROUTE22CURSCRIPT], a - ret - -Func_5113d: ; 5113d (14:513d) - ld de, MovementData_5114c ; $514c - jr asm_51145 - -Func_51142: ; 51142 (14:5142) - ld de, MovementData_5114d ; $514d -asm_51145: ; 51145 (14:5145) - ld a, $2 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - jp MoveSprite - -MovementData_5114c: ; 5114c (14:514c) - db $80 - -MovementData_5114d: ; 5114d (14:514d) - db $80,$80,$80,$FF - -Route22Script6: ; 51151 (14:5151) - ld a, [$d730] - bit 0, a - ret nz - xor a - ld [wJoypadForbiddenButtonsMask], a - ld a, $23 - ld [$cc4d], a - ld a, $11 - call Predef ; indirect jump to RemoveMissableObject (f1d7 (3:71d7)) - call Func_2307 - ld hl, $d7eb - res 1, [hl] - res 7, [hl] - ld a, $7 - ld [W_ROUTE22CURSCRIPT], a - ret - -Route22TextPointers: ; 51175 (14:5175) - dw Route22Text1 - dw Route22Text2 - dw Route22Text3 - -Route22Text1: ; 5117b (14:517b) - db $08 ; asm - ld a, [$d7eb] - bit 5, a - jr z, .asm_a88cf ; 0x51181 - ld hl, UnnamedText_511b2 - call PrintText - jr .asm_48088 ; 0x51189 -.asm_a88cf ; 0x5118b - ld hl, UnnamedText_511ad - call PrintText -.asm_48088 ; 0x51191 - jp TextScriptEnd - -Route22Text2: ; 51194 (14:5194) - db $08 ; asm - ld a, [$d7eb] - bit 6, a - jr z, .asm_58c0a ; 0x5119a - ld hl, UnnamedText_511c6 - call PrintText - jr .asm_673ee ; 0x511a2 -.asm_58c0a ; 0x511a4 - ld hl, UnnamedText_511c1 - call PrintText -.asm_673ee ; 0x511aa - jp TextScriptEnd - -UnnamedText_511ad: ; 511ad (14:51ad) - TX_FAR _UnnamedText_511ad - db "@" - -UnnamedText_511b2: ; 511b2 (14:51b2) - TX_FAR _UnnamedText_511b2 - db "@" - -UnnamedText_511b7: ; 511b7 (14:51b7) - TX_FAR _UnnamedText_511b7 - db "@" - -UnnamedText_511bc: ; 511bc (14:51bc) - TX_FAR _UnnamedText_511bc - db "@" - -UnnamedText_511c1: ; 511c1 (14:51c1) - TX_FAR _UnnamedText_511c1 - db "@" - -UnnamedText_511c6: ; 511c6 (14:51c6) - TX_FAR _UnnamedText_511c6 - db "@" - -UnnamedText_511cb: ; 511cb (14:51cb) - TX_FAR _UnnamedText_511cb - db "@" - -UnnamedText_511d0: ; 511d0 (14:51d0) - TX_FAR _UnnamedText_511d0 - db "@" - -Route22Text3: ; 511d5 (14:51d5) - TX_FAR _Route22Text3 - db "@" - -Route23Script: ; 511da (14:51da) - call Func_511e9 - call EnableAutoTextBoxDrawing - ld hl, Route23ScriptPointers - ld a, [W_ROUTE23CURSCRIPT] - jp CallFunctionInTable - -Func_511e9: ; 511e9 (14:51e9) - ld hl, $d126 - bit 6, [hl] - res 6, [hl] - ret z - ld hl, $d7ee - res 0, [hl] - res 7, [hl] - ld hl, $d813 - res 0, [hl] - res 6, [hl] - ld a, $7a - ld [$cc4d], a - ld a, $15 - call Predef ; indirect jump to AddMissableObject (f1c8 (3:71c8)) - ld a, $60 - ld [$cc4d], a - ld a, $11 - jp Predef ; indirect jump to RemoveMissableObject (f1d7 (3:71d7)) - -Route23ScriptPointers: ; 51213 (14:5213) - dw Route23Script0 - dw Route23Script1 - dw Route23Script2 - -Route23Script0: ; 51219 (14:5219) - ld hl, YCoordsData_51255 ; $5255 - ld a, [W_YCOORD] - ld b, a - ld e, $0 - ld c, $7 -.asm_51224 - ld a, [hli] - cp $ff - ret z - inc e - dec c - cp b - jr nz, .asm_51224 ; 0x5122b $f7 - cp $23 - jr nz, .asm_51237 ; 0x5122f $6 - ld a, [W_XCOORD] - cp $e - ret nc -.asm_51237 - ld a, e - ld [$ff8c], a - ld a, c - ld [$cd3d], a - ld b, $2 - ld hl, $d7ed - ld a, $10 - call Predef - ld a, c - and a - ret nz - call Func_5125d - call DisplayTextID - xor a - ld [H_CURRENTPRESSEDBUTTONS], a - ret - -YCoordsData_51255: ; 51255 (14:5255) - db $23,$38,$55,$60,$69,$77,$88,$FF - -Func_5125d: ; 5125d (14:525d) - ld hl, BadgeTextPointers ; $5276 - ld a, [wWhichTrade] ; $cd3d - ld c, a - ld b, $0 - add hl, bc - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - ld de, $cd6d -.asm_5126e - ld a, [hli] - ld [de], a - inc de - cp $50 - jr nz, .asm_5126e - ret - -BadgeTextPointers: ; 51276 (14:5276) - dw CascadeBadgeText - dw ThunderBadgeText - dw RainbowBadgeText - dw SoulBadgeText - dw MarshBadgeText - dw VolcanoBadgeText - dw EarthBadgeText - -EarthBadgeText: ; 51284 (14:5284) - db "EARTHBADGE@" - -VolcanoBadgeText: ; 5128f (14:528f) - db "VOLCANOBADGE@" - -MarshBadgeText: ; 5129c (14:529c) - db "MARSHBADGE@" - -SoulBadgeText: ; 512a7 (14:52a7) - db "SOULBADGE@" - -RainbowBadgeText: ; 512b1 (14:52b1) - db "RAINBOWBADGE@" - -ThunderBadgeText: ; 512be (14:52be) - db "THUNDERBADGE@" - -CascadeBadgeText: ; 512cb (14:52cb) - db "CASCADEBADGE@" - -Func_512d8: ; 512d8 (14:52d8) - ld a, $1 - ld [$cd38], a - ld a, $80 - ld [$ccd3], a - xor a - ld [$c109], a - ld [wJoypadForbiddenButtonsMask], a - jp Func_3486 - -Route23Script1: ; 512ec (14:52ec) - ld a, [$cd38] - and a - ret nz -Route23Script2: ; 512f1 (14:52f1) - ld a, $0 - ld [W_ROUTE23CURSCRIPT], a - ret - -Route23TextPointers: ; 512f7 (14:52f7) - dw Route23Text1 - dw Route23Text2 - dw Route23Text3 - dw Route23Text4 - dw Route23Text5 - dw Route23Text6 - dw Route23Text7 - dw Route23Text8 - -Route23Text1: ; 51307 (14:5307) - db $08 ; asm - ld a, $6 - call Func_51346 - jp TextScriptEnd - -Route23Text2: ; 51310 (14:5310) - db $08 ; asm - ld a, $5 - call Func_51346 - jp TextScriptEnd - -Route23Text3: ; 51319 (14:5319) - db $08 ; asm - ld a, $4 - call Func_51346 - jp TextScriptEnd - -Route23Text4: ; 51322 (14:5322) - db $08 ; asm - ld a, $3 - call Func_51346 - jp TextScriptEnd - -Route23Text5: ; 5132b (14:532b) - db $08 ; asm - ld a, $2 - call Func_51346 - jp TextScriptEnd - -Route23Text6: ; 51334 (14:5334) - db $08 ; asm - ld a, $1 - call Func_51346 - jp TextScriptEnd - -Route23Text7: ; 5133d (14:533d) - db $8 - ld a, $0 - call Func_51346 - jp TextScriptEnd - -Func_51346: ; 51346 (14:5346) - ld [wWhichTrade], a ; $cd3d - call Func_5125d - ld a, [wWhichTrade] ; $cd3d - inc a - ld c, a - ld b, $2 - ld hl, W_OBTAINEDBADGES - ld a, $10 - call Predef ; indirect jump to HandleBitArray (f666 (3:7666)) - ld a, c - and a - jr nz, .asm_5136e - ld hl, VictoryRoadGuardText1 - call PrintText - call Func_512d8 - ld a, $1 - ld [W_ROUTE23CURSCRIPT], a - ret -.asm_5136e - ld hl, VictoryRoadGuardText2 - call PrintText - ld a, [wWhichTrade] ; $cd3d - ld c, a - ld b, $1 - ld hl, $d7ed - ld a, $10 - call Predef ; indirect jump to HandleBitArray (f666 (3:7666)) - ld a, $2 - ld [W_ROUTE23CURSCRIPT], a - ret - -Func_51388: ; 51388 (14:5388) - ld hl, VictoryRoadGuardText2 - jp PrintText - -VictoryRoadGuardText1: ; 5138e (14:538e) - TX_FAR _VictoryRoadGuardText1 - db $08 ; asm - ld a, (SFX_02_51 - SFX_Headers_02) / 3 - call PlaySoundWaitForCurrent - call WaitForSoundToFinish - jp TextScriptEnd - -VictoryRoadGuardText2: ; 5139e (14:539e) - TX_FAR _VictoryRoadGuardText2 - db $b - TX_FAR _UnnamedText_513a3 - db "@" - -Route23Text8: ; 513a8 (14:53a8) - TX_FAR _Route23Text8 - db "@" - -Route24Script: ; 513ad (14:53ad) - call EnableAutoTextBoxDrawing - ld hl, Route24TrainerHeaders - ld de, Route24ScriptPointers - ld a, [W_ROUTE24CURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_ROUTE24CURSCRIPT], a - ret - -Func_513c0: ; 513c0 (14:53c0) - xor a - ld [wJoypadForbiddenButtonsMask], a - ld [W_ROUTE24CURSCRIPT], a - ld [W_CURMAPSCRIPT], a - ret - -Route24ScriptPointers: ; 513cb (14:53cb) - dw Route24Script0 - dw Func_324c - dw EndTrainerBattle - dw Route24Script3 - dw Route24Script4 - -Route24Script0: ; 513d5 (14:53d5) - ld a, [$d7ef] - bit 0, a - jp nz, CheckFightingMapTrainers - ld hl, CoordsData_5140e ; $540e - call ArePlayerCoordsInArray - jp nc, CheckFightingMapTrainers - xor a - ld [H_CURRENTPRESSEDBUTTONS], a - ld a, $1 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - call DisplayTextID - ld hl, $d7f0 - bit 1, [hl] - res 1, [hl] - ret z - ld a, $80 - ld [$ccd3], a - ld a, $1 - ld [$cd38], a - call Func_3486 - ld a, $4 - ld [W_ROUTE24CURSCRIPT], a - ld [W_CURMAPSCRIPT], a - ret - -CoordsData_5140e: ; 5140e (14:540e) - db $0F,$0A,$FF - -Route24Script4: ; 51411 (14:5411) - ld a, [$cd38] - and a - ret nz - call Delay3 - ld a, $0 - ld [W_ROUTE24CURSCRIPT], a - ld [W_CURMAPSCRIPT], a - ret - -Route24Script3: ; 51422 (14:5422) - ld a, [W_ISINBATTLE] ; $d057 - cp $ff - jp z, Func_513c0 - call UpdateSprites - ld a, $f0 - ld [wJoypadForbiddenButtonsMask], a - ld hl, $d7ef - set 1, [hl] - ld a, $1 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - call DisplayTextID - xor a - ld [wJoypadForbiddenButtonsMask], a - ld a, $0 - ld [W_ROUTE24CURSCRIPT], a - ld [W_CURMAPSCRIPT], a - ret - -Route24TextPointers: ; 5144b (14:544b) - dw Route24Text1 - dw Route24Text2 - dw Route24Text3 - dw Route24Text4 - dw Route24Text5 - dw Route24Text6 - dw Route24Text7 - dw Predef5CText - -Route24TrainerHeaders: ; 5145b (14:545b) -Route24TrainerHeader0: ; 5145b (14:545b) - db $2 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7ef ; flag's byte - dw Route24BattleText1 ; 0x5571 TextBeforeBattle - dw Route24AfterBattleText1 ; 0x557b TextAfterBattle - dw Route24EndBattleText1 ; 0x5576 TextEndBattle - dw Route24EndBattleText1 ; 0x5576 TextEndBattle - -Route24TrainerHeader2: ; 51467 (14:5467) - db $3 ; flag's bit - db ($1 << 4) ; trainer's view range - dw $d7ef ; flag's byte - dw Route24BattleText2 ; 0x5580 TextBeforeBattle - dw Route24AfterBattleText2 ; 0x558a TextAfterBattle - dw Route24EndBattleText2 ; 0x5585 TextEndBattle - dw Route24EndBattleText2 ; 0x5585 TextEndBattle - -Route24TrainerHeader3: ; 51473 (14:5473) - db $4 ; flag's bit - db ($1 << 4) ; trainer's view range - dw $d7ef ; flag's byte - dw Route24BattleText3 ; 0x558f TextBeforeBattle - dw Route24AfterBattleText3 ; 0x5599 TextAfterBattle - dw Route24EndBattleText3 ; 0x5594 TextEndBattle - dw Route24EndBattleText3 ; 0x5594 TextEndBattle - -Route24TrainerHeader4: ; 5147f (14:547f) - db $5 ; flag's bit - db ($1 << 4) ; trainer's view range - dw $d7ef ; flag's byte - dw Route24BattleText4 ; 0x559e TextBeforeBattle - dw Route24AfterBattleText4 ; 0x55a8 TextAfterBattle - dw Route24EndBattleText4 ; 0x55a3 TextEndBattle - dw Route24EndBattleText4 ; 0x55a3 TextEndBattle - -Route24TrainerHeader5: ; 5148b (14:548b) - db $6 ; flag's bit - db ($1 << 4) ; trainer's view range - dw $d7ef ; flag's byte - dw Route24BattleText5 ; 0x55ad TextBeforeBattle - dw Route24AfterBattleText5 ; 0x55b7 TextAfterBattle - dw Route24EndBattleText5 ; 0x55b2 TextEndBattle - dw Route24EndBattleText5 ; 0x55b2 TextEndBattle - -Route24TrainerHeader6: ; 51497 (14:5497) - db $7 ; flag's bit - db ($1 << 4) ; trainer's view range - dw $d7ef ; flag's byte - dw Route24BattleText6 ; 0x55bc TextBeforeBattle - dw Route24AfterBattleText6 ; 0x55c6 TextAfterBattle - dw Route24EndBattleText6 ; 0x55c1 TextEndBattle - dw Route24EndBattleText6 ; 0x55c1 TextEndBattle - - db $ff - -Route24Text1: ; 514a4 (14:54a4) - db $8 - ld hl, $d7f0 - res 1, [hl] - ld a, [$d7ef] - bit 0, a - jr nz, .asm_a03f5 ; 0x514af $48 - ld hl, UnnamedText_51510 - call PrintText - ld bc, (NUGGET << 8) | 1 - call GiveItem - jr nc, .BagFull - ld hl, $d7ef - set 0, [hl] - ld hl, UnnamedText_5151a - call PrintText - ld hl, UnnamedText_51526 - call PrintText - ld hl, $d72d - set 6, [hl] - set 7, [hl] - ld hl, UnnamedText_5152b - ld de, UnnamedText_5152b - call PreBattleSaveRegisters - ld a, [$ff8c] - ld [$cf13], a - call EngageMapTrainer - call InitBattleEnemyParameters - xor a - ld [H_CURRENTPRESSEDBUTTONS], a - ld a, $3 - ld [W_ROUTE24CURSCRIPT], a - ld [W_CURMAPSCRIPT], a - jp TextScriptEnd -.asm_a03f5 ; 0x514f9 - ld hl, UnnamedText_51530 - call PrintText - jp TextScriptEnd -.BagFull - ld hl, UnnamedText_51521 - call PrintText - ld hl, $d7f0 - set 1, [hl] - jp TextScriptEnd - -UnnamedText_51510: ; 51510 (14:5510) - TX_FAR _UnnamedText_51510 ; 0x92721 - db $0B - TX_FAR _UnnamedText_51515 ; 0x92755 - db "@" - -UnnamedText_5151a: ; 5151a (14:551a) - TX_FAR _UnnamedText_5151a ; 0x92779 - db $0B, $6, "@" - -UnnamedText_51521: ; 51521 (14:5521) - TX_FAR _UnnamedText_51521 - db "@" - -UnnamedText_51526: ; 51526 (14:5526) - TX_FAR _UnnamedText_51526 - db "@" - -UnnamedText_5152b: ; 5152b (14:552b) - TX_FAR _UnnamedText_5152b - db "@" - -UnnamedText_51530: ; 51530 (14:5530) - TX_FAR _UnnamedText_51530 - db "@" - -Route24Text2: ; 51535 (14:5535) - db $08 ; asm - ld hl, Route24TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -Route24Text3: ; 5153f (14:553f) - db $08 ; asm - ld hl, Route24TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -Route24Text4: ; 51549 (14:5549) - db $08 ; asm - ld hl, Route24TrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -Route24Text5: ; 51553 (14:5553) - db $08 ; asm - ld hl, Route24TrainerHeader4 - call TalkToTrainer - jp TextScriptEnd - -Route24Text6: ; 5155d (14:555d) - db $08 ; asm - ld hl, Route24TrainerHeader5 - call TalkToTrainer - jp TextScriptEnd - -Route24Text7: ; 51567 (14:5567) - db $08 ; asm - ld hl, Route24TrainerHeader6 - call TalkToTrainer - jp TextScriptEnd - -Route24BattleText1: ; 51571 (14:5571) - TX_FAR _Route24BattleText1 - db "@" - -Route24EndBattleText1: ; 51576 (14:5576) - TX_FAR _Route24EndBattleText1 - db "@" - -Route24AfterBattleText1: ; 5157b (14:557b) - TX_FAR _Route24AfterBattleText1 - db "@" - -Route24BattleText2: ; 51580 (14:5580) - TX_FAR _Route24BattleText2 - db "@" - -Route24EndBattleText2: ; 51585 (14:5585) - TX_FAR _Route24EndBattleText2 - db "@" - -Route24AfterBattleText2: ; 5158a (14:558a) - TX_FAR _Route24AfterBattleText2 - db "@" - -Route24BattleText3: ; 5158f (14:558f) - TX_FAR _Route24BattleText3 - db "@" - -Route24EndBattleText3: ; 51594 (14:5594) - TX_FAR _Route24EndBattleText3 - db "@" - -Route24AfterBattleText3: ; 51599 (14:5599) - TX_FAR _Route24AfterBattleText3 - db "@" - -Route24BattleText4: ; 5159e (14:559e) - TX_FAR _Route24BattleText4 - db "@" - -Route24EndBattleText4: ; 515a3 (14:55a3) - TX_FAR _Route24EndBattleText4 - db "@" - -Route24AfterBattleText4: ; 515a8 (14:55a8) - TX_FAR _Route24AfterBattleText4 - db "@" - -Route24BattleText5: ; 515ad (14:55ad) - TX_FAR _Route24BattleText5 - db "@" - -Route24EndBattleText5: ; 515b2 (14:55b2) - TX_FAR _Route24EndBattleText5 - db "@" - -Route24AfterBattleText5: ; 515b7 (14:55b7) - TX_FAR _Route24AfterBattleText5 - db "@" - -Route24BattleText6: ; 515bc (14:55bc) - TX_FAR _Route24BattleText6 - db "@" - -Route24EndBattleText6: ; 515c1 (14:55c1) - TX_FAR _Route24EndBattleText6 - db "@" - -Route24AfterBattleText6: ; 515c6 (14:55c6) - TX_FAR _Route24AfterBattleText6 - db "@" - -Route25Script: ; 515cb (14:55cb) - call Route25Script_515e1 - call EnableAutoTextBoxDrawing - ld hl, Route25TrainerHeaders - ld de, Route25ScriptPointers - ld a, [W_ROUTE25CURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_ROUTE25CURSCRIPT], a - ret - -Route25Script_515e1: ; 515e1 (14:55e1) - ld hl, $d126 - bit 6, [hl] - res 6, [hl] - ret z - ld hl, $d7f2 - bit 7, [hl] - ret nz - bit 5, [hl] - jr nz, .asm_515ff - res 6, [hl] - ld a, $61 - ld [$cc4d], a - ld a, $15 - jp Predef ; indirect jump to AddMissableObject (f1c8 (3:71c8)) -.asm_515ff - bit 4, [hl] - ret z - set 7, [hl] - ld a, $24 - ld [$cc4d], a - ld a, $11 - call Predef ; indirect jump to RemoveMissableObject (f1d7 (3:71d7)) - ld a, $62 - ld [$cc4d], a - ld a, $11 - call Predef ; indirect jump to RemoveMissableObject (f1d7 (3:71d7)) - ld a, $63 - ld [$cc4d], a - ld a, $15 - jp Predef ; indirect jump to AddMissableObject (f1c8 (3:71c8)) - -Route25ScriptPointers: ; 51622 (14:5622) - dw CheckFightingMapTrainers - dw Func_324c - dw EndTrainerBattle - -Route25TextPointers: ; 51628 (14:5628) - dw Route25Text1 - dw Route25Text2 - dw Route25Text3 - dw Route25Text4 - dw Route25Text5 - dw Route25Text6 - dw Route25Text7 - dw Route25Text8 - dw Route25Text9 - dw Predef5CText - dw Route25Text11 - -Route25TrainerHeaders: ; 5163e (14:563e) -Route25TrainerHeader0: ; 5163e (14:563e) - db $1 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7f1 ; flag's byte - dw Route25BattleText1 ; 0x5705 TextBeforeBattle - dw Route25AfterBattleText1 ; 0x570f TextAfterBattle - dw Route25EndBattleText1 ; 0x570a TextEndBattle - dw Route25EndBattleText1 ; 0x570a TextEndBattle - -Route25TrainerHeader2: ; 5164a (14:564a) - db $2 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7f1 ; flag's byte - dw Route25BattleText2 ; 0x5714 TextBeforeBattle - dw Route25AfterBattleText2 ; 0x571e TextAfterBattle - dw Route25EndBattleText2 ; 0x5719 TextEndBattle - dw Route25EndBattleText2 ; 0x5719 TextEndBattle - -Route25TrainerHeader3: ; 51656 (14:5656) - db $3 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7f1 ; flag's byte - dw Route25BattleText3 ; 0x5723 TextBeforeBattle - dw Route25AfterBattleText3 ; 0x572d TextAfterBattle - dw Route25EndBattleText3 ; 0x5728 TextEndBattle - dw Route25EndBattleText3 ; 0x5728 TextEndBattle - -Route25TrainerHeader4: ; 51662 (14:5662) - db $4 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7f1 ; flag's byte - dw Route25BattleText4 ; 0x5732 TextBeforeBattle - dw Route25AfterBattleText4 ; 0x573c TextAfterBattle - dw Route25EndBattleText4 ; 0x5737 TextEndBattle - dw Route25EndBattleText4 ; 0x5737 TextEndBattle - -Route25TrainerHeader5: ; 5166e (14:566e) - db $5 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7f1 ; flag's byte - dw Route25BattleText5 ; 0x5741 TextBeforeBattle - dw Route25AfterBattleText5 ; 0x574b TextAfterBattle - dw Route25EndBattleText5 ; 0x5746 TextEndBattle - dw Route25EndBattleText5 ; 0x5746 TextEndBattle - -Route25TrainerHeader6: ; 5167a (14:567a) - db $6 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7f1 ; flag's byte - dw Route25BattleText6 ; 0x5750 TextBeforeBattle - dw Route25AfterBattleText6 ; 0x575a TextAfterBattle - dw Route25EndBattleText6 ; 0x5755 TextEndBattle - dw Route25EndBattleText6 ; 0x5755 TextEndBattle - -Route25TrainerHeader7: ; 51686 (14:5686) - db $7 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7f1 ; flag's byte - dw Route25BattleText7 ; 0x575f TextBeforeBattle - dw Route25AfterBattleText7 ; 0x5769 TextAfterBattle - dw Route25EndBattleText7 ; 0x5764 TextEndBattle - dw Route25EndBattleText7 ; 0x5764 TextEndBattle - -Route25TrainerHeader8: ; 51692 (14:5692) - db $8 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7f1 ; flag's byte - dw Route25BattleText8 ; 0x576e TextBeforeBattle - dw Route25AfterBattleText8 ; 0x5778 TextAfterBattle - dw Route25EndBattleText8 ; 0x5773 TextEndBattle - dw Route25EndBattleText8 ; 0x5773 TextEndBattle - -Route25TrainerHeader9: ; 5169e (14:569e) - db $9 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7f1 ; flag's byte - dw Route25BattleText9 ; 0x577d TextBeforeBattle - dw Route25AfterBattleText9 ; 0x5787 TextAfterBattle - dw Route25EndBattleText9 ; 0x5782 TextEndBattle - dw Route25EndBattleText9 ; 0x5782 TextEndBattle - - db $ff - -Route25Text1: ; 516ab (14:56ab) - db $08 ; asm - ld hl, Route25TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -Route25Text2: ; 516b5 (14:56b5) - db $08 ; asm - ld hl, Route25TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -Route25Text3: ; 516bf (14:56bf) - db $08 ; asm - ld hl, Route25TrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -Route25Text4: ; 516c9 (14:56c9) - db $08 ; asm - ld hl, Route25TrainerHeader4 - call TalkToTrainer - jp TextScriptEnd - -Route25Text5: ; 516d3 (14:56d3) - db $08 ; asm - ld hl, Route25TrainerHeader5 - call TalkToTrainer - jp TextScriptEnd - -Route25Text6: ; 516dd (14:56dd) - db $08 ; asm - ld hl, Route25TrainerHeader6 - call TalkToTrainer - jp TextScriptEnd - -Route25Text7: ; 516e7 (14:56e7) - db $08 ; asm - ld hl, Route25TrainerHeader7 - call TalkToTrainer - jp TextScriptEnd - -Route25Text8: ; 516f1 (14:56f1) - db $08 ; asm - ld hl, Route25TrainerHeader8 - call TalkToTrainer - jp TextScriptEnd - -Route25Text9: ; 516fb (14:56fb) - db $08 ; asm - ld hl, Route25TrainerHeader9 - call TalkToTrainer - jp TextScriptEnd - -Route25BattleText1: ; 51705 (14:5705) - TX_FAR _Route25BattleText1 - db "@" - -Route25EndBattleText1: ; 5170a (14:570a) - TX_FAR _Route25EndBattleText1 - db "@" - -Route25AfterBattleText1: ; 5170f (14:570f) - TX_FAR _Route25AfterBattleText1 - db "@" - -Route25BattleText2: ; 51714 (14:5714) - TX_FAR _Route25BattleText2 - db "@" - -Route25EndBattleText2: ; 51719 (14:5719) - TX_FAR _Route25EndBattleText2 - db "@" - -Route25AfterBattleText2: ; 5171e (14:571e) - TX_FAR _Route25AfterBattleText2 - db "@" - -Route25BattleText3: ; 51723 (14:5723) - TX_FAR _Route25BattleText3 - db "@" - -Route25EndBattleText3: ; 51728 (14:5728) - TX_FAR _Route25EndBattleText3 - db "@" - -Route25AfterBattleText3: ; 5172d (14:572d) - TX_FAR _Route25AfterBattleText3 - db "@" - -Route25BattleText4: ; 51732 (14:5732) - TX_FAR _Route25BattleText4 - db "@" - -Route25EndBattleText4: ; 51737 (14:5737) - TX_FAR _Route25EndBattleText4 - db "@" - -Route25AfterBattleText4: ; 5173c (14:573c) - TX_FAR _Route25AfterBattleText4 - db "@" - -Route25BattleText5: ; 51741 (14:5741) - TX_FAR _Route25BattleText5 - db "@" - -Route25EndBattleText5: ; 51746 (14:5746) - TX_FAR _Route25EndBattleText5 - db "@" - -Route25AfterBattleText5: ; 5174b (14:574b) - TX_FAR _Route25AfterBattleText5 - db "@" - -Route25BattleText6: ; 51750 (14:5750) - TX_FAR _Route25BattleText6 - db "@" - -Route25EndBattleText6: ; 51755 (14:5755) - TX_FAR _Route25EndBattleText6 - db "@" - -Route25AfterBattleText6: ; 5175a (14:575a) - TX_FAR _Route25AfterBattleText6 - db "@" - -Route25BattleText7: ; 5175f (14:575f) - TX_FAR _Route25BattleText7 - db "@" +INCLUDE "scripts/saffroncity.asm" -Route25EndBattleText7: ; 51764 (14:5764) - TX_FAR _Route25EndBattleText7 - db "@" +INCLUDE "scripts/route20.asm" -Route25AfterBattleText7: ; 51769 (14:5769) - TX_FAR _Route25AfterBattleText7 - db "@" +INCLUDE "scripts/route22.asm" -Route25BattleText8: ; 5176e (14:576e) - TX_FAR _Route25BattleText8 - db "@" +INCLUDE "scripts/route23.asm" -Route25EndBattleText8: ; 51773 (14:5773) - TX_FAR _Route25EndBattleText8 - db "@" +INCLUDE "scripts/route24.asm" -Route25AfterBattleText8: ; 51778 (14:5778) - TX_FAR _Route25AfterBattleText8 - db "@" - -Route25BattleText9: ; 5177d (14:577d) - TX_FAR _Route25BattleText9 - db "@" - -Route25EndBattleText9: ; 51782 (14:5782) - TX_FAR _Route25EndBattleText9 - db "@" - -Route25AfterBattleText9: ; 51787 (14:5787) - TX_FAR _Route25AfterBattleText9 - db "@" - -Route25Text11: ; 5178c (14:578c) - TX_FAR _Route25Text11 - db "@" +INCLUDE "scripts/route25.asm" INCLUDE "data/mapHeaders/victoryroad2.asm" -VictoryRoad2Script: ; 5179d (14:579d) - ld hl, $d126 - bit 6, [hl] - res 6, [hl] - call nz, VictoryRoad2Script_517c4 - ld hl, $d126 - bit 5, [hl] - res 5, [hl] - call nz, Func_517c9 - call EnableAutoTextBoxDrawing - ld hl, VictoryRoad2TrainerHeaders - ld de, VictoryRoad2ScriptPointers - ld a, [W_VICTORYROAD2CURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_VICTORYROAD2CURSCRIPT], a - ret - -VictoryRoad2Script_517c4: ; 517c4 (14:57c4) - ld hl, $d869 - res 7, [hl] - -Func_517c9: ; 517c9 (14:57c9) - ld a, [$d7ee] - bit 0, a - jr z, .asm_517da - push af - ld a, $15 - ld bc, $403 - call Func_517e2 - pop af -.asm_517da - bit 7, a - ret z - ld a, $1d - ld bc, $70b - -Func_517e2: ; 517e2 (14:57e2) - ld [$d09f], a - ld a, $17 - call Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e)) - ret - -VictoryRoad2ScriptPointers: ; 517eb (14:57eb) - dw VictoryRoad2Script0 - dw Func_324c - dw EndTrainerBattle - -VictoryRoad2Script0: ; 517f1 (14:57f1) - ld hl, CoordsData_51816 ; $5816 - call CheckBoulderCoords - jp nc, CheckFightingMapTrainers - ld hl, $d7ee - ld a, [wWhichTrade] ; $cd3d - cp $2 - jr z, .asm_5180b - bit 0, [hl] - set 0, [hl] - ret nz - jr .asm_51810 -.asm_5180b - bit 7, [hl] - set 7, [hl] - ret nz -.asm_51810 - ld hl, $d126 - set 5, [hl] - ret - -CoordsData_51816: ; 51816 (14:5816) - db $10,$01 - db $10,$09 - db $FF - -VictoryRoad2TextPointers: ; 5181b (14:581b) - dw VictoryRoad2Text1 - dw VictoryRoad2Text2 - dw VictoryRoad2Text3 - dw VictoryRoad2Text4 - dw VictoryRoad2Text5 - dw VictoryRoad2Text6 - dw Predef5CText - dw Predef5CText - dw Predef5CText - dw Predef5CText - dw BoulderText - dw BoulderText - dw BoulderText - -VictoryRoad2TrainerHeaders: ; 51835 (14:5835) -VictoryRoad2TrainerHeader0: ; 51835 (14:5835) - db $1 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7ee ; flag's byte - dw VictoryRoad2BattleText1 ; 0x58ca TextBeforeBattle - dw VictoryRoad2AfterBattleText1 ; 0x58d4 TextAfterBattle - dw VictoryRoad2EndBattleText1 ; 0x58cf TextEndBattle - dw VictoryRoad2EndBattleText1 ; 0x58cf TextEndBattle - -VictoryRoad2TrainerHeader2: ; 51841 (14:5841) - db $2 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7ee ; flag's byte - dw VictoryRoad2BattleText2 ; 0x58d9 TextBeforeBattle - dw VictoryRoad2AfterBattleText2 ; 0x58e3 TextAfterBattle - dw VictoryRoad2EndBattleText2 ; 0x58de TextEndBattle - dw VictoryRoad2EndBattleText2 ; 0x58de TextEndBattle - -VictoryRoad2TrainerHeader3: ; 5184d (14:584d) - db $3 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7ee ; flag's byte - dw VictoryRoad2BattleText3 ; 0x58e8 TextBeforeBattle - dw VictoryRoad2AfterBattleText3 ; 0x58f2 TextAfterBattle - dw VictoryRoad2EndBattleText3 ; 0x58ed TextEndBattle - dw VictoryRoad2EndBattleText3 ; 0x58ed TextEndBattle - -VictoryRoad2TrainerHeader4: ; 51859 (14:5859) - db $4 ; flag's bit - db ($1 << 4) ; trainer's view range - dw $d7ee ; flag's byte - dw VictoryRoad2BattleText4 ; 0x58f7 TextBeforeBattle - dw VictoryRoad2AfterBattleText4 ; 0x5901 TextAfterBattle - dw VictoryRoad2EndBattleText4 ; 0x58fc TextEndBattle - dw VictoryRoad2EndBattleText4 ; 0x58fc TextEndBattle - -VictoryRoad2TrainerHeader5: ; 51865 (14:5865) - db $5 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7ee ; flag's byte - dw VictoryRoad2BattleText5 ; 0x5906 TextBeforeBattle - dw VictoryRoad2AfterBattleText5 ; 0x5910 TextAfterBattle - dw VictoryRoad2EndBattleText5 ; 0x590b TextEndBattle - dw VictoryRoad2EndBattleText5 ; 0x590b TextEndBattle - -VictoryRoad2TrainerHeader6: ; 51871 (14:5871) - db $6 ; flag's bit - db ($0 << 4) ; trainer's view range - dw $d7ee ; flag's byte - dw VictoryRoad2BattleText6 ; 0x58ba TextBeforeBattle - dw VictoryRoad2BattleText6 ; 0x58ba TextAfterBattle - dw VictoryRoad2BattleText6 ; 0x58ba TextEndBattle - dw VictoryRoad2BattleText6 ; 0x58ba TextEndBattle - - db $ff - -VictoryRoad2Text1: ; 5187e (14:587e) - db $08 ; asm - ld hl, VictoryRoad2TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -VictoryRoad2Text2: ; 51888 (14:5888) - db $08 ; asm - ld hl, VictoryRoad2TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -VictoryRoad2Text3: ; 51892 (14:5892) - db $08 ; asm - ld hl, VictoryRoad2TrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -VictoryRoad2Text4: ; 5189c (14:589c) - db $08 ; asm - ld hl, VictoryRoad2TrainerHeader4 - call TalkToTrainer - jp TextScriptEnd - -VictoryRoad2Text5: ; 518a6 (14:58a6) - db $08 ; asm - ld hl, VictoryRoad2TrainerHeader5 - call TalkToTrainer - jp TextScriptEnd - -VictoryRoad2Text6: ; 518b0 (14:58b0) - db $08 ; asm - ld hl, VictoryRoad2TrainerHeader6 - call TalkToTrainer - jp TextScriptEnd - -VictoryRoad2BattleText6: ; 518ba (14:58ba) - TX_FAR _VictoryRoad2BattleText6 - db $8 - ld a, MOLTRES - call PlayCry - call WaitForSoundToFinish - jp TextScriptEnd - -VictoryRoad2BattleText1: ; 518ca (14:58ca) - TX_FAR _VictoryRoad2BattleText1 - db "@" - -VictoryRoad2EndBattleText1: ; 518cf (14:58cf) - TX_FAR _VictoryRoad2EndBattleText1 - db "@" - -VictoryRoad2AfterBattleText1: ; 518d4 (14:58d4) - TX_FAR _VictoryRoad2AfterBattleText1 - db "@" - -VictoryRoad2BattleText2: ; 518d9 (14:58d9) - TX_FAR _VictoryRoad2BattleText2 - db "@" - -VictoryRoad2EndBattleText2: ; 518de (14:58de) - TX_FAR _VictoryRoad2EndBattleText2 - db "@" - -VictoryRoad2AfterBattleText2: ; 518e3 (14:58e3) - TX_FAR _VictoryRoad2AfterBattleText2 - db "@" - -VictoryRoad2BattleText3: ; 518e8 (14:58e8) - TX_FAR _VictoryRoad2BattleText3 - db "@" - -VictoryRoad2EndBattleText3: ; 518ed (14:58ed) - TX_FAR _VictoryRoad2EndBattleText3 - db "@" - -VictoryRoad2AfterBattleText3: ; 518f2 (14:58f2) - TX_FAR _VictoryRoad2AfterBattleText3 - db "@" - -VictoryRoad2BattleText4: ; 518f7 (14:58f7) - TX_FAR _VictoryRoad2BattleText4 - db "@" - -VictoryRoad2EndBattleText4: ; 518fc (14:58fc) - TX_FAR _VictoryRoad2EndBattleText4 - db "@" - -VictoryRoad2AfterBattleText4: ; 51901 (14:5901) - TX_FAR _VictoryRoad2AfterBattleText4 - db "@" - -VictoryRoad2BattleText5: ; 51906 (14:5906) - TX_FAR _VictoryRoad2BattleText5 - db "@" - -VictoryRoad2EndBattleText5: ; 5190b (14:590b) - TX_FAR _VictoryRoad2EndBattleText5 - db "@" - -VictoryRoad2AfterBattleText5: ; 51910 (14:5910) - TX_FAR _VictoryRoad2AfterBattleText5 - db "@" +INCLUDE "scripts/victoryroad2.asm" INCLUDE "data/mapObjects/victoryroad2.asm" @@ -61074,16 +47137,7 @@ VictoryRoad2Blocks: ; 519af (14:59af) INCLUDE "data/mapHeaders/mtmoon2.asm" -MtMoon2Script: ; 51a42 (14:5a42) - call EnableAutoTextBoxDrawing - ret - -MtMoon2TextPointers: ; 51a46 (14:5a46) - dw MtMoonText1 - -MtMoonText1: ; 51a48 (14:5a48) - TX_FAR _UnnamedText_51a48 - db "@" +INCLUDE "scripts/mtmoon2.asm" INCLUDE "data/mapObjects/mtmoon2.asm" @@ -61092,531 +47146,7 @@ MtMoon2Blocks: ; 51a91 (14:5a91) INCLUDE "data/mapHeaders/silphco7.asm" -SilphCo7Script: ; 51b61 (14:5b61) - call SilphCo7Script_51b77 - call EnableAutoTextBoxDrawing - ld hl, SilphCo7TrainerHeaders - ld de, SilphCo7ScriptPointers - ld a, [W_SILPHCO7CURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_SILPHCO7CURSCRIPT], a - ret - -SilphCo7Script_51b77: ; 51b77 (14:5b77) - ld hl, $d126 - bit 5, [hl] - res 5, [hl] - ret z - ld hl, DataTable_51bc1 ; $5bc1 - call Func_51bc8 - call Func_51bf4 - ld a, [$d830] - bit 4, a - jr nz, .asm_51b9e - push af - ld a, $54 - ld [$d09f], a - ld bc, $305 - ld a, $17 - call Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e)) - pop af -.asm_51b9e - bit 5, a - jr nz, .asm_51bb1 - push af - ld a, $54 - ld [$d09f], a - ld bc, $20a - ld a, $17 - call Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e)) - pop af -.asm_51bb1 - bit 6, a - ret nz - ld a, $54 - ld [$d09f], a - ld bc, $60a - ld a, $17 - jp Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e)) - -DataTable_51bc1: ; 51bc1 (14:5bc1) - db $03,$05,$02,$0A,$06,$0A,$FF - -Func_51bc8: ; 51bc8 (14:5bc8) - push hl - ld hl, $d73f - ld a, [hli] - ld b, a - ld a, [hl] - ld c, a - xor a - ld [$ffe0], a - pop hl -.asm_51bd4 - ld a, [hli] - cp $ff - jr z, .asm_51bf0 - push hl - ld hl, $ffe0 - inc [hl] - pop hl - cp b - jr z, .asm_51be5 - inc hl - jr .asm_51bd4 -.asm_51be5 - ld a, [hli] - cp c - jr nz, .asm_51bd4 - ld hl, $d73f - xor a - ld [hli], a - ld [hl], a - ret -.asm_51bf0 - xor a - ld [$ffe0], a - ret - -Func_51bf4: ; 51bf4 (14:5bf4) - ld hl, $d830 - ld a, [$ffe0] - and a - ret z - cp $1 - jr nz, .asm_51c02 - set 4, [hl] - ret -.asm_51c02 - cp $2 - jr nz, .asm_51c09 - set 5, [hl] - ret -.asm_51c09 - set 6, [hl] - ret - -Func_51c0c: ; 51c0c (14:5c0c) - xor a - ld [wJoypadForbiddenButtonsMask], a - -Func_51c10: ; 51c10 (14:5c10) - ld [W_SILPHCO7CURSCRIPT], a - ld [W_CURMAPSCRIPT], a - ret - -SilphCo7ScriptPointers: ; 51c17 (14:5c17) - dw SilphCo7Script0 - dw Func_324c - dw EndTrainerBattle - dw SilphCo7Script3 - dw SilphCo7Script4 - dw SilphCo7Script5 - -SilphCo7Script0: ; 51c23 (14:5c23) - ld a, [$d82f] - bit 0, a - jp nz, CheckFightingMapTrainers - ld hl, CoordsData_51c78 - call ArePlayerCoordsInArray - jp nc, CheckFightingMapTrainers - xor a - ld [H_CURRENTPRESSEDBUTTONS], a - ld a, $f0 - ld [wJoypadForbiddenButtonsMask], a - ld a, $4 - ld [$d528], a - ld a, $ff - ld [$c0ee], a - call PlaySound - ld c, BANK(Music_MeetRival) - ld a, MUSIC_MEET_RIVAL - call PlayMusic - ld a, $9 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - call DisplayTextID - ld a, $9 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - call SetSpriteMovementBytesToFF - ld de, MovementData_51c7d - ld a, [wWhichTrade] ; $cd3d - ld [$cf0d], a - cp $1 - jr z, .asm_51c6c - inc de -.asm_51c6c - ld a, $9 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - call MoveSprite - ld a, $3 - jp Func_51c10 - -CoordsData_51c78: ; 51c78 (14:5c78) - db $02,$03 - db $03,$03 - db $FF - -MovementData_51c7d: ; 51c7d (14:5c7d) - db $40,$40,$40,$40,$FF - -SilphCo7Script3: ; 51c82 (14:5c82) - ld a, [$d730] - bit 0, a - ret nz - xor a - ld [wJoypadForbiddenButtonsMask], a - ld a, $d - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - call DisplayTextID - call Delay3 - ld hl, $d72d - set 6, [hl] - set 7, [hl] - ld hl, SilphCo7Text14 ; $5ec8 - ld de, UnnamedText_51ecd ; $5ecd - call PreBattleSaveRegisters - ld a, SONY2 + $c8 - ld [W_CUROPPONENT], a ; $d059 - ld a, [W_RIVALSTARTER] ; $d715 - cp SQUIRTLE - jr nz, .asm_51cb6 - ld a, $7 - jr .asm_51cc0 -.asm_51cb6 - cp BULBASAUR - jr nz, .asm_51cbe - ld a, $8 - jr .asm_51cc0 -.asm_51cbe - ld a, $9 -.asm_51cc0 - ld [W_TRAINERNO], a ; $d05d - ld a, $4 - jp Func_51c10 - -SilphCo7Script4: ; 51cc8 (14:5cc8) - ld a, [W_ISINBATTLE] ; $d057 - cp $ff - jp z, Func_51c0c - ld a, $f0 - ld [wJoypadForbiddenButtonsMask], a - ld hl, $d82f - set 0, [hl] - ld a, $4 - ld [$d528], a - ld a, $9 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - ld a, $4 - ld [$ff8d], a - call Func_34a6 - ld a, $f - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - call DisplayTextID - ld a, $ff - ld [$c0ee], a - call PlaySound - ld b, BANK(Music_RivalAlternateStart) - ld hl, Music_RivalAlternateStart - call Bankswitch - ld de, MovementData_51d1d - ld a, [$cf0d] - cp $1 - jr nz, .asm_51d0e - ld de, MovementData_51d1a -.asm_51d0e - ld a, $9 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - call MoveSprite - ld a, $5 - jp Func_51c10 - -MovementData_51d1a: ; 51d1a (14:5d1a) - db $C0,$C0,$FF - -MovementData_51d1d: ; 51d1d (14:5d1d) - db $80,$40,$40,$C0,$C0,$C0,$00,$FF - -SilphCo7Script5: ; 51d25 (14:5d25) - ld a, [$d730] - bit 0, a - ret nz - ld a, $a7 - ld [$cc4d], a - ld a, $11 - call Predef ; indirect jump to RemoveMissableObject (f1d7 (3:71d7)) - call Func_2307 - xor a - ld [wJoypadForbiddenButtonsMask], a - jp Func_51c10 - -SilphCo7TextPointers: ; 51d3f (14:5d3f) - dw SilphCo7Text1 - dw SilphCo7Text2 - dw SilphCo7Text3 - dw SilphCo7Text4 - dw SilphCo7Text5 - dw SilphCo7Text6 - dw SilphCo7Text7 - dw SilphCo7Text8 - dw SilphCo7Text9 - dw Predef5CText - dw Predef5CText - dw Predef5CText - dw SilphCo7Text13 - dw SilphCo7Text14 - dw SilphCo7Text15 - -SilphCo7TrainerHeaders: ; 51d5d (14:5d5d) -SilphCo7TrainerHeader0: ; 51d5d (14:5d5d) - db $5 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d82f ; flag's byte - dw SilphCo7BattleText1 ; 0x5e5a TextBeforeBattle - dw SilphCo7AfterBattleText1 ; 0x5e64 TextAfterBattle - dw SilphCo7EndBattleText1 ; 0x5e5f TextEndBattle - dw SilphCo7EndBattleText1 ; 0x5e5f TextEndBattle - -SilphCo7TrainerHeader2: ; 51d69 (14:5d69) - db $6 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d82f ; flag's byte - dw SilphCo7BattleText2 ; 0x5e73 TextBeforeBattle - dw SilphCo7AfterBattleText2 ; 0x5e7d TextAfterBattle - dw SilphCo7EndBattleText2 ; 0x5e78 TextEndBattle - dw SilphCo7EndBattleText2 ; 0x5e78 TextEndBattle - -SilphCo7TrainerHeader3: ; 51d75 (14:5d75) - db $7 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d82f ; flag's byte - dw SilphCo7BattleText3 ; 0x5e8c TextBeforeBattle - dw SilphCo7AfterBattleText3 ; 0x5e96 TextAfterBattle - dw SilphCo7EndBattleText3 ; 0x5e91 TextEndBattle - dw SilphCo7EndBattleText3 ; 0x5e91 TextEndBattle - -SilphCo7TrainerHeader4: ; 51d81 (14:5d81) - db $8 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d82f ; flag's byte - dw SilphCo7BattleText4 ; 0x5ea5 TextBeforeBattle - dw SilphCo7AfterBattleText4 ; 0x5eaf TextAfterBattle - dw SilphCo7EndBattleText4 ; 0x5eaa TextEndBattle - dw SilphCo7EndBattleText4 ; 0x5eaa TextEndBattle - - db $ff - -SilphCo7Text1: -; lapras guy - db $08 ; asm - ld a, [$d72e] - bit 0, a ; got lapras? - jr z, .givelapras - ld a, [$d838] - bit 7, a ; saved silph? - jr nz, .savedsilph - ld hl, .LaprasGuyText - call PrintText - jr .done -.givelapras - ld hl, .MeetLaprasGuyText - call PrintText - ld bc, (LAPRAS << 8) | 15 - call GivePokemon - jr nc, .done - ld a, [$ccd3] - and a - call z, WaitForTextScrollButtonPress - call EnableAutoTextBoxDrawing - ld hl, .HeresYourLaprasText - call PrintText - ld hl, $d72e - set 0, [hl] - jr .done -.savedsilph - ld hl, .LaprasGuySavedText - call PrintText -.done - jp TextScriptEnd - -.MeetLaprasGuyText - TX_FAR _MeetLaprasGuyText - db "@" - -.HeresYourLaprasText - TX_FAR _HeresYourLaprasText - db "@" - -.LaprasGuyText - TX_FAR _LaprasGuyText - db "@" - -.LaprasGuySavedText - TX_FAR _LaprasGuySavedText - db "@" - -SilphCo7Text2: - db $8 - ld a, [$d838] - bit 7, a ; saved silph? - jr nz, .savedsilph - ld hl, .rockettext - call PrintText - jr .done -.savedsilph - ld hl, .savedtext - call PrintText -.done - jp TextScriptEnd - -.rockettext - TX_FAR _UnnamedText_51e00 - db "@" - -.savedtext - TX_FAR _CanceledMasterBallText - db "@" - -SilphCo7Text3: - db $08 ; asm - ld a, [$d838] - bit 7, a ; saved silph? - jr nz, .savedsilph - ld hl, .rockettext - call PrintText - jr .done -.savedsilph - ld hl, .savedtext - call PrintText -.done - jp TextScriptEnd - -.rockettext - TX_FAR _UnnamedText_51e23 - db "@" - -.savedtext - TX_FAR _UnnamedText_51e28 - db "@" - -SilphCo7Text4: - db $08 ; asm - ld a, [$d838] - bit 7, a ; saved silph? - jr nz, .savedsilph - ld hl, .rockettext - call PrintText - jr .done -.savedsilph - ld hl, .savedtext - call PrintText -.done - jp TextScriptEnd - -.rockettext - TX_FAR _UnnamedText_51e46 - db "@" - -.savedtext - TX_FAR _UnnamedText_51e4b - db "@" - -SilphCo7Text5: ; 51e50 (14:5e50) - db $08 ; asm - ld hl, SilphCo7TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -SilphCo7BattleText1: ; 51e5a (14:5e5a) - TX_FAR _SilphCo7BattleText1 - db "@" - -SilphCo7EndBattleText1: ; 51e5f (14:5e5f) - TX_FAR _SilphCo7EndBattleText1 - db "@" - -SilphCo7AfterBattleText1: ; 51e64 (14:5e64) - TX_FAR _SilphCo7AfterBattleText1 - db "@" - -SilphCo7Text6: ; 51e69 (14:5e69) - db $08 ; asm - ld hl, SilphCo7TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -SilphCo7BattleText2: ; 51e73 (14:5e73) - TX_FAR _SilphCo7BattleText2 - db "@" - -SilphCo7EndBattleText2: ; 51e78 (14:5e78) - TX_FAR _SilphCo7EndBattleText2 - db "@" - -SilphCo7AfterBattleText2: ; 51e7d (14:5e7d) - TX_FAR _SilphCo7AfterBattleText2 - db "@" - -SilphCo7Text7: ; 51e82 (14:5e82) - db $08 ; asm - ld hl, SilphCo7TrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -SilphCo7BattleText3: ; 51e8c (14:5e8c) - TX_FAR _SilphCo7BattleText3 - db "@" - -SilphCo7EndBattleText3: ; 51e91 (14:5e91) - TX_FAR _SilphCo7EndBattleText3 - db "@" - -SilphCo7AfterBattleText3: ; 51e96 (14:5e96) - TX_FAR _SilphCo7AfterBattleText3 - db "@" - -SilphCo7Text8: ; 51e9b (14:5e9b) - db $08 ; asm - ld hl, SilphCo7TrainerHeader4 - call TalkToTrainer - jp TextScriptEnd - -SilphCo7BattleText4: ; 51ea5 (14:5ea5) - TX_FAR _SilphCo7BattleText4 - db "@" - -SilphCo7EndBattleText4: ; 51eaa (14:5eaa) - TX_FAR _SilphCo7EndBattleText4 - db "@" - -SilphCo7AfterBattleText4: ; 51eaf (14:5eaf) - TX_FAR _SilphCo7AfterBattleText4 - db "@" - -SilphCo7Text9: ; 51eb4 (14:5eb4) - db $08 ; asm - ld hl, UnnamedText_51ebe - call PrintText - jp TextScriptEnd - -UnnamedText_51ebe: ; 51ebe (14:5ebe) - TX_FAR _UnnamedText_51ebe - db "@" - -SilphCo7Text13: ; 51ec3 (14:5ec3) - TX_FAR _UnnamedText_51ec3 - db "@" - -SilphCo7Text14: ; 51ec8 (14:5ec8) - TX_FAR _UnnamedText_51ec8 - db "@" - -UnnamedText_51ecd: ; 51ecd (14:5ecd) - TX_FAR _UnnamedText_51ecd - db "@" - -SilphCo7Text15: ; 51ed2 (14:5ed2) - TX_FAR _UnnamedText_51ed2 - db "@" +INCLUDE "scripts/silphco7.asm" INCLUDE "data/mapObjects/silphco7.asm" @@ -61625,151 +47155,7 @@ SilphCo7Blocks: ; 51f57 (14:5f57) INCLUDE "data/mapHeaders/mansion2.asm" -Mansion2Script: ; 51fd8 (14:5fd8) - call Mansion2Script_51fee - call EnableAutoTextBoxDrawing - ld hl, Mansion2TrainerHeaders - ld de, Mansion2ScriptPointers - ld a, [W_MANSION2CURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_MANSION2CURSCRIPT], a - ret - -Mansion2Script_51fee: ; 51fee (14:5fee) - ld hl, $d126 - bit 5, [hl] - res 5, [hl] - ret z - ld a, [$d796] - bit 0, a - jr nz, .asm_52016 - ld a, $e - ld bc, $204 - call Func_5202f - ld a, $54 - ld bc, $409 - call Func_5202f - ld a, $5f - ld bc, $b03 - call Func_5202f - ret -.asm_52016 - ld a, $5f - ld bc, $204 - call Func_5202f - ld a, $e - ld bc, $409 - call Func_5202f - ld a, $e - ld bc, $b03 - call Func_5202f - ret - -Func_5202f: ; 5202f (14:602f) - ld [$d09f], a - ld a, $17 - jp Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e)) - -Func_52037: ; 52037 (14:6037) - ld a, [$c109] - cp $4 - ret nz - xor a - ld [H_CURRENTPRESSEDBUTTONS], a - ld a, $5 - ld [H_SPRITEHEIGHT], a - jp DisplayTextID - -Mansion2ScriptPointers: ; 52047 (14:6047) - dw CheckFightingMapTrainers - dw Func_324c - dw EndTrainerBattle - -Mansion2TextPointers: ; 5204d (14:604d) - dw Mansion2Text1 - dw Predef5CText - dw Mansion2Text3 - dw Mansion2Text4 - dw Mansion2Text5 - -Mansion2TrainerHeaders: ; 52057 (14:6057) -Mansion2TrainerHeader0: ; 52057 (14:6057) - db $1 ; flag's bit - db ($0 << 4) ; trainer's view range - dw $d847 ; flag's byte - dw Mansion2BattleText1 ; 0x606e TextBeforeBattle - dw Mansion2AfterBattleText1 ; 0x6078 TextAfterBattle - dw Mansion2EndBattleText1 ; 0x6073 TextEndBattle - dw Mansion2EndBattleText1 ; 0x6073 TextEndBattle - - db $ff - -Mansion2Text1: ; 52064 (14:6064) - db $08 ; asm - ld hl, Mansion2TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -Mansion2BattleText1: ; 5206e (14:606e) - TX_FAR _Mansion2BattleText1 - db "@" - -Mansion2EndBattleText1: ; 52073 (14:6073) - TX_FAR _Mansion2EndBattleText1 - db "@" - -Mansion2AfterBattleText1: ; 52078 (14:6078) - TX_FAR _Mansion2AfterBattleText1 - db "@" - -Mansion2Text3: ; 5207d (14:607d) - TX_FAR _Mansion2Text3 - db "@" - -Mansion2Text4: ; 52082 (14:6082) - TX_FAR _Mansion2Text4 - db "@" - -Mansion3Text6: ; 52087 (14:6087) -Mansion2Text5: ; 52087 (14:6087) - db $8 - ld hl, UnnamedText_520c2 - call PrintText - call YesNoChoice - ld a, [$cc26] - and a - jr nz, .asm_520b9 ; 0x52095 $22 - ld a, $1 - ld [$cc3c], a - ld hl, $d126 - set 5, [hl] - ld hl, UnnamedText_520c7 - call PrintText - ld a, (SFX_02_57 - SFX_Headers_02) / 3 - call PlaySound - ld hl, $d796 - bit 0, [hl] - set 0, [hl] - jr z, .asm_520bf ; 0x520b3 $a - res 0, [hl] - jr .asm_520bf ; 0x520b7 $6 -.asm_520b9 - ld hl, UnnamedText_520cc - call PrintText -.asm_520bf - jp TextScriptEnd - -UnnamedText_520c2: ; 520c2 (14:60c2) - TX_FAR _UnnamedText_520c2 - db "@" - -UnnamedText_520c7: ; 520c7 (14:60c7) - TX_FAR _UnnamedText_520c7 - db "@" - -UnnamedText_520cc: ; 520cc (14:60cc) - TX_FAR _UnnamedText_520cc - db "@" +INCLUDE "scripts/mansion2.asm" INCLUDE "data/mapObjects/mansion2.asm" @@ -61778,159 +47164,7 @@ Mansion2Blocks: ; 52110 (14:6110) INCLUDE "data/mapHeaders/mansion3.asm" -Mansion3Script: ; 521ee (14:61ee) - call Mansion3Script_52204 - call EnableAutoTextBoxDrawing - ld hl, Mansion3TrainerHeader0 - ld de, Mansion3ScriptPointers - ld a, [W_MANSION3CURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_MANSION3CURSCRIPT], a - ret - -Mansion3Script_52204: ; 52204 (14:6204) - ld hl, $d126 - bit 5, [hl] - res 5, [hl] - ret z - ld a, [$d796] - bit 0, a - jr nz, .asm_52224 - ld a, $e - ld bc, $207 - call Func_5202f - ld a, $5f - ld bc, $507 - call Func_5202f - ret -.asm_52224 - ld a, $5f - ld bc, $207 - call Func_5202f - ld a, $e - ld bc, $507 - call Func_5202f - ret - -Mansion3ScriptPointers: ; 52235 (14:6235) - dw Mansion3Script0 - dw Func_324c - dw EndTrainerBattle - -Mansion3Script0: ; 5223b (14:623b) - ld hl, CoordsData_52254 - call Func_5225b - ld a, [$d71e] - and a - jp z, CheckFightingMapTrainers - cp $3 - ld a, $a5 - jr nz, .asm_52250 - ld a, $d6 -.asm_52250 - ld [$d71d], a - ret - -CoordsData_52254: ; 52254 (14:6254) - db $0E,$10 - db $0E,$11 - db $0E,$13 - db $FF - -Func_5225b: ; 5225b (14:625b) - xor a - ld [$d71e], a - ld a, [$d72d] - bit 4, a - ret nz - call ArePlayerCoordsInArray - ret nc - ld a, [wWhichTrade] ; $cd3d - ld [$d71e], a - ld hl, $d72d - set 4, [hl] - ld hl, $d732 - set 4, [hl] - ret - -Func_5227a: ; 5227a (14:627a) - ld a, [$c109] - cp $4 - ret nz - xor a - ld [H_CURRENTPRESSEDBUTTONS], a - ld a, $6 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - jp DisplayTextID - -Mansion3TextPointers: ; 5228a (14:628a) - dw Mansion3Text1 - dw Mansion3Text2 - dw Predef5CText - dw Predef5CText - dw Mansion3Text5 - dw Mansion3Text6 - -Mansion3TrainerHeaders: ; 52296 (14:6296) -Mansion3TrainerHeader0: ; 52296 (14:6296) - db $1 ; flag's bit - db ($0 << 4) ; trainer's view range - dw $d849 ; flag's byte - dw Mansion3BattleText1 ; 0x62c3 TextBeforeBattle - dw Mansion3AfterBattleText1 ; 0x62cd TextAfterBattle - dw Mansion3EndBattleText1 ; 0x62c8 TextEndBattle - dw Mansion3EndBattleText1 ; 0x62c8 TextEndBattle - -Mansion3TrainerHeader2: ; 522a2 (14:62a2) - db $2 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d849 ; flag's byte - dw Mansion3BattleText2 ; 0x62d2 TextBeforeBattle - dw Mansion3AfterBattleText2 ; 0x62dc TextAfterBattle - dw Mansion3EndBattleText2 ; 0x62d7 TextEndBattle - dw Mansion3EndBattleText2 ; 0x62d7 TextEndBattle - - db $ff - -Mansion3Text1: ; 522af (14:62af) - db $08 ; asm - ld hl, Mansion3TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -Mansion3Text2: ; 522b9 (14:62b9) - db $08 ; asm - ld hl, Mansion3TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -Mansion3BattleText1: ; 522c3 (14:62c3) - TX_FAR _Mansion3BattleText1 - db "@" - -Mansion3EndBattleText1: ; 522c8 (14:62c8) - TX_FAR _Mansion3EndBattleText1 - db "@" - -Mansion3AfterBattleText1: ; 522cd (14:62cd) - TX_FAR _Mansion3AfterBattleText1 - db "@" - -Mansion3BattleText2: ; 522d2 (14:62d2) - TX_FAR _Mansion3BattleText2 - db "@" - -Mansion3EndBattleText2: ; 522d7 (14:62d7) - TX_FAR _Mansion3EndBattleText2 - db "@" - -Mansion3AfterBattleText2: ; 522dc (14:62dc) - TX_FAR _Mansion3AfterBattleText2 - db "@" - -Mansion3Text5: ; 522e1 (14:62e1) - TX_FAR _Mansion3Text5 - db "@" +INCLUDE "scripts/mansion3.asm" INCLUDE "data/mapObjects/mansion3.asm" @@ -61939,138 +47173,7 @@ Mansion3Blocks: ; 52326 (14:6326) INCLUDE "data/mapHeaders/mansion4.asm" -Mansion4Script: ; 523b9 (14:63b9) - call Mansion4Script_523cf - call EnableAutoTextBoxDrawing - ld hl, Mansion4TrainerHeader0 - ld de, Mansion4ScriptPointers - ld a, [W_MANSION4CURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_MANSION4CURSCRIPT], a - ret - -Mansion4Script_523cf: ; 523cf (14:63cf) - ld hl, $d126 - bit 5, [hl] - res 5, [hl] - ret z - ld a, [$d796] - bit 0, a - jr nz, .asm_523ff - ld a, $e - ld bc, $80d - call Func_5202f - ld a, $e - ld bc, $b06 - call Func_5202f - ld a, $5f - ld bc, $304 - call Func_5202f - ld a, $54 - ld bc, $808 - call Func_5202f - ret -.asm_523ff - ld a, $2d - ld bc, $80d - call Func_5202f - ld a, $5f - ld bc, $b06 - call Func_5202f - ld a, $e - ld bc, $304 - call Func_5202f - ld a, $e - ld bc, $808 - call Func_5202f - ret - -Func_52420: ; 52420 (14:6420) - ld a, [$c109] - cp $4 - ret nz - xor a - ld [H_CURRENTPRESSEDBUTTONS], a - ld a, $9 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - jp DisplayTextID - -Mansion4ScriptPointers: ; 52430 (14:6430) - dw CheckFightingMapTrainers - dw Func_324c - dw EndTrainerBattle - -Mansion4TextPointers: ; 52436 (14:6436) - dw Mansion4Text1 - dw Mansion4Text2 - dw Predef5CText - dw Predef5CText - dw Predef5CText - dw Predef5CText - dw Mansion4Text7 - dw Predef5CText - dw Mansion3Text6 - -Mansion4TrainerHeaders: ; 52448 (14:6448) -Mansion4TrainerHeader0: ; 52448 (14:6448) - db $1 ; flag's bit - db ($0 << 4) ; trainer's view range - dw $d84b ; flag's byte - dw Mansion4BattleText1 ; 0x6475 TextBeforeBattle - dw Mansion4AfterBattleText1 ; 0x647f TextAfterBattle - dw Mansion4EndBattleText1 ; 0x647a TextEndBattle - dw Mansion4EndBattleText1 ; 0x647a TextEndBattle - -Mansion4TrainerHeader2: ; 52454 (14:6454) - db $2 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d84b ; flag's byte - dw Mansion4BattleText2 ; 0x6484 TextBeforeBattle - dw Mansion4AfterBattleText2 ; 0x648e TextAfterBattle - dw Mansion4EndBattleText2 ; 0x6489 TextEndBattle - dw Mansion4EndBattleText2 ; 0x6489 TextEndBattle - - db $ff - -Mansion4Text1: ; 52461 (14:6461) - db $08 ; asm - ld hl, Mansion4TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -Mansion4Text2: ; 5246b (14:646b) - db $08 ; asm - ld hl, Mansion4TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -Mansion4BattleText1: ; 52475 (14:6475) - TX_FAR _Mansion4BattleText1 - db "@" - -Mansion4EndBattleText1: ; 5247a (14:647a) - TX_FAR _Mansion4EndBattleText1 - db "@" - -Mansion4AfterBattleText1: ; 5247f (14:647f) - TX_FAR _Mansion4AfterBattleText1 - db "@" - -Mansion4BattleText2: ; 52484 (14:6484) - TX_FAR _Mansion4BattleText2 - db "@" - -Mansion4EndBattleText2: ; 52489 (14:6489) - TX_FAR _Mansion4EndBattleText2 - db "@" - -Mansion4AfterBattleText2: ; 5248e (14:648e) - TX_FAR _Mansion4AfterBattleText2 - db "@" - -Mansion4Text7: ; 52493 (14:6493) - TX_FAR _Mansion4Text7 - db "@" +INCLUDE "scripts/mansion4.asm" INCLUDE "data/mapObjects/mansion4.asm" @@ -63190,2227 +48293,35 @@ GrewLevelText: ; 554dd (15:54dd) db $0b db "@" -Route2Script: ; 554e3 (15:54e3) - jp EnableAutoTextBoxDrawing - -Route2TextPointers: ; 554e6 (15:54e6) - dw Predef5CText - dw Predef5CText - dw Route2Text3 - dw Route2Text4 - -Route2Text3: ; 554ee (15:54ee) - TX_FAR _Route2Text3 - db "@" - -Route2Text4: ; 554f3 (15:54f3) - TX_FAR _Route2Text4 - db "@" - -Route3Script: ; 554f8 (15:54f8) - call EnableAutoTextBoxDrawing - ld hl, Route3TrainerHeader0 - ld de, Route3ScriptPointers - ld a, [W_ROUTE3CURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_ROUTE3CURSCRIPT], a - ret - -Route3ScriptPointers: ; 5550b (15:550b) - dw CheckFightingMapTrainers - dw Func_324c - dw EndTrainerBattle - -Route3TextPointers: ; 55511 (15:5511) - dw Route3Text1 - dw Route3Text2 - dw Route3Text3 - dw Route3Text4 - dw Route3Text5 - dw Route3Text6 - dw Route3Text7 - dw Route3Text8 - dw Route3Text9 - dw Route3Text10 - -Route3TrainerHeaders: ; 55525 (15:5525) -Route3TrainerHeader0: ; 55525 (15:5525) - db $2 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7c3 ; flag's byte - dw Route3BattleText1 ; 0x5595 TextBeforeBattle - dw Route3AfterBattleText1 ; 0x559f TextAfterBattle - dw Route3EndBattleText1 ; 0x559a TextEndBattle - dw Route3EndBattleText1 ; 0x559a TextEndBattle - -Route3TrainerHeader2: ; 55531 (15:5531) - db $3 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7c3 ; flag's byte - dw Route3BattleText2 ; 0x55ae TextBeforeBattle - dw Route3AfterBattleText2 ; 0x55b8 TextAfterBattle - dw Route3EndBattleText2 ; 0x55b3 TextEndBattle - dw Route3EndBattleText2 ; 0x55b3 TextEndBattle - -Route3TrainerHeader3: ; 5553d (15:553d) - db $4 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7c3 ; flag's byte - dw Route3BattleText3 ; 0x55c7 TextBeforeBattle - dw Route3AfterBattleText3 ; 0x55d1 TextAfterBattle - dw Route3EndBattleText3 ; 0x55cc TextEndBattle - dw Route3EndBattleText3 ; 0x55cc TextEndBattle - -Route3TrainerHeader4: ; 55549 (15:5549) - db $5 ; flag's bit - db ($1 << 4) ; trainer's view range - dw $d7c3 ; flag's byte - dw Route3BattleText4 ; 0x55e0 TextBeforeBattle - dw Route3AfterBattleText4 ; 0x55ea TextAfterBattle - dw Route3EndBattleText4 ; 0x55e5 TextEndBattle - dw Route3EndBattleText4 ; 0x55e5 TextEndBattle - -Route3TrainerHeader5: ; 55555 (15:5555) - db $6 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7c3 ; flag's byte - dw Route3BattleText5 ; 0x55f9 TextBeforeBattle - dw Route3AfterBattleText5 ; 0x5603 TextAfterBattle - dw Route3EndBattleText5 ; 0x55fe TextEndBattle - dw Route3EndBattleText5 ; 0x55fe TextEndBattle - -Route3TrainerHeader6: ; 55561 (15:5561) - db $7 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7c3 ; flag's byte - dw Route3BattleText6 ; 0x5612 TextBeforeBattle - dw Route3AfterBattleText6 ; 0x561c TextAfterBattle - dw Route3EndBattleText6 ; 0x5617 TextEndBattle - dw Route3EndBattleText6 ; 0x5617 TextEndBattle - -Route3TrainerHeader7: ; 5556d (15:556d) - db $8 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7c3 ; flag's byte - dw Route3BattleText7 ; 0x562b TextBeforeBattle - dw Route3AfterBattleText7 ; 0x5635 TextAfterBattle - dw Route3EndBattleText7 ; 0x5630 TextEndBattle - dw Route3EndBattleText7 ; 0x5630 TextEndBattle - -Route3TrainerHeader8: ; 55579 (15:5579) - db $9 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7c3 ; flag's byte - dw Route3BattleText8 ; 0x5644 TextBeforeBattle - dw Route3AfterBattleText8 ; 0x564e TextAfterBattle - dw Route3EndBattleText8 ; 0x5649 TextEndBattle - dw Route3EndBattleText8 ; 0x5649 TextEndBattle - - db $ff - -Route3Text1: ; 55586 (15:5586) - TX_FAR _Route3Text1 - db "@" - -Route3Text2: ; 5558b (15:558b) - db $08 ; asm - ld hl, Route3TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -Route3BattleText1: ; 55595 (15:5595) - TX_FAR _Route3BattleText1 - db "@" - -Route3EndBattleText1: ; 5559a (15:559a) - TX_FAR _Route3EndBattleText1 - db "@" - -Route3AfterBattleText1: ; 5559f (15:559f) - TX_FAR _Route3AfterBattleText1 - db "@" - -Route3Text3: ; 555a4 (15:55a4) - db $08 ; asm - ld hl, Route3TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -Route3BattleText2: ; 555ae (15:55ae) - TX_FAR _Route3BattleText2 - db "@" - -Route3EndBattleText2: ; 555b3 (15:55b3) - TX_FAR _Route3EndBattleText2 - db "@" - -Route3AfterBattleText2: ; 555b8 (15:55b8) - TX_FAR _Route3AfterBattleText2 - db "@" - -Route3Text4: ; 555bd (15:55bd) - db $08 ; asm - ld hl, Route3TrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -Route3BattleText3: ; 555c7 (15:55c7) - TX_FAR _Route3BattleText3 - db "@" - -Route3EndBattleText3: ; 555cc (15:55cc) - TX_FAR _Route3EndBattleText3 - db "@" - -Route3AfterBattleText3: ; 555d1 (15:55d1) - TX_FAR _Route3AfterBattleText3 - db "@" - -Route3Text5: ; 555d6 (15:55d6) - db $08 ; asm - ld hl, Route3TrainerHeader4 - call TalkToTrainer - jp TextScriptEnd - -Route3BattleText4: ; 555e0 (15:55e0) - TX_FAR _Route3BattleText4 - db "@" - -Route3EndBattleText4: ; 555e5 (15:55e5) - TX_FAR _Route3EndBattleText4 - db "@" - -Route3AfterBattleText4: ; 555ea (15:55ea) - TX_FAR _Route3AfterBattleText4 - db "@" - -Route3Text6: ; 555ef (15:55ef) - db $08 ; asm - ld hl, Route3TrainerHeader5 - call TalkToTrainer - jp TextScriptEnd - -Route3BattleText5: ; 555f9 (15:55f9) - TX_FAR _Route3BattleText5 - db "@" - -Route3EndBattleText5: ; 555fe (15:55fe) - TX_FAR _Route3EndBattleText5 - db "@" - -Route3AfterBattleText5: ; 55603 (15:5603) - TX_FAR _Route3AfterBattleText5 - db "@" - -Route3Text7: ; 55608 (15:5608) - db $08 ; asm - ld hl, Route3TrainerHeader6 - call TalkToTrainer - jp TextScriptEnd - -Route3BattleText6: ; 55612 (15:5612) - TX_FAR _Route3BattleText6 - db "@" - -Route3EndBattleText6: ; 55617 (15:5617) - TX_FAR _Route3EndBattleText6 - db "@" - -Route3AfterBattleText6: ; 5561c (15:561c) - TX_FAR _Route3AfterBattleText6 - db "@" - -Route3Text8: ; 55621 (15:5621) - db $08 ; asm - ld hl, Route3TrainerHeader7 - call TalkToTrainer - jp TextScriptEnd - -Route3BattleText7: ; 5562b (15:562b) - TX_FAR _Route3BattleText7 - db "@" - -Route3EndBattleText7: ; 55630 (15:5630) - TX_FAR _Route3EndBattleText7 - db "@" - -Route3AfterBattleText7: ; 55635 (15:5635) - TX_FAR _Route3AfterBattleText7 - db "@" - -Route3Text9: ; 5563a (15:563a) - db $08 ; asm - ld hl, Route3TrainerHeader8 - call TalkToTrainer - jp TextScriptEnd - -Route3BattleText8: ; 55644 (15:5644) - TX_FAR _Route3BattleText8 - db "@" - -Route3EndBattleText8: ; 55649 (15:5649) - TX_FAR _Route3EndBattleText8 - db "@" - -Route3AfterBattleText8: ; 5564e (15:564e) - TX_FAR _Route3AfterBattleText8 - db "@" - -Route3Text10: ; 55653 (15:5653) - TX_FAR _Route3Text10 - db "@" - -Route4Script: ; 55658 (15:5658) - call EnableAutoTextBoxDrawing - ld hl, Route4TrainerHeaders - ld de, Route4ScriptPointers - ld a, [W_ROUTE4CURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_ROUTE4CURSCRIPT], a - ret - -Route4ScriptPointers: ; 5566b (15:566b) - dw CheckFightingMapTrainers - dw Func_324c - dw EndTrainerBattle - -Route4TextPointers: ; 55671 (15:5671) - dw Route4Text1 - dw Route4Text2 - dw Predef5CText - dw PokeCenterSignText - dw Route4Text5 - dw Route4Text6 - -Route4TrainerHeaders: ; 5567d (15:567d) -Route4TrainerHeader0: ; 5567d (15:567d) - db $2 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7c5 ; flag's byte - dw Route4BattleText1 ; 0x5699 TextBeforeBattle - dw Route4AfterBattleText1 ; 0x56a3 TextAfterBattle - dw Route4EndBattleText1 ; 0x569e TextEndBattle - dw Route4EndBattleText1 ; 0x569e TextEndBattle - - db $ff - -Route4Text1: ; 5568a (15:568a) - TX_FAR _Route4Text1 - db "@" - -Route4Text2: ; 5568f (15:568f) - db $08 ; asm - ld hl, Route4TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -Route4BattleText1: ; 55699 (15:5699) - TX_FAR _Route4BattleText1 - db "@" - -Route4EndBattleText1: ; 5569e (15:569e) - TX_FAR _Route4EndBattleText1 - db "@" - -Route4AfterBattleText1: ; 556a3 (15:56a3) - TX_FAR _Route4AfterBattleText1 - db "@" - -Route4Text5: ; 556a8 (15:56a8) - TX_FAR _Route4Text5 - db "@" - -Route4Text6: ; 556ad (15:56ad) - TX_FAR _Route4Text6 - db "@" - -Route5Script: ; 556b2 (15:56b2) - jp EnableAutoTextBoxDrawing - -Route5TextPointers: ; 556b5 (15:56b5) - dw Route5Text1 - -Route5Text1: ; 556b7 (15:56b7) - TX_FAR _Route5Text1 - db "@" - -Route9Script: ; 556bc (15:56bc) - call EnableAutoTextBoxDrawing - ld hl, Route9TrainerHeaders - ld de, Route9ScriptPointers - ld a, [W_ROUTE9CURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_ROUTE9CURSCRIPT], a - ret - -Route9ScriptPointers: ; 556cf (15:56cf) - dw CheckFightingMapTrainers - dw Func_324c - dw EndTrainerBattle - -Route9TextPointers: ; 556d5 (15:56d5) - dw Route9Text1 - dw Route9Text2 - dw Route9Text3 - dw Route9Text4 - dw Route9Text5 - dw Route9Text6 - dw Route9Text7 - dw Route9Text8 - dw Route9Text9 - dw Predef5CText - dw Route9Text11 - -Route9TrainerHeaders: ; 556eb (15:56eb) -Route9TrainerHeader0: ; 556eb (15:56eb) - db $1 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7cf ; flag's byte - dw Route9BattleText1 ; 0x5792 TextBeforeBattle - dw Route9AfterBattleText1 ; 0x579c TextAfterBattle - dw Route9EndBattleText1 ; 0x5797 TextEndBattle - dw Route9EndBattleText1 ; 0x5797 TextEndBattle - -Route9TrainerHeader2: ; 556f7 (15:56f7) - db $2 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7cf ; flag's byte - dw Route9BattleText2 ; 0x57a1 TextBeforeBattle - dw Route9AfterBattleText2 ; 0x57ab TextAfterBattle - dw Route9EndBattleText2 ; 0x57a6 TextEndBattle - dw Route9EndBattleText2 ; 0x57a6 TextEndBattle - -Route9TrainerHeader3: ; 55703 (15:5703) - db $3 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7cf ; flag's byte - dw Route9BattleText3 ; 0x57b0 TextBeforeBattle - dw Route9AfterBattleText3 ; 0x57ba TextAfterBattle - dw Route9EndBattleText3 ; 0x57b5 TextEndBattle - dw Route9EndBattleText3 ; 0x57b5 TextEndBattle - -Route9TrainerHeader4: ; 5570f (15:570f) - db $4 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7cf ; flag's byte - dw Route9BattleText4 ; 0x57bf TextBeforeBattle - dw Route9AfterBattleText4 ; 0x57c9 TextAfterBattle - dw Route9EndBattleText4 ; 0x57c4 TextEndBattle - dw Route9EndBattleText4 ; 0x57c4 TextEndBattle - -Route9TrainerHeader5: ; 5571b (15:571b) - db $5 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7cf ; flag's byte - dw Route9BattleText5 ; 0x57ce TextBeforeBattle - dw Route9AfterBattleText5 ; 0x57d8 TextAfterBattle - dw Route9EndBattleText5 ; 0x57d3 TextEndBattle - dw Route9EndBattleText5 ; 0x57d3 TextEndBattle - -Route9TrainerHeader6: ; 55727 (15:5727) - db $6 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7cf ; flag's byte - dw Route9BattleText6 ; 0x57dd TextBeforeBattle - dw Route9AfterBattleText6 ; 0x57e7 TextAfterBattle - dw Route9EndBattleText6 ; 0x57e2 TextEndBattle - dw Route9EndBattleText6 ; 0x57e2 TextEndBattle - -Route9TrainerHeader7: ; 55733 (15:5733) - db $7 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7cf ; flag's byte - dw Route9BattleText7 ; 0x57ec TextBeforeBattle - dw Route9AfterBattleText7 ; 0x57f6 TextAfterBattle - dw Route9EndBattleText7 ; 0x57f1 TextEndBattle - dw Route9EndBattleText7 ; 0x57f1 TextEndBattle - -Route9TrainerHeader8: ; 5573f (15:573f) - db $8 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7cf ; flag's byte - dw Route9BattleText8 ; 0x57fb TextBeforeBattle - dw Route9AfterBattleText8 ; 0x5805 TextAfterBattle - dw Route9EndBattleText8 ; 0x5800 TextEndBattle - dw Route9EndBattleText8 ; 0x5800 TextEndBattle - -Route9TrainerHeader9: ; 5574b (15:574b) - db $9 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7cf ; flag's byte - dw Route9BattleText9 ; 0x580a TextBeforeBattle - dw Route9AfterBattleText9 ; 0x5814 TextAfterBattle - dw Route9EndBattleText9 ; 0x580f TextEndBattle - dw Route9EndBattleText9 ; 0x580f TextEndBattle - - db $ff - -Route9Text1: ; 55758 (15:5758) - db $8 ; asm - ld hl, Route9TrainerHeader0 - jr asm_8be3d ; 0x5575c $2e - -Route9Text2: ; 5575e (15:575e) - db $8 ; asm - ld hl, Route9TrainerHeader2 - jr asm_8be3d ; 0x55762 $28 - -Route9Text3: ; 55764 (15:5764) - db $8 ; asm - ld hl, Route9TrainerHeader3 - jr asm_8be3d ; 0x55768 $22 - -Route9Text4: ; 5576a (15:576a) - db $8 ; asm - ld hl, Route9TrainerHeader4 - jr asm_8be3d ; 0x5576e $1c - -Route9Text5: ; 55770 (15:5770) - db $8 ; asm - ld hl, Route9TrainerHeader5 - jr asm_8be3d ; 0x55774 $16 - -Route9Text6: ; 55776 (15:5776) - db $8 ; asm - ld hl, Route9TrainerHeader6 - jr asm_8be3d ; 0x5577a $10 - -Route9Text7: ; 5577c (15:577c) - db $8 ; asm - ld hl, Route9TrainerHeader7 - jr asm_8be3d ; 0x55780 $a - -Route9Text8: ; 55782 (15:5782) - db $8 ; asm - ld hl, Route9TrainerHeader8 - jr asm_8be3d ; 0x55786 $4 - -Route9Text9: ; 55788 (15:5788) - db $8 ; asm - ld hl, Route9TrainerHeader9 -asm_8be3d: ; 5578c (15:578c) - call TalkToTrainer - jp TextScriptEnd - -Route9BattleText1: ; 55792 (15:5792) - TX_FAR _Route9BattleText1 - db "@" - -Route9EndBattleText1: ; 55797 (15:5797) - TX_FAR _Route9EndBattleText1 - db "@" - -Route9AfterBattleText1: ; 5579c (15:579c) - TX_FAR _Route9AfterBattleText1 - db "@" - -Route9BattleText2: ; 557a1 (15:57a1) - TX_FAR _Route9BattleText2 - db "@" - -Route9EndBattleText2: ; 557a6 (15:57a6) - TX_FAR _Route9EndBattleText2 - db "@" - -Route9AfterBattleText2: ; 557ab (15:57ab) - TX_FAR _Route9AfterBattleText2 - db "@" - -Route9BattleText3: ; 557b0 (15:57b0) - TX_FAR _Route9BattleText3 - db "@" - -Route9EndBattleText3: ; 557b5 (15:57b5) - TX_FAR _Route9EndBattleText3 - db "@" - -Route9AfterBattleText3: ; 557ba (15:57ba) - TX_FAR _Route9AfterBattleText3 - db "@" - -Route9BattleText4: ; 557bf (15:57bf) - TX_FAR _Route9BattleText4 - db "@" - -Route9EndBattleText4: ; 557c4 (15:57c4) - TX_FAR _Route9EndBattleText4 - db "@" - -Route9AfterBattleText4: ; 557c9 (15:57c9) - TX_FAR _Route9AfterBattleText4 - db "@" - -Route9BattleText5: ; 557ce (15:57ce) - TX_FAR _Route9BattleText5 - db "@" - -Route9EndBattleText5: ; 557d3 (15:57d3) - TX_FAR _Route9EndBattleText5 - db "@" - -Route9AfterBattleText5: ; 557d8 (15:57d8) - TX_FAR _Route9AfterBattleText5 - db "@" - -Route9BattleText6: ; 557dd (15:57dd) - TX_FAR _Route9BattleText6 - db "@" - -Route9EndBattleText6: ; 557e2 (15:57e2) - TX_FAR _Route9EndBattleText6 - db "@" - -Route9AfterBattleText6: ; 557e7 (15:57e7) - TX_FAR _Route9AfterBattleText6 - db "@" - -Route9BattleText7: ; 557ec (15:57ec) - TX_FAR _Route9BattleText7 - db "@" - -Route9EndBattleText7: ; 557f1 (15:57f1) - TX_FAR _Route9EndBattleText7 - db "@" - -Route9AfterBattleText7: ; 557f6 (15:57f6) - TX_FAR _Route9AfterBattleText7 - db "@" - -Route9BattleText8: ; 557fb (15:57fb) - TX_FAR _Route9BattleText8 - db "@" - -Route9EndBattleText8: ; 55800 (15:5800) - TX_FAR _Route9EndBattleText8 - db "@" - -Route9AfterBattleText8: ; 55805 (15:5805) - TX_FAR _Route9AfterBattleText8 - db "@" - -Route9BattleText9: ; 5580a (15:580a) - TX_FAR _Route9BattleText9 - db "@" - -Route9EndBattleText9: ; 5580f (15:580f) - TX_FAR _Route9EndBattleText9 - db "@" - -Route9AfterBattleText9: ; 55814 (15:5814) - TX_FAR _Route9AfterBattleText9 - db "@" - -Route9Text11: ; 55819 (15:5819) - TX_FAR _Route9Text11 - db "@" - -Route13Script: ; 5581e (15:581e) - call EnableAutoTextBoxDrawing - ld hl, Route13TrainerHeaders - ld de, Route13ScriptPointers - ld a, [W_ROUTE13CURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_ROUTE13CURSCRIPT], a - ret - -Route13ScriptPointers: ; 55831 (15:5831) - dw CheckFightingMapTrainers - dw Func_324c - dw EndTrainerBattle - -Route13TextPointers: ; 55837 (15:5837) - dw Route13Text1 - dw Route13Text2 - dw Route13Text3 - dw Route13Text4 - dw Route13Text5 - dw Route13Text6 - dw Route13Text7 - dw Route13Text8 - dw Route13Text9 - dw Route13Text10 - dw Route13Text11 - dw Route13Text12 - dw Route13Text13 - -Route13TrainerHeaders: ; 55851 (15:5851) -Route13TrainerHeader0: ; 55851 (15:5851) - db $1 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7d9 ; flag's byte - dw Route13BattleText2 ; 0x58d4 TextBeforeBattle - dw Route13AfterBattleText2 ; 0x58de TextAfterBattle - dw Route13EndBattleText2 ; 0x58d9 TextEndBattle - dw Route13EndBattleText2 ; 0x58d9 TextEndBattle - -Route13TrainerHeader2: ; 5585d (15:585d) - db $2 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7d9 ; flag's byte - dw Route13BattleText3 ; 0x58ed TextBeforeBattle - dw Route13AfterBattleText3 ; 0x58f7 TextAfterBattle - dw Route13EndBattleText3 ; 0x58f2 TextEndBattle - dw Route13EndBattleText3 ; 0x58f2 TextEndBattle - -Route13TrainerHeader3: ; 55869 (15:5869) - db $3 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7d9 ; flag's byte - dw Route13BattleText4 ; 0x5906 TextBeforeBattle - dw Route13AfterBattleText4 ; 0x5910 TextAfterBattle - dw Route13EndBattleText4 ; 0x590b TextEndBattle - dw Route13EndBattleText4 ; 0x590b TextEndBattle - -Route13TrainerHeader4: ; 55875 (15:5875) - db $4 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7d9 ; flag's byte - dw Route13BattleText5 ; 0x591f TextBeforeBattle - dw Route13AfterBattleText5 ; 0x5929 TextAfterBattle - dw Route13EndBattleText5 ; 0x5924 TextEndBattle - dw Route13EndBattleText5 ; 0x5924 TextEndBattle - -Route13TrainerHeader5: ; 55881 (15:5881) - db $5 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7d9 ; flag's byte - dw Route13BattleText6 ; 0x5938 TextBeforeBattle - dw Route13AfterBattleText6 ; 0x5942 TextAfterBattle - dw Route13EndBattleText6 ; 0x593d TextEndBattle - dw Route13EndBattleText6 ; 0x593d TextEndBattle - -Route13TrainerHeader6: ; 5588d (15:588d) - db $6 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7d9 ; flag's byte - dw Route13BattleText7 ; 0x5951 TextBeforeBattle - dw Route13AfterBattleText7 ; 0x595b TextAfterBattle - dw Route13EndBattleText7 ; 0x5956 TextEndBattle - dw Route13EndBattleText7 ; 0x5956 TextEndBattle - -Route13TrainerHeader7: ; 55899 (15:5899) - db $7 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7d9 ; flag's byte - dw Route13BattleText8 ; 0x596a TextBeforeBattle - dw Route13AfterBattleText8 ; 0x5974 TextAfterBattle - dw Route13EndBattleText8 ; 0x596f TextEndBattle - dw Route13EndBattleText8 ; 0x596f TextEndBattle - -Route13TrainerHeader8: ; 558a5 (15:58a5) - db $8 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7d9 ; flag's byte - dw Route13BattleText9 ; 0x5983 TextBeforeBattle - dw Route13AfterBattleText9 ; 0x598d TextAfterBattle - dw Route13EndBattleText9 ; 0x5988 TextEndBattle - dw Route13EndBattleText9 ; 0x5988 TextEndBattle - -Route13TrainerHeader9: ; 558b1 (15:58b1) - db $9 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7d9 ; flag's byte - dw Route13BattleText10 ; 0x599c TextBeforeBattle - dw Route13AfterBattleText10 ; 0x59a6 TextAfterBattle - dw Route13EndBattleText10 ; 0x59a1 TextEndBattle - dw Route13EndBattleText10 ; 0x59a1 TextEndBattle - -Route13TrainerHeader10: ; 558bd (15:58bd) - db $a ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7d9 ; flag's byte - dw Route13BattleText11 ; 0x59b5 TextBeforeBattle - dw Route13AfterBattleText11 ; 0x59bf TextAfterBattle - dw Route13EndBattleText11 ; 0x59ba TextEndBattle - dw Route13EndBattleText11 ; 0x59ba TextEndBattle - - db $ff - -Route13Text1: ; 558ca (15:58ca) - db $08 ; asm - ld hl, Route13TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -Route13BattleText2: ; 558d4 (15:58d4) - TX_FAR _Route13BattleText2 - db "@" - -Route13EndBattleText2: ; 558d9 (15:58d9) - TX_FAR _Route13EndBattleText2 - db "@" - -Route13AfterBattleText2: ; 558de (15:58de) - TX_FAR _Route13AfterBattleText2 - db "@" - -Route13Text2: ; 558e3 (15:58e3) - db $08 ; asm - ld hl, Route13TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -Route13BattleText3: ; 558ed (15:58ed) - TX_FAR _Route13BattleText3 - db "@" - -Route13EndBattleText3: ; 558f2 (15:58f2) - TX_FAR _Route13EndBattleText3 - db "@" - -Route13AfterBattleText3: ; 558f7 (15:58f7) - TX_FAR _Route13AfterBattleText3 - db "@" - -Route13Text3: ; 558fc (15:58fc) - db $08 ; asm - ld hl, Route13TrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -Route13BattleText4: ; 55906 (15:5906) - TX_FAR _Route13BattleText4 - db "@" - -Route13EndBattleText4: ; 5590b (15:590b) - TX_FAR _Route13EndBattleText4 - db "@" - -Route13AfterBattleText4: ; 55910 (15:5910) - TX_FAR _Route13AfterBattleText4 - db "@" - -Route13Text4: ; 55915 (15:5915) - db $08 ; asm - ld hl, Route13TrainerHeader4 - call TalkToTrainer - jp TextScriptEnd - -Route13BattleText5: ; 5591f (15:591f) - TX_FAR _Route13BattleText5 - db "@" - -Route13EndBattleText5: ; 55924 (15:5924) - TX_FAR _Route13EndBattleText5 - db "@" - -Route13AfterBattleText5: ; 55929 (15:5929) - TX_FAR _Route13AfterBattleText5 - db "@" - -Route13Text5: ; 5592e (15:592e) - db $08 ; asm - ld hl, Route13TrainerHeader5 - call TalkToTrainer - jp TextScriptEnd - -Route13BattleText6: ; 55938 (15:5938) - TX_FAR _Route13BattleText6 - db "@" - -Route13EndBattleText6: ; 5593d (15:593d) - TX_FAR _Route13EndBattleText6 - db "@" - -Route13AfterBattleText6: ; 55942 (15:5942) - TX_FAR _Route13AfterBattleText6 - db "@" - -Route13Text6: ; 55947 (15:5947) - db $08 ; asm - ld hl, Route13TrainerHeader6 - call TalkToTrainer - jp TextScriptEnd - -Route13BattleText7: ; 55951 (15:5951) - TX_FAR _Route13BattleText7 - db "@" - -Route13EndBattleText7: ; 55956 (15:5956) - TX_FAR _Route13EndBattleText7 - db "@" - -Route13AfterBattleText7: ; 5595b (15:595b) - TX_FAR _Route13AfterBattleText7 - db "@" - -Route13Text7: ; 55960 (15:5960) - db $08 ; asm - ld hl, Route13TrainerHeader7 - call TalkToTrainer - jp TextScriptEnd - -Route13BattleText8: ; 5596a (15:596a) - TX_FAR _Route13BattleText8 - db "@" +INCLUDE "scripts/route2.asm" -Route13EndBattleText8: ; 5596f (15:596f) - TX_FAR _Route13EndBattleText8 - db "@" - -Route13AfterBattleText8: ; 55974 (15:5974) - TX_FAR _Route13AfterBattleText8 - db "@" - -Route13Text8: ; 55979 (15:5979) - db $08 ; asm - ld hl, Route13TrainerHeader8 - call TalkToTrainer - jp TextScriptEnd - -Route13BattleText9: ; 55983 (15:5983) - TX_FAR _Route13BattleText9 - db "@" - -Route13EndBattleText9: ; 55988 (15:5988) - TX_FAR _Route13EndBattleText9 - db "@" - -Route13AfterBattleText9: ; 5598d (15:598d) - TX_FAR _Route13AfterBattleText9 - db "@" - -Route13Text9: ; 55992 (15:5992) - db $08 ; asm - ld hl, Route13TrainerHeader9 - call TalkToTrainer - jp TextScriptEnd +INCLUDE "scripts/route3.asm" -Route13BattleText10: ; 5599c (15:599c) - TX_FAR _Route13BattleText10 - db "@" +INCLUDE "scripts/route4.asm" -Route13EndBattleText10: ; 559a1 (15:59a1) - TX_FAR _Route13EndBattleText10 - db "@" +INCLUDE "scripts/route5.asm" -Route13AfterBattleText10: ; 559a6 (15:59a6) - TX_FAR _Route13AfterBattleText10 - db "@" +INCLUDE "scripts/route9.asm" -Route13Text10: ; 559ab (15:59ab) - db $08 ; asm - ld hl, Route13TrainerHeader10 - call TalkToTrainer - jp TextScriptEnd +INCLUDE "scripts/route13.asm" -Route13BattleText11: ; 559b5 (15:59b5) - TX_FAR _Route13BattleText11 - db "@" - -Route13EndBattleText11: ; 559ba (15:59ba) - TX_FAR _Route13EndBattleText11 - db "@" +INCLUDE "scripts/route14.asm" -Route13AfterBattleText11: ; 559bf (15:59bf) - TX_FAR _Route13AfterBattleText11 - db "@" +INCLUDE "scripts/route17.asm" -Route13Text11: ; 559c4 (15:59c4) - TX_FAR _Route13Text11 - db "@" +INCLUDE "scripts/route19.asm" -Route13Text12: ; 559c9 (15:59c9) - TX_FAR _Route13Text12 - db "@" - -Route13Text13: ; 559ce (15:59ce) - TX_FAR _Route13Text13 - db "@" - -Route14Script: ; 559d3 (15:59d3) - call EnableAutoTextBoxDrawing - ld hl, Route14TrainerHeaders - ld de, Route14ScriptPointers - ld a, [W_ROUTE14CURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_ROUTE14CURSCRIPT], a - ret - -Route14ScriptPointers: ; 559e6 (15:59e6) - dw CheckFightingMapTrainers - dw Func_324c - dw EndTrainerBattle - -Route14TextPointers: ; 559ec (15:59ec) - dw Route14Text1 - dw Route14Text2 - dw Route14Text3 - dw Route14Text4 - dw Route14Text5 - dw Route14Text6 - dw Route14Text7 - dw Route14Text8 - dw Route14Text9 - dw Route14Text10 - dw Route14Text11 - -Route14TrainerHeaders: ; 55a02 (15:5a02) -Route14TrainerHeader0: ; 55a02 (15:5a02) - db $1 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7db ; flag's byte - dw Route14BattleText1 ; 0x5a85 TextBeforeBattle - dw Route14AfterBattleText1 ; 0x5a8f TextAfterBattle - dw Route14EndBattleText1 ; 0x5a8a TextEndBattle - dw Route14EndBattleText1 ; 0x5a8a TextEndBattle - -Route14TrainerHeader1: ; 55a0e (15:5a0e) - db $2 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7db ; flag's byte - dw Route14BattleText2 ; 0x5a9e TextBeforeBattle - dw Route14AfterBattleText2 ; 0x5aa8 TextAfterBattle - dw Route14EndBattleText2 ; 0x5aa3 TextEndBattle - dw Route14EndBattleText2 ; 0x5aa3 TextEndBattle - -Route14TrainerHeader2: ; 55a1a (15:5a1a) - db $3 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7db ; flag's byte - dw Route14BattleText3 ; 0x5ab7 TextBeforeBattle - dw Route14AfterBattleText3 ; 0x5ac1 TextAfterBattle - dw Route14EndBattleText3 ; 0x5abc TextEndBattle - dw Route14EndBattleText3 ; 0x5abc TextEndBattle - -Route14TrainerHeader3: ; 55a26 (15:5a26) - db $4 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7db ; flag's byte - dw Route14BattleText4 ; 0x5ad0 TextBeforeBattle - dw Route14AfterBattleText4 ; 0x5ada TextAfterBattle - dw Route14EndBattleText4 ; 0x5ad5 TextEndBattle - dw Route14EndBattleText4 ; 0x5ad5 TextEndBattle - -Route14TrainerHeader4: ; 55a32 (15:5a32) - db $5 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7db ; flag's byte - dw Route14BattleText5 ; 0x5ae9 TextBeforeBattle - dw Route14AfterBattleText5 ; 0x5af3 TextAfterBattle - dw Route14EndBattleText5 ; 0x5aee TextEndBattle - dw Route14EndBattleText5 ; 0x5aee TextEndBattle - -Route14TrainerHeader5: ; 55a3e (15:5a3e) - db $6 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7db ; flag's byte - dw Route14BattleText6 ; 0x5b02 TextBeforeBattle - dw Route14AfterBattleText6 ; 0x5b0c TextAfterBattle - dw Route14EndBattleText6 ; 0x5b07 TextEndBattle - dw Route14EndBattleText6 ; 0x5b07 TextEndBattle - -Route14TrainerHeader6: ; 55a4a (15:5a4a) - db $7 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7db ; flag's byte - dw Route14BattleText7 ; 0x5b1b TextBeforeBattle - dw Route14AfterBattleText7 ; 0x5b25 TextAfterBattle - dw Route14EndBattleText7 ; 0x5b20 TextEndBattle - dw Route14EndBattleText7 ; 0x5b20 TextEndBattle - -Route14TrainerHeader7: ; 55a56 (15:5a56) - db $8 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7db ; flag's byte - dw Route14BattleText8 ; 0x5b34 TextBeforeBattle - dw Route14AfterBattleText8 ; 0x5b3e TextAfterBattle - dw Route14EndBattleText8 ; 0x5b39 TextEndBattle - dw Route14EndBattleText8 ; 0x5b39 TextEndBattle - -Route14TrainerHeader8: ; 55a62 (15:5a62) - db $9 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7db ; flag's byte - dw Route14BattleText9 ; 0x5b4d TextBeforeBattle - dw Route14AfterBattleText9 ; 0x5b57 TextAfterBattle - dw Route14EndBattleText9 ; 0x5b52 TextEndBattle - dw Route14EndBattleText9 ; 0x5b52 TextEndBattle - -Route14TrainerHeader9: ; 55a6e (15:5a6e) - db $a ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7db ; flag's byte - dw Route14BattleText10 ; 0x5b66 TextBeforeBattle - dw Route14AfterBattleText10 ; 0x5b70 TextAfterBattle - dw Route14EndBattleText10 ; 0x5b6b TextEndBattle - dw Route14EndBattleText10 ; 0x5b6b TextEndBattle - - db $ff - -Route14Text1: ; 55a7b (15:5a7b) - db $08 ; asm - ld hl, Route14TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -Route14BattleText1: ; 55a85 (15:5a85) - TX_FAR _Route14BattleText1 - db "@" - -Route14EndBattleText1: ; 55a8a (15:5a8a) - TX_FAR _Route14EndBattleText1 - db "@" - -Route14AfterBattleText1: ; 55a8f (15:5a8f) - TX_FAR _Route14AfterBattleText1 - db "@" - -Route14Text2: ; 55a94 (15:5a94) - db $08 ; asm - ld hl, Route14TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -Route14BattleText2: ; 55a9e (15:5a9e) - TX_FAR _Route14BattleText2 - db "@" - -Route14EndBattleText2: ; 55aa3 (15:5aa3) - TX_FAR _Route14EndBattleText2 - db "@" - -Route14AfterBattleText2: ; 55aa8 (15:5aa8) - TX_FAR _Route14AfterBattleText2 - db "@" - -Route14Text3: ; 55aad (15:5aad) - db $08 ; asm - ld hl, Route14TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -Route14BattleText3: ; 55ab7 (15:5ab7) - TX_FAR _Route14BattleText3 - db "@" - -Route14EndBattleText3: ; 55abc (15:5abc) - TX_FAR _Route14EndBattleText3 - db "@" - -Route14AfterBattleText3: ; 55ac1 (15:5ac1) - TX_FAR _Route14AfterBattleText3 - db "@" - -Route14Text4: ; 55ac6 (15:5ac6) - db $08 ; asm - ld hl, Route14TrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -Route14BattleText4: ; 55ad0 (15:5ad0) - TX_FAR _Route14BattleText4 - db "@" - -Route14EndBattleText4: ; 55ad5 (15:5ad5) - TX_FAR _Route14EndBattleText4 - db "@" - -Route14AfterBattleText4: ; 55ada (15:5ada) - TX_FAR _Route14AfterBattleText4 - db "@" - -Route14Text5: ; 55adf (15:5adf) - db $08 ; asm - ld hl, Route14TrainerHeader4 - call TalkToTrainer - jp TextScriptEnd - -Route14BattleText5: ; 55ae9 (15:5ae9) - TX_FAR _Route14BattleText5 - db "@" - -Route14EndBattleText5: ; 55aee (15:5aee) - TX_FAR _Route14EndBattleText5 - db "@" - -Route14AfterBattleText5: ; 55af3 (15:5af3) - TX_FAR _Route14AfterBattleText5 - db "@" - -Route14Text6: ; 55af8 (15:5af8) - db $08 ; asm - ld hl, Route14TrainerHeader5 - call TalkToTrainer - jp TextScriptEnd - -Route14BattleText6: ; 55b02 (15:5b02) - TX_FAR _Route14BattleText6 - db "@" - -Route14EndBattleText6: ; 55b07 (15:5b07) - TX_FAR _Route14EndBattleText6 - db "@" - -Route14AfterBattleText6: ; 55b0c (15:5b0c) - TX_FAR _Route14AfterBattleText6 - db "@" - -Route14Text7: ; 55b11 (15:5b11) - db $08 ; asm - ld hl, Route14TrainerHeader6 - call TalkToTrainer - jp TextScriptEnd - -Route14BattleText7: ; 55b1b (15:5b1b) - TX_FAR _Route14BattleText7 - db "@" - -Route14EndBattleText7: ; 55b20 (15:5b20) - TX_FAR _Route14EndBattleText7 - db "@" - -Route14AfterBattleText7: ; 55b25 (15:5b25) - TX_FAR _Route14AfterBattleText7 - db "@" - -Route14Text8: ; 55b2a (15:5b2a) - db $08 ; asm - ld hl, Route14TrainerHeader7 - call TalkToTrainer - jp TextScriptEnd - -Route14BattleText8: ; 55b34 (15:5b34) - TX_FAR _Route14BattleText8 - db "@" - -Route14EndBattleText8: ; 55b39 (15:5b39) - TX_FAR _Route14EndBattleText8 - db "@" - -Route14AfterBattleText8: ; 55b3e (15:5b3e) - TX_FAR _Route14AfterBattleText8 - db "@" - -Route14Text9: ; 55b43 (15:5b43) - db $08 ; asm - ld hl, Route14TrainerHeader8 - call TalkToTrainer - jp TextScriptEnd - -Route14BattleText9: ; 55b4d (15:5b4d) - TX_FAR _Route14BattleText9 - db "@" - -Route14EndBattleText9: ; 55b52 (15:5b52) - TX_FAR _Route14EndBattleText9 - db "@" - -Route14AfterBattleText9: ; 55b57 (15:5b57) - TX_FAR _Route14AfterBattleText9 - db "@" - -Route14Text10: ; 55b5c (15:5b5c) - db $08 ; asm - ld hl, Route14TrainerHeader9 - call TalkToTrainer - jp TextScriptEnd - -Route14BattleText10: ; 55b66 (15:5b66) - TX_FAR _Route14BattleText10 - db "@" - -Route14EndBattleText10: ; 55b6b (15:5b6b) - TX_FAR _Route14EndBattleText10 - db "@" - -Route14AfterBattleText10: ; 55b70 (15:5b70) - TX_FAR _Route14AfterBattleText10 - db "@" - -Route14Text11: ; 55b75 (15:5b75) - TX_FAR _Route14Text11 - db "@" - -Route17Script: ; 55b7a (15:5b7a) - call EnableAutoTextBoxDrawing - ld hl, Route17TrainerHeaders - ld de, Route17ScriptPointers - ld a, [W_ROUTE17CURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_ROUTE17CURSCRIPT], a - ret - -Route17ScriptPointers: ; 55b8d (15:5b8d) - dw CheckFightingMapTrainers - dw Func_324c - dw EndTrainerBattle - -Route17TextPointers: ; 55b93 (15:5b93) - dw Route17Text1 - dw Route17Text2 - dw Route17Text3 - dw Route17Text4 - dw Route17Text5 - dw Route17Text6 - dw Route17Text7 - dw Route17Text8 - dw Route17Text9 - dw Route17Text10 - dw Route17Text11 - dw Route17Text12 - dw Route17Text13 - dw Route17Text14 - dw Route17Text15 - dw Route17Text16 - -Route17TrainerHeaders: ; 55bb3 (15:5bb3) -Route17TrainerHeader0: ; 55bb3 (15:5bb3) - db $1 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7e1 ; flag's byte - dw Route17BattleText1 ; 0x5c36 TextBeforeBattle - dw Route17AfterBattleText1 ; 0x5c40 TextAfterBattle - dw Route17EndBattleText1 ; 0x5c3b TextEndBattle - dw Route17EndBattleText1 ; 0x5c3b TextEndBattle - -Route17TrainerHeader1: ; 55bbf (15:5bbf) - db $2 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7e1 ; flag's byte - dw Route17BattleText2 ; 0x5c4f TextBeforeBattle - dw Route17AfterBattleText2 ; 0x5c59 TextAfterBattle - dw Route17EndBattleText2 ; 0x5c54 TextEndBattle - dw Route17EndBattleText2 ; 0x5c54 TextEndBattle - -Route17TrainerHeader2: ; 55bcb (15:5bcb) - db $3 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7e1 ; flag's byte - dw Route17BattleText3 ; 0x5c68 TextBeforeBattle - dw Route17AfterBattleText3 ; 0x5c72 TextAfterBattle - dw Route17EndBattleText3 ; 0x5c6d TextEndBattle - dw Route17EndBattleText3 ; 0x5c6d TextEndBattle - -Route17TrainerHeader3: ; 55bd7 (15:5bd7) - db $4 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7e1 ; flag's byte - dw Route17BattleText4 ; 0x5c81 TextBeforeBattle - dw Route17AfterBattleText4 ; 0x5c8b TextAfterBattle - dw Route17EndBattleText4 ; 0x5c86 TextEndBattle - dw Route17EndBattleText4 ; 0x5c86 TextEndBattle - -Route17TrainerHeader4: ; 55be3 (15:5be3) - db $5 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7e1 ; flag's byte - dw Route17BattleText5 ; 0x5c9a TextBeforeBattle - dw Route17AfterBattleText5 ; 0x5ca4 TextAfterBattle - dw Route17EndBattleText5 ; 0x5c9f TextEndBattle - dw Route17EndBattleText5 ; 0x5c9f TextEndBattle - -Route17TrainerHeader5: ; 55bef (15:5bef) - db $6 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7e1 ; flag's byte - dw Route17BattleText6 ; 0x5cb3 TextBeforeBattle - dw Route17AfterBattleText6 ; 0x5cbd TextAfterBattle - dw Route17EndBattleText6 ; 0x5cb8 TextEndBattle - dw Route17EndBattleText6 ; 0x5cb8 TextEndBattle - -Route17TrainerHeader6: ; 55bfb (15:5bfb) - db $7 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7e1 ; flag's byte - dw Route17BattleText7 ; 0x5ccc TextBeforeBattle - dw Route17AfterBattleText7 ; 0x5cd6 TextAfterBattle - dw Route17EndBattleText7 ; 0x5cd1 TextEndBattle - dw Route17EndBattleText7 ; 0x5cd1 TextEndBattle - -Route17TrainerHeader7: ; 55c07 (15:5c07) - db $8 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7e1 ; flag's byte - dw Route17BattleText8 ; 0x5ce5 TextBeforeBattle - dw Route17AfterBattleText8 ; 0x5cef TextAfterBattle - dw Route17EndBattleText8 ; 0x5cea TextEndBattle - dw Route17EndBattleText8 ; 0x5cea TextEndBattle - -Route17TrainerHeader8: ; 55c13 (15:5c13) - db $9 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7e1 ; flag's byte - dw Route17BattleText9 ; 0x5cfe TextBeforeBattle - dw Route17AfterBattleText9 ; 0x5d08 TextAfterBattle - dw Route17EndBattleText9 ; 0x5d03 TextEndBattle - dw Route17EndBattleText9 ; 0x5d03 TextEndBattle - -Route17TrainerHeader9: ; 55c1f (15:5c1f) - db $a ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7e1 ; flag's byte - dw Route17BattleText10 ; 0x5d17 TextBeforeBattle - dw Route17AfterBattleText10 ; 0x5d21 TextAfterBattle - dw Route17EndBattleText10 ; 0x5d1c TextEndBattle - dw Route17EndBattleText10 ; 0x5d1c TextEndBattle - - db $ff - -Route17Text1: ; 55c2c (15:5c2c) - db $08 ; asm - ld hl, Route17TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -Route17BattleText1: ; 55c36 (15:5c36) - TX_FAR _Route17BattleText1 - db "@" - -Route17EndBattleText1: ; 55c3b (15:5c3b) - TX_FAR _Route17EndBattleText1 - db "@" - -Route17AfterBattleText1: ; 55c40 (15:5c40) - TX_FAR _Route17AfterBattleText1 - db "@" - -Route17Text2: ; 55c45 (15:5c45) - db $08 ; asm - ld hl, Route17TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -Route17BattleText2: ; 55c4f (15:5c4f) - TX_FAR _Route17BattleText2 - db "@" - -Route17EndBattleText2: ; 55c54 (15:5c54) - TX_FAR _Route17EndBattleText2 - db "@" - -Route17AfterBattleText2: ; 55c59 (15:5c59) - TX_FAR _Route17AfterBattleText2 - db "@" - -Route17Text3: ; 55c5e (15:5c5e) - db $08 ; asm - ld hl, Route17TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -Route17BattleText3: ; 55c68 (15:5c68) - TX_FAR _Route17BattleText3 - db "@" - -Route17EndBattleText3: ; 55c6d (15:5c6d) - TX_FAR _Route17EndBattleText3 - db "@" - -Route17AfterBattleText3: ; 55c72 (15:5c72) - TX_FAR _Route17AfterBattleText3 - db "@" - -Route17Text4: ; 55c77 (15:5c77) - db $08 ; asm - ld hl, Route17TrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -Route17BattleText4: ; 55c81 (15:5c81) - TX_FAR _Route17BattleText4 - db "@" - -Route17EndBattleText4: ; 55c86 (15:5c86) - TX_FAR _Route17EndBattleText4 - db "@" - -Route17AfterBattleText4: ; 55c8b (15:5c8b) - TX_FAR _Route17AfterBattleText4 - db "@" - -Route17Text5: ; 55c90 (15:5c90) - db $08 ; asm - ld hl, Route17TrainerHeader4 - call TalkToTrainer - jp TextScriptEnd - -Route17BattleText5: ; 55c9a (15:5c9a) - TX_FAR _Route17BattleText5 - db "@" - -Route17EndBattleText5: ; 55c9f (15:5c9f) - TX_FAR _Route17EndBattleText5 - db "@" - -Route17AfterBattleText5: ; 55ca4 (15:5ca4) - TX_FAR _Route17AfterBattleText5 - db "@" - -Route17Text6: ; 55ca9 (15:5ca9) - db $08 ; asm - ld hl, Route17TrainerHeader5 - call TalkToTrainer - jp TextScriptEnd - -Route17BattleText6: ; 55cb3 (15:5cb3) - TX_FAR _Route17BattleText6 - db "@" - -Route17EndBattleText6: ; 55cb8 (15:5cb8) - TX_FAR _Route17EndBattleText6 - db "@" - -Route17AfterBattleText6: ; 55cbd (15:5cbd) - TX_FAR _Route17AfterBattleText6 - db "@" - -Route17Text7: ; 55cc2 (15:5cc2) - db $08 ; asm - ld hl, Route17TrainerHeader6 - call TalkToTrainer - jp TextScriptEnd - -Route17BattleText7: ; 55ccc (15:5ccc) - TX_FAR _Route17BattleText7 - db "@" - -Route17EndBattleText7: ; 55cd1 (15:5cd1) - TX_FAR _Route17EndBattleText7 - db "@" - -Route17AfterBattleText7: ; 55cd6 (15:5cd6) - TX_FAR _Route17AfterBattleText7 - db "@" - -Route17Text8: ; 55cdb (15:5cdb) - db $08 ; asm - ld hl, Route17TrainerHeader7 - call TalkToTrainer - jp TextScriptEnd - -Route17BattleText8: ; 55ce5 (15:5ce5) - TX_FAR _Route17BattleText8 - db "@" - -Route17EndBattleText8: ; 55cea (15:5cea) - TX_FAR _Route17EndBattleText8 - db "@" - -Route17AfterBattleText8: ; 55cef (15:5cef) - TX_FAR _Route17AfterBattleText8 - db "@" - -Route17Text9: ; 55cf4 (15:5cf4) - db $08 ; asm - ld hl, Route17TrainerHeader8 - call TalkToTrainer - jp TextScriptEnd - -Route17BattleText9: ; 55cfe (15:5cfe) - TX_FAR _Route17BattleText9 - db "@" - -Route17EndBattleText9: ; 55d03 (15:5d03) - TX_FAR _Route17EndBattleText9 - db "@" - -Route17AfterBattleText9: ; 55d08 (15:5d08) - TX_FAR _Route17AfterBattleText9 - db "@" - -Route17Text10: ; 55d0d (15:5d0d) - db $08 ; asm - ld hl, Route17TrainerHeader9 - call TalkToTrainer - jp TextScriptEnd - -Route17BattleText10: ; 55d17 (15:5d17) - TX_FAR _Route17BattleText10 - db "@" - -Route17EndBattleText10: ; 55d1c (15:5d1c) - TX_FAR _Route17EndBattleText10 - db "@" - -Route17AfterBattleText10: ; 55d21 (15:5d21) - TX_FAR _Route17AfterBattleText10 - db "@" - -Route17Text11: ; 55d26 (15:5d26) - TX_FAR _Route17Text11 - db "@" - -Route17Text12: ; 55d2b (15:5d2b) - TX_FAR _Route17Text12 - db "@" - -Route17Text13: ; 55d30 (15:5d30) - TX_FAR _Route17Text13 - db "@" - -Route17Text14: ; 55d35 (15:5d35) - TX_FAR _Route17Text14 - db "@" - -Route17Text15: ; 55d3a (15:5d3a) - TX_FAR _Route17Text15 - db "@" - -Route17Text16: ; 55d3f (15:5d3f) - TX_FAR _Route17Text16 - db "@" - -Route19Script: ; 55d44 (15:5d44) - call EnableAutoTextBoxDrawing - ld hl, Route19TrainerHeaders - ld de, Route19ScriptPointers - ld a, [W_ROUTE19CURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_ROUTE19CURSCRIPT], a - ret - -Route19ScriptPointers: ; 55d57 (15:5d57) - dw CheckFightingMapTrainers - dw Func_324c - dw EndTrainerBattle - -Route19TextPointers: ; 55d5d (15:5d5d) - dw Route19Text1 - dw Route19Text2 - dw Route19Text3 - dw Route19Text4 - dw Route19Text5 - dw Route19Text6 - dw Route19Text7 - dw Route19Text8 - dw Route19Text9 - dw Route19Text10 - dw Route19Text11 - -Route19TrainerHeaders: ; 55d73 (15:5d73) -Route19TrainerHeader0: ; 55d73 (15:5d73) - db $1 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7e5 ; flag's byte - dw Route19BattleText1 ; 0x5e50 TextBeforeBattle - dw Route19AfterBattleText1 ; 0x5e5a TextAfterBattle - dw Route19EndBattleText1 ; 0x5e55 TextEndBattle - dw Route19EndBattleText1 ; 0x5e55 TextEndBattle - -Route19TrainerHeader1: ; 55d7f (15:5d7f) - db $2 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7e5 ; flag's byte - dw Route19BattleText2 ; 0x5e5f TextBeforeBattle - dw Route19AfterBattleText2 ; 0x5e69 TextAfterBattle - dw Route19EndBattleText2 ; 0x5e64 TextEndBattle - dw Route19EndBattleText2 ; 0x5e64 TextEndBattle - -Route19TrainerHeader2: ; 55d8b (15:5d8b) - db $3 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7e5 ; flag's byte - dw Route19BattleText3 ; 0x5e6e TextBeforeBattle - dw Route19AfterBattleText3 ; 0x5e78 TextAfterBattle - dw Route19EndBattleText3 ; 0x5e73 TextEndBattle - dw Route19EndBattleText3 ; 0x5e73 TextEndBattle - -Route19TrainerHeader3: ; 55d97 (15:5d97) - db $4 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7e5 ; flag's byte - dw Route19BattleText4 ; 0x5e7d TextBeforeBattle - dw Route19AfterBattleText4 ; 0x5e87 TextAfterBattle - dw Route19EndBattleText4 ; 0x5e82 TextEndBattle - dw Route19EndBattleText4 ; 0x5e82 TextEndBattle - -Route19TrainerHeader4: ; 55da3 (15:5da3) - db $5 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7e5 ; flag's byte - dw Route19BattleText5 ; 0x5e8c TextBeforeBattle - dw Route19AfterBattleText5 ; 0x5e96 TextAfterBattle - dw Route19EndBattleText5 ; 0x5e91 TextEndBattle - dw Route19EndBattleText5 ; 0x5e91 TextEndBattle - -Route19TrainerHeader5: ; 55daf (15:5daf) - db $6 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7e5 ; flag's byte - dw Route19BattleText6 ; 0x5e9b TextBeforeBattle - dw Route19AfterBattleText6 ; 0x5ea5 TextAfterBattle - dw Route19EndBattleText6 ; 0x5ea0 TextEndBattle - dw Route19EndBattleText6 ; 0x5ea0 TextEndBattle - -Route19TrainerHeader6: ; 55dbb (15:5dbb) - db $7 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7e5 ; flag's byte - dw Route19BattleText7 ; 0x5eaa TextBeforeBattle - dw Route19AfterBattleText7 ; 0x5eb4 TextAfterBattle - dw Route19EndBattleText7 ; 0x5eaf TextEndBattle - dw Route19EndBattleText7 ; 0x5eaf TextEndBattle - -Route19TrainerHeader7: ; 55dc7 (15:5dc7) - db $8 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7e5 ; flag's byte - dw Route19BattleText8 ; 0x5eb9 TextBeforeBattle - dw Route19AfterBattleText8 ; 0x5ec3 TextAfterBattle - dw Route19EndBattleText8 ; 0x5ebe TextEndBattle - dw Route19EndBattleText8 ; 0x5ebe TextEndBattle - -Route19TrainerHeader8: ; 55dd3 (15:5dd3) - db $9 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7e5 ; flag's byte - dw Route19BattleText9 ; 0x5ec8 TextBeforeBattle - dw Route19AfterBattleText9 ; 0x5ed2 TextAfterBattle - dw Route19EndBattleText9 ; 0x5ecd TextEndBattle - dw Route19EndBattleText9 ; 0x5ecd TextEndBattle - -Route19TrainerHeader9: ; 55ddf (15:5ddf) - db $a ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7e5 ; flag's byte - dw Route19BattleText10 ; 0x5ed7 TextBeforeBattle - dw Route19AfterBattleText10 ; 0x5ee1 TextAfterBattle - dw Route19EndBattleText10 ; 0x5edc TextEndBattle - dw Route19EndBattleText10 ; 0x5edc TextEndBattle - - db $ff - -Route19Text1: ; 55dec (15:5dec) - db $08 ; asm - ld hl, Route19TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -Route19Text2: ; 55df6 (15:5df6) - db $08 ; asm - ld hl, Route19TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -Route19Text3: ; 55e00 (15:5e00) - db $08 ; asm - ld hl, Route19TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -Route19Text4: ; 55e0a (15:5e0a) - db $08 ; asm - ld hl, Route19TrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -Route19Text5: ; 55e14 (15:5e14) - db $08 ; asm - ld hl, Route19TrainerHeader4 - call TalkToTrainer - jp TextScriptEnd - -Route19Text6: ; 55e1e (15:5e1e) - db $08 ; asm - ld hl, Route19TrainerHeader5 - call TalkToTrainer - jp TextScriptEnd - -Route19Text7: ; 55e28 (15:5e28) - db $08 ; asm - ld hl, Route19TrainerHeader6 - call TalkToTrainer - jp TextScriptEnd - -Route19Text8: ; 55e32 (15:5e32) - db $08 ; asm - ld hl, Route19TrainerHeader7 - call TalkToTrainer - jp TextScriptEnd - -Route19Text9: ; 55e3c (15:5e3c) - db $08 ; asm - ld hl, Route19TrainerHeader8 - call TalkToTrainer - jp TextScriptEnd - -Route19Text10: ; 55e46 (15:5e46) - db $08 ; asm - ld hl, Route19TrainerHeader9 - call TalkToTrainer - jp TextScriptEnd - -Route19BattleText1: ; 55e50 (15:5e50) - TX_FAR _Route19BattleText1 - db "@" - -Route19EndBattleText1: ; 55e55 (15:5e55) - TX_FAR _Route19EndBattleText1 - db "@" - -Route19AfterBattleText1: ; 55e5a (15:5e5a) - TX_FAR _Route19AfterBattleText1 - db "@" - -Route19BattleText2: ; 55e5f (15:5e5f) - TX_FAR _Route19BattleText2 - db "@" - -Route19EndBattleText2: ; 55e64 (15:5e64) - TX_FAR _Route19EndBattleText2 - db "@" - -Route19AfterBattleText2: ; 55e69 (15:5e69) - TX_FAR _Route19AfterBattleText2 - db "@" - -Route19BattleText3: ; 55e6e (15:5e6e) - TX_FAR _Route19BattleText3 - db "@" - -Route19EndBattleText3: ; 55e73 (15:5e73) - TX_FAR _Route19EndBattleText3 - db "@" - -Route19AfterBattleText3: ; 55e78 (15:5e78) - TX_FAR _Route19AfterBattleText3 - db "@" - -Route19BattleText4: ; 55e7d (15:5e7d) - TX_FAR _Route19BattleText4 - db "@" - -Route19EndBattleText4: ; 55e82 (15:5e82) - TX_FAR _Route19EndBattleText4 - db "@" - -Route19AfterBattleText4: ; 55e87 (15:5e87) - TX_FAR _Route19AfterBattleText4 - db "@" - -Route19BattleText5: ; 55e8c (15:5e8c) - TX_FAR _Route19BattleText5 - db "@" - -Route19EndBattleText5: ; 55e91 (15:5e91) - TX_FAR _Route19EndBattleText5 - db "@" - -Route19AfterBattleText5: ; 55e96 (15:5e96) - TX_FAR _Route19AfterBattleText5 - db "@" - -Route19BattleText6: ; 55e9b (15:5e9b) - TX_FAR _Route19BattleText6 - db "@" - -Route19EndBattleText6: ; 55ea0 (15:5ea0) - TX_FAR _Route19EndBattleText6 - db "@" - -Route19AfterBattleText6: ; 55ea5 (15:5ea5) - TX_FAR _Route19AfterBattleText6 - db "@" - -Route19BattleText7: ; 55eaa (15:5eaa) - TX_FAR _Route19BattleText7 - db "@" - -Route19EndBattleText7: ; 55eaf (15:5eaf) - TX_FAR _Route19EndBattleText7 - db "@" - -Route19AfterBattleText7: ; 55eb4 (15:5eb4) - TX_FAR _Route19AfterBattleText7 - db "@" - -Route19BattleText8: ; 55eb9 (15:5eb9) - TX_FAR _Route19BattleText8 - db "@" - -Route19EndBattleText8: ; 55ebe (15:5ebe) - TX_FAR _Route19EndBattleText8 - db "@" - -Route19AfterBattleText8: ; 55ec3 (15:5ec3) - TX_FAR _Route19AfterBattleText8 - db "@" - -Route19BattleText9: ; 55ec8 (15:5ec8) - TX_FAR _Route19BattleText9 - db "@" - -Route19EndBattleText9: ; 55ecd (15:5ecd) - TX_FAR _Route19EndBattleText9 - db "@" - -Route19AfterBattleText9: ; 55ed2 (15:5ed2) - TX_FAR _Route19AfterBattleText9 - db "@" - -Route19BattleText10: ; 55ed7 (15:5ed7) - TX_FAR _Route19BattleText10 - db "@" - -Route19EndBattleText10: ; 55edc (15:5edc) - TX_FAR _Route19EndBattleText10 - db "@" - -Route19AfterBattleText10: ; 55ee1 (15:5ee1) - TX_FAR _Route19AfterBattleText10 - db "@" - -Route19Text11: ; 55ee6 (15:5ee6) - TX_FAR _Route19Text11 - db "@" - -Route21Script: ; 55eeb (15:5eeb) - call EnableAutoTextBoxDrawing - ld hl, Route21TrainerHeaders - ld de, Route21ScriptPointers - ld a, [W_ROUTE21CURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_ROUTE21CURSCRIPT], a - ret - -Route21ScriptPointers: ; 55efe (15:5efe) - dw CheckFightingMapTrainers - dw Func_324c - dw EndTrainerBattle - -Route21TextPointers: ; 55f04 (15:5f04) - dw Route21Text1 - dw Route21Text2 - dw Route21Text3 - dw Route21Text4 - dw Route21Text5 - dw Route21Text6 - dw Route21Text7 - dw Route21Text8 - dw Route21Text9 - -Route21TrainerHeaders: ; 55f16 (15:5f16) -Route21TrainerHeader0: ; 55f16 (15:5f16) - db $1 ; flag's bit - db ($0 << 4) ; trainer's view range - dw $d7e9 ; flag's byte - dw Route21BattleText1 ; 0x5fdd TextBeforeBattle - dw Route21AfterBattleText1 ; 0x5fe7 TextAfterBattle - dw Route21EndBattleText1 ; 0x5fe2 TextEndBattle - dw Route21EndBattleText1 ; 0x5fe2 TextEndBattle - -Route21TrainerHeader1: ; 55f22 (15:5f22) - db $2 ; flag's bit - db ($0 << 4) ; trainer's view range - dw $d7e9 ; flag's byte - dw Route21BattleText2 ; 0x5fec TextBeforeBattle - dw Route21AfterBattleText2 ; 0x5ff6 TextAfterBattle - dw Route21EndBattleText2 ; 0x5ff1 TextEndBattle - dw Route21EndBattleText2 ; 0x5ff1 TextEndBattle - -Route21TrainerHeader2: ; 55f2e (15:5f2e) - db $3 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7e9 ; flag's byte - dw Route21BattleText3 ; 0x5ffb TextBeforeBattle - dw Route21AfterBattleText3 ; 0x6005 TextAfterBattle - dw Route21EndBattleText3 ; 0x6000 TextEndBattle - dw Route21EndBattleText3 ; 0x6000 TextEndBattle - -Route21TrainerHeader3: ; 55f3a (15:5f3a) - db $4 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7e9 ; flag's byte - dw Route21BattleText4 ; 0x600a TextBeforeBattle - dw Route21AfterBattleText4 ; 0x6014 TextAfterBattle - dw Route21EndBattleText4 ; 0x600f TextEndBattle - dw Route21EndBattleText4 ; 0x600f TextEndBattle - -Route21TrainerHeader4: ; 55f46 (15:5f46) - db $5 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7e9 ; flag's byte - dw Route21BattleText5 ; 0x6019 TextBeforeBattle - dw Route21AfterBattleText5 ; 0x6023 TextAfterBattle - dw Route21EndBattleText5 ; 0x601e TextEndBattle - dw Route21EndBattleText5 ; 0x601e TextEndBattle - -Route21TrainerHeader5: ; 55f52 (15:5f52) - db $6 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7e9 ; flag's byte - dw Route21BattleText6 ; 0x6028 TextBeforeBattle - dw Route21AfterBattleText6 ; 0x6032 TextAfterBattle - dw Route21EndBattleText6 ; 0x602d TextEndBattle - dw Route21EndBattleText6 ; 0x602d TextEndBattle - -Route21TrainerHeader6: ; 55f5e (15:5f5e) - db $7 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7e9 ; flag's byte - dw Route21BattleText7 ; 0x6037 TextBeforeBattle - dw Route21AfterBattleText7 ; 0x6041 TextAfterBattle - dw Route21EndBattleText7 ; 0x603c TextEndBattle - dw Route21EndBattleText7 ; 0x603c TextEndBattle - -Route21TrainerHeader7: ; 55f6a (15:5f6a) - db $8 ; flag's bit - db ($0 << 4) ; trainer's view range - dw $d7e9 ; flag's byte - dw Route21BattleText8 ; 0x6046 TextBeforeBattle - dw Route21AfterBattleText8 ; 0x6050 TextAfterBattle - dw Route21EndBattleText8 ; 0x604b TextEndBattle - dw Route21EndBattleText8 ; 0x604b TextEndBattle - -Route21TrainerHeader8: ; 55f76 (15:5f76) - db $9 ; flag's bit - db ($0 << 4) ; trainer's view range - dw $d7e9 ; flag's byte - dw Route21BattleText9 ; 0x6055 TextBeforeBattle - dw Route21AfterBattleText9 ; 0x605f TextAfterBattle - dw Route21EndBattleText9 ; 0x605a TextEndBattle - dw Route21EndBattleText9 ; 0x605a TextEndBattle - - db $ff - -Route21Text1: ; 55f83 (15:5f83) - db $08 ; asm - ld hl, Route21TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -Route21Text2: ; 55f8d (15:5f8d) - db $08 ; asm - ld hl, Route21TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -Route21Text3: ; 55f97 (15:5f97) - db $08 ; asm - ld hl, Route21TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -Route21Text4: ; 55fa1 (15:5fa1) - db $08 ; asm - ld hl, Route21TrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -Route21Text5: ; 55fab (15:5fab) - db $08 ; asm - ld hl, Route21TrainerHeader4 - call TalkToTrainer - jp TextScriptEnd - -Route21Text6: ; 55fb5 (15:5fb5) - db $08 ; asm - ld hl, Route21TrainerHeader5 - call TalkToTrainer - jp TextScriptEnd - -Route21Text7: ; 55fbf (15:5fbf) - db $08 ; asm - ld hl, Route21TrainerHeader6 - call TalkToTrainer - jp TextScriptEnd - -Route21Text8: ; 55fc9 (15:5fc9) - db $08 ; asm - ld hl, Route21TrainerHeader7 - call TalkToTrainer - jp TextScriptEnd - -Route21Text9: ; 55fd3 (15:5fd3) - db $08 ; asm - ld hl, Route21TrainerHeader8 - call TalkToTrainer - jp TextScriptEnd - -Route21BattleText1: ; 55fdd (15:5fdd) - TX_FAR _Route21BattleText1 - db "@" - -Route21EndBattleText1: ; 55fe2 (15:5fe2) - TX_FAR _Route21EndBattleText1 - db "@" - -Route21AfterBattleText1: ; 55fe7 (15:5fe7) - TX_FAR _Route21AfterBattleText1 - db "@" - -Route21BattleText2: ; 55fec (15:5fec) - TX_FAR _Route21BattleText2 - db "@" - -Route21EndBattleText2: ; 55ff1 (15:5ff1) - TX_FAR _Route21EndBattleText2 - db "@" - -Route21AfterBattleText2: ; 55ff6 (15:5ff6) - TX_FAR _Route21AfterBattleText2 - db "@" - -Route21BattleText3: ; 55ffb (15:5ffb) - TX_FAR _Route21BattleText3 - db "@" - -Route21EndBattleText3: ; 56000 (15:6000) - TX_FAR _Route21EndBattleText3 - db "@" - -Route21AfterBattleText3: ; 56005 (15:6005) - TX_FAR _Route21AfterBattleText3 - db "@" - -Route21BattleText4: ; 5600a (15:600a) - TX_FAR _Route21BattleText4 - db "@" - -Route21EndBattleText4: ; 5600f (15:600f) - TX_FAR _Route21EndBattleText4 - db "@" - -Route21AfterBattleText4: ; 56014 (15:6014) - TX_FAR _Route21AfterBattleText4 - db "@" - -Route21BattleText5: ; 56019 (15:6019) - TX_FAR _Route21BattleText5 - db "@" - -Route21EndBattleText5: ; 5601e (15:601e) - TX_FAR _Route21EndBattleText5 - db "@" - -Route21AfterBattleText5: ; 56023 (15:6023) - TX_FAR _Route21AfterBattleText5 - db "@" - -Route21BattleText6: ; 56028 (15:6028) - TX_FAR _Route21BattleText6 - db "@" - -Route21EndBattleText6: ; 5602d (15:602d) - TX_FAR _Route21EndBattleText6 - db "@" - -Route21AfterBattleText6: ; 56032 (15:6032) - TX_FAR _Route21AfterBattleText6 - db "@" - -Route21BattleText7: ; 56037 (15:6037) - TX_FAR _Route21BattleText7 - db "@" - -Route21EndBattleText7: ; 5603c (15:603c) - TX_FAR _Route21EndBattleText7 - db "@" - -Route21AfterBattleText7: ; 56041 (15:6041) - TX_FAR _Route21AfterBattleText7 - db "@" - -Route21BattleText8: ; 56046 (15:6046) - TX_FAR _Route21BattleText8 - db "@" - -Route21EndBattleText8: ; 5604b (15:604b) - TX_FAR _Route21EndBattleText8 - db "@" - -Route21AfterBattleText8: ; 56050 (15:6050) - TX_FAR _Route21AfterBattleText8 - db "@" - -Route21BattleText9: ; 56055 (15:6055) - TX_FAR _Route21BattleText9 - db "@" - -Route21EndBattleText9: ; 5605a (15:605a) - TX_FAR _Route21EndBattleText9 - db "@" - -Route21AfterBattleText9: ; 5605f (15:605f) - TX_FAR _Route21AfterBattleText9 - db "@" +INCLUDE "scripts/route21.asm" INCLUDE "data/mapHeaders/vermilionhouse2.asm" -VermilionHouse2Script: ; 56070 (15:6070) - jp EnableAutoTextBoxDrawing - -VermilionHouse2TextPointers: ; 56073 (15:6073) - dw VermilionHouse2Text1 - -VermilionHouse2Text1: ; 56075 (15:6075) - db $08 ; asm - ld a, [$d728] - bit 3, a - jr nz, asm_03ef5 ; 0x5607b - ld hl, UnnamedText_560b1 - call PrintText - call YesNoChoice - ld a, [$cc26] - and a - jr nz, asm_eb1b7 ; 0x5608a - ld bc, (OLD_ROD << 8) | 1 - call GiveItem - jr nc, .BagFull - ld hl, $d728 - set 3, [hl] - ld hl, UnnamedText_560b6 - jr asm_5dd95 ; 0x5609c -.BagFull - ld hl, UnnamedText_560ca - jr asm_5dd95 ; 0x560a1 -asm_eb1b7 ; 0x560a3 - ld hl, UnnamedText_560c0 - jr asm_5dd95 ; 0x560a6 -asm_03ef5 ; 0x560a8 - ld hl, UnnamedText_560c5 -asm_5dd95 ; 0x560ab - call PrintText - jp TextScriptEnd - -UnnamedText_560b1: ; 560b1 (15:60b1) - TX_FAR _UnnamedText_560b1 - db "@" - -UnnamedText_560b6: ; 560b6 (15:60b6) - TX_FAR _UnnamedText_560b6 ; 0x9c554 - db $0B - TX_FAR _UnnamedText_560bb ; 0x9c5a4 - db "@" - -UnnamedText_560c0: ; 560c0 (15:60c0) - TX_FAR _UnnamedText_560c0 - db "@" - -UnnamedText_560c5: ; 560c5 (15:60c5) - TX_FAR _UnnamedText_560c5 - db "@" - -UnnamedText_560ca: ; 560ca (15:60ca) - TX_FAR _UnnamedText_560ca - db "@" +INCLUDE "scripts/vermilionhouse2.asm" INCLUDE "data/mapObjects/vermilionhouse2.asm" INCLUDE "data/mapHeaders/celadonmart2.asm" -CeladonMart2Script: ; 560f5 (15:60f5) - jp EnableAutoTextBoxDrawing - -CeladonMart2TextPointers: ; 560f8 (15:60f8) - dw CeladonMart2Text1 - dw CeladonMart2Text2 - dw CeladonMart2Text3 - dw CeladonMart2Text4 - dw CeladonMart2Text5 - -CeladonMart2Text3: ; 56102 (15:6102) - TX_FAR _CeladonMart2Text3 - db "@" - -CeladonMart2Text4: ; 56107 (15:6107) - TX_FAR _CeladonMart2Text4 - db "@" - -CeladonMart2Text5: ; 5610c (15:610c) - TX_FAR _CeladonMart2Text5 - db "@" +INCLUDE "scripts/celadonmart2.asm" INCLUDE "data/mapObjects/celadonmart2.asm" @@ -65419,614 +48330,25 @@ CeladonMart2Blocks: ; 56148 (15:6148) INCLUDE "data/mapHeaders/fuchsiahouse3.asm" -FuchsiaHouse3Script: ; 5617c (15:617c) - jp EnableAutoTextBoxDrawing - -FuchsiaHouse3TextPointers: ; 5617f (15:617f) - dw FuchsiaHouse3Text1 - -FuchsiaHouse3Text1: ; 56181 (15:6181) - db $08 ; asm - ld a, [$d728] - bit 4, a - jr nz, .after - - ld hl, UnnamedText_561bd - call PrintText - - call YesNoChoice - ld a, [$cc26] - and a - jr nz, .refused - - ld bc, (GOOD_ROD << 8) | 1 - call GiveItem - jr nc, .full - - ld hl, $d728 - set 4, [hl] - - ld hl, UnnamedText_561c2 - jr .talk - -.full - ld hl, UnnamedText_5621c - jr .talk - -.refused - ld hl, UnnamedText_56212 - jr .talk - -.after - ld hl, UnnamedText_56217 - -.talk - call PrintText - jp TextScriptEnd - -UnnamedText_561bd: ; 561bd (15:61bd) - TX_FAR _UnnamedText_561bd - db "@" - -UnnamedText_561c2: ; 561c2 (15:61c2) - TX_FAR _UnnamedText_561c2 ; 0xa06e8 - db $0B - db "@" - -UnnamedText_561c8: ; 561c8 - para "つり こそ" - line "おとこの ロマン だ!" - - para "へぼいつりざおは" - line "コイキングしか つれ なんだが" - line "この いいつりざおなら" - line "もっと いいもんが つれるんじゃ!" - done - -UnnamedText_56212: ; 56212 (15:6212) - TX_FAR _UnnamedText_56212 - db "@" - -UnnamedText_56217: ; 56217 (15:6217) - TX_FAR _UnnamedText_56217 - db "@" - -UnnamedText_5621c: ; 5621c (15:621c) - TX_FAR _UnnamedText_5621c - db "@" +INCLUDE "scripts/fuchsiahouse3.asm" INCLUDE "data/mapObjects/fuchsiahouse3.asm" INCLUDE "data/mapHeaders/daycarem.asm" -DayCareMScript: ; 5624f (15:624f) - jp EnableAutoTextBoxDrawing - -DayCareMTextPointers: ; 56252 (15:6252) - dw DayCareMText1 - -DayCareMText1: ; 56254 (15:6254) - db $8 - call SaveScreenTilesToBuffer2 - ld a, [W_DAYCARE_IN_USE] - and a - jp nz, Func_562e1 - ld hl, UnnamedText_5640f - call PrintText - call YesNoChoice - ld a, [$cc26] - and a - ld hl, UnnamedText_5643b - jp nz, Func_56409 - ld a, [$d163] - dec a - ld hl, UnnamedText_56445 - jp z, Func_56409 - ld hl, UnnamedText_56414 - call PrintText - xor a - ld [$cfcb], a - ld [$d07d], a - ld [$cc35], a - call DisplayPartyMenu - push af - call GBPalWhiteOutWithDelay3 - call Func_3dbe - call LoadGBPal - pop af - ld hl, UnnamedText_56437 - jp c, Func_56409 - ld hl, Func_2171b - ld b, BANK(Func_2171b) - call Bankswitch - ld hl, UnnamedText_5644a - jp c, Func_56409 - xor a - ld [$cc2b], a - ld a, [wWhichPokemon] - ld hl, $d2b5 - call GetPartyMonName - ld hl, UnnamedText_56419 - call PrintText - ld a, $1 - ld [W_DAYCARE_IN_USE], a - ld a, $3 - ld [$cf95], a - call Func_3a68 - xor a - ld [$cf95], a - call RemovePokemon - ld a, [$cf91] - call PlayCry - ld hl, UnnamedText_5641e - jp Func_56409 - -Func_562e1: ; 562e1 (15:62e1) - xor a - ld hl, W_DAYCAREMONNAME - call GetPartyMonName - ld a, $3 - ld [$cc49], a - call LoadMonData - ld hl, Func_58f43 - ld b, BANK(Func_58f43) - call Bankswitch - ld a, d - cp $64 - jr c, .asm_56315 - ld d, $64 - ld hl, CalcExperience - ld b, BANK(CalcExperience) - call Bankswitch - ld hl, $da6d - ld a, [H_NUMTOPRINT] - ld [hli], a - ld a, [$ff97] - ld [hli], a - ld a, [$ff98] - ld [hl], a - ld d, $64 - -.asm_56315 - xor a - ld [wTrainerEngageDistance], a - ld hl, $da62 - ld a, [hl] - ld [wTrainerSpriteOffset], a - cp d - ld [hl], d - ld hl, UnnamedText_56432 - jr z, .asm_56333 - ld a, [wTrainerSpriteOffset] - ld b, a - ld a, d - sub b - ld [wTrainerEngageDistance], a - ld hl, UnnamedText_56423 - -.asm_56333 - call PrintText - ld a, [W_NUMINPARTY] - cp $6 - ld hl, UnnamedText_56440 - jp z, .asm_56403 - ld de, wTrainerFacingDirection - xor a - ld [de], a - inc de - ld [de], a - ld hl, wTrainerScreenX - ld a, $1 - ld [hli], a - ld [hl], $0 - ld a, [wTrainerEngageDistance] - inc a - ld b, a - ld c, $2 -.asm_56357 - push hl - push de - push bc - ld a, $b - call Predef - pop bc - pop de - pop hl - dec b - jr nz, .asm_56357 - ld hl, UnnamedText_56428 - call PrintText - ld a, $13 - ld [$d125], a - call DisplayTextBoxID - call YesNoChoice - ld hl, UnnamedText_56437 - ld a, [wCurrentMenuItem] - and a - jp nz, .asm_56403 - ld hl, wTrainerFacingDirection - ld [$ff9f], a - ld a, [hli] - ld [$ffa0], a - ld a, [hl] - ld [$ffa1], a - call HasEnoughMoney - jr nc, .asm_56396 - ld hl, UnnamedText_56454 - jp .asm_56403 - -.asm_56396 - xor a - ld [W_DAYCARE_IN_USE], a - ld hl, wTrainerEngageDistance - ld [hli], a - inc hl - ld de, $d349 - ld c, $3 - ld a, $c - call Predef - ld a, (SFX_02_5a - SFX_Headers_02) / 3 - call PlaySoundWaitForCurrent - ld a, $13 - ld [$d125], a - call DisplayTextBoxID - ld hl, UnnamedText_5644f - call PrintText - ld a, $2 - ld [$cf95], a - call Func_3a68 - ld a, [W_DAYCAREMONDATA] - ld [$cf91], a - ld a, [W_NUMINPARTY] - dec a - push af - ld bc, $002c - push bc - ld hl, W_PARTYMON1_MOVE1 - call AddNTimes - ld d, h - ld e, l - ld a, $1 - ld [wHPBarMaxHP], a - ld a, $3e - call Predef - pop bc - pop af - ld hl, W_PARTYMON1_HP - call AddNTimes - ld d, h - ld e, l - ld bc, $0021 - add hl, bc - ld a, [hli] - ld [de], a - inc de - ld a, [hl] - ld [de], a - ld a, [$cf91] - call PlayCry - ld hl, UnnamedText_5642d - jr Func_56409 - -.asm_56403 - ld a, [wTrainerSpriteOffset] - ld [$da62], a - -Func_56409: ; 56409 (15:6409) - call PrintText - jp TextScriptEnd - -UnnamedText_5640f: ; 5640f (15:640f) - TX_FAR _UnnamedText_5640f - db "@" - -UnnamedText_56414: ; 56414 (15:6414) - TX_FAR _UnnamedText_56414 - db "@" - -UnnamedText_56419: ; 56419 (15:6419) - TX_FAR _UnnamedText_56419 - db "@" - -UnnamedText_5641e: ; 5641e (15:641e) - TX_FAR _UnnamedText_5641e - db "@" - -UnnamedText_56423: ; 56423 (15:6423) - TX_FAR _UnnamedText_56423 - db "@" - -UnnamedText_56428: ; 56428 (15:6428) - TX_FAR _UnnamedText_56428 - db "@" - -UnnamedText_5642d: ; 5642d (15:642d) - TX_FAR _UnnamedText_5642d - db "@" - -UnnamedText_56432: ; 56432 (15:6432) - TX_FAR _UnnamedText_56432 - db "@" - -UnnamedText_56437: ; 56437 (15:6437) - TX_FAR _UnnamedText_56437 ; 0x8c000 -UnnamedText_5643b: ; 5643b (15:643b) - TX_FAR _UnnamedText_5643b ; 0x8c013 - db "@" - -UnnamedText_56440: ; 56440 (15:6440) - TX_FAR _UnnamedText_56440 - db "@" - -UnnamedText_56445: ; 56445 (15:6445) - TX_FAR _UnnamedText_56445 - db "@" - -UnnamedText_5644a: ; 5644a (15:644a) - TX_FAR _UnnamedText_5644a - db "@" - -UnnamedText_5644f: ; 5644f (15:644f) - TX_FAR _UnnamedText_5644f - db "@" - -UnnamedText_56454: ; 56454 (15:6454) - TX_FAR _UnnamedText_56454 - db "@" +INCLUDE "scripts/daycarem.asm" INCLUDE "data/mapObjects/daycarem.asm" INCLUDE "data/mapHeaders/route12house.asm" -Route12HouseScript: ; 5647f (15:647f) - jp EnableAutoTextBoxDrawing - -Route12HouseTextPointers: ; 56482 (15:6482) - dw Route12HouseText1 - -Route12HouseText1: ; 56484 (15:6484) - db $08 ; asm - ld a, [$d728] - bit 5, a - jr nz, asm_b4cad ; 0x5648a - ld hl, UnnamedText_564c0 - call PrintText - call YesNoChoice - ld a, [$cc26] - and a - jr nz, asm_a2d76 ; 0x56499 - ld bc, (SUPER_ROD << 8) | 1 - call GiveItem - jr nc, .BagFull - ld hl, $d728 - set 5, [hl] - ld hl, UnnamedText_564c5 - jr asm_df984 ; 0x564ab -.BagFull - ld hl, UnnamedText_564d9 - jr asm_df984 ; 0x564b0 -asm_a2d76 ; 0x564b2 - ld hl, UnnamedText_564cf - jr asm_df984 ; 0x564b5 -asm_b4cad ; 0x564b7 - ld hl, UnnamedText_564d4 -asm_df984 ; 0x564ba - call PrintText - jp TextScriptEnd - -UnnamedText_564c0: ; 564c0 (15:64c0) - TX_FAR _UnnamedText_564c0 - db "@" - -UnnamedText_564c5: ; 564c5 (15:64c5) - TX_FAR _UnnamedText_564c5 ; 0x8ca00 - db $0B - TX_FAR _UnnamedText_564ca ; 0x8ca4f - db "@" - -UnnamedText_564cf: ; 564cf (15:64cf) - TX_FAR _UnnamedText_564cf - db "@" - -UnnamedText_564d4: ; 564d4 (15:64d4) - TX_FAR _UnnamedText_564d4 - db "@" - -UnnamedText_564d9: ; 564d9 (15:64d9) - TX_FAR _UnnamedText_564d9 - db "@" +INCLUDE "scripts/route12house.asm" INCLUDE "data/mapObjects/route12house.asm" INCLUDE "data/mapHeaders/silphco8.asm" -SilphCo8Script: ; 56504 (15:6504) - call SilphCo8Script_5651a - call EnableAutoTextBoxDrawing - ld hl, SilphCo8TrainerHeader0 - ld de, SilphCo8ScriptPointers - ld a, [W_SILPHCO8CURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_SILPHCO8CURSCRIPT], a - ret - -SilphCo8Script_5651a: ; 5651a (15:651a) - ld hl, $d126 - bit 5, [hl] - res 5, [hl] - ret z - ld hl, DataTable_5653e ; $653e - call Func_56541 - call Func_5656d - ld a, [$d832] - bit 0, a - ret nz - ld a, $5f - ld [$d09f], a - ld bc, $403 - ld a, $17 - jp Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e)) - -DataTable_5653e: ; 5653e (15:653e) - db $04,$03,$FF - -Func_56541: ; 56541 (15:6541) - push hl - ld hl, $d73f - ld a, [hli] - ld b, a - ld a, [hl] - ld c, a - xor a - ld [$ffe0], a - pop hl -.asm_5654d - ld a, [hli] - cp $ff - jr z, .asm_56569 - push hl - ld hl, $ffe0 - inc [hl] - pop hl - cp b - jr z, .asm_5655e - inc hl - jr .asm_5654d -.asm_5655e - ld a, [hli] - cp c - jr nz, .asm_5654d - ld hl, $d73f - xor a - ld [hli], a - ld [hl], a - ret -.asm_56569 - xor a - ld [$ffe0], a - ret - -Func_5656d: ; 5656d (15:656d) - ld a, [$ffe0] - and a - ret z - ld hl, $d832 - set 0, [hl] - ret - -SilphCo8ScriptPointers: ; 56577 (15:6577) - dw CheckFightingMapTrainers - dw Func_324c - dw EndTrainerBattle - -SilphCo8TextPointers: ; 5657d (15:657d) - dw SilphCo8Text1 - dw SilphCo8Text2 - dw SilphCo8Text3 - dw SilphCo8Text4 - -SilphCo8TrainerHeaders: ; 56585 (15:6585) -SilphCo8TrainerHeader0: ; 56585 (15:6585) - db $2 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d831 ; flag's byte - dw SilphCo8BattleText1 ; 0x65e6 TextBeforeBattle - dw SilphCo8AfterBattleText1 ; 0x65f0 TextAfterBattle - dw SilphCo8EndBattleText1 ; 0x65eb TextEndBattle - dw SilphCo8EndBattleText1 ; 0x65eb TextEndBattle - -SilphCo8TrainerHeader1: ; 56591 (15:6591) - db $3 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d831 ; flag's byte - dw SilphCo8BattleText2 ; 0x65f5 TextBeforeBattle - dw SilphCo8AfterBattleText2 ; 0x65ff TextAfterBattle - dw SilphCo8EndBattleText2 ; 0x65fa TextEndBattle - dw SilphCo8EndBattleText2 ; 0x65fa TextEndBattle - -SilphCo8TrainerHeader2: ; 5659d (15:659d) - db $4 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d831 ; flag's byte - dw SilphCo8BattleText3 ; 0x6604 TextBeforeBattle - dw SilphCo8AfterBattleText3 ; 0x660e TextAfterBattle - dw SilphCo8EndBattleText3 ; 0x6609 TextEndBattle - dw SilphCo8EndBattleText3 ; 0x6609 TextEndBattle - - db $ff - -SilphCo8Text1: ; 565aa (15:65aa) - db $08 ; asm - ld a, [$d838] - bit 7, a - ld hl, UnnamedText_565c3 - jr nz, asm_a468f ; 0x565b3 - ld hl, UnnamedText_565be -asm_a468f ; 0x565b8 - call PrintText - jp TextScriptEnd - -UnnamedText_565be: ; 565be (15:65be) - TX_FAR _UnnamedText_565be - db "@" - -UnnamedText_565c3: ; 565c3 (15:65c3) - TX_FAR _UnnamedText_565c3 - db "@" - -SilphCo8Text2: ; 565c8 (15:65c8) - db $08 ; asm - ld hl, SilphCo8TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -SilphCo8Text3: ; 565d2 (15:65d2) - db $08 ; asm - ld hl, SilphCo8TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -SilphCo8Text4: ; 565dc (15:65dc) - db $08 ; asm - ld hl, SilphCo8TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -SilphCo8BattleText1: ; 565e6 (15:65e6) - TX_FAR _SilphCo8BattleText1 - db "@" - -SilphCo8EndBattleText1: ; 565eb (15:65eb) - TX_FAR _SilphCo8EndBattleText1 - db "@" - -SilphCo8AfterBattleText1: ; 565f0 (15:65f0) - TX_FAR _SilphCo8AfterBattleText1 - db "@" - -SilphCo8BattleText2: ; 565f5 (15:65f5) - TX_FAR _SilphCo8BattleText2 - db "@" - -SilphCo8EndBattleText2: ; 565fa (15:65fa) - TX_FAR _SilphCo8EndBattleText2 - db "@" - -SilphCo8AfterBattleText2: ; 565ff (15:65ff) - TX_FAR _SilphCo8AfterBattleText2 - db "@" - -SilphCo8BattleText3: ; 56604 (15:6604) - TX_FAR _SilphCo8BattleText3 - db "@" - -SilphCo8EndBattleText3: ; 56609 (15:6609) - TX_FAR _SilphCo8EndBattleText3 - db "@" - -SilphCo8AfterBattleText3: ; 5660e (15:660e) - TX_FAR _SilphCo8AfterBattleText3 - db "@" +INCLUDE "scripts/silphco8.asm" INCLUDE "data/mapObjects/silphco8.asm" @@ -67029,2126 +49351,25 @@ OaksAideNoRoomText: ; 590ab (16:50ab) TX_FAR _OaksAideNoRoomText db "@" -Route6Script: ; 590b0 (16:50b0) - call EnableAutoTextBoxDrawing - ld hl, Route6TrainerHeaders - ld de, Route6ScriptPointers - ld a, [W_ROUTE6CURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_ROUTE6CURSCRIPT], a - ret - -Route6ScriptPointers: ; 590c3 (16:50c3) - dw CheckFightingMapTrainers - dw Func_324c - dw EndTrainerBattle - -Route6TextPointers: ; 590c9 (16:50c9) - dw Route6Text1 - dw Route6Text2 - dw Route6Text3 - dw Route6Text4 - dw Route6Text5 - dw Route6Text6 - dw Route6Text7 - -Route6TrainerHeaders: ; 590d7 (16:50d7) -Route6TrainerHeader0: ; 590d7 (16:50d7) - db $1 ; flag's bit - db ($0 << 4) ; trainer's view range - dw $d7c9 ; flag's byte - dw Route6BattleText1 ; 0x512a TextBeforeBattle - dw Route6AfterBattleText1 ; 0x5134 TextAfterBattle - dw Route6EndBattleText1 ; 0x512f TextEndBattle - dw Route6EndBattleText1 ; 0x512f TextEndBattle - -Route6TrainerHeader1: ; 590e3 (16:50e3) - db $2 ; flag's bit - db ($0 << 4) ; trainer's view range - dw $d7c9 ; flag's byte - dw Route6BattleText2 ; 0x5143 TextBeforeBattle - dw Route6AfterBattleText1 ; 0x5134 TextAfterBattle - dw Route6EndBattleText2 ; 0x5148 TextEndBattle - dw Route6EndBattleText2 ; 0x5148 TextEndBattle - -Route6TrainerHeader2: ; 590ef (16:50ef) - db $3 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7c9 ; flag's byte - dw Route6BattleText3 ; 0x5157 TextBeforeBattle - dw Route6AfterBattleText3 ; 0x5161 TextAfterBattle - dw Route6EndBattleText3 ; 0x515c TextEndBattle - dw Route6EndBattleText3 ; 0x515c TextEndBattle - -Route6TrainerHeader3: ; 590fb (16:50fb) - db $4 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7c9 ; flag's byte - dw Route6BattleText4 ; 0x5170 TextBeforeBattle - dw Route6AfterBattleText4 ; 0x517a TextAfterBattle - dw Route6EndBattleText4 ; 0x5175 TextEndBattle - dw Route6EndBattleText4 ; 0x5175 TextEndBattle - -Route6TrainerHeader4: ; 59107 (16:5107) - db $5 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7c9 ; flag's byte - dw Route6BattleText5 ; 0x5189 TextBeforeBattle - dw Route6AfterBattleText5 ; 0x5193 TextAfterBattle - dw Route6EndBattleText5 ; 0x518e TextEndBattle - dw Route6EndBattleText5 ; 0x518e TextEndBattle - -Route6TrainerHeader5: ; 59113 (16:5113) - db $6 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7c9 ; flag's byte - dw Route6BattleText6 ; 0x51a2 TextBeforeBattle - dw Route6AfterBattleText6 ; 0x51ac TextAfterBattle - dw Route6EndBattleText6 ; 0x51a7 TextEndBattle - dw Route6EndBattleText6 ; 0x51a7 TextEndBattle - - db $ff - -Route6Text1: ; 59120 (16:5120) - db $8 - ld hl, Route6TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -Route6BattleText1: ; 5912a (16:512a) - TX_FAR _Route6BattleText1 - db "@" - -Route6EndBattleText1: ; 5912f (16:512f) - TX_FAR _Route6EndBattleText1 - db "@" - -Route6AfterBattleText1: ; 59134 (16:5134) - TX_FAR _Route6AfterBattleText1 - db "@" - -Route6Text2: ; 59139 (16:5139) - db $08 ; asm - ld hl, Route6TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -Route6BattleText2: ; 59143 (16:5143) - TX_FAR _Route6BattleText2 - db "@" - -Route6EndBattleText2: ; 59148 (16:5148) - TX_FAR _Route6EndBattleText2 - db "@" - -Route6Text3: ; 5914d (16:514d) - db $08 ; asm - ld hl, Route6TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -Route6BattleText3: ; 59157 (16:5157) - TX_FAR _Route6BattleText3 - db "@" - -Route6EndBattleText3: ; 5915c (16:515c) - TX_FAR _Route6EndBattleText3 - db "@" - -Route6AfterBattleText3: ; 59161 (16:5161) - TX_FAR _Route6AfterBattleText3 - db "@" - -Route6Text4: ; 59166 (16:5166) - db $08 ; asm - ld hl, Route6TrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -Route6BattleText4: ; 59170 (16:5170) - TX_FAR _Route6BattleText4 - db "@" - -Route6EndBattleText4: ; 59175 (16:5175) - TX_FAR _Route6EndBattleText4 - db "@" - -Route6AfterBattleText4: ; 5917a (16:517a) - TX_FAR _Route6AfterBattleText4 - db "@" - -Route6Text5: ; 5917f (16:517f) - db $08 ; asm - ld hl, Route6TrainerHeader4 - call TalkToTrainer - jp TextScriptEnd - -Route6BattleText5: ; 59189 (16:5189) - TX_FAR _Route6BattleText5 - db "@" - -Route6EndBattleText5: ; 5918e (16:518e) - TX_FAR _Route6EndBattleText5 - db "@" - -Route6AfterBattleText5: ; 59193 (16:5193) - TX_FAR _Route6AfterBattleText5 - db "@" - -Route6Text6: ; 59198 (16:5198) - db $08 ; asm - ld hl, Route6TrainerHeader5 - call TalkToTrainer - jp TextScriptEnd +INCLUDE "scripts/route6.asm" -Route6BattleText6: ; 591a2 (16:51a2) - TX_FAR _Route6BattleText6 - db "@" +INCLUDE "scripts/route8.asm" -Route6EndBattleText6: ; 591a7 (16:51a7) - TX_FAR _Route6EndBattleText6 - db "@" +INCLUDE "scripts/route10.asm" -Route6AfterBattleText6: ; 591ac (16:51ac) - TX_FAR _Route6AfterBattleText6 - db "@" +INCLUDE "scripts/route11.asm" -Route6Text7: ; 591b1 (16:51b1) - TX_FAR _Route6Text7 - db "@" +INCLUDE "scripts/route12.asm" -Route8Script: ; 591b6 (16:51b6) - call EnableAutoTextBoxDrawing - ld hl, Route8TrainerHeaders - ld de, Route8ScriptPointers - ld a, [W_ROUTE8CURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_ROUTE8CURSCRIPT], a - ret - -Route8ScriptPointers: ; 591c9 (16:51c9) - dw CheckFightingMapTrainers - dw Func_324c - dw EndTrainerBattle - -Route8TextPointers: ; 591cf (16:51cf) - dw Route8Text1 - dw Route8Text2 - dw Route8Text3 - dw Route8Text4 - dw Route8Text5 - dw Route8Text6 - dw Route8Text7 - dw Route8Text8 - dw Route8Text9 - dw Route8Text10 - -Route8TrainerHeaders: ; 591e3 (16:51e3) -Route8TrainerHeader0: ; 591e3 (16:51e3) - db $1 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7cd ; flag's byte - dw Route8BattleText1 ; 0x525a TextBeforeBattle - dw Route8AfterBattleText1 ; 0x5264 TextAfterBattle - dw Route8EndBattleText1 ; 0x525f TextEndBattle - dw Route8EndBattleText1 ; 0x525f TextEndBattle - -Route8TrainerHeader1: ; 591ef (16:51ef) - db $2 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7cd ; flag's byte - dw Route8BattleText2 ; 0x5273 TextBeforeBattle - dw Route8AfterBattleText2 ; 0x527d TextAfterBattle - dw Route8EndBattleText2 ; 0x5278 TextEndBattle - dw Route8EndBattleText2 ; 0x5278 TextEndBattle - -Route8TrainerHeader2: ; 591fb (16:51fb) - db $3 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7cd ; flag's byte - dw Route8BattleText3 ; 0x528c TextBeforeBattle - dw Route8AfterBattleText3 ; 0x5296 TextAfterBattle - dw Route8EndBattleText3 ; 0x5291 TextEndBattle - dw Route8EndBattleText3 ; 0x5291 TextEndBattle - -Route8TrainerHeader3: ; 59207 (16:5207) - db $4 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7cd ; flag's byte - dw Route8BattleText4 ; 0x52a5 TextBeforeBattle - dw Route8AfterBattleText4 ; 0x52af TextAfterBattle - dw Route8EndBattleText4 ; 0x52aa TextEndBattle - dw Route8EndBattleText4 ; 0x52aa TextEndBattle - -Route8TrainerHeader4: ; 59213 (16:5213) - db $5 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7cd ; flag's byte - dw Route8BattleText5 ; 0x52be TextBeforeBattle - dw Route8AfterBattleText5 ; 0x52c8 TextAfterBattle - dw Route8EndBattleText5 ; 0x52c3 TextEndBattle - dw Route8EndBattleText5 ; 0x52c3 TextEndBattle - -Route8TrainerHeader5: ; 5921f (16:521f) - db $6 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7cd ; flag's byte - dw Route8BattleText6 ; 0x52d7 TextBeforeBattle - dw Route8AfterBattleText6 ; 0x52e1 TextAfterBattle - dw Route8EndBattleText6 ; 0x52dc TextEndBattle - dw Route8EndBattleText6 ; 0x52dc TextEndBattle - -Route8TrainerHeader6: ; 5922b (16:522b) - db $7 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7cd ; flag's byte - dw Route8BattleText7 ; 0x52f0 TextBeforeBattle - dw Route8AfterBattleText7 ; 0x52fa TextAfterBattle - dw Route8EndBattleText7 ; 0x52f5 TextEndBattle - dw Route8EndBattleText7 ; 0x52f5 TextEndBattle - -Route8TrainerHeader7: ; 59237 (16:5237) - db $8 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7cd ; flag's byte - dw Route8BattleText8 ; 0x5309 TextBeforeBattle - dw Route8AfterBattleText8 ; 0x5313 TextAfterBattle - dw Route8EndBattleText8 ; 0x530e TextEndBattle - dw Route8EndBattleText8 ; 0x530e TextEndBattle - -Route8TrainerHeader8: ; 59243 (16:5243) - db $9 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7cd ; flag's byte - dw Route8BattleText9 ; 0x5322 TextBeforeBattle - dw Route8AfterBattleText9 ; 0x532c TextAfterBattle - dw Route8EndBattleText9 ; 0x5327 TextEndBattle - dw Route8EndBattleText9 ; 0x5327 TextEndBattle +INCLUDE "scripts/route15.asm" - db $ff +INCLUDE "scripts/route16.asm" -Route8Text1: ; 59250 (16:5250) - db $8 - ld hl, Route8TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -Route8BattleText1: ; 5925a (16:525a) - TX_FAR _Route8BattleText1 - db "@" - -Route8EndBattleText1: ; 5925f (16:525f) - TX_FAR _Route8EndBattleText1 - db "@" - -Route8AfterBattleText1: ; 59264 (16:5264) - TX_FAR _Route8AfterBattleText1 - db "@" - -Route8Text2: ; 59269 (16:5269) - db $08 ; asm - ld hl, Route8TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -Route8BattleText2: ; 59273 (16:5273) - TX_FAR _Route8BattleText2 - db "@" - -Route8EndBattleText2: ; 59278 (16:5278) - TX_FAR _Route8EndBattleText2 - db "@" - -Route8AfterBattleText2: ; 5927d (16:527d) - TX_FAR _Route8AfterBattleText2 - db "@" - -Route8Text3: ; 59282 (16:5282) - db $08 ; asm - ld hl, Route8TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -Route8BattleText3: ; 5928c (16:528c) - TX_FAR _Route8BattleText3 - db "@" - -Route8EndBattleText3: ; 59291 (16:5291) - TX_FAR _Route8EndBattleText3 - db "@" - -Route8AfterBattleText3: ; 59296 (16:5296) - TX_FAR _Route8AfterBattleText3 - db "@" - -Route8Text4: ; 5929b (16:529b) - db $08 ; asm - ld hl, Route8TrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -Route8BattleText4: ; 592a5 (16:52a5) - TX_FAR _Route8BattleText4 - db "@" - -Route8EndBattleText4: ; 592aa (16:52aa) - TX_FAR _Route8EndBattleText4 - db "@" - -Route8AfterBattleText4: ; 592af (16:52af) - TX_FAR _Route8AfterBattleText4 - db "@" - -Route8Text5: ; 592b4 (16:52b4) - db $08 ; asm - ld hl, Route8TrainerHeader4 - call TalkToTrainer - jp TextScriptEnd - -Route8BattleText5: ; 592be (16:52be) - TX_FAR _Route8BattleText5 - db "@" - -Route8EndBattleText5: ; 592c3 (16:52c3) - TX_FAR _Route8EndBattleText5 - db "@" - -Route8AfterBattleText5: ; 592c8 (16:52c8) - TX_FAR _Route8AfterBattleText5 - db "@" - -Route8Text6: ; 592cd (16:52cd) - db $08 ; asm - ld hl, Route8TrainerHeader5 - call TalkToTrainer - jp TextScriptEnd - -Route8BattleText6: ; 592d7 (16:52d7) - TX_FAR _Route8BattleText6 - db "@" - -Route8EndBattleText6: ; 592dc (16:52dc) - TX_FAR _Route8EndBattleText6 - db "@" - -Route8AfterBattleText6: ; 592e1 (16:52e1) - TX_FAR _Route8AfterBattleText6 - db "@" - -Route8Text7: ; 592e6 (16:52e6) - db $08 ; asm - ld hl, Route8TrainerHeader6 - call TalkToTrainer - jp TextScriptEnd - -Route8BattleText7: ; 592f0 (16:52f0) - TX_FAR _Route8BattleText7 - db "@" - -Route8EndBattleText7: ; 592f5 (16:52f5) - TX_FAR _Route8EndBattleText7 - db "@" - -Route8AfterBattleText7: ; 592fa (16:52fa) - TX_FAR _Route8AfterBattleText7 - db "@" - -Route8Text8: ; 592ff (16:52ff) - db $08 ; asm - ld hl, Route8TrainerHeader7 - call TalkToTrainer - jp TextScriptEnd - -Route8BattleText8: ; 59309 (16:5309) - TX_FAR _Route8BattleText8 - db "@" - -Route8EndBattleText8: ; 5930e (16:530e) - TX_FAR _Route8EndBattleText8 - db "@" - -Route8AfterBattleText8: ; 59313 (16:5313) - TX_FAR _Route8AfterBattleText8 - db "@" - -Route8Text9: ; 59318 (16:5318) - db $08 ; asm - ld hl, Route8TrainerHeader8 - call TalkToTrainer - jp TextScriptEnd - -Route8BattleText9: ; 59322 (16:5322) - TX_FAR _Route8BattleText9 - db "@" - -Route8EndBattleText9: ; 59327 (16:5327) - TX_FAR _Route8EndBattleText9 - db "@" - -Route8AfterBattleText9: ; 5932c (16:532c) - TX_FAR _Route8AfterBattleText9 - db "@" - -Route8Text10: ; 59331 (16:5331) - TX_FAR _Route8Text10 - db "@" - -Route10Script: ; 59336 (16:5336) - call EnableAutoTextBoxDrawing - ld hl, Route10TrainerHeaders - ld de, Route10ScriptPointers - ld a, [W_ROUTE10CURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_ROUTE10CURSCRIPT], a - ret - -Route10ScriptPointers: ; 59349 (16:5349) - dw CheckFightingMapTrainers - dw Func_324c - dw EndTrainerBattle - -Route10TextPointers: ; 5934f (16:534f) - dw Route10Text1 - dw Route10Text2 - dw Route10Text3 - dw Route10Text4 - dw Route10Text5 - dw Route10Text6 - dw Route10Text7 - dw PokeCenterSignText - dw Route10Text9 - dw Route10Text10 - -Route10TrainerHeaders: ; 59363 (16:5363) -Route10TrainerHeader0: ; 59363 (16:5363) - db $1 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7d1 ; flag's byte - dw Route10BattleText1 ; 0x53b6 TextBeforeBattle - dw Route10AfterBattleText1 ; 0x53c0 TextAfterBattle - dw Route10EndBattleText1 ; 0x53bb TextEndBattle - dw Route10EndBattleText1 ; 0x53bb TextEndBattle - -Route10TrainerHeader1: ; 5936f (16:536f) - db $2 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7d1 ; flag's byte - dw Route10BattleText2 ; 0x53cf TextBeforeBattle - dw Route10AfterBattleText2 ; 0x53d9 TextAfterBattle - dw Route10EndBattleText2 ; 0x53d4 TextEndBattle - dw Route10EndBattleText2 ; 0x53d4 TextEndBattle - -Route10TrainerHeader2: ; 5937b (16:537b) - db $3 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7d1 ; flag's byte - dw Route10BattleText3 ; 0x53e8 TextBeforeBattle - dw Route10AfterBattleText3 ; 0x53f2 TextAfterBattle - dw Route10EndBattleText3 ; 0x53ed TextEndBattle - dw Route10EndBattleText3 ; 0x53ed TextEndBattle - -Route10TrainerHeader3: ; 59387 (16:5387) - db $4 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7d1 ; flag's byte - dw Route10BattleText4 ; 0x5401 TextBeforeBattle - dw Route10AfterBattleText4 ; 0x540b TextAfterBattle - dw Route10EndBattleText4 ; 0x5406 TextEndBattle - dw Route10EndBattleText4 ; 0x5406 TextEndBattle - -Route10TrainerHeader4: ; 59393 (16:5393) - db $5 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7d1 ; flag's byte - dw Route10BattleText5 ; 0x541a TextBeforeBattle - dw Route10AfterBattleText5 ; 0x5424 TextAfterBattle - dw Route10EndBattleText5 ; 0x541f TextEndBattle - dw Route10EndBattleText5 ; 0x541f TextEndBattle - -Route10TrainerHeader5: ; 5939f (16:539f) - db $6 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7d1 ; flag's byte - dw Route10BattleText6 ; 0x5433 TextBeforeBattle - dw Route10AfterBattleText6 ; 0x543d TextAfterBattle - dw Route10EndBattleText6 ; 0x5438 TextEndBattle - dw Route10EndBattleText6 ; 0x5438 TextEndBattle - - db $ff - -Route10Text1: ; 593ac (16:53ac) - db $08 ; asm - ld hl, Route10TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -Route10BattleText1: ; 593b6 (16:53b6) - TX_FAR _Route10BattleText1 - db "@" - -Route10EndBattleText1: ; 593bb (16:53bb) - TX_FAR _Route10EndBattleText1 - db "@" - -Route10AfterBattleText1: ; 593c0 (16:53c0) - TX_FAR _Route10AfterBattleText1 - db "@" - -Route10Text2: ; 593c5 (16:53c5) - db $08 ; asm - ld hl, Route10TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -Route10BattleText2: ; 593cf (16:53cf) - TX_FAR _Route10BattleText2 - db "@" - -Route10EndBattleText2: ; 593d4 (16:53d4) - TX_FAR _Route10EndBattleText2 - db "@" - -Route10AfterBattleText2: ; 593d9 (16:53d9) - TX_FAR _Route10AfterBattleText2 - db "@" - -Route10Text3: ; 593de (16:53de) - db $08 ; asm - ld hl, Route10TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -Route10BattleText3: ; 593e8 (16:53e8) - TX_FAR _Route10BattleText3 - db "@" - -Route10EndBattleText3: ; 593ed (16:53ed) - TX_FAR _Route10EndBattleText3 - db "@" - -Route10AfterBattleText3: ; 593f2 (16:53f2) - TX_FAR _Route10AfterBattleText3 - db "@" - -Route10Text4: ; 593f7 (16:53f7) - db $08 ; asm - ld hl, Route10TrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -Route10BattleText4: ; 59401 (16:5401) - TX_FAR _Route10BattleText4 - db "@" - -Route10EndBattleText4: ; 59406 (16:5406) - TX_FAR _Route10EndBattleText4 - db "@" - -Route10AfterBattleText4: ; 5940b (16:540b) - TX_FAR _Route10AfterBattleText4 - db "@" - -Route10Text5: ; 59410 (16:5410) - db $08 ; asm - ld hl, Route10TrainerHeader4 - call TalkToTrainer - jp TextScriptEnd - -Route10BattleText5: ; 5941a (16:541a) - TX_FAR _Route10BattleText5 - db "@" - -Route10EndBattleText5: ; 5941f (16:541f) - TX_FAR _Route10EndBattleText5 - db "@" - -Route10AfterBattleText5: ; 59424 (16:5424) - TX_FAR _Route10AfterBattleText5 - db "@" - -Route10Text6: ; 59429 (16:5429) - db $08 ; asm - ld hl, Route10TrainerHeader5 - call TalkToTrainer - jp TextScriptEnd - -Route10BattleText6: ; 59433 (16:5433) - TX_FAR _Route10BattleText6 - db "@" - -Route10EndBattleText6: ; 59438 (16:5438) - TX_FAR _Route10EndBattleText6 - db "@" - -Route10AfterBattleText6: ; 5943d (16:543d) - TX_FAR _Route10AfterBattleText6 - db "@" - -Route10Text9: ; 59442 (16:5442) -Route10Text7: ; 59442 (16:5442) - TX_FAR _Route10Text7 ; _Route10Text9 - db "@" - -Route10Text10: ; 59447 (16:5447) - TX_FAR _Route10Text10 - db "@" - -Route11Script: ; 5944c (16:544c) - call EnableAutoTextBoxDrawing - ld hl, Route11TrainerHeaders - ld de, Route11ScriptPointers - ld a, [W_ROUTE11CURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_ROUTE11CURSCRIPT], a - ret - -Route11ScriptPointers: ; 5945f (16:545f) - dw CheckFightingMapTrainers - dw Func_324c - dw EndTrainerBattle - -Route11TextPointers: ; 59465 (16:5465) - dw Route11Text1 - dw Route11Text2 - dw Route11Text3 - dw Route11Text4 - dw Route11Text5 - dw Route11Text6 - dw Route11Text7 - dw Route11Text8 - dw Route11Text9 - dw Route11Text10 - dw Route11Text11 - -Route11TrainerHeaders: ; 5947b (16:547b) -Route11TrainerHeader0: ; 5947b (16:547b) - db $1 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7d5 ; flag's byte - dw Route11BattleText1 ; 0x54fe TextBeforeBattle - dw Route11AfterBattleText1 ; 0x5508 TextAfterBattle - dw Route11EndBattleText1 ; 0x5503 TextEndBattle - dw Route11EndBattleText1 ; 0x5503 TextEndBattle - -Route11TrainerHeader1: ; 59487 (16:5487) - db $2 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7d5 ; flag's byte - dw Route11BattleText2 ; 0x5517 TextBeforeBattle - dw Route11AfterBattleText2 ; 0x5521 TextAfterBattle - dw Route11EndBattleText2 ; 0x551c TextEndBattle - dw Route11EndBattleText2 ; 0x551c TextEndBattle - -Route11TrainerHeader2: ; 59493 (16:5493) - db $3 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7d5 ; flag's byte - dw Route11BattleText3 ; 0x5530 TextBeforeBattle - dw Route11AfterBattleText3 ; 0x553a TextAfterBattle - dw Route11EndBattleText3 ; 0x5535 TextEndBattle - dw Route11EndBattleText3 ; 0x5535 TextEndBattle - -Route11TrainerHeader3: ; 5949f (16:549f) - db $4 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7d5 ; flag's byte - dw Route11BattleText4 ; 0x5549 TextBeforeBattle - dw Route11AfterBattleText4 ; 0x5553 TextAfterBattle - dw Route11EndBattleText4 ; 0x554e TextEndBattle - dw Route11EndBattleText4 ; 0x554e TextEndBattle - -Route11TrainerHeader4: ; 594ab (16:54ab) - db $5 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7d5 ; flag's byte - dw Route11BattleText5 ; 0x5562 TextBeforeBattle - dw Route11AfterBattleText5 ; 0x556c TextAfterBattle - dw Route11EndBattleText5 ; 0x5567 TextEndBattle - dw Route11EndBattleText5 ; 0x5567 TextEndBattle - -Route11TrainerHeader5: ; 594b7 (16:54b7) - db $6 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7d5 ; flag's byte - dw Route11BattleText6 ; 0x557b TextBeforeBattle - dw Route11AfterBattleText6 ; 0x5585 TextAfterBattle - dw Route11EndBattleText6 ; 0x5580 TextEndBattle - dw Route11EndBattleText6 ; 0x5580 TextEndBattle - -Route11TrainerHeader6: ; 594c3 (16:54c3) - db $7 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7d5 ; flag's byte - dw Route11BattleText7 ; 0x5594 TextBeforeBattle - dw Route11AfterBattleText7 ; 0x559e TextAfterBattle - dw Route11EndBattleText7 ; 0x5599 TextEndBattle - dw Route11EndBattleText7 ; 0x5599 TextEndBattle - -Route11TrainerHeader7: ; 594cf (16:54cf) - db $8 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7d5 ; flag's byte - dw Route11BattleText8 ; 0x55ad TextBeforeBattle - dw Route11AfterBattleText8 ; 0x55b7 TextAfterBattle - dw Route11EndBattleText8 ; 0x55b2 TextEndBattle - dw Route11EndBattleText8 ; 0x55b2 TextEndBattle - -Route11TrainerHeader8: ; 594db (16:54db) - db $9 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7d5 ; flag's byte - dw Route11BattleText9 ; 0x55c6 TextBeforeBattle - dw Route11AfterBattleText9 ; 0x55d0 TextAfterBattle - dw Route11EndBattleText9 ; 0x55cb TextEndBattle - dw Route11EndBattleText9 ; 0x55cb TextEndBattle - -Route11TrainerHeader9: ; 594e7 (16:54e7) - db $a ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7d5 ; flag's byte - dw Route11BattleText10 ; 0x55df TextBeforeBattle - dw Route11AfterBattleText10 ; 0x55e9 TextAfterBattle - dw Route11EndBattleText10 ; 0x55e4 TextEndBattle - dw Route11EndBattleText10 ; 0x55e4 TextEndBattle - - db $ff - -Route11Text1: ; 594f4 (16:54f4) - db $8 - ld hl, Route11TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -Route11BattleText1: ; 594fe (16:54fe) - TX_FAR _Route11BattleText1 - db "@" - -Route11EndBattleText1: ; 59503 (16:5503) - TX_FAR _Route11EndBattleText1 - db "@" - -Route11AfterBattleText1: ; 59508 (16:5508) - TX_FAR _Route11AfterBattleText1 - db "@" - -Route11Text2: ; 5950d (16:550d) - db $08 ; asm - ld hl, Route11TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -Route11BattleText2: ; 59517 (16:5517) - TX_FAR _Route11BattleText2 - db "@" - -Route11EndBattleText2: ; 5951c (16:551c) - TX_FAR _Route11EndBattleText2 - db "@" - -Route11AfterBattleText2: ; 59521 (16:5521) - TX_FAR _Route11AfterBattleText2 - db "@" - -Route11Text3: ; 59526 (16:5526) - db $08 ; asm - ld hl, Route11TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -Route11BattleText3: ; 59530 (16:5530) - TX_FAR _Route11BattleText3 - db "@" - -Route11EndBattleText3: ; 59535 (16:5535) - TX_FAR _Route11EndBattleText3 - db "@" - -Route11AfterBattleText3: ; 5953a (16:553a) - TX_FAR _Route11AfterBattleText3 - db "@" - -Route11Text4: ; 5953f (16:553f) - db $08 ; asm - ld hl, Route11TrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -Route11BattleText4: ; 59549 (16:5549) - TX_FAR _Route11BattleText4 - db "@" - -Route11EndBattleText4: ; 5954e (16:554e) - TX_FAR _Route11EndBattleText4 - db "@" - -Route11AfterBattleText4: ; 59553 (16:5553) - TX_FAR _Route11AfterBattleText4 - db "@" - -Route11Text5: ; 59558 (16:5558) - db $08 ; asm - ld hl, Route11TrainerHeader4 - call TalkToTrainer - jp TextScriptEnd - -Route11BattleText5: ; 59562 (16:5562) - TX_FAR _Route11BattleText5 - db "@" - -Route11EndBattleText5: ; 59567 (16:5567) - TX_FAR _Route11EndBattleText5 - db "@" - -Route11AfterBattleText5: ; 5956c (16:556c) - TX_FAR _Route11AfterBattleText5 - db "@" - -Route11Text6: ; 59571 (16:5571) - db $08 ; asm - ld hl, Route11TrainerHeader5 - call TalkToTrainer - jp TextScriptEnd - -Route11BattleText6: ; 5957b (16:557b) - TX_FAR _Route11BattleText6 - db "@" - -Route11EndBattleText6: ; 59580 (16:5580) - TX_FAR _Route11EndBattleText6 - db "@" - -Route11AfterBattleText6: ; 59585 (16:5585) - TX_FAR _Route11AfterBattleText6 - db "@" - -Route11Text7: ; 5958a (16:558a) - db $08 ; asm - ld hl, Route11TrainerHeader6 - call TalkToTrainer - jp TextScriptEnd - -Route11BattleText7: ; 59594 (16:5594) - TX_FAR _Route11BattleText7 - db "@" - -Route11EndBattleText7: ; 59599 (16:5599) - TX_FAR _Route11EndBattleText7 - db "@" - -Route11AfterBattleText7: ; 5959e (16:559e) - TX_FAR _Route11AfterBattleText7 - db "@" - -Route11Text8: ; 595a3 (16:55a3) - db $08 ; asm - ld hl, Route11TrainerHeader7 - call TalkToTrainer - jp TextScriptEnd - -Route11BattleText8: ; 595ad (16:55ad) - TX_FAR _Route11BattleText8 - db "@" - -Route11EndBattleText8: ; 595b2 (16:55b2) - TX_FAR _Route11EndBattleText8 - db "@" - -Route11AfterBattleText8: ; 595b7 (16:55b7) - TX_FAR _Route11AfterBattleText8 - db "@" - -Route11Text9: ; 595bc (16:55bc) - db $08 ; asm - ld hl, Route11TrainerHeader8 - call TalkToTrainer - jp TextScriptEnd - -Route11BattleText9: ; 595c6 (16:55c6) - TX_FAR _Route11BattleText9 - db "@" - -Route11EndBattleText9: ; 595cb (16:55cb) - TX_FAR _Route11EndBattleText9 - db "@" - -Route11AfterBattleText9: ; 595d0 (16:55d0) - TX_FAR _Route11AfterBattleText9 - db "@" - -Route11Text10: ; 595d5 (16:55d5) - db $08 ; asm - ld hl, Route11TrainerHeader9 - call TalkToTrainer - jp TextScriptEnd - -Route11BattleText10: ; 595df (16:55df) - TX_FAR _Route11BattleText10 - db "@" - -Route11EndBattleText10: ; 595e4 (16:55e4) - TX_FAR _Route11EndBattleText10 - db "@" - -Route11AfterBattleText10: ; 595e9 (16:55e9) - TX_FAR _Route11AfterBattleText10 - db "@" - -Route11Text11: ; 595ee (16:55ee) - TX_FAR _Route11Text11 - db "@" - -Route12Script: ; 595f3 (16:55f3) - call EnableAutoTextBoxDrawing - ld hl, Route12TrainerHeaders - ld de, Route12ScriptPointers - ld a, [W_ROUTE12CURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_ROUTE12CURSCRIPT], a - ret - -Route12Script_59606: ; 59606 (16:5606) - xor a - ld [wJoypadForbiddenButtonsMask], a - ld [W_ROUTE12CURSCRIPT], a - ld [W_CURMAPSCRIPT], a - ret - -Route12ScriptPointers: ; 59611 (16:5611) - dw Route12Script0 - dw Func_324c - dw EndTrainerBattle - dw Route12Script3 - -Route12Script0: ; 59619 (16:5619) - ld hl, $d7d8 - bit 7, [hl] - jp nz, CheckFightingMapTrainers - bit 6, [hl] - res 6, [hl] - jp z, CheckFightingMapTrainers - ld a, $d - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - call DisplayTextID - ld a, SNORLAX - ld [W_CUROPPONENT], a ; $d059 - ld a, 30 - ld [W_CURENEMYLVL], a ; $d127 - ld a, $1d - ld [$cc4d], a - ld a, $11 - call Predef ; indirect jump to RemoveMissableObject (f1d7 (3:71d7)) - ld a, $3 - ld [W_ROUTE12CURSCRIPT], a - ld [W_CURMAPSCRIPT], a - ret - -Route12Script3: ; 5964c (16:564c) - ld a, [W_ISINBATTLE] ; $d057 - cp $ff - jr z, Route12Script_59606 - call UpdateSprites - ld a, [$cf0b] - cp $2 - jr z, .asm_59664 - ld a, $e - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - call DisplayTextID -.asm_59664 - ld hl, $d7d8 - set 7, [hl] - call Delay3 - ld a, $0 - ld [W_ROUTE12CURSCRIPT], a - ld [W_CURMAPSCRIPT], a - ret - -Route12TextPointers: ; 59675 (16:5675) - dw Route12Text1 - dw Route12Text2 - dw Route12Text3 - dw Route12Text4 - dw Route12Text5 - dw Route12Text6 - dw Route12Text7 - dw Route12Text8 - dw Predef5CText - dw Predef5CText - dw Route12Text11 - dw Route12Text12 - dw Route12Text13 - dw Route12Text14 - -Route12TrainerHeaders: ; 59691 (16:5691) -Route12TrainerHeader0: ; 59691 (16:5691) - db $2 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7d7 ; flag's byte - dw Route12BattleText1 ; 0x56ff TextBeforeBattle - dw Route12AfterBattleText1 ; 0x5709 TextAfterBattle - dw Route12EndBattleText1 ; 0x5704 TextEndBattle - dw Route12EndBattleText1 ; 0x5704 TextEndBattle - -Route12TrainerHeader1: ; 5969d (16:569d) - db $3 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7d7 ; flag's byte - dw Route12BattleText2 ; 0x5718 TextBeforeBattle - dw Route12AfterBattleText2 ; 0x5722 TextAfterBattle - dw Route12EndBattleText2 ; 0x571d TextEndBattle - dw Route12EndBattleText2 ; 0x571d TextEndBattle - -Route12TrainerHeader2: ; 596a9 (16:56a9) - db $4 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7d7 ; flag's byte - dw Route12BattleText3 ; 0x5731 TextBeforeBattle - dw Route12AfterBattleText3 ; 0x573b TextAfterBattle - dw Route12EndBattleText3 ; 0x5736 TextEndBattle - dw Route12EndBattleText3 ; 0x5736 TextEndBattle - -Route12TrainerHeader3: ; 596b5 (16:56b5) - db $5 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7d7 ; flag's byte - dw Route12BattleText4 ; 0x574a TextBeforeBattle - dw Route12AfterBattleText4 ; 0x5754 TextAfterBattle - dw Route12EndBattleText4 ; 0x574f TextEndBattle - dw Route12EndBattleText4 ; 0x574f TextEndBattle - -Route12TrainerHeader4: ; 596c1 (16:56c1) - db $6 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7d7 ; flag's byte - dw Route12BattleText5 ; 0x5763 TextBeforeBattle - dw Route12AfterBattleText5 ; 0x576d TextAfterBattle - dw Route12EndBattleText5 ; 0x5768 TextEndBattle - dw Route12EndBattleText5 ; 0x5768 TextEndBattle - -Route12TrainerHeader5: ; 596cd (16:56cd) - db $7 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7d7 ; flag's byte - dw Route12BattleText6 ; 0x577c TextBeforeBattle - dw Route12AfterBattleText6 ; 0x5786 TextAfterBattle - dw Route12EndBattleText6 ; 0x5781 TextEndBattle - dw Route12EndBattleText6 ; 0x5781 TextEndBattle - -Route12TrainerHeader6: ; 596d9 (16:56d9) - db $8 ; flag's bit - db ($1 << 4) ; trainer's view range - dw $d7d7 ; flag's byte - dw Route12BattleText7 ; 0x5795 TextBeforeBattle - dw Route12AfterBattleText7 ; 0x579f TextAfterBattle - dw Route12EndBattleText7 ; 0x579a TextEndBattle - dw Route12EndBattleText7 ; 0x579a TextEndBattle - - db $ff - -Route12Text1: ; 596e6 (16:56e6) - TX_FAR _Route12Text1 - db "@" - -Route12Text13: ; 596eb (16:56eb) -UnnamedText_596eb: ; 596eb (16:56eb) - TX_FAR _UnnamedText_596eb - db "@" - -Route12Text14: ; 596f0 (16:56f0) -UnnamedText_596f0: ; 596f0 (16:56f0) - TX_FAR _UnnamedText_596f0 - db "@" - -Route12Text2: ; 596f5 (16:56f5) - db $08 ; asm - ld hl, Route12TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -Route12BattleText1: ; 596ff (16:56ff) - TX_FAR _Route12BattleText1 - db "@" - -Route12EndBattleText1: ; 59704 (16:5704) - TX_FAR _Route12EndBattleText1 - db "@" - -Route12AfterBattleText1: ; 59709 (16:5709) - TX_FAR _Route12AfterBattleText1 - db "@" - -Route12Text3: ; 5970e (16:570e) - db $08 ; asm - ld hl, Route12TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -Route12BattleText2: ; 59718 (16:5718) - TX_FAR _Route12BattleText2 - db "@" - -Route12EndBattleText2: ; 5971d (16:571d) - TX_FAR _Route12EndBattleText2 - db "@" - -Route12AfterBattleText2: ; 59722 (16:5722) - TX_FAR _Route12AfterBattleText2 - db "@" - -Route12Text4: ; 59727 (16:5727) - db $08 ; asm - ld hl, Route12TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -Route12BattleText3: ; 59731 (16:5731) - TX_FAR _Route12BattleText3 - db "@" - -Route12EndBattleText3: ; 59736 (16:5736) - TX_FAR _Route12EndBattleText3 - db "@" - -Route12AfterBattleText3: ; 5973b (16:573b) - TX_FAR _Route12AfterBattleText3 - db "@" - -Route12Text5: ; 59740 (16:5740) - db $08 ; asm - ld hl, Route12TrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -Route12BattleText4: ; 5974a (16:574a) - TX_FAR _Route12BattleText4 - db "@" - -Route12EndBattleText4: ; 5974f (16:574f) - TX_FAR _Route12EndBattleText4 - db "@" - -Route12AfterBattleText4: ; 59754 (16:5754) - TX_FAR _Route12AfterBattleText4 - db "@" - -Route12Text6: ; 59759 (16:5759) - db $08 ; asm - ld hl, Route12TrainerHeader4 - call TalkToTrainer - jp TextScriptEnd - -Route12BattleText5: ; 59763 (16:5763) - TX_FAR _Route12BattleText5 - db "@" - -Route12EndBattleText5: ; 59768 (16:5768) - TX_FAR _Route12EndBattleText5 - db "@" - -Route12AfterBattleText5: ; 5976d (16:576d) - TX_FAR _Route12AfterBattleText5 - db "@" - -Route12Text7: ; 59772 (16:5772) - db $08 ; asm - ld hl, Route12TrainerHeader5 - call TalkToTrainer - jp TextScriptEnd - -Route12BattleText6: ; 5977c (16:577c) - TX_FAR _Route12BattleText6 - db "@" - -Route12EndBattleText6: ; 59781 (16:5781) - TX_FAR _Route12EndBattleText6 - db "@" - -Route12AfterBattleText6: ; 59786 (16:5786) - TX_FAR _Route12AfterBattleText6 - db "@" - -Route12Text8: ; 5978b (16:578b) - db $08 ; asm - ld hl, Route12TrainerHeader6 - call TalkToTrainer - jp TextScriptEnd - -Route12BattleText7: ; 59795 (16:5795) - TX_FAR _Route12BattleText7 - db "@" - -Route12EndBattleText7: ; 5979a (16:579a) - TX_FAR _Route12EndBattleText7 - db "@" - -Route12AfterBattleText7: ; 5979f (16:579f) - TX_FAR _Route12AfterBattleText7 - db "@" - -Route12Text11: ; 597a4 (16:57a4) - TX_FAR _Route12Text11 - db "@" - -Route12Text12: ; 597a9 (16:57a9) - TX_FAR _Route12Text12 - db "@" - -Route15Script: ; 597ae (16:57ae) - call EnableAutoTextBoxDrawing - ld hl, Route15TrainerHeaders - ld de, Route15ScriptPointers - ld a, [W_ROUTE15CURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_ROUTE15CURSCRIPT], a - ret - -Route15ScriptPointers: ; 597c1 (16:57c1) - dw CheckFightingMapTrainers - dw Func_324c - dw EndTrainerBattle - -Route15TextPointers: ; 597c7 (16:57c7) - dw Route15Text1 - dw Route15Text2 - dw Route15Text3 - dw Route15Text4 - dw Route15Text5 - dw Route15Text6 - dw Route15Text7 - dw Route15Text8 - dw Route15Text9 - dw Route15Text10 - dw Predef5CText - dw Route15Text12 - -Route15TrainerHeaders: ; 597df (16:57df) -Route15TrainerHeader0: ; 597df (16:57df) - db $1 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7dd ; flag's byte - dw Route15BattleText1 ; 0x5898 TextBeforeBattle - dw Route15AfterBattleText1 ; 0x58a2 TextAfterBattle - dw Route15EndBattleText1 ; 0x589d TextEndBattle - dw Route15EndBattleText1 ; 0x589d TextEndBattle - -Route15TrainerHeader1: ; 597eb (16:57eb) - db $2 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7dd ; flag's byte - dw Route15BattleText2 ; 0x58a7 TextBeforeBattle - dw Route15AfterBattleText2 ; 0x58b1 TextAfterBattle - dw Route15EndBattleText2 ; 0x58ac TextEndBattle - dw Route15EndBattleText2 ; 0x58ac TextEndBattle - -Route15TrainerHeader2: ; 597f7 (16:57f7) - db $3 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7dd ; flag's byte - dw Route15BattleText3 ; 0x58b6 TextBeforeBattle - dw Route15AfterBattleText3 ; 0x58c0 TextAfterBattle - dw Route15EndBattleText3 ; 0x58bb TextEndBattle - dw Route15EndBattleText3 ; 0x58bb TextEndBattle - -Route15TrainerHeader3: ; 59803 (16:5803) - db $4 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7dd ; flag's byte - dw Route15BattleText4 ; 0x58c5 TextBeforeBattle - dw Route15AfterBattleText4 ; 0x58cf TextAfterBattle - dw Route15EndBattleText4 ; 0x58ca TextEndBattle - dw Route15EndBattleText4 ; 0x58ca TextEndBattle - -Route15TrainerHeader4: ; 5980f (16:580f) - db $5 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7dd ; flag's byte - dw Route15BattleText5 ; 0x58d4 TextBeforeBattle - dw Route15AfterBattleText5 ; 0x58de TextAfterBattle - dw Route15EndBattleText5 ; 0x58d9 TextEndBattle - dw Route15EndBattleText5 ; 0x58d9 TextEndBattle - -Route15TrainerHeader5: ; 5981b (16:581b) - db $6 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7dd ; flag's byte - dw Route15BattleText6 ; 0x58e3 TextBeforeBattle - dw Route15AfterBattleText6 ; 0x58ed TextAfterBattle - dw Route15EndBattleText6 ; 0x58e8 TextEndBattle - dw Route15EndBattleText6 ; 0x58e8 TextEndBattle - -Route15TrainerHeader6: ; 59827 (16:5827) - db $7 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7dd ; flag's byte - dw Route15BattleText7 ; 0x58f2 TextBeforeBattle - dw Route15AfterBattleText7 ; 0x58fc TextAfterBattle - dw Route15EndBattleText7 ; 0x58f7 TextEndBattle - dw Route15EndBattleText7 ; 0x58f7 TextEndBattle - -Route15TrainerHeader7: ; 59833 (16:5833) - db $8 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7dd ; flag's byte - dw Route15BattleText8 ; 0x5901 TextBeforeBattle - dw Route15AfterBattleText8 ; 0x590b TextAfterBattle - dw Route15EndBattleText8 ; 0x5906 TextEndBattle - dw Route15EndBattleText8 ; 0x5906 TextEndBattle - -Route15TrainerHeader8: ; 5983f (16:583f) - db $9 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7dd ; flag's byte - dw Route15BattleText9 ; 0x5910 TextBeforeBattle - dw Route15AfterBattleText9 ; 0x591a TextAfterBattle - dw Route15EndBattleText9 ; 0x5915 TextEndBattle - dw Route15EndBattleText9 ; 0x5915 TextEndBattle - -Route15TrainerHeader9: ; 5984b (16:584b) - db $a ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7dd ; flag's byte - dw Route15BattleText10 ; 0x591f TextBeforeBattle - dw Route15AfterBattleText10 ; 0x5929 TextAfterBattle - dw Route15EndBattleText10 ; 0x5924 TextEndBattle - dw Route15EndBattleText10 ; 0x5924 TextEndBattle - - db $ff - -Route15Text1: ; 59858 (16:5858) - db $8 ; asm - ld hl, Route15TrainerHeader0 - jr asm_33cb7 ; 0x5985c $34 - -Route15Text2: ; 5985e (16:585e) - db $8 ; asm - ld hl, Route15TrainerHeader1 - jr asm_33cb7 ; 0x59862 $2e - -Route15Text3: ; 59864 (16:5864) - db $8 ; asm - ld hl, Route15TrainerHeader2 - jr asm_33cb7 ; 0x59868 $28 - -Route15Text4: ; 5986a (16:586a) - db $8 ; asm - ld hl, Route15TrainerHeader3 - jr asm_33cb7 ; 0x5986e $22 - -Route15Text5: ; 59870 (16:5870) - db $8 ; asm - ld hl, Route15TrainerHeader4 - jr asm_33cb7 ; 0x59874 $1c - -Route15Text6: ; 59876 (16:5876) - db $8 ; asm - ld hl, Route15TrainerHeader5 - jr asm_33cb7 ; 0x5987a $16 - -Route15Text7: ; 5987c (16:587c) - db $8 ; asm - ld hl, Route15TrainerHeader6 - jr asm_33cb7 ; 0x59880 $10 - -Route15Text8: ; 59882 (16:5882) - db $8 ; asm - ld hl, Route15TrainerHeader7 - jr asm_33cb7 ; 0x59886 $a - -Route15Text9: ; 59888 (16:5888) - db $8 ; asm - ld hl, Route15TrainerHeader8 - jr asm_33cb7 ; 0x5988c $4 - -Route15Text10: ; 5988e (16:588e) - db $8 ; asm - ld hl, Route15TrainerHeader9 -asm_33cb7: ; 59892 (16:5892) - call TalkToTrainer - jp TextScriptEnd - -Route15BattleText1: ; 59898 (16:5898) - TX_FAR _Route15BattleText1 - db "@" - -Route15EndBattleText1: ; 5989d (16:589d) - TX_FAR _Route15EndBattleText1 - db "@" - -Route15AfterBattleText1: ; 598a2 (16:58a2) - TX_FAR _Route15AfterBattleText1 - db "@" - -Route15BattleText2: ; 598a7 (16:58a7) - TX_FAR _Route15BattleText2 - db "@" - -Route15EndBattleText2: ; 598ac (16:58ac) - TX_FAR _Route15EndBattleText2 - db "@" - -Route15AfterBattleText2: ; 598b1 (16:58b1) - TX_FAR _Route15AfterBattleText2 - db "@" - -Route15BattleText3: ; 598b6 (16:58b6) - TX_FAR _Route15BattleText3 - db "@" - -Route15EndBattleText3: ; 598bb (16:58bb) - TX_FAR _Route15EndBattleText3 - db "@" - -Route15AfterBattleText3: ; 598c0 (16:58c0) - TX_FAR _Route15AfterBattleText3 - db "@" - -Route15BattleText4: ; 598c5 (16:58c5) - TX_FAR _Route15BattleText4 - db "@" - -Route15EndBattleText4: ; 598ca (16:58ca) - TX_FAR _Route15EndBattleText4 - db "@" - -Route15AfterBattleText4: ; 598cf (16:58cf) - TX_FAR _Route15AfterBattleText4 - db "@" - -Route15BattleText5: ; 598d4 (16:58d4) - TX_FAR _Route15BattleText5 - db "@" - -Route15EndBattleText5: ; 598d9 (16:58d9) - TX_FAR _Route15EndBattleText5 - db "@" - -Route15AfterBattleText5: ; 598de (16:58de) - TX_FAR _Route15AfterBattleText5 - db "@" - -Route15BattleText6: ; 598e3 (16:58e3) - TX_FAR _Route15BattleText6 - db "@" - -Route15EndBattleText6: ; 598e8 (16:58e8) - TX_FAR _Route15EndBattleText6 - db "@" - -Route15AfterBattleText6: ; 598ed (16:58ed) - TX_FAR _Route15AfterBattleText6 - db "@" - -Route15BattleText7: ; 598f2 (16:58f2) - TX_FAR _Route15BattleText7 - db "@" - -Route15EndBattleText7: ; 598f7 (16:58f7) - TX_FAR _Route15EndBattleText7 - db "@" - -Route15AfterBattleText7: ; 598fc (16:58fc) - TX_FAR _Route15AfterBattleText7 - db "@" - -Route15BattleText8: ; 59901 (16:5901) - TX_FAR _Route15BattleText8 - db "@" - -Route15EndBattleText8: ; 59906 (16:5906) - TX_FAR _Route15EndBattleText8 - db "@" - -Route15AfterBattleText8: ; 5990b (16:590b) - TX_FAR _Route15AfterBattleText8 - db "@" - -Route15BattleText9: ; 59910 (16:5910) - TX_FAR _Route15BattleText9 - db "@" - -Route15EndBattleText9: ; 59915 (16:5915) - TX_FAR _Route15EndBattleText9 - db "@" - -Route15AfterBattleText9: ; 5991a (16:591a) - TX_FAR _Route15AfterBattleText9 - db "@" - -Route15BattleText10: ; 5991f (16:591f) - TX_FAR _Route15BattleText10 - db "@" - -Route15EndBattleText10: ; 59924 (16:5924) - TX_FAR _Route15EndBattleText10 - db "@" - -Route15AfterBattleText10: ; 59929 (16:5929) - TX_FAR _Route15AfterBattleText10 - db "@" - -Route15Text12: ; 5992e (16:592e) - TX_FAR _Route15Text12 - db "@" - -Route16Script: ; 59933 (16:5933) - call EnableAutoTextBoxDrawing - ld hl, Route16TrainerHeaders - ld de, Route16ScriptPointers - ld a, [W_ROUTE16CURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_ROUTE16CURSCRIPT], a - ret - -Func_59946: ; 59946 (16:5946) - xor a - ld [wJoypadForbiddenButtonsMask], a - ld [W_ROUTE16CURSCRIPT], a - ld [W_CURMAPSCRIPT], a - ret - -Route16ScriptPointers: ; 59951 (16:5951) - dw Route16Script0 - dw Func_324c - dw EndTrainerBattle - dw Route16Script3 - -Route16Script0: ; 59959 (16:5959) - ld hl, $d7e0 - bit 1, [hl] - jp nz, CheckFightingMapTrainers - bit 0, [hl] - res 0, [hl] - jp z, CheckFightingMapTrainers - ld a, $a - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - call DisplayTextID - ld a, SNORLAX - ld [W_CUROPPONENT], a ; $d059 - ld a, 30 - ld [W_CURENEMYLVL], a ; $d127 - ld a, $21 - ld [$cc4d], a - ld a, $11 - call Predef ; indirect jump to RemoveMissableObject (f1d7 (3:71d7)) - call UpdateSprites - ld a, $3 - ld [W_ROUTE16CURSCRIPT], a - ld [W_CURMAPSCRIPT], a - ret - -Route16Script3: ; 5998f (16:598f) - ld a, [W_ISINBATTLE] ; $d057 - cp $ff - jp z, Func_59946 - call UpdateSprites - ld a, [$cf0b] - cp $2 - jr z, .asm_599a8 - ld a, $b - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - call DisplayTextID -.asm_599a8 - ld hl, $d7e0 - set 1, [hl] - call Delay3 - ld a, $0 - ld [W_ROUTE16CURSCRIPT], a - ld [W_CURMAPSCRIPT], a - ret - -Route16TextPointers: ; 599b9 (16:59b9) - dw Route16Text1 - dw Route16Text2 - dw Route16Text3 - dw Route16Text4 - dw Route16Text5 - dw Route16Text6 - dw Route16Text7 - dw Route16Text8 - dw Route16Text9 - dw Route16Text10 - dw Route16Text11 - -Route16TrainerHeaders: ; 599cf (16:59cf) -Route16TrainerHeader0: ; 599cf (16:59cf) - db $1 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7df ; flag's byte - dw Route16BattleText1 ; 0x5a22 TextBeforeBattle - dw Route16AfterBattleText1 ; 0x5a2c TextAfterBattle - dw Route16EndBattleText1 ; 0x5a27 TextEndBattle - dw Route16EndBattleText1 ; 0x5a27 TextEndBattle - -Route16TrainerHeader1: ; 599db (16:59db) - db $2 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7df ; flag's byte - dw Route16BattleText2 ; 0x5a3b TextBeforeBattle - dw Route16AfterBattleText2 ; 0x5a45 TextAfterBattle - dw Route16EndBattleText2 ; 0x5a40 TextEndBattle - dw Route16EndBattleText2 ; 0x5a40 TextEndBattle - -Route16TrainerHeader2: ; 599e7 (16:59e7) - db $3 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7df ; flag's byte - dw Route16BattleText3 ; 0x5a54 TextBeforeBattle - dw Route16AfterBattleText3 ; 0x5a5e TextAfterBattle - dw Route16EndBattleText3 ; 0x5a59 TextEndBattle - dw Route16EndBattleText3 ; 0x5a59 TextEndBattle - -Route16TrainerHeader3: ; 599f3 (16:59f3) - db $4 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7df ; flag's byte - dw Route16BattleText4 ; 0x5a6d TextBeforeBattle - dw Route16AfterBattleText4 ; 0x5a77 TextAfterBattle - dw Route16EndBattleText4 ; 0x5a72 TextEndBattle - dw Route16EndBattleText4 ; 0x5a72 TextEndBattle - -Route16TrainerHeader4: ; 599ff (16:59ff) - db $5 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d7df ; flag's byte - dw Route16BattleText5 ; 0x5a86 TextBeforeBattle - dw Route16AfterBattleText5 ; 0x5a90 TextAfterBattle - dw Route16EndBattleText5 ; 0x5a8b TextEndBattle - dw Route16EndBattleText5 ; 0x5a8b TextEndBattle - -Route16TrainerHeader5: ; 59a0b (16:5a0b) - db $6 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7df ; flag's byte - dw Route16BattleText6 ; 0x5a9f TextBeforeBattle - dw Route16AfterBattleText6 ; 0x5aa9 TextAfterBattle - dw Route16EndBattleText6 ; 0x5aa4 TextEndBattle - dw Route16EndBattleText6 ; 0x5aa4 TextEndBattle - - db $ff - -Route16Text1: ; 59a18 (16:5a18) - db $08 ; asm - ld hl, Route16TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -Route16BattleText1: ; 59a22 (16:5a22) - TX_FAR _Route16BattleText1 - db "@" - -Route16EndBattleText1: ; 59a27 (16:5a27) - TX_FAR _Route16EndBattleText1 - db "@" - -Route16AfterBattleText1: ; 59a2c (16:5a2c) - TX_FAR _Route16AfterBattleText1 - db "@" - -Route16Text2: ; 59a31 (16:5a31) - db $08 ; asm - ld hl, Route16TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -Route16BattleText2: ; 59a3b (16:5a3b) - TX_FAR _Route16BattleText2 - db "@" - -Route16EndBattleText2: ; 59a40 (16:5a40) - TX_FAR _Route16EndBattleText2 - db "@" - -Route16AfterBattleText2: ; 59a45 (16:5a45) - TX_FAR _Route16AfterBattleText2 - db "@" - -Route16Text3: ; 59a4a (16:5a4a) - db $08 ; asm - ld hl, Route16TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -Route16BattleText3: ; 59a54 (16:5a54) - TX_FAR _Route16BattleText3 - db "@" - -Route16EndBattleText3: ; 59a59 (16:5a59) - TX_FAR _Route16EndBattleText3 - db "@" - -Route16AfterBattleText3: ; 59a5e (16:5a5e) - TX_FAR _Route16AfterBattleText3 - db "@" - -Route16Text4: ; 59a63 (16:5a63) - db $08 ; asm - ld hl, Route16TrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -Route16BattleText4: ; 59a6d (16:5a6d) - TX_FAR _Route16BattleText4 - db "@" - -Route16EndBattleText4: ; 59a72 (16:5a72) - TX_FAR _Route16EndBattleText4 - db "@" - -Route16AfterBattleText4: ; 59a77 (16:5a77) - TX_FAR _Route16AfterBattleText4 - db "@" - -Route16Text5: ; 59a7c (16:5a7c) - db $08 ; asm - ld hl, Route16TrainerHeader4 - call TalkToTrainer - jp TextScriptEnd - -Route16BattleText5: ; 59a86 (16:5a86) - TX_FAR _Route16BattleText5 - db "@" - -Route16EndBattleText5: ; 59a8b (16:5a8b) - TX_FAR _Route16EndBattleText5 - db "@" - -Route16AfterBattleText5: ; 59a90 (16:5a90) - TX_FAR _Route16AfterBattleText5 - db "@" - -Route16Text6: ; 59a95 (16:5a95) - db $08 ; asm - ld hl, Route16TrainerHeader5 - call TalkToTrainer - jp TextScriptEnd - -Route16BattleText6: ; 59a9f (16:5a9f) - TX_FAR _Route16BattleText6 - db "@" - -Route16EndBattleText6: ; 59aa4 (16:5aa4) - TX_FAR _Route16EndBattleText6 - db "@" - -Route16AfterBattleText6: ; 59aa9 (16:5aa9) - TX_FAR _Route16AfterBattleText6 - db "@" - -Route16Text7: ; 59aae (16:5aae) - TX_FAR _Route16Text7 - db "@" - -Route16Text10: ; 59ab3 (16:5ab3) - TX_FAR _UnnamedText_59ab3 - db "@" - -Route16Text11: ; 59ab8 (16:5ab8) - TX_FAR _UnnamedText_59ab8 - db "@" - -Route16Text8: ; 59abd (16:5abd) - TX_FAR _Route16Text8 - db "@" - -Route16Text9: ; 59ac2 (16:5ac2) - TX_FAR _Route16Text9 - db "@" - -Route18Script: ; 59ac7 (16:5ac7) - call EnableAutoTextBoxDrawing - ld hl, Route18TrainerHeaders - ld de, Route18ScriptPointers - ld a, [W_ROUTE18CURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_ROUTE18CURSCRIPT], a - ret - -Route18ScriptPointers: ; 59ada (16:5ada) - dw CheckFightingMapTrainers - dw Func_324c - dw EndTrainerBattle - -Route18TextPointers: ; 59ae0 (16:5ae0) - dw Route18Text1 - dw Route18Text2 - dw Route18Text3 - dw Route18Text4 - dw Route18Text5 - -Route18TrainerHeaders: ; 59aea (16:5aea) -Route18TrainerHeader0: ; 59aea (16:5aea) - db $1 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7e3 ; flag's byte - dw Route18BattleText1 ; 0x5b19 TextBeforeBattle - dw Route18AfterBattleText1 ; 0x5b23 TextAfterBattle - dw Route18EndBattleText1 ; 0x5b1e TextEndBattle - dw Route18EndBattleText1 ; 0x5b1e TextEndBattle - -Route18TrainerHeader1: ; 59af6 (16:5af6) - db $2 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7e3 ; flag's byte - dw Route18BattleText2 ; 0x5b32 TextBeforeBattle - dw Route18AfterBattleText2 ; 0x5b3c TextAfterBattle - dw Route18EndBattleText2 ; 0x5b37 TextEndBattle - dw Route18EndBattleText2 ; 0x5b37 TextEndBattle - -Route18TrainerHeader2: ; 59b02 (16:5b02) - db $3 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7e3 ; flag's byte - dw Route18BattleText3 ; 0x5b4b TextBeforeBattle - dw Route18AfterBattleText3 ; 0x5b55 TextAfterBattle - dw Route18EndBattleText3 ; 0x5b50 TextEndBattle - dw Route18EndBattleText3 ; 0x5b50 TextEndBattle - - db $ff - -Route18Text1: ; 59b0f (16:5b0f) - db $08 ; asm - ld hl, Route18TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -Route18BattleText1: ; 59b19 (16:5b19) - TX_FAR _Route18BattleText1 - db "@" - -Route18EndBattleText1: ; 59b1e (16:5b1e) - TX_FAR _Route18EndBattleText1 - db "@" - -Route18AfterBattleText1: ; 59b23 (16:5b23) - TX_FAR _Route18AfterBattleText1 - db "@" - -Route18Text2: ; 59b28 (16:5b28) - db $08 ; asm - ld hl, Route18TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -Route18BattleText2: ; 59b32 (16:5b32) - TX_FAR _Route18BattleText2 - db "@" - -Route18EndBattleText2: ; 59b37 (16:5b37) - TX_FAR _Route18EndBattleText2 - db "@" - -Route18AfterBattleText2: ; 59b3c (16:5b3c) - TX_FAR _Route18AfterBattleText2 - db "@" - -Route18Text3: ; 59b41 (16:5b41) - db $08 ; asm - ld hl, Route18TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -Route18BattleText3: ; 59b4b (16:5b4b) - TX_FAR _Route18BattleText3 - db "@" - -Route18EndBattleText3: ; 59b50 (16:5b50) - TX_FAR _Route18EndBattleText3 - db "@" - -Route18AfterBattleText3: ; 59b55 (16:5b55) - TX_FAR _Route18AfterBattleText3 - db "@" - -Route18Text4: ; 59b5a (16:5b5a) - TX_FAR _Route18Text4 - db "@" - -Route18Text5: ; 59b5f (16:5b5f) - TX_FAR _Route18Text5 - db "@" +INCLUDE "scripts/route18.asm" INCLUDE "data/mapHeaders/fanclub.asm" -FanClubScript: ; 59b70 (16:5b70) - jp EnableAutoTextBoxDrawing - -FanClubBikeInBag: -; check if any bike paraphernalia in bag - ld a, [$d771] - bit 1, a ; got bike voucher? - ret nz - ld b, BICYCLE - call IsItemInBag - ret nz - ld b, BIKE_VOUCHER - jp IsItemInBag - -FanClubTextPointers: ; 59b84 (16:5b84) - dw FanClubText1 - dw FanClubText2 - dw FanClubText3 - dw FanClubText4 - dw FanClubText5 - dw FanClubText6 - dw FanClubText7 - dw FanClubText8 - -FanClubText1: -; pikachu fan - db $08 ; asm - ld a, [$d771] - bit 7, a - jr nz, .mineisbetter - ld hl, .normaltext - call PrintText - ld hl, $d771 - set 6, [hl] - jr .done -.mineisbetter - ld hl, .bettertext - call PrintText - ld hl, $d771 - res 7, [hl] -.done - jp TextScriptEnd - -.normaltext - TX_FAR PikachuFanText - db "@" - -.bettertext - TX_FAR PikachuFanBetterText - db "@" - -FanClubText2: -; seel fan - db $08 ; asm - ld a, [$d771] - bit 6, a - jr nz, .mineisbetter - ld hl, .normaltext - call PrintText - ld hl, $d771 - set 7, [hl] - jr .done -.mineisbetter - ld hl, .bettertext - call PrintText - ld hl, $d771 - res 6, [hl] -.done - jp TextScriptEnd - -.normaltext - TX_FAR SeelFanText - db "@" - -.bettertext - TX_FAR SeelFanBetterText - db "@" - -FanClubText3: -; pikachu - db $8 - ld hl, .text - call PrintText - ld a, PIKACHU - call PlayCry - call WaitForSoundToFinish - jp TextScriptEnd - -.text - TX_FAR FanClubPikachuText - db "@" - -FanClubText4: -; seel - db $08 ; asm - ld hl, .text - call PrintText - ld a, SEEL - call PlayCry - call WaitForSoundToFinish - jp TextScriptEnd - -.text - TX_FAR FanClubSeelText - db "@" - -FanClubText5: -; chair - db $08 ; asm - call FanClubBikeInBag - jr nz, .nothingleft - - ld hl, .meetchairtext - call PrintText - call YesNoChoice - ld a, [$cc26] - and a - jr nz, .nothanks - - ; tell the story - ld hl, .storytext - call PrintText - ld bc, (BIKE_VOUCHER << 8) | 1 - call GiveItem - jr nc, .BagFull - ld hl, .receivedvouchertext - call PrintText - ld hl, $d771 - set 1, [hl] - jr .done -.BagFull - ld hl, .bagfulltext - call PrintText - jr .done -.nothanks - ld hl, .nostorytext - call PrintText - jr .done -.nothingleft - ld hl, .finaltext - call PrintText -.done - jp TextScriptEnd - -.meetchairtext - TX_FAR FanClubMeetChairText - db "@" - -.storytext - TX_FAR FanClubChairStoryText - db "@" - -.receivedvouchertext - TX_FAR ReceivedBikeVoucherText - db $11 - TX_FAR ExplainBikeVoucherText - db "@" - -.nostorytext - TX_FAR FanClubNoStoryText - db "@" - -.finaltext - TX_FAR FanClubChairFinalText - db "@" - -.bagfulltext - TX_FAR FanClubBagFullText - db "@" - -FanClubText6: ; 59c88 (16:5c88) - TX_FAR _FanClubText6 - db "@" - -FanClubText7: ; 59c8d (16:5c8d) - TX_FAR _FanClubText7 - db "@" - -FanClubText8: ; 59c92 (16:5c92) - TX_FAR _FanClubText8 - db "@" +INCLUDE "scripts/fanclub.asm" INCLUDE "data/mapObjects/fanclub.asm" @@ -69157,254 +49378,7 @@ FanClubBlocks: ; 59cd5 (16:5cd5) INCLUDE "data/mapHeaders/silphco2.asm" -SilphCo2Script: ; 59cf1 (16:5cf1) - call SilphCo2Script_59d07 - call EnableAutoTextBoxDrawing - ld hl, SilphCo2TrainerHeaders - ld de, SilphCo2ScriptPointers - ld a, [W_SILPHCO2CURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_SILPHCO2CURSCRIPT], a - ret - -SilphCo2Script_59d07: ; 59d07 (16:5d07) - ld hl, $d126 - bit 5, [hl] - res 5, [hl] - ret z - ld hl, DataTable_59d3e - call Func_59d43 - call Func_59d6f - ld a, [$d826] - bit 5, a - jr nz, .asm_59d2e - push af - ld a, $54 - ld [$d09f], a - ld bc, $0202 - ld a, $17 - call Predef - pop af -.asm_59d2e - bit 6, a - ret nz - ld a, $54 - ld [$d09f], a - ld bc, $0502 - ld a, $17 - jp Predef - -DataTable_59d3e: ; 59d3e (16:5d3e) - db $02,$02,$05,$02,$FF - -Func_59d43: ; 59d43 (16:5d43) - push hl - ld hl, $d73f - ld a, [hli] - ld b, a - ld a, [hl] - ld c, a - xor a - ld [$ffe0], a - pop hl -.asm_59d4f - ld a, [hli] - cp $ff - jr z, .asm_59d6b - push hl - ld hl, $ffe0 - inc [hl] - pop hl - cp b - jr z, .asm_59d60 - inc hl - jr .asm_59d4f -.asm_59d60 - ld a, [hli] - cp c - jr nz, .asm_59d4f - ld hl, $d73f - xor a - ld [hli], a - ld [hl], a - ret -.asm_59d6b - xor a - ld [$ffe0], a - ret - -Func_59d6f: ; 59d6f (16:5d6f) - ld hl, $d826 - ld a, [$ffe0] - and a - ret z - cp $1 - jr nz, .asm_59d7d - set 5, [hl] - ret -.asm_59d7d - set 6, [hl] - ret - -SilphCo2ScriptPointers: ; 59d80 (16:5d80) - dw CheckFightingMapTrainers - dw Func_324c - dw EndTrainerBattle - -SilphCo2TextPointers: ; 59d86 (16:5d86) - dw SilphCo2Text1 - dw SilphCo2Text2 - dw SilphCo2Text3 - dw SilphCo2Text4 - dw SilphCo2Text5 - -SilphCo2TrainerHeaders: ; 59d90 (16:5d90) -SilphCo2TrainerHeader0: ; 59d90 (16:5d90) - db $2 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d825 ; flag's byte - dw SilphCo2BattleText1 ; 0x5e2a TextBeforeBattle - dw SilphCo2AfterBattleText1 ; 0x5e34 TextAfterBattle - dw SilphCo2EndBattleText1 ; 0x5e2f TextEndBattle - dw SilphCo2EndBattleText1 ; 0x5e2f TextEndBattle - -SilphCo2TrainerHeader1: ; 59d9c (16:5d9c) - db $3 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d825 ; flag's byte - dw SilphCo2BattleText2 ; 0x5e39 TextBeforeBattle - dw SilphCo2AfterBattleText2 ; 0x5e43 TextAfterBattle - dw SilphCo2EndBattleText2 ; 0x5e3e TextEndBattle - dw SilphCo2EndBattleText2 ; 0x5e3e TextEndBattle - -SilphCo2TrainerHeader2: ; 59da8 (16:5da8) - db $4 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d825 ; flag's byte - dw SilphCo2BattleText3 ; 0x5e48 TextBeforeBattle - dw SilphCo2AfterBattleText3 ; 0x5e52 TextAfterBattle - dw SilphCo2EndBattleText3 ; 0x5e4d TextEndBattle - dw SilphCo2EndBattleText3 ; 0x5e4d TextEndBattle - -SilphCo2TrainerHeader3: ; 59db4 (16:5db4) - db $5 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d825 ; flag's byte - dw SilphCo2BattleText4 ; 0x5e57 TextBeforeBattle - dw SilphCo2AfterBattleText4 ; 0x5e61 TextAfterBattle - dw SilphCo2EndBattleText4 ; 0x5e5c TextEndBattle - dw SilphCo2EndBattleText4 ; 0x5e5c TextEndBattle - - db $ff - -SilphCo2Text1: ; 59dc1 (16:5dc1) - db $08 ; asm - ld a, [$d826] - bit 7, a - jr nz, asm_b8a0d ; 0x59dc7 - ld hl, UnnamedText_59ded - call PrintText - ld bc, (TM_36 << 8) | 1 - call GiveItem - ld hl, TM36NoRoomText - jr nc, asm_2c1e0 ; 0x59dd8 - ld hl, $d826 - set 7, [hl] - ld hl, ReceivedTM36Text - jr asm_2c1e0 ; 0x59de2 -asm_b8a0d ; 0x59de4 - ld hl, TM36ExplanationText -asm_2c1e0 ; 0x59de7 - call PrintText - jp TextScriptEnd - -UnnamedText_59ded: ; 59ded (16:5ded) - TX_FAR _UnnamedText_59ded - db "@" - -ReceivedTM36Text: ; 59df2 (16:5df2) - TX_FAR _ReceivedTM36Text - db $0B, "@" - -TM36ExplanationText: ; 59df8 (16:5df8) - TX_FAR _TM36ExplanationText - db "@" - -TM36NoRoomText: ; 59dfd (16:5dfd) - TX_FAR _TM36NoRoomText - db "@" - -SilphCo2Text2: ; 59e02 (16:5e02) - db $08 ; asm - ld hl, SilphCo2TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -SilphCo2Text3: ; 59e0c (16:5e0c) - db $08 ; asm - ld hl, SilphCo2TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -SilphCo2Text4: ; 59e16 (16:5e16) - db $08 ; asm - ld hl, SilphCo2TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -SilphCo2Text5: ; 59e20 (16:5e20) - db $08 ; asm - ld hl, SilphCo2TrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -SilphCo2BattleText1: ; 59e2a (16:5e2a) - TX_FAR _SilphCo2BattleText1 - db "@" - -SilphCo2EndBattleText1: ; 59e2f (16:5e2f) - TX_FAR _SilphCo2EndBattleText1 - db "@" - -SilphCo2AfterBattleText1: ; 59e34 (16:5e34) - TX_FAR _SilphCo2AfterBattleText1 - db "@" - -SilphCo2BattleText2: ; 59e39 (16:5e39) - TX_FAR _SilphCo2BattleText2 - db "@" - -SilphCo2EndBattleText2: ; 59e3e (16:5e3e) - TX_FAR _SilphCo2EndBattleText2 - db "@" - -SilphCo2AfterBattleText2: ; 59e43 (16:5e43) - TX_FAR _SilphCo2AfterBattleText2 - db "@" - -SilphCo2BattleText3: ; 59e48 (16:5e48) - TX_FAR _SilphCo2BattleText3 - db "@" - -SilphCo2EndBattleText3: ; 59e4d (16:5e4d) - TX_FAR _SilphCo2EndBattleText3 - db "@" - -SilphCo2AfterBattleText3: ; 59e52 (16:5e52) - TX_FAR _SilphCo2AfterBattleText3 - db "@" - -SilphCo2BattleText4: ; 59e57 (16:5e57) - TX_FAR _SilphCo2BattleText4 - db "@" - -SilphCo2EndBattleText4: ; 59e5c (16:5e5c) - TX_FAR _SilphCo2EndBattleText4 - db "@" - -SilphCo2AfterBattleText4: ; 59e61 (16:5e61) - TX_FAR _SilphCo2AfterBattleText4 - db "@" +INCLUDE "scripts/silphco2.asm" INCLUDE "data/mapObjects/silphco2.asm" @@ -69413,145 +49387,7 @@ SilphCo2Blocks: ; 59ec8 (16:5ec8) INCLUDE "data/mapHeaders/silphco3.asm" -SilphCo3Script: ; 59f5b (16:5f5b) - call SilphCo3Script_59f71 - call EnableAutoTextBoxDrawing - ld hl, SilphCo3TrainerHeaders - ld de, SilphCo3ScriptPointers - ld a, [W_SILPHCO3CURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_SILPHCO3CURSCRIPT], a - ret - -SilphCo3Script_59f71: ; 59f71 (16:5f71) - ld hl, $d126 - bit 5, [hl] - res 5, [hl] - ret z - ld hl, DataTable_59fa8 ; $5fa8 - call Func_59d43 - call Func_59fad - ld a, [$d828] - bit 0, a - jr nz, .asm_59f98 - push af - ld a, $5f - ld [$d09f], a - ld bc, $404 - ld a, $17 - call Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e)) - pop af -.asm_59f98 - bit 1, a - ret nz - ld a, $5f - ld [$d09f], a - ld bc, $408 - ld a, $17 - jp Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e)) - -DataTable_59fa8: ; 59fa8 (16:5fa8) - db $04,$04,$04,$08,$FF - -Func_59fad: ; 59fad (16:5fad) - ld hl, $d828 - ld a, [$ffe0] - and a - ret z - cp $1 - jr nz, .asm_59fbb - set 0, [hl] - ret -.asm_59fbb - set 1, [hl] - ret - -SilphCo3ScriptPointers: ; 59fbe (16:5fbe) - dw CheckFightingMapTrainers - dw Func_324c - dw EndTrainerBattle - -SilphCo3TextPointers: ; 59fc4 (16:5fc4) - dw SilphCo3Text1 - dw SilphCo3Text2 - dw SilphCo3Text3 - dw Predef5CText - -SilphCo3TrainerHeaders: ; 59fcc (16:5fcc) -SilphCo3TrainerHeader0: ; 59fcc (16:5fcc) - db $2 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d827 ; flag's byte - dw SilphCo3BattleText1 ; 0x600d TextBeforeBattle - dw SilphCo3AfterBattleText1 ; 0x6017 TextAfterBattle - dw SilphCo3EndBattleText1 ; 0x6012 TextEndBattle - dw SilphCo3EndBattleText1 ; 0x6012 TextEndBattle - -SilphCo3TrainerHeader1: ; 59fd8 (16:5fd8) - db $3 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d827 ; flag's byte - dw SilphCo3BattleText2 ; 0x6026 TextBeforeBattle - dw SilphCo3AfterBattleText2 ; 0x6030 TextAfterBattle - dw SilphCo3EndBattleText2 ; 0x602b TextEndBattle - dw SilphCo3EndBattleText2 ; 0x602b TextEndBattle - - db $ff - -SilphCo3Text1: ; 59fe5 (16:5fe5) - db $08 ; asm - ld a, [$d838] - bit 7, a - ld hl, UnnamedText_59ffe - jr nz, asm_8c56f ; 0x59fee - ld hl, UnnamedText_59ff9 -asm_8c56f ; 0x59ff3 - call PrintText - jp TextScriptEnd - -UnnamedText_59ff9: ; 59ff9 (16:5ff9) - TX_FAR _UnnamedText_59ff9 - db "@" - -UnnamedText_59ffe: ; 59ffe (16:5ffe) - TX_FAR _UnnamedText_59ffe - db "@" - -SilphCo3Text2: ; 5a003 (16:6003) - db $08 ; asm - ld hl, SilphCo3TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -SilphCo3BattleText1: ; 5a00d (16:600d) - TX_FAR _SilphCo3BattleText1 - db "@" - -SilphCo3EndBattleText1: ; 5a012 (16:6012) - TX_FAR _SilphCo3EndBattleText1 - db "@" - -SilphCo3AfterBattleText1: ; 5a017 (16:6017) - TX_FAR _SilphCo3AfterBattleText1 - db "@" - -SilphCo3Text3: ; 5a01c (16:601c) - db $08 ; asm - ld hl, SilphCo3TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -SilphCo3BattleText2: ; 5a026 (16:6026) - TX_FAR _SilphCo3BattleText2 - db "@" - -SilphCo3EndBattleText2: ; 5a02b (16:602b) - TX_FAR _SilphCo3EndBattleText2 - db "@" - -SilphCo3AfterBattleText2: ; 5a030 (16:6030) - TX_FAR _SilphCo3AfterBattleText2 - db "@" +INCLUDE "scripts/silphco3.asm" INCLUDE "data/mapObjects/silphco3.asm" @@ -69560,132 +49396,7 @@ SilphCo3Blocks: ; 5a0a6 (16:60a6) INCLUDE "data/mapHeaders/silphco10.asm" -SilphCo10Script: ; 5a139 (16:6139) - call SilphCo10Script_5a14f - call EnableAutoTextBoxDrawing - ld hl, SilphCo10TrainerHeaders - ld de, SilphCo10ScriptPointers - ld a, [W_SILPHCO10CURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_SILPHCO10CURSCRIPT], a - ret - -SilphCo10Script_5a14f: ; 5a14f (16:614f) - ld hl, $d126 - bit 5, [hl] - res 5, [hl] - ret z - ld hl, DataTable_5a173 ; $6173 - call Func_59d43 - call Func_5a176 - ld a, [$d836] - bit 0, a - ret nz - ld a, $54 - ld [$d09f], a - ld bc, $405 - ld a, $17 - jp Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e)) - -DataTable_5a173: ; 5a173 (16:6173) - db $04,$05,$FF - -Func_5a176: ; 5a176 (16:6176) - ld a, [$ffe0] - and a - ret z - ld hl, $d836 - set 0, [hl] - ret - -SilphCo10ScriptPointers: ; 5a180 (16:6180) - dw CheckFightingMapTrainers - dw Func_324c - dw EndTrainerBattle - -SilphCo10TextPointers: ; 5a186 (16:6186) - dw SilphCo10Text1 - dw SilphCo10Text2 - dw SilphCo10Text3 - dw Predef5CText - dw Predef5CText - dw Predef5CText - -SilphCo10TrainerHeaders: ; 5a192 (16:6192) -SilphCo10TrainerHeader0: ; 5a192 (16:6192) - db $1 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d835 ; flag's byte - dw SilphCo10BattleText1 ; 0x61dd TextBeforeBattle - dw SilphCo10AfterBattleText1 ; 0x61e7 TextAfterBattle - dw SilphCo10EndBattleText1 ; 0x61e2 TextEndBattle - dw SilphCo10EndBattleText1 ; 0x61e2 TextEndBattle - -SilphCo10TrainerHeader1: ; 5a19e (16:619e) - db $2 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d835 ; flag's byte - dw SilphCo10BattleText2 ; 0x61ec TextBeforeBattle - dw SilphCo10AfterBattleText2 ; 0x61f6 TextAfterBattle - dw SilphCo10EndBattleText2 ; 0x61f1 TextEndBattle - dw SilphCo10EndBattleText2 ; 0x61f1 TextEndBattle - - db $ff - -SilphCo10Text1: ; 5a1ab (16:61ab) - db $08 ; asm - ld hl, SilphCo10TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -SilphCo10Text2: ; 5a1b5 (16:61b5) - db $08 ; asm - ld hl, SilphCo10TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -SilphCo10Text3: ; 5a1bf (16:61bf) - db $08 ; asm - ld a, [$d838] - bit 7, a - ld hl, UnnamedText_5a1d8 - jr nz, .asm_cf85f - ld hl, UnnamedText_5a1d3 -.asm_cf85f - call PrintText - jp TextScriptEnd - -UnnamedText_5a1d3: ; 5a1d3 (16:61d3) - TX_FAR _UnnamedText_5a1d3 - db "@" - -UnnamedText_5a1d8: ; 5a1d8 (16:61d8) - TX_FAR _UnnamedText_5a1d8 - db "@" - -SilphCo10BattleText1: ; 5a1dd (16:61dd) - TX_FAR _SilphCo10BattleText1 - db "@" - -SilphCo10EndBattleText1: ; 5a1e2 (16:61e2) - TX_FAR _SilphCo10EndBattleText1 - db "@" - -SilphCo10AfterBattleText1: ; 5a1e7 (16:61e7) - TX_FAR _SilphCo10AfterBattleText1 - db "@" - -SilphCo10BattleText2: ; 5a1ec (16:61ec) - TX_FAR _SilphCo10BattleText2 - db "@" - -SilphCo10EndBattleText2: ; 5a1f1 (16:61f1) - TX_FAR _SilphCo10EndBattleText2 - db "@" - -SilphCo10AfterBattleText2: ; 5a1f6 (16:61f6) - TX_FAR _SilphCo10AfterBattleText2 - db "@" +INCLUDE "scripts/silphco10.asm" INCLUDE "data/mapObjects/silphco10.asm" @@ -69694,172 +49405,7 @@ SilphCo10Blocks: ; 5a25a (16:625a) INCLUDE "data/mapHeaders/lance.asm" -LanceScript: ; 5a2ae (16:62ae) - call LanceScript_5a2c4 - call EnableAutoTextBoxDrawing - ld hl, LanceTrainerHeaders - ld de, LanceScriptPointers - ld a, [W_LANCECURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_LANCECURSCRIPT], a - ret - -LanceScript_5a2c4: ; 5a2c4 (16:62c4) - ld hl, $d126 - bit 5, [hl] - res 5, [hl] - ret z - ld a, [$d866] - bit 7, a - jr nz, .asm_5a2da - ld a, $31 - ld b, $32 - jp Func_5a2de -.asm_5a2da - ld a, $72 - ld b, $73 - -Func_5a2de: ; 5a2de (16:62de) - push bc - ld [$d09f], a - ld bc, $602 - call Func_5a2f0 - pop bc - ld a, b - ld [$d09f], a - ld bc, $603 - -Func_5a2f0: ; 5a2f0 (16:62f0) - ld a, $17 - jp Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e)) - -Func_5a2f5: ; 5a2f5 (16:62f5) - xor a - ld [W_LANCECURSCRIPT], a - ret - -LanceScriptPointers: ; 5a2fa (16:62fa) - dw LanceScript0 - dw Func_324c - dw LanceScript2 - dw LanceScript3 - dw LanceScript4 - -LanceScript4: ; 5a304 (16:6304) - ret - -LanceScript0: ; 5a305 (16:6305) - ld a, [$d866] - bit 6, a - ret nz - ld hl, CoordsData_5a33e - call ArePlayerCoordsInArray - jp nc, CheckFightingMapTrainers - xor a - ld [H_CURRENTPRESSEDBUTTONS], a - ld a, [wWhichTrade] ; $cd3d - cp $3 - jr nc, .asm_5a325 - ld a, $1 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - jp DisplayTextID -.asm_5a325 - cp $5 - jr z, Func_5a35b - ld hl, $d866 - bit 7, [hl] - set 7, [hl] - ret nz - ld hl, $d126 - set 5, [hl] - ld a, (SFX_02_57 - SFX_Headers_02) / 3 - call PlaySound - jp LanceScript_5a2c4 - -CoordsData_5a33e: ; 5a33e (16:633e) - db $01,$05 - db $02,$06 - db $0B,$05 - db $0B,$06 - db $10,$18 - db $FF - -LanceScript2: ; 5a349 (16:6349) - call EndTrainerBattle - ld a, [W_ISINBATTLE] ; $d057 - cp $ff - jp z, Func_5a2f5 - ld a, $1 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - jp DisplayTextID - -Func_5a35b: ; 5a35b (16:635b) - ld a, $ff - ld [wJoypadForbiddenButtonsMask], a - ld hl, $ccd3 - ld de, RLEList_5a379 - call DecodeRLEList - dec a - ld [$cd38], a - call Func_3486 - ld a, $3 - ld [W_LANCECURSCRIPT], a - ld [W_CURMAPSCRIPT], a - ret - -RLEList_5a379: ; 5a379 (16:6379) - db $40, $0C - db $20, $0C - db $80, $07 - db $20, $06 - db $FF - -LanceScript3: ; 5a382 (16:6382) - ld a, [$cd38] - and a - ret nz - call Delay3 - xor a - ld [wJoypadForbiddenButtonsMask], a - ld [W_LANCECURSCRIPT], a - ld [W_CURMAPSCRIPT], a - ret - -LanceTextPointers: ; 5a395 (16:6395) - dw LanceText1 - -LanceTrainerHeaders: ; 5a397 (16:6397) -LanceTrainerHeader0: ; 5a397 (16:6397) - db $1 ; flag's bit - db ($0 << 4) ; trainer's view range - dw $d866 ; flag's byte - dw LanceBeforeBattleText ; 0x63ae TextBeforeBattle - dw LanceAfterBattleText ; 0x63b8 TextAfterBattle - dw LanceEndBattleText ; 0x63b3 TextEndBattle - dw LanceEndBattleText ; 0x63b3 TextEndBattle - - db $ff - -LanceText1: ; 5a3a4 (16:63a4) - db $08 ; asm - ld hl, LanceTrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -LanceBeforeBattleText: ; 5a3ae (16:63ae) - TX_FAR _LanceBeforeBattleText - db "@" - -LanceEndBattleText: ; 5a3b3 (16:63b3) - TX_FAR _LanceEndBattleText - db "@" - -LanceAfterBattleText: ; 5a3b8 (16:63b8) - TX_FAR _LanceAfterBattleText - db $8 - ld hl, $d866 - set 6, [hl] - jp TextScriptEnd +INCLUDE "scripts/lance.asm" INCLUDE "data/mapObjects/lance.asm" @@ -69868,123 +49414,7 @@ LanceBlocks: ; 5a3e9 (16:63e9) INCLUDE "data/mapHeaders/halloffameroom.asm" -HallofFameRoomScript: ; 5a49e (16:649e) - call EnableAutoTextBoxDrawing - ld hl, HallofFameRoomScriptPointers - ld a, [W_HALLOFFAMEROOMCURSCRIPT] - jp CallFunctionInTable - -Func_5a4aa: ; 5a4aa (16:64aa) - xor a - ld [wJoypadForbiddenButtonsMask], a - ld [W_HALLOFFAMEROOMCURSCRIPT], a - ret - -HallofFameRoomScriptPointers: ; 5a4b2 (16:64b2) - dw HallofFameRoomScript0 - dw HallofFameRoomScript1 - dw HallofFameRoomScript2 - dw HallofFameRoomScript3 - -HallofFameRoomScript3: ; 5a4ba (16:64ba) - ret - -HallofFameRoomScript2: ; 5a4bb (16:64bb) - call Delay3 - ld a, [$d358] - push af - xor a - ld [wJoypadForbiddenButtonsMask], a - ld a, $55 - call Predef - pop af - ld [$d358], a - ld hl, W_FLAGS_D733 - res 1, [hl] - inc hl - set 0, [hl] - xor a - ld hl, W_LORELEICURSCRIPT - ld [hli], a - ld [hli], a - ld [hl], a - ld [W_LANCECURSCRIPT], a - ld [W_HALLOFFAMEROOMCURSCRIPT], a - ld hl, $d863 - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hl], a - xor a - ld [W_HALLOFFAMEROOMCURSCRIPT], a - ld a, $0 - ld [$d719], a - ld b, BANK(SaveSAVtoSRAM) - ld hl, SaveSAVtoSRAM - call Bankswitch - ld b, $5 -.asm_5a4ff - ld c, $78 - call DelayFrames - dec b - jr nz, .asm_5a4ff ; 0x5a505 $f8 - call WaitForTextScrollButtonPress - jp InitGame - -HallofFameRoomScript0: ; 5a50d (16:650d) - ld a, $ff - ld [wJoypadForbiddenButtonsMask], a - ld hl, $ccd3 - ld de, RLEMovement5a528 - call DecodeRLEList - dec a - ld [$cd38], a - call Func_3486 - ld a, $1 - ld [W_HALLOFFAMEROOMCURSCRIPT], a - ret - -RLEMovement5a528: ; 5a528 (16:6528) - db $40,$5 - db $ff - -HallofFameRoomScript1: ; 5a52b (16:652b) - ld a, [$cd38] - and a - ret nz - ld a, $1 - ld [$d528], a - ld a, $1 - ld [$ff8c], a - call SetSpriteMovementBytesToFF - ld a, $8 - ld [$ff8d], a - call Func_34a6 - call Delay3 - xor a - ld [wJoypadForbiddenButtonsMask], a - inc a - ld [$d528], a - ld a, $1 - ld [$ff8c], a - call DisplayTextID - ld a, $ff - ld [wJoypadForbiddenButtonsMask], a - ld a, $8 - ld [$cc4d], a - ld a, $11 - call Predef - ld a, $2 - ld [W_HALLOFFAMEROOMCURSCRIPT], a - ret - -HallofFameRoomTextPointers: ; 5a56a (16:656a) - dw HallofFameRoomText1 - -HallofFameRoomText1: ; 5a56c (16:656c) - TX_FAR _HallofFameRoomText1 - db "@" +INCLUDE "scripts/halloffameroom.asm" INCLUDE "data/mapObjects/halloffameroom.asm" @@ -70047,30 +49477,7 @@ ViridianForestExitBlocks: ; 5c090 (17:4090) INCLUDE "data/mapHeaders/redshouse2f.asm" -RedsHouse2FScript: ; 5c0b0 (17:40b0) - call EnableAutoTextBoxDrawing - ld hl,RedsHouse2FScriptPointers - ld a,[W_REDSHOUSE2CURSCRIPT] - jp CallFunctionInTable - -RedsHouse2FScriptPointers: ; 5c0bc (17:40bc) - dw RedsHouse2FScript0 - dw RedsHouse2FScript1 - -RedsHouse2FScript0: ; 5c0c0 (17:40c0) - xor a - ld [H_CURRENTPRESSEDBUTTONS],a - ld a,8 - ld [$D528],a - ld a,1 - ld [W_REDSHOUSE2CURSCRIPT],a - ret - -RedsHouse2FScript1: ; 5c0ce (17:40ce) - ret - -RedsHouse2FTextPointers: ; 5c0cf (17:40cf) - db "@" +INCLUDE "scripts/redshouse2f.asm" INCLUDE "data/mapObjects/redshouse2f.asm" @@ -70085,545 +49492,19 @@ Func_5c0dc: ; 5c0dc (17:40dc) INCLUDE "data/mapHeaders/museum1f.asm" -Museum1FScript: ; 5c0f7 (17:40f7) - ld a, $1 - ld [$cf0c], a - xor a - ld [$cc3c], a - ld hl, Museum1FScriptPointers - ld a, [W_MUSEUM1FCURSCRIPT] - jp CallFunctionInTable - -Museum1FScriptPointers: ; 5c109 (17:4109) - dw Museum1FScript0 - dw Museum1FScript1 - -Museum1FScript0: ; 5c10d (17:410d) - ld a, [W_YCOORD] - cp $4 - ret nz - ld a, [W_XCOORD] - cp $9 - jr z, .asm_5c120 ; 0x5c118 $6 - ld a, [W_XCOORD] - cp $a - ret nz -.asm_5c120 - xor a - ld [H_CURRENTPRESSEDBUTTONS], a - ld a, $1 - ld [$ff8c], a - jp DisplayTextID - -Museum1FScript1: ; 5c12a (17:412a) - ret - -Museum1FTextPointers: ; 5c12b (17:412b) - dw Museum1FText1 - dw Museum1FText2 - dw Museum1FText3 - dw Museum1FText4 - dw Museum1FText5 - -Museum1FText1: ; 5c135 (17:4135) - db $8 - ld a, [W_YCOORD] - cp $4 - jr nz, asm_8774b ; 0x5c13b $a - ld a, [W_XCOORD] - cp $d - jp z, Func_5c1f9 - jr asm_b8709 ; 0x5c145 $1c -asm_8774b: ; 5c147 (17:4147) - cp $3 - jr nz, asm_d49e7 ; 0x5c149 $8 - ld a, [W_XCOORD] - cp $c - jp z, Func_5c1f9 -asm_d49e7: ; 5c153 (17:4153) - ld a, [$d754] - bit 0, a - jr nz, asm_31a16 ; 0x5c158 $10 - ld hl, UnnamedText_5c23d - call PrintText - jp asm_d1145 -asm_b8709: ; 5c163 (17:4163) - ld a, [$d754] - bit 0, a - jr z, asm_3ded4 ; 0x5c168 $9 -asm_31a16: ; 5c16a (17:416a) - ld hl, UnnamedText_5c242 - call PrintText - jp asm_d1145 -asm_3ded4: ; 5c173 (17:4173) - ld a, $13 - ld [$d125], a - call DisplayTextBoxID - xor a - ld [H_CURRENTPRESSEDBUTTONS], a - ld hl, UnnamedText_5c21f - call PrintText - call YesNoChoice - ld a, [$cc26] - and a - jr nz, asm_de133 ; 0x5c18b $4d - xor a - ld [$ff9f], a - ld [$ffa0], a - ld a, $50 - ld [$ffa1], a - call HasEnoughMoney - jr nc, asm_0f3e3 ; 0x5c199 $9 - ld hl, UnnamedText_5c229 - call PrintText - jp asm_de133 -asm_0f3e3: ; 5c1a4 (17:41a4) - ld hl, UnnamedText_5c224 - call PrintText - ld hl, $d754 - set 0, [hl] - xor a - ld [$cd3d], a - ld [$cd3e], a - ld a, $50 - ld [$cd3f], a - ld hl, $cd3f - ld de, $d349 - ld c, $3 - ld a, $c - call Predef - ld a, $13 - ld [$d125], a - call DisplayTextBoxID - ld a, (SFX_02_5a - SFX_Headers_02) / 3 - call PlaySoundWaitForCurrent - call WaitForSoundToFinish - jr asm_0b094 ; 0x5c1d8 $18 -asm_de133: ; 5c1da (17:41da) - ld hl, UnnamedText_5c21a ; $421a - call PrintText - ld a, $1 - ld [$cd38], a - ld a, $80 - ld [$ccd3], a - call Func_3486 - call UpdateSprites - jr asm_d1145 ; 0x5c1f0 $25 -asm_0b094: ; 5c1f2 (17:41f2) - ld a, $1 - ld [W_MUSEUM1FCURSCRIPT], a - jr asm_d1145 ; 0x5c1f7 $1e - -Func_5c1f9: ; 5c1f9 (17:41f9) - ld hl, UnnamedText_5c22e - call PrintText - call YesNoChoice - ld a, [$cc26] - cp $0 - jr nz, asm_d1144 - ld hl, UnnamedText_5c233 - call PrintText - jr asm_d1145 ; 0x5c20f $6 -asm_d1144: ; 5c211 (17:4211) - ld hl, UnnamedText_5c238 - call PrintText -asm_d1145: ; 5c217 (17:4217) - jp TextScriptEnd - -UnnamedText_5c21a: ; 5c21a (17:421a) - TX_FAR _UnnamedText_5c21a - db "@" - -UnnamedText_5c21f: ; 5c21f (17:421f) - TX_FAR _UnnamedText_5c21f - db "@" - -UnnamedText_5c224: ; 5c224 (17:4224) - TX_FAR _UnnamedText_5c224 - db "@" - -UnnamedText_5c229: ; 5c229 (17:4229) - TX_FAR _UnnamedText_5c229 - db "@" - -UnnamedText_5c22e: ; 5c22e (17:422e) - TX_FAR _UnnamedText_5c22e - db "@" - -UnnamedText_5c233: ; 5c233 (17:4233) - TX_FAR _UnnamedText_5c233 - db "@" - -UnnamedText_5c238: ; 5c238 (17:4238) - TX_FAR _UnnamedText_5c238 - db "@" - -UnnamedText_5c23d: ; 5c23d (17:423d) - TX_FAR _UnnamedText_5c23d - db "@" - -UnnamedText_5c242: ; 5c242 (17:4242) - TX_FAR _UnnamedText_5c242 - db "@" - -Museum1FText2: ; 5c247 (17:4247) - db $08 ; asm - ld hl, UnnamedText_5c251 - call PrintText - jp TextScriptEnd - -UnnamedText_5c251: ; 5c251 (17:4251) - TX_FAR _UnnamedText_5c251 - db "@" - -Museum1FText3: ; 5c256 (17:4256) - db $08 ; asm - ld a, [$d754] - bit 1, a - jr nz, .asm_16599 ; 0x5c25c - ld hl, UnnamedText_5c28e - call PrintText - ld bc, (OLD_AMBER << 8) | 1 - call GiveItem - jr nc, .BagFull - ld hl, $d754 - set 1, [hl] - ld a, $34 - ld [$cc4d], a - ld a, $11 - call Predef - ld hl, ReceivedOldAmberText - jr .asm_52e0f ; 0x5c27e -.BagFull - ld hl, UnnamedText_5c29e - jr .asm_52e0f ; 0x5c283 -.asm_16599 ; 0x5c285 - ld hl, UnnamedText_5c299 -.asm_52e0f ; 0x5c288 - call PrintText - jp TextScriptEnd - -UnnamedText_5c28e: ; 5c28e (17:428e) - TX_FAR _UnnamedText_5c28e - db "@" - -ReceivedOldAmberText: ; 5c293 (17:4293) - TX_FAR _ReceivedOldAmberText - db $0B, "@" - -UnnamedText_5c299: ; 5c299 (17:4299) - TX_FAR _UnnamedText_5c299 - db "@" - -UnnamedText_5c29e: ; 5c29e (17:429e) - TX_FAR _UnnamedText_5c29e - db "@" - -Museum1FText4: ; 5c2a3 (17:42a3) - db $08 ; asm - ld hl, UnnamedText_5c2ad - call PrintText - jp TextScriptEnd - -UnnamedText_5c2ad: ; 5c2ad (17:42ad) - TX_FAR _UnnamedText_5c2ad - db "@" - -Museum1FText5: ; 5c2b2 (17:42b2) - db $08 ; asm - ld hl, UnnamedText_5c2bc - call PrintText - jp TextScriptEnd - -UnnamedText_5c2bc: ; 5c2bc (17:42bc) - TX_FAR _UnnamedText_5c2bc - db "@" +INCLUDE "scripts/museum1f.asm" INCLUDE "data/mapObjects/museum1f.asm" INCLUDE "data/mapHeaders/museum2f.asm" -Museum2FScript: ; 5c317 (17:4317) - jp EnableAutoTextBoxDrawing - -Museum2FTextPointers: ; 5c31a (17:431a) - dw Museum2FText1 - dw Museum2FText2 - dw Museum2FText3 - dw Museum2FText4 - dw Museum2FText5 - dw Museum2FText6 - dw Museum2FText7 - -Museum2FText1: ; 5c328 (17:4328) - TX_FAR _Museum2FText1 - db "@" - -Museum2FText2: ; 5c32d (17:432d) - TX_FAR _Museum2FText2 - db "@" - -Museum2FText3: ; 5c332 (17:4332) - TX_FAR _Museum2FText3 - db "@" - -Museum2FText4: ; 5c337 (17:4337) - TX_FAR _Museum2FText4 - db "@" - -Museum2FText5: ; 5c33c (17:433c) - TX_FAR _Museum2FText5 - db "@" - -Museum2FText6: ; 5c341 (17:4341) - TX_FAR _Museum2FText6 - db "@" - -Museum2FText7: ; 5c346 (17:4346) - TX_FAR _Museum2FText7 - db "@" +INCLUDE "scripts/museum2f.asm" INCLUDE "data/mapObjects/museum2f.asm" INCLUDE "data/mapHeaders/pewtergym.asm" -PewterGymScript: ; 5c387 (17:4387) - ld hl, $d126 - bit 6, [hl] - res 6, [hl] - call nz, PewterGymScript_5c3a4 - call EnableAutoTextBoxDrawing - ld hl, PewterGymTrainerHeaders - ld de, PewterGymScriptPointers - ld a, [W_PEWTERGYMCURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_PEWTERGYMCURSCRIPT], a - ret - -PewterGymScript_5c3a4: ; 5c3a4 (17:43a4) - ld hl, Gym1CityName ; $43ad - ld de, Gym1LeaderName ; $43b9 - jp LoadGymLeaderAndCityName - -Gym1CityName: ; 5c3ad (17:43ad) - db "PEWTER CITY@" - -Gym1LeaderName: ; 5c3b9 (17:43b9) - db "BROCK@" - -Func_5c3bf: ; 5c3bf (17:43bf) - xor a - ld [wJoypadForbiddenButtonsMask], a - ld [W_PEWTERGYMCURSCRIPT], a - ld [W_CURMAPSCRIPT], a - ret - -PewterGymScriptPointers: ; 5c3ca (17:43ca) - dw CheckFightingMapTrainers - dw Func_324c - dw EndTrainerBattle - dw PewterGymScript3 - -PewterGymScript3: ; 5c3d2 (17:43d2) - ld a, [W_ISINBATTLE] ; $d057 - cp $ff - jp z, Func_5c3bf - ld a, $f0 - ld [wJoypadForbiddenButtonsMask], a - -Func_5c3df: ; 5c3df (17:43df) - ld a, $4 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - call DisplayTextID - ld hl, $d755 - set 7, [hl] - ld bc, (TM_34 << 8) | 1 - call GiveItem - jr nc, .BagFull - ld a, $5 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - call DisplayTextID - ld hl, $d755 - set 6, [hl] - jr .asm_5c408 -.BagFull - ld a, $6 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - call DisplayTextID -.asm_5c408 - ld hl, W_OBTAINEDBADGES - set 0, [hl] - ld hl, $d72a - set 0, [hl] - - ld a, $4 - ld [$cc4d], a - ld a, $11 - call Predef ; indirect jump to RemoveMissableObject (f1d7 (3:71d7)) - ld a, $22 - ld [$cc4d], a - ld a, $11 - call Predef ; indirect jump to RemoveMissableObject (f1d7 (3:71d7)) - - ld hl, $d7eb - res 0, [hl] - res 7, [hl] - - ; deactivate gym trainers - ld hl, $d755 - set 2, [hl] - - jp Func_5c3bf - -PewterGymTextPointers: ; 5c435 (17:4435) - dw PewterGymText1 - dw PewterGymText2 - dw PewterGymText3 - dw PewterGymText4 - dw PewterGymText5 - dw PewterGymText6 - -PewterGymTrainerHeaders: ; 5c441 (17:4441) -PewterGymTrainerHeader0: ; 5c441 (17:4441) - db $2 ; flag's bit - db ($5 << 4) ; trainer's view range - dw $d755 ; flag's byte - dw PewterGymBattleText1 ; 0x44d0 TextBeforeBattle - dw PewterGymAfterBattleText1 ; 0x44da TextAfterBattle - dw PewterGymEndBattleText1 ; 0x44d5 TextEndBattle - dw PewterGymEndBattleText1 ; 0x44d5 TextEndBattle - - db $ff - -PewterGymText1: ; 5c44e (17:444e) - db $08 ; asm - ld a, [$d755] - bit 7, a - jr z, .asm_4a735 ; 0x5c454 - bit 6, a - jr nz, .asm_ff7d0 ; 0x5c458 - call z, Func_5c3df - call DisableWaitingAfterTextDisplay - jr .asm_e0ffb ; 0x5c460 -.asm_ff7d0 ; 0x5c462 - ld hl, UnnamedText_5c4a3 - call PrintText - jr .asm_e0ffb ; 0x5c468 -.asm_4a735 ; 0x5c46a - ld hl, UnnamedText_5c49e - call PrintText - ld hl, $d72d - set 6, [hl] - set 7, [hl] - ld hl, UnnamedText_5c4bc - ld de, UnnamedText_5c4bc - call PreBattleSaveRegisters - ldh a, [$8c] - ld [$cf13], a - call EngageMapTrainer - call InitBattleEnemyParameters - ld a, $1 - ld [$d05c], a - xor a - ldh [$b4], a - ld a, $3 - ld [W_PEWTERGYMCURSCRIPT], a - ld [W_CURMAPSCRIPT], a -.asm_e0ffb ; 0x5c49b - jp TextScriptEnd - -UnnamedText_5c49e: ; 5c49e (17:449e) - TX_FAR _UnnamedText_5c49e - db "@" - -UnnamedText_5c4a3: ; 5c4a3 (17:44a3) - TX_FAR _UnnamedText_5c4a3 - db "@" - -PewterGymText4: ; 5c4a8 (17:44a8) - TX_FAR _TM34PreReceiveText - db "@" - -PewterGymText5: ; 5c4ad (17:44ad) - TX_FAR _ReceivedTM34Text - db $0B - TX_FAR _TM34ExplanationText - db "@" - -PewterGymText6: ; 5c4b7 (17:44b7) - TX_FAR _TM34NoRoomText - db "@" - -UnnamedText_5c4bc: ; 5c4bc (17:44bc) - TX_FAR _UnnamedText_5c4bc - db $0B - TX_FAR _UnnamedText_5c4c1 - db "@" - -PewterGymText2: ; 5c4c6 (17:44c6) - db $08 ; asm - ld hl, PewterGymTrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -PewterGymBattleText1: ; 5c4d0 (17:44d0) - TX_FAR _PewterGymBattleText1 - db "@" - -PewterGymEndBattleText1: ; 5c4d5 (17:44d5) - TX_FAR _PewterGymEndBattleText1 - db "@" - -PewterGymAfterBattleText1: ; 5c4da (17:44da) - TX_FAR _PewterGymAfterBattleText1 - db "@" - -PewterGymText3: ; 5c4df (17:44df) - db $08 ; asm - ld a, [$d72a] - bit 0, a - jr nz, .asm_71369 ; 0x5c4e5 - ld hl, UnnamedText_5c515 - call PrintText - call YesNoChoice - ld a, [$cc26] - and a - jr nz, .asm_6123a ; 0x5c4f4 - ld hl, UnnamedText_5c51a - call PrintText - jr .asm_d1578 ; 0x5c4fc -.asm_6123a ; 0x5c4fe - ld hl, UnnamedText_5c524 - call PrintText -.asm_d1578 ; 0x5c504 - ld hl, UnnamedText_5c51f - call PrintText - jr .asm_07013 ; 0x5c50a -.asm_71369 ; 0x5c50c - ld hl, UnnamedText_5c529 - call PrintText -.asm_07013 ; 0x5c512 - jp TextScriptEnd - -UnnamedText_5c515: ; 5c515 (17:4515) - TX_FAR _UnnamedText_5c515 - db "@" - -UnnamedText_5c51a: ; 5c51a (17:451a) - TX_FAR _UnnamedText_5c51a - db "@" - -UnnamedText_5c51f: ; 5c51f (17:451f) - TX_FAR _UnnamedText_5c51f - db "@" - -UnnamedText_5c524: ; 5c524 (17:4524) - TX_FAR _UnnamedText_5c524 - db "@" - -UnnamedText_5c529: ; 5c529 (17:4529) - TX_FAR _UnnamedText_5c529 - db "@" +INCLUDE "scripts/pewtergym.asm" INCLUDE "data/mapObjects/pewtergym.asm" @@ -70632,109 +49513,13 @@ PewterGymBlocks: ; 5c558 (17:4558) INCLUDE "data/mapHeaders/pewterpokecenter.asm" -PewterPokecenterScript: ; 5c587 (17:4587) - call Func_22fa - jp EnableAutoTextBoxDrawing - -PewterPokecenterTextPointers: ; 5c58d (17:458d) - dw PewterPokecenterText1 - dw PewterPokecenterText2 - dw PewterPokecenterText3 - dw PewterPokecenterText4 - -PewterPokecenterText1: ; 5c595 (17:4595) - db $ff - -PewterPokecenterText2: ; 5c596 (17:4596) - TX_FAR _PewterPokecenterText1 - db "@" - -PewterPokecenterText3: ; 5c59b (17:459b) - db $8 - ld a, $1 - ld [$cc3c], a - ld hl, PewterPokecenterText5 - call PrintText - ld a, $ff - call PlaySound - ld c, $20 - call DelayFrames - ld hl, Unknown_5c608 ; $4608 - ld de, $cd3f - ld bc, $0004 - call CopyData - ld a, [$c132] - ld hl, $cd3f -.asm_5c5c3 - cp [hl] - inc hl - jr nz, .asm_5c5c3 ; 0x5c5c5 $fc - dec hl - push hl - ld c, BANK(Music_JigglypuffSong) - ld a, MUSIC_JIGGLYPUFF_SONG - call PlayMusic - pop hl -.asm_5c5d1 - ld a, [hl] - ld [$c132], a - push hl - ld hl, $cd3f - ld de, $cd3e - ld bc, $0004 - call CopyData - ld a, [$cd3e] - ld [$cd42], a - pop hl - ld c, $18 - call DelayFrames - ld a, [$c026] - ld b, a - ld a, [$c027] - or b - jr nz, .asm_5c5d1 ; 0x5c5f6 $d9 - ld c, $30 - call DelayFrames - call Func_2307 - jp TextScriptEnd - -PewterPokecenterText5: ; 5c603 (17:4603) - TX_FAR _PewterPokecenterText5 - db "@" - -Unknown_5c608: ; 5c608 (17:4608) - db $30, $38, $34, $3c - -PewterPokecenterText4: ; 5c60c (17:460c) - db $f6 +INCLUDE "scripts/pewterpokecenter.asm" INCLUDE "data/mapObjects/pewterpokecenter.asm" INCLUDE "data/mapHeaders/ceruleanpokecenter.asm" -CeruleanPokecenterScript: ; 5c645 (17:4645) - call Func_22fa - jp EnableAutoTextBoxDrawing - -CeruleanPokecenterTextPointers: ; 5c64b (17:464b) - dw CeruleanPokecenterText1 - dw CeruleanPokecenterText2 - dw CeruleanPokecenterText3 - dw CeruleanPokecenterText4 - -CeruleanPokecenterText4: ; 5c653 (17:4653) - db $f6 - -CeruleanPokecenterText1: ; 5c654 (17:4654) - db $ff - -CeruleanPokecenterText2: ; 5c655 (17:4655) - TX_FAR _CeruleanPokecenterText1 - db "@" - -CeruleanPokecenterText3: ; 5c65a (17:465a) - TX_FAR _CeruleanPokecenterText3 - db "@" +INCLUDE "scripts/ceruleanpokecenter.asm" INCLUDE "data/mapObjects/ceruleanpokecenter.asm" @@ -70743,230 +49528,7 @@ CeruleanPokecenterBlocks: ; 5c68b (17:468b) INCLUDE "data/mapHeaders/ceruleangym.asm" -CeruleanGymScript: ; 5c6b3 (17:46b3) - ld hl, $d126 - bit 6, [hl] - res 6, [hl] - call nz, CeruleanGymScript_5c6d0 - call EnableAutoTextBoxDrawing - ld hl, CeruleanGymTrainerHeaders - ld de, CeruleanGymScriptPointers - ld a, [W_CERULEANGYMCURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_CERULEANGYMCURSCRIPT], a - ret - -CeruleanGymScript_5c6d0: ; 5c6d0 (17:46d0) - ld hl, Gym2CityName ; $46d9 - ld de, Gym2LeaderName ; $46e7 - jp LoadGymLeaderAndCityName - -Gym2CityName: ; 5c6d9 (17:46d9) - db "CERULEAN CITY@" - -Gym2LeaderName: ; 5c6e7 (17:46e7) - db "MISTY@" - -Func_5c6ed: ; 5c6ed (17:46ed) - xor a - ld [wJoypadForbiddenButtonsMask], a - ld [W_CERULEANGYMCURSCRIPT], a - ld [W_CURMAPSCRIPT], a - ret - -CeruleanGymScriptPointers: ; 5c6f8 (17:46f8) - dw CheckFightingMapTrainers - dw Func_324c - dw EndTrainerBattle - dw CeruleanGymScript3 - -CeruleanGymScript3: ; 5c700 (17:4700) - ld a, [W_ISINBATTLE] ; $d057 - cp $ff - jp z, Func_5c6ed - ld a, $f0 - ld [wJoypadForbiddenButtonsMask], a - -Func_5c70d: ; 5c70d (17:470d) - ld a, $5 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - call DisplayTextID - ld hl, $d75e - set 7, [hl] - ld bc, (TM_11 << 8) | 1 - call GiveItem - jr nc, .BagFull - ld a, $6 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - call DisplayTextID - ld hl, $d75e - set 6, [hl] - jr .asm_5c736 -.BagFull - ld a, $7 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - call DisplayTextID -.asm_5c736 - ld hl, W_OBTAINEDBADGES - set 1, [hl] - ld hl, $d72a - set 1, [hl] - - ; deactivate gym trainers - ld hl, $d75e - set 2, [hl] - set 3, [hl] - - jp Func_5c6ed - -CeruleanGymTextPointers: ; 5c74a (17:474a) - dw CeruleanGymText1 - dw CeruleanGymText2 - dw CeruleanGymText3 - dw CeruleanGymText4 - dw CeruleanGymText5 - dw CeruleanGymText6 - dw CeruleanGymText7 - -CeruleanGymTrainerHeaders: ; 5c758 (17:4758) -CeruleanGymTrainerHeader0: ; 5c758 (17:4758) - db $2 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d75e ; flag's byte - dw CeruleanGymBattleText1 ; 0x47e9 TextBeforeBattle - dw CeruleanGymAfterBattleText1 ; 0x47f3 TextAfterBattle - dw CeruleanGymEndBattleText1 ; 0x47ee TextEndBattle - dw CeruleanGymEndBattleText1 ; 0x47ee TextEndBattle - -CeruleanGymTrainerHeader1: ; 5c764 (17:4764) - db $3 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d75e ; flag's byte - dw CeruleanGymBattleText2 ; 0x4802 TextBeforeBattle - dw CeruleanGymAfterBattleText2 ; 0x480c TextAfterBattle - dw CeruleanGymEndBattleText2 ; 0x4807 TextEndBattle - dw CeruleanGymEndBattleText2 ; 0x4807 TextEndBattle - - db $ff - -CeruleanGymText1: ; 5c771 (17:4771) - db $08 ; asm - ld a, [$d75e] - bit 7, a - jr z, .asm_10854 ; 0x5c777 - bit 6, a - jr nz, .asm_37a1b ; 0x5c77b - call z, Func_5c70d - call DisableWaitingAfterTextDisplay - jr .asm_95b04 ; 0x5c783 -.asm_37a1b ; 0x5c785 - ld hl, UnnamedText_5c7c3 - call PrintText - jr .asm_95b04 ; 0x5c78b -.asm_10854 ; 0x5c78d - ld hl, UnnamedText_5c7be - call PrintText - ld hl, $d72d - set 6, [hl] - set 7, [hl] - ld hl, UnnamedText_5c7d8 - ld de, UnnamedText_5c7d8 - call PreBattleSaveRegisters - ldh a, [$8c] - ld [$cf13], a - call EngageMapTrainer - call InitBattleEnemyParameters - ld a, $2 - ld [$d05c], a - xor a - ldh [$b4], a - ld a, $3 - ld [W_CERULEANGYMCURSCRIPT], a -.asm_95b04 ; 0x5c7bb - jp TextScriptEnd - -UnnamedText_5c7be: ; 5c7be (17:47be) - TX_FAR _UnnamedText_5c7be - db "@" - -UnnamedText_5c7c3: ; 5c7c3 (17:47c3) - TX_FAR _UnnamedText_5c7c3 - db "@" - -CeruleanGymText5: ; 5c7c8 (17:47c8) - TX_FAR _UnnamedText_5c7c8 - db "@" - -CeruleanGymText6: ; 5c7cd (17:47cd) -ReceivedTM11Text: ; 5c7cd (17:47cd) - TX_FAR _ReceivedTM11Text - db $0B, "@" - -CeruleanGymText7: ; 5c7d3 (17:47d3) - TX_FAR _UnnamedText_5c7d3 - db "@" - -UnnamedText_5c7d8: ; 5c7d8 (17:47d8) - TX_FAR _UnnamedText_5c7d8 - db $11, $6, "@" - -CeruleanGymText2: ; 5c7df (17:47df) - db $08 ; asm - ld hl, CeruleanGymTrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -CeruleanGymBattleText1: ; 5c7e9 (17:47e9) - TX_FAR _CeruleanGymBattleText1 - db "@" - -CeruleanGymEndBattleText1: ; 5c7ee (17:47ee) - TX_FAR _CeruleanGymEndBattleText1 - db "@" - -CeruleanGymAfterBattleText1: ; 5c7f3 (17:47f3) - TX_FAR _CeruleanGymAfterBattleText1 - db "@" - -CeruleanGymText3: ; 5c7f8 (17:47f8) - db $08 ; asm - ld hl, CeruleanGymTrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -CeruleanGymBattleText2: ; 5c802 (17:4802) - TX_FAR _CeruleanGymBattleText2 - db "@" - -CeruleanGymEndBattleText2: ; 5c807 (17:4807) - TX_FAR _CeruleanGymEndBattleText2 - db "@" - -CeruleanGymAfterBattleText2: ; 5c80c (17:480c) - TX_FAR _CeruleanGymAfterBattleText2 - db "@" - -CeruleanGymText4: ; 5c811 (17:4811) - db $08 ; asm - ld a, [$d75e] - bit 7, a - jr nz, .asm_f80ce ; 0x5c817 - ld hl, UnnamedText_5c82a - call PrintText - jr .asm_18a31 ; 0x5c81f -.asm_f80ce ; 0x5c821 - ld hl, UnnamedText_5c82f - call PrintText -.asm_18a31 ; 0x5c827 - jp TextScriptEnd - -UnnamedText_5c82a: ; 5c82a (17:482a) - TX_FAR _UnnamedText_5c82a - db "@" - -UnnamedText_5c82f: ; 5c82f (17:482f) - TX_FAR _UnnamedText_5c82f - db "@" +INCLUDE "scripts/ceruleangym.asm" INCLUDE "data/mapObjects/ceruleangym.asm" @@ -70975,415 +49537,37 @@ CeruleanGymBlocks: ; 5c866 (17:4866) INCLUDE "data/mapHeaders/ceruleanmart.asm" -CeruleanMartScript: ; 5c895 (17:4895) - jp EnableAutoTextBoxDrawing - -CeruleanMartTextPointers: ; 5c898 (17:4898) - dw CeruleanMartText1 - dw CeruleanMartText2 - dw CeruleanMartText3 - -CeruleanMartText2: ; 5c89e (17:489e) - TX_FAR _CeruleanMartText2 - db "@" - -CeruleanMartText3: ; 5c8a3 (17:48a3) - TX_FAR _CeruleanMartText3 - db "@" +INCLUDE "scripts/ceruleanmart.asm" INCLUDE "data/mapObjects/ceruleanmart.asm" INCLUDE "data/mapHeaders/lavenderpokecenter.asm" -LavenderPokecenterScript: ; 5c8da (17:48da) - call Func_22fa - jp EnableAutoTextBoxDrawing - -LavenderPokecenterTextPointers: ; 5c8e0 (17:48e0) - dw LavenderPokecenterText1 - dw LavenderPokecenterText2 - dw LavenderPokecenterText3 - dw LavenderPokecenterText4 - -LavenderPokecenterText4: ; 5c8e8 (17:48e8) - db $f6 - -LavenderPokecenterText1: ; 5c8e9 (17:48e9) - db $ff - -LavenderPokecenterText2: ; 5c8ea (17:48ea) - TX_FAR _LavenderPokecenterText1 - db "@" - -LavenderPokecenterText3: ; 5c8ef (17:48ef) - TX_FAR _LavenderPokecenterText3 - db "@" +INCLUDE "scripts/lavenderpokecenter.asm" INCLUDE "data/mapObjects/lavenderpokecenter.asm" INCLUDE "data/mapHeaders/lavendermart.asm" -LavenderMartScript: ; 5c92c (17:492c) - jp EnableAutoTextBoxDrawing - -LavenderMartTextPointers: ; 5c92f (17:492f) - dw LavenderMartText1 - dw LavenderMartText2 - dw LavenderMartText3 - -LavenderMartText2: ; 5c935 (17:4935) - TX_FAR _LavenderMartText2 - db "@" - -LavenderMartText3: ; 5c93a (17:493a) - db $08 ; asm - ld a, [$d7e0] - bit 7, a - jr nz, .asm_c88d4 ; 0x5c940 - ld hl, UnnamedText_5c953 - call PrintText - jr .asm_6d225 ; 0x5c948 -.asm_c88d4 ; 0x5c94a - ld hl, UnnamedText_5c958 - call PrintText -.asm_6d225 ; 0x5c950 - jp TextScriptEnd - -UnnamedText_5c953: ; 5c953 (17:4953) - TX_FAR _UnnamedText_5c953 - db "@" - -UnnamedText_5c958: ; 5c958 (17:4958) - TX_FAR _UnnamedText_5c958 - db "@" +INCLUDE "scripts/lavendermart.asm" INCLUDE "data/mapObjects/lavendermart.asm" INCLUDE "data/mapHeaders/vermilionpokecenter.asm" -VermilionPokecenterScript: ; 5c98f (17:498f) - call Func_22fa - jp EnableAutoTextBoxDrawing - -VermilionPokecenterTextPointers: ; 5c995 (17:4995) - dw VermilionPokecenterText1 - dw VermilionPokecenterText2 - dw VermilionPokecenterText3 - dw VermilionPokecenterText4 - -VermilionPokecenterText1: ; 5c99d (17:499d) - db $ff - -VermilionPokecenterText2: ; 5c99e (17:499e) - TX_FAR _VermilionPokecenterText1 - db "@" - -VermilionPokecenterText3: ; 5c9a3 (17:49a3) - TX_FAR _VermilionPokecenterText3 - db "@" - -VermilionPokecenterText4: ; 5c9a8 (17:49a8) - db $f6 +INCLUDE "scripts/vermilionpokecenter.asm" INCLUDE "data/mapObjects/vermilionpokecenter.asm" INCLUDE "data/mapHeaders/vermilionmart.asm" -VermilionMartScript: ; 5c9e1 (17:49e1) - jp EnableAutoTextBoxDrawing - -VermilionMartTextPointers: ; 5c9e4 (17:49e4) - dw VermilionMartText1 - dw VermilionMartText2 - dw VermilionMartText3 - -VermilionMartText2: ; 5c9ea (17:49ea) - TX_FAR _VermilionMartText2 - db "@" - -VermilionMartText3: ; 5c9ef (17:49ef) - TX_FAR _VermilionMartText3 - db "@" +INCLUDE "scripts/vermilionmart.asm" INCLUDE "data/mapObjects/vermilionmart.asm" INCLUDE "data/mapHeaders/vermiliongym.asm" -VermilionGymScript: ; 5ca26 (17:4a26) - ld hl, $d126 - bit 5, [hl] - res 5, [hl] - push hl - call nz, VermilionGymScript_5ca4c - pop hl - bit 6, [hl] - res 6, [hl] - call nz, VermilionGymScript_5ca6d - call EnableAutoTextBoxDrawing - ld hl, VermilionGymTrainerHeader0 - ld de, VermilionGymScriptPointers - ld a, [W_VERMILIONGYMCURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_VERMILIONGYMCURSCRIPT], a - ret - -VermilionGymScript_5ca4c: ; 5ca4c (17:4a4c) - ld hl, Gym3CityName ; $4a55 - ld de, Gym3LeaderName ; $4a64 - jp LoadGymLeaderAndCityName - -Gym3CityName: ; 5ca55 (17:4a55) - db "VERMILION CITY@" - -Gym3LeaderName: ; 5ca64 (17:4a64) - db "LT.SURGE@" - -VermilionGymScript_5ca6d: ; 5ca6d (17:4a6d) - ld a, [$d773] - bit 0, a - jr nz, .asm_5ca78 - ld a, $24 - jr .asm_5ca7f -.asm_5ca78 - ld a, (SFX_02_57 - SFX_Headers_02) / 3 - call PlaySound - ld a, $5 -.asm_5ca7f - ld [$d09f], a - ld bc, $202 - ld a, $17 - jp Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e)) - -VermilionGymScript_5ca8a: ; 5ca8a (17:4a8a) - xor a - ld [wJoypadForbiddenButtonsMask], a - ld [W_VERMILIONGYMCURSCRIPT], a - ld [W_CURMAPSCRIPT], a - ret - -VermilionGymScriptPointers: ; 5ca95 (17:4a95) - dw CheckFightingMapTrainers - dw Func_324c - dw EndTrainerBattle - dw VermilionGymScript3 - -VermilionGymScript3: ; 5ca9d (17:4a9d) - ld a, [W_ISINBATTLE] ; $d057 - cp $ff - jp z, VermilionGymScript_5ca8a - ld a, $f0 - ld [wJoypadForbiddenButtonsMask], a - -Func_5caaa: ; 5caaa (17:4aaa) - ld a, $6 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - call DisplayTextID - ld hl, $d773 - set 7, [hl] - ld bc, (TM_24 << 8) | 1 - call GiveItem - jr nc, .BagFull - ld a, $7 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - call DisplayTextID - ld hl, $d773 - set 6, [hl] - jr .asm_5cad3 -.BagFull - ld a, $8 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - call DisplayTextID -.asm_5cad3 - ld hl, W_OBTAINEDBADGES - set 2, [hl] - ld hl, $d72a - set 2, [hl] - - ; deactivate gym trainers - ld a, [$d773] - or %00011100 - ld [$d773], a - - jp VermilionGymScript_5ca8a - -VermilionGymTextPointers: ; 5cae8 (17:4ae8) - dw VermilionGymText1 - dw VermilionGymText2 - dw VermilionGymText3 - dw VermilionGymText4 - dw VermilionGymText5 - dw VermilionGymText6 - dw VermilionGymText7 - dw VermilionGymText8 - -VermilionGymTrainerHeaders: ; 5caf8 (17:4af8) -VermilionGymTrainerHeader0: ; 5caf8 (17:4af8) - db $2 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d773 ; flag's byte - dw VermilionGymBattleText1 ; 0x4b9a TextBeforeBattle - dw VermilionGymAfterBattleText1 ; 0x4ba4 TextAfterBattle - dw VermilionGymEndBattleText1 ; 0x4b9f TextEndBattle - dw VermilionGymEndBattleText1 ; 0x4b9f TextEndBattle - -VermilionGymTrainerHeader1: ; 5cb04 (17:4b04) - db $3 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d773 ; flag's byte - dw VermilionGymBattleText2 ; 0x4bb3 TextBeforeBattle - dw VermilionGymAfterBattleText2 ; 0x4bbd TextAfterBattle - dw VermilionGymEndBattleText2 ; 0x4bb8 TextEndBattle - dw VermilionGymEndBattleText2 ; 0x4bb8 TextEndBattle - -VermilionGymTrainerHeader2: ; 5cb10 (17:4b10) - db $4 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d773 ; flag's byte - dw VermilionGymBattleText3 ; 0x4bcc TextBeforeBattle - dw VermilionGymAfterBattleText3 ; 0x4bd6 TextAfterBattle - dw VermilionGymEndBattleText3 ; 0x4bd1 TextEndBattle - dw VermilionGymEndBattleText3 ; 0x4bd1 TextEndBattle - - db $ff - -VermilionGymText1: ; 5cb1d (17:4b1d) - db $08 ; asm - ld a, [$d773] - bit 7, a - jr z, .asm_7cc29 ; 0x5cb23 - bit 6, a - jr nz, .asm_41203 ; 0x5cb27 - call z, Func_5caaa - call DisableWaitingAfterTextDisplay - jr .asm_23621 ; 0x5cb2f -.asm_41203 ; 0x5cb31 - ld hl, UnnamedText_5cb72 - call PrintText - jr .asm_23621 ; 0x5cb37 -.asm_7cc29 ; 0x5cb39 - ld hl, UnnamedText_5cb6d - call PrintText - ld hl, $d72d - set 6, [hl] - set 7, [hl] - ld hl, ReceivedThunderbadgeText - ld de, ReceivedThunderbadgeText - call PreBattleSaveRegisters - ldh a, [$8c] - ld [$cf13], a - call EngageMapTrainer - call InitBattleEnemyParameters - ld a, $3 - ld [$d05c], a - xor a - ldh [$b4], a - ld a, $3 - ld [W_VERMILIONGYMCURSCRIPT], a - ld [W_CURMAPSCRIPT], a -.asm_23621 ; 0x5cb6a - jp TextScriptEnd - -UnnamedText_5cb6d: ; 5cb6d (17:4b6d) - TX_FAR _UnnamedText_5cb6d - db "@" - -UnnamedText_5cb72: ; 5cb72 (17:4b72) - TX_FAR _UnnamedText_5cb72 - db "@" - -VermilionGymText6: ; 5cb77 (17:4b77) - TX_FAR _UnnamedText_5cb77 - db "@" - -VermilionGymText7: ; 5cb7c (17:4b7c) - TX_FAR _ReceivedTM24Text - db $11 - TX_FAR _TM24ExplanationText - db "@" - -VermilionGymText8: ; 5cb86 (17:4b86) - TX_FAR _TM24NoRoomText - db "@" - -ReceivedThunderbadgeText: ; 5cb8b (17:4b8b) - TX_FAR _ReceivedThunderbadgeText - db "@" - -VermilionGymText2: ; 5cb90 (17:4b90) - db $08 ; asm - ld hl, VermilionGymTrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -VermilionGymBattleText1: ; 5cb9a (17:4b9a) - TX_FAR _VermilionGymBattleText1 - db "@" - -VermilionGymEndBattleText1: ; 5cb9f (17:4b9f) - TX_FAR _VermilionGymEndBattleText1 - db "@" - -VermilionGymAfterBattleText1: ; 5cba4 (17:4ba4) - TX_FAR _VermilionGymAfterBattleText1 - db "@" - -VermilionGymText3: ; 5cba9 (17:4ba9) - db $08 ; asm - ld hl, VermilionGymTrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -VermilionGymBattleText2: ; 5cbb3 (17:4bb3) - TX_FAR _VermilionGymBattleText2 - db "@" - -VermilionGymEndBattleText2: ; 5cbb8 (17:4bb8) - TX_FAR _VermilionGymEndBattleText2 - db "@" - -VermilionGymAfterBattleText2: ; 5cbbd (17:4bbd) - TX_FAR _VermilionGymAfterBattleText2 - db "@" - -VermilionGymText4: ; 5cbc2 (17:4bc2) - db $08 ; asm - ld hl, VermilionGymTrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -VermilionGymBattleText3: ; 5cbcc (17:4bcc) - TX_FAR _VermilionGymBattleText3 - db "@" - -VermilionGymEndBattleText3: ; 5cbd1 (17:4bd1) - TX_FAR _VermilionGymEndBattleText3 - db "@" - -VermilionGymAfterBattleText3: ; 5cbd6 (17:4bd6) - TX_FAR _VermilionGymAfterBattleText3 - db "@" - -VermilionGymText5: ; 5cbdb (17:4bdb) - db $08 ; asm - ld a, [$d72a] - bit 2, a - jr nz, .asm_13b67 ; 0x5cbe1 - ld hl, UnnamedText_5cbf4 - call PrintText - jr .asm_c2b38 ; 0x5cbe9 -.asm_13b67 ; 0x5cbeb - ld hl, UnnamedText_5cbf9 - call PrintText -.asm_c2b38 ; 0x5cbf1 - jp TextScriptEnd - -UnnamedText_5cbf4: ; 5cbf4 (17:4bf4) - TX_FAR _UnnamedText_5cbf4 - db "@" - -UnnamedText_5cbf9: ; 5cbf9 (17:4bf9) - TX_FAR _UnnamedText_5cbf9 - db "@" +INCLUDE "scripts/vermiliongym.asm" INCLUDE "data/mapObjects/vermiliongym.asm" @@ -71392,452 +49576,13 @@ VermilionGymBlocks: ; 5cc38 (17:4c38) INCLUDE "data/mapHeaders/copycatshouse2f.asm" -CopycatsHouse2FScript: ; 5cc71 (17:4c71) - jp EnableAutoTextBoxDrawing - -CopycatsHouse2FTextPointers: ; 5cc74 (17:4c74) - dw CopycatsHouse2FText1 - dw CopycatsHouse2FText2 - dw CopycatsHouse2FText3 - dw CopycatsHouse2FText4 - dw CopycatsHouse2FText5 - dw CopycatsHouse2FText6 - dw CopycatsHouse2FText7 - -CopycatsHouse2FText1: ; 5cc82 (17:4c82) - db $08 ; asm - ld a, [$d7af] - bit 0, a - jr nz, .asm_7ccf3 ; 0x5cc88 - ld a, $1 - ld [$cc3c], a - ld hl, UnnamedText_5ccd4 - call PrintText - ld b, POKE_DOLL - call IsItemInBag - jr z, .asm_62ecd ; 0x5cc9a - ld hl, TM31PreReceiveText - call PrintText - ld bc, (TM_31 << 8) | 1 - call GiveItem - jr nc, .BagFull - ld hl, ReceivedTM31Text - call PrintText - ld a, POKE_DOLL - ldh [$db], a - ld b, BANK(RemoveItemByID) - ld hl, RemoveItemByID - call Bankswitch - ld hl, $d7af - set 0, [hl] - jr .asm_62ecd ; 0x5ccc1 -.BagFull - ld hl, TM31NoRoomText - call PrintText - jr .asm_62ecd ; 0x5ccc9 -.asm_7ccf3 ; 0x5cccb - ld hl, TM31ExplanationText2 - call PrintText -.asm_62ecd ; 0x5ccd1 - jp TextScriptEnd - -UnnamedText_5ccd4: ; 5ccd4 (17:4cd4) - TX_FAR _UnnamedText_5ccd4 - db "@" - -TM31PreReceiveText: ; 5ccd9 (17:4cd9) - TX_FAR _TM31PreReceiveText - db "@" - -ReceivedTM31Text: ; 5ccde (17:4cde) - TX_FAR _ReceivedTM31Text - db $0B -TM31ExplanationText1: ; 5cce3 (17:4ce3) - TX_FAR _TM31ExplanationText1 - db $d, "@" - -TM31ExplanationText2: ; 5cce9 (17:4ce9) - TX_FAR _TM31ExplanationText2 - db "@" - -TM31NoRoomText: ; 5ccee (17:4cee) - TX_FAR _TM31NoRoomText - db $d, "@" - -CopycatsHouse2FText2: ; 5ccf4 (17:4cf4) - TX_FAR _CopycatsHouse2FText2 - db "@" - -CopycatsHouse2FText5: ; 5ccf9 (17:4cf9) -CopycatsHouse2FText4: ; 5ccf9 (17:4cf9) -CopycatsHouse2FText3: ; 5ccf9 (17:4cf9) - TX_FAR _CopycatsHouse2FText3 - db "@" - -CopycatsHouse2FText6: ; 5ccfe (17:4cfe) - TX_FAR _CopycatsHouse2FText6 - db "@" - -CopycatsHouse2FText7: ; 5cd03 (17:4d03) - db $08 ; asm - ld a, [$c109] - cp $4 - ld hl, UnnamedText_5cd1c - jr nz, .asm_399a4 ; 0x5cd0c - ld hl, UnnamedText_5cd17 -.asm_399a4 ; 0x5cd11 - call PrintText - jp TextScriptEnd - -UnnamedText_5cd17: ; 5cd17 (17:4d17) - TX_FAR _UnnamedText_5cd17 - db "@" - -UnnamedText_5cd1c: ; 5cd1c (17:4d1c) - TX_FAR _UnnamedText_5cd1c - db "@" +INCLUDE "scripts/copycatshouse2f.asm" INCLUDE "data/mapObjects/copycatshouse2f.asm" INCLUDE "data/mapHeaders/fightingdojo.asm" -FightingDojoScript: ; 5cd5d (17:4d5d) - call EnableAutoTextBoxDrawing - ld hl, FightingDojoTrainerHeaders - ld de, FightingDojoScriptPointers - ld a, [W_FIGHTINGDOJOCURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_FIGHTINGDOJOCURSCRIPT], a - ret - -FightingDojoScript_5cd70: ; 5cd70 (17:4d70) - xor a - ld [$cd6b], a - ld [$d642], a - ld [$da39], a - ret - -FightingDojoScriptPointers: ; 5cd7b (17:4d7b) - dw FightingDojoScript1 - dw Func_324c - dw EndTrainerBattle - dw FightingDojoScript3 - -FightingDojoScript1: ; 5cd83 (17:4d83) - ld a, [$d7b1] - bit 0, a - ret nz - call CheckFightingMapTrainers - ld a, [wTrainerHeaderFlagBit] - and a - ret nz - ld a, [$d7b1] - bit 1, a - ret nz - xor a - ld [H_CURRENTPRESSEDBUTTONS], a - ld [$cf0d], a - ld a, [W_YCOORD] - cp $3 - ret nz - ld a, [W_XCOORD] - cp $4 - ret nz - ld a, $1 - ld [$cf0d], a - ld a, $1 - ld [$d528], a - ld a, $1 - ld [$ff8c], a - ld a, $8 - ld [$ff8d], a - call Func_34a6 - ld a, $1 - ld [$ff8c], a - call DisplayTextID - ret - -FightingDojoScript3: ; 5cdc6 (17:4dc6) - ld a, [$d057] - cp $ff - jp z, FightingDojoScript_5cd70 - ld a, [$cf0d] - and a - jr z, .asm_5cde4 - ld a, $1 - ld [$d528], a - ld a, $1 - ld [$ff8c], a - ld a, $8 - ld [$ff8d], a - call Func_34a6 - -.asm_5cde4 - ld a, $f0 - ld [$cd6b], a - ld a, [$d7b1] - or $3e - ld [$d7b1], a - ld a, $8 - ld [$ff8c], a - call DisplayTextID - xor a - ld [$cd6b], a - ld [$d642], a - ld [$da39], a - ret - -FightingDojoTextPointers: ; 5ce03 (17:4e03) - dw FightingDojoText1 - dw FightingDojoText2 - dw FightingDojoText3 - dw FightingDojoText4 - dw FightingDojoText5 - dw FightingDojoText6 - dw FightingDojoText7 - dw FightingDojoText8 - -FightingDojoTrainerHeaders: ; 5ce13 (17:4e13) -FightingDojoTrainerHeader0: ; 5ce13 (17:4e13) - db $2 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7b1 ; flag's byte - dw FightingDojoBattleText1 ; 0x4eac TextBeforeBattle - dw FightingDojoAfterBattleText1 ; 0x4eb6 TextAfterBattle - dw FightingDojoEndBattleText1 ; 0x4eb1 TextEndBattle - dw FightingDojoEndBattleText1 ; 0x4eb1 TextEndBattle - -FightingDojoTrainerHeader1: ; 5ce1f (17:4e1f) - db $3 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7b1 ; flag's byte - dw FightingDojoBattleText2 ; 0x4ec5 TextBeforeBattle - dw FightingDojoAfterBattleText2 ; 0x4ecf TextAfterBattle - dw FightingDojoEndBattleText2 ; 0x4eca TextEndBattle - dw FightingDojoEndBattleText2 ; 0x4eca TextEndBattle - -FightingDojoTrainerHeader2: ; 5ce2b (17:4e2b) - db $4 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7b1 ; flag's byte - dw FightingDojoBattleText3 ; 0x4ede TextBeforeBattle - dw FightingDojoAfterBattleText3 ; 0x4ee8 TextAfterBattle - dw FightingDojoEndBattleText3 ; 0x4ee3 TextEndBattle - dw FightingDojoEndBattleText3 ; 0x4ee3 TextEndBattle - -FightingDojoTrainerHeader3: ; 5ce37 (17:4e37) - db $5 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7b1 ; flag's byte - dw FightingDojoBattleText4 ; 0x4ef7 TextBeforeBattle - dw FightingDojoAfterBattleText4 ; 0x4f01 TextAfterBattle - dw FightingDojoEndBattleText4 ; 0x4efc TextEndBattle - dw FightingDojoEndBattleText4 ; 0x4efc TextEndBattle - - db $ff - -FightingDojoText1: ; 5ce44 (17:4e44) - db $08 ; asm - ld a, [$d7b1] - bit 0, a - jp nz, .continue1 - bit 1, a - jp nz, .continue2 - ld hl, UnnamedText_5ce8e - call PrintText - ld hl, $d72d - set 6, [hl] - set 7, [hl] - ld hl, UnnamedText_5ce93 - ld de, UnnamedText_5ce93 - call PreBattleSaveRegisters - ldh a, [$8c] - ld [$cf13], a - call EngageMapTrainer - call InitBattleEnemyParameters - ld a, $3 - ld [W_FIGHTINGDOJOCURSCRIPT], a - ld [W_CURMAPSCRIPT], a - jr .asm_9dba4 ; 0x5ce7b -.continue1 ; 0x5ce7d - ld hl, UnnamedText_5ce9d - call PrintText - jr .asm_9dba4 ; 0x5ce83 -.continue2 ; 0x5ce85f - ld hl, FightingDojoText8 - call PrintText -.asm_9dba4 ; 0x5ce8b - jp TextScriptEnd - -UnnamedText_5ce8e: ; 5ce8e (17:4e8e) - TX_FAR _UnnamedText_5ce8e - db "@" - -UnnamedText_5ce93: ; 5ce93 (17:4e93) - TX_FAR _UnnamedText_5ce93 - db "@" - -FightingDojoText8: ; 5ce98 (17:4e98) - TX_FAR _UnnamedText_5ce98 - db "@" - -UnnamedText_5ce9d: ; 5ce9d (17:4e9d) - TX_FAR _UnnamedText_5ce9d - db "@" - -FightingDojoText2: ; 5cea2 (17:4ea2) - db $08 ; asm - ld hl, FightingDojoTrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -FightingDojoBattleText1: ; 5ceac (17:4eac) - TX_FAR _FightingDojoBattleText1 - db "@" - -FightingDojoEndBattleText1: ; 5ceb1 (17:4eb1) - TX_FAR _FightingDojoEndBattleText1 - db "@" - -FightingDojoAfterBattleText1: ; 5ceb6 (17:4eb6) - TX_FAR _FightingDojoAfterBattleText1 - db "@" - -FightingDojoText3: ; 5cebb (17:4ebb) - db $08 ; asm - ld hl, FightingDojoTrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -FightingDojoBattleText2: ; 5cec5 (17:4ec5) - TX_FAR _FightingDojoBattleText2 - db "@" - -FightingDojoEndBattleText2: ; 5ceca (17:4eca) - TX_FAR _FightingDojoEndBattleText2 - db "@" - -FightingDojoAfterBattleText2: ; 5cecf (17:4ecf) - TX_FAR _FightingDojoAfterBattleText2 - db "@" - -FightingDojoText4: ; 5ced4 (17:4ed4) - db $08 ; asm - ld hl, FightingDojoTrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -FightingDojoBattleText3: ; 5cede (17:4ede) - TX_FAR _FightingDojoBattleText3 - db "@" - -FightingDojoEndBattleText3: ; 5cee3 (17:4ee3) - TX_FAR _FightingDojoEndBattleText3 - db "@" - -FightingDojoAfterBattleText3: ; 5cee8 (17:4ee8) - TX_FAR _FightingDojoAfterBattleText3 - db "@" - -FightingDojoText5: ; 5ceed (17:4eed) - db $08 ; asm - ld hl, FightingDojoTrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -FightingDojoBattleText4: ; 5cef7 (17:4ef7) - TX_FAR _FightingDojoBattleText4 - db "@" - -FightingDojoEndBattleText4: ; 5cefc (17:4efc) - TX_FAR _FightingDojoEndBattleText4 - db "@" - -FightingDojoAfterBattleText4: ; 5cf01 (17:4f01) - TX_FAR _FightingDojoAfterBattleText4 - db "@" - -FightingDojoText6: ; 5cf06 (17:4f06) -; Hitmonlee Poké Ball - db $08 ; asm - ld a, [$d7b1] - and %11000000 - jr z, .GetMon - ld hl, OtherHitmonText - call PrintText - jr .done -.GetMon - ld a, HITMONLEE - call DisplayPokedex - ld hl, WantHitmonleeText - call PrintText - call YesNoChoice - ld a, [$cc26] - and a - jr nz, .done - ld a, [$cf91] - ld b, a - ld c, 30 - call GivePokemon - jr nc, .done - - ; once Poké Ball is taken, hide sprite - ld a, $4a - ld [$cc4d], a - ld a, $11 - call Predef - ld hl, $d7b1 - set 6, [hl] - set 0, [hl] -.done - jp TextScriptEnd - -WantHitmonleeText: ; 5cf49 (17:4f49) - TX_FAR _WantHitmonleeText - db "@" - -FightingDojoText7: ; 5cf4e (17:4f4e) -; Hitmonchan Poké Ball - db $08 ; asm - ld a, [$d7b1] - and %11000000 - jr z, .GetMon - ld hl, OtherHitmonText - call PrintText - jr .done -.GetMon - ld a, HITMONCHAN - call DisplayPokedex - ld hl, WantHitmonchanText - call PrintText - call YesNoChoice - ld a, [$cc26] - and a - jr nz, .done - ld a, [$cf91] - ld b, a - ld c,30 - call GivePokemon - jr nc, .done - ld hl, $d7b1 - set 7, [hl] - set 0, [hl] - - ; once Poké Ball is taken, hide sprite - ld a, $4b - ld [$cc4d], a - ld a, $11 - call Predef -.done - jp TextScriptEnd - -WantHitmonchanText: ; 5cf91 (17:4f91) - TX_FAR _WantHitmonchanText - db "@" - -OtherHitmonText: ; 5cf96 (17:4f96) - TX_FAR _OtherHitmonText - db "@" +INCLUDE "scripts/fightingdojo.asm" INCLUDE "data/mapObjects/fightingdojo.asm" @@ -71846,373 +49591,7 @@ FightingDojoBlocks: ; 5cfe3 (17:4fe3) INCLUDE "data/mapHeaders/saffrongym.asm" -SaffronGymScript: ; 5d00d (17:500d) - ld hl, $d126 - bit 6, [hl] - res 6, [hl] - call nz, .extra - call EnableAutoTextBoxDrawing - ld hl, SaffronGymTrainerHeader0 - ld de, SaffronGymScriptPointers - ld a, [W_SAFFRONGYMCURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_SAFFRONGYMCURSCRIPT], a - ret - -.extra - ld hl, Gym6CityName ; $5033 - ld de, Gym6LeaderName ; $5040 - jp LoadGymLeaderAndCityName - -Gym6CityName: ; 5d033 (17:5033) - db "SAFFRON CITY@" - -Gym6LeaderName: ; 5d040 (17:5040) - db "SABRINA@" - -Func_5d048: ; 5d048 (17:5048) - xor a - ld [wJoypadForbiddenButtonsMask], a - ld [W_SAFFRONGYMCURSCRIPT], a - ld [W_CURMAPSCRIPT], a - ret - -SaffronGymScriptPointers: ; 5d053 (17:5053) - dw CheckFightingMapTrainers - dw Func_324c - dw EndTrainerBattle - dw SaffronGymScript3 - -SaffronGymScript3: ; 5d05b (17:505b) - ld a, [W_ISINBATTLE] ; $d057 - cp $ff - jp z, Func_5d048 - ld a, $f0 - ld [wJoypadForbiddenButtonsMask], a - -Func_5d068: ; 5d068 (17:5068) - ld a, $a - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - call DisplayTextID - ld hl, $d7b3 - set 1, [hl] - ld bc, (TM_46 << 8) | 1 - call GiveItem - jr nc, .BagFull - ld a, $b - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - call DisplayTextID - ld hl, $d7b3 - set 0, [hl] - jr .asm_5d091 -.BagFull - ld a, $c - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - call DisplayTextID -.asm_5d091 - ld hl, W_OBTAINEDBADGES - set 5, [hl] - ld hl, $d72a - set 5, [hl] - - ; deactivate gym trainers - ld a, [$d7b3] - or %11111100 - ld [$d7b3], a - ld hl, $d7b4 - set 0, [hl] - - jp Func_5d048 - -SaffronGymTextPointers: ; 5d0ab (17:50ab) - dw SaffronGymText1 - dw SaffronGymText2 - dw SaffronGymText3 - dw SaffronGymText4 - dw SaffronGymText5 - dw SaffronGymText6 - dw SaffronGymText7 - dw SaffronGymText8 - dw SaffronGymText9 - dw SaffronGymText10 - dw SaffronGymText11 - dw SaffronGymText12 - -SaffronGymTrainerHeaders: ; 5d0c3 (17:50c3) -SaffronGymTrainerHeader0: ; 5d0c3 (17:50c3) - db $2 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7b3 ; flag's byte - dw SaffronGymBattleText1 ; 0x51f0 TextBeforeBattle - dw SaffronGymAfterBattleText1 ; 0x51fa TextAfterBattle - dw SaffronGymEndBattleText1 ; 0x51f5 TextEndBattle - dw SaffronGymEndBattleText1 ; 0x51f5 TextEndBattle - -SaffronGymTrainerHeader1: ; 5d0cf (17:50cf) - db $3 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7b3 ; flag's byte - dw SaffronGymBattleText2 ; 0x51ff TextBeforeBattle - dw SaffronGymAfterBattleText2 ; 0x5209 TextAfterBattle - dw SaffronGymEndBattleText2 ; 0x5204 TextEndBattle - dw SaffronGymEndBattleText2 ; 0x5204 TextEndBattle - -SaffronGymTrainerHeader2: ; 5d0db (17:50db) - db $4 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7b3 ; flag's byte - dw SaffronGymBattleText3 ; 0x520e TextBeforeBattle - dw SaffronGymAfterBattleText3 ; 0x5218 TextAfterBattle - dw SaffronGymEndBattleText3 ; 0x5213 TextEndBattle - dw SaffronGymEndBattleText3 ; 0x5213 TextEndBattle - -SaffronGymTrainerHeader3: ; 5d0e7 (17:50e7) - db $5 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7b3 ; flag's byte - dw SaffronGymBattleText4 ; 0x521d TextBeforeBattle - dw SaffronGymAfterBattleText4 ; 0x5227 TextAfterBattle - dw SaffronGymEndBattleText4 ; 0x5222 TextEndBattle - dw SaffronGymEndBattleText4 ; 0x5222 TextEndBattle - -SaffronGymTrainerHeader4: ; 5d0f3 (17:50f3) - db $6 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7b3 ; flag's byte - dw SaffronGymBattleText5 ; 0x522c TextBeforeBattle - dw SaffronGymAfterBattleText5 ; 0x5236 TextAfterBattle - dw SaffronGymEndBattleText5 ; 0x5231 TextEndBattle - dw SaffronGymEndBattleText5 ; 0x5231 TextEndBattle - -SaffronGymTrainerHeader5: ; 5d0ff (17:50ff) - db $7 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7b3 ; flag's byte - dw SaffronGymBattleText6 ; 0x523b TextBeforeBattle - dw SaffronGymAfterBattleText6 ; 0x5245 TextAfterBattle - dw SaffronGymEndBattleText6 ; 0x5240 TextEndBattle - dw SaffronGymEndBattleText6 ; 0x5240 TextEndBattle - -SaffronGymTrainerHeader6: ; 5d10b (17:510b) - db $8 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7b3 ; flag's byte - dw SaffronGymBattleText7 ; 0x524a TextBeforeBattle - dw SaffronGymAfterBattleText7 ; 0x5254 TextAfterBattle - dw SaffronGymEndBattleText7 ; 0x524f TextEndBattle - dw SaffronGymEndBattleText7 ; 0x524f TextEndBattle - - db $ff - -SaffronGymText1: ; 5d118 (17:5118) - db $08 ; asm - ld a, [$d7b3] - bit 1, a - jr z, .asm_e3544 ; 0x5d11e - bit 0, a - jr nz, .asm_8d2f6 ; 0x5d122 - call z, Func_5d068 - call DisableWaitingAfterTextDisplay - jr .asm_34c2c ; 0x5d12a -.asm_8d2f6 ; 0x5d12c - ld hl, UnnamedText_5d16e - call PrintText - jr .asm_34c2c ; 0x5d132 -.asm_e3544 ; 0x5d134 - ld hl, UnnamedText_5d162 - call PrintText - ld hl, $d72d - set 6, [hl] - set 7, [hl] - ld hl, UnnamedText_5d167 - ld de, UnnamedText_5d167 - call PreBattleSaveRegisters - ldh a, [$8c] - ld [$cf13], a - call EngageMapTrainer - call InitBattleEnemyParameters - ld a, $6 - ld [$d05c], a - ld a, $3 - ld [W_SAFFRONGYMCURSCRIPT], a -.asm_34c2c ; 0x5d15f - jp TextScriptEnd - -UnnamedText_5d162: ; 5d162 (17:5162) - TX_FAR _UnnamedText_5d162 - db "@" - -UnnamedText_5d167: ; 5d167 (17:5167) - TX_FAR _UnnamedText_5d167 ; 0xa1c73 - db $11 ; play same sound as red giving oak parcel - db $6 ; wait for keypress - db "@" - -UnnamedText_5d16e: ; 5d16e (17:516e) - TX_FAR _UnnamedText_5d16e - db "@" - -SaffronGymText10: ; 5d173 (17:5173) - TX_FAR _UnnamedText_5d173 - db "@" - -SaffronGymText11: ; 5d178 (17:5178) - TX_FAR ReceivedTM46Text - db $b - TX_FAR _TM46ExplanationText - db "@" - -SaffronGymText12: ; 5d182 (17:5182) - TX_FAR _TM46NoRoomText - db "@" - -SaffronGymText2: ; 5d187 (17:5187) - db $08 ; asm - ld hl, SaffronGymTrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -SaffronGymText3: ; 5d191 (17:5191) - db $08 ; asm - ld hl, SaffronGymTrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -SaffronGymText4: ; 5d19b (17:519b) - db $08 ; asm - ld hl, SaffronGymTrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -SaffronGymText5: ; 5d1a5 (17:51a5) - db $08 ; asm - ld hl, SaffronGymTrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -SaffronGymText6: ; 5d1af (17:51af) - db $08 ; asm - ld hl, SaffronGymTrainerHeader4 - call TalkToTrainer - jp TextScriptEnd - -SaffronGymText7: ; 5d1b9 (17:51b9) - db $08 ; asm - ld hl, SaffronGymTrainerHeader5 - call TalkToTrainer - jp TextScriptEnd - -SaffronGymText8: ; 5d1c3 (17:51c3) - db $08 ; asm - ld hl, SaffronGymTrainerHeader6 - call TalkToTrainer - jp TextScriptEnd - -SaffronGymText9: ; 5d1cd (17:51cd) - db $08 ; asm - ld a, [$d7b3] - bit 1, a - jr nz, .asm_13f3c ; 0x5d1d3 - ld hl, UnnamedText_5d1e6 - call PrintText - jr .asm_e9907 ; 0x5d1db -.asm_13f3c ; 0x5d1dd - ld hl, UnnamedText_5d1eb - call PrintText -.asm_e9907 ; 0x5d1e3 - jp TextScriptEnd - -UnnamedText_5d1e6: ; 5d1e6 (17:51e6) - TX_FAR _UnnamedText_5d1e6 - db "@" - -UnnamedText_5d1eb: ; 5d1eb (17:51eb) - TX_FAR _UnnamedText_5d1eb - db "@" - -SaffronGymBattleText1: ; 5d1f0 (17:51f0) - TX_FAR _SaffronGymBattleText1 - db "@" - -SaffronGymEndBattleText1: ; 5d1f5 (17:51f5) - TX_FAR _SaffronGymEndBattleText1 - db "@" - -SaffronGymAfterBattleText1: ; 5d1fa (17:51fa) - TX_FAR _SaffronGymAfterBattleText1 - db "@" - -SaffronGymBattleText2: ; 5d1ff (17:51ff) - TX_FAR _SaffronGymBattleText2 - db "@" - -SaffronGymEndBattleText2: ; 5d204 (17:5204) - TX_FAR _SaffronGymEndBattleText2 - db "@" - -SaffronGymAfterBattleText2: ; 5d209 (17:5209) - TX_FAR _SaffronGymAfterBattleText2 - db "@" - -SaffronGymBattleText3: ; 5d20e (17:520e) - TX_FAR _SaffronGymBattleText3 - db "@" - -SaffronGymEndBattleText3: ; 5d213 (17:5213) - TX_FAR _SaffronGymEndBattleText3 - db "@" - -SaffronGymAfterBattleText3: ; 5d218 (17:5218) - TX_FAR _SaffronGymAfterBattleText3 - db "@" - -SaffronGymBattleText4: ; 5d21d (17:521d) - TX_FAR _SaffronGymBattleText4 - db "@" - -SaffronGymEndBattleText4: ; 5d222 (17:5222) - TX_FAR _SaffronGymEndBattleText4 - db "@" - -SaffronGymAfterBattleText4: ; 5d227 (17:5227) - TX_FAR _SaffronGymAfterBattleText4 - db "@" - -SaffronGymBattleText5: ; 5d22c (17:522c) - TX_FAR _SaffronGymBattleText5 - db "@" - -SaffronGymEndBattleText5: ; 5d231 (17:5231) - TX_FAR _SaffronGymEndBattleText5 - db "@" - -SaffronGymAfterBattleText5: ; 5d236 (17:5236) - TX_FAR _SaffronGymAfterBattleText5 - db "@" - -SaffronGymBattleText6: ; 5d23b (17:523b) - TX_FAR _SaffronGymBattleText6 - db "@" - -SaffronGymEndBattleText6: ; 5d240 (17:5240) - TX_FAR _SaffronGymEndBattleText6 - db "@" - -SaffronGymAfterBattleText6: ; 5d245 (17:5245) - TX_FAR _SaffronGymAfterBattleText6 - db "@" - -SaffronGymBattleText7: ; 5d24a (17:524a) - TX_FAR _SaffronGymBattleText7 - db "@" - -SaffronGymEndBattleText7: ; 5d24f (17:524f) - TX_FAR _SaffronGymEndBattleText7 - db "@" - -SaffronGymAfterBattleText7: ; 5d254 (17:5254) - TX_FAR _SaffronGymAfterBattleText7 - db "@" +INCLUDE "scripts/saffrongym.asm" INCLUDE "data/mapObjects/saffrongym.asm" @@ -72221,46 +49600,13 @@ SaffronGymBlocks: ; 5d3a3 (17:53a3) INCLUDE "data/mapHeaders/saffronmart.asm" -SaffronMartScript: ; 5d409 (17:5409) - jp EnableAutoTextBoxDrawing - -SaffronMartTextPointers: ; 5d40c (17:540c) - dw SaffronMartText1 - dw SaffronMartText2 - dw SaffronMartText3 - -SaffronMartText2: ; 5d412 (17:5412) - TX_FAR _SaffronMartText2 - db "@" - -SaffronMartText3: ; 5d417 (17:5417) - TX_FAR _SaffronMartText3 - db "@" +INCLUDE "scripts/saffronmart.asm" INCLUDE "data/mapObjects/saffronmart.asm" INCLUDE "data/mapHeaders/silphco1.asm" -SilphCo1Script: ; 5d44e (17:544e) - call EnableAutoTextBoxDrawing - ld a, [$d838] - bit 7, a - ret z - ld hl, $d7b9 - bit 7, [hl] - set 7, [hl] - ret nz - ld a, $4c - ld [$cc4d], a - ld a, $15 - jp Predef - -SilphCo1TextPointers: ; 5d469 (17:5469) - dw SilphCo1Text1 - -SilphCo1Text1: ; 5d46b (17:546b) - TX_FAR _SilphCo1Text1 - db "@" +INCLUDE "scripts/silphco1.asm" INCLUDE "data/mapObjects/silphco1.asm" @@ -72269,452 +49615,55 @@ SilphCo1Blocks: ; 5d4a2 (17:54a2) INCLUDE "data/mapHeaders/saffronpokecenter.asm" -SaffronPokecenterScript: ; 5d535 (17:5535) - call Func_22fa - jp EnableAutoTextBoxDrawing - -SaffronPokecenterTextPointers: ; 5d53b (17:553b) - dw SaffronPokecenterText1 - dw SaffronPokecenterText2 - dw SaffronPokecenterText3 - dw SaffronPokecenterText4 - -SaffronPokecenterText1: ; 5d543 (17:5543) - db $ff - -SaffronPokecenterText2: ; 5d544 (17:5544) - TX_FAR _SaffronPokecenterText1 - db "@" - -SaffronPokecenterText3: ; 5d549 (17:5549) - TX_FAR _SaffronPokecenterText3 - db "@" - -SaffronPokecenterText4: ; 5d54e (17:554e) - db $f6 +INCLUDE "scripts/saffronpokecenter.asm" INCLUDE "data/mapObjects/saffronpokecenter.asm" INCLUDE "data/mapHeaders/viridianforestexit.asm" -ViridianForestExitScript: ; 5d587 (17:5587) - jp EnableAutoTextBoxDrawing - -ViridianForestExitTextPointers: ; 5d58a (17:558a) - dw ViridianForestExitText1 - dw ViridianForestExitText2 - -ViridianForestExitText1: ; 5d58e (17:558e) - TX_FAR _ViridianForestExitText1 - db "@" - -ViridianForestExitText2: ; 5d593 (17:5593) - TX_FAR _ViridianForestExitText2 - db "@" +INCLUDE "scripts/viridianforestexit.asm" INCLUDE "data/mapObjects/viridianforestexit.asm" INCLUDE "data/mapHeaders/route2gate.asm" -Route2GateScript: ; 5d5d4 (17:55d4) - jp EnableAutoTextBoxDrawing - -Route2GateTextPointers: ; 5d5d7 (17:55d7) - dw Route2GateText1 - dw Route2GateText2 - -Route2GateText1: ; 5d5db (17:55db) - db $08 ; asm - ld a, [$d7c2] - bit 0, a - jr nz, .asm_6592c ; 0x5d5e1 - ld a, $a - ldh [$db], a - ld a, $c8 - ldh [$dc], a - ld [$d11e], a - call GetItemName ; $2fcf - ld hl, $cd6d - ld de, $cc5b - ld bc, $000d - call CopyData - ld a, $62 - call Predef - ldh a, [$db] - cp $1 - jr nz, .asm_ad646 ; 0x5d606 - ld hl, $d7c2 - set 0, [hl] -.asm_6592c ; 0x5d60d - ld hl, UnnamedText_5d616 - call PrintText -.asm_ad646 ; 0x5d613 - jp TextScriptEnd - -UnnamedText_5d616: ; 5d616 (17:5616) - TX_FAR _UnnamedText_5d616 - db "@" - -Route2GateText2: ; 5d61b (17:561b) - TX_FAR _Route2GateText2 - db "@" +INCLUDE "scripts/route2gate.asm" INCLUDE "data/mapObjects/route2gate.asm" INCLUDE "data/mapHeaders/viridianforestentrance.asm" -ViridianForestEntranceScript: ; 5d65c (17:565c) - jp EnableAutoTextBoxDrawing - -ViridianForestEntranceTextPointers: ; 5d65f (17:565f) - dw ViridianForestEntranceText1 - dw ViridianForestEntranceText2 - -ViridianForestEntranceText1: ; 5d663 (17:5663) - TX_FAR _ViridianForestEntranceText1 - db "@" - -ViridianForestEntranceText2: ; 5d668 (17:5668) - TX_FAR _ViridianForestEntranceText2 - db "@" +INCLUDE "scripts/viridianforestentrance.asm" INCLUDE "data/mapObjects/viridianforestentrance.asm" INCLUDE "data/mapHeaders/undergroundpathentranceroute5.asm" -UndergroundPathEntranceRoute5Script: ; 5d6a9 (17:56a9) - ld a, $10 - ld [$d365], a - ret - -UndergroundPathEntranceRoute5_5d6af: ; 5d6af (17:56af) - db $50 - -UndergroundPathEntranceRoute5TextPointers: ; 5d6b0 (17:56b0) - dw UndergroundPathEntranceRoute5Text1 - -UndergroundPathEntranceRoute5Text1: ; 5d6b2 (17:56b2) - db $08 ; asm - ld a, $9 - ld [wWhichTrade], a - ld a, $54 - call Predef - ld hl, UndergroundPathEntranceRoute5_5d6af - ret +INCLUDE "scripts/undergroundpathentranceroute5.asm" INCLUDE "data/mapObjects/undergroundpathentranceroute5.asm" INCLUDE "data/mapHeaders/undergroundpathentranceroute6.asm" -UndergroundPathEntranceRoute6Script: ; 5d6ef (17:56ef) - ld a, $11 - ld [$d365], a - jp EnableAutoTextBoxDrawing - -UndergroundPathEntranceRoute6TextPointers: ; 5d6f7 (17:56f7) - dw UndergroundPathEntranceRoute6Text1 - -UndergroundPathEntranceRoute6Text1: ; 5d6f9 (17:56f9) - TX_FAR _UndergrdTunnelEntRoute6Text1 - db "@" +INCLUDE "scripts/undergroundpathentranceroute6.asm" INCLUDE "data/mapObjects/undergroundpathentranceroute6.asm" INCLUDE "data/mapHeaders/undergroundpathentranceroute7.asm" -UndergroundPathEntranceRoute7Script: ; 5d72c (17:572c) - ld a, $12 - ld [$d365], a - jp EnableAutoTextBoxDrawing - -UndergroundPathEntranceRoute7TextPointers: ; 5d734 (17:5734) - dw UndergroundPathEntranceRoute7Text1 - -UndergroundPathEntranceRoute7Text1: ; 5d736 (17:5736) - TX_FAR _UndergroundPathEntRoute7Text1 - db "@" +INCLUDE "scripts/undergroundpathentranceroute7.asm" INCLUDE "data/mapObjects/undergroundpathentranceroute7.asm" INCLUDE "data/mapHeaders/undergroundpathentranceroute7copy.asm" -UndergroundPathEntranceRoute7CopyScript: ; 5d769 (17:5769) - ld a, $12 - ld [$d365], a - ret - -UndergroundPathEntranceRoute7CopyTextPointers: ; 5d76f (17:576f) - dw UnnamedText_5d773 - dw UnnamedText_5d77d - -UnnamedText_5d773: ; 5d773 (17:5773) - TX_FAR _UnnamedText_5d773 - db "@" - -UnnamedText_5d778: ; 5d778 (17:5778) - TX_FAR _UnnamedText_5d778 - db "@" - -UnnamedText_5d77d: ; 5d77d (17:577d) - TX_FAR _UnnamedText_5d77d - db "@" - -UnnamedText_5d782: ; 5d782 (17:5782) - TX_FAR _UnnamedText_5d782 - db "@" +INCLUDE "scripts/undergroundpathentranceroute7copy.asm" INCLUDE "data/mapObjects/undergroundpathentranceroute7copy.asm" INCLUDE "data/mapHeaders/silphco9.asm" -SilphCo9Script: ; 5d7bb (17:57bb) - call SilphCo9Script_5d7d1 - call EnableAutoTextBoxDrawing - ld hl, SilphCo9TrainerHeaders - ld de, SilphCo9ScriptPointers - ld a, [W_SILPHCO9CURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_SILPHCO9CURSCRIPT], a - ret - -SilphCo9Script_5d7d1: ; 5d7d1 (17:57d1) - ld hl, $d126 - bit 5, [hl] - res 5, [hl] - ret z - ld hl, DataTable_5d82e ; $582e - call Func_5d837 - call Func_5d863 - ld a, [$d834] - bit 0, a - jr nz, .asm_5d7f8 - push af - ld a, $5f - ld [$d09f], a - ld bc, $401 - ld a, $17 - call Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e)) - pop af -.asm_5d7f8 - bit 1, a - jr nz, .asm_5d80b - push af - ld a, $54 - ld [$d09f], a - ld bc, $209 - ld a, $17 - call Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e)) - pop af -.asm_5d80b - bit 2, a - jr nz, .asm_5d81e - push af - ld a, $54 - ld [$d09f], a - ld bc, $509 - ld a, $17 - call Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e)) - pop af -.asm_5d81e - bit 3, a - ret nz - ld a, $5f - ld [$d09f], a - ld bc, $605 - ld a, $17 - jp Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e)) - -DataTable_5d82e: ; 5d82e (17:582e) - db $04,$01,$02,$09,$05,$09,$06,$05,$FF - -Func_5d837: ; 5d837 (17:5837) - push hl - ld hl, $d73f - ld a, [hli] - ld b, a - ld a, [hl] - ld c, a - xor a - ld [$ffe0], a - pop hl -.asm_5d843 - ld a, [hli] - cp $ff - jr z, .asm_5d85f - push hl - ld hl, $ffe0 - inc [hl] - pop hl - cp b - jr z, .asm_5d854 - inc hl - jr .asm_5d843 -.asm_5d854 - ld a, [hli] - cp c - jr nz, .asm_5d843 - ld hl, $d73f - xor a - ld [hli], a - ld [hl], a - ret -.asm_5d85f - xor a - ld [$ffe0], a - ret - -Func_5d863: ; 5d863 (17:5863) - ld hl, $d834 - ld a, [$ffe0] - and a - ret z - cp $1 - jr nz, .asm_5d871 - set 0, [hl] - ret -.asm_5d871 - cp $2 - jr nz, .asm_5d878 - set 1, [hl] - ret -.asm_5d878 - cp $3 - jr nz, .asm_5d87f - set 2, [hl] - ret -.asm_5d87f - cp $4 - ret nz - set 3, [hl] - ret - -SilphCo9ScriptPointers: ; 5d885 (17:5885) - dw CheckFightingMapTrainers - dw Func_324c - dw EndTrainerBattle - -SilphCo9TextPointers: ; 5d88b (17:588b) - dw SilphCo9Text1 - dw SilphCo9Text2 - dw SilphCo9Text3 - dw SilphCo9Text4 - -SilphCo9TrainerHeaders: ; 5d893 (17:5893) -SilphCo9TrainerHeader0: ; 5d893 (17:5893) - db $2 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d833 ; flag's byte - dw SilphCo9BattleText1 ; 0x5912 TextBeforeBattle - dw SilphCo9AfterBattleText1 ; 0x591c TextAfterBattle - dw SilphCo9EndBattleText1 ; 0x5917 TextEndBattle - dw SilphCo9EndBattleText1 ; 0x5917 TextEndBattle - -SilphCo9TrainerHeader1: ; 5d89f (17:589f) - db $3 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d833 ; flag's byte - dw SilphCo9BattleText2 ; 0x5921 TextBeforeBattle - dw SilphCo9AfterBattleText2 ; 0x592b TextAfterBattle - dw SilphCo9EndBattleText2 ; 0x5926 TextEndBattle - dw SilphCo9EndBattleText2 ; 0x5926 TextEndBattle - -SilphCo9TrainerHeader2: ; 5d8ab (17:58ab) - db $4 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d833 ; flag's byte - dw SilphCo9BattleText3 ; 0x5930 TextBeforeBattle - dw SilphCo9AfterBattleText3 ; 0x593a TextAfterBattle - dw SilphCo9EndBattleText3 ; 0x5935 TextEndBattle - dw SilphCo9EndBattleText3 ; 0x5935 TextEndBattle - - db $ff - -SilphCo9Text1: ; 5d8b8 (17:58b8) - db $08 ; asm - ld a, [$d838] - bit 7, a - jr nz, .asm_a14c3 ; 0x5d8be - ld hl, UnnamedText_5d8e5 - call PrintText - ld a, $7 - call Predef - call GBFadeOut2 - call Delay3 - call GBFadeIn2 - ld hl, UnnamedText_5d8ea - call PrintText - jr .asm_b6e28 ; 0x5d8da -.asm_a14c3 ; 0x5d8dc - ld hl, UnnamedText_5d8ef - call PrintText -.asm_b6e28 ; 0x5d8e2 - jp TextScriptEnd - -UnnamedText_5d8e5: ; 5d8e5 (17:58e5) - TX_FAR _UnnamedText_5d8e5 - db "@" - -UnnamedText_5d8ea: ; 5d8ea (17:58ea) - TX_FAR _UnnamedText_5d8ea - db "@" - -UnnamedText_5d8ef: ; 5d8ef (17:58ef) - TX_FAR _UnnamedText_5d8ef - db "@" - -SilphCo9Text2: ; 5d8f4 (17:58f4) - db $08 ; asm - ld hl, SilphCo9TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -SilphCo9Text3: ; 5d8fe (17:58fe) - db $08 ; asm - ld hl, SilphCo9TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -SilphCo9Text4: ; 5d908 (17:5908) - db $08 ; asm - ld hl, SilphCo9TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -SilphCo9BattleText1: ; 5d912 (17:5912) - TX_FAR _SilphCo9BattleText1 - db "@" - -SilphCo9EndBattleText1: ; 5d917 (17:5917) - TX_FAR _SilphCo9EndBattleText1 - db "@" - -SilphCo9AfterBattleText1: ; 5d91c (17:591c) - TX_FAR _SilphCo9AfterBattleText1 - db "@" - -SilphCo9BattleText2: ; 5d921 (17:5921) - TX_FAR _SilphCo9BattleText2 - db "@" - -SilphCo9EndBattleText2: ; 5d926 (17:5926) - TX_FAR _SilphCo9EndBattleText2 - db "@" - -SilphCo9AfterBattleText2: ; 5d92b (17:592b) - TX_FAR _SilphCo9AfterBattleText2 - db "@" - -SilphCo9BattleText3: ; 5d930 (17:5930) - TX_FAR _SilphCo9BattleText3 - db "@" - -SilphCo9EndBattleText3: ; 5d935 (17:5935) - TX_FAR _SilphCo9EndBattleText3 - db "@" - -SilphCo9AfterBattleText3: ; 5d93a (17:593a) - TX_FAR _SilphCo9AfterBattleText3 - db "@" +INCLUDE "scripts/silphco9.asm" INCLUDE "data/mapObjects/silphco9.asm" @@ -72723,114 +49672,7 @@ SilphCo9Blocks: ; 5d989 (17:5989) INCLUDE "data/mapHeaders/victoryroad1.asm" -VictoryRoad1Script: ; 5da0a (17:5a0a) - ld hl, $d126 - bit 5, [hl] - res 5, [hl] - call nz, .next - call EnableAutoTextBoxDrawing - ld hl, VictoryRoad1TrainerHeaders - ld de, VictoryRoad1ScriptPointers - ld a, [W_VICTORYROAD1CURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_VICTORYROAD1CURSCRIPT], a - ret -.next - ld a, [$d869] - bit 7, a - ret z - ld a, $1d - ld [$d09f], a - ld bc, $604 - ld a, $17 - jp Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e)) - -VictoryRoad1ScriptPointers: ; 5da3a (17:5a3a) - dw VictoryRoad1Script0 - dw Func_324c - dw EndTrainerBattle - -VictoryRoad1Script0: ; 5da40 (17:5a40) - ld a, [$d869] - bit 7, a - jp nz, CheckFightingMapTrainers - ld hl, CoordsData_5da5c ; $5a5c - call CheckBoulderCoords - jp nc, CheckFightingMapTrainers - ld hl, $d126 - set 5, [hl] - ld hl, $d869 - set 7, [hl] - ret - -CoordsData_5da5c: ; 5da5c (17:5a5c) - db $0D,$11,$FF - -VictoryRoad1TextPointers: ; 5da5f (17:5a5f) - dw VictoryRoad1Text1 - dw VictoryRoad1Text2 - dw Predef5CText - dw Predef5CText - dw BoulderText - dw BoulderText - dw BoulderText - -VictoryRoad1TrainerHeaders: ; 5da6d (17:5a6d) -VictoryRoad1TrainerHeader0: ; 5da6d (17:5a6d) - db $1 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d869 ; flag's byte - dw VictoryRoad1BattleText1 ; 0x5a9a TextBeforeBattle - dw VictoryRoad1AfterBattleText1 ; 0x5aa4 TextAfterBattle - dw VictoryRoad1EndBattleText1 ; 0x5a9f TextEndBattle - dw VictoryRoad1EndBattleText1 ; 0x5a9f TextEndBattle - -VictoryRoad1TrainerHeader1: ; 5da79 (17:5a79) - db $2 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d869 ; flag's byte - dw VictoryRoad1BattleText2 ; 0x5aa9 TextBeforeBattle - dw VictoryRoad1AfterBattleText2 ; 0x5ab3 TextAfterBattle - dw VictoryRoad1EndBattleText2 ; 0x5aae TextEndBattle - dw VictoryRoad1EndBattleText2 ; 0x5aae TextEndBattle - - db $ff - -VictoryRoad1Text1: ; 5da86 (17:5a86) - db $08 ; asm - ld hl, VictoryRoad1TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -VictoryRoad1Text2: ; 5da90 (17:5a90) - db $08 ; asm - ld hl, VictoryRoad1TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -VictoryRoad1BattleText1: ; 5da9a (17:5a9a) - TX_FAR _VictoryRoad1BattleText1 - db "@" - -VictoryRoad1EndBattleText1: ; 5da9f (17:5a9f) - TX_FAR _VictoryRoad1EndBattleText1 - db "@" - -VictoryRoad1AfterBattleText1: ; 5daa4 (17:5aa4) - TX_FAR _VictoryRoad1AfterBattleText1 - db "@" - -VictoryRoad1BattleText2: ; 5daa9 (17:5aa9) - TX_FAR _VictoryRoad1BattleText2 - db "@" - -VictoryRoad1EndBattleText2: ; 5daae (17:5aae) - TX_FAR _VictoryRoad1EndBattleText2 - db "@" - -VictoryRoad1AfterBattleText2: ; 5dab3 (17:5ab3) - TX_FAR _VictoryRoad1AfterBattleText2 - db "@" +INCLUDE "scripts/victoryroad1.asm" INCLUDE "data/mapObjects/victoryroad1.asm" @@ -73340,35 +50182,7 @@ SSAnne9Blocks: ; 603c0 (18:43c0) INCLUDE "data/mapHeaders/pokemontower1.asm" -PokemonTower1Script: ; 6042c (18:442c) - jp EnableAutoTextBoxDrawing - -PokemonTower1TextPointers: ; 6042f (18:442f) - dw PokemonTower1Text1 - dw PokemonTower1Text2 - dw PokemonTower1Text3 - dw PokemonTower1Text4 - dw PokemonTower1Text5 - -PokemonTower1Text1: ; 60439 (18:4439) - TX_FAR _PokemonTower1Text1 - db "@" - -PokemonTower1Text2: ; 6043e (18:443e) - TX_FAR _PokemonTower1Text2 - db "@" - -PokemonTower1Text3: ; 60443 (18:4443) - TX_FAR _PokemonTower1Text3 - db "@" - -PokemonTower1Text4: ; 60448 (18:4448) - TX_FAR _PokemonTower1Text4 - db "@" - -PokemonTower1Text5: ; 6044d (18:444d) - TX_FAR _PokemonTower1Text5 - db "@" +INCLUDE "scripts/pokemontower1.asm" INCLUDE "data/mapObjects/pokemontower1.asm" @@ -73377,186 +50191,7 @@ PokemonTower1Blocks: ; 6048c (18:448c) INCLUDE "data/mapHeaders/pokemontower2.asm" -PokemonTower2Script: ; 604f2 (18:44f2) - call EnableAutoTextBoxDrawing - ld hl, PokemonTower2ScriptPointers - ld a, [W_POKEMONTOWER2CURSCRIPT] - jp CallFunctionInTable - -Func_604fe: ; 604fe (18:44fe) - xor a - ld [wJoypadForbiddenButtonsMask], a - ld [W_POKEMONTOWER2CURSCRIPT], a - ld [W_CURMAPSCRIPT], a - ret - -PokemonTower2ScriptPointers: ; 60509 (18:4509) - dw PokemonTower2Script0 - dw PokemonTower2Script1 - dw PokemonTower2Script2 - -PokemonTower2Script0: ; 6050f (18:450f) - ld a, [$d764] - bit 7, a - ret nz - ld hl, CoordsData_6055e ; $455e - call ArePlayerCoordsInArray - ret nc - ld a, $ff - ld [$c0ee], a - call PlaySound - ld c, BANK(Music_MeetRival) - ld a, MUSIC_MEET_RIVAL - call PlayMusic - ld hl, $d764 - res 6, [hl] - ld a, [$cd3d] - cp $1 - ld a, $8 - ld b, $0 - jr nz, .asm_60544 ; 0x60539 $9 - ld hl, $d764 - set 6, [hl] - ld a, $2 - ld b, $c -.asm_60544 - ld [$d528], a - ld a, $1 - ld [$ff8c], a - ld a, b - ld [$ff8d], a - call Func_34a6 - ld a, $1 - ld [$ff8c], a - call DisplayTextID - xor a - ld [H_CURRENTPRESSEDBUTTONS], a - ld [H_NEWLYPRESSEDBUTTONS], a - ret - -CoordsData_6055e: ; 6055e (18:455e) - db $05,$0F - db $06,$0E - db $0F ; isn't this supposed to end in $ff? - -PokemonTower2Script1: ; 60563 (18:4563) - ld a, [$d057] - cp $ff - jp z, Func_604fe - ld a, $f0 - ld [wJoypadForbiddenButtonsMask], a - ld hl, $d764 - set 7, [hl] - ld a, $1 - ld [$ff8c], a - call DisplayTextID - ld de, MovementData_605b2 - ld a, [$d764] - bit 6, a - jr nz, .asm_60589 ; 0x60584 $3 - ld de, MovementData_605a9 -.asm_60589 - ld a, $1 - ld [$ff8c], a - call MoveSprite - ld a, $ff - ld [$c0ee], a - call PlaySound - ld b, BANK(Music_RivalAlternateStart) - ld hl, Music_RivalAlternateStart - call Bankswitch - ld a, $2 - ld [W_POKEMONTOWER2CURSCRIPT], a - ld [W_CURMAPSCRIPT], a - ret - -MovementData_605a9: ; 605a9 (18:45a9) - db $C0,$00,$00,$C0,$00,$00,$C0,$C0,$FF - -MovementData_605b2: ; 605b2 (18:45b2) - db $00,$00,$C0,$C0,$C0,$C0,$00,$00,$FF - -PokemonTower2Script2: ; 605bb (18:45bb) - ld a, [$d730] - bit 0, a - ret nz - ld a, $38 - ld [$cc4d], a - ld a, $11 - call Predef - xor a - ld [wJoypadForbiddenButtonsMask], a - call Func_2307 - ld a, $0 - ld [W_POKEMONTOWER2CURSCRIPT], a - ld [W_CURMAPSCRIPT], a - ret - -PokemonTower2TextPointers: ; 605db (18:45db) - dw PokemonTower2Text1 - dw PokemonTower2Text2 - -PokemonTower2Text1: ; 605df (18:45df) - db $08 ; asm - ld a, [$d764] - bit 7, a - jr z, .asm_16f24 ; 0x605e5 - ld hl, UnnamedText_6063c - call PrintText - jr .asm_41852 ; 0x605ed -.asm_16f24 ; 0x605ef - ld hl, UnnamedText_6062d - call PrintText - ld hl, $d72d - set 6, [hl] - set 7, [hl] - ld hl, UnnamedText_60632 - ld de, UnnamedText_60637 ; XXX $4637 - call PreBattleSaveRegisters - ld a, SONY2 + $c8 - ld [W_CUROPPONENT], a - - ; select which team to use during the encounter - ld a, [W_RIVALSTARTER] - cp SQUIRTLE - jr nz, .NotSquirtle ; 0x6060f - ld a, $4 - jr .done -.NotSquirtle ; 0x60615 - cp BULBASAUR - jr nz, .Charmander ; 0x60617 - ld a, $5 - jr .done -.Charmander ; 0x6061d - ld a, $6 -.done - ld [W_TRAINERNO], a - - ld a, $1 - ld [W_POKEMONTOWER2CURSCRIPT], a - ld [W_CURMAPSCRIPT], a -.asm_41852 ; 0x6062a - jp TextScriptEnd - -UnnamedText_6062d: ; 6062d (18:462d) - TX_FAR _UnnamedText_6062d - db "@" - -UnnamedText_60632: ; 60632 (18:4632) - TX_FAR _UnnamedText_60632 - db "@" - -UnnamedText_60637: ; 60637 (18:4637) - TX_FAR _UnnamedText_60637 - db "@" - -UnnamedText_6063c: ; 6063c (18:463c) - TX_FAR _UnnamedText_6063c - db "@" - -PokemonTower2Text2: ; 60641 (18:4641) - TX_FAR _PokemonTower2Text2 - db "@" +INCLUDE "scripts/pokemontower2.asm" INCLUDE "data/mapObjects/pokemontower2.asm" @@ -73565,108 +50200,7 @@ PokemonTower2Blocks: ; 60666 (18:4666) INCLUDE "data/mapHeaders/pokemontower3.asm" -PokemonTower3Script: ; 606cc (18:46cc) - call EnableAutoTextBoxDrawing - ld hl, PokemonTower3TrainerHeaders - ld de, PokemonTower3ScriptPointers - ld a, [W_POKEMONTOWER3CURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_POKEMONTOWER3CURSCRIPT], a - ret - -PokemonTower3ScriptPointers: ; 606df (18:46df) - dw CheckFightingMapTrainers - dw Func_324c - dw EndTrainerBattle - -PokemonTower3TextPointers: ; 606e5 (18:46e5) - dw PokemonTower3Text1 - dw PokemonTower3Text2 - dw PokemonTower3Text3 - dw Predef5CText - -PokemonTower3TrainerHeaders: ; 606ed (18:46ed) -PokemonTower3TrainerHeader0: ; 606ed (18:46ed) - db $1 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d765 ; flag's byte - dw PokemonTower3BattleText1 ; 0x4730 TextBeforeBattle - dw PokemonTower3AfterBattleText1 ; 0x473a TextAfterBattle - dw PokemonTower3EndBattleText1 ; 0x4735 TextEndBattle - dw PokemonTower3EndBattleText1 ; 0x4735 TextEndBattle - -PokemonTower3TrainerHeader1: ; 606f9 (18:46f9) - db $2 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d765 ; flag's byte - dw PokemonTower3BattleText2 ; 0x473f TextBeforeBattle - dw PokemonTower3AfterBattleText2 ; 0x4749 TextAfterBattle - dw PokemonTower3EndBattleText2 ; 0x4744 TextEndBattle - dw PokemonTower3EndBattleText2 ; 0x4744 TextEndBattle - -PokemonTower3TrainerHeader2: ; 60705 (18:4705) - db $3 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d765 ; flag's byte - dw PokemonTower3BattleText3 ; 0x474e TextBeforeBattle - dw PokemonTower3AfterBattleText3 ; 0x4758 TextAfterBattle - dw PokemonTower3EndBattleText3 ; 0x4753 TextEndBattle - dw PokemonTower3EndBattleText3 ; 0x4753 TextEndBattle - db $ff - -PokemonTower3Text1: ; 60712 (18:4712) - db $08 ; asm - ld hl, PokemonTower3TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -PokemonTower3Text2: ; 6071c (18:471c) - db $08 ; asm - ld hl, PokemonTower3TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -PokemonTower3Text3: ; 60726 (18:4726) - db $08 ; asm - ld hl, PokemonTower3TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -PokemonTower3BattleText1: ; 60730 (18:4730) - TX_FAR _PokemonTower3BattleText1 - db "@" - -PokemonTower3EndBattleText1: ; 60735 (18:4735) - TX_FAR _PokemonTower3EndBattleText1 - db "@" - -PokemonTower3AfterBattleText1: ; 6073a (18:473a) - TX_FAR _PokemonTower3AfterBattleText1 - db "@" - -PokemonTower3BattleText2: ; 6073f (18:473f) - TX_FAR _PokemonTower3BattleText2 - db "@" - -PokemonTower3EndBattleText2: ; 60744 (18:4744) - TX_FAR _PokemonTower3EndBattleText2 - db "@" - -PokemonTower3AfterBattleText2: ; 60749 (18:4749) - TX_FAR _PokemonTower3AfterBattleText2 - db "@" - -PokemonTower3BattleText3: ; 6074e (18:474e) - TX_FAR _PokemonTower3BattleText3 - db "@" - -PokemonTower3EndBattleText3: ; 60753 (18:4753) - TX_FAR _PokemonTower3EndBattleText3 - db "@" - -PokemonTower3AfterBattleText3: ; 60758 (18:4758) - TX_FAR _PokemonTower3AfterBattleText3 - db "@" +INCLUDE "scripts/pokemontower3.asm" INCLUDE "data/mapObjects/pokemontower3.asm" @@ -73675,111 +50209,7 @@ PokemonTower3Blocks: ; 60790 (18:4790) INCLUDE "data/mapHeaders/pokemontower4.asm" -PokemonTower4Script: ; 607f6 (18:47f6) - call EnableAutoTextBoxDrawing - ld hl, PokemonTower4TrainerHeaders - ld de, PokemonTower4ScriptPointers - ld a, [W_POKEMONTOWER4CURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_POKEMONTOWER4CURSCRIPT], a - ret - -PokemonTower4ScriptPointers: ; 60809 (18:4809) - dw CheckFightingMapTrainers - dw Func_324c - dw EndTrainerBattle - -PokemonTower4TextPointers: ; 6080f (18:480f) - dw PokemonTower4Text1 - dw PokemonTower4Text2 - dw PokemonTower4Text3 - dw Predef5CText - dw Predef5CText - dw Predef5CText - -PokemonTower4TrainerHeaders: ; 6081b (18:481b) -PokemonTower4TrainerHeader0: ; 6081b (18:481b) - db $1 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d766 ; flag's byte - dw PokemonTower4BattleText1 ; 0x485e TextBeforeBattle - dw PokemonTower4AfterBattleText1 ; 0x4868 TextAfterBattle - dw PokemonTower4EndBattleText1 ; 0x4863 TextEndBattle - dw PokemonTower4EndBattleText1 ; 0x4863 TextEndBattle - -PokemonTower4TrainerHeader1: ; 60827 (18:4827) - db $2 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d766 ; flag's byte - dw PokemonTower4BattleText2 ; 0x486d TextBeforeBattle - dw PokemonTower4AfterBattleText2 ; 0x4877 TextAfterBattle - dw PokemonTower4EndBattleText2 ; 0x4872 TextEndBattle - dw PokemonTower4EndBattleText2 ; 0x4872 TextEndBattle - -PokemonTower4TrainerHeader2: ; 60833 (18:4833) - db $3 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d766 ; flag's byte - dw PokemonTower4BattleText3 ; 0x487c TextBeforeBattle - dw PokemonTower4AfterBattleText3 ; 0x4886 TextAfterBattle - dw PokemonTower4EndBattleText3 ; 0x4881 TextEndBattle - dw PokemonTower4EndBattleText3 ; 0x4881 TextEndBattle - - db $ff - -PokemonTower4Text1: ; 60840 (18:4840) - db $08 ; asm - ld hl, PokemonTower4TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -PokemonTower4Text2: ; 6084a (18:484a) - db $08 ; asm - ld hl, PokemonTower4TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -PokemonTower4Text3: ; 60854 (18:4854) - db $08 ; asm - ld hl, PokemonTower4TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -PokemonTower4BattleText1: ; 6085e (18:485e) - TX_FAR _PokemonTower4BattleText1 - db "@" - -PokemonTower4EndBattleText1: ; 60863 (18:4863) - TX_FAR _PokemonTower4EndBattleText1 - db "@" - -PokemonTower4AfterBattleText1: ; 60868 (18:4868) - TX_FAR _PokemonTower4AfterBattleText1 - db "@" - -PokemonTower4BattleText2: ; 6086d (18:486d) - TX_FAR _PokemonTower4BattleText2 - db "@" - -PokemonTower4EndBattleText2: ; 60872 (18:4872) - TX_FAR _PokemonTower4EndBattleText2 - db "@" - -PokemonTower4AfterBattleText2: ; 60877 (18:4877) - TX_FAR _PokemonTower4AfterBattleText2 - db "@" - -PokemonTower4BattleText3: ; 6087c (18:487c) - TX_FAR _PokemonTower4BattleText3 - db "@" - -PokemonTower4EndBattleText3: ; 60881 (18:4881) - TX_FAR _PokemonTower4EndBattleText3 - db "@" - -PokemonTower4AfterBattleText3: ; 60886 (18:4886) - TX_FAR _PokemonTower4AfterBattleText3 - db "@" +INCLUDE "scripts/pokemontower4.asm" INCLUDE "data/mapObjects/pokemontower4.asm" @@ -73788,187 +50218,7 @@ PokemonTower4Blocks: ; 608cc (18:48cc) INCLUDE "data/mapHeaders/pokemontower5.asm" -PokemonTower5Script: ; 60932 (18:4932) - call EnableAutoTextBoxDrawing - ld hl, PokemonTower5TrainerHeaders - ld de, PokemonTower5ScriptPointers - ld a, [W_POKEMONTOWER5CURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_POKEMONTOWER5CURSCRIPT], a - ret - -PokemonTower5ScriptPointers: ; 60945 (18:4945) - dw PokemonTower5Script0 - dw Func_324c - dw EndTrainerBattle - -PokemonTower5Script0: ; 6094b (18:494b) - ld hl, CoordsData_60992 ; $4992 - call ArePlayerCoordsInArray - jr c, .asm_60960 - ld hl, $d72e - res 4, [hl] - ld hl, $d767 - res 7, [hl] - jp CheckFightingMapTrainers -.asm_60960 - ld hl, $d767 - bit 7, [hl] - set 7, [hl] - ret nz - xor a - ld [H_CURRENTPRESSEDBUTTONS], a - ld a, $f0 - ld [wJoypadForbiddenButtonsMask], a - ld hl, $d72e - set 4, [hl] - ld a, $7 - call Predef ; indirect jump to HealParty (f6a5 (3:76a5)) - call GBFadeOut2 - call Delay3 - call Delay3 - call GBFadeIn2 - ld a, $7 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - call DisplayTextID - xor a - ld [wJoypadForbiddenButtonsMask], a - ret - -CoordsData_60992: ; 60992 (18:4992) - db $08,$0A - db $08,$0B - db $09,$0A - db $09,$0B - db $FF - -PokemonTower5TextPointers: ; 6099b (18:499b) - dw PokemonTower5Text1 - dw PokemonTower5Text2 - dw PokemonTower5Text3 - dw PokemonTower5Text4 - dw PokemonTower5Text5 - dw Predef5CText - dw PokemonTower5Text7 - -PokemonTower5TrainerHeaders: ; 609a9 (18:49a9) -PokemonTower5TrainerHeader0: ; 609a9 (18:49a9) - db $2 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d767 ; flag's byte - dw PokemonTower5BattleText1 ; 0x49e9 TextBeforeBattle - dw PokemonTower5AfterBattleText1 ; 0x49f3 TextAfterBattle - dw PokemonTower5EndBattleText1 ; 0x49ee TextEndBattle - dw PokemonTower5EndBattleText1 ; 0x49ee TextEndBattle - -PokemonTower5TrainerHeader1: ; 609b5 (18:49b5) - db $3 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d767 ; flag's byte - dw PokemonTower5BattleText2 ; 0x4a02 TextBeforeBattle - dw PokemonTower5AfterBattleText2 ; 0x4a0c TextAfterBattle - dw PokemonTower5EndBattleText2 ; 0x4a07 TextEndBattle - dw PokemonTower5EndBattleText2 ; 0x4a07 TextEndBattle - -PokemonTower5TrainerHeader2: ; 609c1 (18:49c1) - db $4 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d767 ; flag's byte - dw PokemonTower5BattleText3 ; 0x4a1b TextBeforeBattle - dw PokemonTower5AfterBattleText3 ; 0x4a25 TextAfterBattle - dw PokemonTower5EndBattleText3 ; 0x4a20 TextEndBattle - dw PokemonTower5EndBattleText3 ; 0x4a20 TextEndBattle - -PokemonTower5TrainerHeader3: ; 609cd (18:49cd) - db $5 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d767 ; flag's byte - dw PokemonTower5BattleText4 ; 0x4a34 TextBeforeBattle - dw PokemonTower5AfterBattleText4 ; 0x4a3e TextAfterBattle - dw PokemonTower5EndBattleText4 ; 0x4a39 TextEndBattle - dw PokemonTower5EndBattleText4 ; 0x4a39 TextEndBattle - - db $ff - -PokemonTower5Text1: ; 609da (18:49da) - TX_FAR _PokemonTower5Text1 - db "@" - -PokemonTower5Text2: ; 609df (18:49df) - db $08 ; asm - ld hl, PokemonTower5TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -PokemonTower5BattleText1: ; 609e9 (18:49e9) - TX_FAR _PokemonTower5BattleText1 - db "@" - -PokemonTower5EndBattleText1: ; 609ee (18:49ee) - TX_FAR _PokemonTower5EndBattleText1 - db "@" - -PokemonTower5AfterBattleText1: ; 609f3 (18:49f3) - TX_FAR _PokemonTower5AfterBattleText1 - db "@" - -PokemonTower5Text3: ; 609f8 (18:49f8) - db $08 ; asm - ld hl, PokemonTower5TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -PokemonTower5BattleText2: ; 60a02 (18:4a02) - TX_FAR _PokemonTower5BattleText2 - db "@" - -PokemonTower5EndBattleText2: ; 60a07 (18:4a07) - TX_FAR _PokemonTower5EndBattleText2 - db "@" - -PokemonTower5AfterBattleText2: ; 60a0c (18:4a0c) - TX_FAR _PokemonTower5AfterBattleText2 - db "@" - -PokemonTower5Text4: ; 60a11 (18:4a11) - db $08 ; asm - ld hl, PokemonTower5TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -PokemonTower5BattleText3: ; 60a1b (18:4a1b) - TX_FAR _PokemonTower5BattleText3 - db "@" - -PokemonTower5EndBattleText3: ; 60a20 (18:4a20) - TX_FAR _PokemonTower5EndBattleText3 - db "@" - -PokemonTower5AfterBattleText3: ; 60a25 (18:4a25) - TX_FAR _PokemonTower5AfterBattleText3 - db "@" - -PokemonTower5Text5: ; 60a2a (18:4a2a) - db $08 ; asm - ld hl, PokemonTower5TrainerHeader3 ; $49cd - call TalkToTrainer - jp TextScriptEnd - -PokemonTower5BattleText4: ; 60a34 (18:4a34) - TX_FAR _PokemonTower5BattleText4 - db "@" - -PokemonTower5EndBattleText4: ; 60a39 (18:4a39) - TX_FAR _PokemonTower5EndBattleText4 - db "@" - -PokemonTower5AfterBattleText4: ; 60a3e (18:4a3e) - TX_FAR _PokemonTower5AfterBattleText4 - db "@" - -PokemonTower5Text7: ; 60a43 (18:4a43) - TX_FAR _UnnamedText_60a43 - db "@" +INCLUDE "scripts/pokemontower5.asm" INCLUDE "data/mapObjects/pokemontower5.asm" @@ -73977,221 +50227,7 @@ PokemonTower5Blocks: ; 60a89 (18:4a89) INCLUDE "data/mapHeaders/pokemontower6.asm" -PokemonTower6Script: ; 60aef (18:4aef) - call EnableAutoTextBoxDrawing - ld hl, PokemonTower6TrainerHeaders - ld de, PokemonTower6ScriptPointers - ld a, [W_POKEMONTOWER6CURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_POKEMONTOWER6CURSCRIPT], a - ret - -Func_60b02: ; 60b02 (18:4b02) - xor a - ld [wJoypadForbiddenButtonsMask], a - ld [W_POKEMONTOWER6CURSCRIPT], a - ld [W_CURMAPSCRIPT], a - ret - -PokemonTower6ScriptPointers: ; 60b0d (18:4b0d) - dw PokemonTower6Script0 - dw Func_324c - dw EndTrainerBattle - dw PokemonTower6Script3 - dw PokemonTower6Script4 - -PokemonTower6Script0: ; 60b17 (18:4b17) - ld a, [$d768] - bit 7, a - jp nz, CheckFightingMapTrainers - ld hl, CoordsData_60b45 ; $4b45 - call ArePlayerCoordsInArray - jp nc, CheckFightingMapTrainers - xor a - ld [H_CURRENTPRESSEDBUTTONS], a - ld a, $6 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - call DisplayTextID - ld a, MAROWAK - ld [W_CUROPPONENT], a ; $d059 - ld a, 30 - ld [W_CURENEMYLVL], a ; $d127 - ld a, $4 - ld [W_POKEMONTOWER6CURSCRIPT], a - ld [W_CURMAPSCRIPT], a - ret - -CoordsData_60b45: ; 60b45 (18:4b45) - db $10,$0A,$FF - -PokemonTower6Script4: ; 60b48 (18:4b48) - ld a, [W_ISINBATTLE] ; $d057 - cp $ff - jp z, Func_60b02 - ld a, $ff - ld [wJoypadForbiddenButtonsMask], a - ld a, [$d72d] - bit 6, a - ret nz - call UpdateSprites - ld a, $f0 - ld [wJoypadForbiddenButtonsMask], a - ld a, [$cf0b] - and a - jr nz, .asm_60b82 - ld hl, $d768 - set 7, [hl] - ld a, $7 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - call DisplayTextID - xor a - ld [wJoypadForbiddenButtonsMask], a - ld a, $0 - ld [W_POKEMONTOWER6CURSCRIPT], a - ld [W_CURMAPSCRIPT], a - ret -.asm_60b82 - ld a, $1 - ld [$cd38], a - ld a, $10 - ld [$ccd3], a - xor a - ld [$c206], a - ld [$cd3b], a - ld hl, $d730 - set 7, [hl] - ld a, $3 - ld [W_POKEMONTOWER6CURSCRIPT], a - ld [W_CURMAPSCRIPT], a - ret - -PokemonTower6Script3: ; 60ba1 (18:4ba1) - ld a, [$cd38] - and a - ret nz - call Delay3 - xor a - ld [W_POKEMONTOWER6CURSCRIPT], a - ld [W_CURMAPSCRIPT], a - ret - -PokemonTower6TextPointers: ; 60bb1 (18:4bb1) - dw PokemonTower6Text1 - dw PokemonTower6Text2 - dw PokemonTower6Text3 - dw Predef5CText - dw Predef5CText - dw PokemonTower6Text6 - dw PokemonTower6Text7 - -PokemonTower6TrainerHeaders: ; 60bbf (18:4bbf) -PokemonTower6TrainerHeader0: ; 60bbf (18:4bbf) - db $1 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d768 ; flag's byte - dw PokemonTower6BattleText1 ; 0x4c29 TextBeforeBattle - dw PokemonTower6AfterBattleText1 ; 0x4c33 TextAfterBattle - dw PokemonTower6EndBattleText1 ; 0x4c2e TextEndBattle - dw PokemonTower6EndBattleText1 ; 0x4c2e TextEndBattle - -PokemonTower6TrainerHeader1: ; 60bcb (18:4bcb) - db $2 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d768 ; flag's byte - dw PokemonTower6BattleText2 ; 0x4c38 TextBeforeBattle - dw PokemonTower6AfterBattleText2 ; 0x4c42 TextAfterBattle - dw PokemonTower6EndBattleText2 ; 0x4c3d TextEndBattle - dw PokemonTower6EndBattleText2 ; 0x4c3d TextEndBattle - -PokemonTower6TrainerHeader2: ; 60bd7 (18:4bd7) - db $3 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d768 ; flag's byte - dw PokemonTower6BattleText3 ; 0x4c47 TextBeforeBattle - dw PokemonTower6AfterBattleText3 ; 0x4c51 TextAfterBattle - dw PokemonTower6EndBattleText3 ; 0x4c4c TextEndBattle - dw PokemonTower6EndBattleText3 ; 0x4c4c TextEndBattle - - db $ff - -PokemonTower6Text1: ; 60be4 (18:4be4) - db $08 ; asm - ld hl, PokemonTower6TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -PokemonTower6Text2: ; 60bee (18:4bee) - db $08 ; asm - ld hl, PokemonTower6TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -PokemonTower6Text3: ; 60bf8 (18:4bf8) - db $08 ; asm - ld hl, PokemonTower6TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -PokemonTower6Text7: ; 60c02 (18:4c02) - db $8 - ld hl, UnnamedText_60c1f - call PrintText - ld a, MAROWAK - call PlayCry - call WaitForSoundToFinish - ld c, $1e - call DelayFrames - ld hl, UnnamedText_60c24 - call PrintText - jp TextScriptEnd - -UnnamedText_60c1f: ; 60c1f (18:4c1f) - TX_FAR _UnnamedText_60c1f - db "@" - -UnnamedText_60c24: ; 60c24 (18:4c24) - TX_FAR _UnnamedText_60c24 - db "@" - -PokemonTower6BattleText1: ; 60c29 (18:4c29) - TX_FAR _PokemonTower6BattleText1 - db "@" - -PokemonTower6EndBattleText1: ; 60c2e (18:4c2e) - TX_FAR _PokemonTower6EndBattleText1 - db "@" - -PokemonTower6AfterBattleText1: ; 60c33 (18:4c33) - TX_FAR _PokemonTower6AfterBattleText1 - db "@" - -PokemonTower6BattleText2: ; 60c38 (18:4c38) - TX_FAR _PokemonTower6BattleText2 - db "@" - -PokemonTower6EndBattleText2: ; 60c3d (18:4c3d) - TX_FAR _PokemonTower6EndBattleText2 - db "@" - -PokemonTower6AfterBattleText2: ; 60c42 (18:4c42) - TX_FAR _PokemonTower6AfterBattleText2 - db "@" - -PokemonTower6BattleText3: ; 60c47 (18:4c47) - TX_FAR _PokemonTower6BattleText3 - db "@" - -PokemonTower6EndBattleText3: ; 60c4c (18:4c4c) - TX_FAR _PokemonTower6EndBattleText3 - db "@" - -PokemonTower6AfterBattleText3: ; 60c51 (18:4c51) - TX_FAR _PokemonTower6AfterBattleText3 - db "@" - -PokemonTower6Text6: ; 60c56 (18:4c56) - TX_FAR _UnnamedText_60c56 - db "@" +INCLUDE "scripts/pokemontower6.asm" INCLUDE "data/mapObjects/pokemontower6.asm" @@ -74202,288 +50238,7 @@ PokemonTower6Blocks: ; 60c95 (18:4c95) INCLUDE "data/mapHeaders/pokemontower7.asm" -PokemonTower7Script: ; 60d05 (18:4d05) - call EnableAutoTextBoxDrawing - ld hl, PokemonTower7TrainerHeaders - ld de, PokemonTower7ScriptPointers - ld a, [W_POKEMONTOWER7CURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_POKEMONTOWER7CURSCRIPT], a - ret - -Func_60d18: ; 60d18 (18:4d18) - xor a - ld [wJoypadForbiddenButtonsMask], a - ld [W_POKEMONTOWER7CURSCRIPT], a - ld [W_CURMAPSCRIPT], a - ret - -PokemonTower7ScriptPointers: ; 60d23 (18:4d23) - dw CheckFightingMapTrainers - dw Func_324c - dw PokemonTower7Script2 - dw PokemonTower7Script3 - dw PokemonTower7Script4 - -PokemonTower7Script2: ; 60d23 (18:4d23) - ld hl, wFlags_0xcd60 - res 0, [hl] - ld a, [W_ISINBATTLE] ; $d057 - cp $ff - jp z, Func_60d18 - call EndTrainerBattle - ld a, $f0 - ld [wJoypadForbiddenButtonsMask], a - ld a, [$cf13] - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - call DisplayTextID - call Func_60db6 - ld a, $3 - ld [W_POKEMONTOWER7CURSCRIPT], a - ld [W_CURMAPSCRIPT], a - ret - -PokemonTower7Script3: ; 60d56 (18:4d56) - ld a, [$d730] - bit 0, a - ret nz - ld hl, W_MISSABLEOBJECTLIST - ld a, [$cf13] - ld b, a -.missableObjectsListLoop - ld a, [hli] - cp b ; search for sprite ID in missing objects list - ld a, [hli] - jr nz, .missableObjectsListLoop - ld [$cc4d], a ; remove missable object - ld a, $11 - call Predef ; indirect jump to RemoveMissableObject (f1d7 (3:71d7)) - xor a - ld [wJoypadForbiddenButtonsMask], a - ld [$cf13], a - ld [wTrainerHeaderFlagBit], a - ld [$da38], a - ld a, $0 - ld [W_POKEMONTOWER7CURSCRIPT], a - ld [W_CURMAPSCRIPT], a - ret - -PokemonTower7Script4: ; 60d86 (18:4d86) - ld a, $ff - ld [wJoypadForbiddenButtonsMask], a - ld a, $43 - ld [$cc4d], a - ld a, $11 - call Predef ; indirect jump to RemoveMissableObject (f1d7 (3:71d7)) - ld a, $4 - ld [$c109], a - ld a, $95 - ld [H_DOWNARROWBLINKCNT1], a ; $ff8b - ld a, $1 - ld [$d42f], a - ld a, $4 - ld [$d365], a - ld hl, $d72d - set 3, [hl] - ld a, $0 - ld [W_POKEMONTOWER7CURSCRIPT], a - ld [W_CURMAPSCRIPT], a - ret - -Func_60db6: ; 60db6 (18:4db6) - ld hl, CoordsData_60de3 ; $4de3 - ld a, [$cf13] - dec a - swap a - ld d, $0 - ld e, a - add hl, de - ld a, [W_YCOORD] ; $d361 - ld b, a - ld a, [W_XCOORD] ; $d362 - ld c, a -.asm_60dcb - ld a, [hli] - cp b - jr nz, .asm_60dde - ld a, [hli] - cp c - jr nz, .asm_60ddf - ld a, [hli] - ld d, [hl] - ld e, a - ld a, [$cf13] - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - jp MoveSprite -.asm_60dde - inc hl -.asm_60ddf - inc hl - inc hl - jr .asm_60dcb - -CoordsData_60de3: ; 60de3 (18:4de3) - db $0C,$09 - dw MovementData_60e13 - db $0B,$0A - dw MovementData_60e1b - db $0B,$0B - dw MovementData_60e22 - db $0B,$0C - dw MovementData_60e22 - db $0A,$0C - dw MovementData_60e28 - db $09,$0B - dw MovementData_60e30 - db $09,$0A - dw MovementData_60e22 - db $09,$09 - dw MovementData_60e22 - db $08,$09 - dw MovementData_60e37 - db $07,$0A - dw MovementData_60e22 - db $07,$0B - dw MovementData_60e22 - db $07,$0C - dw MovementData_60e22 - -MovementData_60e13: ; 60e13 - db $C0,$00,$00,$00,$00,$00,$80,$FF - -MovementData_60e1b: ; 60e1b - db $00,$C0,$00,$00,$00,$00,$FF - -MovementData_60e22: ; 60e22 - db $00,$00,$00,$00,$00,$FF - -MovementData_60e28: ; 60e28 - db $80,$00,$00,$00,$00,$00,$00,$FF - -MovementData_60e30: ; 60e30 - db $00,$00,$00,$80,$00,$00,$FF - -MovementData_60e37: ; 60e37 - db $C0,$00,$00,$00,$00,$00,$00,$FF - -PokemonTower7TextPointers: ; 60e3f (18:4e3f) - dw PokemonTower7Text1 - dw PokemonTower7Text2 - dw PokemonTower7Text3 - dw PokemonTower7Text4 - -PokemonTower7TrainerHeaders: ; 60e47 (18:4e47) -PokemonTower7TrainerHeader0: ; 60e47 (18:4e47) - db $1 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d769 ; flag's byte - dw PokemonTower7BattleText1 ; 0x4ec9 TextBeforeBattle - dw PokemonTower7AfterBattleText1 ; 0x4ed3 TextAfterBattle - dw PokemonTower7EndBattleText1 ; 0x4ece TextEndBattle - dw PokemonTower7EndBattleText1 ; 0x4ece TextEndBattle - -PokemonTower7TrainerHeader1: ; 60e53 (18:4e53) - db $2 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d769 ; flag's byte - dw PokemonTower7BattleText2 ; 0x4ed8 TextBeforeBattle - dw PokemonTower7AfterBattleText2 ; 0x4ee2 TextAfterBattle - dw PokemonTower7EndBattleText2 ; 0x4edd TextEndBattle - dw PokemonTower7EndBattleText2 ; 0x4edd TextEndBattle - -PokemonTower7TrainerHeader2: ; 60e5f (18:4e5f) - db $3 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d769 ; flag's byte - dw PokemonTower7BattleText3 ; 0x4ee7 TextBeforeBattle - dw PokemonTower7AfterBattleText3 ; 0x4ef1 TextAfterBattle - dw PokemonTower7EndBattleText3 ; 0x4eec TextEndBattle - dw PokemonTower7EndBattleText3 ; 0x4eec TextEndBattle - - db $ff - -PokemonTower7Text1: ; 60e6c (18:4e6c) - db $08 ; asm - ld hl, PokemonTower7TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -PokemonTower7Text2: ; 60e76 (18:4e76) - db $08 ; asm - ld hl, PokemonTower7TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -PokemonTower7Text3: ; 60e80 (18:4e80) - db $08 ; asm - ld hl, PokemonTower7TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -PokemonTower7Text4: ; 60e8a (18:4e8a) - db $08 ; asm - ld hl, UnnamedText_60ec4 - call PrintText - ld hl, $d7e0 - set 7, [hl] - ld hl, $d769 - set 7, [hl] - ld a, $44 - ld [$cc4d], a - ld a, $15 - call Predef - ld a, $17 - ld [$cc4d], a - ld a, $11 - call Predef - ld a, $18 - ld [$cc4d], a - ld a, $15 - call Predef - ld a, $4 - ld [W_POKEMONTOWER7CURSCRIPT], a - ld [W_CURMAPSCRIPT], a - jp TextScriptEnd - -UnnamedText_60ec4: ; 60ec4 (18:4ec4) - TX_FAR _UnnamedText_60ec4 - db "@" - -PokemonTower7BattleText1: ; 60ec9 (18:4ec9) - TX_FAR _PokemonTower7BattleText1 - db "@" - -PokemonTower7EndBattleText1: ; 60ece (18:4ece) - TX_FAR _PokemonTower7EndBattleText1 - db "@" - -PokemonTower7AfterBattleText1: ; 60ed3 (18:4ed3) - TX_FAR _PokemonTower7AfterBattleText1 - db "@" - -PokemonTower7BattleText2: ; 60ed8 (18:4ed8) - TX_FAR _PokemonTower7BattleText2 - db "@" - -PokemonTower7EndBattleText2: ; 60edd (18:4edd) - TX_FAR _PokemonTower7EndBattleText2 - db "@" - -PokemonTower7AfterBattleText2: ; 60ee2 (18:4ee2) - TX_FAR _PokemonTower7AfterBattleText2 - db "@" - -PokemonTower7BattleText3: ; 60ee7 (18:4ee7) - TX_FAR _PokemonTower7BattleText3 - db "@" - -PokemonTower7EndBattleText3: ; 60eec (18:4eec) - TX_FAR _PokemonTower7EndBattleText3 - db "@" - -PokemonTower7AfterBattleText3: ; 60ef1 (18:4ef1) - TX_FAR _PokemonTower7AfterBattleText3 - db "@" +INCLUDE "scripts/pokemontower7.asm" INCLUDE "data/mapObjects/pokemontower7.asm" @@ -74492,25 +50247,7 @@ PokemonTower7Blocks: ; 60f20 (18:4f20) INCLUDE "data/mapHeaders/celadonmart1.asm" -CeladonMart1Script: ; 60f86 (18:4f86) - jp EnableAutoTextBoxDrawing - -CeladonMart1TextPointers: ; 60f89 (18:4f89) - dw CeladonMart1Text1 - dw CeladonMart1Text2 - dw CeladonMart1Text3 - -CeladonMart1Text1: ; 60f8f (18:4f8f) - TX_FAR _CeladonMart1Text1 - db "@" - -CeladonMart1Text2: ; 60f94 (18:4f94) - TX_FAR _CeladonMart1Text2 - db "@" - -CeladonMart1Text3: ; 60f99 (18:4f99) - TX_FAR _CeladonMart1Text3 - db "@" +INCLUDE "scripts/celadonmart1.asm" INCLUDE "data/mapObjects/celadonmart1.asm" @@ -74571,44 +50308,44 @@ GiveFossilToCinnabarLab: ; 61006 (18:5006) ld a, b ld [W_FOSSILMON], a call LoadFossilItemAndMonName - ld hl, UnnamedText_610ae + ld hl, LabFossil_610ae call PrintText call YesNoChoice ld a, [wCurrentMenuItem] ; $cc26 and a jr nz, .asm_610a7 - ld hl, UnnamedText_610b3 + ld hl, LabFossil_610b3 call PrintText ld a, [W_FOSSILITEM] ld [$ffdb], a ld b, BANK(RemoveItemByID) ld hl, RemoveItemByID call Bankswitch - ld hl, UnnamedText_610b8 + ld hl, LabFossil_610b8 call PrintText ld hl, $d7a3 set 0, [hl] set 1, [hl] ret .asm_610a7 - ld hl, UnnamedText_610bd + ld hl, LabFossil_610bd call PrintText ret -UnnamedText_610ae: ; 610ae (18:50ae) - TX_FAR _UnnamedText_610ae +LabFossil_610ae: ; 610ae (18:50ae) + TX_FAR _Lab4Text_610ae db "@" -UnnamedText_610b3: ; 610b3 (18:50b3) - TX_FAR _UnnamedText_610b3 +LabFossil_610b3: ; 610b3 (18:50b3) + TX_FAR _Lab4Text_610b3 db "@" -UnnamedText_610b8: ; 610b8 (18:50b8) - TX_FAR _UnnamedText_610b8 +LabFossil_610b8: ; 610b8 (18:50b8) + TX_FAR _Lab4Text_610b8 db "@" -UnnamedText_610bd: ; 610bd (18:50bd) - TX_FAR _UnnamedText_610bd +LabFossil_610bd: ; 610bd (18:50bd) + TX_FAR _Lab4Text_610bd db "@" Func_610c2: ; 610c2 (18:50c2) @@ -74647,171 +50384,13 @@ LoadFossilItemAndMonName: ; 610eb (18:50eb) INCLUDE "data/mapHeaders/viridianforest.asm" -ViridianForestScript: ; 6110d (18:510d) - call EnableAutoTextBoxDrawing - ld hl, ViridianForestTrainerHeaders - ld de, ViridianForestScriptPointers - ld a, [W_VIRIDIANFORESTCURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_VIRIDIANFORESTCURSCRIPT], a - ret - -ViridianForestScriptPointers: ; 61120 (18:5120) - dw CheckFightingMapTrainers - dw Func_324c - dw EndTrainerBattle - -ViridianForestTextPointers: ; 61126 (18:5126) - dw ViridianForestText1 - dw ViridianForestText2 - dw ViridianForestText3 - dw ViridianForestText4 - dw Predef5CText - dw Predef5CText - dw Predef5CText - dw ViridianForestText8 - dw ViridianForestText9 - dw ViridianForestText10 - dw ViridianForestText11 - dw ViridianForestText12 - dw ViridianForestText13 - dw ViridianForestText14 - -ViridianForestTrainerHeaders: ; 61142 (18:5142) -ViridianForestTrainerHeader0: ; 61142 (18:5142) - db $2 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7f3 ; flag's byte - dw ViridianForestBattleText1 ; 0x518a TextBeforeBattle - dw ViridianForestAfterBattleText1 ; 0x5194 TextAfterBattle - dw ViridianForestEndBattleText1 ; 0x518f TextEndBattle - dw ViridianForestEndBattleText1 ; 0x518f TextEndBattle - -ViridianForestTrainerHeader1: ; 6114e (18:514e) - db $3 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d7f3 ; flag's byte - dw ViridianForestBattleText2 ; 0x5199 TextBeforeBattle - dw ViridianForestAfterBattleText2 ; 0x51a3 TextAfterBattle - dw ViridianForestEndBattleText2 ; 0x519e TextEndBattle - dw ViridianForestEndBattleText2 ; 0x519e TextEndBattle - -ViridianForestTrainerHeader2: ; 6115a (18:515a) - db $4 ; flag's bit - db ($1 << 4) ; trainer's view range - dw $d7f3 ; flag's byte - dw ViridianForestBattleText3 ; 0x51a8 TextBeforeBattle - dw ViridianForestAfterBattleText3 ; 0x51b2 TextAfterBattle - dw ViridianForestEndBattleText3 ; 0x51ad TextEndBattle - dw ViridianForestEndBattleText3 ; 0x51ad TextEndBattle - - db $ff - -ViridianForestText1: ; 61167 (18:5167) - TX_FAR _ViridianForestText1 - db "@" - -ViridianForestText2: ; 6116c (18:516c) - db $08 ; asm - ld hl, ViridianForestTrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -ViridianForestText3: ; 61176 (18:5176) - db $08 ; asm - ld hl, ViridianForestTrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -ViridianForestText4: ; 61180 (18:5180) - db $08 ; asm - ld hl, ViridianForestTrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -ViridianForestBattleText1: ; 6118a (18:518a) - TX_FAR _ViridianForestBattleText1 - db "@" - -ViridianForestEndBattleText1: ; 6118f (18:518f) - TX_FAR _ViridianForestEndBattleText1 - db "@" - -ViridianForestAfterBattleText1: ; 61194 (18:5194) - TX_FAR _ViridianFrstAfterBattleText1 - db "@" - -ViridianForestBattleText2: ; 61199 (18:5199) - TX_FAR _ViridianForestBattleText2 - db "@" - -ViridianForestEndBattleText2: ; 6119e (18:519e) - TX_FAR _ViridianForestEndBattleText2 - db "@" - -ViridianForestAfterBattleText2: ; 611a3 (18:51a3) - TX_FAR _ViridianFrstAfterBattleText2 - db "@" - -ViridianForestBattleText3: ; 611a8 (18:51a8) - TX_FAR _ViridianForestBattleText3 - db "@" - -ViridianForestEndBattleText3: ; 611ad (18:51ad) - TX_FAR _ViridianForestEndBattleText3 - db "@" - -ViridianForestAfterBattleText3: ; 611b2 (18:51b2) - TX_FAR _ViridianFrstAfterBattleText3 - db "@" - -ViridianForestText8: ; 611b7 (18:51b7) - TX_FAR _ViridianForestText8 - db "@" - -ViridianForestText9: ; 611bc (18:51bc) - TX_FAR _ViridianForestText9 - db "@" - -ViridianForestText10: ; 611c1 (18:51c1) - TX_FAR _ViridianForestText10 - db "@" - -ViridianForestText11: ; 611c6 (18:51c6) - TX_FAR _ViridianForestText11 - db "@" - -ViridianForestText12: ; 611cb (18:51cb) - TX_FAR _ViridianForestText12 - db "@" - -ViridianForestText13: ; 611d0 (18:51d0) - TX_FAR _ViridianForestText13 - db "@" - -ViridianForestText14: ; 611d5 (18:51d5) - TX_FAR _ViridianForestText14 - db "@" +INCLUDE "scripts/viridianforest.asm" INCLUDE "data/mapObjects/viridianforest.asm" INCLUDE "data/mapHeaders/ssanne1.asm" -SSAnne1Script: ; 61265 (18:5265) - call EnableAutoTextBoxDrawing - ret - -SSAnne1TextPointers: ; 61269 (18:5269) - dw SSAnne1Text1 - dw SSAnne1Text2 - -SSAnne1Text1: ; 6126d (18:526d) - TX_FAR _SSAnne1Text1 - db "@" - -SSAnne1Text2: ; 61272 (18:5272) - TX_FAR _SSAnne1Text2 - db "@" +INCLUDE "scripts/ssanne1.asm" INCLUDE "data/mapObjects/ssanne1.asm" @@ -74820,216 +50399,7 @@ SSAnne1Blocks: ; 612df (18:52df) INCLUDE "data/mapHeaders/ssanne2.asm" -SSAnne2Script: ; 6139f (18:539f) - call EnableAutoTextBoxDrawing - ld hl, SSAnne2ScriptPointers - ld a, [W_SSANNE2CURSCRIPT] - jp CallFunctionInTable - -SSAnne2Script_613ab: ; 613ab (18:53ab) - xor a - ld [wJoypadForbiddenButtonsMask], a - ld [W_SSANNE2CURSCRIPT], a - ret - -SSAnne2ScriptPointers: ; 613b3 (18:53b3) - dw SSAnne2Script0 - dw SSAnne2Script1 - dw SSAnne2Script2 - dw SSAnne2Script3 - dw SSAnne2Script4 - -SSAnne2Script4: ; 613bd (18:53bd) - ret - -SSAnne2Script0: ; 613be (18:53be) - ld hl, CoordsData_61411 ; $5411 - call ArePlayerCoordsInArray - ret nc - ld a, $ff - ld [$c0ee], a - call PlaySound - ld c, BANK(Music_MeetRival) - ld a, MUSIC_MEET_RIVAL - call PlayMusic - ld a, [$cd3d] - ld [$ffdb], a - ld a, $71 - ld [$cc4d], a - ld a, $15 - call Predef - call Delay3 - ld a, $2 - ld [$ff8c], a - call SetSpriteMovementBytesToFF - xor a - ld [H_CURRENTPRESSEDBUTTONS], a - ld a, $f0 - ld [wJoypadForbiddenButtonsMask], a - ld a, [$ffdb] - cp $2 - jr nz, .asm_61400 ; 0x613f9 $5 - ld de, MovementData_6140c - jr .asm_61403 ; 0x613fe $3 -.asm_61400 - ld de, MovementData_6140d -.asm_61403 - call MoveSprite - ld a, $1 - ld [W_SSANNE2CURSCRIPT], a - ret - -MovementData_6140c: ; 6140c (18:540c) - db $00 - -MovementData_6140d: ; 6140d (18:540d) - db $00,$00,$00,$FF - -CoordsData_61411: ; 61411 (18:5411) - db $08,$24,$08,$25,$FF - -Func_61416: ; 61416 (18:5416) - ld a, [W_XCOORD] ; $d362 - cp $25 - jr nz, .asm_61426 - ld a, $2 - ld [$d528], a - ld a, $c - jr .asm_61427 -.asm_61426 - xor a -.asm_61427 - ld [$ff8d], a - ld a, $2 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - jp Func_34a6 - -SSAnne2Script1: ; 61430 (18:5430) - ld a, [$d730] - bit 0, a - ret nz - call Func_61416 - xor a - ld [wJoypadForbiddenButtonsMask], a - ld a, $2 - ld [$ff8c], a - call DisplayTextID - call Delay3 - ld a, SONY2 + $c8 - ld [W_CUROPPONENT], a - - ; select which team to use during the encounter - ld a, [W_RIVALSTARTER] - cp SQUIRTLE - jr nz, .NotSquirtle ; 0x61451 $4 - ld a, $1 - jr .done -.NotSquirtle - cp BULBASAUR - jr nz, .Charmander ; 0x61459 $4 - ld a, $2 - jr .done -.Charmander - ld a, $3 -.done - ld [W_TRAINERNO], a - - call Func_61416 - ld a, $2 - ld [W_SSANNE2CURSCRIPT], a - ret - -SSAnne2Script2: ; 6146d (18:546d) - ld a, [$d057] - cp $ff - jp z, SSAnne2Script_613ab - call Func_61416 - ld a, $f0 - ld [wJoypadForbiddenButtonsMask], a - ld a, $3 - ld [$ff8c], a - call DisplayTextID - ld a, $2 - ld [$ff8c], a - call SetSpriteMovementBytesToFF - ld a, [W_XCOORD] - cp $25 - jr nz, .asm_61497 ; 0x61490 $5 - ld de, MovementData_614b9 - jr .asm_6149a ; 0x61495 $3 -.asm_61497 - ld de, MovementData_614b7 -.asm_6149a - ld a, $2 - ld [$ff8c], a - call MoveSprite - ld a, $ff - ld [$c0ee], a - call PlaySound - ld b, BANK(Music_RivalAlternateStart) - ld hl, Music_RivalAlternateStart - call Bankswitch - ld a, $3 - ld [W_SSANNE2CURSCRIPT], a - ret - -MovementData_614b7: ; 614b7 (18:54b7) - db $C0,$00 - -MovementData_614b9: ; 614b9 (18:54b9) - db $00,$00,$00,$00,$FF - -SSAnne2Script3: ; 614be (18:54be) - ld a, [$d730] - bit 0, a - ret nz - xor a - ld [wJoypadForbiddenButtonsMask], a - ld a, $71 - ld [$cc4d], a - ld a, $11 - call Predef - call Func_2307 - ld a, $4 - ld [W_SSANNE2CURSCRIPT], a - ret - -SSAnne2TextPointers: ; 614db (18:54db) - dw SSAnne2Text1 - dw SSAnne2Text2 - dw SSAnne2Text3 - -SSAnne2Text1: ; 614e1 (18:54e1) - TX_FAR _SSAnne2Text1 - db "@" - -SSAnne2Text2: ; 614e6 (18:54e6) - db $8 - ld hl, SSAnneRivalBeforeBattleText - call PrintText - ld hl, $d72d - set 6, [hl] - set 7, [hl] - ld hl, SSAnneRivalDefeatedText - ld de, SSAnneRivalWonText - call PreBattleSaveRegisters - jp TextScriptEnd - -SSAnneRivalBeforeBattleText: ; 61500 (18:5500) - TX_FAR _SSAnneRivalBeforeBattleText - db "@" - -SSAnneRivalDefeatedText: ; 61505 (18:5505) - TX_FAR _SSAnneRivalDefeatedText - db "@" - -SSAnneRivalWonText: ; 6150a (18:550a) - TX_FAR _SSAnneRivalWonText - db "@" - -SSAnne2Text3: ; 6150f (18:550f) - TX_FAR _SSAnneRivalCaptainText - db "@" +INCLUDE "scripts/ssanne2.asm" INCLUDE "data/mapObjects/ssanne2.asm" @@ -75038,11 +50408,7 @@ SSAnne2Blocks: ; 6156e (18:556e) INCLUDE "data/mapHeaders/ssanne4.asm" -SSAnne4Script: ; 6162e (18:562e) - jp EnableAutoTextBoxDrawing - -SSAnne4TextPointers: ; 61631 (18:5631) - db "@" +INCLUDE "scripts/ssanne4.asm" INCLUDE "data/mapObjects/ssanne4.asm" @@ -75051,95 +50417,7 @@ SSAnne4Blocks: ; 61666 (18:5666) INCLUDE "data/mapHeaders/ssanne5.asm" -SSAnne5Script: ; 616ae (18:56ae) - call EnableAutoTextBoxDrawing - ld hl, SSAnneTrainerHeader0 ; $56d1 - ld de, SSAnne5ScriptPointers - ld a, [W_SSANNE5CURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_SSANNE5CURSCRIPT], a - ret - -SSAnne5ScriptPointers: ; 616c1 (18:56c1) - dw CheckFightingMapTrainers - dw Func_324c - dw EndTrainerBattle - -SSAnne5TextPointers: ; 616c7 (18:56c7) - dw SSAnne5Text1 - dw SSAnne5Text2 - dw SSAnne5Text3 - dw SSAnne5Text4 - dw SSAnne5Text5 - -SSAnneTrainerHeaders: ; 616d1 (18:56d1) -SSAnneTrainerHeader0: ; 616d1 (18:56d1) - db $4 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7ff ; flag's byte - dw SSAnneBattleText1 ; 0x5703 TextBeforeBattle - dw SSAnneAfterBattleText1 ; 0x570d TextAfterBattle - dw SSAnneEndBattleText1 ; 0x5708 TextEndBattle - dw SSAnneEndBattleText1 ; 0x5708 TextEndBattle - -SSAnneTrainerHeader1: ; 616dd (18:56dd) - db $5 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d7ff ; flag's byte - dw SSAnneBattleText2 ; 0x571c TextBeforeBattle - dw SSAnneAfterBattleText2 ; 0x5726 TextAfterBattle - dw SSAnneEndBattleText2 ; 0x5721 TextEndBattle - dw SSAnneEndBattleText2 ; 0x5721 TextEndBattle - - db $ff - -SSAnne5Text1: ; 616ea (18:56ea) - TX_FAR _SSAnne5Text1 - db "@" - -SSAnne5Text2: ; 616ef (18:56ef) - TX_FAR _SSAnne5Text2 - db "@" - -SSAnne5Text3: ; 616f4 (18:56f4) - TX_FAR _SSAnne5Text3 - db "@" - -SSAnne5Text4: ; 616f9 (18:56f9) - db $08 ; asm - ld hl, SSAnneTrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -SSAnneBattleText1: ; 61703 (18:5703) - TX_FAR _SSAnneBattleText1 - db "@" - -SSAnneEndBattleText1: ; 61708 (18:5708) - TX_FAR _SSAnneEndBattleText1 - db "@" - -SSAnneAfterBattleText1: ; 6170d (18:570d) - TX_FAR _SSAnneAfterBattleText1 - db "@" - -SSAnne5Text5: ; 61712 (18:5712) - db $08 ; asm - ld hl, SSAnneTrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -SSAnneBattleText2: ; 6171c (18:571c) - TX_FAR _SSAnneBattleText2 - db "@" - -SSAnneEndBattleText2: ; 61721 (18:5721) - TX_FAR _SSAnneEndBattleText2 - db "@" - -SSAnneAfterBattleText2: ; 61726 (18:5726) - TX_FAR _SSAnneAfterBattleText2 - db "@" +INCLUDE "scripts/ssanne5.asm" INCLUDE "data/mapObjects/ssanne5.asm" @@ -75148,78 +50426,7 @@ SSAnne5Blocks: ; 61761 (18:5761) INCLUDE "data/mapHeaders/ssanne6.asm" -SSAnne6Script: ; 617b3 (18:57b3) - call EnableAutoTextBoxDrawing - ret - -SSAnne6TextPointers: ; 617b7 (18:57b7) - dw SSAnne6Text1 - dw SSAnne6Text2 - dw SSAnne6Text3 - dw SSAnne6Text4 - dw SSAnne6Text5 - dw SSAnne6Text6 - dw SSAnne6Text7 - -SSAnne6Text1: ; 617c5 (18:57c5) - TX_FAR _SSAnne6Text1 - db "@" - -SSAnne6Text2: ; 617ca (18:57ca) - TX_FAR _SSAnne6Text2 - db "@" - -SSAnne6Text3: ; 617cf (18:57cf) - TX_FAR _SSAnne6Text3 - db "@" - -SSAnne6Text4: ; 617d4 (18:57d4) - TX_FAR _SSAnne6Text4 - db "@" - -SSAnne6Text5: ; 617d9 (18:57d9) - TX_FAR _SSAnne6Text5 - db "@" - -SSAnne6Text6: ; 617de (18:57de) - TX_FAR _SSAnne6Text6 - db "@" - -SSAnne6Text7: ; 617e3 (18:57e3) - db $08 ; asm - ld hl, UnnamedText_61807 - call PrintText - ldh a, [$d3] - bit 7, a - jr z, .asm_93eb1 ; 0x617ee - ld hl, UnnamedText_6180c - jr .asm_63292 ; 0x617f3 -.asm_93eb1 ; 0x617f5 - bit 4, a - jr z, .asm_7436c ; 0x617f7 - ld hl, UnnamedText_61811 - jr .asm_63292 ; 0x617fc -.asm_7436c ; 0x617fe - ld hl, UnnamedText_61816 -.asm_63292 ; 0x61801 - call PrintText - jp TextScriptEnd - -UnnamedText_61807: ; 61807 (18:5807) - TX_FAR _UnnamedText_61807 - db "@" - -UnnamedText_6180c: ; 6180c (18:580c) - TX_FAR _UnnamedText_6180c - db "@" - -UnnamedText_61811: ; 61811 (18:5811) - TX_FAR _UnnamedText_61811 - db "@" - -UnnamedText_61816: ; 61816 (18:5816) - TX_FAR _UnnamedText_61816 - db "@" +INCLUDE "scripts/ssanne6.asm" INCLUDE "data/mapObjects/ssanne6.asm" @@ -75228,102 +50435,7 @@ SSAnne6Blocks: ; 61851 (18:5851) INCLUDE "data/mapHeaders/ssanne7.asm" -SSAnne7Script: ; 61895 (18:5895) - call SSAnne7Script_6189b - jp EnableAutoTextBoxDrawing - -SSAnne7Script_6189b: ; 6189b (18:589b) - ld a, [$d803] - bit 1, a - ret nz - ld hl, $d72d - set 5, [hl] - ret - -SSAnne7TextPointers: ; 618a7 (18:58a7) - dw SSAnne7Text1 - dw SSAnne7Text2 - dw SSAnne7Text3 - -SSAnne7Text1: ; 618ad (18:58ad) - db $08 ; asm - ld a, [$d803] - bit 0, a - jr nz, .asm_797c4 ; 0x618b3 - ld hl, SSAnne7RubText - call PrintText - ld hl, ReceivingHM01Text - call PrintText - ld bc, (HM_01 << 8) | 1 - call GiveItem - jr nc, .BagFull - ld hl, ReceivedHM01Text - call PrintText - ld hl, $d803 - set 0, [hl] - jr .asm_0faf5 ; 0x618d4 -.BagFull - ld hl, HM01NoRoomText - call PrintText - ld hl, $d72d - set 5, [hl] - jr .asm_0faf5 ; 0x618e1 -.asm_797c4 ; 0x618e3 - ld hl, UnnamedText_61932 - call PrintText -.asm_0faf5 ; 0x618e9 - jp TextScriptEnd - -SSAnne7RubText: ; 618ec (18:58ec) - TX_FAR _SSAnne7RubText - db $8 - ld a, [$c0ef] - cp $1f - ld [$c0f0], a - jr nz, .asm_61908 ; 0x618f9 $d - ld a, $ff - ld [$c0ee], a - call PlaySound - ld a, Bank(Func_9876) - ld [$c0ef], a -.asm_61908 - ld a, MUSIC_PKMN_HEALED - ld [$c0ee], a - call PlaySound -.asm_61910 - ld a, [$c026] - cp MUSIC_PKMN_HEALED - jr z, .asm_61910 ; 0x61915 $f9 - call Func_2307 - ld hl, $d803 - set 1, [hl] - ld hl, $d72d - res 5, [hl] - jp TextScriptEnd - -ReceivingHM01Text: ; 61927 (18:5927) - TX_FAR _ReceivingHM01Text - db "@" - -ReceivedHM01Text: ; 6192c (18:592c) - TX_FAR _ReceivedHM01Text - db $11, "@" - -UnnamedText_61932: ; 61932 (18:5932) - TX_FAR _UnnamedText_61932 - db "@" - -HM01NoRoomText: ; 61937 (18:5937) - TX_FAR _HM01NoRoomText - db "@" - -SSAnne7Text2: ; 6193c (18:593c) - TX_FAR _SSAnne7Text2 - db "@" - -SSAnne7Text3: ; 61941 (18:5941) - TX_FAR _SSAnne7Text3 - db "@" +INCLUDE "scripts/ssanne7.asm" INCLUDE "data/mapObjects/ssanne7.asm" @@ -75332,170 +50444,7 @@ SSAnne7Blocks: ; 6195e (18:595e) INCLUDE "data/mapHeaders/ssanne8.asm" -SSAnne8Script: ; 61976 (18:5976) - call EnableAutoTextBoxDrawing - ld hl, SSAnne8TrainerHeaders - ld de, SSAnne8ScriptPointers - ld a, [W_SSANNE8CURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_SSANNE8CURSCRIPT], a - ret - -SSAnne8ScriptPointers: ; 61989 (18:5989) - dw CheckFightingMapTrainers - dw Func_324c - dw EndTrainerBattle - -SSAnne8TextPointers: ; 6198f (18:598f) - dw SSAnne8Text1 - dw SSAnne8Text2 - dw SSAnne8Text3 - dw SSAnne8Text4 - dw SSAnne8Text5 - dw SSAnne8Text6 - dw SSAnne8Text7 - dw SSAnne8Text8 - dw SSAnne8Text9 - dw Predef5CText - dw SSAnne8Text11 - -SSAnne8TrainerHeaders: ; 619a5 (18:59a5) -SSAnne8TrainerHeader0: ; 619a5 (18:59a5) - db $1 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d805 ; flag's byte - dw SSAnne8BattleText1 ; 0x5a0b TextBeforeBattle - dw SSAnne8AfterBattleText1 ; 0x5a15 TextAfterBattle - dw SSAnne8EndBattleText1 ; 0x5a10 TextEndBattle - dw SSAnne8EndBattleText1 ; 0x5a10 TextEndBattle - -SSAnne8TrainerHeader1: ; 619b1 (18:59b1) - db $2 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d805 ; flag's byte - dw SSAnne8BattleText2 ; 0x5a1a TextBeforeBattle - dw SSAnne8AfterBattleText2 ; 0x5a24 TextAfterBattle - dw SSAnne8EndBattleText2 ; 0x5a1f TextEndBattle - dw SSAnne8EndBattleText2 ; 0x5a1f TextEndBattle - -SSAnne8TrainerHeader2: ; 619bd (18:59bd) - db $3 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d805 ; flag's byte - dw SSAnne8BattleText3 ; 0x5a29 TextBeforeBattle - dw SSAnne8AfterBattleText3 ; 0x5a33 TextAfterBattle - dw SSAnne8EndBattleText3 ; 0x5a2e TextEndBattle - dw SSAnne8EndBattleText3 ; 0x5a2e TextEndBattle - -SSAnne8TrainerHeader3: ; 619c9 (18:59c9) - db $4 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d805 ; flag's byte - dw SSAnne8BattleText4 ; 0x5a38 TextBeforeBattle - dw SSAnne8AfterBattleText4 ; 0x5a42 TextAfterBattle - dw SSAnne8EndBattleText4 ; 0x5a3d TextEndBattle - dw SSAnne8EndBattleText4 ; 0x5a3d TextEndBattle - - db $ff - -SSAnne8Text1: ; 619d6 (18:59d6) - db $08 ; asm - ld hl, SSAnne8TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -SSAnne8Text2: ; 619e0 (18:59e0) - db $08 ; asm - ld hl, SSAnne8TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -SSAnne8Text3: ; 619ea (18:59ea) - db $08 ; asm - ld hl, SSAnne8TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -SSAnne8Text4: ; 619f4 (18:59f4) - db $08 ; asm - ld hl, SSAnne8TrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -SSAnne8Text8: ; 619fe (18:59fe) - TX_FAR _SSAnne8Text8 - db $08 ; asm - ld a, WIGGLYTUFF - call PlayCry - jp TextScriptEnd - -SSAnne8BattleText1: ; 61a0b (18:5a0b) - TX_FAR _SSAnne8BattleText1 - db "@" - -SSAnne8EndBattleText1: ; 61a10 (18:5a10) - TX_FAR _SSAnne8EndBattleText1 - db "@" - -SSAnne8AfterBattleText1: ; 61a15 (18:5a15) - TX_FAR _SSAnne8AfterBattleText1 - db "@" - -SSAnne8BattleText2: ; 61a1a (18:5a1a) - TX_FAR _SSAnne8BattleText2 - db "@" - -SSAnne8EndBattleText2: ; 61a1f (18:5a1f) - TX_FAR _SSAnne8EndBattleText2 - db "@" - -UnnamedText_61a24: ; 61a24 (18:5a24) - TX_FAR _UnnamedText_61a24 - db "@" - -SSAnne8BattleText3: ; 61a29 (18:5a29) - TX_FAR _SSAnne8BattleText3 - db "@" - -SSAnne8EndBattleText3: ; 61a2e (18:5a2e) - TX_FAR _SSAnne8EndBattleText3 - db "@" - -SSAnne8AfterBattleText3: ; 61a33 (18:5a33) - TX_FAR _SSAnne8AfterBattleText3 - db "@" - -SSAnne8BattleText4: ; 61a38 (18:5a38) - TX_FAR _SSAnne8BattleText4 - db "@" - -SSAnne8EndBattleText4: ; 61a3d (18:5a3d) - TX_FAR _SSAnne8EndBattleText4 - db "@" - -SSAnne8AfterBattleText4: ; 61a42 (18:5a42) - TX_FAR _SSAnne8AfterBattleText4 - db "@" - -SSAnne8Text5: ; 61a47 (18:5a47) - TX_FAR _SSAnne8Text5 - db "@" - -SSAnne8Text6: ; 61a4c (18:5a4c) - TX_FAR _SSAnne8Text6 - db "@" - -SSAnne8Text7: ; 61a51 (18:5a51) - TX_FAR _SSAnne8Text7 - db "@" - -SSAnne8Text9: ; 61a56 (18:5a56) - TX_FAR _SSAnne8Text9 - db "@" - -SSAnne8Text11: ; 61a5b (18:5a5b) - TX_FAR _SSAnne8Text11 - db "@" +INCLUDE "scripts/ssanne8.asm" INCLUDE "data/mapObjects/ssanne8.asm" @@ -75504,459 +50453,31 @@ SSAnne8Blocks: ; 61adf (18:5adf) INCLUDE "data/mapHeaders/ssanne9.asm" -SSAnne9Script: ; 61b4b (18:5b4b) - ld a, $1 - ld [$cf0c], a - xor a - ld [$cc3c], a - ld hl, SSAnne9TrainerHeaders - ld de, SSAnne9ScriptPointers - ld a, [W_SSANNE9CURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_SSANNE9CURSCRIPT], a - ret - -SSAnne9ScriptPointers: ; 61b64 (18:5b64) - dw CheckFightingMapTrainers - dw Func_324c - dw EndTrainerBattle - -SSAnne9TextPointers: ; 61b6a (18:5b6a) - dw SSAnne9Text1 - dw SSAnne9Text2 - dw SSAnne9Text3 - dw SSAnne9Text4 - dw SSAnne9Text5 - dw Predef5CText - dw SSAnne9Text7 - dw SSAnne9Text8 - dw Predef5CText - dw SSAnne9Text10 - dw SSAnne9Text11 - dw SSAnne9Text12 - dw SSAnne9Text13 - -SSAnne9TrainerHeaders: ; 61b84 (18:5b84) -SSAnne9TrainerHeader0: ; 61b84 (18:5b84) - db $1 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d807 ; flag's byte - dw SSAnne9BattleText1 ; 0x5c51 TextBeforeBattle - dw SSAnne9AfterBattleText1 ; 0x5c5b TextAfterBattle - dw SSAnne9EndBattleText1 ; 0x5c56 TextEndBattle - dw SSAnne9EndBattleText1 ; 0x5c56 TextEndBattle - -SSAnne9TrainerHeader1: ; 61b90 (18:5b90) - db $2 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d807 ; flag's byte - dw SSAnne9BattleText2 ; 0x5c60 TextBeforeBattle - dw SSAnne9AfterBattleText2 ; 0x5c6a TextAfterBattle - dw SSAnne9EndBattleText2 ; 0x5c65 TextEndBattle - dw SSAnne9EndBattleText2 ; 0x5c65 TextEndBattle - -SSAnne9TrainerHeader2: ; 61b9c (18:5b9c) - db $3 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d807 ; flag's byte - dw SSAnne9BattleText3 ; 0x5c6f TextBeforeBattle - dw SSAnne9AfterBattleText3 ; 0x5c79 TextAfterBattle - dw SSAnne9EndBattleText3 ; 0x5c74 TextEndBattle - dw SSAnne9EndBattleText3 ; 0x5c74 TextEndBattle - -SSAnne9TrainerHeader3: ; 61ba8 (18:5ba8) - db $4 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d807 ; flag's byte - dw SSAnne9BattleText4 ; 0x5c7e TextBeforeBattle - dw SSAnne9AfterBattleText4 ; 0x5c88 TextAfterBattle - dw SSAnne9EndBattleText4 ; 0x5c83 TextEndBattle - dw SSAnne9EndBattleText4 ; 0x5c83 TextEndBattle - - db $ff - -SSAnne9Text1: ; 61bb5 (18:5bb5) - db $08 ; asm - ld hl, SSAnne9TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -SSAnne9Text2: ; 61bbf (18:5bbf) - db $08 ; asm - ld hl, SSAnne9TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -SSAnne9Text3: ; 61bc9 (18:5bc9) - db $08 ; asm - ld hl, SSAnne9TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -SSAnne9Text4: ; 61bd3 (18:5bd3) - db $08 ; asm - ld hl, SSAnne9TrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -SSAnne9Text5: ; 61bdd (18:5bdd) - db $08 ; asm - call SaveScreenTilesToBuffer1 - ld hl, UnnamedText_61bf2 - call PrintText - call LoadScreenTilesFromBuffer1 - ld a, SNORLAX - call DisplayPokedex - jp TextScriptEnd - -UnnamedText_61bf2: ; 61bf2 (18:5bf2) - TX_FAR _UnnamedText_61bf2 - db "@" - -SSAnne9Text7: ; 61bf7 (18:5bf7) - db $08 ; asm - ld hl, UnnamedText_61c01 - call PrintText - jp TextScriptEnd - -UnnamedText_61c01: ; 61c01 (18:5c01) - TX_FAR _UnnamedText_61c01 - db "@" - -SSAnne9Text8: ; 61c06 (18:5c06) - db $08 ; asm - ld hl, UnnamedText_61c10 - call PrintText - jp TextScriptEnd - -UnnamedText_61c10: ; 61c10 (18:5c10) - TX_FAR _UnnamedText_61c10 - db "@" - -SSAnne9Text10: ; 61c15 (18:5c15) - db $08 ; asm - ld hl, UnnamedText_61c1f - call PrintText - jp TextScriptEnd - -UnnamedText_61c1f: ; 61c1f (18:5c1f) - TX_FAR _UnnamedText_61c1f - db "@" - -SSAnne9Text11: ; 61c24 (18:5c24) - db $08 ; asm - ld hl, UnnamedText_61c2e - call PrintText - jp TextScriptEnd - -UnnamedText_61c2e: ; 61c2e (18:5c2e) - TX_FAR _UnnamedText_61c2e - db "@" - -SSAnne9Text12: ; 61c33 (18:5c33) - db $08 ; asm - ld hl, UnnamedText_61c3d - call PrintText - jp TextScriptEnd - -UnnamedText_61c3d: ; 61c3d (18:5c3d) - TX_FAR _UnnamedText_61c3d - db "@" - -SSAnne9Text13: ; 61c42 (18:5c42) - db $08 ; asm - ld hl, UnnamedText_61c4c - call PrintText - jp TextScriptEnd - -UnnamedText_61c4c: ; 61c4c (18:5c4c) - TX_FAR _UnnamedText_61c4c - db "@" - -SSAnne9BattleText1: ; 61c51 (18:5c51) - TX_FAR _SSAnne9BattleText1 - db "@" - -SSAnne9EndBattleText1: ; 61c56 (18:5c56) - TX_FAR _SSAnne9EndBattleText1 - db "@" - -SSAnne9AfterBattleText1: ; 61c5b (18:5c5b) - TX_FAR _SSAnne9AfterBattleText1 - db "@" - -SSAnne9BattleText2: ; 61c60 (18:5c60) - TX_FAR _SSAnne9BattleText2 - db "@" - -SSAnne9EndBattleText2: ; 61c65 (18:5c65) - TX_FAR _SSAnne9EndBattleText2 - db "@" - -SSAnne9AfterBattleText2: ; 61c6a (18:5c6a) - TX_FAR _SSAnne9AfterBattleText2 - db "@" - -SSAnne9BattleText3: ; 61c6f (18:5c6f) - TX_FAR _SSAnne9BattleText3 - db "@" - -SSAnne9EndBattleText3: ; 61c74 (18:5c74) - TX_FAR _SSAnne9EndBattleText3 - db "@" - -SSAnne9AfterBattleText3: ; 61c79 (18:5c79) - TX_FAR _SSAnne9AfterBattleText3 - db "@" - -SSAnne9BattleText4: ; 61c7e (18:5c7e) - TX_FAR _SSAnne9BattleText4 - db "@" - -SSAnne9EndBattleText4: ; 61c83 (18:5c83) - TX_FAR _SSAnne9EndBattleText4 - db "@" - -SSAnne9AfterBattleText4: ; 61c88 (18:5c88) - TX_FAR _SSAnne9AfterBattleText4 - db "@" +INCLUDE "scripts/ssanne9.asm" INCLUDE "data/mapObjects/ssanne9.asm" INCLUDE "data/mapHeaders/ssanne10.asm" -SSAnne10Script: ; 61d55 (18:5d55) - call EnableAutoTextBoxDrawing - ld hl, SSAnne10TrainerHeaders - ld de, SSAnne10ScriptPointers - ld a, [W_SSANNE10CURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_SSANNE10CURSCRIPT], a - ret - -SSAnne10ScriptPointers: ; 61d68 (18:5d68) - dw CheckFightingMapTrainers - dw Func_324c - dw EndTrainerBattle - -SSAnne10TextPointers: ; 61d6e (18:5d6e) - dw SSAnne10Text1 - dw SSAnne10Text2 - dw SSAnne10Text3 - dw SSAnne10Text4 - dw SSAnne10Text5 - dw SSAnne10Text6 - dw SSAnne10Text7 - dw SSAnne10Text8 - dw Predef5CText - dw Predef5CText - dw Predef5CText - -SSAnne10TrainerHeaders: ; 61d84 (18:5d84) -SSAnne10TrainerHeader0: ; 61d84 (18:5d84) - db $1 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d809 ; flag's byte - dw SSAnne10BattleText1 ; 0x5e16 TextBeforeBattle - dw SSAnne10AfterBattleText1 ; 0x5e20 TextAfterBattle - dw SSAnne10EndBattleText1 ; 0x5e1b TextEndBattle - dw SSAnne10EndBattleText1 ; 0x5e1b TextEndBattle - -SSAnne10TrainerHeader1: ; 61d90 (18:5d90) - db $2 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d809 ; flag's byte - dw SSAnne10BattleText2 ; 0x5e25 TextBeforeBattle - dw SSAnne10AfterBattleText2 ; 0x5e2f TextAfterBattle - dw SSAnne10EndBattleText2 ; 0x5e2a TextEndBattle - dw SSAnne10EndBattleText2 ; 0x5e2a TextEndBattle - -SSAnne10TrainerHeader2: ; 61d9c (18:5d9c) - db $3 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d809 ; flag's byte - dw SSAnne10BattleText3 ; 0x5e34 TextBeforeBattle - dw SSAnne10AfterBattleText3 ; 0x5e3e TextAfterBattle - dw SSAnne10EndBattleText3 ; 0x5e39 TextEndBattle - dw SSAnne10EndBattleText3 ; 0x5e39 TextEndBattle - -SSAnne10TrainerHeader3: ; 61da8 (18:5da8) - db $4 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d809 ; flag's byte - dw SSAnne10BattleText4 ; 0x5e43 TextBeforeBattle - dw SSAnne10AfterBattleText4 ; 0x5e4d TextAfterBattle - dw SSAnne10EndBattleText4 ; 0x5e48 TextEndBattle - dw SSAnne10EndBattleText4 ; 0x5e48 TextEndBattle - -SSAnne10TrainerHeader4: ; 61db4 (18:5db4) - db $5 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d809 ; flag's byte - dw SSAnne10BattleText5 ; 0x5e52 TextBeforeBattle - dw SSAnne10AfterBattleText5 ; 0x5e5c TextAfterBattle - dw SSAnne10EndBattleText5 ; 0x5e57 TextEndBattle - dw SSAnne10EndBattleText5 ; 0x5e57 TextEndBattle - -SSAnne10TrainerHeader5: ; 61dc0 (18:5dc0) - db $6 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d809 ; flag's byte - dw SSAnne10BattleText6 ; 0x5e61 TextBeforeBattle - dw SSAnne10AfterBattleText6 ; 0x5e6b TextAfterBattle - dw SSAnne10EndBattleText6 ; 0x5e66 TextEndBattle - dw SSAnne10EndBattleText6 ; 0x5e66 TextEndBattle - - db $ff - -SSAnne10Text1: ; 61dcd (18:5dcd) - db $08 ; asm - ld hl, SSAnne10TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -SSAnne10Text2: ; 61dd7 (18:5dd7) - db $08 ; asm - ld hl, SSAnne10TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -SSAnne10Text3: ; 61de1 (18:5de1) - db $08 ; asm - ld hl, SSAnne10TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -SSAnne10Text4: ; 61deb (18:5deb) - db $08 ; asm - ld hl, SSAnne10TrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -SSAnne10Text5: ; 61df5 (18:5df5) - db $08 ; asm - ld hl, SSAnne10TrainerHeader4 - call TalkToTrainer - jp TextScriptEnd - -SSAnne10Text6: ; 61dff (18:5dff) - db $08 ; asm - ld hl, SSAnne10TrainerHeader5 - call TalkToTrainer - jp TextScriptEnd - -SSAnne10Text8: ; 61e09 (18:5e09) - TX_FAR _SSAnne10Text8 - db $8 ; 0x61e0d - ld a, MACHOKE - call PlayCry - jp TextScriptEnd - -SSAnne10BattleText1: ; 61e16 (18:5e16) - TX_FAR _SSAnne10BattleText1 - db "@" - -SSAnne10EndBattleText1: ; 61e1b (18:5e1b) - TX_FAR _SSAnne10EndBattleText1 - db "@" - -SSAnne10AfterBattleText1: ; 61e20 (18:5e20) - TX_FAR _SSAnne10AfterBattleText1 - db "@" - -SSAnne10BattleText2: ; 61e25 (18:5e25) - TX_FAR _SSAnne10BattleText2 - db "@" - -SSAnne10EndBattleText2: ; 61e2a (18:5e2a) - TX_FAR _SSAnne10EndBattleText2 - db "@" - -SSAnne10AfterBattleText2: ; 61e2f (18:5e2f) - TX_FAR _SSAnne10AfterBattleText2 - db "@" - -SSAnne10BattleText3: ; 61e34 (18:5e34) - TX_FAR _SSAnne10BattleText3 - db "@" - -SSAnne10EndBattleText3: ; 61e39 (18:5e39) - TX_FAR _SSAnne10EndBattleText3 - db "@" - -SSAnne10AfterBattleText3: ; 61e3e (18:5e3e) - TX_FAR _SSAnne10AfterBattleText3 - db "@" - -SSAnne10BattleText4: ; 61e43 (18:5e43) - TX_FAR _SSAnne10BattleText4 - db "@" - -SSAnne10EndBattleText4: ; 61e48 (18:5e48) - TX_FAR _SSAnne10EndBattleText4 - db "@" - -SSAnne10AfterBattleText4: ; 61e4d (18:5e4d) - TX_FAR _SSAnne10AfterBattleText4 - db "@" - -SSAnne10BattleText5: ; 61e52 (18:5e52) - TX_FAR _SSAnne10BattleText5 - db "@" - -SSAnne10EndBattleText5: ; 61e57 (18:5e57) - TX_FAR _SSAnne10EndBattleText5 - db "@" - -SSAnne10AfterBattleText5: ; 61e5c (18:5e5c) - TX_FAR _SSAnne10AfterBattleText5 - db "@" - -SSAnne10BattleText6: ; 61e61 (18:5e61) - TX_FAR _SSAnne10BattleText6 - db "@" - -SSAnne10EndBattleText6: ; 61e66 (18:5e66) - TX_FAR _SSAnne10EndBattleText6 - db "@" - -SSAnne10AfterBattleText6: ; 61e6b (18:5e6b) - TX_FAR _SSAnne10AfterBattleText6 - db "@" - -SSAnne10Text7: ; 61e70 (18:5e70) - TX_FAR _SSAnne10Text7 - db "@" +INCLUDE "scripts/ssanne10.asm" INCLUDE "data/mapObjects/ssanne10.asm" INCLUDE "data/mapHeaders/undergroundpathns.asm" -UndergroundPathNSScript: ; 61f26 (18:5f26) - jp EnableAutoTextBoxDrawing - -UndergroundPathNSTextPointers: ; 61f29 (18:5f29) - db "@" +INCLUDE "scripts/undergroundpathns.asm" INCLUDE "data/mapObjects/undergroundpathns.asm" INCLUDE "data/mapHeaders/undergroundpathwe.asm" -UndergroundPathWEScript: ; 61f4a (18:5f4a) - jp EnableAutoTextBoxDrawing - -UndergroundPathWETextPointers: ; 61f4d (18:5f4d) - db "@" +INCLUDE "scripts/undergroundpathwe.asm" INCLUDE "data/mapObjects/undergroundpathwe.asm" INCLUDE "data/mapHeaders/diglettscave.asm" -DiglettsCaveScript: ; 61f6e (18:5f6e) - jp EnableAutoTextBoxDrawing - -DiglettsCaveTextPointers: ; 61f71 (18:5f71) - db "@" +INCLUDE "scripts/diglettscave.asm" INCLUDE "data/mapObjects/diglettscave.asm" @@ -75965,375 +50486,7 @@ DiglettsCaveBlocks: ; 61f86 (18:5f86) INCLUDE "data/mapHeaders/silphco11.asm" -SilphCo11Script: ; 620fa (18:60fa) - call SilphCo11Script_62110 - call EnableAutoTextBoxDrawing - ld hl, SilphCo11TrainerHeaders - ld de, SilphCo11ScriptPointers - ld a, [W_SILPHCO11CURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_SILPHCO11CURSCRIPT], a - ret - -SilphCo11Script_62110: ; 62110 (18:6110) - ld hl, $d126 - bit 5, [hl] - res 5, [hl] - ret z - ld hl, DataTable_62134 ; $6134 - call Func_62137 - call Func_62163 - ld a, [$d838] - bit 0, a - ret nz - ld a, $20 - ld [$d09f], a - ld bc, $603 - ld a, $17 - jp Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e)) - -DataTable_62134: ; 62134 (18:6134) - db $06,$03,$FF - -Func_62137: ; 62137 (18:6137) - push hl - ld hl, $d73f - ld a, [hli] - ld b, a - ld a, [hl] - ld c, a - xor a - ld [$ffe0], a - pop hl -.asm_62143 - ld a, [hli] - cp $ff - jr z, .asm_6215f - push hl - ld hl, $ffe0 - inc [hl] - pop hl - cp b - jr z, .asm_62154 - inc hl - jr .asm_62143 -.asm_62154 - ld a, [hli] - cp c - jr nz, .asm_62143 - ld hl, $d73f - xor a - ld [hli], a - ld [hl], a - ret -.asm_6215f - xor a - ld [$ffe0], a - ret - -Func_62163: ; 62163 (18:6163) - ld a, [$ffe0] - and a - ret z - ld hl, $d838 - set 0, [hl] - ret - -Func_6216d: ; 6216d (18:616d) - ld hl, MissableObjectIDs_6219b ; $619b -.asm_62170 - ld a, [hli] - cp $ff - jr z, .asm_62181 - push hl - ld [$cc4d], a - ld a, $11 - call Predef ; indirect jump to RemoveMissableObject (f1d7 (3:71d7)) - pop hl - jr .asm_62170 -.asm_62181 - ld hl, MissableObjectIDs_62194 ; $6194 -.asm_62184 - ld a, [hli] - cp $ff - ret z - push hl - ld [$cc4d], a - ld a, $15 - call Predef ; indirect jump to AddMissableObject (f1c8 (3:71c8)) - pop hl - jr .asm_62184 - -MissableObjectIDs_62194: ; 62194 (18:6194) - db $11,$12,$13,$14,$15,$16,$FF - -MissableObjectIDs_6219b: ; 6219b (18:619b) - db $0A,$0B,$0C,$0D,$0E,$0F,$10,$17 - db $18,$8A,$8B,$8C,$8D,$8E,$8F,$91 - db $92,$93,$97,$98,$99,$9A,$9E,$9F - db $A0,$A3,$A4,$A5,$A6,$AB,$AC,$AD - db $AE,$AF,$B0,$B1,$B2,$B7,$B8,$B9 - db $FF - -SilphCo11Script_621c4: ; 621c4 (18:61c4) - xor a - ld [wJoypadForbiddenButtonsMask], a - -SilphCo11Script_621c8: ; 621c8 (18:61c8) - ld [W_SILPHCO11CURSCRIPT], a - ld [W_CURMAPSCRIPT], a - ret - -SilphCo11ScriptPointers: ; 621cf (18:61cf) - dw SilphCo11Script0 - dw Func_324c - dw EndTrainerBattle - dw SilphCo11Script3 - dw SilphCo11Script4 - dw SilphCo11Script5 - -SilphCo11Script0: ; 621db (18:61db) - ld a, [$d838] - bit 7, a - ret nz - ld hl, CoordsData_62211 ; $6211 - call ArePlayerCoordsInArray - jp nc, CheckFightingMapTrainers - ld a, [wWhichTrade] ; $cd3d - ld [$cf0d], a - xor a - ld [H_CURRENTPRESSEDBUTTONS], a - ld a, $f0 - ld [wJoypadForbiddenButtonsMask], a - ld a, $3 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - call DisplayTextID - ld a, $3 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - call SetSpriteMovementBytesToFF - ld de, MovementData_62216 - call MoveSprite - ld a, $3 - jp SilphCo11Script_621c8 - -CoordsData_62211: ; 62211 (18:6211) - db $0D,$06 - db $0C,$07 - db $FF - -MovementData_62216: ; 62216 (18:6216) - db $00,$00,$00,$FF - -SilphCo11Script_6221a: ; 6221a (18:621a) - ld [$d528], a - ld a, $3 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - ld a, b - ld [$ff8d], a - jp Func_34a6 - -SilphCo11Script5: ; 62227 (18:6227) - ld a, [W_ISINBATTLE] ; $d057 - cp $ff - jp z, SilphCo11Script_621c4 - ld a, [$cf0d] - cp $1 - jr z, .asm_6223c - ld a, $2 - ld b, $c - jr .asm_62240 -.asm_6223c - ld a, $8 - ld b, $0 -.asm_62240 - call SilphCo11Script_6221a - ld a, $f0 - ld [wJoypadForbiddenButtonsMask], a - ld a, $6 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - call DisplayTextID - call GBFadeIn1 - call Func_6216d - call UpdateSprites - call Delay3 - call GBFadeOut1 - ld hl, $d838 - set 7, [hl] - xor a - ld [wJoypadForbiddenButtonsMask], a - jp SilphCo11Script_621c8 - -SilphCo11Script3: ; 6226a (18:626a) - ld a, [$d730] - bit 0, a - ret nz - ld a, $3 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - call SetSpriteMovementBytesToFF - ld a, [$cf0d] - cp $1 - jr z, .asm_62284 - ld a, $2 - ld b, $c - jr .asm_62288 -.asm_62284 - ld a, $8 - ld b, $0 -.asm_62288 - call SilphCo11Script_6221a - call Delay3 - ld a, $4 - jp SilphCo11Script_621c8 - -SilphCo11Script4: ; 62293 (18:6293) - ld hl, $d72d - set 6, [hl] - set 7, [hl] - ld hl, UnnamedText_62330 ; $6330 - ld de, UnnamedText_62330 ; $6330 - call PreBattleSaveRegisters - ld a, [H_DOWNARROWBLINKCNT2] ; $ff8c - ld [$cf13], a - call EngageMapTrainer - call InitBattleEnemyParameters - xor a - ld [wJoypadForbiddenButtonsMask], a - ld a, $5 - jp SilphCo11Script_621c8 - -SilphCo11TextPointers: ; 622b7 (18:62b7) - dw SilphCo11Text1 - dw SilphCo11Text2 - dw SilphCo11Text3 - dw SilphCo11Text4 - dw SilphCo11Text5 - dw SilphCo11Text6 - -SilphCo11TrainerHeaders: ; 622c3 (18:62c3) -SilphCo11TrainerHeader0: ; 622c3 (18:62c3) - db $4 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d837 ; flag's byte - dw SilphCo11BattleText1 ; 0x6344 TextBeforeBattle - dw SilphCo11AfterBattleText1 ; 0x634e TextAfterBattle - dw SilphCo11EndBattleText1 ; 0x6349 TextEndBattle - dw SilphCo11EndBattleText1 ; 0x6349 TextEndBattle - -SilphCo11TrainerHeader1: ; 622cf (18:62cf) - db $5 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d837 ; flag's byte - dw SilphCo11BattleText2 ; 0x635d TextBeforeBattle - dw SilphCo11AfterBattleText2 ; 0x6367 TextAfterBattle - dw SilphCo11EndBattleText2 ; 0x6362 TextEndBattle - dw SilphCo11EndBattleText2 ; 0x6362 TextEndBattle - - db $ff - -SilphCo11Text1: ; 622dc (18:62dc) - db $08 ; asm - ld a, [$d838] - bit 5, a - jp nz, .asm_62308 - ld hl, SilphCoPresidentText - call PrintText - ld bc, (MASTER_BALL << 8) | 1 - call GiveItem - jr nc, .BagFull - ld hl, ReceivedSilphCoMasterBallText - call PrintText - ld hl, $d838 - set 5, [hl] - jr .asm_fd405 ; 0x622fe -.BagFull - ld hl, SilphCoMasterBallNoRoomText - call PrintText - jr .asm_fd405 ; 0x62306 -.asm_62308 ; 0x62308 - ld hl, UnnamedText_6231c - call PrintText -.asm_fd405 ; 0x6230e - jp TextScriptEnd - -SilphCoPresidentText: ; 62311 (18:6311) - TX_FAR _SilphCoPresidentText - db "@" - -ReceivedSilphCoMasterBallText: ; 62316 (18:6316) - TX_FAR _ReceivedSilphCoMasterBallText - db $11, "@" - -UnnamedText_6231c: ; 6231c (18:631c) - TX_FAR _UnnamedText_6231c - db "@" - -SilphCoMasterBallNoRoomText: ; 62321 (18:6321) - TX_FAR _SilphCoMasterBallNoRoomText - db "@" - -SilphCo11Text2: ; 62326 (18:6326) - TX_FAR _SilphCo11Text2 - db "@" - -SilphCo11Text3: ; 6232b (18:632b) - TX_FAR _SilphCo11Text3 - db "@" - -UnnamedText_62330: ; 62330 (18:6330) - TX_FAR _UnnamedText_62330 - db "@" - -SilphCo11Text6: ; 62335 (18:6335) - TX_FAR _UnnamedText_62335 - db "@" - -SilphCo11Text4: ; 6233a (18:633a) - db $08 ; asm - ld hl, SilphCo11TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -SilphCo11BattleText1: ; 62344 (18:6344) - TX_FAR _SilphCo11BattleText1 - db "@" - -SilphCo11EndBattleText1: ; 62349 (18:6349) - TX_FAR _SilphCo11EndBattleText1 - db "@" - -SilphCo11AfterBattleText1: ; 6234e (18:634e) - TX_FAR _SilphCo11AfterBattleText1 - db "@" - -SilphCo11Text5: ; 62353 (18:6353) - db $08 ; asm - ld hl, SilphCo11TrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -SilphCo11BattleText2: ; 6235d (18:635d) - TX_FAR _SilphCo11BattleText2 - db "@" - -SilphCo11EndBattleText2: ; 62362 (18:6362) - TX_FAR _SilphCo11EndBattleText2 - db "@" - -SilphCo11AfterBattleText2: ; 62367 (18:6367) - TX_FAR _SilphCo11AfterBattleText2 - db "@" - -UnnamedText_6236c: ; 6236c (18:636c) - db $8 - ld hl, UnnamedText_6237b - call PrintText - ld a, PORYGON - call DisplayPokedex - jp TextScriptEnd - -UnnamedText_6237b: ; 6237b (18:637b) - TX_FAR _UnnamedText_6237b - db "@" +INCLUDE "scripts/silphco11.asm" INCLUDE "data/mapObjects/silphco11.asm" @@ -82265,520 +56418,7 @@ Func_74872: ; 74872 (1d:4872) INCLUDE "data/mapHeaders/viridiangym.asm" -ViridianGymScript: ; 748a3 (1d:48a3) - ld hl, Gym8CityName - ld de, Gym8LeaderName - call LoadGymLeaderAndCityName - call EnableAutoTextBoxDrawing - ld hl, ViridianGymTrainerHeaders - ld de, ViridianGymScriptPointers - ld a, [W_VIRIDIANGYMCURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_VIRIDIANGYMCURSCRIPT], a - ret - -Gym8CityName: ; 748bf (1d:48bf) - db "VIRIDIAN CITY@" -Gym8LeaderName: ; 748cd (1d:48cd) - db "GIOVANNI@" - -Func_748d6: ; 748d6 (1d:48d6) - xor a - ld [wJoypadForbiddenButtonsMask], a - ld [W_VIRIDIANGYMCURSCRIPT], a - ld [W_CURMAPSCRIPT], a - ret - -ViridianGymScriptPointers: ; 748e1 (1d:48e1) - dw ViridianGymScript0 - dw Func_324c - dw EndTrainerBattle - dw ViridianGymScript3 - dw ViridianGymScript4 - -ViridianGymScript0: ; 748eb (1d:48eb) - ld a, [W_YCOORD] ; $d361 - ld b, a - ld a, [W_XCOORD] ; $d362 - ld c, a - ld hl, ViridianGymArrowTilePlayerMovement - call Func_3442 - cp $ff - jp z, CheckFightingMapTrainers - call Func_3486 - ld hl, $d736 - set 7, [hl] - ld a, (SFX_02_52 - SFX_Headers_02) / 3 - call PlaySound - ld a, $ff - ld [wJoypadForbiddenButtonsMask], a - ld a, $4 - ld [W_CURMAPSCRIPT], a - ret - -;format: -;db y,x -;dw pointer to movement -ViridianGymArrowTilePlayerMovement: ; 74916 (1d:4916) - db $b,$13 - dw ViridianGymArrowMovement1 - db $1,$13 - dw ViridianGymArrowMovement2 - db $2,$12 - dw ViridianGymArrowMovement3 - db $2,$b - dw ViridianGymArrowMovement4 - db $a,$10 - dw ViridianGymArrowMovement5 - db $6,$4 - dw ViridianGymArrowMovement6 - db $d,$5 - dw ViridianGymArrowMovement7 - db $e,$4 - dw ViridianGymArrowMovement8 - db $f,$0 - dw ViridianGymArrowMovement9 - db $f,$1 - dw ViridianGymArrowMovement10 - db $10,$d - dw ViridianGymArrowMovement11 - db $11,$d - dw ViridianGymArrowMovement12 - db $FF - -;format: direction, count -;right: $10 -;left: $20 -;up: $40 -;down: $80 -ViridianGymArrowMovement1: ; 74947 (1d:4947) - db $40,$09,$FF - -ViridianGymArrowMovement2: ; 7494a (1d:494a) - db $20,$08,$FF - -ViridianGymArrowMovement3: ; 7494d (1d:494d) - db $80,$09,$FF - -ViridianGymArrowMovement4: ; 74950 (1d:4950) - db $10,$06,$FF - -ViridianGymArrowMovement5: ; 74953 (1d:4953) - db $80,$02,$FF - -ViridianGymArrowMovement6: ; 74956 (1d:4956) - db $80,$07,$FF - -ViridianGymArrowMovement7: ; 74959 (1d:4959) - db $10,$08,$FF - -ViridianGymArrowMovement8: ; 7495c (1d:495c) - db $10,$09,$FF - -ViridianGymArrowMovement9: ; 7495f (1d:495f) - db $40,$08,$FF - -ViridianGymArrowMovement10: ; 74962 (1d:4962) - db $40,$06,$FF - -ViridianGymArrowMovement11: ; 74965 (1d:4965) - db $20,$06,$FF - -ViridianGymArrowMovement12: ; 74968 (1d:4968) - db $20,$0C,$FF - -ViridianGymScript4: ; 7496b (1d:496b) - ld a, [$cd38] - and a - jr nz, .asm_74980 - xor a - ld [wJoypadForbiddenButtonsMask], a - ld hl, $d736 - res 7, [hl] - ld a, $0 - ld [W_CURMAPSCRIPT], a - ret -.asm_74980 - ld b, BANK(LoadSpinnerArrowTiles) - ld hl, LoadSpinnerArrowTiles - jp Bankswitch - -ViridianGymScript3: ; 74988 (1d:4988) - ld a, [W_ISINBATTLE] ; $d057 - cp $ff - jp z, Func_748d6 - ld a, $f0 - ld [wJoypadForbiddenButtonsMask], a -ViridianGymScript3_74995: ; 74995 (1d:4995) - ld a, $c - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - call DisplayTextID - ld hl, $d751 - set 1, [hl] - ld bc, (TM_27 << 8) | 1 - call GiveItem - jr nc, .BagFull - ld a, $d - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - call DisplayTextID - ld hl, $d751 - set 0, [hl] - jr .asm_749be -.BagFull - ld a, $e - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - call DisplayTextID -.asm_749be - ld hl, W_OBTAINEDBADGES - set 7, [hl] - ld hl, $d72a - set 7, [hl] - - ; deactivate gym trainers - ld a, [$d751] - or %11111100 - ld [$d751], a - ld a, [$d752] - or %00000011 - ld [$d752], a - - ld a, $23 - ld [$cc4d], a - ld a, $15 - call Predef ; indirect jump to AddMissableObject (f1c8 (3:71c8)) - ld hl, $d7eb - set 1, [hl] - set 7, [hl] - jp Func_748d6 - -ViridianGymTextPointers: ; 749ec (1d:49ec) - dw ViridianGymText1 - dw ViridianGymText2 - dw ViridianGymText3 - dw ViridianGymText4 - dw ViridianGymText5 - dw ViridianGymText6 - dw ViridianGymText7 - dw ViridianGymText8 - dw ViridianGymText9 - dw ViridianGymText10 - dw Predef5CText - dw ViridianGymText12 - dw ViridianGymText13 - dw ViridianGymText14 - -ViridianGymTrainerHeaders: ; 74a08 (1d:4a08) -ViridianGymTrainerHeader0: ; 74a08 (1d:4a08) - db $2 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d751 ; flag's byte - dw ViridianGymBattleText1 ; 0x4afd TextBeforeBattle - dw ViridianGymAfterBattleText1 ; 0x4b07 TextAfterBattle - dw ViridianGymEndBattleText1 ; 0x4b02 TextEndBattle - dw ViridianGymEndBattleText1 ; 0x4b02 TextEndBattle - -ViridianGymTrainerHeader1: ; 74a14 (1d:4a14) - db $3 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d751 ; flag's byte - dw ViridianGymBattleText2 ; 0x4b16 TextBeforeBattle - dw ViridianGymAfterBattleText2 ; 0x4b20 TextAfterBattle - dw ViridianGymEndBattleText2 ; 0x4b1b TextEndBattle - dw ViridianGymEndBattleText2 ; 0x4b1b TextEndBattle - -ViridianGymTrainerHeader2: ; 74a20 (1d:4a20) - db $4 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d751 ; flag's byte - dw ViridianGymBattleText3 ; 0x4b2f TextBeforeBattle - dw ViridianGymAfterBattleText3 ; 0x4b39 TextAfterBattle - dw ViridianGymEndBattleText3 ; 0x4b34 TextEndBattle - dw ViridianGymEndBattleText3 ; 0x4b34 TextEndBattle - -ViridianGymTrainerHeader3: ; 74a2c (1d:4a2c) - db $5 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d751 ; flag's byte - dw ViridianGymBattleText4 ; 0x4b48 TextBeforeBattle - dw ViridianGymAfterBattleText4 ; 0x4b52 TextAfterBattle - dw ViridianGymEndBattleText4 ; 0x4b4d TextEndBattle - dw ViridianGymEndBattleText4 ; 0x4b4d TextEndBattle - -ViridianGymTrainerHeader4: ; 74a38 (1d:4a38) - db $6 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d751 ; flag's byte - dw ViridianGymBattleText5 ; 0x4b61 TextBeforeBattle - dw ViridianGymAfterBattleText5 ; 0x4b6b TextAfterBattle - dw ViridianGymEndBattleText5 ; 0x4b66 TextEndBattle - dw ViridianGymEndBattleText5 ; 0x4b66 TextEndBattle - -ViridianGymTrainerHeader5: ; 74a44 (1d:4a44) - db $7 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d751 ; flag's byte - dw ViridianGymBattleText6 ; 0x4b7a TextBeforeBattle - dw ViridianGymAfterBattleText6 ; 0x4b84 TextAfterBattle - dw ViridianGymEndBattleText6 ; 0x4b7f TextEndBattle - dw ViridianGymEndBattleText6 ; 0x4b7f TextEndBattle - -ViridianGymTrainerHeader6: ; 74a50 (1d:4a50) - db $8 ; flag's bit - db ($3 << 4) ; trainer's view range - dw $d751 ; flag's byte - dw ViridianGymBattleText7 ; 0x4b93 TextBeforeBattle - dw ViridianGymAfterBattleText7 ; 0x4b9d TextAfterBattle - dw ViridianGymEndBattleText7 ; 0x4b98 TextEndBattle - dw ViridianGymEndBattleText7 ; 0x4b98 TextEndBattle - -ViridianGymTrainerHeader7: ; 74a5c (1d:4a5c) - db $9 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d751 ; flag's byte - dw ViridianGymBattleText8 ; 0x4bac TextBeforeBattle - dw ViridianGymAfterBattleText8 ; 0x4bb6 TextAfterBattle - dw ViridianGymEndBattleText8 ; 0x4bb1 TextEndBattle - dw ViridianGymEndBattleText8 ; 0x4bb1 TextEndBattle - - db $ff - -ViridianGymText1: ; 74a69 (1d:4a69) - db $08 ; asm - ld a, [$d751] - bit 1, a - jr z, .asm_6de66 ; 0x74a6f - bit 0, a - jr nz, .asm_9fc95 ; 0x74a73 - call z, ViridianGymScript3_74995 - call DisableWaitingAfterTextDisplay - jr .asm_6dff7 ; 0x74a7b -.asm_9fc95 ; 0x74a7d - ld a, $1 - ld [$cc3c], a - ld hl, UnnamedText_74ad9 - call PrintText - call GBFadeIn1 - ld a, $32 - ld [$cc4d], a - ld a, $11 - call Predef - call UpdateSprites - call Delay3 - call GBFadeOut1 - jr .asm_6dff7 ; 0x74a9e -.asm_6de66 ; 0x74aa0 - ld hl, UnnamedText_74ace - call PrintText - ld hl, $d72d - set 6, [hl] - set 7, [hl] - ld hl, UnnamedText_74ad3 - ld de, UnnamedText_74ad3 - call PreBattleSaveRegisters - ldh a, [$8c] - ld [$cf13], a - call EngageMapTrainer - call InitBattleEnemyParameters - ld a, $8 - ld [$d05c], a - ld a, $3 - ld [W_VIRIDIANGYMCURSCRIPT], a -.asm_6dff7 ; 0x74acb - jp TextScriptEnd - -UnnamedText_74ace: ; 74ace (1d:4ace) - TX_FAR _UnnamedText_74ace - db "@" - -UnnamedText_74ad3: ; 74ad3 (1d:4ad3) - TX_FAR _UnnamedText_74ad3 - db $0b, "@" - -UnnamedText_74ad9: ; 74ad9 (1d:4ad9) - TX_FAR _UnnamedText_74ad9 - db $0d, "@" - -ViridianGymText12: ; 74adf (1d:4adf) - TX_FAR _ViridianGymText12 - db "@" - -ViridianGymText13: ; 74ae4 (1d:4ae4) - TX_FAR _ReceivedTM27Text - db $0b - -TM27ExplanationText: ; 74ae9 (1d:4ae9) - TX_FAR _TM27ExplanationText - db "@" - -ViridianGymText14: ; 74aee (1d:4aee) - TX_FAR _TM27NoRoomText - db "@" - -ViridianGymText2: ; 74af3 (1d:4af3) - db $08 ; asm - ld hl, ViridianGymTrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -ViridianGymBattleText1: ; 74afd (1d:4afd) - TX_FAR _ViridianGymBattleText1 - db "@" - -ViridianGymEndBattleText1: ; 74b02 (1d:4b02) - TX_FAR _ViridianGymEndBattleText1 - db "@" - -ViridianGymAfterBattleText1: ; 74b07 (1d:4b07) - TX_FAR _ViridianGymAfterBattleText1 - db "@" - -ViridianGymText3: ; 74b0c (1d:4b0c) - db $08 ; asm - ld hl, ViridianGymTrainerHeader1 - call TalkToTrainer - jp TextScriptEnd - -ViridianGymBattleText2: ; 74b16 (1d:4b16) - TX_FAR _ViridianGymBattleText2 - db "@" - -ViridianGymEndBattleText2: ; 74b1b (1d:4b1b) - TX_FAR _ViridianGymEndBattleText2 - db "@" - -ViridianGymAfterBattleText2: ; 74b20 (1d:4b20) - TX_FAR _ViridianGymAfterBattleText2 - db "@" - -ViridianGymText4: ; 74b25 (1d:4b25) - db $08 ; asm - ld hl, ViridianGymTrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -ViridianGymBattleText3: ; 74b2f (1d:4b2f) - TX_FAR _ViridianGymBattleText3 - db "@" - -ViridianGymEndBattleText3: ; 74b34 (1d:4b34) - TX_FAR _ViridianGymEndBattleText3 - db "@" - -ViridianGymAfterBattleText3: ; 74b39 (1d:4b39) - TX_FAR _ViridianGymAfterBattleText3 - db "@" - -ViridianGymText5: ; 74b3e (1d:4b3e) - db $08 ; asm - ld hl, ViridianGymTrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -ViridianGymBattleText4: ; 74b48 (1d:4b48) - TX_FAR _ViridianGymBattleText4 - db "@" - -ViridianGymEndBattleText4: ; 74b4d (1d:4b4d) - TX_FAR _ViridianGymEndBattleText4 - db "@" - -ViridianGymAfterBattleText4: ; 74b52 (1d:4b52) - TX_FAR _ViridianGymAfterBattleText4 - db "@" - -ViridianGymText6: ; 74b57 (1d:4b57) - db $08 ; asm - ld hl, ViridianGymTrainerHeader4 - call TalkToTrainer - jp TextScriptEnd - -ViridianGymBattleText5: ; 74b61 (1d:4b61) - TX_FAR _ViridianGymBattleText5 - db "@" - -ViridianGymEndBattleText5: ; 74b66 (1d:4b66) - TX_FAR _ViridianGymEndBattleText5 - db "@" - -ViridianGymAfterBattleText5: ; 74b6b (1d:4b6b) - TX_FAR _ViridianGymAfterBattleText5 - db "@" - -ViridianGymText7: ; 74b70 (1d:4b70) - db $08 ; asm - ld hl, ViridianGymTrainerHeader5 - call TalkToTrainer - jp TextScriptEnd - -ViridianGymBattleText6: ; 74b7a (1d:4b7a) - TX_FAR _ViridianGymBattleText6 - db "@" - -ViridianGymEndBattleText6: ; 74b7f (1d:4b7f) - TX_FAR _ViridianGymEndBattleText6 - db "@" - -ViridianGymAfterBattleText6: ; 74b84 (1d:4b84) - TX_FAR _ViridianGymAfterBattleText6 - db "@" - -ViridianGymText8: ; 74b89 (1d:4b89) - db $08 ; asm - ld hl, ViridianGymTrainerHeader6 - call TalkToTrainer - jp TextScriptEnd - -ViridianGymBattleText7: ; 74b93 (1d:4b93) - TX_FAR _ViridianGymBattleText7 - db "@" - -ViridianGymEndBattleText7: ; 74b98 (1d:4b98) - TX_FAR _ViridianGymEndBattleText7 - db "@" - -ViridianGymAfterBattleText7: ; 74b9d (1d:4b9d) - TX_FAR _ViridianGymAfterBattleText7 - db "@" - -ViridianGymText9: ; 74ba2 (1d:4ba2) - db $08 ; asm - ld hl, ViridianGymTrainerHeader7 - call TalkToTrainer - jp TextScriptEnd - -ViridianGymBattleText8: ; 74bac (1d:4bac) - TX_FAR _ViridianGymBattleText8 - db "@" - -ViridianGymEndBattleText8: ; 74bb1 (1d:4bb1) - TX_FAR _ViridianGymEndBattleText8 - db "@" - -ViridianGymAfterBattleText8: ; 74bb6 (1d:4bb6) - TX_FAR _ViridianGymAfterBattleText8 - db "@" - -ViridianGymText10: ; 74bbb (1d:4bbb) - db $08 ; asm - ld a, [$d751] - bit 1, a - jr nz, .asm_1abd1 ; 0x74bc1 - ld hl, UnnamedText_74bd4 - call PrintText - jr .asm_6064d ; 0x74bc9 -.asm_1abd1 ; 0x74bcb - ld hl, UnnamedText_74bd9 - call PrintText -.asm_6064d ; 0x74bd1 - jp TextScriptEnd - -UnnamedText_74bd4: ; 74bd4 (1d:4bd4) - TX_FAR _UnnamedText_74bd4 - db "@" - -UnnamedText_74bd9: ; 74bd9 (1d:4bd9) - TX_FAR _UnnamedText_74bd9 - db "@" +INCLUDE "scripts/viridiangym.asm" INCLUDE "data/mapObjects/viridiangym.asm" @@ -82787,48 +56427,13 @@ ViridianGymBlocks: ; 74c47 (1d:4c47) INCLUDE "data/mapHeaders/pewtermart.asm" -PewterMartScript: ; 74cad (1d:4cad) - call EnableAutoTextBoxDrawing - ld a, $1 - ld [$cf0c], a - ret - -PewterMartTextPointers: ; 74cb6 (1d:4cb6) - dw PewterMartText1 - dw PewterMartText2 - dw PewterMartText3 - -PewterMartText2: ; 74cbc (1d:4cbc) - db $08 ; asm - ld hl, UnnamedText_74cc6 - call PrintText - jp TextScriptEnd - -UnnamedText_74cc6: ; 74cc6 (1d:4cc6) - TX_FAR _UnnamedText_74cc6 - db "@" - -PewterMartText3: ; 74ccb (1d:4ccb) - db $08 ; asm - ld hl, UnnamedText_74cd5 - call PrintText - jp TextScriptEnd - -UnnamedText_74cd5: ; 74cd5 (1d:4cd5) - TX_FAR _UnnamedText_74cd5 - db "@" +INCLUDE "scripts/pewtermart.asm" INCLUDE "data/mapObjects/pewtermart.asm" INCLUDE "data/mapHeaders/unknowndungeon1.asm" -UnknownDungeon1Script: ; 74d0c (1d:4d0c) - jp EnableAutoTextBoxDrawing - -UnknownDungeon1TextPointers: ; 74d0f (1d:4d0f) - dw Predef5CText - dw Predef5CText - dw Predef5CText +INCLUDE "scripts/unknowndungeon1.asm" INCLUDE "data/mapObjects/unknowndungeon1.asm" @@ -82837,115 +56442,7 @@ UnknownDungeon1Blocks: ; 74d76 (1d:4d76) INCLUDE "data/mapHeaders/ceruleanhouse2.asm" -CeruleanHouse2Script: ; 74e09 (1d:4e09) - ld a, $1 - ld [$cf0c], a - dec a - ld [$cc3c], a - ret - -CeruleanHouse2TextPointers: ; 74e13 (1d:4e13) - dw CeruleanHouse2Text1 - -CeruleanHouse2Text1: ; 74e15 (1d:4e15) - db $8 - ld hl, UnnamedText_74e77 - call PrintText - xor a - ld [wCurrentMenuItem], a - ld [wListScrollOffset], a -.asm_74e23 - ld hl, UnnamedText_74e7c - call PrintText - ld hl, UnnamedText_74e6d - call LoadItemList - ld hl, $cf7b - ld a, l - ld [$cf8b], a - ld a, h - ld [$cf8c], a - xor a - ld [$cf93], a - ld [$cc35], a - ld a, SPECIALLISTMENU - ld [wListMenuID], a - call DisplayListMenuID - jr c, .asm_74e60 ; 0x74e49 $15 - ld hl, Unknown_74e86 - ld a, [$cf91] - sub $15 - add a - ld d, $0 - ld e, a - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - call PrintText - jr .asm_74e23 ; 0x74e5e $c3 -.asm_74e60 - xor a - ld [wListScrollOffset], a - ld hl, UnnamedText_74e81 - call PrintText - jp TextScriptEnd - -UnnamedText_74e6d: ; 74e6d (1d:4e6d) - db $8,BOULDERBADGE,CASCADEBADGE,THUNDERBADGE,RAINBOWBADGE,SOULBADGE,MARSHBADGE,VOLCANOBADGE,EARTHBADGE,$FF - -UnnamedText_74e77: ; 74e77 (1d:4e77) - TX_FAR _UnnamedText_74e77 - db "@" - -UnnamedText_74e7c: ; 74e7c (1d:4e7c) - TX_FAR _UnnamedText_74e7c - db "@" - -UnnamedText_74e81: ; 74e81 (1d:4e81) - TX_FAR _UnnamedText_74e81 - db "@" - -Unknown_74e86: ; 74e86 (1d:4e86) - dw UnnamedText_74e96 - dw UnnamedText_74e9b - dw UnnamedText_74ea0 - dw UnnamedText_74ea5 - dw UnnamedText_74eaa - dw UnnamedText_74eaf - dw UnnamedText_74eb4 - dw UnnamedText_74eb9 - -UnnamedText_74e96: ; 74e96 (1d:4e96) - TX_FAR _UnnamedText_74e96 - db "@" - -UnnamedText_74e9b: ; 74e9b (1d:4e9b) - TX_FAR _UnnamedText_74e9b - db "@" - -UnnamedText_74ea0: ; 74ea0 (1d:4ea0) - TX_FAR _UnnamedText_74ea0 - db "@" - -UnnamedText_74ea5: ; 74ea5 (1d:4ea5) - TX_FAR _UnnamedText_74ea5 - db "@" - -UnnamedText_74eaa: ; 74eaa (1d:4eaa) - TX_FAR _UnnamedText_74eaa - db "@" - -UnnamedText_74eaf: ; 74eaf (1d:4eaf) - TX_FAR _UnnamedText_74eaf - db "@" - -UnnamedText_74eb4: ; 74eb4 (1d:4eb4) - TX_FAR _UnnamedText_74eb4 - db "@" - -UnnamedText_74eb9: ; 74eb9 (1d:4eb9) - TX_FAR _UnnamedText_74eb9 - db "@" +INCLUDE "scripts/ceruleanhouse2.asm" INCLUDE "data/mapObjects/ceruleanhouse2.asm" @@ -83090,177 +56587,19 @@ VendingPrices: ; 75000 (1d:5000) INCLUDE "data/mapHeaders/fuchsiahouse1.asm" -FuchsiaHouse1Script: ; 75018 (1d:5018) - call EnableAutoTextBoxDrawing - ret - -FuchsiaHouse1TextPointers: ; 7501c (1d:501c) - dw FuchsiaHouse1Text1 - dw FuchsiaHouse1Text2 - dw FuchsiaHouse1Text3 - -FuchsiaHouse1Text1: ; 75022 (1d:5022) - TX_FAR _FuchsiaHouse1Text1 - db "@" - -FuchsiaHouse1Text2: ; 75027 (1d:5027) - TX_FAR _FuchsiaHouse1Text2 - db "@" - -FuchsiaHouse1Text3: ; 7502c (1d:502c) - TX_FAR _FuchsiaHouse1Text3 - db "@" +INCLUDE "scripts/fuchsiahouse1.asm" INCLUDE "data/mapObjects/fuchsiahouse1.asm" INCLUDE "data/mapHeaders/fuchsiapokecenter.asm" -FuchsiaPokecenterScript: ; 75063 (1d:5063) - call Func_22fa - jp EnableAutoTextBoxDrawing - -FuchsiaPokecenterTextPointers: ; 75069 (1d:5069) - dw FuchsiaPokecenterText1 - dw FuchsiaPokecenterText2 - dw FuchsiaPokecenterText3 - dw FuchsiaPokecenterText4 - -FuchsiaPokecenterText1: ; 75071 (1d:5071) - db $ff - -FuchsiaPokecenterText2: ; 75072 (1d:5072) - TX_FAR _FuchsiaPokecenterText1 - db "@" - -FuchsiaPokecenterText3: ; 75077 (1d:5077) - TX_FAR _FuchsiaPokecenterText3 - db "@" - -FuchsiaPokecenterText4: ; 7507c (1d:507c) - db $f6 +INCLUDE "scripts/fuchsiapokecenter.asm" INCLUDE "data/mapObjects/fuchsiapokecenter.asm" INCLUDE "data/mapHeaders/fuchsiahouse2.asm" -FuchsiaHouse2Script: ; 750b5 (1d:50b5) - jp EnableAutoTextBoxDrawing - -FuchsiaHouse2TextPointers: ; 750b8 (1d:50b8) - dw FuchsiaHouse2Text1 - dw Predef5CText - dw BoulderText - dw FuchsiaHouse2Text4 - dw FuchsiaHouse2Text5 - -FuchsiaHouse2Text1: ; 750c2 (1d:50c2) - db $08 ; asm - ld a, [$d78e] - bit 0, a - jr nz, .subtract ; 0x750c8 - ld b,GOLD_TEETH - call IsItemInBag - jr nz, .asm_3f30f ; 0x750cf - ld a, [$d78e] - bit 1, a - jr nz, .asm_60cba ; 0x750d6 - ld hl, WardenGibberishText1 - call PrintText - call YesNoChoice - ld a, [$cc26] - and a - ld hl, WardenGibberishText3 - jr nz, .asm_61238 ; 0x750e8 - ld hl, WardenGibberishText2 -.asm_61238 ; 0x750ed - call PrintText - jr .asm_52039 ; 0x750f0 -.asm_3f30f ; 0x750f2 - ld hl, WardenTeethText1 - call PrintText - ld a, GOLD_TEETH - ldh [$db], a - ld b, BANK(RemoveItemByID) - ld hl, RemoveItemByID - call Bankswitch - ld hl, $d78e - set 1, [hl] -.asm_60cba ; 0x75109 - ld hl, WardenThankYouText - call PrintText - ld bc,(HM_04 << 8) | 1 - call GiveItem - jr nc, .BagFull - ld hl, ReceivedHM04Text - call PrintText - ld hl, $d78e - set 0, [hl] - jr .asm_52039 ; 0x75122 -.subtract ; 0x75124 - ld hl, HM04ExplanationText - call PrintText - jr .asm_52039 ; 0x7512a -.BagFull - ld hl, HM04NoRoomText - call PrintText -.asm_52039 ; 0x75132 - jp TextScriptEnd - -WardenGibberishText1: ; 75135 (1d:5135) - TX_FAR _WardenGibberishText1 - db "@" - -WardenGibberishText2: ; 7513a (1d:513a) - TX_FAR _WardenGibberishText2 - db "@" - -WardenGibberishText3: ; 7513f (1d:513f) - TX_FAR _WardenGibberishText3 - db "@" - -WardenTeethText1: ; 75144 (1d:5144) - TX_FAR _WardenTeethText1 - db $0b - -WardenTeethText2: ; 75149 (1d:5149) - TX_FAR _WardenTeethText2 - db "@" - -WardenThankYouText: ; 7514e (1d:514e) - TX_FAR _WardenThankYouText - db "@" - -ReceivedHM04Text: ; 75153 (1d:5153) - TX_FAR _ReceivedHM04Text - db $0B, "@" - -HM04ExplanationText: ; 75159 (1d:5159) - TX_FAR _HM04ExplanationText - db "@" - -HM04NoRoomText: ; 7515e (1d:515e) - TX_FAR _HM04NoRoomText - db "@" - -FuchsiaHouse2Text5: ; 75163 (1d:5163) -FuchsiaHouse2Text4: ; 75163 (1d:5163) - db $08 ; asm - ldh a, [$8c] - cp $4 - ld hl, UnnamedText_7517b - jr nz, .asm_4c9a2 ; 0x7516b - ld hl, UnnamedText_75176 -.asm_4c9a2 ; 0x75170 - call PrintText - jp TextScriptEnd - -UnnamedText_75176: ; 75176 (1d:5176) - TX_FAR _UnnamedText_75176 - db "@" - -UnnamedText_7517b: ; 7517b (1d:517b) - TX_FAR _UnnamedText_7517b - db "@" +INCLUDE "scripts/fuchsiahouse2.asm" INCLUDE "data/mapObjects/fuchsiahouse2.asm" @@ -83269,306 +56608,7 @@ FuchsiaHouse2Blocks: ; 751ad (1d:51ad) INCLUDE "data/mapHeaders/safarizoneentrance.asm" -SafariZoneEntranceScript: ; 751cd (1d:51cd) - call EnableAutoTextBoxDrawing - ld hl, SafariZoneEntranceScriptPointers - ld a, [W_SAFARIZONEENTRANCECURSCRIPT] - jp CallFunctionInTable - -SafariZoneEntranceScriptPointers: ; 751d9 (1d:51d9) - dw SafariZoneEntranceScript0 - dw SafariZoneEntranceScript1 - dw SafariZoneEntranceScript2 - dw SafariZoneEntranceScript3 - dw SafariZoneEntranceScript4 - dw SafariZoneEntranceScript5 - dw SafariZoneEntranceScript6 - -SafariZoneEntranceScript0: ; 751e7 (1d:51e7) - ld hl, CoordsData_75221 - call ArePlayerCoordsInArray - ret nc - ld a, $3 - ld [$ff8c], a - call DisplayTextID - ld a, $ff - ld [wJoypadForbiddenButtonsMask], a - xor a - ld [H_CURRENTPRESSEDBUTTONS], a - ld a, $c - ld [$c109], a - ld a, [$cd3d] - cp $1 - jr z, .asm_7520f ; 0x75207 $6 - ld a, $2 - ld [W_SAFARIZONEENTRANCECURSCRIPT], a - ret -.asm_7520f - ld a, $10 - ld c, $1 - call Func_752a3 - ld a, $f0 - ld [wJoypadForbiddenButtonsMask], a - ld a, $1 - ld [W_SAFARIZONEENTRANCECURSCRIPT], a - ret - -CoordsData_75221: ; 75221 (1d:5221) - db $02,$03 - db $02,$04 - db $FF - -SafariZoneEntranceScript1: ; 75226 (1d:5226) - call Func_752b4 - ret nz -SafariZoneEntranceScript2: ; 7522a (1d:522a) - xor a - ld [H_CURRENTPRESSEDBUTTONS], a - ld [wJoypadForbiddenButtonsMask], a - call UpdateSprites - ld a, $4 - ld [$ff8c], a - call DisplayTextID - ld a, $ff - ld [wJoypadForbiddenButtonsMask], a - ret - -SafariZoneEntranceScript3: ; 75240 (1d:5240) - call Func_752b4 - ret nz - xor a - ld [wJoypadForbiddenButtonsMask], a - ld a, $5 - ld [W_SAFARIZONEENTRANCECURSCRIPT], a - ret - -SafariZoneEntranceScript5: ; 7524e (1d:524e) - ld a, $4 - ld [$d528], a - ld hl, $d790 - bit 6, [hl] - res 6, [hl] - jr z, .asm_7527f ; 0x7525a $23 - res 7, [hl] - call UpdateSprites - ld a, $f0 - ld [wJoypadForbiddenButtonsMask], a - ld a, $6 - ld [$ff8c], a - call DisplayTextID - xor a - ld [$da47], a - ld a, $80 - ld c, $3 - call Func_752a3 - ld a, $4 - ld [W_SAFARIZONEENTRANCECURSCRIPT], a - jr .asm_75286 ; 0x7527d $7 -.asm_7527f - ld a, $5 - ld [$ff8c], a - call DisplayTextID -.asm_75286 - ret - -SafariZoneEntranceScript4: ; 75287 (1d:5287) - call Func_752b4 - ret nz - xor a - ld [wJoypadForbiddenButtonsMask], a - ld a, $0 - ld [W_SAFARIZONEENTRANCECURSCRIPT], a - ret - -SafariZoneEntranceScript6: ; 75295 (1d:5295) - call Func_752b4 - ret nz - call Delay3 - ld a, [$cf0d] - ld [W_SAFARIZONEENTRANCECURSCRIPT], a - ret - -Func_752a3: ; 752a3 (1d:52a3) - push af - ld b, $0 - ld a, c - ld [$cd38], a - ld hl, $ccd3 - pop af - call FillMemory - jp Func_3486 - -Func_752b4: ; 752b4 (1d:52b4) - ld a, [$cd38] - and a - ret - -SafariZoneEntranceTextPointers: ; 752b9 (1d:52b9) - dw SafariZoneEntranceText1 - dw SafariZoneEntranceText2 - dw SafariZoneEntranceText3 - dw SafariZoneEntranceText4 - dw SafariZoneEntranceText5 - dw SafariZoneEntranceText6 - -SafariZoneEntranceText3: ; 752c5 (1d:52c5) -SafariZoneEntranceText1: ; 752c5 (1d:52c5) - TX_FAR _SafariZoneEntranceText1 - db "@" - -SafariZoneEntranceText4: ; 752ca (1d:52ca) - TX_FAR UnnamedText_9e6e4 ; 0x9e6e4 - db $8 - ld a, $13 - ld [$d125], a - call DisplayTextBoxID - call YesNoChoice - ld a, [$cc26] - and a - jp nz, .asm_75346 - xor a - ld [$ff9f], a - ld a, $5 - ld [$ffa0], a - ld a, $0 - ld [$ffa1], a - call HasEnoughMoney - jr nc, .asm_752f9 ; 0x752ef $8 - ld hl, UnnamedText_7536a - call PrintText - jr .asm_7534c ; 0x752f7 $53 -.asm_752f9 - xor a - ld [$cd3d], a - ld a, $5 - ld [$cd3e], a - ld a, $0 - ld [$cd3f], a - ld hl, $cd3f - ld de, $d349 - ld c, $3 - ld a, $c - call Predef - ld a, $13 - ld [$d125], a - call DisplayTextBoxID - ld hl, UnnamedText_7535b - call PrintText - ld a, $1e - ld [$da47], a - ld a, 502 / $100 - ld [wSafariSteps], a - ld a, 502 % $100 - ld [wSafariSteps + 1], a - ld a, $40 - ld c, $3 - call Func_752a3 - ld hl, $d790 - set 7, [hl] - res 6, [hl] - ld a, $3 - ld [W_SAFARIZONEENTRANCECURSCRIPT], a - jr .asm_75358 ; 0x75344 $12 -.asm_75346 - ld hl, UnnamedText_75365 - call PrintText -.asm_7534c - ld a, $80 - ld c, $1 - call Func_752a3 - ld a, $4 - ld [W_SAFARIZONEENTRANCECURSCRIPT], a -.asm_75358 - jp TextScriptEnd - -UnnamedText_7535b: ; 7535b (1d:535b) - TX_FAR UnnamedText_9e747 ; 0x9e747 - db $0B - -UnnamedText_75360: ; 75360 (1d:5360) - TX_FAR _UnnamedText_75360 - db "@" - -UnnamedText_75365: ; 75365 (1d:5365) - TX_FAR _UnnamedText_75365 - db "@" - -UnnamedText_7536a: ; 7536a (1d:536a) - TX_FAR _UnnamedText_7536a - db "@" - -SafariZoneEntranceText5: ; 7536f (1d:536f) - TX_FAR UnnamedText_9e814 ; 0x9e814 - db $8 - call YesNoChoice - ld a, [$cc26] - and a - jr nz, .asm_7539c ; 0x7537b $1f - ld hl, UnnamedText_753bb - call PrintText - xor a - ld [$c109], a - ld a, $80 - ld c, $3 - call Func_752a3 - ld hl, $d790 - res 6, [hl] - res 7, [hl] - ld a, $0 - ld [$cf0d], a - jr .asm_753b3 ; 0x7539a $17 -.asm_7539c - ld hl, UnnamedText_753c0 - call PrintText - ld a, $4 - ld [$c109], a - ld a, $40 - ld c, $1 - call Func_752a3 - ld a, $5 - ld [$cf0d], a -.asm_753b3 - ld a, $6 - ld [W_SAFARIZONEENTRANCECURSCRIPT], a - jp TextScriptEnd - -UnnamedText_753bb: ; 753bb (1d:53bb) - TX_FAR _UnnamedText_753bb - db "@" - -UnnamedText_753c0: ; 753c0 (1d:53c0) - TX_FAR _UnnamedText_753c0 - db "@" - -SafariZoneEntranceText6: ; 753c5 (1d:53c5) - TX_FAR _UnnamedText_753c5 - db "@" - -SafariZoneEntranceText2: ; 753ca (1d:53ca) - db $08 ; asm - ld hl, UnnamedText_753e6 - call PrintText - call YesNoChoice - ld a, [$cc26] - and a - ld hl, UnnamedText_753f0 - jr nz, .asm_278a6 ; 0x753db - ld hl, UnnamedText_753eb -.asm_278a6 ; 0x753e0 - call PrintText - jp TextScriptEnd - -UnnamedText_753e6: ; 753e6 (1d:53e6) - TX_FAR _UnnamedText_753e6 - db "@" - -UnnamedText_753eb: ; 753eb (1d:53eb) - TX_FAR _UnnamedText_753eb - db "@" - -UnnamedText_753f0: ; 753f0 (1d:53f0) - TX_FAR _UnnamedText_753f0 - db "@" +INCLUDE "scripts/safarizoneentrance.asm" INCLUDE "data/mapObjects/safarizoneentrance.asm" @@ -83577,342 +56617,7 @@ SafariZoneEntranceBlocks: ; 75425 (1d:5425) INCLUDE "data/mapHeaders/fuchsiagym.asm" -FuchsiaGymScript: ; 7543d (1d:543d) - call FuchsiaGymScript_75453 - call EnableAutoTextBoxDrawing - ld hl, FuchsiaGymTrainerHeaders - ld de, FuchsiaGymScriptPointers - ld a, [W_FUCHSIAGYMCURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_FUCHSIAGYMCURSCRIPT], a - ret - -FuchsiaGymScript_75453: ; 75453 (1d:5453) - ld hl, $D126 - bit 6, [hl] - res 6, [hl] - ret z - ld hl, Gym5CityName - ld de, Gym5LeaderName - call LoadGymLeaderAndCityName - ret - -Gym5CityName: ; 75465 (1d:5465) - db "FUCHSIA CITY@" -Gym5LeaderName: ; 75472 (1d:5472) - db "KOGA@" - -Func_75477: ; 75477 (1d:5477) - xor a - ld [wJoypadForbiddenButtonsMask], a - ld [W_FUCHSIAGYMCURSCRIPT], a - ld [W_CURMAPSCRIPT], a - ret - -FuchsiaGymScriptPointers: ; 75482 (1d:5482) - dw CheckFightingMapTrainers - dw Func_324c - dw EndTrainerBattle - dw FuchsiaGymScript3 - -FuchsiaGymScript3: ; 7548a (1d:548a) - ld a, [W_ISINBATTLE] ; $d057 - cp $ff - jp z, Func_75477 - ld a, $f0 - ld [wJoypadForbiddenButtonsMask], a -FuchsiaGymScript3_75497: ; 75497 (1d:5497) - ld a, $9 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - call DisplayTextID - ld hl, $d792 - set 1, [hl] - ld bc, (TM_06 << 8) | 1 - call GiveItem - jr nc, .BagFull - ld a, $a - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - call DisplayTextID - ld hl, $d792 - set 0, [hl] - jr .asm_754c0 -.BagFull - ld a, $b - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - call DisplayTextID -.asm_754c0 - ld hl, W_OBTAINEDBADGES - set 4, [hl] - ld hl, $d72a - set 4, [hl] - - ; deactivate gym trainers - ld a, [$d792] - or %11111100 - ld [$d792], a - - jp Func_75477 - -FuchsiaGymTextPointers: ; 754d5 (1d:54d5) - dw FuchsiaGymText1 - dw FuchsiaGymText2 - dw FuchsiaGymText3 - dw FuchsiaGymText4 - dw FuchsiaGymText5 - dw FuchsiaGymText6 - dw FuchsiaGymText7 - dw FuchsiaGymText8 - dw FuchsiaGymText9 - dw FuchsiaGymText10 - dw FuchsiaGymText11 - -FuchsiaGymTrainerHeaders: ; 754eb (1d:54eb) -FuchsiaGymTrainerHeader0: ; 754eb (1d:54eb) - db $2 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d792 ; flag's byte - dw FuchsiaGymBattleText1 ; 0x55ae TextBeforeBattle - dw FuchsiaGymAfterBattleText1 ; 0x55b8 TextAfterBattle - dw FuchsiaGymEndBattleText1 ; 0x55b3 TextEndBattle - dw FuchsiaGymEndBattleText1 ; 0x55b3 TextEndBattle - -FuchsiaGymTrainerHeader2: ; 754f7 (1d:54f7) - db $3 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d792 ; flag's byte - dw FuchsiaGymBattleText2 ; 0x55c7 TextBeforeBattle - dw FuchsiaGymAfterBattleText2 ; 0x55d1 TextAfterBattle - dw FuchsiaGymEndBattleText2 ; 0x55cc TextEndBattle - dw FuchsiaGymEndBattleText2 ; 0x55cc TextEndBattle - -FuchsiaGymTrainerHeader3: ; 75503 (1d:5503) - db $4 ; flag's bit - db ($4 << 4) ; trainer's view range - dw $d792 ; flag's byte - dw FuchsiaGymBattleText3 ; 0x55e0 TextBeforeBattle - dw FuchsiaGymAfterBattleText3 ; 0x55ea TextAfterBattle - dw FuchsiaGymEndBattleText3 ; 0x55e5 TextEndBattle - dw FuchsiaGymEndBattleText3 ; 0x55e5 TextEndBattle - -FuchsiaGymTrainerHeader4: ; 7550f (1d:550f) - db $5 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d792 ; flag's byte - dw FuchsiaGymBattleText4 ; 0x55f9 TextBeforeBattle - dw FuchsiaGymAfterBattleText4 ; 0x5603 TextAfterBattle - dw FuchsiaGymEndBattleText4 ; 0x55fe TextEndBattle - dw FuchsiaGymEndBattleText4 ; 0x55fe TextEndBattle - -FuchsiaGymTrainerHeader5: ; 7551b (1d:551b) - db $6 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d792 ; flag's byte - dw FuchsiaGymBattleText5 ; 0x5612 TextBeforeBattle - dw FuchsiaGymAfterBattleText5 ; 0x561c TextAfterBattle - dw FuchsiaGymEndBattleText5 ; 0x5617 TextEndBattle - dw FuchsiaGymEndBattleText5 ; 0x5617 TextEndBattle - -FuchsiaGymTrainerHeader6: ; 75527 (1d:5527) - db $7 ; flag's bit - db ($2 << 4) ; trainer's view range - dw $d792 ; flag's byte - dw FuchsiaGymBattleText6 ; 0x562b TextBeforeBattle - dw FuchsiaGymAfterBattleText6 ; 0x5635 TextAfterBattle - dw FuchsiaGymEndBattleText6 ; 0x5630 TextEndBattle - dw FuchsiaGymEndBattleText6 ; 0x5630 TextEndBattle - - db $ff - -FuchsiaGymText1: ; 75534 (1d:5534) - db $08 ; asm - ld a, [$d792] - bit 1, a - jr z, .asm_181b6 ; 0x7553a - bit 0, a - jr nz, .asm_adc3b ; 0x7553e - call z, FuchsiaGymScript3_75497 - call DisableWaitingAfterTextDisplay - jr .asm_e84c6 ; 0x75546 -.asm_adc3b ; 0x75548 - ld hl, UnnamedText_7558b - call PrintText - jr .asm_e84c6 ; 0x7554e -.asm_181b6 ; 0x75550 - ld hl, UnnamedText_75581 - call PrintText - ld hl, $d72d - set 6, [hl] - set 7, [hl] - ld hl, UnnamedText_75586 - ld de, UnnamedText_75586 - call PreBattleSaveRegisters - ldh a, [$8c] - ld [$cf13], a - call EngageMapTrainer - call InitBattleEnemyParameters - ld a, $5 - ld [$d05c], a - xor a - ldh [$b4], a - ld a, $3 - ld [W_FUCHSIAGYMCURSCRIPT], a -.asm_e84c6 ; 0x7557e - jp TextScriptEnd - -UnnamedText_75581: ; 75581 (1d:5581) - TX_FAR _UnnamedText_75581 - db "@" - -UnnamedText_75586: ; 75586 (1d:5586) - TX_FAR _UnnamedText_75586 - db "@" - -UnnamedText_7558b: ; 7558b (1d:558b) - TX_FAR _UnnamedText_7558b - db "@" - -FuchsiaGymText9: ; 75590 (1d:5590) - TX_FAR _UnnamedText_75590 - db "@" - -FuchsiaGymText10: ; 75595 (1d:5595) - TX_FAR _ReceivedTM06Text - db $11 - -TM06ExplanationText: ; 7559a (1d:559a) - TX_FAR _TM06ExplanationText - db "@" - -FuchsiaGymText11: ; 7559f (1d:559f) - TX_FAR _TM06NoRoomText - db "@" - -FuchsiaGymText2: ; 755a4 (1d:55a4) - db $08 ; asm - ld hl, FuchsiaGymTrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -FuchsiaGymBattleText1: ; 755ae (1d:55ae) - TX_FAR _FuchsiaGymBattleText1 - db "@" - -FuchsiaGymEndBattleText1: ; 755b3 (1d:55b3) - TX_FAR _FuchsiaGymEndBattleText1 - db "@" - -FuchsiaGymAfterBattleText1: ; 755b8 (1d:55b8) - TX_FAR _FuchsiaGymAfterBattleText1 - db "@" - -FuchsiaGymText3: ; 755bd (1d:55bd) - db $08 ; asm - ld hl, FuchsiaGymTrainerHeader2 - call TalkToTrainer - jp TextScriptEnd - -FuchsiaGymBattleText2: ; 755c7 (1d:55c7) - TX_FAR _FuchsiaGymBattleText2 - db "@" - -FuchsiaGymEndBattleText2: ; 755cc (1d:55cc) - TX_FAR _FuchsiaGymEndBattleText2 - db "@" - -FuchsiaGymAfterBattleText2: ; 755d1 (1d:55d1) - TX_FAR _FuchsiaGymAfterBattleText2 - db "@" - -FuchsiaGymText4: ; 755d6 (1d:55d6) - db $08 ; asm - ld hl, FuchsiaGymTrainerHeader3 - call TalkToTrainer - jp TextScriptEnd - -FuchsiaGymBattleText3: ; 755e0 (1d:55e0) - TX_FAR _FuchsiaGymBattleText3 - db "@" - -FuchsiaGymEndBattleText3: ; 755e5 (1d:55e5) - TX_FAR _FuchsiaGymEndBattleText3 - db "@" - -FuchsiaGymAfterBattleText3: ; 755ea (1d:55ea) - TX_FAR _FuchsiaGymAfterBattleText3 - db "@" - -FuchsiaGymText5: ; 755ef (1d:55ef) - db $08 ; asm - ld hl, FuchsiaGymTrainerHeader4 - call TalkToTrainer - jp TextScriptEnd - -FuchsiaGymBattleText4: ; 755f9 (1d:55f9) - TX_FAR _FuchsiaGymBattleText4 - db "@" - -FuchsiaGymEndBattleText4: ; 755fe (1d:55fe) - TX_FAR _FuchsiaGymEndBattleText4 - db "@" - -FuchsiaGymAfterBattleText4: ; 75603 (1d:5603) - TX_FAR _FuchsiaGymAfterBattleText4 - db "@" - -FuchsiaGymText6: ; 75608 (1d:5608) - db $08 ; asm - ld hl, FuchsiaGymTrainerHeader5 - call TalkToTrainer - jp TextScriptEnd - -FuchsiaGymBattleText5: ; 75612 (1d:5612) - TX_FAR _FuchsiaGymBattleText5 - db "@" - -FuchsiaGymEndBattleText5: ; 75617 (1d:5617) - TX_FAR _FuchsiaGymEndBattleText5 - db "@" - -FuchsiaGymAfterBattleText5: ; 7561c (1d:561c) - TX_FAR _FuchsiaGymAfterBattleText5 - db "@" - -FuchsiaGymText7: ; 75621 (1d:5621) - db $08 ; asm - ld hl, FuchsiaGymTrainerHeader6 - call TalkToTrainer - jp TextScriptEnd - -FuchsiaGymBattleText6: ; 7562b (1d:562b) - TX_FAR _FuchsiaGymBattleText6 - db "@" - -FuchsiaGymEndBattleText6: ; 75630 (1d:5630) - TX_FAR _FuchsiaGymEndBattleText6 - db "@" - -FuchsiaGymAfterBattleText6: ; 75635 (1d:5635) - TX_FAR _FuchsiaGymAfterBattleText6 - db "@" - -FuchsiaGymText8: ; 7563a (1d:563a) - db $08 ; asm - ld a, [$d792] - bit 1, a - ld hl, UnnamedText_75653 - jr nz, .asm_50671 ; 0x75643 - ld hl, UnnamedText_7564e -.asm_50671 ; 0x75648 - call PrintText - jp TextScriptEnd - -UnnamedText_7564e: ; 7564e (1d:564e) - TX_FAR _UnnamedText_7564e - db "@" - -UnnamedText_75653: ; 75653 (1d:5653) - TX_FAR _UnnamedText_75653 - db "@" +INCLUDE "scripts/fuchsiagym.asm" INCLUDE "data/mapObjects/fuchsiagym.asm" @@ -83921,26 +56626,7 @@ FuchsiaGymBlocks: ; 756aa (1d:56aa) INCLUDE "data/mapHeaders/fuchsiameetingroom.asm" -FuchsiaMeetingRoomScript: ; 756e3 (1d:56e3) - call EnableAutoTextBoxDrawing - ret - -FuchsiaMeetingRoomTextPointers: ; 756e7 (1d:56e7) - dw FuchsiaMeetingRoomText1 - dw FuchsiaMeetingRoomText2 - dw FuchsiaMeetingRoomText3 - -FuchsiaMeetingRoomText1: ; 756ed (1d:56ed) - TX_FAR _FuchsiaMeetingRoomText1 - db "@" - -FuchsiaMeetingRoomText2: ; 756f2 (1d:56f2) - TX_FAR _FuchsiaMeetingRoomText2 - db "@" - -FuchsiaMeetingRoomText3: ; 756f7 (1d:56f7) - TX_FAR _FuchsiaMeetingRoomText3 - db "@" +INCLUDE "scripts/fuchsiameetingroom.asm" INCLUDE "data/mapObjects/fuchsiameetingroom.asm" @@ -83949,489 +56635,7 @@ FuchsiaMeetingRoomBlocks: ; 75722 (1d:5722) INCLUDE "data/mapHeaders/cinnabargym.asm" -CinnabarGymScript: ; 7574a (1d:574a) - call CinnabarGymScript_75759 - call EnableAutoTextBoxDrawing - ld hl, CinnabarGymScriptPointers - ld a, [W_CINNABARGYMCURSCRIPT] - jp CallFunctionInTable - -CinnabarGymScript_75759: ; 75759 (1d:5759) - ld hl, $D126 - bit 6, [hl] - res 6, [hl] - push hl - call nz, CinnabarGymScript_75772 - pop hl - bit 5, [hl] - res 5, [hl] - call nz, Func_3ead - ld hl, $D79B - res 7, [hl] - ret -CinnabarGymScript_75772: ; 75772 (1d:5772) - ld hl, Gym7CityName - ld de, Gym7LeaderName - jp LoadGymLeaderAndCityName - -Gym7CityName: ; 7577b (1d:577b) - db "CINNABAR ISLAND@" -Gym7LeaderName: ; 7578b (1d:578b) - db "BLAINE@" - -CinnabarGymScript_75792: ; 75792 (1d:5792) - xor a - ld [wJoypadForbiddenButtonsMask], a - ld [W_CINNABARGYMCURSCRIPT], a - ld [W_CURMAPSCRIPT], a - ld [$da38], a - ret - -CinnabarGymScript_757a0: ; 757a0 (1d:57a0) - ld a, [H_DOWNARROWBLINKCNT2] ; $ff8c - ld [wTrainerHeaderFlagBit], a - ret - -CinnabarGymScriptPointers: ; 757a6 (1d:57a6) - dw CinnabarGymScript0 - dw CinnabarGymScript1 - dw CinnabarGymScript2 - dw CinnabarGymScript3 - -CinnabarGymScript0: ; 757ae (1d:57ae) - ld a, [$da38] - and a - ret z - ld [$ff8c], a - cp $4 - jr nz, .asm_757c3 ; 0x757b7 $a - ld a, $4 - ld [$d528], a - ld de, MovementData_757d7 - jr .asm_757cb ; 0x757c1 $8 -.asm_757c3 - ld de, MovementData_757da - ld a, $1 - ld [$d528], a -.asm_757cb - call MoveSprite - ld a, $1 - ld [W_CINNABARGYMCURSCRIPT], a - ld [W_CURMAPSCRIPT], a - ret - -MovementData_757d7: ; 757d7 (1d:57d7) - db $80,$40,$FF - -MovementData_757da: ; 757da (1d:57da) - db $80,$FF - -CinnabarGymScript1: ; 757dc (1d:57dc) - ld a, [$d730] - bit 0, a - ret nz - xor a - ld [wJoypadForbiddenButtonsMask], a - ld a, [$da38] - ld [wTrainerHeaderFlagBit], a - ld [$ff8c], a - jp DisplayTextID - -Func_757f1: ; 757f1 (1d:57f1) - ld a, $10 - jp Predef ; indirect jump to HandleBitArray (f666 (3:7666)) - -CinnabarGymScript2: ; 757f6 (1d:57f6) - ld a, [$d057] - cp $ff - jp z, CinnabarGymScript_75792 - ld a, [wTrainerHeaderFlagBit] - ld [$ffdb], a - ld c, a - ld b, $2 - ld hl, $d79a - call Func_757f1 - ld a, c - and a - jr nz, .asm_7581b ; 0x7580e $b - call WaitForSoundToFinish - ld a, (SFX_02_57 - SFX_Headers_02) / 3 - call PlaySound - call WaitForSoundToFinish -.asm_7581b - ld a, [wTrainerHeaderFlagBit] - ld [$ffdb], a - ld c, a - ld b, $1 - ld hl, $d79a - call Func_757f1 - ld a, [wTrainerHeaderFlagBit] - sub $2 - ld c, a - ld b, $1 - ld hl, $d79c - call Func_757f1 - call Func_3ead - xor a - ld [wJoypadForbiddenButtonsMask], a - ld [$da38], a - ld a, $0 - ld [W_CINNABARGYMCURSCRIPT], a - ld [W_CURMAPSCRIPT], a - ret - -CinnabarGymScript3: ; 7584a (1d:584a) - ld a, [$d057] - cp $ff - jp z, CinnabarGymScript_75792 - ld a, $f0 - ld [wJoypadForbiddenButtonsMask], a -CinnabarGymScript3_75857: ; 75857 (1d:5857) - ld a, $a - ld [$ff8c], a - call DisplayTextID - ld hl, $d79a - set 1, [hl] - ld bc, (TM_38 << 8) | 1 - call GiveItem - jr nc, .BagFull - ld a, $b - ld [$ff8c], a - call DisplayTextID - ld hl, $d79a - set 0, [hl] - jr .asm_75880 ; 0x75877 $7 -.BagFull - ld a, $c - ld [$ff8c], a - call DisplayTextID -.asm_75880 - ld hl, W_OBTAINEDBADGES - set 6, [hl] - ld hl, $d72a - set 6, [hl] - - ; deactivate gym trainers - ld a, [$d79a] - or %11111100 - ld [$d79a], a - ld hl, $d79b - set 0, [hl] - - ld hl, $d126 - set 5, [hl] - - jp CinnabarGymScript_75792 - -CinnabarGymTextPointers: ; 7589f (1d:589f) - dw CinnabarGymText1 - dw CinnabarGymText2 - dw CinnabarGymText3 - dw CinnabarGymText4 - dw CinnabarGymText5 - dw CinnabarGymText6 - dw CinnabarGymText7 - dw CinnabarGymText8 - dw CinnabarGymText9 - dw BlaineBadgeText - dw ReceivedTM38Text - dw TM38NoRoomText - -Func_758b7: ; 758b7 (1d:58b7) - ld a, [H_DOWNARROWBLINKCNT2] ; $ff8c - ld [$cf13], a - call EngageMapTrainer - call InitBattleEnemyParameters - ld hl, $d72d - set 6, [hl] - set 7, [hl] - ld a, [$cf13] - cp $1 - jr z, .asm_758d4 - ld a, $2 - jr .asm_758d6 -.asm_758d4 - ld a, $3 -.asm_758d6 - ld [W_CINNABARGYMCURSCRIPT], a - ld [W_CURMAPSCRIPT], a - jp TextScriptEnd - -CinnabarGymText1: ; 758df (1d:58df) - db $8 - ld a, [$d79a] - bit 1, a - jr z, .asm_d9332 ; 0x758e5 $16 - bit 0, a - jr nz, .asm_3012f ; 0x758e9 $9 - call z, CinnabarGymScript3_75857 - call DisableWaitingAfterTextDisplay - jp TextScriptEnd -.asm_3012f ; 0x758f4 - ld hl, BlaineFireBlastText - call PrintText - jp TextScriptEnd -.asm_d9332 ; 0x758fd - ld hl, BlaineBattleText - call PrintText - ld hl, BlaineEndBattleText - ld de, BlaineEndBattleText - call PreBattleSaveRegisters - ld a, $7 - ld [$d05c], a - jp Func_758b7 - -BlaineBattleText: ; 75914 (1d:5914) - TX_FAR _BlaineBattleText - db "@" - -BlaineEndBattleText: ; 75919 (1d:5919) - TX_FAR _BlaineEndBattleText - db $11 - db $d - db "@" - -BlaineFireBlastText: ; 75920 (1d:5920) - TX_FAR _BlaineFireBlastText - db "@" - -BlaineBadgeText: ; 75925 (1d:5925) - TX_FAR _BlaineBadgeText - db "@" - -ReceivedTM38Text: ; 7592a (1d:592a) - TX_FAR _ReceivedTM38Text - db $0B - TX_FAR _TM38ExplanationText - db "@" - -TM38NoRoomText: ; 75934 (1d:5934) - TX_FAR _TM38NoRoomText - db "@" - -CinnabarGymText2: ; 75939 (1d:5939) - db $08 ; asm - call CinnabarGymScript_757a0 - ld a, [$d79a] - bit 2, a - jr nz, .asm_46bb4 ; 0x75942 - ld hl, UnnamedText_7595f - call PrintText - ld hl, UnnamedText_75964 - ld de, UnnamedText_75964 ; $5964 XXX - call PreBattleSaveRegisters - jp Func_758b7 -.asm_46bb4 ; 0x75956 - ld hl, UnnamedText_75969 - call PrintText - jp TextScriptEnd - -UnnamedText_7595f: ; 7595f (1d:595f) - TX_FAR _UnnamedText_7595f - db "@" - -UnnamedText_75964: ; 75964 (1d:5964) - TX_FAR _UnnamedText_75964 - db "@" - -UnnamedText_75969: ; 75969 (1d:5969) - TX_FAR _UnnamedText_75969 - db "@" - -CinnabarGymText3: ; 7596e (1d:596e) - db $08 ; asm - call CinnabarGymScript_757a0 - ld a, [$d79a] - bit 3, a - jr nz, .asm_4b406 ; 0x75977 - ld hl, UnnamedText_75994 - call PrintText - ld hl, UnnamedText_75999 - ld de, UnnamedText_75999 ; $5999 XXX - call PreBattleSaveRegisters - jp Func_758b7 -.asm_4b406 ; 0x7598b - ld hl, UnnamedText_7599e - call PrintText - jp TextScriptEnd - -UnnamedText_75994: ; 75994 (1d:5994) - TX_FAR _UnnamedText_75994 - db "@" - -UnnamedText_75999: ; 75999 (1d:5999) - TX_FAR _UnnamedText_75999 - db "@" - -UnnamedText_7599e: ; 7599e (1d:599e) - TX_FAR _UnnamedText_7599e - db "@" - -CinnabarGymText4: ; 759a3 (1d:59a3) - db $08 ; asm - call CinnabarGymScript_757a0 - ld a, [$d79a] - bit 4, a - jr nz, .asm_c0673 ; 0x759ac - ld hl, UnnamedText_759c9 - call PrintText - ld hl, UnnamedText_759ce - ld de, UnnamedText_759ce ; $59ce XXX - call PreBattleSaveRegisters - jp Func_758b7 -.asm_c0673 ; 0x759c0 - ld hl, UnnamedText_759d3 - call PrintText - jp TextScriptEnd - -UnnamedText_759c9: ; 759c9 (1d:59c9) - TX_FAR _UnnamedText_759c9 - db "@" - -UnnamedText_759ce: ; 759ce (1d:59ce) - TX_FAR _UnnamedText_759ce - db "@" - -UnnamedText_759d3: ; 759d3 (1d:59d3) - TX_FAR _UnnamedText_759d3 - db "@" - -CinnabarGymText5: ; 759d8 (1d:59d8) - db $08 ; asm - call CinnabarGymScript_757a0 - ld a, [$d79a] - bit 5, a - jr nz, .asm_5cfd7 ; 0x759e1 - ld hl, UnnamedText_759fe - call PrintText - ld hl, UnnamedText_75a03 - ld de, UnnamedText_75a03 ; $5a03 XXX - call PreBattleSaveRegisters - jp Func_758b7 -.asm_5cfd7 ; 0x759f5 - ld hl, UnnamedText_75a08 - call PrintText - jp TextScriptEnd - -UnnamedText_759fe: ; 759fe (1d:59fe) - TX_FAR _UnnamedText_759fe - db "@" - -UnnamedText_75a03: ; 75a03 (1d:5a03) - TX_FAR _UnnamedText_75a03 - db "@" - -UnnamedText_75a08: ; 75a08 (1d:5a08) - TX_FAR _UnnamedText_75a08 - db "@" - -CinnabarGymText6: ; 75a0d (1d:5a0d) - db $08 ; asm - call CinnabarGymScript_757a0 - ld a, [$d79a] - bit 6, a - jr nz, .asm_776b4 ; 0x75a16 - ld hl, UnnamedText_75a33 - call PrintText - ld hl, UnnamedText_75a38 - ld de, UnnamedText_75a38 - call PreBattleSaveRegisters - jp Func_758b7 -.asm_776b4 ; 0x75a2a - ld hl, UnnamedText_75a3d - call PrintText - jp TextScriptEnd - -UnnamedText_75a33: ; 75a33 (1d:5a33) - TX_FAR _UnnamedText_75a33 - db "@" - -UnnamedText_75a38: ; 75a38 (1d:5a38) - TX_FAR _UnnamedText_75a38 - db "@" - -UnnamedText_75a3d: ; 75a3d (1d:5a3d) - TX_FAR _UnnamedText_75a3d - db "@" - -CinnabarGymText7: ; 75a42 (1d:5a42) - db $08 ; asm - call CinnabarGymScript_757a0 - ld a, [$d79a] - bit 7, a - jr nz, .asm_2f755 ; 0x75a4b - ld hl, UnnamedText_75a68 - call PrintText - ld hl, UnnamedText_75a6d - ld de, UnnamedText_75a6d - call PreBattleSaveRegisters - jp Func_758b7 -.asm_2f755 ; 0x75a5f - ld hl, UnnamedText_75a72 - call PrintText - jp TextScriptEnd - -UnnamedText_75a68: ; 75a68 (1d:5a68) - TX_FAR _UnnamedText_75a68 - db "@" - -UnnamedText_75a6d: ; 75a6d (1d:5a6d) - TX_FAR _UnnamedText_75a6d - db "@" - -UnnamedText_75a72: ; 75a72 (1d:5a72) - TX_FAR _UnnamedText_75a72 - db "@" - -CinnabarGymText8: ; 75a77 (1d:5a77) - db $08 ; asm - call CinnabarGymScript_757a0 - ld a, [$d79b] - bit 0, a - jr nz, .asm_d87be ; 0x75a80 - ld hl, UnnamedText_75a9d - call PrintText - ld hl, UnnamedText_75aa2 - ld de, UnnamedText_75aa2 ; $5aa2 XXX - call PreBattleSaveRegisters - jp Func_758b7 -.asm_d87be ; 0x75a94 - ld hl, UnnamedText_75aa7 - call PrintText - jp TextScriptEnd - -UnnamedText_75a9d: ; 75a9d (1d:5a9d) - TX_FAR _UnnamedText_75a9d - db "@" - -UnnamedText_75aa2: ; 75aa2 (1d:5aa2) - TX_FAR _UnnamedText_75aa2 - db "@" - -UnnamedText_75aa7: ; 75aa7 (1d:5aa7) - TX_FAR _UnnamedText_75aa7 - db "@" - -CinnabarGymText9: ; 75aac (1d:5aac) - db $08 ; asm - ld a, [$d79a] - bit 1, a - jr nz, .asm_627d9 ; 0x75ab2 - ld hl, UnnamedText_75ac2 - jr .asm_0b11d ; 0x75ab7 -.asm_627d9 ; 0x75ab9 - ld hl, UnnamedText_75ac7 -.asm_0b11d ; 0x75abc - call PrintText - jp TextScriptEnd - -UnnamedText_75ac2: ; 75ac2 (1d:5ac2) - TX_FAR _UnnamedText_75ac2 - db "@" - -UnnamedText_75ac7: ; 75ac7 (1d:5ac7) - TX_FAR _UnnamedText_75ac7 - db "@" +INCLUDE "scripts/cinnabargym.asm" INCLUDE "data/mapObjects/cinnabargym.asm" @@ -84440,36 +56644,7 @@ CinnabarGymBlocks: ; 75b26 (1d:5b26) INCLUDE "data/mapHeaders/lab1.asm" -Lab1Script: ; 75b8c (1d:5b8c) - call EnableAutoTextBoxDrawing - ret - -Lab1TextPointers: ; 75b90 (1d:5b90) - dw Lab1Text1 - dw Lab1Text2 - dw Lab1Text3 - dw Lab1Text4 - dw Lab1Text5 - -Lab1Text1: ; 75b9a (1d:5b9a) - TX_FAR _Lab1Text1 - db "@" - -Lab1Text2: ; 75b9f (1d:5b9f) - TX_FAR _Lab1Text2 - db "@" - -Lab1Text3: ; 75ba4 (1d:5ba4) - TX_FAR _Lab1Text3 - db "@" - -Lab1Text4: ; 75ba9 (1d:5ba9) - TX_FAR _Lab1Text4 - db "@" - -Lab1Text5: ; 75bae (1d:5bae) - TX_FAR _Lab1Text5 - db "@" +INCLUDE "scripts/lab1.asm" INCLUDE "data/mapObjects/lab1.asm" @@ -84478,32 +56653,7 @@ Lab1Blocks: ; 75bf1 (1d:5bf1) INCLUDE "data/mapHeaders/lab2.asm" -Lab2Script: ; 75c21 (1d:5c21) - jp EnableAutoTextBoxDrawing - -Lab2TextPointers: ; 75c24 (1d:5c24) - dw Lab2Text1 - dw Lab2Text2 - dw Lab2Text3 - -Lab2Text1: ; 75c2a (1d:5c2a) - TX_FAR _Lab2Text1 - db "@" - -Lab2Text2: ; 75c2f (1d:5c2f) - db $8 - ld a, $7 - ld [wWhichTrade], a - jr asm_78552 ; 0x75c35 $6 - -Lab2Text3: ; 75c37 (1d:5c37) - db $8 - ld a, $8 - ld [wWhichTrade], a -asm_78552: ; 75c3d (1d:5c3d) - ld a, $54 - call Predef - jp TextScriptEnd +INCLUDE "scripts/lab2.asm" INCLUDE "data/mapObjects/lab2.asm" @@ -84512,69 +56662,7 @@ Lab2Blocks: ; 75c6b (1d:5c6b) INCLUDE "data/mapHeaders/lab3.asm" -Lab3Script: ; 75c87 (1d:5c87) - jp EnableAutoTextBoxDrawing - -Lab3TextPointers: ; 75c8a (1d:5c8a) - dw Lab3Text1 - dw Lab3Text2 - dw Lab3Text3 - dw Lab3Text4 - dw Lab3Text5 - -Lab3Text1: ; 75c94 (1d:5c94) - db $08 ; asm - ld a, [$d7a1] - bit 7, a - jr nz, .asm_e551a ; 0x75c9a - ld hl, TM35PreReceiveText - call PrintText - ld bc, (TM_35 << 8) | 1 - call GiveItem - jr nc, .BagFull - ld hl, ReceivedTM35Text - call PrintText - ld hl, $d7a1 - set 7, [hl] - jr .asm_eb896 ; 0x75cb5 -.BagFull - ld hl, TM35NoRoomText - call PrintText - jr .asm_eb896 ; 0x75cbd -.asm_e551a ; 0x75cbf - ld hl, TM35ExplanationText - call PrintText -.asm_eb896 ; 0x75cc5 - jp TextScriptEnd - -TM35PreReceiveText: ; 75cc8 (1d:5cc8) - TX_FAR _TM35PreReceiveText - db "@" - -ReceivedTM35Text: ; 75ccd (1d:5ccd) - TX_FAR _ReceivedTM35Text - db $0B, "@" - -TM35ExplanationText: ; 75cd3 (1d:5cd3) - TX_FAR _TM35ExplanationText - db "@" - -TM35NoRoomText: ; 75cd8 (1d:5cd8) - TX_FAR _TM35NoRoomText - db "@" - -Lab3Text2: ; 75cdd (1d:5cdd) - TX_FAR _Lab3Text2 - db "@" - -Lab3Text4: ; 75ce2 (1d:5ce2) -Lab3Text3: ; 75ce2 (1d:5ce2) - TX_FAR _Lab3Text3 - db "@" - -Lab3Text5: ; 75ce7 (1d:5ce7) - TX_FAR _Lab3Text5 - db "@" +INCLUDE "scripts/lab3.asm" INCLUDE "data/mapObjects/lab3.asm" @@ -84583,123 +56671,7 @@ Lab3Blocks: ; 75d15 (1d:5d15) INCLUDE "data/mapHeaders/lab4.asm" -Lab4Script: ; 75d31 (1d:5d31) - jp EnableAutoTextBoxDrawing - -Lab4TextPointers: ; 75d34 (1d:5d34) - dw Lab4Text1 - dw Lab4Text2 - -Func_75d38: ; 75d38 (1d:5d38) - xor a - ld [$cd37], a - ld de, $cc5b - ld hl, FossilsList -.asm_75d42 - ld a, [hli] - and a - jr z, .asm_75d64 - push hl - push de - ld [$d11e], a - ld b, a - ld a, $1c - call Predef ; indirect jump to Func_f8a5 (f8a5 (3:78a5)) - pop de - pop hl - ld a, b - and a - jr z, .asm_75d42 - ld a, [$d11e] - ld [de], a - inc de - push hl - ld hl, $cd37 - inc [hl] - pop hl - jr .asm_75d42 -.asm_75d64 - ld a, $ff - ld [de], a - ret - -FossilsList: ; 75d68 (1d:5d68) - db DOME_FOSSIL - db HELIX_FOSSIL - db OLD_AMBER - db $00 - -Lab4Text1: ; 75d6c (1d:5d6c) - db $8 - ld a, [$d7a3] - bit 0, a - jr nz, .asm_75d96 ; 0x75d72 $22 - ld hl, UnnamedText_75dc6 - call PrintText - call Func_75d38 - ld a, [$cd37] - and a - jr z, .asm_75d8d ; 0x75d81 $a - ld b, BANK(GiveFossilToCinnabarLab) - ld hl, GiveFossilToCinnabarLab - call Bankswitch - jr .asm_75d93 ; 0x75d8b $6 -.asm_75d8d - ld hl, UnnamedText_75dcb - call PrintText -.asm_75d93 - jp TextScriptEnd -.asm_75d96 - bit 1, a - jr z, .asm_75da2 ; 0x75d98 $8 - ld hl, UnnamedText_75dd0 - call PrintText - jr .asm_75d93 ; 0x75da0 $f1 -.asm_75da2 - call LoadFossilItemAndMonNameBank1D - ld hl, UnnamedText_75dd5 - call PrintText - ld hl, $d7a3 - set 2, [hl] - ld a, [W_FOSSILMON] - ld b, a - ld c, $1e - call GivePokemon - jr nc, .asm_75d93 ; 0x75db9 $d8 - ld hl, $d7a3 - res 0, [hl] - res 1, [hl] - res 2, [hl] - jr .asm_75d93 ; 0x75dc4 $cd - -UnnamedText_75dc6: ; 75dc6 (1d:5dc6) - TX_FAR _UnnamedText_75dc6 - db "@" - -UnnamedText_75dcb: ; 75dcb (1d:5dcb) - TX_FAR _UnnamedText_75dcb - db "@" - -UnnamedText_75dd0: ; 75dd0 (1d:5dd0) - TX_FAR _UnnamedText_75dd0 - db "@" - -UnnamedText_75dd5: ; 75dd5 (1d:5dd5) - TX_FAR _UnnamedText_75dd5 - db "@" - -Lab4Text2: ; 75dda (1d:5dda) - db $08 ; asm - ld a, $3 - ld [wWhichTrade], a - ld a, $54 - call Predef - jp TextScriptEnd - -LoadFossilItemAndMonNameBank1D: ; 75de8 (1d:5de8) - ld b, BANK(LoadFossilItemAndMonName) - ld hl, LoadFossilItemAndMonName - jp Bankswitch +INCLUDE "scripts/lab4.asm" INCLUDE "data/mapObjects/lab4.asm" @@ -84708,378 +56680,25 @@ Lab4Blocks: ; 75e10 (1d:5e10) INCLUDE "data/mapHeaders/cinnabarpokecenter.asm" -CinnabarPokecenterScript: ; 75e2c (1d:5e2c) - call Func_22fa - jp EnableAutoTextBoxDrawing - -CinnabarPokecenterTextPointers: ; 75e32 (1d:5e32) - dw CinnabarPokecenterText1 - dw CinnabarPokecenterText2 - dw CinnabarPokecenterText3 - dw CinnabarPokecenterText4 - -CinnabarPokecenterText1: ; 75e3a (1d:5e3a) - db $ff - -CinnabarPokecenterText2: ; 75e3b (1d:5e3b) - TX_FAR _CinnabarPokecenterText1 - db "@" - -CinnabarPokecenterText3: ; 75e40 (1d:5e40) - TX_FAR _CinnabarPokecenterText3 - db "@" - -CinnabarPokecenterText4: ; 75e45 (1d:5e45) - db $f6 +INCLUDE "scripts/cinnabarpokecenter.asm" INCLUDE "data/mapObjects/cinnabarpokecenter.asm" INCLUDE "data/mapHeaders/cinnabarmart.asm" -CinnabarMartScript: ; 75e7e (1d:5e7e) - jp EnableAutoTextBoxDrawing - -CinnabarMartTextPointers: ; 75e81 (1d:5e81) - dw CinnabarMartText1 - dw CinnabarMartText2 - dw CinnabarMartText3 - -CinnabarMartText2: ; 75e87 (1d:5e87) - TX_FAR _CinnabarMartText2 - db "@" - -CinnabarMartText3: ; 75e8c (1d:5e8c) - TX_FAR _CinnabarMartText3 - db "@" +INCLUDE "scripts/cinnabarmart.asm" INCLUDE "data/mapObjects/cinnabarmart.asm" INCLUDE "data/mapHeaders/copycatshouse1f.asm" -CopycatsHouse1FScript: ; 75ec3 (1d:5ec3) - jp EnableAutoTextBoxDrawing - -CopycatsHouse1FTextPointers: ; 75ec6 (1d:5ec6) - dw CopycatsHouse1FText1 - dw CopycatsHouse1FText2 - dw CopycatsHouse1FText3 - -CopycatsHouse1FText1: ; 75ecc (1d:5ecc) - TX_FAR _CopycatsHouse1FText1 - db "@" - -CopycatsHouse1FText2: ; 75ed1 (1d:5ed1) - TX_FAR _CopycatsHouse1FText2 - db "@" - -CopycatsHouse1FText3: ; 75ed6 (1d:5ed6) - TX_FAR _CopycatsHouse1FText3 - db $8 - ld a, CHANSEY - call PlayCry - jp TextScriptEnd +INCLUDE "scripts/copycatshouse1f.asm" INCLUDE "data/mapObjects/copycatshouse1f.asm" INCLUDE "data/mapHeaders/gary.asm" -GaryScript: ; 75f1d (1d:5f1d) - call EnableAutoTextBoxDrawing - ld hl, GaryScriptPointers - ld a, [W_GARYCURSCRIPT] - jp CallFunctionInTable - -GaryScript_75f29: ; 75f29 (1d:5f29) - xor a - ld [wJoypadForbiddenButtonsMask], a - ld [W_GARYCURSCRIPT], a - ret - -GaryScriptPointers: ; 75f31 (1d:5f31) - dw GaryScript0 - dw GaryScript1 - dw GaryScript2 - dw GaryScript3 - dw GaryScript4 - dw GaryScript5 - dw GaryScript6 - dw GaryScript7 - dw GaryScript8 - dw GaryScript9 - dw GaryScript10 - -GaryScript0: ; 75f47 (1d:5f47) - ret - -GaryScript1: ; 75f48 (1d:5f48) - ld a, $ff - ld [wJoypadForbiddenButtonsMask], a - ld hl, $ccd3 - ld de, RLEMovement75f63 - call DecodeRLEList - dec a - ld [$cd38], a - call Func_3486 - ld a, $2 - ld [W_GARYCURSCRIPT], a - ret - -RLEMovement75f63: ; 75f63 (1d:5f63) - db $40,1 - db $10,1 - db $40,3 - db $ff - -GaryScript2: ; 75f6a (1d:5f6a) - ld a, [$cd38] - and a - ret nz - call Delay3 - xor a - ld [wJoypadForbiddenButtonsMask], a - ld hl, $d355 - res 7, [hl] - ld a, $1 - ld [$ff8c], a - call DisplayTextID - call Delay3 - ld hl, $d72d - set 6, [hl] - set 7, [hl] - ld hl, UnnamedText_760f9 - ld de, UnnamedText_760fe - call PreBattleSaveRegisters - ld a, SONY3 + $c8 - ld [W_CUROPPONENT], a - - ; select which team to use during the encounter - ld a, [W_RIVALSTARTER] - cp SQUIRTLE - jr nz, .NotSquirtle ; 0x75f9f $4 - ld a, $1 - jr .done -.NotSquirtle - cp BULBASAUR - jr nz, .Charmander ; 0x75fa7 $4 - ld a, $2 - jr .done -.Charmander - ld a, $3 -.done - ld [W_TRAINERNO], a - - xor a - ld [H_CURRENTPRESSEDBUTTONS], a - ld a, $3 - ld [W_GARYCURSCRIPT], a - ret - -GaryScript3: ; 75fbb (1d:5fbb) - ld a, [W_ISINBATTLE] - cp $ff - jp z, GaryScript_75f29 - call UpdateSprites ; move sprites - ld hl, $d867 - set 1, [hl] - ld a, $f0 - ld [wJoypadForbiddenButtonsMask], a - ld a, $1 - ld [$ff8c], a - call GaryScript_760c8 - ld a, $1 - ld [$ff8c], a - call SetSpriteMovementBytesToFF - ld a, $4 - ld [W_GARYCURSCRIPT], a - ret - -GaryScript4: ; 75fe4 (1d:5fe4) - ld b, BANK(Music_Cities1AlternateTempo) - ld hl, Music_Cities1AlternateTempo - call Bankswitch - ld a, $2 - ld [$ff8c], a - call GaryScript_760c8 - ld a, $2 - ld [$ff8c], a - call SetSpriteMovementBytesToFF - ld de, MovementData_76014 - ld a, $2 - ld [$ff8c], a - call MoveSprite - ld a, $d6 - ld [$cc4d], a - ld a, $15 - call Predef - ld a, $5 - ld [W_GARYCURSCRIPT], a - ret - -MovementData_76014: ; 76014 (1d:6014) - db $40,$40,$40,$40,$40,$FF - -GaryScript5: ; 7601a (1d:601a) - ld a, [$d730] - bit 0, a - ret nz - ld a, $2 - ld [$d528], a - ld a, $1 - ld [$ff8c], a - ld a, $8 - ld [$ff8d], a - call Func_34a6 - ld a, $2 - ld [$ff8c], a - xor a - ld [$ff8d], a - call Func_34a6 ; face object - ld a, $3 - ld [$ff8c], a - call GaryScript_760c8 - ld a, $6 - ld [W_GARYCURSCRIPT], a - ret - -GaryScript6: ; 76047 (1d:6047) - ld a, $2 - ld [$ff8c], a - ld a, $c - ld [$ff8d], a - call Func_34a6 ; face object - ld a, $4 - ld [$ff8c], a - call GaryScript_760c8 - ld a, $7 - ld [W_GARYCURSCRIPT], a - ret - -GaryScript7: ; 7605f (1d:605f) - ld a, $2 - ld [$ff8c], a - xor a - ld [$ff8d], a - call Func_34a6 ; face object - ld a, $5 - ld [$ff8c], a - call GaryScript_760c8 - ld de, MovementData_76080 - ld a, $2 - ld [$ff8c], a - call MoveSprite - ld a, $8 - ld [W_GARYCURSCRIPT], a - ret - -MovementData_76080: ; 76080 (1d:6080) - db $40,$40,$FF - -GaryScript8: ; 76083 (1d:6083) - ld a, [$d730] - bit 0, a - ret nz - ld a, $d6 - ld [$cc4d], a - ld a, $11 - call Predef - ld a, $9 - ld [W_GARYCURSCRIPT], a - ret - -GaryScript9: ; 76099 (1d:6099) - ld a, $ff - ld [wJoypadForbiddenButtonsMask], a - ld hl, $ccd3 - ld de, RLEMovement760b4 - call DecodeRLEList - dec a - ld [$cd38], a - call Func_3486 - ld a, $a - ld [W_GARYCURSCRIPT], a - ret - -RLEMovement760b4 ; 760b4 (1d:60b4) - db $40,4 - db $20,1 - db $ff - -GaryScript10: ; 760b9 (1d:60b9) - ld a, [$cd38] - and a - ret nz - xor a - ld [wJoypadForbiddenButtonsMask], a - ld a, $0 - ld [W_GARYCURSCRIPT], a - ret - -GaryScript_760c8 ; 760c8 (1d:60c8) - ld a, $f0 - ld [wJoypadForbiddenButtonsMask], a - call DisplayTextID - ld a, $ff - ld [wJoypadForbiddenButtonsMask], a - ret - -GaryTextPointers: ; 760d6 (1d:60d6) - dw GaryText1 - dw GaryText2 - dw GaryText3 - dw GaryText4 - dw GaryText5 - -GaryText1: ; 760e0 (1d:60e0) - db $08 ; asm - ld a, [$d867] - bit 1, a - ld hl, UnnamedText_760f4 - jr z, .asm_17e9f ; 0x760e9 - ld hl, UnnamedText_76103 -.asm_17e9f ; 0x760ee - call PrintText - jp TextScriptEnd - -UnnamedText_760f4: ; 760f4 (1d:60f4) - TX_FAR _UnnamedText_760f4 - db "@" - -UnnamedText_760f9: ; 760f9 (1d:60f9) - TX_FAR _UnnamedText_760f9 - db "@" - -UnnamedText_760fe: ; 760fe (1d:60fe) - TX_FAR _UnnamedText_760fe - db "@" - -UnnamedText_76103: ; 76103 (1d:6103) - TX_FAR _UnnamedText_76103 - db "@" - -GaryText2: ; 76108 (1d:6108) - TX_FAR _GaryText2 - db "@" - -GaryText3: ; 7610d (1d:610d) - db $8 - ld a, [$d717] - ld [$d11e], a - call GetMonName - ld hl, UnnamedText_76120 - call PrintText - jp TextScriptEnd - -UnnamedText_76120: ; 76120 (1d:6120) - TX_FAR _UnnamedText_76120 - db "@" - -GaryText4: ; 76125 (1d:6125) - TX_FAR _UnnamedText_76125 - db "@" - -GaryText5: ; 7612a (1d:612a) - TX_FAR _UnnamedText_7612a - db "@" +INCLUDE "scripts/gary.asm" INCLUDE "data/mapObjects/gary.asm" @@ -85088,159 +56707,7 @@ GaryBlocks: ; 7615f (1d:615f) INCLUDE "data/mapHeaders/lorelei.asm" -LoreleiScript: ; 7617b (1d:617b) - call LoreleiScript_76191 - call EnableAutoTextBoxDrawing - ld hl, LoreleiTrainerHeaders - ld de, LoreleiScriptPointers - ld a, [W_LORELEICURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_LORELEICURSCRIPT], a - ret - -LoreleiScript_76191: ; 76191 (1d:6191) - ld hl, $d126 - bit 5, [hl] - res 5, [hl] - ret z - ld hl, $d734 - set 1, [hl] - ld a, [$d863] - bit 1, a - jr z, .asm_761a9 - ld a, $5 - jr .asm_761ab -.asm_761a9 - ld a, $24 -.asm_761ab - ld [$d09f], a - ld bc, $2 - ld a, $17 - jp Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e)) - -Func_761b6: ; 761b6 (1d:61b6) - xor a - ld [W_LORELEICURSCRIPT], a - ret - -LoreleiScriptPointers: ; 761bb (1d:61bb) - dw LoreleiScript0 - dw Func_324c - dw LoreleiScript2 - dw LoreleiScript3 - dw LoreleiScript4 - -LoreleiScript4: ; 761c5 (1d:61c5) - ret -asm_761c6: ; 761c6 (1d:61c6) - ld hl, $ccd3 - ld a, $40 - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hl], a - ld a, $6 - ld [$cd38], a - call Func_3486 - ld a, $3 - ld [W_LORELEICURSCRIPT], a - ld [W_CURMAPSCRIPT], a - ret -LoreleiScript0: ; 761e2 (1d:61e2) - ld hl, CoordsData_76223 - call ArePlayerCoordsInArray - jp nc, CheckFightingMapTrainers - xor a - ld [H_NEWLYPRESSEDBUTTONS], a - ld [H_CURRENTPRESSEDBUTTONS], a - ld [$ccd3], a - ld [$cd38], a - ld a, [wWhichTrade] ; $cd3d - cp $3 - jr c, .asm_76206 - ld hl, $d863 - bit 6, [hl] - set 6, [hl] - jr z, asm_761c6 -.asm_76206 - ld a, $2 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - call DisplayTextID - ld a, $40 - ld [$ccd3], a - ld a, $1 - ld [$cd38], a - call Func_3486 - ld a, $3 - ld [W_LORELEICURSCRIPT], a - ld [W_CURMAPSCRIPT], a - ret - -CoordsData_76223: ; 76223 (1d:6223) - db $0A,$04 - db $0A,$05 - db $0B,$04 - db $0B,$05 - db $FF - -LoreleiScript3: ; 7622c (1d:622c) - ld a, [$cd38] - and a - ret nz - call Delay3 - xor a - ld [wJoypadForbiddenButtonsMask], a - ld [W_LORELEICURSCRIPT], a - ld [W_CURMAPSCRIPT], a - ret -LoreleiScript2: ; 7623f (1d:623f) - call EndTrainerBattle - ld a, [W_ISINBATTLE] ; $d057 - cp $ff - jp z, Func_761b6 - ld a, $1 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - jp DisplayTextID - -LoreleiTextPointers: ; 76251 (1d:6251) - dw LoreleiText1 - dw LoreleiText2 - -LoreleiTrainerHeaders: ; 76255 (1d:6255) -LoreleiTrainerHeader0: ; 76255 (1d:6255) - db $1 ; flag's bit - db ($0 << 4) ; trainer's view range - dw $d863 ; flag's byte - dw LoreleiBeforeBattleText ; 0x626c TextBeforeBattle - dw LoreleiAfterBattleText ; 0x6276 TextAfterBattle - dw LoreleiEndBattleText ; 0x6271 TextEndBattle - dw LoreleiEndBattleText ; 0x6271 TextEndBattle - - db $ff - -LoreleiText1: ; 76262 (1d:6262) - db $08 ; asm - ld hl, LoreleiTrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -LoreleiBeforeBattleText: ; 7626c (1d:626c) - TX_FAR _LoreleiBeforeBattleText - db "@" - -LoreleiEndBattleText: ; 76271 (1d:6271) - TX_FAR _LoreleiEndBattleText - db "@" - -LoreleiAfterBattleText: ; 76276 (1d:6276) - TX_FAR _LoreleiAfterBattleText - db "@" - -LoreleiText2: ; 7627b (1d:627b) - TX_FAR _UnnamedText_7627b - db "@" +INCLUDE "scripts/lorelei.asm" INCLUDE "data/mapObjects/lorelei.asm" @@ -85249,160 +56716,7 @@ LoreleiBlocks: ; 762ac (1d:62ac) INCLUDE "data/mapHeaders/bruno.asm" -BrunoScript: ; 762d6 (1d:62d6) - call BrunoScript_762ec - call EnableAutoTextBoxDrawing - ld hl, BrunoTrainerHeaders - ld de, BrunoScriptPointers - ld a, [W_BRUNOCURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_BRUNOCURSCRIPT], a - ret - -BrunoScript_762ec: ; 762ec (1d:62ec) - ld hl, $d126 - bit 5, [hl] - res 5, [hl] - ret z - ld a, [$d864] - bit 1, a - jr z, .asm_76300 - ld a, $5 - jp Func_76302 -.asm_76300 - ld a, $24 - -Func_76302: ; 76302 (1d:6302) - ld [$d09f], a - ld bc, $2 - ld a, $17 - jp Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e)) - -Func_7630d: ; 7630d (1d:630d) - xor a - ld [W_BRUNOCURSCRIPT], a - ret - -BrunoScriptPointers: ; 76312 (1d:6312) - dw BrunoScript0 - dw Func_324c - dw BrunoScript2 - dw BrunoScript3 - dw BrunoScript4 - -BrunoScript4: ; 7631c (1d:631c) - ret -asm_7631d: ; 7631d (1d:631d) - ld hl, $ccd3 - ld a, $40 - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hl], a - ld a, $6 - ld [$cd38], a - call Func_3486 - ld a, $3 - ld [W_BRUNOCURSCRIPT], a - ld [W_CURMAPSCRIPT], a - ret - -BrunoScript0: ; 76339 (1d:6339) - ld hl, CoordsData_7637a - call ArePlayerCoordsInArray - jp nc, CheckFightingMapTrainers - xor a - ld [H_NEWLYPRESSEDBUTTONS], a - ld [H_CURRENTPRESSEDBUTTONS], a - ld [$ccd3], a - ld [$cd38], a - ld a, [wWhichTrade] ; $cd3d - cp $3 - jr c, .asm_7635d - ld hl, $d864 - bit 6, [hl] - set 6, [hl] - jr z, asm_7631d -.asm_7635d - ld a, $2 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - call DisplayTextID - ld a, $40 - ld [$ccd3], a - ld a, $1 - ld [$cd38], a - call Func_3486 - ld a, $3 - ld [W_BRUNOCURSCRIPT], a - ld [W_CURMAPSCRIPT], a - ret - -CoordsData_7637a: ; 7637a (1d:637a) - db $0A,$04 - db $0A,$05 - db $0B,$04 - db $0B,$05 - db $FF - -BrunoScript3: ; 76383 (1d:6383) - ld a, [$cd38] - and a - ret nz - call Delay3 - xor a - ld [wJoypadForbiddenButtonsMask], a - ld [W_BRUNOCURSCRIPT], a - ld [W_CURMAPSCRIPT], a - ret - -BrunoScript2: ; 76396 (1d:6396) - call EndTrainerBattle - ld a, [W_ISINBATTLE] ; $d057 - cp $ff - jp z, Func_7630d - ld a, $1 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - jp DisplayTextID - -BrunoTextPointers: ; 763a8 (1d:63a8) - dw BrunoText1 - dw BrunoText2 - -BrunoTrainerHeaders: ; 763ac (1d:63ac) -BrunoTrainerHeader0: ; 763ac (1d:63ac) - db $1 ; flag's bit - db ($0 << 4) ; trainer's view range - dw $d864 ; flag's byte - dw BrunoBeforeBattleText ; 0x63c3 TextBeforeBattle - dw BrunoAfterBattleText ; 0x63cd TextAfterBattle - dw BrunoEndBattleText ; 0x63c8 TextEndBattle - dw BrunoEndBattleText ; 0x63c8 TextEndBattle - - db $ff - -BrunoText1: ; 763b9 (1d:63b9) - db $08 ; asm - ld hl, BrunoTrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -BrunoBeforeBattleText: ; 763c3 (1d:63c3) - TX_FAR _BrunoBeforeBattleText - db "@" - -BrunoEndBattleText: ; 763c8 (1d:63c8) - TX_FAR _BrunoEndBattleText - db "@" - -BrunoAfterBattleText: ; 763cd (1d:63cd) - TX_FAR _BrunoAfterBattleText - db "@" - -BrunoText2: ; 763d2 (1d:63d2) - TX_FAR _UnnamedText_763d2 - db "@" +INCLUDE "scripts/bruno.asm" INCLUDE "data/mapObjects/bruno.asm" @@ -85411,163 +56725,7 @@ BrunoBlocks: ; 76403 (1d:6403) INCLUDE "data/mapHeaders/agatha.asm" -AgathaScript: ; 7642d (1d:642d) - call AgathaScript_76443 - call EnableAutoTextBoxDrawing - ld hl, AgathaTrainerHeaders - ld de, AgathaScriptPointers - ld a, [W_AGATHACURSCRIPT] - call ExecuteCurMapScriptInTable - ld [W_AGATHACURSCRIPT], a - ret - -AgathaScript_76443: ; 76443 (1d:6443) - ld hl, $d126 - bit 5, [hl] - res 5, [hl] - ret z - ld a, [$d865] - bit 1, a - jr z, .asm_76457 - ld a, $e - jp Func_76459 -.asm_76457 - ld a, $3b - -Func_76459: ; 76459 (1d:6459) - ld [$d09f], a - ld bc, $2 - ld a, $17 - jp Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e)) - -Func_76464: ; 76464 (1d:6464) - xor a - ld [W_AGATHACURSCRIPT], a - ret - -AgathaScriptPointers: ; 76469 (1d:6469) - dw AgathaScript0 - dw Func_324c - dw AgathaScript2 - dw AgathaScript3 - dw AgathaScript4 - -AgathaScript4: ; 76473 (1d:6473) - ret -asm_76474: ; 76474 (1d:6474) - ld hl, $ccd3 - ld a, $40 - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hl], a - ld a, $6 - ld [$cd38], a - call Func_3486 - ld a, $3 - ld [W_AGATHACURSCRIPT], a - ld [W_CURMAPSCRIPT], a - ret - -AgathaScript0: ; 76490 (1d:6490) - ld hl, CoordsData_764d1 - call ArePlayerCoordsInArray - jp nc, CheckFightingMapTrainers - xor a - ld [H_NEWLYPRESSEDBUTTONS], a - ld [H_CURRENTPRESSEDBUTTONS], a - ld [$ccd3], a - ld [$cd38], a - ld a, [wWhichTrade] ; $cd3d - cp $3 - jr c, .asm_764b4 - ld hl, $d865 - bit 6, [hl] - set 6, [hl] - jr z, asm_76474 -.asm_764b4 - ld a, $2 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - call DisplayTextID - ld a, $40 - ld [$ccd3], a - ld a, $1 - ld [$cd38], a - call Func_3486 - ld a, $3 - ld [W_AGATHACURSCRIPT], a - ld [W_CURMAPSCRIPT], a - ret - -CoordsData_764d1: ; 764d1 (1d:64d1) - db $0A,$04 - db $0A,$05 - db $0B,$04 - db $0B,$05 - db $FF - -AgathaScript3: ; 764da (1d:64da) - ld a, [$cd38] - and a - ret nz - call Delay3 - xor a - ld [wJoypadForbiddenButtonsMask], a - ld [W_AGATHACURSCRIPT], a - ld [W_CURMAPSCRIPT], a - ret - -AgathaScript2: ; 764ed (1d:64ed) - call EndTrainerBattle - ld a, [W_ISINBATTLE] ; $d057 - cp $ff - jp z, Func_76464 - ld a, $1 - ld [H_DOWNARROWBLINKCNT2], a ; $ff8c - call DisplayTextID - ld a, $1 - ld [W_GARYCURSCRIPT], a - ret - -AgathaTextPointers: ; 76505 (1d:6505) - dw AgathaText1 - dw AgathaText2 - -AgathaTrainerHeaders: ; 76509 (1d:6509) -AgathaTrainerHeader0: ; 76509 (1d:6509) - db $1 ; flag's bit - db ($0 << 4) ; trainer's view range - dw $d865 ; flag's byte - dw AgathaBeforeBattleText ; 0x6520 TextBeforeBattle - dw AgathaAfterBattleText ; 0x652a TextAfterBattle - dw AgathaEndBattleText ; 0x6525 TextEndBattle - dw AgathaEndBattleText ; 0x6525 TextEndBattle - - db $ff - -AgathaText1: ; 76516 (1d:6516) - db $08 ; asm - ld hl, AgathaTrainerHeader0 - call TalkToTrainer - jp TextScriptEnd - -AgathaBeforeBattleText: ; 76520 (1d:6520) - TX_FAR _AgathaBeforeBattleText - db "@" - -AgathaEndBattleText: ; 76525 (1d:6525) - TX_FAR _AgathaEndBattleText - db "@" - -AgathaAfterBattleText: ; 7652a (1d:652a) - TX_FAR _AgathaAfterBattleText - db "@" - -AgathaText2: ; 7652f (1d:652f) - TX_FAR _AgathaText2 - db "@" +INCLUDE "scripts/agatha.asm" INCLUDE "data/mapObjects/agatha.asm" @@ -92763,7 +63921,7 @@ asm_7befa: ; 7befa (1e:7efa) scf ret -Func_7bf15: ; 7bf15 (1e:7f15) +ShakeElevator: ; 7bf15 (1e:7f15) ld de, $ffe0 call Func_7bf64 ld de, $240 @@ -92774,6 +63932,7 @@ Func_7bf15: ; 7bf15 (1e:7f15) ld a, [$ffaf] ld d, a ld e, $1 + ; number of times to play collision sfx ld b, $64 .asm_7bf30 ld a, e diff --git a/scripts/agatha.asm b/scripts/agatha.asm new file mode 100755 index 00000000..749f84e7 --- /dev/null +++ b/scripts/agatha.asm @@ -0,0 +1,157 @@ +AgathaScript: ; 7642d (1d:642d) + call AgathaScript_76443 + call EnableAutoTextBoxDrawing + ld hl, AgathaTrainerHeaders + ld de, AgathaScriptPointers + ld a, [W_AGATHACURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_AGATHACURSCRIPT], a + ret + +AgathaScript_76443: ; 76443 (1d:6443) + ld hl, $d126 + bit 5, [hl] + res 5, [hl] + ret z + ld a, [$d865] + bit 1, a + jr z, .asm_76457 + ld a, $e + jp AgathaScript_76459 +.asm_76457 + ld a, $3b + +AgathaScript_76459: ; 76459 (1d:6459) + ld [$d09f], a + ld bc, $2 + ld a, $17 + jp Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e)) + +AgathaScript_76464: ; 76464 (1d:6464) + xor a + ld [W_AGATHACURSCRIPT], a + ret + +AgathaScriptPointers: ; 76469 (1d:6469) + dw AgathaScript0 + dw Func_324c + dw AgathaScript2 + dw AgathaScript3 + dw AgathaScript4 + +AgathaScript4: ; 76473 (1d:6473) + ret +asm_76474: ; 76474 (1d:6474) + ld hl, $ccd3 + ld a, $40 + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hl], a + ld a, $6 + ld [$cd38], a + call Func_3486 + ld a, $3 + ld [W_AGATHACURSCRIPT], a + ld [W_CURMAPSCRIPT], a + ret + +AgathaScript0: ; 76490 (1d:6490) + ld hl, CoordsData_764d1 + call ArePlayerCoordsInArray + jp nc, CheckFightingMapTrainers + xor a + ld [H_NEWLYPRESSEDBUTTONS], a + ld [H_CURRENTPRESSEDBUTTONS], a + ld [$ccd3], a + ld [$cd38], a + ld a, [wWhichTrade] ; $cd3d + cp $3 + jr c, .asm_764b4 + ld hl, $d865 + bit 6, [hl] + set 6, [hl] + jr z, asm_76474 +.asm_764b4 + ld a, $2 + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + call DisplayTextID + ld a, $40 + ld [$ccd3], a + ld a, $1 + ld [$cd38], a + call Func_3486 + ld a, $3 + ld [W_AGATHACURSCRIPT], a + ld [W_CURMAPSCRIPT], a + ret + +CoordsData_764d1: ; 764d1 (1d:64d1) + db $0A,$04 + db $0A,$05 + db $0B,$04 + db $0B,$05 + db $FF + +AgathaScript3: ; 764da (1d:64da) + ld a, [$cd38] + and a + ret nz + call Delay3 + xor a + ld [wJoypadForbiddenButtonsMask], a + ld [W_AGATHACURSCRIPT], a + ld [W_CURMAPSCRIPT], a + ret + +AgathaScript2: ; 764ed (1d:64ed) + call EndTrainerBattle + ld a, [W_ISINBATTLE] ; $d057 + cp $ff + jp z, AgathaScript_76464 + ld a, $1 + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + call DisplayTextID + ld a, $1 + ld [W_GARYCURSCRIPT], a + ret + +AgathaTextPointers: ; 76505 (1d:6505) + dw AgathaText1 + dw AgathaText2 + +AgathaTrainerHeaders: ; 76509 (1d:6509) +AgathaTrainerHeader0: ; 76509 (1d:6509) + db $1 ; flag's bit + db ($0 << 4) ; trainer's view range + dw $d865 ; flag's byte + dw AgathaBeforeBattleText ; 0x6520 TextBeforeBattle + dw AgathaAfterBattleText ; 0x652a TextAfterBattle + dw AgathaEndBattleText ; 0x6525 TextEndBattle + dw AgathaEndBattleText ; 0x6525 TextEndBattle + + db $ff + +AgathaText1: ; 76516 (1d:6516) + db $08 ; asm + ld hl, AgathaTrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +AgathaBeforeBattleText: ; 76520 (1d:6520) + TX_FAR _AgathaBeforeBattleText + db "@" + +AgathaEndBattleText: ; 76525 (1d:6525) + TX_FAR _AgathaEndBattleText + db "@" + +AgathaAfterBattleText: ; 7652a (1d:652a) + TX_FAR _AgathaAfterBattleText + db "@" + +AgathaText2: ; 7652f (1d:652f) + TX_FAR _AgathaText2 + db "@" diff --git a/scripts/battlecenterm.asm b/scripts/battlecenterm.asm new file mode 100755 index 00000000..846b78fb --- /dev/null +++ b/scripts/battlecenterm.asm @@ -0,0 +1,38 @@ +BattleCenterMScript: ; 4fd10 (13:7d10) + call EnableAutoTextBoxDrawing + ld a, [$ffaa] + cp $2 + ld a, $8 + jr z, .asm_4fd1d ; 0x4fd19 $2 + ld a, $c +.asm_4fd1d + ld [$ff8d], a + ld a, $1 + ld [$ff8c], a + call Func_34ae + ld hl, $d72d + bit 0, [hl] + set 0, [hl] + ret nz + ld hl, $c214 + ld a, $8 + ld [hli], a + ld a, $a + ld [hl], a + ld a, $8 + ld [$c119], a + ld a, [$ffaa] + cp $2 + ret z + ld a, $7 + ld [$c215], a + ld a, $c + ld [$c119], a + ret + +BattleCenterMTextPointers: ; 4fd4c (13:7d4c) + dw BattleCenterMText1 + +BattleCenterMText1: ; 4fd4e (13:7d4e) + TX_FAR _BattleCenterMText1 + db "@" diff --git a/scripts/bikeshop.asm b/scripts/bikeshop.asm new file mode 100755 index 00000000..a4e06601 --- /dev/null +++ b/scripts/bikeshop.asm @@ -0,0 +1,153 @@ +BikeShopScript: ; 1d73c (7:573c) + jp EnableAutoTextBoxDrawing + +BikeShopTextPointers: ; 1d73f (7:573f) + dw BikeShopText1 + dw BikeShopText2 + dw BikeShopText3 + +BikeShopText1: ; 1d745 (7:5745) + db $08 ; asm + ld a, [$d75f] + bit 0, a + jr z, .asm_260d4 ; 0x1d74b + ld hl, BikeShopText_1d82f + call PrintText + jp .Done +.asm_260d4 ; 0x1d756 + ld b, BIKE_VOUCHER + call IsItemInBag + jr z, .asm_41190 ; 0x1d75b + ld hl, BikeShopText_1d81f + call PrintText + ld bc, (BICYCLE << 8) | 1 + call GiveItem + jr nc, .BagFull + ld a, BIKE_VOUCHER + ldh [$db], a + ld b, BANK(RemoveItemByID) + ld hl, RemoveItemByID + call Bankswitch + ld hl, $d75f + set 0, [hl] + ld hl, BikeShopText_1d824 + call PrintText + jr .Done +.BagFull + ld hl, BikeShopText_1d834 + call PrintText + jr .Done +.asm_41190 ; 0x1d78c + ld hl, BikeShopText_1d810 + call PrintText + xor a + ld [$cc26], a + ld [$cc2a], a + ld a, $3 + ld [$cc29], a + ld a, $1 + ld [$cc28], a + ld a, $2 + ld [$cc24], a + ld a, $1 + ld [$cc25], a + ld hl, $d730 + set 6, [hl] + ld hl, wTileMap + ld b, $4 + ld c, $f + call TextBoxBorder + call UpdateSprites + FuncCoord 2, 2 ; $c3ca + ld hl, Coord + ld de, BikeShopMenuText + call PlaceString + FuncCoord 8, 3 ; $c3e4 + ld hl, Coord + ld de, BikeShopMenuPrice + call PlaceString + ld hl, BikeShopText_1d815 + call PrintText + call HandleMenuInput + bit 1, a + jr nz, .asm_b7579 ; 0x1d7dc + ld hl, $d730 + res 6, [hl] + ld a, [$cc26] + and a + jr nz, .asm_b7579 ; 0x1d7e7 + ld hl, BikeShopText_1d81a + call PrintText +.asm_b7579 ; 0x1d7ef + ld hl, BikeShopText_1d82a + call PrintText +.Done + jp TextScriptEnd + +BikeShopMenuText: ; 1d7f8 (7:57f8) + db "BICYCLE" + next "CANCEL@" + +BikeShopMenuPrice: ; 1d807 (7:5807) + db "¥1000000@" + +BikeShopText_1d810: ; 1d810 (7:5810) + TX_FAR _BikeShopText_1d810 + db "@" + +BikeShopText_1d815: ; 1d815 (7:5815) + TX_FAR _BikeShopText_1d815 + db "@" + +BikeShopText_1d81a: ; 1d81a (7:581a) + TX_FAR _BikeShopText_1d81a + db "@" + +BikeShopText_1d81f: ; 1d81f (7:581f) + TX_FAR _BikeShopText_1d81f + db "@" + +BikeShopText_1d824: ; 1d824 (7:5824) + TX_FAR _BikeShopText_1d824 ; 0x98eb2 + db $11, "@" + +BikeShopText_1d82a: ; 1d82a (7:582a) + TX_FAR _BikeShopText_1d82a + db "@" + +BikeShopText_1d82f: ; 1d82f (7:582f) + TX_FAR _BikeShopText_1d82f + db "@" + +BikeShopText_1d834: ; 1d834 (7:5834) + TX_FAR _BikeShopText_1d834 + db "@" + +BikeShopText2: ; 1d839 (7:5839) + db $08 ; asm + ld hl, BikeShopText_1d843 + call PrintText + jp TextScriptEnd + +BikeShopText_1d843: ; 1d843 (7:5843) + TX_FAR _BikeShopText_1d843 + db "@" + +BikeShopText3: ; 1d848 (7:5848) + db $08 ; asm + ld a, [$d75f] + bit 0, a + ld hl, BikeShopText_1d861 + jr nz, .asm_34d2d ; 0x1d851 + ld hl, BikeShopText_1d85c +.asm_34d2d ; 0x1d856 + call PrintText + jp TextScriptEnd + +BikeShopText_1d85c: ; 1d85c (7:585c) + TX_FAR _BikeShopText_1d85c + db "@" + +BikeShopText_1d861: ; 1d861 (7:5861) + TX_FAR _BikeShopText_1d861 + db "@" diff --git a/scripts/billshouse.asm b/scripts/billshouse.asm new file mode 100755 index 00000000..6d397de1 --- /dev/null +++ b/scripts/billshouse.asm @@ -0,0 +1,208 @@ +BillsHouseScript: ; 1e76a (7:676a) + call EnableAutoTextBoxDrawing + ld a, [W_BILLSHOUSECURSCRIPT] + ld hl, BillsHouseScriptPointers + jp CallFunctionInTable + +BillsHouseScriptPointers: ; 1e776 (7:6776) + dw BillsHouseScript0 + dw BillsHouseScript1 + dw BillsHouseScript2 + dw BillsHouseScript3 + dw BillsHouseScript4 + dw BillsHouseScript5 + +BillsHouseScript0: ; 1e782 (7:6782) + ret + +BillsHouseScript1: ; 1e783 (7:6783) + ld a, [$c109] + and a + ld de, MovementData_1e79c + jr nz, .asm_1e78f ; 0x1e78a $3 + ld de, MovementData_1e7a0 +.asm_1e78f + ld a, $1 + ld [$ff8c], a + call MoveSprite + ld a, $2 + ld [W_BILLSHOUSECURSCRIPT], a + ret + +MovementData_1e79c: ; 1e79c (7:679c) + db $40,$40,$40,$FF + +MovementData_1e7a0: ; 1e7a0 (7:67a0) + db $C0,$40,$40,$80,$40,$FF + +BillsHouseScript2: ; 1e7a6 (7:67a6) + ld a, [$d730] + bit 0, a + ret nz + ld a, $61 + ld [$cc4d], a + ld a, $11 + call Predef + ld hl, $d7f2 + set 6, [hl] + xor a + ld [wJoypadForbiddenButtonsMask], a + ld a, $3 + ld [W_BILLSHOUSECURSCRIPT], a + ret + +BillsHouseScript3: ; 1e7c5 (7:67c5) + ld a, [$d7f2] + bit 3, a + ret z + ld a, $f0 + ld [wJoypadForbiddenButtonsMask], a + ld a, $2 + ld [$cf13], a + ld a, $c + ld [$ffeb], a + ld a, $40 + ld [$ffec], a + ld a, $6 + ld [$ffed], a + ld a, $5 + ld [$ffee], a + call Func_32f9 + ld a, $62 + ld [$cc4d], a + ld a, $15 + call Predef + ld c, $8 + call DelayFrames + ld a, $2 + ld [$ff8c], a + ld de, MovementData_1e807 + call MoveSprite + ld a, $4 + ld [W_BILLSHOUSECURSCRIPT], a + ret + +MovementData_1e807: ; 1e807 (7:6807) + db $00,$C0,$C0,$C0,$00,$FF + +BillsHouseScript4: ; 1e80d (7:680d) + ld a, [$d730] + bit 0, a + ret nz + xor a + ld [wJoypadForbiddenButtonsMask], a + ld hl, $d7f2 + set 5, [hl] + ld hl, $d7f1 + set 0, [hl] + ld a, $0 + ld [W_BILLSHOUSECURSCRIPT], a + ret + +BillsHouseScript5: ; 1e827 (7:6827) + ld a, $4 + ld [$ff8c], a + call DisplayTextID + ld a, $0 + ld [W_BILLSHOUSECURSCRIPT], a + ret + +BillsHouseTextPointers: ; 1e834 (7:6834) + dw BillsHouseText1 + dw BillsHouseText2 + dw BillsHouseText3 + dw BillsHouseText4 + +BillsHouseText4: ; 1e83c (7:683c) + db $fd + +BillsHouseText1: ; 1e83d (7:683d) + db $8 + ld hl, BillsHouseText_1e865 + call PrintText + call YesNoChoice + ld a, [$cc26] + and a + jr nz, asm_6b196 ; 0x1e84b $d +asm_4d03c: ; 1e84d (7:684d) + ld hl, BillsHouseText_1e86a + call PrintText + ld a, $1 + ld [W_BILLSHOUSECURSCRIPT], a + jr asm_fd4e2 ; 0x1e858 $8 +asm_6b196: ; 1e85a (7:685a) + ld hl, BillsHouseText_1e86f + call PrintText + jr asm_4d03c ; 0x1e860 $eb +asm_fd4e2 ; 0x1e862 + jp TextScriptEnd + +BillsHouseText_1e865: ; 1e865 (7:6865) + TX_FAR _BillsHouseText_1e865 ; 0x8d267 + db "@" + +BillsHouseText_1e86a: ; 1e86a (7:686a) + TX_FAR _BillsHouseText_1e86a ; 0x8d345 + db "@" + +BillsHouseText_1e86f: ; 1e86f (7:686f) + TX_FAR _BillsHouseText_1e86f ; 0x8d391 + db "@" + +BillsHouseText2: ; 1e874 (7:6874) + db $08 ; asm + ld a, [$d7f2] + bit 4, a + jr nz, .asm_5491f ; 0x1e87a + ld hl, BillThankYouText + call PrintText + ld bc, (S_S__TICKET << 8) | 1 + call GiveItem + jr nc, .BagFull + ld hl, SSTicketReceivedText + call PrintText + ld hl, $d7f2 + set 4, [hl] + ld a, $7 + ld [$cc4d], a + ld a, $15 + call Predef + ld a, $9 + ld [$cc4d], a + ld a, $11 + call Predef +.asm_5491f ; 0x1e8a9 + ld hl, BillsHouseText_1e8cb + call PrintText + jr .asm_bd408 ; 0x1e8af +.BagFull + ld hl, SSTicketNoRoomText + call PrintText +.asm_bd408 ; 0x1e8b7 + 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) + db $08 ; asm + ld hl, BillsHouseText_1e8da + call PrintText + jp TextScriptEnd + +BillsHouseText_1e8da: ; 1e8da (7:68da) + TX_FAR _BillsHouseText_1e8da + db "@" diff --git a/scripts/blueshouse.asm b/scripts/blueshouse.asm new file mode 100755 index 00000000..1699160f --- /dev/null +++ b/scripts/blueshouse.asm @@ -0,0 +1,90 @@ +BluesHouseScript: ; 19b3b (6:5b3b) + call EnableAutoTextBoxDrawing + ld hl,BluesHouseScriptPointers + ld a,[W_BLUESHOUSECURSCRIPT] + jp CallFunctionInTable + +BluesHouseScriptPointers: ; 19b47 (6:5b47) + dw BluesHouseScript0 + dw BluesHouseScript1 + +BluesHouseScript0: ; 19b4b (6:5b4b) + ld hl,$D74A + set 1,[hl] + + ; trigger the next script + ld a,1 + ld [W_BLUESHOUSECURSCRIPT],a + ret + +BluesHouseScript1: ; 19b56 (6:5b56) + ret + +BluesHouseTextPointers: ; 19b57 (6:5b57) + dw BluesHouseText1 + dw BluesHouseText2 + dw BluesHouseText3 + +BluesHouseText1: ; 19b5d (6:5b5d) + db 8 + ld a,[$D74A] + bit 0,a + jr nz,.GotMap + ld a,[$D74B] + bit 5,a + jr nz,.GiveMap + ld hl,DaisyInitialText + call PrintText + jr .done +.GiveMap + ld hl,DaisyOfferMapText + call PrintText + ld bc,(TOWN_MAP << 8) | 1 + call GiveItem + jr nc, .BagFull + ld a,$29 + ld [$CC4D],a + ld a,$11 + call Predef ; hide table map object + ld hl,GotMapText + call PrintText + ld hl,$D74A + set 0,[hl] + jr .done +.GotMap + ld hl,DaisyUseMapText + call PrintText + jr .done +.BagFull + ld hl,DaisyBagFullText + call PrintText +.done + jp TextScriptEnd + +DaisyInitialText: ; 19baa (6:5baa) + TX_FAR _DaisyInitialText + db "@" + +DaisyOfferMapText: ; 19baf (6:5baf) + TX_FAR _DaisyOfferMapText + db "@" + +GotMapText: ; 19bb4 (6:5bb4) + TX_FAR _GotMapText + db $11,"@" + +DaisyBagFullText: ; 19bba (6:5bba) + TX_FAR _DaisyBagFullText + db "@" + +DaisyUseMapText: ; 19bbf (6:5bbf) + TX_FAR _DaisyUseMapText + db "@" + +BluesHouseText2: ; 0x19bc4 Daisy, walking around + TX_FAR _BluesHouseText2 + db "@" + +BluesHouseText3: ; 0x19bc9 map on table + TX_FAR _BluesHouseText3 + db "@" diff --git a/scripts/bruno.asm b/scripts/bruno.asm new file mode 100755 index 00000000..60d579b2 --- /dev/null +++ b/scripts/bruno.asm @@ -0,0 +1,154 @@ +BrunoScript: ; 762d6 (1d:62d6) + call BrunoScript_762ec + call EnableAutoTextBoxDrawing + ld hl, BrunoTrainerHeaders + ld de, BrunoScriptPointers + ld a, [W_BRUNOCURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_BRUNOCURSCRIPT], a + ret + +BrunoScript_762ec: ; 762ec (1d:62ec) + ld hl, $d126 + bit 5, [hl] + res 5, [hl] + ret z + ld a, [$d864] + bit 1, a + jr z, .asm_76300 + ld a, $5 + jp BrunoScript_76302 +.asm_76300 + ld a, $24 + +BrunoScript_76302: ; 76302 (1d:6302) + ld [$d09f], a + ld bc, $2 + ld a, $17 + jp Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e)) + +BrunoScript_7630d: ; 7630d (1d:630d) + xor a + ld [W_BRUNOCURSCRIPT], a + ret + +BrunoScriptPointers: ; 76312 (1d:6312) + dw BrunoScript0 + dw Func_324c + dw BrunoScript2 + dw BrunoScript3 + dw BrunoScript4 + +BrunoScript4: ; 7631c (1d:631c) + ret +asm_7631d: ; 7631d (1d:631d) + ld hl, $ccd3 + ld a, $40 + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hl], a + ld a, $6 + ld [$cd38], a + call Func_3486 + ld a, $3 + ld [W_BRUNOCURSCRIPT], a + ld [W_CURMAPSCRIPT], a + ret + +BrunoScript0: ; 76339 (1d:6339) + ld hl, CoordsData_7637a + call ArePlayerCoordsInArray + jp nc, CheckFightingMapTrainers + xor a + ld [H_NEWLYPRESSEDBUTTONS], a + ld [H_CURRENTPRESSEDBUTTONS], a + ld [$ccd3], a + ld [$cd38], a + ld a, [wWhichTrade] ; $cd3d + cp $3 + jr c, .asm_7635d + ld hl, $d864 + bit 6, [hl] + set 6, [hl] + jr z, asm_7631d +.asm_7635d + ld a, $2 + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + call DisplayTextID + ld a, $40 + ld [$ccd3], a + ld a, $1 + ld [$cd38], a + call Func_3486 + ld a, $3 + ld [W_BRUNOCURSCRIPT], a + ld [W_CURMAPSCRIPT], a + ret + +CoordsData_7637a: ; 7637a (1d:637a) + db $0A,$04 + db $0A,$05 + db $0B,$04 + db $0B,$05 + db $FF + +BrunoScript3: ; 76383 (1d:6383) + ld a, [$cd38] + and a + ret nz + call Delay3 + xor a + ld [wJoypadForbiddenButtonsMask], a + ld [W_BRUNOCURSCRIPT], a + ld [W_CURMAPSCRIPT], a + ret + +BrunoScript2: ; 76396 (1d:6396) + call EndTrainerBattle + ld a, [W_ISINBATTLE] ; $d057 + cp $ff + jp z, BrunoScript_7630d + ld a, $1 + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + jp DisplayTextID + +BrunoTextPointers: ; 763a8 (1d:63a8) + dw BrunoText1 + dw BrunoText2 + +BrunoTrainerHeaders: ; 763ac (1d:63ac) +BrunoTrainerHeader0: ; 763ac (1d:63ac) + db $1 ; flag's bit + db ($0 << 4) ; trainer's view range + dw $d864 ; flag's byte + dw BrunoBeforeBattleText ; 0x63c3 TextBeforeBattle + dw BrunoAfterBattleText ; 0x63cd TextAfterBattle + dw BrunoEndBattleText ; 0x63c8 TextEndBattle + dw BrunoEndBattleText ; 0x63c8 TextEndBattle + + db $ff + +BrunoText1: ; 763b9 (1d:63b9) + db $08 ; asm + ld hl, BrunoTrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +BrunoBeforeBattleText: ; 763c3 (1d:63c3) + TX_FAR _BrunoBeforeBattleText + db "@" + +BrunoEndBattleText: ; 763c8 (1d:63c8) + TX_FAR _BrunoEndBattleText + db "@" + +BrunoAfterBattleText: ; 763cd (1d:63cd) + TX_FAR _BrunoAfterBattleText + db "@" + +BrunoText2: ; 763d2 (1d:63d2) + TX_FAR _UnnamedText_763d2 + db "@" diff --git a/scripts/celadoncity.asm b/scripts/celadoncity.asm new file mode 100755 index 00000000..2f2a3128 --- /dev/null +++ b/scripts/celadoncity.asm @@ -0,0 +1,136 @@ +CeladonCityScript: ; 19956 (6:5956) + call EnableAutoTextBoxDrawing + ld hl, $d77e + res 0, [hl] + res 7, [hl] + ld hl, $d816 + res 7, [hl] + ret + +CeladonCityTextPointers: ; 19966 (6:5966) + dw CeladonCityText1 + dw CeladonCityText2 + dw CeladonCityText3 + dw CeladonCityText4 + dw CeladonCityText5 + dw CeladonCityText6 + dw CeladonCityText7 + dw CeladonCityText8 + dw CeladonCityText9 + dw CeladonCityText10 + dw CeladonCityText11 + dw PokeCenterSignText + dw CeladonCityText13 + dw CeladonCityText14 + dw CeladonCityText15 + dw CeladonCityText16 + dw CeladonCityText17 + dw CeladonCityText18 + +CeladonCityText1: ; 1998a (6:598a) + TX_FAR _CeladonCityText1 + db "@" + +CeladonCityText2: ; 1998f (6:598f) + TX_FAR _CeladonCityText2 + db "@" + +CeladonCityText3: ; 19994 (6:5994) + TX_FAR _CeladonCityText3 + db "@" + +CeladonCityText4: ; 19999 (6:5999) + TX_FAR _CeladonCityText4 + db "@" + +CeladonCityText5: ; 1999e (6:599e) + db $08 ; asm + ld a, [$d777] + bit 0, a + jr nz, .asm_7053f ; 0x199a4 + ld hl, TM41PreText + call PrintText + ld bc, (TM_41 << 8) | 1 + call GiveItem + jr c, .Success + ld hl, TM41NoRoomText + call PrintText + jr .Done +.Success + ld hl, ReceivedTM41Text + call PrintText + ld hl, $d777 + set 0, [hl] + jr .Done +.asm_7053f ; 0x199c9 + ld hl, TM41ExplanationText + call PrintText +.Done + jp TextScriptEnd + +TM41PreText: ; 199d2 (6:59d2) + TX_FAR _TM41PreText + db "@" + +ReceivedTM41Text: ; 199d7 (6:59d7) + TX_FAR _ReceivedTM41Text + db $0B, "@" + +TM41ExplanationText: ; 199dd (6:59dd) + TX_FAR _TM41ExplanationText + db "@" + +TM41NoRoomText: ; 199e2 (6:59e2) + TX_FAR _TM41NoRoomText + db "@" + +CeladonCityText6: ; 199e7 (6:59e7) + TX_FAR _CeladonCityText6 + db "@" + +CeladonCityText7: ; 199ec (6:59ec) + TX_FAR _CeladonCityText7 + db $08 ; asm + ld a, POLIWRATH + call PlayCry + jp TextScriptEnd + +CeladonCityText8: ; 199f9 (6:59f9) + TX_FAR _CeladonCityText8 + db "@" + +CeladonCityText9: ; 199fe (6:59fe) + TX_FAR _CeladonCityText9 + db "@" + +CeladonCityText10: ; 19a03 (6:5a03) + TX_FAR _CeladonCityText10 + db "@" + +CeladonCityText11: ; 19a08 (6:5a08) + TX_FAR _CeladonCityText11 + db "@" + +CeladonCityText13: ; 19a0d (6:5a0d) + TX_FAR _CeladonCityText13 + db "@" + +CeladonCityText14: ; 19a12 (6:5a12) + TX_FAR _CeladonCityText14 + db "@" + +CeladonCityText15: ; 19a17 (6:5a17) + TX_FAR _CeladonCityText15 + db "@" + +CeladonCityText16: ; 19a1c (6:5a1c) + TX_FAR _CeladonCityText16 + db "@" + +CeladonCityText17: ; 19a21 (6:5a21) + TX_FAR _CeladonCityText17 + db "@" + +CeladonCityText18: ; 19a26 (6:5a26) + TX_FAR _CeladonCityText18 + db "@" diff --git a/scripts/celadondiner.asm b/scripts/celadondiner.asm new file mode 100755 index 00000000..06cce8fd --- /dev/null +++ b/scripts/celadondiner.asm @@ -0,0 +1,67 @@ +CeladonDinerScript: ; 49151 (12:5151) + call EnableAutoTextBoxDrawing + ret + +CeladonDinerTextPointers: ; 49155 (12:5155) + dw CeladonDinerText1 + dw CeladonDinerText2 + dw CeladonDinerText3 + dw CeladonDinerText4 + dw CeladonDinerText5 + +CeladonDinerText1: ; 4915f (12:515f) + TX_FAR _CeladonDinerText1 + db "@" + +CeladonDinerText2: ; 49164 (12:5164) + TX_FAR _CeladonDinerText2 + db "@" + +CeladonDinerText3: ; 49169 (12:5169) + TX_FAR _CeladonDinerText3 + db "@" + +CeladonDinerText4: ; 4916e (12:516e) + TX_FAR _CeladonDinerText4 + db "@" + +CeladonDinerText5: ; 49173 (12:5173) + db $08 ; asm + ld a, [$d783] + bit 0, a + jr nz, .asm_eb14d ; 0x49179 + ld hl, CeladonDinerText_491a7 + call PrintText + ld bc, (COIN_CASE << 8) | 1 + call GiveItem + jr nc, .BagFull + ld hl, $d783 + set 0, [hl] + ld hl, ReceivedCoinCaseText + call PrintText + jr .asm_68b61 ; 0x49194 +.BagFull + ld hl, CoinCaseNoRoomText + call PrintText + jr .asm_68b61 ; 0x4919c +.asm_eb14d ; 0x4919e + ld hl, CeladonDinerText_491b7 + call PrintText +.asm_68b61 ; 0x491a4 + jp TextScriptEnd + +CeladonDinerText_491a7: ; 491a7 (12:51a7) + TX_FAR _CeladonDinerText_491a7 + db "@" + +ReceivedCoinCaseText: ; 491ac (12:51ac) + TX_FAR _ReceivedCoinCaseText + db $11, "@" + +CoinCaseNoRoomText: ; 491b2 (12:51b2) + TX_FAR _CoinCaseNoRoomText + db "@" + +CeladonDinerText_491b7: ; 491b7 (12:51b7) + TX_FAR _CeladonDinerText_491b7 + db "@" diff --git a/scripts/celadongamecorner.asm b/scripts/celadongamecorner.asm new file mode 100755 index 00000000..f4e23d6e --- /dev/null +++ b/scripts/celadongamecorner.asm @@ -0,0 +1,536 @@ +CeladonGameCornerScript: ; 48bbd (12:4bbd) + call CeladonGameCornerScript_48bcf + call CeladonGameCornerScript_48bec + call EnableAutoTextBoxDrawing + ld hl, CeladonGameCornerScriptPointers + ld a, [W_CELADONGAMECORNERCURSCRIPT] + jp CallFunctionInTable + +CeladonGameCornerScript_48bcf: ; 48bcf (12:4bcf) + ld hl, $d126 + bit 6, [hl] + res 6, [hl] + ret z + call GenRandom + ld a, [$ffd3] + cp $7 + jr nc, .asm_48be2 + ld a, $8 +.asm_48be2 + srl a + srl a + srl a + ld [$cd05], a + ret + +CeladonGameCornerScript_48bec: ; 48bec (12:4bec) + ld hl, $d126 + bit 5, [hl] + res 5, [hl] + ret z + ld a, [$d77e] + bit 1, a + ret nz + ld a, $2a + ld [$d09f], a + ld bc, $0208 + ld a, $17 + jp Predef + +CeladonGameCornerScript_48c07: ; 48c07 (12:4c07) + xor a + ld [wJoypadForbiddenButtonsMask], a + ld [W_CELADONGAMECORNERCURSCRIPT], a + ld [W_CURMAPSCRIPT], a + ret + +CeladonGameCornerScriptPointers: ; 48c12 (12:4c12) + dw CeladonGameCornerScript0 + dw CeladonGameCornerScript1 + dw CeladonGameCornerScript2 + +CeladonGameCornerScript0: ; 48c18 (12:4c18) + ret + +CeladonGameCornerScript1: ; 48c19 (12:4c19) + ld a, [W_ISINBATTLE] + cp $ff + jp z, CeladonGameCornerScript_48c07 + ld a, $f0 + ld [wJoypadForbiddenButtonsMask], a + ld a, $d + ld [H_SPRITEHEIGHT], a + call DisplayTextID + ld a, $b + ld [H_SPRITEHEIGHT], a + call SetSpriteMovementBytesToFF + ld de, MovementData_48c5a + ld a, [W_YCOORD] + cp $6 + jr nz, .asm_48c43 + ld de, MovementData_48c63 + jr .asm_48c4d +.asm_48c43 + ld a, [W_XCOORD] + cp $8 + jr nz, .asm_48c4d + ld de, MovementData_48c63 +.asm_48c4d + ld a, $b + ld [H_DOWNARROWBLINKCNT2], a + call MoveSprite + ld a, $2 + ld [W_CELADONGAMECORNERCURSCRIPT], a + ret + +MovementData_48c5a: ; 48c5a (12:4c5a) + db $00,$C0,$C0,$40,$C0,$C0,$C0,$C0,$FF + +MovementData_48c63: ; 48c63 (12:4c63) + db $C0,$C0,$C0,$C0,$C0,$FF + +CeladonGameCornerScript2: ; 48c69 (12:4c69) + ld a, [$d730] + bit 0, a + ret nz + xor a + ld [wJoypadForbiddenButtonsMask], a + ld a, $46 + ld [$cc4d], a + ld a, $11 + call Predef + ld hl, $d126 + set 5, [hl] + set 6, [hl] + ld a, $0 + ld [W_CELADONGAMECORNERCURSCRIPT], a + ret + +CeladonGameCornerTextPointers: ; 48c8a (12:4c8a) + dw CeladonGameCornerText1 + dw CeladonGameCornerText2 + dw CeladonGameCornerText3 + dw CeladonGameCornerText4 + dw CeladonGameCornerText5 + dw CeladonGameCornerText6 + dw CeladonGameCornerText7 + dw CeladonGameCornerText8 + dw CeladonGameCornerText9 + dw CeladonGameCornerText10 + dw CeladonGameCornerText11 + dw CeladonGameCornerText12 + dw CeladonGameCornerText13 + +CeladonGameCornerText1: ; 48ca4 (12:4ca4) + TX_FAR _CeladonGameCornerText1 + db "@" + +CeladonGameCornerText2: ; 48ca9 (12:4ca9) + db $08 ; asm + call CeladonGameCornerScript_48f1e + ld hl, CeladonGameCornerText_48d22 + call PrintText + call YesNoChoice + ld a, [$cc26] + and a + jr nz, .asm_c650b ; 0x48cba + ld b,COIN_CASE + call IsItemInBag + jr z, .asm_ed086 ; 0x48cc1 + call Has9990Coins + jr nc, .asm_31338 ; 0x48cc6 + xor a + ldh [$9f], a + ldh [$a1], a + ld a, $10 + ldh [$a0], a + call HasEnoughMoney + jr nc, .asm_b6ef0 ; 0x48cd4 + ld hl, CeladonGameCornerText_48d31 ; $4d31 + jr .asm_e2afd ; 0x48cd9 +.asm_b6ef0 ; 0x48cdb + xor a + ldh [$9f], a + ldh [$a1], a + ld a, $10 + ldh [$a0], a + ld hl, $ffa1 + ld de, $d349 + ld c, $3 + ld a, $c + call Predef + xor a + ldh [$9f], a + ldh [$a0], a + ld a, $50 + ldh [$a1], a + ld de, $d5a5 + ld hl, $ffa1 + ld c, $2 + ld a, $b + call Predef + call CeladonGameCornerScript_48f1e + ld hl, CeladonGameCornerText_48d27 + jr .asm_e2afd ; 0x48d0d +.asm_c650b ; 0x48d0f + ld hl, CeladonGameCornerText_48d2c + jr .asm_e2afd ; 0x48d12 +.asm_31338 ; 0x48d14 + ld hl, CeladonGameCornerText_48d36 + jr .asm_e2afd ; 0x48d17 +.asm_ed086 ; 0x48d19 + ld hl, CeladonGameCornerText_48d3b +.asm_e2afd ; 0x48d1c + call PrintText + jp TextScriptEnd + +CeladonGameCornerText_48d22: ; 48d22 (12:4d22) + TX_FAR _CeladonGameCornerText_48d22 + db "@" + +CeladonGameCornerText_48d27: ; 48d27 (12:4d27) + TX_FAR _CeladonGameCornerText_48d27 + db "@" + +CeladonGameCornerText_48d2c: ; 48d2c (12:4d2c) + TX_FAR _CeladonGameCornerText_48d2c + db "@" + +CeladonGameCornerText_48d31: ; 48d31 (12:4d31) + TX_FAR _CeladonGameCornerText_48d31 + db "@" + +CeladonGameCornerText_48d36: ; 48d36 (12:4d36) + TX_FAR _CeladonGameCornerText_48d36 + db "@" + +CeladonGameCornerText_48d3b: ; 48d3b (12:4d3b) + TX_FAR _CeladonGameCornerText_48d3b + db "@" + +CeladonGameCornerText3: ; 48d40 (12:4d40) + TX_FAR _CeladonGameCornerText3 + db "@" + +CeladonGameCornerText4: ; 48d45 (12:4d45) + TX_FAR _CeladonGameCornerText4 + db "@" + +CeladonGameCornerText5: ; 48d4a (12:4d4a) + db $08 ; asm + ld a, [$d77e] + bit 2, a + jr nz, .asm_d0957 ; 0x48d50 + ld hl, CeladonGameCornerText_48d9c + call PrintText + ld b, COIN_CASE + call IsItemInBag + jr z, .asm_5aef9 ; 0x48d5d + call Has9990Coins + jr nc, .asm_98546 ; 0x48d62 + xor a + ldh [$9f], a + ldh [$a0], a + ld a, $10 + ldh [$a1], a + ld de, $d5a5 + ld hl, $ffa1 + ld c, $2 + ld a, $b + call Predef + ld hl, $d77e + set 2, [hl] + ld a, $1 + ld [$cc3c], a + ld hl, Received10CoinsText + jr .asm_c7d1a ; 0x48d87 +.asm_d0957 ; 0x48d89 + ld hl, CeladonGameCornerText_48dac + jr .asm_c7d1a ; 0x48d8c +.asm_98546 ; 0x48d8e + ld hl, CeladonGameCornerText_48da7 + jr .asm_c7d1a ; 0x48d91 +.asm_5aef9 ; 0x48d93 + ld hl, CeladonGameCornerText_48f19 +.asm_c7d1a ; 0x48d96 + call PrintText + jp TextScriptEnd + +CeladonGameCornerText_48d9c: ; 48d9c (12:4d9c) + TX_FAR _CeladonGameCornerText_48d9c + db "@" + +Received10CoinsText: ; 48da1 (12:4da1) + TX_FAR _Received10CoinsText + db $0B, "@" + +CeladonGameCornerText_48da7: ; 48da7 (12:4da7) + TX_FAR _CeladonGameCornerText_48da7 + db "@" + +CeladonGameCornerText_48dac: ; 48dac (12:4dac) + TX_FAR _CeladonGameCornerText_48dac + db "@" + +CeladonGameCornerText6: ; 48db1 (12:4db1) + TX_FAR _CeladonGameCornerText6 + db "@" + +CeladonGameCornerText7: ; 48db6 (12:4db6) + db $08 ; asm + ld a, [$d77c] + bit 1, a + ld hl, CeladonGameCornerText_48dca ; $4dca + jr z, .asm_be3fd ; 0x48dbf + ld hl, CeladonGameCornerText_48dcf ; $4dcf +.asm_be3fd ; 0x48dc4 + call PrintText + jp TextScriptEnd + +CeladonGameCornerText_48dca: ; 48dca (12:4dca) + TX_FAR _CeladonGameCornerText_48dca + db "@" + +CeladonGameCornerText_48dcf: ; 48dcf (12:4dcf) + TX_FAR _CeladonGameCornerText_48dcf + db "@" + +CeladonGameCornerText8: ; 48dd4 (12:4dd4) + TX_FAR _CeladonGameCornerText8 + db "@" + +CeladonGameCornerText9: ; 48dd9 (12:4dd9) + db $08 ; asm + ld a, [$d77e] + bit 4, a + jr nz, .asm_ed8bc ; 0x48ddf + ld hl, CeladonGameCornerText_48e26 + call PrintText + ld b, COIN_CASE + call IsItemInBag + jr z, .asm_df794 ; 0x48dec + call Has9990Coins + jr nc, .asm_f17c3 ; 0x48df1 + xor a + ldh [$9f], a + ldh [$a0], a + ld a, $20 + ldh [$a1], a + ld de, $d5a5 + ld hl, $ffa1 + ld c, $2 + ld a, $b + call Predef + ld hl, $d77e + set 4, [hl] + ld hl, Received20CoinsText + jr .asm_0ddc2 ; 0x48e11 +.asm_ed8bc ; 0x48e13 + ld hl, CeladonGameCornerText_48e36 + jr .asm_0ddc2 ; 0x48e16 +.asm_f17c3 ; 0x48e18 + ld hl, CeladonGameCornerText_48e31 + jr .asm_0ddc2 ; 0x48e1b +.asm_df794 ; 0x48e1d + ld hl, CeladonGameCornerText_48f19 +.asm_0ddc2 ; 0x48e20 + call PrintText + jp TextScriptEnd + +CeladonGameCornerText_48e26: ; 48e26 (12:4e26) + TX_FAR _CeladonGameCornerText_48e26 + db "@" + +Received20CoinsText: ; 48e2b (12:4e2b) + TX_FAR _Received20CoinsText + db $0B, "@" + +CeladonGameCornerText_48e31: ; 48e31 (12:4e31) + TX_FAR _CeladonGameCornerText_48e31 + db "@" + +CeladonGameCornerText_48e36: ; 48e36 (12:4e36) + TX_FAR _CeladonGameCornerText_48e36 + db "@" + +CeladonGameCornerText10: ; 48e3b (12:4e3b) + db $08 ; asm + ld a, [$d77e] + bit 3, a + jr nz, .asm_ff080 ; 0x48e41 + ld hl, CeladonGameCornerText_48e88 ; $4e88 + call PrintText + ld b,COIN_CASE + call IsItemInBag + jr z, .asm_4fb0c ; 0x48e4e + call Has9990Coins + jr z, .asm_9505a ; 0x48e53 + xor a + ldh [$9f], a + ldh [$a0], a + ld a, $20 + ldh [$a1], a + ld de, $d5a5 + ld hl, $ffa1 + ld c, $2 + ld a, $b + call Predef + ld hl, $d77e + set 3, [hl] + ld hl, CeladonGameCornerText_48e8d + jr .asm_78d65 ; 0x48e73 +.asm_ff080 ; 0x48e75 + ld hl, CeladonGameCornerText_48e98 + jr .asm_78d65 ; 0x48e78 +.asm_9505a ; 0x48e7a + ld hl, CeladonGameCornerText_48e93 + jr .asm_78d65 ; 0x48e7d +.asm_4fb0c ; 0x48e7f + ld hl, CeladonGameCornerText_48f19 +.asm_78d65 ; 0x48e82 + call PrintText + jp TextScriptEnd + +CeladonGameCornerText_48e88: ; 48e88 (12:4e88) + TX_FAR _CeladonGameCornerText_48e88 + db "@" + +CeladonGameCornerText_48e8d: ; 48e8d (12:4e8d) + TX_FAR _CeladonGameCornerText_48e8d ; 0x9dceb + db $0B, "@" + +CeladonGameCornerText_48e93: ; 48e93 (12:4e93) + TX_FAR _CeladonGameCornerText_48e93 + db "@" + +CeladonGameCornerText_48e98: ; 48e98 (12:4e98) + TX_FAR _CeladonGameCornerText_48e98 + db "@" + +CeladonGameCornerText11: ; 48e9d (12:4e9d) + db $08 ; asm + ld hl, CeladonGameCornerText_48ece + call PrintText + ld hl, $d72d + set 6, [hl] + set 7, [hl] + ld hl, CeladonGameCornerText_48ed3 + ld de, CeladonGameCornerText_48ed3 + call PreBattleSaveRegisters + ldh a, [$8c] + ld [$cf13], a + call EngageMapTrainer + call InitBattleEnemyParameters + xor a + ldh [$b4], a + ldh [$b3], a + ldh [$b2], a + ld a, $1 + ld [W_CELADONGAMECORNERCURSCRIPT], a + jp TextScriptEnd + +CeladonGameCornerText_48ece: ; 48ece (12:4ece) + TX_FAR _CeladonGameCornerText_48ece + db "@" + +CeladonGameCornerText_48ed3: ; 48ed3 (12:4ed3) + TX_FAR _CeladonGameCornerText_48ed3 + db "@" + +CeladonGameCornerText13: ; 48ed8 (12:4ed8) + TX_FAR _CeladonGameCornerText_48ed8 + db "@" + +CeladonGameCornerText12: ; 48edd (12:4edd) + db $08 ; asm + ld a, $1 + ld [$cc3c], a + ld hl, CeladonGameCornerText_48f09 + call PrintText + call WaitForSoundToFinish + ld a, (SFX_02_57 - SFX_Headers_02) / 3 + call PlaySound + call WaitForSoundToFinish + ld hl, $d77e + set 1, [hl] + ld a, $43 + ld [$d09f], a + ld bc, $0208 + ld a, $17 + call Predef + jp TextScriptEnd + +CeladonGameCornerText_48f09: ; 48f09 (12:4f09) + TX_FAR _CeladonGameCornerText_48f09 ; 0x9ddb0 + db $8 + ld a, (SFX_02_49 - SFX_Headers_02) / 3 + call PlaySound + call WaitForSoundToFinish + jp TextScriptEnd + +CeladonGameCornerText_48f19: ; 48f19 (12:4f19) + TX_FAR _CeladonGameCornerText_48f19 + db "@" + +CeladonGameCornerScript_48f1e: ; 48f1e (12:4f1e) + ld hl, $d730 + set 6, [hl] + FuncCoord 11, 0 ; $c3ab + ld hl, Coord + ld b, $5 + ld c, $7 + call TextBoxBorder + call UpdateSprites + FuncCoord 12, 1 ; $c3c0 + ld hl, Coord + ld b, $4 + ld c, $7 + call ClearScreenArea + FuncCoord 12, 2 ; $c3d4 + ld hl, Coord + ld de, GameCornerMoneyText + call PlaceString + FuncCoord 12, 3 ; $c3e8 + ld hl, Coord + ld de, GameCornerBlankText1 + call PlaceString + FuncCoord 12, 3 ; $c3e8 + ld hl, Coord + ld de, $d347 + ld c, $a3 + call PrintBCDNumber + FuncCoord 12, 4 ; $c3fc + ld hl, Coord + ld de, GameCornerCoinText + call PlaceString + FuncCoord 12, 5 ; $c410 + ld hl, Coord + ld de, GameCornerBlankText2 + call PlaceString + FuncCoord 15, 5 ; $c413 + ld hl, Coord + ld de, $d5a4 + ld c, $82 + call PrintBCDNumber + ld hl, $d730 + res 6, [hl] + ret + +GameCornerMoneyText: ; 48f7a (12:4f7a) + db "MONEY@" + +GameCornerCoinText: ; 48f80 (12:4f80) + db "COIN@" + +GameCornerBlankText1: ; 48f85 (12:4f85) + db " @" + +GameCornerBlankText2: ; 48f8d (12:4f8d) + db " @" + +Has9990Coins: ; 48f95 (12:4f95) + ld a, $99 + ld [$ffa0], a + ld a, $90 + ld [$ffa1], a + jp HasEnoughCoins diff --git a/scripts/celadongym.asm b/scripts/celadongym.asm new file mode 100755 index 00000000..67102fb7 --- /dev/null +++ b/scripts/celadongym.asm @@ -0,0 +1,343 @@ +CeladonGymScript: ; 4890a (12:490a) + ld hl, $d126 + bit 6, [hl] + res 6, [hl] + call nz, CeladonGymScript_48927 + call EnableAutoTextBoxDrawing + ld hl, CeladonGymTrainerHeaders + ld de, CeladonGymScriptPointers + ld a, [W_CELADONGYMCURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_CELADONGYMCURSCRIPT], a + ret + +CeladonGymScript_48927: ; 48927 (12:4927) + ld hl, Gym4CityName ; $4930 + ld de, Gym4LeaderName ; $493d + jp LoadGymLeaderAndCityName + +Gym4CityName: ; 48930 (12:4930) + db "CELADON CITY@" + +Gym4LeaderName: ; 4893d (12:493d) + db "ERIKA@" + +CeladonGymText_48943: ; 48943 (12:4943) + xor a + ld [wJoypadForbiddenButtonsMask], a + ld [W_CELADONGYMCURSCRIPT], a + ld [W_CURMAPSCRIPT], a + ret + +CeladonGymScriptPointers: ; 4894e (12:494e) + dw CheckFightingMapTrainers + dw Func_324c + dw EndTrainerBattle + dw CeladonGymScript3 + +CeladonGymScript3: ; 48956 (12:4956) + ld a, [W_ISINBATTLE] ; $d057 + cp $ff + jp z, CeladonGymText_48943 + ld a, $f0 + ld [wJoypadForbiddenButtonsMask], a + +CeladonGymText_48963: ; 48963 (12:4963) + ld a, $9 + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + call DisplayTextID + ld hl, $d77c + set 1, [hl] + ld bc, (TM_21 << 8) | 1 + call GiveItem + jr nc, .BagFull + ld a, $a + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + call DisplayTextID + ld hl, $d77c + set 0, [hl] + jr .asm_4898c +.BagFull + ld a, $b + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + call DisplayTextID +.asm_4898c + ld hl, W_OBTAINEDBADGES + set 3, [hl] + ld hl, $d72a + set 3, [hl] + + ; deactivate gym trainers + ld a, [$d77c] + or %11111100 + ld [$d77c], a + ld hl, $d77d + set 0, [hl] + + jp CeladonGymText_48943 + +CeladonGymTextPointers: ; 489a6 (12:49a6) + dw CeladonGymText1 + dw CeladonGymText2 + dw CeladonGymText3 + dw CeladonGymText4 + dw CeladonGymText5 + dw CeladonGymText6 + dw CeladonGymText7 + dw CeladonGymText8 + dw CeladonGymText9 + dw TM21Text + dw TM21NoRoomText + +CeladonGymTrainerHeaders: ; 489bc (12:49bc) +CeladonGymTrainerHeader0: ; 489bc (12:49bc) + db $2 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d77c ; flag's byte + dw CeladonGymBattleText2 ; 0x4a8b TextBeforeBattle + dw CeladonGymAfterBattleText2 ; 0x4a95 TextAfterBattle + dw CeladonGymEndBattleText2 ; 0x4a90 TextEndBattle + dw CeladonGymEndBattleText2 ; 0x4a90 TextEndBattle + +CeladonGymTrainerHeader2: ; 489c8 (12:49c8) + db $3 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d77c ; flag's byte + dw CeladonGymBattleText3 ; 0x4aa4 TextBeforeBattle + dw CeladonGymAfterBattleText3 ; 0x4aae TextAfterBattle + dw CeladonGymEndBattleText3 ; 0x4aa9 TextEndBattle + dw CeladonGymEndBattleText3 ; 0x4aa9 TextEndBattle + +CeladonGymTrainerHeader3: ; 489d4 (12:49d4) + db $4 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d77c ; flag's byte + dw CeladonGymBattleText4 ; 0x4abd TextBeforeBattle + dw CeladonGymAfterBattleText4 ; 0x4ac7 TextAfterBattle + dw CeladonGymEndBattleText4 ; 0x4ac2 TextEndBattle + dw CeladonGymEndBattleText4 ; 0x4ac2 TextEndBattle + +CeladonGymTrainerHeader4: ; 489e0 (12:49e0) + db $5 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d77c ; flag's byte + dw CeladonGymBattleText5 ; 0x4ad6 TextBeforeBattle + dw CeladonGymAfterBattleText5 ; 0x4ae0 TextAfterBattle + dw CeladonGymEndBattleText5 ; 0x4adb TextEndBattle + dw CeladonGymEndBattleText5 ; 0x4adb TextEndBattle + +CeladonGymTrainerHeader5: ; 489ec (12:49ec) + db $6 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d77c ; flag's byte + dw CeladonGymBattleText6 ; 0x4aef TextBeforeBattle + dw CeladonGymAfterBattleText6 ; 0x4af9 TextAfterBattle + dw CeladonGymEndBattleText6 ; 0x4af4 TextEndBattle + dw CeladonGymEndBattleText6 ; 0x4af4 TextEndBattle + +CeladonGymTrainerHeader6: ; 489f8 (12:49f8) + db $7 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d77c ; flag's byte + dw CeladonGymBattleText7 ; 0x4b08 TextBeforeBattle + dw CeladonGymAfterBattleText7 ; 0x4b12 TextAfterBattle + dw CeladonGymEndBattleText7 ; 0x4b0d TextEndBattle + dw CeladonGymEndBattleText7 ; 0x4b0d TextEndBattle + +CeladonGymTrainerHeader7: ; 48a04 (12:4a04) + db $8 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d77c ; flag's byte + dw CeladonGymBattleText8 ; 0x4b21 TextBeforeBattle + dw CeladonGymAfterBattleText8 ; 0x4b2b TextAfterBattle + dw CeladonGymEndBattleText8 ; 0x4b26 TextEndBattle + dw CeladonGymEndBattleText8 ; 0x4b26 TextEndBattle + + db $ff + +CeladonGymText1: ; 48a11 (12:4a11) + db $08 ; asm + ld a, [$d77c] + bit 1, a + jr z, .asm_16064 ; 0x48a17 + bit 0, a + jr nz, .asm_3b22c ; 0x48a1b + call z, CeladonGymText_48963 + call DisableWaitingAfterTextDisplay + jr .asm_96252 ; 0x48a23 +.asm_3b22c ; 0x48a25 + ld hl, CeladonGymText_48a68 + call PrintText + jr .asm_96252 ; 0x48a2b +.asm_16064 ; 0x48a2d + ld hl, CeladonGymText_48a5e + call PrintText + ld hl, $d72d + set 6, [hl] + set 7, [hl] + ld hl, CeladonGymText_48a63 + ld de, CeladonGymText_48a63 + call PreBattleSaveRegisters + ldh a, [$8c] + ld [$cf13], a + call EngageMapTrainer + call InitBattleEnemyParameters + ld a, $4 + ld [$d05c], a + ld a, $3 + ld [W_CELADONGYMCURSCRIPT], a + ld [W_CURMAPSCRIPT], a +.asm_96252 ; 0x48a5b + jp TextScriptEnd + +CeladonGymText_48a5e: ; 48a5e (12:4a5e) + TX_FAR _CeladonGymText_48a5e + db "@" + +CeladonGymText_48a63: ; 48a63 (12:4a63) + TX_FAR _CeladonGymText_48a63 + db "@" + +CeladonGymText_48a68: ; 48a68 (12:4a68) + TX_FAR _CeladonGymText_48a68 + db "@" + +CeladonGymText9: ; 48a6d (12:4a6d) + TX_FAR _CeladonGymText9 + db "@" + +TM21Text: ; 48a72 (12:4a72) + TX_FAR _ReceivedTM21Text + db $0B + TX_FAR _TM21ExplanationText + db "@" + +TM21NoRoomText: ; 48a7c (12:4a7c) + TX_FAR _TM21NoRoomText + db "@" + +CeladonGymText2: ; 48a81 (12:4a81) + db $08 ; asm + ld hl, CeladonGymTrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +CeladonGymBattleText2: ; 48a8b (12:4a8b) + TX_FAR _CeladonGymBattleText2 + db "@" + +CeladonGymEndBattleText2: ; 48a90 (12:4a90) + TX_FAR _CeladonGymEndBattleText2 + db "@" + +CeladonGymAfterBattleText2: ; 48a95 (12:4a95) + TX_FAR _CeladonGymAfterBattleText2 + db "@" + +CeladonGymText3: ; 48a9a (12:4a9a) + db $08 ; asm + ld hl, CeladonGymTrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +CeladonGymBattleText3: ; 48aa4 (12:4aa4) + TX_FAR _CeladonGymBattleText3 + db "@" + +CeladonGymEndBattleText3: ; 48aa9 (12:4aa9) + TX_FAR _CeladonGymEndBattleText3 + db "@" + +CeladonGymAfterBattleText3: ; 48aae (12:4aae) + TX_FAR _CeladonGymAfterBattleText3 + db "@" + +CeladonGymText4: ; 48ab3 (12:4ab3) + db $08 ; asm + ld hl, CeladonGymTrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +CeladonGymBattleText4: ; 48abd (12:4abd) + TX_FAR _CeladonGymBattleText4 + db "@" + +CeladonGymEndBattleText4: ; 48ac2 (12:4ac2) + TX_FAR _CeladonGymEndBattleText4 + db "@" + +CeladonGymAfterBattleText4: ; 48ac7 (12:4ac7) + TX_FAR _CeladonGymAfterBattleText4 + db "@" + +CeladonGymText5: ; 48acc (12:4acc) + db $08 ; asm + ld hl, CeladonGymTrainerHeader4 + call TalkToTrainer + jp TextScriptEnd + +CeladonGymBattleText5: ; 48ad6 (12:4ad6) + TX_FAR _CeladonGymBattleText5 + db "@" + +CeladonGymEndBattleText5: ; 48adb (12:4adb) + TX_FAR _CeladonGymEndBattleText5 + db "@" + +CeladonGymAfterBattleText5: ; 48ae0 (12:4ae0) + TX_FAR _CeladonGymAfterBattleText5 + db "@" + +CeladonGymText6: ; 48ae5 (12:4ae5) + db $08 ; asm + ld hl, CeladonGymTrainerHeader5 + call TalkToTrainer + jp TextScriptEnd + +CeladonGymBattleText6: ; 48aef (12:4aef) + TX_FAR _CeladonGymBattleText6 + db "@" + +CeladonGymEndBattleText6: ; 48af4 (12:4af4) + TX_FAR _CeladonGymEndBattleText6 + db "@" + +CeladonGymAfterBattleText6: ; 48af9 (12:4af9) + TX_FAR _CeladonGymAfterBattleText6 + db "@" + +CeladonGymText7: ; 48afe (12:4afe) + db $08 ; asm + ld hl, CeladonGymTrainerHeader6 + call TalkToTrainer + jp TextScriptEnd + +CeladonGymBattleText7: ; 48b08 (12:4b08) + TX_FAR _CeladonGymBattleText7 + db "@" + +CeladonGymEndBattleText7: ; 48b0d (12:4b0d) + TX_FAR _CeladonGymEndBattleText7 + db "@" + +CeladonGymAfterBattleText7: ; 48b12 (12:4b12) + TX_FAR _CeladonGymAfterBattleText7 + db "@" + +CeladonGymText8: ; 48b17 (12:4b17) + db $08 ; asm + ld hl, CeladonGymTrainerHeader7 + call TalkToTrainer + jp TextScriptEnd + +CeladonGymBattleText8: ; 48b21 (12:4b21) + TX_FAR _CeladonGymBattleText8 + db "@" + +CeladonGymEndBattleText8: ; 48b26 (12:4b26) + TX_FAR _CeladonGymEndBattleText8 + db "@" + +CeladonGymAfterBattleText8: ; 48b2b (12:4b2b) + TX_FAR _CeladonGymAfterBattleText8 + db "@" diff --git a/scripts/celadonhotel.asm b/scripts/celadonhotel.asm new file mode 100755 index 00000000..a0f80ff6 --- /dev/null +++ b/scripts/celadonhotel.asm @@ -0,0 +1,19 @@ +CeladonHotelScript: ; 49269 (12:5269) + jp EnableAutoTextBoxDrawing + +CeladonHotelTextPointers: ; 4926c (12:526c) + dw CeladonHotelText1 + dw CeladonHotelText2 + dw CeladonHotelText3 + +CeladonHotelText1: ; 49272 (12:5272) + TX_FAR _CeladonHotelText1 + db "@" + +CeladonHotelText2: ; 49277 (12:5277) + TX_FAR _CeladonHotelText2 + db "@" + +CeladonHotelText3: ; 4927c (12:527c) + TX_FAR _CeladonHotelText3 + db "@" diff --git a/scripts/celadonhouse.asm b/scripts/celadonhouse.asm new file mode 100755 index 00000000..aa94f2fd --- /dev/null +++ b/scripts/celadonhouse.asm @@ -0,0 +1,20 @@ +CeladonHouseScript: ; 4920e (12:520e) + call EnableAutoTextBoxDrawing + ret + +CeladonHouseTextPointers: ; 49212 (12:5212) + dw CeladonHouseText1 + dw CeladonHouseText2 + dw CeladonHouseText3 + +CeladonHouseText1: ; 49218 (12:5218) + TX_FAR _CeladonHouseText1 + db "@" + +CeladonHouseText2: ; 4921d (12:521d) + TX_FAR _CeladonHouseText2 + db "@" + +CeladonHouseText3: ; 49222 (12:5222) + TX_FAR _CeladonHouseText3 + db "@" diff --git a/scripts/celadonmansion1.asm b/scripts/celadonmansion1.asm new file mode 100755 index 00000000..14832dbe --- /dev/null +++ b/scripts/celadonmansion1.asm @@ -0,0 +1,39 @@ +CeladonMansion1Script: ; 48694 (12:4694) + jp EnableAutoTextBoxDrawing + +CeladonMansion1TextPointers: ; 48697 (12:4697) + dw CeladonMansion1Text1 + dw CeladonMansion1Text2 + dw CeladonMansion1Text3 + dw CeladonMansion1Text4 + dw CeladonMansion1Text5 + +CeladonMansion1_486a1: ; 486a1 (12:46a1) + call PlayCry + jp TextScriptEnd + +CeladonMansion1Text1: ; 486a7 (12:46a7) + TX_FAR _CeladonMansion1Text1 + db $08 ; asm + ld a, MEOWTH + jp CeladonMansion1_486a1 + +CeladonMansion1Text2: ; 486b1 (12:46b1) + TX_FAR _CeladonMansion1Text2 + db "@" + +CeladonMansion1Text3: ; 486b6 (12:46b6) + TX_FAR _CeladonMansion1Text3 + db $8 + ld a, CLEFAIRY + jp CeladonMansion1_486a1 + +CeladonMansion1Text4: ; 486c0 (12:46c0) + TX_FAR _CeladonMansion1Text4 + db $8 + ld a, NIDORAN_F + jp CeladonMansion1_486a1 + +CeladonMansion1Text5: ; 486ca (12:46ca) + TX_FAR _CeladonMansion1Text5 + db "@" diff --git a/scripts/celadonmansion2.asm b/scripts/celadonmansion2.asm new file mode 100755 index 00000000..7f7e5d45 --- /dev/null +++ b/scripts/celadonmansion2.asm @@ -0,0 +1,10 @@ +CeladonMansion2Script: ; 4873a (12:473a) + call EnableAutoTextBoxDrawing + ret + +CeladonMansion2TextPointers: ; 4873e (12:473e) + dw CeladonMansion2Text1 + +CeladonMansion2Text1: ; 48740 (12:4740) + TX_FAR _CeladonMansion2Text1 + db "@" diff --git a/scripts/celadonmansion3.asm b/scripts/celadonmansion3.asm new file mode 100755 index 00000000..19342548 --- /dev/null +++ b/scripts/celadonmansion3.asm @@ -0,0 +1,73 @@ +CeladonMansion3Script: ; 48790 (12:4790) + jp EnableAutoTextBoxDrawing + +CeladonMansion3TextPointers: ; 48793 (12:4793) + dw ProgrammerText + dw GraphicArtistText + dw WriterText + dw DirectorText + dw GameFreakPCText1 + dw GameFreakPCText2 + dw GameFreakPCText3 + dw GameFreakSignText + +ProgrammerText: ; 487a3 (12:47a3) + TX_FAR _ProgrammerText + db "@" + +GraphicArtistText: ; 487a8 (12:47a8) + TX_FAR _GraphicArtistText + db "@" + +WriterText: ; 487ad (12:47ad) + TX_FAR _WriterText + db "@" + +DirectorText: ; 487b2 (12:47b2) + db $08 ; asm + + ; check pokédex + ld hl, wPokedexOwned + ld b, wPokedexOwnedEnd - wPokedexOwned + call CountSetBits + ld a, [$d11e] + cp 150 + jr nc, .CompletedDex + ld hl, .GameDesigner + jr .done +.CompletedDex + ld hl, .CompletedDexText +.done + call PrintText + jp TextScriptEnd + +.GameDesigner ; 487d0 (12:47d0) + TX_FAR _GameDesignerText + db "@" + +.CompletedDexText + TX_FAR _CompletedDexText + db $6 + db $8 ; asm + ld hl, DisplayDiploma + ld b, BANK(DisplayDiploma) + call Bankswitch + ld a, $1 + ld [$cc3c], a + jp TextScriptEnd + +GameFreakPCText1: ; 487eb (12:47eb) + TX_FAR _CeladonMansion3Text5 + db "@" + +GameFreakPCText2: ; 487f0 (12:47f0) + TX_FAR _CeladonMansion3Text6 + db "@" + +GameFreakPCText3: ; 487f5 (12:47f5) + TX_FAR _CeladonMansion3Text7 + db "@" + +GameFreakSignText: ; 487fa (12:47fa) + TX_FAR _CeladonMansion3Text8 + db "@" diff --git a/scripts/celadonmansion4.asm b/scripts/celadonmansion4.asm new file mode 100755 index 00000000..f9045bcd --- /dev/null +++ b/scripts/celadonmansion4.asm @@ -0,0 +1,9 @@ +CeladonMansion4Script: ; 4886b (12:486b) + jp EnableAutoTextBoxDrawing + +CeladonMansion4TextPointers: ; 4886e (12:486e) + dw CeladonMansion4Text1 + +CeladonMansion4Text1: ; 48870 (12:4870) + TX_FAR _CeladonMansion4Text1 + db "@" diff --git a/scripts/celadonmansion5.asm b/scripts/celadonmansion5.asm new file mode 100755 index 00000000..1d03ae5e --- /dev/null +++ b/scripts/celadonmansion5.asm @@ -0,0 +1,22 @@ +CeladonMansion5Script: ; 1dd3a (7:5d3a) + jp EnableAutoTextBoxDrawing + +CeladonMansion5TextPointers: ; 1dd3d (7:5d3d) + dw CeladonMansion5Text1 + dw CeladonMansion5Text2 + +CeladonMansion5Text1: ; 1dd41 (7:5d41) + TX_FAR _CeladonMansion5Text1 + db "@" + +CeladonMansion5Text2: ; 1dd46 (7:5d46) + db $08 ; asm + ld bc,(EEVEE << 8) | 25 + call GivePokemon + jr nc, .asm_24365 ; 0x1dd4d + ld a, $45 + ld [$cc4d], a + ld a, $11 + call Predef +.asm_24365 ; 0x1dd59 + jp TextScriptEnd diff --git a/scripts/celadonmart1.asm b/scripts/celadonmart1.asm new file mode 100755 index 00000000..041af8b3 --- /dev/null +++ b/scripts/celadonmart1.asm @@ -0,0 +1,19 @@ +CeladonMart1Script: ; 60f86 (18:4f86) + jp EnableAutoTextBoxDrawing + +CeladonMart1TextPointers: ; 60f89 (18:4f89) + dw CeladonMart1Text1 + dw CeladonMart1Text2 + dw CeladonMart1Text3 + +CeladonMart1Text1: ; 60f8f (18:4f8f) + TX_FAR _CeladonMart1Text1 + db "@" + +CeladonMart1Text2: ; 60f94 (18:4f94) + TX_FAR _CeladonMart1Text2 + db "@" + +CeladonMart1Text3: ; 60f99 (18:4f99) + TX_FAR _CeladonMart1Text3 + db "@" diff --git a/scripts/celadonmart2.asm b/scripts/celadonmart2.asm new file mode 100755 index 00000000..92f04399 --- /dev/null +++ b/scripts/celadonmart2.asm @@ -0,0 +1,21 @@ +CeladonMart2Script: ; 560f5 (15:60f5) + jp EnableAutoTextBoxDrawing + +CeladonMart2TextPointers: ; 560f8 (15:60f8) + dw CeladonMart2Text1 + dw CeladonMart2Text2 + dw CeladonMart2Text3 + dw CeladonMart2Text4 + dw CeladonMart2Text5 + +CeladonMart2Text3: ; 56102 (15:6102) + TX_FAR _CeladonMart2Text3 + db "@" + +CeladonMart2Text4: ; 56107 (15:6107) + TX_FAR _CeladonMart2Text4 + db "@" + +CeladonMart2Text5: ; 5610c (15:610c) + TX_FAR _CeladonMart2Text5 + db "@" diff --git a/scripts/celadonmart3.asm b/scripts/celadonmart3.asm new file mode 100755 index 00000000..969fa5f8 --- /dev/null +++ b/scripts/celadonmart3.asm @@ -0,0 +1,109 @@ +CeladonMart3Script: ; 48225 (12:4225) + jp EnableAutoTextBoxDrawing + +CeladonMart3TextPointers: ; 48228 (12:4228) + dw CeladonMart3Text1 + dw CeladonMart3Text2 + dw CeladonMart3Text3 + dw CeladonMart3Text4 + dw CeladonMart3Text5 + dw CeladonMart3Text6 + dw CeladonMart3Text7 + dw CeladonMart3Text8 + dw CeladonMart3Text9 + dw CeladonMart3Text10 + dw CeladonMart3Text11 + dw CeladonMart3Text12 + dw CeladonMart3Text13 + dw CeladonMart3Text14 + dw CeladonMart3Text15 + dw CeladonMart3Text16 + dw CeladonMart3Text17 + +CeladonMart3Text1: ; 4824a (12:424a) + db $08 ; asm + ld a, [$d778] + bit 7, a + jr nz, .asm_a5463 ; 0x48250 + ld hl, TM18PreReceiveText + call PrintText + ld bc, (TM_18 << 8) | 1 + call GiveItem + jr nc, .BagFull + ld hl, $d778 + set 7, [hl] + ld hl, ReceivedTM18Text + jr .asm_81359 ; 0x48268 +.BagFull + ld hl, TM18NoRoomText + jr .asm_81359 ; 0x4826d +.asm_a5463 ; 0x4826f + ld hl, TM18ExplanationText +.asm_81359 ; 0x48272 + call PrintText + jp TextScriptEnd + +TM18PreReceiveText: ; 48278 (12:4278) + TX_FAR _TM18PreReceiveText + db "@" + +ReceivedTM18Text: ; 4827d (12:427d) + TX_FAR _ReceivedTM18Text + db $0B, "@" + +TM18ExplanationText: ; 48283 (12:4283) + TX_FAR _TM18ExplanationText + db "@" + +TM18NoRoomText: ; 48288 (12:4288) + TX_FAR _TM18NoRoomText + db "@" + +CeladonMart3Text2: ; 4828d (12:428d) + TX_FAR _CeladonMart3Text2 + db "@" + +CeladonMart3Text3: ; 48292 (12:4292) + TX_FAR _CeladonMart3Text3 + db "@" + +CeladonMart3Text4: ; 48297 (12:4297) + TX_FAR _CeladonMart3Text4 + db "@" + +CeladonMart3Text5: ; 4829c (12:429c) + TX_FAR _CeladonMart3Text5 + db "@" + +CeladonMart3Text12 +CeladonMart3Text10: ; 482a1 (12:42a1) +CeladonMart3Text8: ; 482a1 (12:42a1) +CeladonMart3Text6: ; 482a1 (12:42a1) + TX_FAR _CeladonMart3Text6 + db "@" + +CeladonMart3Text7: ; 482a6 (12:42a6) + TX_FAR _CeladonMart3Text7 + db "@" + +CeladonMart3Text9: ; 482ab (12:42ab) + TX_FAR _CeladonMart3Text9 + db "@" + +CeladonMart3Text11: ; 482b0 (12:42b0) + TX_FAR _CeladonMart3Text11 + db "@" + +CeladonMart3Text13: ; 482b5 (12:42b5) + TX_FAR _CeladonMart3Text13 + db "@" + +CeladonMart3Text14: ; 482ba (12:42ba) + TX_FAR _CeladonMart3Text14 + db "@" + +CeladonMart3Text17: ; 482bf (12:42bf) +CeladonMart3Text16: ; 482bf (12:42bf) +CeladonMart3Text15: ; 482bf (12:42bf) + TX_FAR _CeladonMart3Text15 + db "@" diff --git a/scripts/celadonmart4.asm b/scripts/celadonmart4.asm new file mode 100755 index 00000000..dfe2b90a --- /dev/null +++ b/scripts/celadonmart4.asm @@ -0,0 +1,20 @@ +CeladonMart4Script: ; 48356 (12:4356) + jp EnableAutoTextBoxDrawing + +CeladonMart4TextPointers: ; 48359 (12:4359) + dw CeladonMart4Text1 + dw CeladonMart4Text2 + dw CeladonMart4Text3 + dw CeladonMart4Text4 + +CeladonMart4Text2: ; 48361 (12:4361) + TX_FAR _CeladonMart4Text2 + db "@" + +CeladonMart4Text3: ; 48366 (12:4366) + TX_FAR _CeladonMart4Text3 + db "@" + +CeladonMart4Text4: ; 4836b (12:436b) + TX_FAR _CeladonMart4Text4 + db "@" diff --git a/scripts/celadonmart5.asm b/scripts/celadonmart5.asm new file mode 100755 index 00000000..9bd7f991 --- /dev/null +++ b/scripts/celadonmart5.asm @@ -0,0 +1,21 @@ +CeladonMart5Script: ; 49069 (12:5069) + jp EnableAutoTextBoxDrawing + +CeladonMart5TextPointers: ; 4906c (12:506c) + dw CeladonMart5Text1 + dw CeladonMart5Text2 + dw CeladonMart5Text3 + dw CeladonMart5Text4 + dw CeladonMart5Text5 + +CeladonMart5Text1: ; 49076 (12:5076) + TX_FAR _CeladonMart5Text1 + db "@" + +CeladonMart5Text2: ; 4907b (12:507b) + TX_FAR _CeladonMart5Text2 + db "@" + +CeladonMart5Text5: ; 49080 (12:5080) + TX_FAR _CeladonMart5Text5 + db "@" diff --git a/scripts/celadonmartelevator.asm b/scripts/celadonmartelevator.asm new file mode 100755 index 00000000..9712ef04 --- /dev/null +++ b/scripts/celadonmartelevator.asm @@ -0,0 +1,71 @@ +CeladonMartElevatorScript: ; 48600 (12:4600) + ld hl, $d126 + bit 5, [hl] + res 5, [hl] + push hl + call nz, CeladonMartElevatorScript_4861c + pop hl + bit 7, [hl] + res 7, [hl] + call nz, CeladonMartElevatorScript_48654 + xor a + ld [$cf0c], a + inc a + ld [$cc3c], a + ret + +CeladonMartElevatorScript_4861c: ; 4861c (12:461c) + ld hl, $d3af + ld a, [$d73b] + ld b, a + ld a, [$d73c] + ld c, a + call CeladonMartElevatorScript_4862a + +CeladonMartElevatorScript_4862a: ; 4862a (12:462a) + inc hl + inc hl + ld a, b + ld [hli], a + ld a, c + ld [hli], a + ret + +CeladonMartElevatorScript_48631: ; 48631 (12:4631) + ld hl, CeladonMartElavatorFloors ; $4643 + call LoadItemList + ld hl, CeldaonMartElevatorWarpMaps ; $464a + ld de, $cc5b + ld bc, $000a + jp CopyData + +CeladonMartElavatorFloors: ; 48643 (12:4643) + db $05 ; num elements in list + db $56, $57, $58, $59, $5A ; "1F", "2F", "3F", "4F, "5F" + db $FF ; terminator + +CeldaonMartElevatorWarpMaps: ; 4864a (12:464a) +; first byte is warp number +; second byte is map number +; These specify where the player goes after getting out of the elevator. + db $05, CELADON_MART_1 + db $02, CELADON_MART_2 + db $02, CELADON_MART_3 + db $02, CELADON_MART_4 + db $02, CELADON_MART_5 + +CeladonMartElevatorScript_48654: ; 48654 (12:4654) + ld b, BANK(ShakeElevator) + ld hl, ShakeElevator + jp Bankswitch + +CeladonMartElevatorTextPointers: ; 4865c (12:465c) + dw CeladonMartElevatorText1 + +CeladonMartElevatorText1: ; 4865e (12:465e) + db $08 ; asm + call CeladonMartElevatorScript_48631 + ld hl, CeldaonMartElevatorWarpMaps ; $464a + ld a, $61 + call Predef + jp TextScriptEnd diff --git a/scripts/celadonmartroof.asm b/scripts/celadonmartroof.asm new file mode 100755 index 00000000..d1765575 --- /dev/null +++ b/scripts/celadonmartroof.asm @@ -0,0 +1,263 @@ +CeladonMartRoofScript: ; 483d5 (12:43d5) + jp EnableAutoTextBoxDrawing + +CeladonMartRoofScript_483d8: ; 483d8 (12:43d8) + xor a + ld [$cd37], a + ld de, $cc5b + ld hl, CeladonMartRoofDrinkList ; $4408 +.asm_483e2 + ld a, [hli] + and a + jr z, .asm_48404 + push hl + push de + ld [$d11e], a + ld b, a + ld a, $1c + call Predef ; indirect jump to Func_f8a5 (f8a5 (3:78a5)) + pop de + pop hl + ld a, b + and a + jr z, .asm_483e2 + ld a, [$d11e] + ld [de], a + inc de + push hl + ld hl, $cd37 + inc [hl] + pop hl + jr .asm_483e2 +.asm_48404 + ld a, $ff + ld [de], a + ret + +CeladonMartRoofDrinkList: ; 48408 (12:4408) + db FRESH_WATER + db SODA_POP + db LEMONADE + db $00 + +CeladonMartRoofScript_4840c: ; 4840c (12:440c) + ld hl, $d730 + set 6, [hl] + ld hl, CeladonMartRoofText_484ee ; $44ee + call PrintText + xor a + ld [wCurrentMenuItem], a ; $cc26 + ld a, $3 + ld [wMenuWatchedKeys], a ; $cc29 + ld a, [$cd37] + dec a + ld [wMaxMenuItem], a ; $cc28 + ld a, $2 + ld [wTopMenuItemY], a ; $cc24 + ld a, $1 + ld [wTopMenuItemX], a ; $cc25 + ld a, [$cd37] + dec a + ld bc, $2 + ld hl, $3 + call AddNTimes + dec l + ld b, l + ld c, $c + ld hl, wTileMap + call TextBoxBorder + call UpdateSprites + call CeladonMartRoofScript_48532 + ld hl, $d730 + res 6, [hl] + call HandleMenuInput + bit 1, a + ret nz + ld hl, $cc5b + ld a, [wCurrentMenuItem] ; $cc26 + ld d, $0 + ld e, a + add hl, de + ld a, [hl] + ld [$ffdb], a + cp FRESH_WATER + jr z, .asm_484b6 + cp SODA_POP + jr z, .asm_48492 + ld a, [$d778] + bit 6, a + jr nz, .asm_484e0 + ld hl, CeladonMartRoofText_48515 ; $4515 + call PrintText + call RemoveItemByIDBank12 + ld bc, (TM_49 << 8) | 1 + call GiveItem + jr nc, .BagFull + ld hl, ReceivedTM49Text + call PrintText + ld hl, $d778 + set 6, [hl] + ret +.asm_48492 + ld a, [$d778] + bit 5, a + jr nz, .asm_484e0 + ld hl, CeladonMartRoofText_48504 ; $4504 + call PrintText + call RemoveItemByIDBank12 + ld bc, (TM_48 << 8) | 1 + call GiveItem + jr nc, .BagFull + ld hl, CeladonMartRoofText_4850a ; $450a + call PrintText + ld hl, $d778 + set 5, [hl] + ret +.asm_484b6 + ld a, [$d778] + bit 4, a + jr nz, .asm_484e0 + ld hl, CeladonMartRoofText_484f3 ; $44f3 + call PrintText + call RemoveItemByIDBank12 + ld bc, (TM_13 << 8) | 1 + call GiveItem + jr nc, .BagFull + ld hl, CeladonMartRoofText_484f9 ; $44f9 + call PrintText + ld hl, $d778 + set 4, [hl] + ret +.BagFull + ld hl, CeladonMartRoofText_48526 ; $4526 + jp PrintText +.asm_484e0 + ld hl, CeladonMartRoofText_4852c ; $452c + jp PrintText + +RemoveItemByIDBank12: ; 484e6 (12:44e6) + ld b, BANK(RemoveItemByID) + ld hl, RemoveItemByID + jp Bankswitch + +CeladonMartRoofText_484ee: ; 484ee (12:44ee) + TX_FAR _CeladonMartRoofText_484ee + db "@" + +CeladonMartRoofText_484f3: ; 484f3 (12:44f3) + TX_FAR _CeladonMartRoofText_484f3 + db $0d + db "@" + +CeladonMartRoofText_484f9: ; 484f9 (12:44f9) + TX_FAR _CeladonMartRoofText_484f9 + db $0b + TX_FAR _CeladonMartRoofText_484fe + db $0d + db "@" + +CeladonMartRoofText_48504: ; 48504 (12:4504) + TX_FAR _CeladonMartRoofText_48504 + db $0d + db "@" + +CeladonMartRoofText_4850a: ; 4850a (12:450a) + TX_FAR _CeladonMartRoofText_4850a + db $0b + TX_FAR _CeladonMartRoofText_4850f + db $0d + db "@" + +CeladonMartRoofText_48515: ; 48515 (12:4515) + TX_FAR _CeladonMartRoofText_48515 + db $0d + db "@" + +ReceivedTM49Text: ; 4851b (12:451b) + TX_FAR _ReceivedTM49Text + db $0b + TX_FAR _CeladonMartRoofText_48520 + db $0d + db "@" + +CeladonMartRoofText_48526: ; 48526 (12:4526) + TX_FAR _CeladonMartRoofText_48526 + db $0d + db "@" + +CeladonMartRoofText_4852c: ; 4852c (12:452c) + TX_FAR _CeladonMartRoofText_4852c + db $0d + db "@" + +CeladonMartRoofScript_48532: ; 48532 (12:4532) + ld hl, $cc5b + xor a + ld [$ffdb], a +.asm_48538 + ld a, [hli] + cp $ff + ret z + push hl + ld [$d11e], a + call GetItemName + FuncCoord 2, 2 ; $c3ca + ld hl, Coord + ld a, [$ffdb] + ld bc, $28 + call AddNTimes + ld de, $cd6d + call PlaceString + ld hl, $ffdb + inc [hl] + pop hl + jr .asm_48538 + +CeladonMartRoofTextPointers: ; 4855b (12:455b) + dw CeladonMartRoofText1 + dw CeladonMartRoofText2 + dw CeladonMartRoofText5 + dw CeladonMartRoofText5 + dw CeladonMartRoofText5 + dw CeladonMartRoofText6 + +CeladonMartRoofText1: ; 48567 (12:4567) + TX_FAR _CeladonMartRoofText1 + db "@" + +CeladonMartRoofText2: ; 4856c (12:456c) + db $08 ; asm + call CeladonMartRoofScript_483d8 + ld a, [$cd37] + and a + jr z, .asm_914b9 ; 0x48574 + ld a, $1 + ld [$cc3c], a + ld hl, CeladonMartRoofText4 + call PrintText + call YesNoChoice + ld a, [$cc26] + and a + jr nz, .asm_05aa4 ; 0x48588 + call CeladonMartRoofScript_4840c + jr .asm_05aa4 ; 0x4858d +.asm_914b9 ; 0x4858f + ld hl, CeladonMartRoofText3 + call PrintText +.asm_05aa4 ; 0x48595 + jp TextScriptEnd + +CeladonMartRoofText3: ; 48598 (12:4598) + TX_FAR _CeladonMartRoofText_48598 + db "@" + +CeladonMartRoofText4: ; 4859d (12:459d) + TX_FAR _CeladonMartRoofText4 + db "@" + +CeladonMartRoofText5: ; 485a2 (12:45a2) + db $f5 + +CeladonMartRoofText6: ; 485a3 (12:45a3) + TX_FAR _CeladonMartRoofText6 + db "@" diff --git a/scripts/celadonpokecenter.asm b/scripts/celadonpokecenter.asm new file mode 100755 index 00000000..e7bfd1d2 --- /dev/null +++ b/scripts/celadonpokecenter.asm @@ -0,0 +1,23 @@ +CeladonPokecenterScript: ; 488b8 (12:48b8) + call Func_22fa + jp EnableAutoTextBoxDrawing + +CeladonPokecenterTextPointers: ; 488be (12:48be) + dw CeladonPokecenterText1 + dw CeladonPokecenterText2 + dw CeladonPokecenterText3 + dw CeladonPokecenterText4 + +CeladonPokecenterText4: ; 488c6 (12:48c6) + db $f6 + +CeladonPokecenterText1: ; 488c7 (12:48c7) + db $ff + +CeladonPokecenterText2: ; 488c8 (12:48c8) + TX_FAR _CeladonPokecenterText2 + db "@" + +CeladonPokecenterText3: ; 488cd (12:48cd) + TX_FAR _CeladonPokecenterText3 + db "@" diff --git a/scripts/celadonprizeroom.asm b/scripts/celadonprizeroom.asm new file mode 100755 index 00000000..2cfd01d0 --- /dev/null +++ b/scripts/celadonprizeroom.asm @@ -0,0 +1,20 @@ +CeladonPrizeRoomScript: ; 490f0 (12:50f0) + jp EnableAutoTextBoxDrawing + +CeladonPrizeRoomTextPointers: ; 490f3 (12:50f3) + dw CeladonPrizeRoomText1 + dw CeladonPrizeRoomText2 + dw CeladonPrizeRoomText3 + dw CeladonPrizeRoomText3 + dw CeladonPrizeRoomText3 + +CeladonPrizeRoomText1: ; 490fd (12:50fd) + TX_FAR _CeladonPrizeRoomText1 + db "@" + +CeladonPrizeRoomText2: ; 49102 (12:5102) + TX_FAR _CeladonPrizeRoomText2 + db "@" + +CeladonPrizeRoomText3: ; 49107 (12:5107) + db $f7 diff --git a/scripts/ceruleancity.asm b/scripts/ceruleancity.asm new file mode 100755 index 00000000..0879fb74 --- /dev/null +++ b/scripts/ceruleancity.asm @@ -0,0 +1,448 @@ +CeruleanCityScript: ; 19480 (6:5480) + call EnableAutoTextBoxDrawing + ld hl, CeruleanCityScriptPointers + ld a, [W_CERULEANCITYCURSCRIPT] + jp CallFunctionInTable + +CeruleanCityScript_1948c: ; 1948c (6:548c) + xor a + ld [wJoypadForbiddenButtonsMask], a + ld [W_CERULEANCITYCURSCRIPT], a + ld a, $5 + ld [$cc4d], a + ld a, $11 + jp Predef + +CeruleanCityScriptPointers: ; 1949d (6:549d) + dw CeruleanCityScript0 + dw CeruleanCityScript1 + dw CeruleanCityScript2 + dw CeruleanCityScript3 + dw CeruleanCityScript4 + +CeruleanCityScript4: ; 194a7 (6:54a7) + ld a, [W_ISINBATTLE] + cp $ff + jp z, CeruleanCityScript_1948c + ld a, $f0 + ld [wJoypadForbiddenButtonsMask], a + ld hl, $d75b + set 7, [hl] + ld a, $2 + ld [$ff8c], a + call DisplayTextID + xor a + ld [wJoypadForbiddenButtonsMask], a + ld [W_CERULEANCITYCURSCRIPT], a + ret + +CeruleanCityScript0: ; 194c8 (6:54c8) + ld a, [$d75b] + bit 7, a + jr nz, .asm_194f7 ; 0x194cd $28 + ld hl, CeruleanCityCoords1 + call ArePlayerCoordsInArray + jr nc, .asm_194f7 ; 0x194d5 $20 + ld a, [$cd3d] + cp $1 + ld a, $8 + ld b, $0 + jr nz, .asm_194e6 ; 0x194e0 $4 + ld a, $4 + ld b, $4 +.asm_194e6 + ld [$d528], a + ld a, b + ld [$c129], a + call Delay3 + ld a, $2 + ld [$ff8c], a + jp DisplayTextID +.asm_194f7 + ld a, [$d75a] + bit 0, a + ret nz + ld hl, CeruleanCityCoords2 + call ArePlayerCoordsInArray + ret nc + ld a, [$d700] + and a + jr z, .asm_19512 ; 0x19508 $8 + ld a, $ff + ld [$c0ee], a + call PlaySound +.asm_19512 + ld c, BANK(Music_MeetRival) + ld a, MUSIC_MEET_RIVAL + call PlayMusic + xor a + ld [H_CURRENTPRESSEDBUTTONS], a + ld a, $f0 + ld [wJoypadForbiddenButtonsMask], a + ld a, [W_XCOORD] + cp $14 + jr z, .asm_19535 ; 0x19526 $d + ld a, $1 + ld [$ff8c], a + ld a, $5 + ld [$ff8b], a + call Func_3500 + ld [hl], $19 +.asm_19535 + ld a, $5 + ld [$cc4d], a + ld a, $15 + call Predef + ld de, CeruleanCityMovement1 + ld a, $1 + ld [$ff8c], a + call MoveSprite + ld a, $1 + ld [W_CERULEANCITYCURSCRIPT], a + ret + +CeruleanCityCoords1: ; 1954f (6:554f) + db $07,$1e + db $09,$1e + db $ff + +CeruleanCityCoords2: ; 19554 (6:5554) + db $06,$14 + db $06,$15 + db $ff + +CeruleanCityMovement1: ; 19559 (6:5559) + db $00,$00,$00,$FF + +CeruleanCityScript_1955d: ; 1955d (6:555d) + ld a,1 + ld [$ff8c],a + xor a + ld [$ff8d],a + jp Func_34a6 ; face object + +CeruleanCityScript1: ; 19567 (6:5567) + ld a, [$d730] + bit 0, a + ret nz + xor a + ld [wJoypadForbiddenButtonsMask], a + ld a, $1 + ld [$ff8c], a + call DisplayTextID + ld hl, $d72d + set 6, [hl] + set 7, [hl] + ld hl, CeruleanCityText_1966d + ld de, CeruleanCityText_19672 + call PreBattleSaveRegisters + ld a, SONY1 + $c8 + ld [W_CUROPPONENT], a + + ; select which team to use during the encounter + ld a, [W_RIVALSTARTER] + cp SQUIRTLE + jr nz, .NotSquirtle ; 0x19592 $4 + ld a, $7 + jr .done +.NotSquirtle + cp BULBASAUR + jr nz, .Charmander ; 0x1959a $4 + ld a, $8 + jr .done +.Charmander + ld a, $9 +.done + ld [W_TRAINERNO], a + + xor a + ld [H_CURRENTPRESSEDBUTTONS], a + call CeruleanCityScript_1955d + ld a, $2 + ld [W_CERULEANCITYCURSCRIPT], a + ret + +CeruleanCityScript2: ; 195b1 (6:55b1) + ld a, [$d057] + cp $ff + jp z, CeruleanCityScript_1948c + call CeruleanCityScript_1955d + ld a, $f0 + ld [wJoypadForbiddenButtonsMask], a + ld hl, $d75a + set 0, [hl] + ld a, $1 + ld [$ff8c], a + call DisplayTextID + ld a, $ff + ld [$c0ee], a + call PlaySound + ld b, BANK(Music_RivalAlternateStart) + ld hl, Music_RivalAlternateStart + call Bankswitch + ld a, $1 + ld [$ff8c], a + call SetSpriteMovementBytesToFF + ld a, [W_XCOORD] + cp $14 + jr nz, .asm_195f0 ; 0x195e9 $5 + ld de, CeruleanCityMovement4 + jr .asm_195f3 ; 0x195ee $3 +.asm_195f0 + ld de, CeruleanCityMovement3 +.asm_195f3 + ld a, $1 + ld [$ff8c], a + call MoveSprite + ld a, $3 + ld [W_CERULEANCITYCURSCRIPT], a + ret + +CeruleanCityMovement3: ; 19600 (6:5600) + db $80,$00,$00,$00,$00,$00,$00,$FF + +CeruleanCityMovement4: ; 19608 (6:5608) + db $c0,$00,$00,$00,$00,$00,$00,$FF + +CeruleanCityScript3: ; 19610 (6:5610) + ld a, [$d730] + bit 0, a + ret nz + ld a, $5 + ld [$cc4d], a + ld a, $11 + call Predef + xor a + ld [wJoypadForbiddenButtonsMask], a + call Func_2307 + ld a, $0 + ld [W_CERULEANCITYCURSCRIPT], a + ret + +CeruleanCityTextPointers: ; 1962d (6:562d) + dw CeruleanCityText1 + dw CeruleanCityText2 + dw CeruleanCityText3 + dw CeruleanCityText4 + dw CeruleanCityText5 + dw CeruleanCityText6 + dw CeruleanCityText7 + dw CeruleanCityText8 + dw CeruleanCityText9 + dw CeruleanCityText10 + dw CeruleanCityText11 + dw CeruleanCityText12 + dw CeruleanCityText13 + dw MartSignText + dw PokeCenterSignText + dw CeruleanCityText16 + dw CeruleanCityText17 + +CeruleanCityText1: ; 1964f (6:564f) + db $08 ; asm + ld a, [$d75a] ; rival battle flag + bit 0, a + ; do pre-battle text + jr z, .PreBattleText + ; or talk about bill + ld hl, CeruleanCityText_19677 + call PrintText + jr .end ; 0x1965d +.PreBattleText ; 0x1965f + ld hl, CeruleanCityText_19668 + call PrintText +.end ; 0x19665 + jp TextScriptEnd + +CeruleanCityText_19668: ; 19668 (6:5668) + TX_FAR _CeruleanCityText_19668 + db "@" + +CeruleanCityText_1966d: ; 1966d (6:566d) + TX_FAR _CeruleanCityText_1966d + db "@" + +CeruleanCityText_19672: ; 19672 (6:5672) + TX_FAR _CeruleanCityText_19672 + db "@" + +CeruleanCityText_19677: ; 19677 (6:5677) + TX_FAR _CeruleanCityText_19677 + db "@" + +CeruleanCityText2: ; 1967c (6:567c) + db $8 + ld a, [$d75b] + bit 7, a + jr nz, .asm_4ca20 ; 0x19682 $29 + ld hl, CeruleanCityText_196d9 + call PrintText + ld hl, $d72d + set 6, [hl] + set 7, [hl] + ld hl, CeruleanCityText_196ee + ld de, CeruleanCityText_196ee + call PreBattleSaveRegisters + ld a, [$ff8c] + ld [$cf13], a + call EngageMapTrainer + call InitBattleEnemyParameters + ld a, $4 + ld [W_CERULEANCITYCURSCRIPT], a + jp TextScriptEnd +.asm_4ca20 ; 0x196ad + ld hl, CeruleanCityText_196f3 + call PrintText + ld bc, $e401 + call GiveItem + jr c, .Success + ld hl, TM28NoRoomText + call PrintText + jr .Done +.Success + ld a, $1 + ld [$cc3c], a + ld hl, ReceivedTM28Text + call PrintText + ld b, BANK(Func_74872) + ld hl, Func_74872 + call Bankswitch +.Done + jp TextScriptEnd + +CeruleanCityText_196d9: ; 196d9 (6:56d9) + TX_FAR _CeruleanCityText_196d9 + db "@" + +ReceivedTM28Text: ; 196de (6:56de) + TX_FAR _ReceivedTM28Text + db $0B + TX_FAR _ReceivedTM28Text2 + db $0D, "@" + +TM28NoRoomText: ; 196e9 (6:56e9) + TX_FAR _TM28NoRoomText + db "@" + +CeruleanCityText_196ee: ; 196ee (6:56ee) + TX_FAR _CeruleanCityText_196ee + db "@" + +CeruleanCityText_196f3: ; 196f3 (6:56f3) + TX_FAR _CeruleanCityText_196f3 + db "@" + +CeruleanCityText3: ; 196f8 (6:56f8) + TX_FAR _CeruleanCityText3 + db "@" + +CeruleanCityText4: ; 196fd (6:56fd) + TX_FAR _CeruleanCityText4 + db "@" + +CeruleanCityText5: ; 19702 (6:5702) + TX_FAR _CeruleanCityText5 + db "@" + +CeruleanCityText11: ; 19707 (6:5707) +CeruleanCityText6: ; 19707 (6:5707) + TX_FAR _CeruleanCityText6 + db "@" + +CeruleanCityText7: ; 1970c (6:570c) + db $08 ; asm + ldh a, [$d3] + cp $b4 + jr c, .asm_e9fc9 ; 0x19711 + ld hl, CeruleanCityText_19730 + call PrintText + jr .asm_d486e ; 0x19719 +.asm_e9fc9 ; 0x1971b + cp $64 + jr c, .asm_df99b ; 0x1971d + ld hl, CeruleanCityText_19735 + call PrintText + jr .asm_d486e ; 0x19725 +.asm_df99b ; 0x19727 + ld hl, CeruleanCityText_1973a + call PrintText +.asm_d486e ; 0x1972d + jp TextScriptEnd + +CeruleanCityText_19730: ; 19730 (6:5730) + TX_FAR _CeruleanCityText_19730 + db "@" + +CeruleanCityText_19735: ; 19735 (6:5735) + TX_FAR _CeruleanCityText_19735 + db "@" + +CeruleanCityText_1973a: ; 1973a (6:573a) + TX_FAR _CeruleanCityText_1973a + db "@" + +CeruleanCityText8: ; 1973f (6:573f) + db $08 ; asm + ldh a, [$d3] + cp $b4 + jr c, .asm_e28da ; 0x19744 + ld hl, CeruleanCityText_1976f + call PrintText + jr .asm_f2f38 ; 0x1974c +.asm_e28da ; 0x1974e + cp $78 + jr c, .asm_15d08 ; 0x19750 + ld hl, CeruleanCityText_19774 + call PrintText + jr .asm_f2f38 ; 0x19758 +.asm_15d08 ; 0x1975a + cp $3c + jr c, .asm_d7fea ; 0x1975c + ld hl, CeruleanCityText_19779 + call PrintText + jr .asm_f2f38 ; 0x19764 +.asm_d7fea ; 0x19766 + ld hl, CeruleanCityText_1977e + call PrintText +.asm_f2f38 ; 0x1976c + jp TextScriptEnd + +CeruleanCityText_1976f: ; 1976f (6:576f) + TX_FAR _CeruleanCityText_1976f + db "@" + +CeruleanCityText_19774: ; 19774 (6:5774) + TX_FAR _CeruleanCityText_19774 + db "@" + +CeruleanCityText_19779: ; 19779 (6:5779) + TX_FAR _CeruleanCityText_19779 + db "@" + +CeruleanCityText_1977e: ; 1977e (6:577e) + TX_FAR _CeruleanCityText_1977e + db "@" + +CeruleanCityText9: ; 19783 (6:5783) + TX_FAR _CeruleanCityText9 + db "@" + +CeruleanCityText10: ; 19788 (6:5788) + TX_FAR _CeruleanCityText10 + db "@" + +CeruleanCityText12: ; 1978d (6:578d) + TX_FAR _CeruleanCityText12 + db "@" + +CeruleanCityText13: ; 19792 (6:5792) + TX_FAR _CeruleanCityText13 + db "@" + +CeruleanCityText16: ; 19797 (6:5797) + TX_FAR _CeruleanCityText16 + db "@" + +CeruleanCityText17: ; 1979c (6:579c) + TX_FAR _CeruleanCityText17 + db "@" diff --git a/scripts/ceruleangym.asm b/scripts/ceruleangym.asm new file mode 100755 index 00000000..7d35cf71 --- /dev/null +++ b/scripts/ceruleangym.asm @@ -0,0 +1,224 @@ +CeruleanGymScript: ; 5c6b3 (17:46b3) + ld hl, $d126 + bit 6, [hl] + res 6, [hl] + call nz, CeruleanGymScript_5c6d0 + call EnableAutoTextBoxDrawing + ld hl, CeruleanGymTrainerHeaders + ld de, CeruleanGymScriptPointers + ld a, [W_CERULEANGYMCURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_CERULEANGYMCURSCRIPT], a + ret + +CeruleanGymScript_5c6d0: ; 5c6d0 (17:46d0) + ld hl, Gym2CityName ; $46d9 + ld de, Gym2LeaderName ; $46e7 + jp LoadGymLeaderAndCityName + +Gym2CityName: ; 5c6d9 (17:46d9) + db "CERULEAN CITY@" + +Gym2LeaderName: ; 5c6e7 (17:46e7) + db "MISTY@" + +CeruleanGymScript_5c6ed: ; 5c6ed (17:46ed) + xor a + ld [wJoypadForbiddenButtonsMask], a + ld [W_CERULEANGYMCURSCRIPT], a + ld [W_CURMAPSCRIPT], a + ret + +CeruleanGymScriptPointers: ; 5c6f8 (17:46f8) + dw CheckFightingMapTrainers + dw Func_324c + dw EndTrainerBattle + dw CeruleanGymScript3 + +CeruleanGymScript3: ; 5c700 (17:4700) + ld a, [W_ISINBATTLE] ; $d057 + cp $ff + jp z, CeruleanGymScript_5c6ed + ld a, $f0 + ld [wJoypadForbiddenButtonsMask], a + +CeruleanGymScript_5c70d: ; 5c70d (17:470d) + ld a, $5 + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + call DisplayTextID + ld hl, $d75e + set 7, [hl] + ld bc, (TM_11 << 8) | 1 + call GiveItem + jr nc, .BagFull + ld a, $6 + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + call DisplayTextID + ld hl, $d75e + set 6, [hl] + jr .asm_5c736 +.BagFull + ld a, $7 + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + call DisplayTextID +.asm_5c736 + ld hl, W_OBTAINEDBADGES + set 1, [hl] + ld hl, $d72a + set 1, [hl] + + ; deactivate gym trainers + ld hl, $d75e + set 2, [hl] + set 3, [hl] + + jp CeruleanGymScript_5c6ed + +CeruleanGymTextPointers: ; 5c74a (17:474a) + dw CeruleanGymText1 + dw CeruleanGymText2 + dw CeruleanGymText3 + dw CeruleanGymText4 + dw CeruleanGymText5 + dw CeruleanGymText6 + dw CeruleanGymText7 + +CeruleanGymTrainerHeaders: ; 5c758 (17:4758) +CeruleanGymTrainerHeader0: ; 5c758 (17:4758) + db $2 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d75e ; flag's byte + dw CeruleanGymBattleText1 ; 0x47e9 TextBeforeBattle + dw CeruleanGymAfterBattleText1 ; 0x47f3 TextAfterBattle + dw CeruleanGymEndBattleText1 ; 0x47ee TextEndBattle + dw CeruleanGymEndBattleText1 ; 0x47ee TextEndBattle + +CeruleanGymTrainerHeader1: ; 5c764 (17:4764) + db $3 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d75e ; flag's byte + dw CeruleanGymBattleText2 ; 0x4802 TextBeforeBattle + dw CeruleanGymAfterBattleText2 ; 0x480c TextAfterBattle + dw CeruleanGymEndBattleText2 ; 0x4807 TextEndBattle + dw CeruleanGymEndBattleText2 ; 0x4807 TextEndBattle + + db $ff + +CeruleanGymText1: ; 5c771 (17:4771) + db $08 ; asm + ld a, [$d75e] + bit 7, a + jr z, .asm_10854 ; 0x5c777 + bit 6, a + jr nz, .asm_37a1b ; 0x5c77b + call z, CeruleanGymScript_5c70d + call DisableWaitingAfterTextDisplay + jr .asm_95b04 ; 0x5c783 +.asm_37a1b ; 0x5c785 + ld hl, CeruleanGymText_5c7c3 + call PrintText + jr .asm_95b04 ; 0x5c78b +.asm_10854 ; 0x5c78d + ld hl, CeruleanGymText_5c7be + call PrintText + ld hl, $d72d + set 6, [hl] + set 7, [hl] + ld hl, CeruleanGymText_5c7d8 + ld de, CeruleanGymText_5c7d8 + call PreBattleSaveRegisters + ldh a, [$8c] + ld [$cf13], a + call EngageMapTrainer + call InitBattleEnemyParameters + ld a, $2 + ld [$d05c], a + xor a + ldh [$b4], a + ld a, $3 + ld [W_CERULEANGYMCURSCRIPT], a +.asm_95b04 ; 0x5c7bb + jp TextScriptEnd + +CeruleanGymText_5c7be: ; 5c7be (17:47be) + TX_FAR _CeruleanGymText_5c7be + db "@" + +CeruleanGymText_5c7c3: ; 5c7c3 (17:47c3) + TX_FAR _CeruleanGymText_5c7c3 + db "@" + +CeruleanGymText5: ; 5c7c8 (17:47c8) + TX_FAR _CeruleanGymText_5c7c8 + db "@" + +CeruleanGymText6: ; 5c7cd (17:47cd) +ReceivedTM11Text: ; 5c7cd (17:47cd) + TX_FAR _ReceivedTM11Text + db $0B, "@" + +CeruleanGymText7: ; 5c7d3 (17:47d3) + TX_FAR _CeruleanGymText_5c7d3 + db "@" + +CeruleanGymText_5c7d8: ; 5c7d8 (17:47d8) + TX_FAR _CeruleanGymText_5c7d8 + db $11, $6, "@" + +CeruleanGymText2: ; 5c7df (17:47df) + db $08 ; asm + ld hl, CeruleanGymTrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +CeruleanGymBattleText1: ; 5c7e9 (17:47e9) + TX_FAR _CeruleanGymBattleText1 + db "@" + +CeruleanGymEndBattleText1: ; 5c7ee (17:47ee) + TX_FAR _CeruleanGymEndBattleText1 + db "@" + +CeruleanGymAfterBattleText1: ; 5c7f3 (17:47f3) + TX_FAR _CeruleanGymAfterBattleText1 + db "@" + +CeruleanGymText3: ; 5c7f8 (17:47f8) + db $08 ; asm + ld hl, CeruleanGymTrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +CeruleanGymBattleText2: ; 5c802 (17:4802) + TX_FAR _CeruleanGymBattleText2 + db "@" + +CeruleanGymEndBattleText2: ; 5c807 (17:4807) + TX_FAR _CeruleanGymEndBattleText2 + db "@" + +CeruleanGymAfterBattleText2: ; 5c80c (17:480c) + TX_FAR _CeruleanGymAfterBattleText2 + db "@" + +CeruleanGymText4: ; 5c811 (17:4811) + db $08 ; asm + ld a, [$d75e] + bit 7, a + jr nz, .asm_f80ce ; 0x5c817 + ld hl, CeruleanGymText_5c82a + call PrintText + jr .asm_18a31 ; 0x5c81f +.asm_f80ce ; 0x5c821 + ld hl, CeruleanGymText_5c82f + call PrintText +.asm_18a31 ; 0x5c827 + jp TextScriptEnd + +CeruleanGymText_5c82a: ; 5c82a (17:482a) + TX_FAR _CeruleanGymText_5c82a + db "@" + +CeruleanGymText_5c82f: ; 5c82f (17:482f) + TX_FAR _CeruleanGymText_5c82f + db "@" diff --git a/scripts/ceruleanhouse1.asm b/scripts/ceruleanhouse1.asm new file mode 100755 index 00000000..6bc1cd30 --- /dev/null +++ b/scripts/ceruleanhouse1.asm @@ -0,0 +1,18 @@ +CeruleanHouse1Script: ; 1d6f6 (7:56f6) + jp EnableAutoTextBoxDrawing + +CeruleanHouse1TextPointers: ; 1d6f9 (7:56f9) + dw CeruleanHouse1Text1 + dw CeruleanHouse1Text2 + +CeruleanHouse1Text1: ; 1d6fd (7:56fd) + TX_FAR _CeruleanHouse1Text1 + db "@" + +CeruleanHouse1Text2: ; 1d702 (7:5702) + db $08 ; asm + ld a, $6 + ld [wWhichTrade], a + ld a, $54 + call Predef + jp TextScriptEnd diff --git a/scripts/ceruleanhouse2.asm b/scripts/ceruleanhouse2.asm new file mode 100755 index 00000000..eae26047 --- /dev/null +++ b/scripts/ceruleanhouse2.asm @@ -0,0 +1,109 @@ +CeruleanHouse2Script: ; 74e09 (1d:4e09) + ld a, $1 + ld [$cf0c], a + dec a + ld [$cc3c], a + ret + +CeruleanHouse2TextPointers: ; 74e13 (1d:4e13) + dw CeruleanHouse2Text1 + +CeruleanHouse2Text1: ; 74e15 (1d:4e15) + db $8 + ld hl, CeruleanHouse2Text_74e77 + call PrintText + xor a + ld [wCurrentMenuItem], a + ld [wListScrollOffset], a +.asm_74e23 + ld hl, CeruleanHouse2Text_74e7c + call PrintText + ld hl, BadgeItemList + call LoadItemList + ld hl, $cf7b + ld a, l + ld [$cf8b], a + ld a, h + ld [$cf8c], a + xor a + ld [$cf93], a + ld [$cc35], a + ld a, SPECIALLISTMENU + ld [wListMenuID], a + call DisplayListMenuID + jr c, .asm_74e60 ; 0x74e49 $15 + ld hl, TextPointers_74e86 + ld a, [$cf91] + sub $15 + add a + ld d, $0 + ld e, a + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + call PrintText + jr .asm_74e23 ; 0x74e5e $c3 +.asm_74e60 + xor a + ld [wListScrollOffset], a + ld hl, CeruleanHouse2Text_74e81 + call PrintText + jp TextScriptEnd + +BadgeItemList: ; 74e6d (1d:4e6d) + db $8,BOULDERBADGE,CASCADEBADGE,THUNDERBADGE,RAINBOWBADGE,SOULBADGE,MARSHBADGE,VOLCANOBADGE,EARTHBADGE,$FF + +CeruleanHouse2Text_74e77: ; 74e77 (1d:4e77) + TX_FAR _CeruleanHouse2Text_74e77 + db "@" + +CeruleanHouse2Text_74e7c: ; 74e7c (1d:4e7c) + TX_FAR _CeruleanHouse2Text_74e7c + db "@" + +CeruleanHouse2Text_74e81: ; 74e81 (1d:4e81) + TX_FAR _CeruleanHouse2Text_74e81 + db "@" + +TextPointers_74e86: ; 74e86 (1d:4e86) + dw CeruleanHouse2Text_74e96 + dw CeruleanHouse2Text_74e9b + dw CeruleanHouse2Text_74ea0 + dw CeruleanHouse2Text_74ea5 + dw CeruleanHouse2Text_74eaa + dw CeruleanHouse2Text_74eaf + dw CeruleanHouse2Text_74eb4 + dw CeruleanHouse2Text_74eb9 + +CeruleanHouse2Text_74e96: ; 74e96 (1d:4e96) + TX_FAR _CeruleanHouse2Text_74e96 + db "@" + +CeruleanHouse2Text_74e9b: ; 74e9b (1d:4e9b) + TX_FAR _CeruleanHouse2Text_74e9b + db "@" + +CeruleanHouse2Text_74ea0: ; 74ea0 (1d:4ea0) + TX_FAR _CeruleanHouse2Text_74ea0 + db "@" + +CeruleanHouse2Text_74ea5: ; 74ea5 (1d:4ea5) + TX_FAR _CeruleanHouse2Text_74ea5 + db "@" + +CeruleanHouse2Text_74eaa: ; 74eaa (1d:4eaa) + TX_FAR _CeruleanHouse2Text_74eaa + db "@" + +CeruleanHouse2Text_74eaf: ; 74eaf (1d:4eaf) + TX_FAR _CeruleanHouse2Text_74eaf + db "@" + +CeruleanHouse2Text_74eb4: ; 74eb4 (1d:4eb4) + TX_FAR _CeruleanHouse2Text_74eb4 + db "@" + +CeruleanHouse2Text_74eb9: ; 74eb9 (1d:4eb9) + TX_FAR _CeruleanHouse2Text_74eb9 + db "@" diff --git a/scripts/ceruleanhousetrashed.asm b/scripts/ceruleanhousetrashed.asm new file mode 100755 index 00000000..1bb60564 --- /dev/null +++ b/scripts/ceruleanhousetrashed.asm @@ -0,0 +1,40 @@ +CeruleanHouseTrashedScript: ; 1d685 (7:5685) + call EnableAutoTextBoxDrawing + ret + +CeruleanHouseTrashedTextPointers: ; 1d689 (7:5689) + dw CeruleanHouseTrashedText1 + dw CeruleanHouseTrashedText2 + dw CeruleanHouseTrashedText3 + +CeruleanHouseTrashedText1: ; 1d68f (7:568f) + db $08 ; asm + ld b, $e4 + ld a, $1c + call Predef + and b + jr z, .asm_f8734 ; 0x1d698 + ld hl, CeruleanHouseTrashedText_1d6b0 + call PrintText + jr .asm_8dfe9 ; 0x1d6a0 +.asm_f8734 ; 0x1d6a2 + ld hl, CeruleanHouseTrashedText_1d6ab + call PrintText +.asm_8dfe9 ; 0x1d6a8 + jp TextScriptEnd + +CeruleanHouseTrashedText_1d6ab: ; 1d6ab (7:56ab) + TX_FAR _CeruleanTrashedText_1d6ab + db "@" + +CeruleanHouseTrashedText_1d6b0: ; 1d6b0 (7:56b0) + TX_FAR _CeruleanTrashedText_1d6b0 + db "@" + +CeruleanHouseTrashedText2: ; 1d6b5 (7:56b5) + TX_FAR _CeruleanHouseTrashedText2 + db "@" + +CeruleanHouseTrashedText3: ; 1d6ba (7:56ba) + TX_FAR _CeruleanHouseTrashedText3 + db "@" diff --git a/scripts/ceruleanmart.asm b/scripts/ceruleanmart.asm new file mode 100755 index 00000000..7aea6d47 --- /dev/null +++ b/scripts/ceruleanmart.asm @@ -0,0 +1,15 @@ +CeruleanMartScript: ; 5c895 (17:4895) + jp EnableAutoTextBoxDrawing + +CeruleanMartTextPointers: ; 5c898 (17:4898) + dw CeruleanMartText1 + dw CeruleanMartText2 + dw CeruleanMartText3 + +CeruleanMartText2: ; 5c89e (17:489e) + TX_FAR _CeruleanMartText2 + db "@" + +CeruleanMartText3: ; 5c8a3 (17:48a3) + TX_FAR _CeruleanMartText3 + db "@" diff --git a/scripts/ceruleanpokecenter.asm b/scripts/ceruleanpokecenter.asm new file mode 100755 index 00000000..b6f88b41 --- /dev/null +++ b/scripts/ceruleanpokecenter.asm @@ -0,0 +1,23 @@ +CeruleanPokecenterScript: ; 5c645 (17:4645) + call Func_22fa + jp EnableAutoTextBoxDrawing + +CeruleanPokecenterTextPointers: ; 5c64b (17:464b) + dw CeruleanPokecenterText1 + dw CeruleanPokecenterText2 + dw CeruleanPokecenterText3 + dw CeruleanPokecenterText4 + +CeruleanPokecenterText4: ; 5c653 (17:4653) + db $f6 + +CeruleanPokecenterText1: ; 5c654 (17:4654) + db $ff + +CeruleanPokecenterText2: ; 5c655 (17:4655) + TX_FAR _CeruleanPokecenterText1 + db "@" + +CeruleanPokecenterText3: ; 5c65a (17:465a) + TX_FAR _CeruleanPokecenterText3 + db "@" diff --git a/scripts/cinnabargym.asm b/scripts/cinnabargym.asm new file mode 100755 index 00000000..1d66a1bf --- /dev/null +++ b/scripts/cinnabargym.asm @@ -0,0 +1,483 @@ +CinnabarGymScript: ; 7574a (1d:574a) + call CinnabarGymScript_75759 + call EnableAutoTextBoxDrawing + ld hl, CinnabarGymScriptPointers + ld a, [W_CINNABARGYMCURSCRIPT] + jp CallFunctionInTable + +CinnabarGymScript_75759: ; 75759 (1d:5759) + ld hl, $D126 + bit 6, [hl] + res 6, [hl] + push hl + call nz, CinnabarGymScript_75772 + pop hl + bit 5, [hl] + res 5, [hl] + call nz, Func_3ead + ld hl, $D79B + res 7, [hl] + ret +CinnabarGymScript_75772: ; 75772 (1d:5772) + ld hl, Gym7CityName + ld de, Gym7LeaderName + jp LoadGymLeaderAndCityName + +Gym7CityName: ; 7577b (1d:577b) + db "CINNABAR ISLAND@" +Gym7LeaderName: ; 7578b (1d:578b) + db "BLAINE@" + +CinnabarGymScript_75792: ; 75792 (1d:5792) + xor a + ld [wJoypadForbiddenButtonsMask], a + ld [W_CINNABARGYMCURSCRIPT], a + ld [W_CURMAPSCRIPT], a + ld [$da38], a + ret + +CinnabarGymScript_757a0: ; 757a0 (1d:57a0) + ld a, [H_DOWNARROWBLINKCNT2] ; $ff8c + ld [wTrainerHeaderFlagBit], a + ret + +CinnabarGymScriptPointers: ; 757a6 (1d:57a6) + dw CinnabarGymScript0 + dw CinnabarGymScript1 + dw CinnabarGymScript2 + dw CinnabarGymScript3 + +CinnabarGymScript0: ; 757ae (1d:57ae) + ld a, [$da38] + and a + ret z + ld [$ff8c], a + cp $4 + jr nz, .asm_757c3 ; 0x757b7 $a + ld a, $4 + ld [$d528], a + ld de, MovementData_757d7 + jr .asm_757cb ; 0x757c1 $8 +.asm_757c3 + ld de, MovementData_757da + ld a, $1 + ld [$d528], a +.asm_757cb + call MoveSprite + ld a, $1 + ld [W_CINNABARGYMCURSCRIPT], a + ld [W_CURMAPSCRIPT], a + ret + +MovementData_757d7: ; 757d7 (1d:57d7) + db $80,$40,$FF + +MovementData_757da: ; 757da (1d:57da) + db $80,$FF + +CinnabarGymScript1: ; 757dc (1d:57dc) + ld a, [$d730] + bit 0, a + ret nz + xor a + ld [wJoypadForbiddenButtonsMask], a + ld a, [$da38] + ld [wTrainerHeaderFlagBit], a + ld [$ff8c], a + jp DisplayTextID + +CinnabarGymScript_757f1: ; 757f1 (1d:57f1) + ld a, $10 + jp Predef ; indirect jump to HandleBitArray (f666 (3:7666)) + +CinnabarGymScript2: ; 757f6 (1d:57f6) + ld a, [$d057] + cp $ff + jp z, CinnabarGymScript_75792 + ld a, [wTrainerHeaderFlagBit] + ld [$ffdb], a + ld c, a + ld b, $2 + ld hl, $d79a + call CinnabarGymScript_757f1 + ld a, c + and a + jr nz, .asm_7581b ; 0x7580e $b + call WaitForSoundToFinish + ld a, (SFX_02_57 - SFX_Headers_02) / 3 + call PlaySound + call WaitForSoundToFinish +.asm_7581b + ld a, [wTrainerHeaderFlagBit] + ld [$ffdb], a + ld c, a + ld b, $1 + ld hl, $d79a + call CinnabarGymScript_757f1 + ld a, [wTrainerHeaderFlagBit] + sub $2 + ld c, a + ld b, $1 + ld hl, $d79c + call CinnabarGymScript_757f1 + call Func_3ead + xor a + ld [wJoypadForbiddenButtonsMask], a + ld [$da38], a + ld a, $0 + ld [W_CINNABARGYMCURSCRIPT], a + ld [W_CURMAPSCRIPT], a + ret + +CinnabarGymScript3: ; 7584a (1d:584a) + ld a, [$d057] + cp $ff + jp z, CinnabarGymScript_75792 + ld a, $f0 + ld [wJoypadForbiddenButtonsMask], a +CinnabarGymScript3_75857: ; 75857 (1d:5857) + ld a, $a + ld [$ff8c], a + call DisplayTextID + ld hl, $d79a + set 1, [hl] + ld bc, (TM_38 << 8) | 1 + call GiveItem + jr nc, .BagFull + ld a, $b + ld [$ff8c], a + call DisplayTextID + ld hl, $d79a + set 0, [hl] + jr .asm_75880 ; 0x75877 $7 +.BagFull + ld a, $c + ld [$ff8c], a + call DisplayTextID +.asm_75880 + ld hl, W_OBTAINEDBADGES + set 6, [hl] + ld hl, $d72a + set 6, [hl] + + ; deactivate gym trainers + ld a, [$d79a] + or %11111100 + ld [$d79a], a + ld hl, $d79b + set 0, [hl] + + ld hl, $d126 + set 5, [hl] + + jp CinnabarGymScript_75792 + +CinnabarGymTextPointers: ; 7589f (1d:589f) + dw CinnabarGymText1 + dw CinnabarGymText2 + dw CinnabarGymText3 + dw CinnabarGymText4 + dw CinnabarGymText5 + dw CinnabarGymText6 + dw CinnabarGymText7 + dw CinnabarGymText8 + dw CinnabarGymText9 + dw BlaineBadgeText + dw ReceivedTM38Text + dw TM38NoRoomText + +CinnabarGymScript_758b7: ; 758b7 (1d:58b7) + ld a, [H_DOWNARROWBLINKCNT2] ; $ff8c + ld [$cf13], a + call EngageMapTrainer + call InitBattleEnemyParameters + ld hl, $d72d + set 6, [hl] + set 7, [hl] + ld a, [$cf13] + cp $1 + jr z, .asm_758d4 + ld a, $2 + jr .asm_758d6 +.asm_758d4 + ld a, $3 +.asm_758d6 + ld [W_CINNABARGYMCURSCRIPT], a + ld [W_CURMAPSCRIPT], a + jp TextScriptEnd + +CinnabarGymText1: ; 758df (1d:58df) + db $8 + ld a, [$d79a] + bit 1, a + jr z, .asm_d9332 ; 0x758e5 $16 + bit 0, a + jr nz, .asm_3012f ; 0x758e9 $9 + call z, CinnabarGymScript3_75857 + call DisableWaitingAfterTextDisplay + jp TextScriptEnd +.asm_3012f ; 0x758f4 + ld hl, BlaineFireBlastText + call PrintText + jp TextScriptEnd +.asm_d9332 ; 0x758fd + ld hl, BlaineBattleText + call PrintText + ld hl, BlaineEndBattleText + ld de, BlaineEndBattleText + call PreBattleSaveRegisters + ld a, $7 + ld [$d05c], a + jp CinnabarGymScript_758b7 + +BlaineBattleText: ; 75914 (1d:5914) + TX_FAR _BlaineBattleText + db "@" + +BlaineEndBattleText: ; 75919 (1d:5919) + TX_FAR _BlaineEndBattleText + db $11 + db $d + db "@" + +BlaineFireBlastText: ; 75920 (1d:5920) + TX_FAR _BlaineFireBlastText + db "@" + +BlaineBadgeText: ; 75925 (1d:5925) + TX_FAR _BlaineBadgeText + db "@" + +ReceivedTM38Text: ; 7592a (1d:592a) + TX_FAR _ReceivedTM38Text + db $0B + TX_FAR _TM38ExplanationText + db "@" + +TM38NoRoomText: ; 75934 (1d:5934) + TX_FAR _TM38NoRoomText + db "@" + +CinnabarGymText2: ; 75939 (1d:5939) + db $08 ; asm + call CinnabarGymScript_757a0 + ld a, [$d79a] + bit 2, a + jr nz, .asm_46bb4 ; 0x75942 + ld hl, CinnabarGymText_7595f + call PrintText + ld hl, CinnabarGymText_75964 + ld de, CinnabarGymText_75964 ; $5964 XXX + call PreBattleSaveRegisters + jp CinnabarGymScript_758b7 +.asm_46bb4 ; 0x75956 + ld hl, CinnabarGymText_75969 + call PrintText + jp TextScriptEnd + +CinnabarGymText_7595f: ; 7595f (1d:595f) + TX_FAR _CinnabarGymText_7595f + db "@" + +CinnabarGymText_75964: ; 75964 (1d:5964) + TX_FAR _CinnabarGymText_75964 + db "@" + +CinnabarGymText_75969: ; 75969 (1d:5969) + TX_FAR _CinnabarGymText_75969 + db "@" + +CinnabarGymText3: ; 7596e (1d:596e) + db $08 ; asm + call CinnabarGymScript_757a0 + ld a, [$d79a] + bit 3, a + jr nz, .asm_4b406 ; 0x75977 + ld hl, CinnabarGymText_75994 + call PrintText + ld hl, CinnabarGymText_75999 + ld de, CinnabarGymText_75999 ; $5999 XXX + call PreBattleSaveRegisters + jp CinnabarGymScript_758b7 +.asm_4b406 ; 0x7598b + ld hl, CinnabarGymText_7599e + call PrintText + jp TextScriptEnd + +CinnabarGymText_75994: ; 75994 (1d:5994) + TX_FAR _CinnabarGymText_75994 + db "@" + +CinnabarGymText_75999: ; 75999 (1d:5999) + TX_FAR _CinnabarGymText_75999 + db "@" + +CinnabarGymText_7599e: ; 7599e (1d:599e) + TX_FAR _CinnabarGymText_7599e + db "@" + +CinnabarGymText4: ; 759a3 (1d:59a3) + db $08 ; asm + call CinnabarGymScript_757a0 + ld a, [$d79a] + bit 4, a + jr nz, .asm_c0673 ; 0x759ac + ld hl, CinnabarGymText_759c9 + call PrintText + ld hl, CinnabarGymText_759ce + ld de, CinnabarGymText_759ce ; $59ce XXX + call PreBattleSaveRegisters + jp CinnabarGymScript_758b7 +.asm_c0673 ; 0x759c0 + ld hl, CinnabarGymText_759d3 + call PrintText + jp TextScriptEnd + +CinnabarGymText_759c9: ; 759c9 (1d:59c9) + TX_FAR _CinnabarGymText_759c9 + db "@" + +CinnabarGymText_759ce: ; 759ce (1d:59ce) + TX_FAR _CinnabarGymText_759ce + db "@" + +CinnabarGymText_759d3: ; 759d3 (1d:59d3) + TX_FAR _CinnabarGymText_759d3 + db "@" + +CinnabarGymText5: ; 759d8 (1d:59d8) + db $08 ; asm + call CinnabarGymScript_757a0 + ld a, [$d79a] + bit 5, a + jr nz, .asm_5cfd7 ; 0x759e1 + ld hl, CinnabarGymText_759fe + call PrintText + ld hl, CinnabarGymText_75a03 + ld de, CinnabarGymText_75a03 ; $5a03 XXX + call PreBattleSaveRegisters + jp CinnabarGymScript_758b7 +.asm_5cfd7 ; 0x759f5 + ld hl, CinnabarGymText_75a08 + call PrintText + jp TextScriptEnd + +CinnabarGymText_759fe: ; 759fe (1d:59fe) + TX_FAR _CinnabarGymText_759fe + db "@" + +CinnabarGymText_75a03: ; 75a03 (1d:5a03) + TX_FAR _CinnabarGymText_75a03 + db "@" + +CinnabarGymText_75a08: ; 75a08 (1d:5a08) + TX_FAR _CinnabarGymText_75a08 + db "@" + +CinnabarGymText6: ; 75a0d (1d:5a0d) + db $08 ; asm + call CinnabarGymScript_757a0 + ld a, [$d79a] + bit 6, a + jr nz, .asm_776b4 ; 0x75a16 + ld hl, CinnabarGymText_75a33 + call PrintText + ld hl, CinnabarGymText_75a38 + ld de, CinnabarGymText_75a38 + call PreBattleSaveRegisters + jp CinnabarGymScript_758b7 +.asm_776b4 ; 0x75a2a + ld hl, CinnabarGymText_75a3d + call PrintText + jp TextScriptEnd + +CinnabarGymText_75a33: ; 75a33 (1d:5a33) + TX_FAR _CinnabarGymText_75a33 + db "@" + +CinnabarGymText_75a38: ; 75a38 (1d:5a38) + TX_FAR _CinnabarGymText_75a38 + db "@" + +CinnabarGymText_75a3d: ; 75a3d (1d:5a3d) + TX_FAR _CinnabarGymText_75a3d + db "@" + +CinnabarGymText7: ; 75a42 (1d:5a42) + db $08 ; asm + call CinnabarGymScript_757a0 + ld a, [$d79a] + bit 7, a + jr nz, .asm_2f755 ; 0x75a4b + ld hl, CinnabarGymText_75a68 + call PrintText + ld hl, CinnabarGymText_75a6d + ld de, CinnabarGymText_75a6d + call PreBattleSaveRegisters + jp CinnabarGymScript_758b7 +.asm_2f755 ; 0x75a5f + ld hl, CinnabarGymText_75a72 + call PrintText + jp TextScriptEnd + +CinnabarGymText_75a68: ; 75a68 (1d:5a68) + TX_FAR _CinnabarGymText_75a68 + db "@" + +CinnabarGymText_75a6d: ; 75a6d (1d:5a6d) + TX_FAR _CinnabarGymText_75a6d + db "@" + +CinnabarGymText_75a72: ; 75a72 (1d:5a72) + TX_FAR _CinnabarGymText_75a72 + db "@" + +CinnabarGymText8: ; 75a77 (1d:5a77) + db $08 ; asm + call CinnabarGymScript_757a0 + ld a, [$d79b] + bit 0, a + jr nz, .asm_d87be ; 0x75a80 + ld hl, CinnabarGymText_75a9d + call PrintText + ld hl, CinnabarGymText_75aa2 + ld de, CinnabarGymText_75aa2 ; $5aa2 XXX + call PreBattleSaveRegisters + jp CinnabarGymScript_758b7 +.asm_d87be ; 0x75a94 + ld hl, CinnabarGymText_75aa7 + call PrintText + jp TextScriptEnd + +CinnabarGymText_75a9d: ; 75a9d (1d:5a9d) + TX_FAR _CinnabarGymText_75a9d + db "@" + +CinnabarGymText_75aa2: ; 75aa2 (1d:5aa2) + TX_FAR _CinnabarGymText_75aa2 + db "@" + +CinnabarGymText_75aa7: ; 75aa7 (1d:5aa7) + TX_FAR _CinnabarGymText_75aa7 + db "@" + +CinnabarGymText9: ; 75aac (1d:5aac) + db $08 ; asm + ld a, [$d79a] + bit 1, a + jr nz, .asm_627d9 ; 0x75ab2 + ld hl, CinnabarGymText_75ac2 + jr .asm_0b11d ; 0x75ab7 +.asm_627d9 ; 0x75ab9 + ld hl, CinnabarGymText_75ac7 +.asm_0b11d ; 0x75abc + call PrintText + jp TextScriptEnd + +CinnabarGymText_75ac2: ; 75ac2 (1d:5ac2) + TX_FAR _CinnabarGymText_75ac2 + db "@" + +CinnabarGymText_75ac7: ; 75ac7 (1d:5ac7) + TX_FAR _CinnabarGymText_75ac7 + db "@" diff --git a/scripts/cinnabarisland.asm b/scripts/cinnabarisland.asm new file mode 100755 index 00000000..ab77926a --- /dev/null +++ b/scripts/cinnabarisland.asm @@ -0,0 +1,87 @@ +CinnabarIslandScript: ; 1ca19 (7:4a19) + call EnableAutoTextBoxDrawing + ld hl, $d126 + set 5, [hl] + ld hl, $d796 + res 0, [hl] + ld hl, $d7a3 + res 1, [hl] + ld hl, CinnabarIslandScriptPointers + ld a, [W_CINNABARISLANDCURSCRIPT] + jp CallFunctionInTable + +CinnabarIslandScriptPointers: ; 1ca34 (7:4a34) + dw CinnabarIslandScript0 + dw CinnabarIslandScript1 + +CinnabarIslandScript0: ; 1ca38 (7:4a38) + ld b, SECRET_KEY + call IsItemInBag + ret nz + ld a, [W_YCOORD] + cp $4 + ret nz + ld a, [W_XCOORD] + cp $12 + ret nz + ld a, $8 + ld [$d528], a + ld a, $8 + ld [$ff8c], a + call DisplayTextID + xor a + ld [H_CURRENTPRESSEDBUTTONS], a + ld a, $1 + ld [$cd38], a + ld a, $80 + ld [$ccd3], a + call Func_3486 + xor a + ld [$c109], a + ld [wJoypadForbiddenButtonsMask], a + ld a, $1 + ld [W_CINNABARISLANDCURSCRIPT], a + ret + +CinnabarIslandScript1: ; 1ca73 (7:4a73) + ld a, [$cd38] + and a + ret nz + call Delay3 + ld a, $0 + ld [W_CINNABARISLANDCURSCRIPT], a + ret + +CinnabarIslandTextPointers: ; 1ca81 (7:4a81) + dw CinnabarIslandText1 + dw CinnabarIslandText2 + dw CinnabarIslandText3 + dw MartSignText + dw PokeCenterSignText + dw CinnabarIslandText6 + dw CinnabarIslandText7 + dw CinnabarIslandText8 + +CinnabarIslandText8: ; 1ca91 (7:4a91) + TX_FAR _CinnabarIslandText8 + db "@" + +CinnabarIslandText1: ; 1ca96 (7:4a96) + TX_FAR _CinnabarIslandText1 + db "@" + +CinnabarIslandText2: ; 1ca9b (7:4a9b) + TX_FAR _CinnabarIslandText2 + db "@" + +CinnabarIslandText3: ; 1caa0 (7:4aa0) + TX_FAR _CinnabarIslandText3 + db "@" + +CinnabarIslandText6: ; 1caa5 (7:4aa5) + TX_FAR _CinnabarIslandText6 + db "@" + +CinnabarIslandText7: ; 1caaa (7:4aaa) + TX_FAR _CinnabarIslandText7 + db "@" diff --git a/scripts/cinnabarmart.asm b/scripts/cinnabarmart.asm new file mode 100755 index 00000000..2abd7b67 --- /dev/null +++ b/scripts/cinnabarmart.asm @@ -0,0 +1,15 @@ +CinnabarMartScript: ; 75e7e (1d:5e7e) + jp EnableAutoTextBoxDrawing + +CinnabarMartTextPointers: ; 75e81 (1d:5e81) + dw CinnabarMartText1 + dw CinnabarMartText2 + dw CinnabarMartText3 + +CinnabarMartText2: ; 75e87 (1d:5e87) + TX_FAR _CinnabarMartText2 + db "@" + +CinnabarMartText3: ; 75e8c (1d:5e8c) + TX_FAR _CinnabarMartText3 + db "@" diff --git a/scripts/cinnabarpokecenter.asm b/scripts/cinnabarpokecenter.asm new file mode 100755 index 00000000..a2a41592 --- /dev/null +++ b/scripts/cinnabarpokecenter.asm @@ -0,0 +1,23 @@ +CinnabarPokecenterScript: ; 75e2c (1d:5e2c) + call Func_22fa + jp EnableAutoTextBoxDrawing + +CinnabarPokecenterTextPointers: ; 75e32 (1d:5e32) + dw CinnabarPokecenterText1 + dw CinnabarPokecenterText2 + dw CinnabarPokecenterText3 + dw CinnabarPokecenterText4 + +CinnabarPokecenterText1: ; 75e3a (1d:5e3a) + db $ff + +CinnabarPokecenterText2: ; 75e3b (1d:5e3b) + TX_FAR _CinnabarPokecenterText1 + db "@" + +CinnabarPokecenterText3: ; 75e40 (1d:5e40) + TX_FAR _CinnabarPokecenterText3 + db "@" + +CinnabarPokecenterText4: ; 75e45 (1d:5e45) + db $f6 diff --git a/scripts/copycatshouse1f.asm b/scripts/copycatshouse1f.asm new file mode 100755 index 00000000..230a3ca3 --- /dev/null +++ b/scripts/copycatshouse1f.asm @@ -0,0 +1,22 @@ +CopycatsHouse1FScript: ; 75ec3 (1d:5ec3) + jp EnableAutoTextBoxDrawing + +CopycatsHouse1FTextPointers: ; 75ec6 (1d:5ec6) + dw CopycatsHouse1FText1 + dw CopycatsHouse1FText2 + dw CopycatsHouse1FText3 + +CopycatsHouse1FText1: ; 75ecc (1d:5ecc) + TX_FAR _CopycatsHouse1FText1 + db "@" + +CopycatsHouse1FText2: ; 75ed1 (1d:5ed1) + TX_FAR _CopycatsHouse1FText2 + db "@" + +CopycatsHouse1FText3: ; 75ed6 (1d:5ed6) + TX_FAR _CopycatsHouse1FText3 + db $8 + ld a, CHANSEY + call PlayCry + jp TextScriptEnd diff --git a/scripts/copycatshouse2f.asm b/scripts/copycatshouse2f.asm new file mode 100755 index 00000000..3dd64a3a --- /dev/null +++ b/scripts/copycatshouse2f.asm @@ -0,0 +1,104 @@ +CopycatsHouse2FScript: ; 5cc71 (17:4c71) + jp EnableAutoTextBoxDrawing + +CopycatsHouse2FTextPointers: ; 5cc74 (17:4c74) + dw CopycatsHouse2FText1 + dw CopycatsHouse2FText2 + dw CopycatsHouse2FText3 + dw CopycatsHouse2FText4 + dw CopycatsHouse2FText5 + dw CopycatsHouse2FText6 + dw CopycatsHouse2FText7 + +CopycatsHouse2FText1: ; 5cc82 (17:4c82) + db $08 ; asm + ld a, [$d7af] + bit 0, a + jr nz, .asm_7ccf3 ; 0x5cc88 + ld a, $1 + ld [$cc3c], a + ld hl, CopycatsHouse2FText_5ccd4 + call PrintText + ld b, POKE_DOLL + call IsItemInBag + jr z, .asm_62ecd ; 0x5cc9a + ld hl, TM31PreReceiveText + call PrintText + ld bc, (TM_31 << 8) | 1 + call GiveItem + jr nc, .BagFull + ld hl, ReceivedTM31Text + call PrintText + ld a, POKE_DOLL + ldh [$db], a + ld b, BANK(RemoveItemByID) + ld hl, RemoveItemByID + call Bankswitch + ld hl, $d7af + set 0, [hl] + jr .asm_62ecd ; 0x5ccc1 +.BagFull + ld hl, TM31NoRoomText + call PrintText + jr .asm_62ecd ; 0x5ccc9 +.asm_7ccf3 ; 0x5cccb + ld hl, TM31ExplanationText2 + call PrintText +.asm_62ecd ; 0x5ccd1 + jp TextScriptEnd + +CopycatsHouse2FText_5ccd4: ; 5ccd4 (17:4cd4) + TX_FAR _CopycatsHouse2FText_5ccd4 + db "@" + +TM31PreReceiveText: ; 5ccd9 (17:4cd9) + TX_FAR _TM31PreReceiveText + db "@" + +ReceivedTM31Text: ; 5ccde (17:4cde) + TX_FAR _ReceivedTM31Text + db $0B +TM31ExplanationText1: ; 5cce3 (17:4ce3) + TX_FAR _TM31ExplanationText1 + db $d, "@" + +TM31ExplanationText2: ; 5cce9 (17:4ce9) + TX_FAR _TM31ExplanationText2 + db "@" + +TM31NoRoomText: ; 5ccee (17:4cee) + TX_FAR _TM31NoRoomText + db $d, "@" + +CopycatsHouse2FText2: ; 5ccf4 (17:4cf4) + TX_FAR _CopycatsHouse2FText2 + db "@" + +CopycatsHouse2FText5: ; 5ccf9 (17:4cf9) +CopycatsHouse2FText4: ; 5ccf9 (17:4cf9) +CopycatsHouse2FText3: ; 5ccf9 (17:4cf9) + TX_FAR _CopycatsHouse2FText3 + db "@" + +CopycatsHouse2FText6: ; 5ccfe (17:4cfe) + TX_FAR _CopycatsHouse2FText6 + db "@" + +CopycatsHouse2FText7: ; 5cd03 (17:4d03) + db $08 ; asm + ld a, [$c109] + cp $4 + ld hl, CopycatsHouse2FText_5cd1c + jr nz, .asm_399a4 ; 0x5cd0c + ld hl, CopycatsHouse2FText_5cd17 +.asm_399a4 ; 0x5cd11 + call PrintText + jp TextScriptEnd + +CopycatsHouse2FText_5cd17: ; 5cd17 (17:4d17) + TX_FAR _CopycatsHouse2FText_5cd17 + db "@" + +CopycatsHouse2FText_5cd1c: ; 5cd1c (17:4d1c) + TX_FAR _CopycatsHouse2FText_5cd1c + db "@" diff --git a/scripts/daycarem.asm b/scripts/daycarem.asm new file mode 100755 index 00000000..c8d6ffaf --- /dev/null +++ b/scripts/daycarem.asm @@ -0,0 +1,274 @@ +DayCareMScript: ; 5624f (15:624f) + jp EnableAutoTextBoxDrawing + +DayCareMTextPointers: ; 56252 (15:6252) + dw DayCareMText1 + +DayCareMText1: ; 56254 (15:6254) + db $8 + call SaveScreenTilesToBuffer2 + ld a, [W_DAYCARE_IN_USE] + and a + jp nz, DayCareMScript_562e1 + ld hl, DayCareMText_5640f + call PrintText + call YesNoChoice + ld a, [$cc26] + and a + ld hl, DayCareMText_5643b + jp nz, DayCareMScript_56409 + ld a, [$d163] + dec a + ld hl, DayCareMText_56445 + jp z, DayCareMScript_56409 + ld hl, DayCareMText_56414 + call PrintText + xor a + ld [$cfcb], a + ld [$d07d], a + ld [$cc35], a + call DisplayPartyMenu + push af + call GBPalWhiteOutWithDelay3 + call Func_3dbe + call LoadGBPal + pop af + ld hl, DayCareMText_56437 + jp c, DayCareMScript_56409 + ld hl, Func_2171b + ld b, BANK(Func_2171b) + call Bankswitch + ld hl, DayCareMText_5644a + jp c, DayCareMScript_56409 + xor a + ld [$cc2b], a + ld a, [wWhichPokemon] + ld hl, $d2b5 + call GetPartyMonName + ld hl, DayCareMText_56419 + call PrintText + ld a, $1 + ld [W_DAYCARE_IN_USE], a + ld a, $3 + ld [$cf95], a + call Func_3a68 + xor a + ld [$cf95], a + call RemovePokemon + ld a, [$cf91] + call PlayCry + ld hl, DayCareMText_5641e + jp DayCareMScript_56409 + +DayCareMScript_562e1: ; 562e1 (15:62e1) + xor a + ld hl, W_DAYCAREMONNAME + call GetPartyMonName + ld a, $3 + ld [$cc49], a + call LoadMonData + ld hl, Func_58f43 + ld b, BANK(Func_58f43) + call Bankswitch + ld a, d + cp $64 + jr c, .asm_56315 + ld d, $64 + ld hl, CalcExperience + ld b, BANK(CalcExperience) + call Bankswitch + ld hl, $da6d + ld a, [H_NUMTOPRINT] + ld [hli], a + ld a, [$ff97] + ld [hli], a + ld a, [$ff98] + ld [hl], a + ld d, $64 + +.asm_56315 + xor a + ld [wTrainerEngageDistance], a + ld hl, $da62 + ld a, [hl] + ld [wTrainerSpriteOffset], a + cp d + ld [hl], d + ld hl, DayCareMText_56432 + jr z, .asm_56333 + ld a, [wTrainerSpriteOffset] + ld b, a + ld a, d + sub b + ld [wTrainerEngageDistance], a + ld hl, DayCareMText_56423 + +.asm_56333 + call PrintText + ld a, [W_NUMINPARTY] + cp $6 + ld hl, DayCareMText_56440 + jp z, .asm_56403 + ld de, wTrainerFacingDirection + xor a + ld [de], a + inc de + ld [de], a + ld hl, wTrainerScreenX + ld a, $1 + ld [hli], a + ld [hl], $0 + ld a, [wTrainerEngageDistance] + inc a + ld b, a + ld c, $2 +.asm_56357 + push hl + push de + push bc + ld a, $b + call Predef + pop bc + pop de + pop hl + dec b + jr nz, .asm_56357 + ld hl, DayCareMText_56428 + call PrintText + ld a, $13 + ld [$d125], a + call DisplayTextBoxID + call YesNoChoice + ld hl, DayCareMText_56437 + ld a, [wCurrentMenuItem] + and a + jp nz, .asm_56403 + ld hl, wTrainerFacingDirection + ld [$ff9f], a + ld a, [hli] + ld [$ffa0], a + ld a, [hl] + ld [$ffa1], a + call HasEnoughMoney + jr nc, .asm_56396 + ld hl, DayCareMText_56454 + jp .asm_56403 + +.asm_56396 + xor a + ld [W_DAYCARE_IN_USE], a + ld hl, wTrainerEngageDistance + ld [hli], a + inc hl + ld de, $d349 + ld c, $3 + ld a, $c + call Predef + ld a, (SFX_02_5a - SFX_Headers_02) / 3 + call PlaySoundWaitForCurrent + ld a, $13 + ld [$d125], a + call DisplayTextBoxID + ld hl, DayCareMText_5644f + call PrintText + ld a, $2 + ld [$cf95], a + call Func_3a68 + ld a, [W_DAYCAREMONDATA] + ld [$cf91], a + ld a, [W_NUMINPARTY] + dec a + push af + ld bc, $002c + push bc + ld hl, W_PARTYMON1_MOVE1 + call AddNTimes + ld d, h + ld e, l + ld a, $1 + ld [wHPBarMaxHP], a + ld a, $3e + call Predef + pop bc + pop af + ld hl, W_PARTYMON1_HP + call AddNTimes + ld d, h + ld e, l + ld bc, $0021 + add hl, bc + ld a, [hli] + ld [de], a + inc de + ld a, [hl] + ld [de], a + ld a, [$cf91] + call PlayCry + ld hl, DayCareMText_5642d + jr DayCareMScript_56409 + +.asm_56403 + ld a, [wTrainerSpriteOffset] + ld [$da62], a + +DayCareMScript_56409: ; 56409 (15:6409) + call PrintText + jp TextScriptEnd + +DayCareMText_5640f: ; 5640f (15:640f) + TX_FAR _DayCareMText_5640f + db "@" + +DayCareMText_56414: ; 56414 (15:6414) + TX_FAR _DayCareMText_56414 + db "@" + +DayCareMText_56419: ; 56419 (15:6419) + TX_FAR _DayCareMText_56419 + db "@" + +DayCareMText_5641e: ; 5641e (15:641e) + TX_FAR _DayCareMText_5641e + db "@" + +DayCareMText_56423: ; 56423 (15:6423) + TX_FAR _DayCareMText_56423 + db "@" + +DayCareMText_56428: ; 56428 (15:6428) + TX_FAR _DayCareMText_56428 + db "@" + +DayCareMText_5642d: ; 5642d (15:642d) + TX_FAR _DayCareMText_5642d + db "@" + +DayCareMText_56432: ; 56432 (15:6432) + TX_FAR _DayCareMText_56432 + db "@" + +DayCareMText_56437: ; 56437 (15:6437) + TX_FAR _DayCareMText_56437 ; 0x8c000 +DayCareMText_5643b: ; 5643b (15:643b) + TX_FAR _DayCareMText_5643b ; 0x8c013 + db "@" + +DayCareMText_56440: ; 56440 (15:6440) + TX_FAR _DayCareMText_56440 + db "@" + +DayCareMText_56445: ; 56445 (15:6445) + TX_FAR _DayCareMText_56445 + db "@" + +DayCareMText_5644a: ; 5644a (15:644a) + TX_FAR _DayCareMText_5644a + db "@" + +DayCareMText_5644f: ; 5644f (15:644f) + TX_FAR _DayCareMText_5644f + db "@" + +DayCareMText_56454: ; 56454 (15:6454) + TX_FAR _DayCareMText_56454 + db "@" diff --git a/scripts/diglettscave.asm b/scripts/diglettscave.asm new file mode 100755 index 00000000..efbf9713 --- /dev/null +++ b/scripts/diglettscave.asm @@ -0,0 +1,5 @@ +DiglettsCaveScript: ; 61f6e (18:5f6e) + jp EnableAutoTextBoxDrawing + +DiglettsCaveTextPointers: ; 61f71 (18:5f71) + db "@" diff --git a/scripts/diglettscaveroute11.asm b/scripts/diglettscaveroute11.asm new file mode 100755 index 00000000..89c235dc --- /dev/null +++ b/scripts/diglettscaveroute11.asm @@ -0,0 +1,12 @@ +DiglettsCaveEntranceRoute11Script: ; 1e5ba (7:65ba) + call EnableAutoTextBoxDrawing + ld a, $16 + ld [$d365], a + ret + +DiglettsCaveEntranceRoute11TextPointers: ; 1e5c3 (7:65c3) + dw DiglettsCaveEntranceRoute11Text1 + +DiglettsCaveEntranceRoute11Text1: ; 1e5c5 (7:65c5) + TX_FAR _DiglettsCaveEntRoute11Text1 + db "@" diff --git a/scripts/diglettscaveroute2.asm b/scripts/diglettscaveroute2.asm new file mode 100755 index 00000000..93080be1 --- /dev/null +++ b/scripts/diglettscaveroute2.asm @@ -0,0 +1,11 @@ +DiglettsCaveRoute2Script: ; 1deb0 (7:5eb0) + ld a, $d + ld [$d365], a + jp EnableAutoTextBoxDrawing + +DiglettsCaveRoute2TextPointers: ; 1deb8 (7:5eb8) + dw DiglettsCaveRoute2Text1 + +DiglettsCaveRoute2Text1: ; 1deba (7:5eba) + TX_FAR _DiglettsCaveRoute2Text1 + db "@" diff --git a/scripts/fanclub.asm b/scripts/fanclub.asm new file mode 100755 index 00000000..8ea8d36d --- /dev/null +++ b/scripts/fanclub.asm @@ -0,0 +1,181 @@ +FanClubScript: ; 59b70 (16:5b70) + jp EnableAutoTextBoxDrawing + +FanClubBikeInBag: +; check if any bike paraphernalia in bag + ld a, [$d771] + bit 1, a ; got bike voucher? + ret nz + ld b, BICYCLE + call IsItemInBag + ret nz + ld b, BIKE_VOUCHER + jp IsItemInBag + +FanClubTextPointers: ; 59b84 (16:5b84) + dw FanClubText1 + dw FanClubText2 + dw FanClubText3 + dw FanClubText4 + dw FanClubText5 + dw FanClubText6 + dw FanClubText7 + dw FanClubText8 + +FanClubText1: +; pikachu fan + db $08 ; asm + ld a, [$d771] + bit 7, a + jr nz, .mineisbetter + ld hl, .normaltext + call PrintText + ld hl, $d771 + set 6, [hl] + jr .done +.mineisbetter + ld hl, .bettertext + call PrintText + ld hl, $d771 + res 7, [hl] +.done + jp TextScriptEnd + +.normaltext + TX_FAR PikachuFanText + db "@" + +.bettertext + TX_FAR PikachuFanBetterText + db "@" + +FanClubText2: +; seel fan + db $08 ; asm + ld a, [$d771] + bit 6, a + jr nz, .mineisbetter + ld hl, .normaltext + call PrintText + ld hl, $d771 + set 7, [hl] + jr .done +.mineisbetter + ld hl, .bettertext + call PrintText + ld hl, $d771 + res 6, [hl] +.done + jp TextScriptEnd + +.normaltext + TX_FAR SeelFanText + db "@" + +.bettertext + TX_FAR SeelFanBetterText + db "@" + +FanClubText3: +; pikachu + db $8 + ld hl, .text + call PrintText + ld a, PIKACHU + call PlayCry + call WaitForSoundToFinish + jp TextScriptEnd + +.text + TX_FAR FanClubPikachuText + db "@" + +FanClubText4: +; seel + db $08 ; asm + ld hl, .text + call PrintText + ld a, SEEL + call PlayCry + call WaitForSoundToFinish + jp TextScriptEnd + +.text + TX_FAR FanClubSeelText + db "@" + +FanClubText5: +; chair + db $08 ; asm + call FanClubBikeInBag + jr nz, .nothingleft + + ld hl, .meetchairtext + call PrintText + call YesNoChoice + ld a, [$cc26] + and a + jr nz, .nothanks + + ; tell the story + ld hl, .storytext + call PrintText + ld bc, (BIKE_VOUCHER << 8) | 1 + call GiveItem + jr nc, .BagFull + ld hl, .receivedvouchertext + call PrintText + ld hl, $d771 + set 1, [hl] + jr .done +.BagFull + ld hl, .bagfulltext + call PrintText + jr .done +.nothanks + ld hl, .nostorytext + call PrintText + jr .done +.nothingleft + ld hl, .finaltext + call PrintText +.done + jp TextScriptEnd + +.meetchairtext + TX_FAR FanClubMeetChairText + db "@" + +.storytext + TX_FAR FanClubChairStoryText + db "@" + +.receivedvouchertext + TX_FAR ReceivedBikeVoucherText + db $11 + TX_FAR ExplainBikeVoucherText + db "@" + +.nostorytext + TX_FAR FanClubNoStoryText + db "@" + +.finaltext + TX_FAR FanClubChairFinalText + db "@" + +.bagfulltext + TX_FAR FanClubBagFullText + db "@" + +FanClubText6: ; 59c88 (16:5c88) + TX_FAR _FanClubText6 + db "@" + +FanClubText7: ; 59c8d (16:5c8d) + TX_FAR _FanClubText7 + db "@" + +FanClubText8: ; 59c92 (16:5c92) + TX_FAR _FanClubText8 + db "@" diff --git a/scripts/fightingdojo.asm b/scripts/fightingdojo.asm new file mode 100755 index 00000000..4dc7fe7b --- /dev/null +++ b/scripts/fightingdojo.asm @@ -0,0 +1,337 @@ +FightingDojoScript: ; 5cd5d (17:4d5d) + call EnableAutoTextBoxDrawing + ld hl, FightingDojoTrainerHeaders + ld de, FightingDojoScriptPointers + ld a, [W_FIGHTINGDOJOCURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_FIGHTINGDOJOCURSCRIPT], a + ret + +FightingDojoScript_5cd70: ; 5cd70 (17:4d70) + xor a + ld [$cd6b], a + ld [$d642], a + ld [$da39], a + ret + +FightingDojoScriptPointers: ; 5cd7b (17:4d7b) + dw FightingDojoScript1 + dw Func_324c + dw EndTrainerBattle + dw FightingDojoScript3 + +FightingDojoScript1: ; 5cd83 (17:4d83) + ld a, [$d7b1] + bit 0, a + ret nz + call CheckFightingMapTrainers + ld a, [wTrainerHeaderFlagBit] + and a + ret nz + ld a, [$d7b1] + bit 1, a + ret nz + xor a + ld [H_CURRENTPRESSEDBUTTONS], a + ld [$cf0d], a + ld a, [W_YCOORD] + cp $3 + ret nz + ld a, [W_XCOORD] + cp $4 + ret nz + ld a, $1 + ld [$cf0d], a + ld a, $1 + ld [$d528], a + ld a, $1 + ld [$ff8c], a + ld a, $8 + ld [$ff8d], a + call Func_34a6 + ld a, $1 + ld [$ff8c], a + call DisplayTextID + ret + +FightingDojoScript3: ; 5cdc6 (17:4dc6) + ld a, [$d057] + cp $ff + jp z, FightingDojoScript_5cd70 + ld a, [$cf0d] + and a + jr z, .asm_5cde4 + ld a, $1 + ld [$d528], a + ld a, $1 + ld [$ff8c], a + ld a, $8 + ld [$ff8d], a + call Func_34a6 + +.asm_5cde4 + ld a, $f0 + ld [$cd6b], a + ld a, [$d7b1] + or $3e + ld [$d7b1], a + ld a, $8 + ld [$ff8c], a + call DisplayTextID + xor a + ld [$cd6b], a + ld [$d642], a + ld [$da39], a + ret + +FightingDojoTextPointers: ; 5ce03 (17:4e03) + dw FightingDojoText1 + dw FightingDojoText2 + dw FightingDojoText3 + dw FightingDojoText4 + dw FightingDojoText5 + dw FightingDojoText6 + dw FightingDojoText7 + dw FightingDojoText8 + +FightingDojoTrainerHeaders: ; 5ce13 (17:4e13) +FightingDojoTrainerHeader0: ; 5ce13 (17:4e13) + db $2 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7b1 ; flag's byte + dw FightingDojoBattleText1 ; 0x4eac TextBeforeBattle + dw FightingDojoAfterBattleText1 ; 0x4eb6 TextAfterBattle + dw FightingDojoEndBattleText1 ; 0x4eb1 TextEndBattle + dw FightingDojoEndBattleText1 ; 0x4eb1 TextEndBattle + +FightingDojoTrainerHeader1: ; 5ce1f (17:4e1f) + db $3 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7b1 ; flag's byte + dw FightingDojoBattleText2 ; 0x4ec5 TextBeforeBattle + dw FightingDojoAfterBattleText2 ; 0x4ecf TextAfterBattle + dw FightingDojoEndBattleText2 ; 0x4eca TextEndBattle + dw FightingDojoEndBattleText2 ; 0x4eca TextEndBattle + +FightingDojoTrainerHeader2: ; 5ce2b (17:4e2b) + db $4 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7b1 ; flag's byte + dw FightingDojoBattleText3 ; 0x4ede TextBeforeBattle + dw FightingDojoAfterBattleText3 ; 0x4ee8 TextAfterBattle + dw FightingDojoEndBattleText3 ; 0x4ee3 TextEndBattle + dw FightingDojoEndBattleText3 ; 0x4ee3 TextEndBattle + +FightingDojoTrainerHeader3: ; 5ce37 (17:4e37) + db $5 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7b1 ; flag's byte + dw FightingDojoBattleText4 ; 0x4ef7 TextBeforeBattle + dw FightingDojoAfterBattleText4 ; 0x4f01 TextAfterBattle + dw FightingDojoEndBattleText4 ; 0x4efc TextEndBattle + dw FightingDojoEndBattleText4 ; 0x4efc TextEndBattle + + db $ff + +FightingDojoText1: ; 5ce44 (17:4e44) + db $08 ; asm + ld a, [$d7b1] + bit 0, a + jp nz, .continue1 + bit 1, a + jp nz, .continue2 + ld hl, FightingDojoText_5ce8e + call PrintText + ld hl, $d72d + set 6, [hl] + set 7, [hl] + ld hl, FightingDojoText_5ce93 + ld de, FightingDojoText_5ce93 + call PreBattleSaveRegisters + ldh a, [$8c] + ld [$cf13], a + call EngageMapTrainer + call InitBattleEnemyParameters + ld a, $3 + ld [W_FIGHTINGDOJOCURSCRIPT], a + ld [W_CURMAPSCRIPT], a + jr .asm_9dba4 ; 0x5ce7b +.continue1 ; 0x5ce7d + ld hl, FightingDojoText_5ce9d + call PrintText + jr .asm_9dba4 ; 0x5ce83 +.continue2 ; 0x5ce85f + ld hl, FightingDojoText8 + call PrintText +.asm_9dba4 ; 0x5ce8b + jp TextScriptEnd + +FightingDojoText_5ce8e: ; 5ce8e (17:4e8e) + TX_FAR _FightingDojoText_5ce8e + db "@" + +FightingDojoText_5ce93: ; 5ce93 (17:4e93) + TX_FAR _FightingDojoText_5ce93 + db "@" + +FightingDojoText8: ; 5ce98 (17:4e98) + TX_FAR _FightingDojoText_5ce98 + db "@" + +FightingDojoText_5ce9d: ; 5ce9d (17:4e9d) + TX_FAR _FightingDojoText_5ce9d + db "@" + +FightingDojoText2: ; 5cea2 (17:4ea2) + db $08 ; asm + ld hl, FightingDojoTrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +FightingDojoBattleText1: ; 5ceac (17:4eac) + TX_FAR _FightingDojoBattleText1 + db "@" + +FightingDojoEndBattleText1: ; 5ceb1 (17:4eb1) + TX_FAR _FightingDojoEndBattleText1 + db "@" + +FightingDojoAfterBattleText1: ; 5ceb6 (17:4eb6) + TX_FAR _FightingDojoAfterBattleText1 + db "@" + +FightingDojoText3: ; 5cebb (17:4ebb) + db $08 ; asm + ld hl, FightingDojoTrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +FightingDojoBattleText2: ; 5cec5 (17:4ec5) + TX_FAR _FightingDojoBattleText2 + db "@" + +FightingDojoEndBattleText2: ; 5ceca (17:4eca) + TX_FAR _FightingDojoEndBattleText2 + db "@" + +FightingDojoAfterBattleText2: ; 5cecf (17:4ecf) + TX_FAR _FightingDojoAfterBattleText2 + db "@" + +FightingDojoText4: ; 5ced4 (17:4ed4) + db $08 ; asm + ld hl, FightingDojoTrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +FightingDojoBattleText3: ; 5cede (17:4ede) + TX_FAR _FightingDojoBattleText3 + db "@" + +FightingDojoEndBattleText3: ; 5cee3 (17:4ee3) + TX_FAR _FightingDojoEndBattleText3 + db "@" + +FightingDojoAfterBattleText3: ; 5cee8 (17:4ee8) + TX_FAR _FightingDojoAfterBattleText3 + db "@" + +FightingDojoText5: ; 5ceed (17:4eed) + db $08 ; asm + ld hl, FightingDojoTrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +FightingDojoBattleText4: ; 5cef7 (17:4ef7) + TX_FAR _FightingDojoBattleText4 + db "@" + +FightingDojoEndBattleText4: ; 5cefc (17:4efc) + TX_FAR _FightingDojoEndBattleText4 + db "@" + +FightingDojoAfterBattleText4: ; 5cf01 (17:4f01) + TX_FAR _FightingDojoAfterBattleText4 + db "@" + +FightingDojoText6: ; 5cf06 (17:4f06) +; Hitmonlee Poké Ball + db $08 ; asm + ld a, [$d7b1] + and %11000000 + jr z, .GetMon + ld hl, OtherHitmonText + call PrintText + jr .done +.GetMon + ld a, HITMONLEE + call DisplayPokedex + ld hl, WantHitmonleeText + call PrintText + call YesNoChoice + ld a, [$cc26] + and a + jr nz, .done + ld a, [$cf91] + ld b, a + ld c, 30 + call GivePokemon + jr nc, .done + + ; once Poké Ball is taken, hide sprite + ld a, $4a + ld [$cc4d], a + ld a, $11 + call Predef + ld hl, $d7b1 + set 6, [hl] + set 0, [hl] +.done + jp TextScriptEnd + +WantHitmonleeText: ; 5cf49 (17:4f49) + TX_FAR _WantHitmonleeText + db "@" + +FightingDojoText7: ; 5cf4e (17:4f4e) +; Hitmonchan Poké Ball + db $08 ; asm + ld a, [$d7b1] + and %11000000 + jr z, .GetMon + ld hl, OtherHitmonText + call PrintText + jr .done +.GetMon + ld a, HITMONCHAN + call DisplayPokedex + ld hl, WantHitmonchanText + call PrintText + call YesNoChoice + ld a, [$cc26] + and a + jr nz, .done + ld a, [$cf91] + ld b, a + ld c,30 + call GivePokemon + jr nc, .done + ld hl, $d7b1 + set 7, [hl] + set 0, [hl] + + ; once Poké Ball is taken, hide sprite + ld a, $4b + ld [$cc4d], a + ld a, $11 + call Predef +.done + jp TextScriptEnd + +WantHitmonchanText: ; 5cf91 (17:4f91) + TX_FAR _WantHitmonchanText + db "@" + +OtherHitmonText: ; 5cf96 (17:4f96) + TX_FAR _OtherHitmonText + db "@" diff --git a/scripts/fuchsiacity.asm b/scripts/fuchsiacity.asm new file mode 100755 index 00000000..9014dffe --- /dev/null +++ b/scripts/fuchsiacity.asm @@ -0,0 +1,170 @@ +FuchsiaCityScript: ; 19a2b (6:5a2b) + jp EnableAutoTextBoxDrawing + +FuchsiaCityTextPointers: ; 19a2e (6:5a2e) + dw FuchsiaCityText1 + dw FuchsiaCityText2 + dw FuchsiaCityText3 + dw FuchsiaCityText4 + dw FuchsiaCityText5 + dw FuchsiaCityText6 + dw FuchsiaCityText7 + dw FuchsiaCityText8 + dw FuchsiaCityText9 + dw FuchsiaCityText10 + dw FuchsiaCityText11 + dw FuchsiaCityText12 + dw FuchsiaCityText13 + dw MartSignText + dw PokeCenterSignText + dw FuchsiaCityText16 + dw FuchsiaCityText17 + dw FuchsiaCityText18 + dw FuchsiaCityText19 + dw FuchsiaCityText20 + dw FuchsiaCityText21 + dw FuchsiaCityText22 + dw FuchsiaCityText23 + dw FuchsiaCityText24 + +FuchsiaCityText1: ; 19a5e (6:5a5e) + TX_FAR _FuchsiaCityText1 + db "@" + +FuchsiaCityText2: ; 19a63 (6:5a63) + TX_FAR _FuchsiaCityText2 + db "@" + +FuchsiaCityText3: ; 19a68 (6:5a68) + TX_FAR _FuchsiaCityText3 + db "@" + +FuchsiaCityText4: ; 19a6d (6:5a6d) + TX_FAR _FuchsiaCityText4 + db "@" + +FuchsiaCityText5: ; 19a72 (6:5a72) +FuchsiaCityText6: ; 19a72 (6:5a72) +FuchsiaCityText7: ; 19a72 (6:5a72) +FuchsiaCityText8: ; 19a72 (6:5a72) +FuchsiaCityText9: ; 19a72 (6:5a72) +FuchsiaCityText10: ; 19a72 (6:5a72) + TX_FAR _FuchsiaCityText5 + db "@" + +FuchsiaCityText12: ; 19a77 (6:5a77) +FuchsiaCityText11: ; 19a77 (6:5a77) + TX_FAR _FuchsiaCityText11 + db "@" + +FuchsiaCityText13: ; 19a7c (6:5a7c) + TX_FAR _FuchsiaCityText13 + db "@" + +FuchsiaCityText16: ; 19a81 (6:5a81) + TX_FAR _FuchsiaCityText16 + db "@" + +FuchsiaCityText17: ; 19a86 (6:5a86) + TX_FAR _FuchsiaCityText17 + db "@" + +FuchsiaCityText18: ; 19a8b (6:5a8b) + TX_FAR _FuchsiaCityText18 + db "@" + +FuchsiaCityText19: ; 19a90 (6:5a90) + db $08 ; asm + ld hl, FuchsiaCityChanseyText + call PrintText + ld a, CHANSEY + call DisplayPokedex + jp TextScriptEnd + +FuchsiaCityChanseyText: ; 19a9f (6:5a9f) + TX_FAR _FuchsiaCityChanseyText + db "@" + +FuchsiaCityText20: ; 19aa4 (6:5aa4) + db $08 ; asm + ld hl, FuchsiaCityVoltorbText + call PrintText + ld a, VOLTORB + call DisplayPokedex + jp TextScriptEnd + +FuchsiaCityVoltorbText: ; 19ab3 (6:5ab3) + TX_FAR _FuchsiaCityVoltorbText + db "@" + +FuchsiaCityText21: ; 19ab8 (6:5ab8) + db $08 ; asm + ld hl, FuchsiaCityKangaskhanText + call PrintText + ld a, KANGASKHAN + call DisplayPokedex + jp TextScriptEnd + +FuchsiaCityKangaskhanText: ; 19ac7 (6:5ac7) + TX_FAR _FuchsiaCityKangaskhanText + db "@" + +FuchsiaCityText22: ; 19acc (6:5acc) + db $08 ; asm + ld hl, FuchsiaCitySlowpokeText + call PrintText + ld a, SLOWPOKE + call DisplayPokedex + jp TextScriptEnd + +FuchsiaCitySlowpokeText: ; 19adb (6:5adb) + TX_FAR _FuchsiaCitySlowpokeText + db "@" + +FuchsiaCityText23: ; 19ae0 (6:5ae0) + db $08 ; asm + ld hl, FuchsiaCityLaprasText + call PrintText + ld a, LAPRAS + call DisplayPokedex + jp TextScriptEnd + +FuchsiaCityLaprasText: ; 19aef (6:5aef) + TX_FAR _FuchsiaCityLaprasText + db "@" + +FuchsiaCityText24: ; 19af4 (6:5af4) + db $08 ; asm + ld a, [$d7f6] + bit 6, a + jr nz, .asm_3b4e8 ; 0x19afa + bit 7, a + jr nz, .asm_667d5 ; 0x19afe + ld hl, FuchsiaCityText_19b2a + call PrintText + jr .asm_4343f ; 0x19b06 +.asm_3b4e8 ; 0x19b08 + ld hl, FuchsiaCityOmanyteText + call PrintText + ld a, OMANYTE + jr .asm_81556 ; 0x19b10 +.asm_667d5 ; 0x19b12 + ld hl, FuchsiaCityKabutoText + call PrintText + ld a, KABUTO +.asm_81556 ; 0x19b1a + call DisplayPokedex +.asm_4343f ; 0x19b1d + jp TextScriptEnd + +FuchsiaCityOmanyteText: ; 19b20 (6:5b20) + TX_FAR _FuchsiaCityOmanyteText + db "@" + +FuchsiaCityKabutoText: ; 19b25 (6:5b25) + TX_FAR _FuchsiaCityKabutoText + db "@" + +FuchsiaCityText_19b2a: ; 19b2a (6:5b2a) + TX_FAR _FuchsiaCityText_19b2a + db "@" diff --git a/scripts/fuchsiagym.asm b/scripts/fuchsiagym.asm new file mode 100755 index 00000000..789c2367 --- /dev/null +++ b/scripts/fuchsiagym.asm @@ -0,0 +1,336 @@ +FuchsiaGymScript: ; 7543d (1d:543d) + call FuchsiaGymScript_75453 + call EnableAutoTextBoxDrawing + ld hl, FuchsiaGymTrainerHeaders + ld de, FuchsiaGymScriptPointers + ld a, [W_FUCHSIAGYMCURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_FUCHSIAGYMCURSCRIPT], a + ret + +FuchsiaGymScript_75453: ; 75453 (1d:5453) + ld hl, $D126 + bit 6, [hl] + res 6, [hl] + ret z + ld hl, Gym5CityName + ld de, Gym5LeaderName + call LoadGymLeaderAndCityName + ret + +Gym5CityName: ; 75465 (1d:5465) + db "FUCHSIA CITY@" +Gym5LeaderName: ; 75472 (1d:5472) + db "KOGA@" + +FuchsiaGymScript_75477: ; 75477 (1d:5477) + xor a + ld [wJoypadForbiddenButtonsMask], a + ld [W_FUCHSIAGYMCURSCRIPT], a + ld [W_CURMAPSCRIPT], a + ret + +FuchsiaGymScriptPointers: ; 75482 (1d:5482) + dw CheckFightingMapTrainers + dw Func_324c + dw EndTrainerBattle + dw FuchsiaGymScript3 + +FuchsiaGymScript3: ; 7548a (1d:548a) + ld a, [W_ISINBATTLE] ; $d057 + cp $ff + jp z, FuchsiaGymScript_75477 + ld a, $f0 + ld [wJoypadForbiddenButtonsMask], a +FuchsiaGymScript3_75497: ; 75497 (1d:5497) + ld a, $9 + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + call DisplayTextID + ld hl, $d792 + set 1, [hl] + ld bc, (TM_06 << 8) | 1 + call GiveItem + jr nc, .BagFull + ld a, $a + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + call DisplayTextID + ld hl, $d792 + set 0, [hl] + jr .asm_754c0 +.BagFull + ld a, $b + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + call DisplayTextID +.asm_754c0 + ld hl, W_OBTAINEDBADGES + set 4, [hl] + ld hl, $d72a + set 4, [hl] + + ; deactivate gym trainers + ld a, [$d792] + or %11111100 + ld [$d792], a + + jp FuchsiaGymScript_75477 + +FuchsiaGymTextPointers: ; 754d5 (1d:54d5) + dw FuchsiaGymText1 + dw FuchsiaGymText2 + dw FuchsiaGymText3 + dw FuchsiaGymText4 + dw FuchsiaGymText5 + dw FuchsiaGymText6 + dw FuchsiaGymText7 + dw FuchsiaGymText8 + dw FuchsiaGymText9 + dw FuchsiaGymText10 + dw FuchsiaGymText11 + +FuchsiaGymTrainerHeaders: ; 754eb (1d:54eb) +FuchsiaGymTrainerHeader0: ; 754eb (1d:54eb) + db $2 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d792 ; flag's byte + dw FuchsiaGymBattleText1 ; 0x55ae TextBeforeBattle + dw FuchsiaGymAfterBattleText1 ; 0x55b8 TextAfterBattle + dw FuchsiaGymEndBattleText1 ; 0x55b3 TextEndBattle + dw FuchsiaGymEndBattleText1 ; 0x55b3 TextEndBattle + +FuchsiaGymTrainerHeader2: ; 754f7 (1d:54f7) + db $3 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d792 ; flag's byte + dw FuchsiaGymBattleText2 ; 0x55c7 TextBeforeBattle + dw FuchsiaGymAfterBattleText2 ; 0x55d1 TextAfterBattle + dw FuchsiaGymEndBattleText2 ; 0x55cc TextEndBattle + dw FuchsiaGymEndBattleText2 ; 0x55cc TextEndBattle + +FuchsiaGymTrainerHeader3: ; 75503 (1d:5503) + db $4 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d792 ; flag's byte + dw FuchsiaGymBattleText3 ; 0x55e0 TextBeforeBattle + dw FuchsiaGymAfterBattleText3 ; 0x55ea TextAfterBattle + dw FuchsiaGymEndBattleText3 ; 0x55e5 TextEndBattle + dw FuchsiaGymEndBattleText3 ; 0x55e5 TextEndBattle + +FuchsiaGymTrainerHeader4: ; 7550f (1d:550f) + db $5 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d792 ; flag's byte + dw FuchsiaGymBattleText4 ; 0x55f9 TextBeforeBattle + dw FuchsiaGymAfterBattleText4 ; 0x5603 TextAfterBattle + dw FuchsiaGymEndBattleText4 ; 0x55fe TextEndBattle + dw FuchsiaGymEndBattleText4 ; 0x55fe TextEndBattle + +FuchsiaGymTrainerHeader5: ; 7551b (1d:551b) + db $6 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d792 ; flag's byte + dw FuchsiaGymBattleText5 ; 0x5612 TextBeforeBattle + dw FuchsiaGymAfterBattleText5 ; 0x561c TextAfterBattle + dw FuchsiaGymEndBattleText5 ; 0x5617 TextEndBattle + dw FuchsiaGymEndBattleText5 ; 0x5617 TextEndBattle + +FuchsiaGymTrainerHeader6: ; 75527 (1d:5527) + db $7 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d792 ; flag's byte + dw FuchsiaGymBattleText6 ; 0x562b TextBeforeBattle + dw FuchsiaGymAfterBattleText6 ; 0x5635 TextAfterBattle + dw FuchsiaGymEndBattleText6 ; 0x5630 TextEndBattle + dw FuchsiaGymEndBattleText6 ; 0x5630 TextEndBattle + + db $ff + +FuchsiaGymText1: ; 75534 (1d:5534) + db $08 ; asm + ld a, [$d792] + bit 1, a + jr z, .asm_181b6 ; 0x7553a + bit 0, a + jr nz, .asm_adc3b ; 0x7553e + call z, FuchsiaGymScript3_75497 + call DisableWaitingAfterTextDisplay + jr .asm_e84c6 ; 0x75546 +.asm_adc3b ; 0x75548 + ld hl, UnnamedText_7558b + call PrintText + jr .asm_e84c6 ; 0x7554e +.asm_181b6 ; 0x75550 + ld hl, UnnamedText_75581 + call PrintText + ld hl, $d72d + set 6, [hl] + set 7, [hl] + ld hl, UnnamedText_75586 + ld de, UnnamedText_75586 + call PreBattleSaveRegisters + ldh a, [$8c] + ld [$cf13], a + call EngageMapTrainer + call InitBattleEnemyParameters + ld a, $5 + ld [$d05c], a + xor a + ldh [$b4], a + ld a, $3 + ld [W_FUCHSIAGYMCURSCRIPT], a +.asm_e84c6 ; 0x7557e + jp TextScriptEnd + +UnnamedText_75581: ; 75581 (1d:5581) + TX_FAR _UnnamedText_75581 + db "@" + +UnnamedText_75586: ; 75586 (1d:5586) + TX_FAR _UnnamedText_75586 + db "@" + +UnnamedText_7558b: ; 7558b (1d:558b) + TX_FAR _UnnamedText_7558b + db "@" + +FuchsiaGymText9: ; 75590 (1d:5590) + TX_FAR _UnnamedText_75590 + db "@" + +FuchsiaGymText10: ; 75595 (1d:5595) + TX_FAR _ReceivedTM06Text + db $11 + +TM06ExplanationText: ; 7559a (1d:559a) + TX_FAR _TM06ExplanationText + db "@" + +FuchsiaGymText11: ; 7559f (1d:559f) + TX_FAR _TM06NoRoomText + db "@" + +FuchsiaGymText2: ; 755a4 (1d:55a4) + db $08 ; asm + ld hl, FuchsiaGymTrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +FuchsiaGymBattleText1: ; 755ae (1d:55ae) + TX_FAR _FuchsiaGymBattleText1 + db "@" + +FuchsiaGymEndBattleText1: ; 755b3 (1d:55b3) + TX_FAR _FuchsiaGymEndBattleText1 + db "@" + +FuchsiaGymAfterBattleText1: ; 755b8 (1d:55b8) + TX_FAR _FuchsiaGymAfterBattleText1 + db "@" + +FuchsiaGymText3: ; 755bd (1d:55bd) + db $08 ; asm + ld hl, FuchsiaGymTrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +FuchsiaGymBattleText2: ; 755c7 (1d:55c7) + TX_FAR _FuchsiaGymBattleText2 + db "@" + +FuchsiaGymEndBattleText2: ; 755cc (1d:55cc) + TX_FAR _FuchsiaGymEndBattleText2 + db "@" + +FuchsiaGymAfterBattleText2: ; 755d1 (1d:55d1) + TX_FAR _FuchsiaGymAfterBattleText2 + db "@" + +FuchsiaGymText4: ; 755d6 (1d:55d6) + db $08 ; asm + ld hl, FuchsiaGymTrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +FuchsiaGymBattleText3: ; 755e0 (1d:55e0) + TX_FAR _FuchsiaGymBattleText3 + db "@" + +FuchsiaGymEndBattleText3: ; 755e5 (1d:55e5) + TX_FAR _FuchsiaGymEndBattleText3 + db "@" + +FuchsiaGymAfterBattleText3: ; 755ea (1d:55ea) + TX_FAR _FuchsiaGymAfterBattleText3 + db "@" + +FuchsiaGymText5: ; 755ef (1d:55ef) + db $08 ; asm + ld hl, FuchsiaGymTrainerHeader4 + call TalkToTrainer + jp TextScriptEnd + +FuchsiaGymBattleText4: ; 755f9 (1d:55f9) + TX_FAR _FuchsiaGymBattleText4 + db "@" + +FuchsiaGymEndBattleText4: ; 755fe (1d:55fe) + TX_FAR _FuchsiaGymEndBattleText4 + db "@" + +FuchsiaGymAfterBattleText4: ; 75603 (1d:5603) + TX_FAR _FuchsiaGymAfterBattleText4 + db "@" + +FuchsiaGymText6: ; 75608 (1d:5608) + db $08 ; asm + ld hl, FuchsiaGymTrainerHeader5 + call TalkToTrainer + jp TextScriptEnd + +FuchsiaGymBattleText5: ; 75612 (1d:5612) + TX_FAR _FuchsiaGymBattleText5 + db "@" + +FuchsiaGymEndBattleText5: ; 75617 (1d:5617) + TX_FAR _FuchsiaGymEndBattleText5 + db "@" + +FuchsiaGymAfterBattleText5: ; 7561c (1d:561c) + TX_FAR _FuchsiaGymAfterBattleText5 + db "@" + +FuchsiaGymText7: ; 75621 (1d:5621) + db $08 ; asm + ld hl, FuchsiaGymTrainerHeader6 + call TalkToTrainer + jp TextScriptEnd + +FuchsiaGymBattleText6: ; 7562b (1d:562b) + TX_FAR _FuchsiaGymBattleText6 + db "@" + +FuchsiaGymEndBattleText6: ; 75630 (1d:5630) + TX_FAR _FuchsiaGymEndBattleText6 + db "@" + +FuchsiaGymAfterBattleText6: ; 75635 (1d:5635) + TX_FAR _FuchsiaGymAfterBattleText6 + db "@" + +FuchsiaGymText8: ; 7563a (1d:563a) + db $08 ; asm + ld a, [$d792] + bit 1, a + ld hl, UnnamedText_75653 + jr nz, .asm_50671 ; 0x75643 + ld hl, UnnamedText_7564e +.asm_50671 ; 0x75648 + call PrintText + jp TextScriptEnd + +UnnamedText_7564e: ; 7564e (1d:564e) + TX_FAR _UnnamedText_7564e + db "@" + +UnnamedText_75653: ; 75653 (1d:5653) + TX_FAR _UnnamedText_75653 + db "@" diff --git a/scripts/fuchsiahouse1.asm b/scripts/fuchsiahouse1.asm new file mode 100755 index 00000000..4d5e6eb1 --- /dev/null +++ b/scripts/fuchsiahouse1.asm @@ -0,0 +1,20 @@ +FuchsiaHouse1Script: ; 75018 (1d:5018) + call EnableAutoTextBoxDrawing + ret + +FuchsiaHouse1TextPointers: ; 7501c (1d:501c) + dw FuchsiaHouse1Text1 + dw FuchsiaHouse1Text2 + dw FuchsiaHouse1Text3 + +FuchsiaHouse1Text1: ; 75022 (1d:5022) + TX_FAR _FuchsiaHouse1Text1 + db "@" + +FuchsiaHouse1Text2: ; 75027 (1d:5027) + TX_FAR _FuchsiaHouse1Text2 + db "@" + +FuchsiaHouse1Text3: ; 7502c (1d:502c) + TX_FAR _FuchsiaHouse1Text3 + db "@" diff --git a/scripts/fuchsiahouse2.asm b/scripts/fuchsiahouse2.asm new file mode 100755 index 00000000..3d1156cb --- /dev/null +++ b/scripts/fuchsiahouse2.asm @@ -0,0 +1,118 @@ +FuchsiaHouse2Script: ; 750b5 (1d:50b5) + jp EnableAutoTextBoxDrawing + +FuchsiaHouse2TextPointers: ; 750b8 (1d:50b8) + dw FuchsiaHouse2Text1 + dw Predef5CText + dw BoulderText + dw FuchsiaHouse2Text4 + dw FuchsiaHouse2Text5 + +FuchsiaHouse2Text1: ; 750c2 (1d:50c2) + db $08 ; asm + ld a, [$d78e] + bit 0, a + jr nz, .subtract ; 0x750c8 + ld b,GOLD_TEETH + call IsItemInBag + jr nz, .asm_3f30f ; 0x750cf + ld a, [$d78e] + bit 1, a + jr nz, .asm_60cba ; 0x750d6 + ld hl, WardenGibberishText1 + call PrintText + call YesNoChoice + ld a, [$cc26] + and a + ld hl, WardenGibberishText3 + jr nz, .asm_61238 ; 0x750e8 + ld hl, WardenGibberishText2 +.asm_61238 ; 0x750ed + call PrintText + jr .asm_52039 ; 0x750f0 +.asm_3f30f ; 0x750f2 + ld hl, WardenTeethText1 + call PrintText + ld a, GOLD_TEETH + ldh [$db], a + ld b, BANK(RemoveItemByID) + ld hl, RemoveItemByID + call Bankswitch + ld hl, $d78e + set 1, [hl] +.asm_60cba ; 0x75109 + ld hl, WardenThankYouText + call PrintText + ld bc,(HM_04 << 8) | 1 + call GiveItem + jr nc, .BagFull + ld hl, ReceivedHM04Text + call PrintText + ld hl, $d78e + set 0, [hl] + jr .asm_52039 ; 0x75122 +.subtract ; 0x75124 + ld hl, HM04ExplanationText + call PrintText + jr .asm_52039 ; 0x7512a +.BagFull + ld hl, HM04NoRoomText + call PrintText +.asm_52039 ; 0x75132 + jp TextScriptEnd + +WardenGibberishText1: ; 75135 (1d:5135) + TX_FAR _WardenGibberishText1 + db "@" + +WardenGibberishText2: ; 7513a (1d:513a) + TX_FAR _WardenGibberishText2 + db "@" + +WardenGibberishText3: ; 7513f (1d:513f) + TX_FAR _WardenGibberishText3 + db "@" + +WardenTeethText1: ; 75144 (1d:5144) + TX_FAR _WardenTeethText1 + db $0b + +WardenTeethText2: ; 75149 (1d:5149) + TX_FAR _WardenTeethText2 + db "@" + +WardenThankYouText: ; 7514e (1d:514e) + TX_FAR _WardenThankYouText + db "@" + +ReceivedHM04Text: ; 75153 (1d:5153) + TX_FAR _ReceivedHM04Text + db $0B, "@" + +HM04ExplanationText: ; 75159 (1d:5159) + TX_FAR _HM04ExplanationText + db "@" + +HM04NoRoomText: ; 7515e (1d:515e) + TX_FAR _HM04NoRoomText + db "@" + +FuchsiaHouse2Text5: ; 75163 (1d:5163) +FuchsiaHouse2Text4: ; 75163 (1d:5163) + db $08 ; asm + ldh a, [$8c] + cp $4 + ld hl, FuchsiaHouse2Text_7517b + jr nz, .asm_4c9a2 ; 0x7516b + ld hl, FuchsiaHouse2Text_75176 +.asm_4c9a2 ; 0x75170 + call PrintText + jp TextScriptEnd + +FuchsiaHouse2Text_75176: ; 75176 (1d:5176) + TX_FAR _FuchsiaHouse2Text_75176 + db "@" + +FuchsiaHouse2Text_7517b: ; 7517b (1d:517b) + TX_FAR _FuchsiaHouse2Text_7517b + db "@" diff --git a/scripts/fuchsiahouse3.asm b/scripts/fuchsiahouse3.asm new file mode 100755 index 00000000..ec5654ba --- /dev/null +++ b/scripts/fuchsiahouse3.asm @@ -0,0 +1,75 @@ +FuchsiaHouse3Script: ; 5617c (15:617c) + jp EnableAutoTextBoxDrawing + +FuchsiaHouse3TextPointers: ; 5617f (15:617f) + dw FuchsiaHouse3Text1 + +FuchsiaHouse3Text1: ; 56181 (15:6181) + db $08 ; asm + ld a, [$d728] + bit 4, a + jr nz, .after + + ld hl, FuchsiaHouse3Text_561bd + call PrintText + + call YesNoChoice + ld a, [$cc26] + and a + jr nz, .refused + + ld bc, (GOOD_ROD << 8) | 1 + call GiveItem + jr nc, .full + + ld hl, $d728 + set 4, [hl] + + ld hl, FuchsiaHouse3Text_561c2 + jr .talk + +.full + ld hl, FuchsiaHouse3Text_5621c + jr .talk + +.refused + ld hl, FuchsiaHouse3Text_56212 + jr .talk + +.after + ld hl, FuchsiaHouse3Text_56217 + +.talk + call PrintText + jp TextScriptEnd + +FuchsiaHouse3Text_561bd: ; 561bd (15:61bd) + TX_FAR _FuchsiaHouse3Text_561bd + db "@" + +FuchsiaHouse3Text_561c2: ; 561c2 (15:61c2) + TX_FAR _FuchsiaHouse3Text_561c2 ; 0xa06e8 + db $0B + db "@" + +UnnamedText_561c8: ; 561c8 + para "つり こそ" + line "おとこの ロマン だ!" + + para "へぼいつりざおは" + line "コイキングしか つれ なんだが" + line "この いいつりざおなら" + line "もっと いいもんが つれるんじゃ!" + done + +FuchsiaHouse3Text_56212: ; 56212 (15:6212) + TX_FAR _FuchsiaHouse3Text_56212 + db "@" + +FuchsiaHouse3Text_56217: ; 56217 (15:6217) + TX_FAR _FuchsiaHouse3Text_56217 + db "@" + +FuchsiaHouse3Text_5621c: ; 5621c (15:621c) + TX_FAR _FuchsiaHouse3Text_5621c + db "@" diff --git a/scripts/fuchsiamart.asm b/scripts/fuchsiamart.asm new file mode 100755 index 00000000..792dafa2 --- /dev/null +++ b/scripts/fuchsiamart.asm @@ -0,0 +1,15 @@ +FuchsiaMartScript: ; 1dd88 (7:5d88) + jp EnableAutoTextBoxDrawing + +FuchsiaMartTextPointers: ; 1dd8b (7:5d8b) + dw FuchsiaMartText1 + dw FuchsiaMartText2 + dw FuchsiaMartText3 + +FuchsiaMartText2: ; 1dd91 (7:5d91) + TX_FAR _FuchsiaMartText2 + db "@" + +FuchsiaMartText3: ; 1dd96 (7:5d96) + TX_FAR _FuchsiaMartText3 + db "@" diff --git a/scripts/fuchsiameetingroom.asm b/scripts/fuchsiameetingroom.asm new file mode 100755 index 00000000..140a5ccc --- /dev/null +++ b/scripts/fuchsiameetingroom.asm @@ -0,0 +1,20 @@ +FuchsiaMeetingRoomScript: ; 756e3 (1d:56e3) + call EnableAutoTextBoxDrawing + ret + +FuchsiaMeetingRoomTextPointers: ; 756e7 (1d:56e7) + dw FuchsiaMeetingRoomText1 + dw FuchsiaMeetingRoomText2 + dw FuchsiaMeetingRoomText3 + +FuchsiaMeetingRoomText1: ; 756ed (1d:56ed) + TX_FAR _FuchsiaMeetingRoomText1 + db "@" + +FuchsiaMeetingRoomText2: ; 756f2 (1d:56f2) + TX_FAR _FuchsiaMeetingRoomText2 + db "@" + +FuchsiaMeetingRoomText3: ; 756f7 (1d:56f7) + TX_FAR _FuchsiaMeetingRoomText3 + db "@" diff --git a/scripts/fuchsiapokecenter.asm b/scripts/fuchsiapokecenter.asm new file mode 100755 index 00000000..621a483f --- /dev/null +++ b/scripts/fuchsiapokecenter.asm @@ -0,0 +1,23 @@ +FuchsiaPokecenterScript: ; 75063 (1d:5063) + call Func_22fa + jp EnableAutoTextBoxDrawing + +FuchsiaPokecenterTextPointers: ; 75069 (1d:5069) + dw FuchsiaPokecenterText1 + dw FuchsiaPokecenterText2 + dw FuchsiaPokecenterText3 + dw FuchsiaPokecenterText4 + +FuchsiaPokecenterText1: ; 75071 (1d:5071) + db $ff + +FuchsiaPokecenterText2: ; 75072 (1d:5072) + TX_FAR _FuchsiaPokecenterText1 + db "@" + +FuchsiaPokecenterText3: ; 75077 (1d:5077) + TX_FAR _FuchsiaPokecenterText3 + db "@" + +FuchsiaPokecenterText4: ; 7507c (1d:507c) + db $f6 diff --git a/scripts/gary.asm b/scripts/gary.asm new file mode 100755 index 00000000..aeb04f78 --- /dev/null +++ b/scripts/gary.asm @@ -0,0 +1,297 @@ +GaryScript: ; 75f1d (1d:5f1d) + call EnableAutoTextBoxDrawing + ld hl, GaryScriptPointers + ld a, [W_GARYCURSCRIPT] + jp CallFunctionInTable + +GaryScript_75f29: ; 75f29 (1d:5f29) + xor a + ld [wJoypadForbiddenButtonsMask], a + ld [W_GARYCURSCRIPT], a + ret + +GaryScriptPointers: ; 75f31 (1d:5f31) + dw GaryScript0 + dw GaryScript1 + dw GaryScript2 + dw GaryScript3 + dw GaryScript4 + dw GaryScript5 + dw GaryScript6 + dw GaryScript7 + dw GaryScript8 + dw GaryScript9 + dw GaryScript10 + +GaryScript0: ; 75f47 (1d:5f47) + ret + +GaryScript1: ; 75f48 (1d:5f48) + ld a, $ff + ld [wJoypadForbiddenButtonsMask], a + ld hl, $ccd3 + ld de, RLEMovement75f63 + call DecodeRLEList + dec a + ld [$cd38], a + call Func_3486 + ld a, $2 + ld [W_GARYCURSCRIPT], a + ret + +RLEMovement75f63: ; 75f63 (1d:5f63) + db $40,1 + db $10,1 + db $40,3 + db $ff + +GaryScript2: ; 75f6a (1d:5f6a) + ld a, [$cd38] + and a + ret nz + call Delay3 + xor a + ld [wJoypadForbiddenButtonsMask], a + ld hl, $d355 + res 7, [hl] + ld a, $1 + ld [$ff8c], a + call DisplayTextID + call Delay3 + ld hl, $d72d + set 6, [hl] + set 7, [hl] + ld hl, GaryText_760f9 + ld de, GaryText_760fe + call PreBattleSaveRegisters + ld a, SONY3 + $c8 + ld [W_CUROPPONENT], a + + ; select which team to use during the encounter + ld a, [W_RIVALSTARTER] + cp SQUIRTLE + jr nz, .NotSquirtle ; 0x75f9f $4 + ld a, $1 + jr .done +.NotSquirtle + cp BULBASAUR + jr nz, .Charmander ; 0x75fa7 $4 + ld a, $2 + jr .done +.Charmander + ld a, $3 +.done + ld [W_TRAINERNO], a + + xor a + ld [H_CURRENTPRESSEDBUTTONS], a + ld a, $3 + ld [W_GARYCURSCRIPT], a + ret + +GaryScript3: ; 75fbb (1d:5fbb) + ld a, [W_ISINBATTLE] + cp $ff + jp z, GaryScript_75f29 + call UpdateSprites ; move sprites + ld hl, $d867 + set 1, [hl] + ld a, $f0 + ld [wJoypadForbiddenButtonsMask], a + ld a, $1 + ld [$ff8c], a + call GaryScript_760c8 + ld a, $1 + ld [$ff8c], a + call SetSpriteMovementBytesToFF + ld a, $4 + ld [W_GARYCURSCRIPT], a + ret + +GaryScript4: ; 75fe4 (1d:5fe4) + ld b, BANK(Music_Cities1AlternateTempo) + ld hl, Music_Cities1AlternateTempo + call Bankswitch + ld a, $2 + ld [$ff8c], a + call GaryScript_760c8 + ld a, $2 + ld [$ff8c], a + call SetSpriteMovementBytesToFF + ld de, MovementData_76014 + ld a, $2 + ld [$ff8c], a + call MoveSprite + ld a, $d6 + ld [$cc4d], a + ld a, $15 + call Predef + ld a, $5 + ld [W_GARYCURSCRIPT], a + ret + +MovementData_76014: ; 76014 (1d:6014) + db $40,$40,$40,$40,$40,$FF + +GaryScript5: ; 7601a (1d:601a) + ld a, [$d730] + bit 0, a + ret nz + ld a, $2 + ld [$d528], a + ld a, $1 + ld [$ff8c], a + ld a, $8 + ld [$ff8d], a + call Func_34a6 + ld a, $2 + ld [$ff8c], a + xor a + ld [$ff8d], a + call Func_34a6 ; face object + ld a, $3 + ld [$ff8c], a + call GaryScript_760c8 + ld a, $6 + ld [W_GARYCURSCRIPT], a + ret + +GaryScript6: ; 76047 (1d:6047) + ld a, $2 + ld [$ff8c], a + ld a, $c + ld [$ff8d], a + call Func_34a6 ; face object + ld a, $4 + ld [$ff8c], a + call GaryScript_760c8 + ld a, $7 + ld [W_GARYCURSCRIPT], a + ret + +GaryScript7: ; 7605f (1d:605f) + ld a, $2 + ld [$ff8c], a + xor a + ld [$ff8d], a + call Func_34a6 ; face object + ld a, $5 + ld [$ff8c], a + call GaryScript_760c8 + ld de, MovementData_76080 + ld a, $2 + ld [$ff8c], a + call MoveSprite + ld a, $8 + ld [W_GARYCURSCRIPT], a + ret + +MovementData_76080: ; 76080 (1d:6080) + db $40,$40,$FF + +GaryScript8: ; 76083 (1d:6083) + ld a, [$d730] + bit 0, a + ret nz + ld a, $d6 + ld [$cc4d], a + ld a, $11 + call Predef + ld a, $9 + ld [W_GARYCURSCRIPT], a + ret + +GaryScript9: ; 76099 (1d:6099) + ld a, $ff + ld [wJoypadForbiddenButtonsMask], a + ld hl, $ccd3 + ld de, RLEMovement760b4 + call DecodeRLEList + dec a + ld [$cd38], a + call Func_3486 + ld a, $a + ld [W_GARYCURSCRIPT], a + ret + +RLEMovement760b4 ; 760b4 (1d:60b4) + db $40,4 + db $20,1 + db $ff + +GaryScript10: ; 760b9 (1d:60b9) + ld a, [$cd38] + and a + ret nz + xor a + ld [wJoypadForbiddenButtonsMask], a + ld a, $0 + ld [W_GARYCURSCRIPT], a + ret + +GaryScript_760c8 ; 760c8 (1d:60c8) + ld a, $f0 + ld [wJoypadForbiddenButtonsMask], a + call DisplayTextID + ld a, $ff + ld [wJoypadForbiddenButtonsMask], a + ret + +GaryTextPointers: ; 760d6 (1d:60d6) + dw GaryText1 + dw GaryText2 + dw GaryText3 + dw GaryText4 + dw GaryText5 + +GaryText1: ; 760e0 (1d:60e0) + db $08 ; asm + ld a, [$d867] + bit 1, a + ld hl, GaryText_760f4 + jr z, .asm_17e9f ; 0x760e9 + ld hl, GaryText_76103 +.asm_17e9f ; 0x760ee + call PrintText + jp TextScriptEnd + +GaryText_760f4: ; 760f4 (1d:60f4) + TX_FAR _GaryText_760f4 + db "@" + +GaryText_760f9: ; 760f9 (1d:60f9) + TX_FAR _GaryText_760f9 + db "@" + +GaryText_760fe: ; 760fe (1d:60fe) + TX_FAR _GaryText_760fe + db "@" + +GaryText_76103: ; 76103 (1d:6103) + TX_FAR _GaryText_76103 + db "@" + +GaryText2: ; 76108 (1d:6108) + TX_FAR _GaryText2 + db "@" + +GaryText3: ; 7610d (1d:610d) + db $8 + ld a, [$d717] + ld [$d11e], a + call GetMonName + ld hl, GaryText_76120 + call PrintText + jp TextScriptEnd + +GaryText_76120: ; 76120 (1d:6120) + TX_FAR _GaryText_76120 + db "@" + +GaryText4: ; 76125 (1d:6125) + TX_FAR _GaryText_76125 + db "@" + +GaryText5: ; 7612a (1d:612a) + TX_FAR _GaryText_7612a + db "@" diff --git a/scripts/halloffameroom.asm b/scripts/halloffameroom.asm new file mode 100755 index 00000000..25a59a36 --- /dev/null +++ b/scripts/halloffameroom.asm @@ -0,0 +1,117 @@ +HallofFameRoomScript: ; 5a49e (16:649e) + call EnableAutoTextBoxDrawing + ld hl, HallofFameRoomScriptPointers + ld a, [W_HALLOFFAMEROOMCURSCRIPT] + jp CallFunctionInTable + +HallofFameRoomScript_5a4aa: ; 5a4aa (16:64aa) + xor a + ld [wJoypadForbiddenButtonsMask], a + ld [W_HALLOFFAMEROOMCURSCRIPT], a + ret + +HallofFameRoomScriptPointers: ; 5a4b2 (16:64b2) + dw HallofFameRoomScript0 + dw HallofFameRoomScript1 + dw HallofFameRoomScript2 + dw HallofFameRoomScript3 + +HallofFameRoomScript3: ; 5a4ba (16:64ba) + ret + +HallofFameRoomScript2: ; 5a4bb (16:64bb) + call Delay3 + ld a, [$d358] + push af + xor a + ld [wJoypadForbiddenButtonsMask], a + ld a, $55 + call Predef + pop af + ld [$d358], a + ld hl, W_FLAGS_D733 + res 1, [hl] + inc hl + set 0, [hl] + xor a + ld hl, W_LORELEICURSCRIPT + ld [hli], a + ld [hli], a + ld [hl], a + ld [W_LANCECURSCRIPT], a + ld [W_HALLOFFAMEROOMCURSCRIPT], a + ld hl, $d863 + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hl], a + xor a + ld [W_HALLOFFAMEROOMCURSCRIPT], a + ld a, $0 + ld [$d719], a + ld b, BANK(SaveSAVtoSRAM) + ld hl, SaveSAVtoSRAM + call Bankswitch + ld b, $5 +.asm_5a4ff + ld c, $78 + call DelayFrames + dec b + jr nz, .asm_5a4ff ; 0x5a505 $f8 + call WaitForTextScrollButtonPress + jp InitGame + +HallofFameRoomScript0: ; 5a50d (16:650d) + ld a, $ff + ld [wJoypadForbiddenButtonsMask], a + ld hl, $ccd3 + ld de, RLEMovement5a528 + call DecodeRLEList + dec a + ld [$cd38], a + call Func_3486 + ld a, $1 + ld [W_HALLOFFAMEROOMCURSCRIPT], a + ret + +RLEMovement5a528: ; 5a528 (16:6528) + db $40,$5 + db $ff + +HallofFameRoomScript1: ; 5a52b (16:652b) + ld a, [$cd38] + and a + ret nz + ld a, $1 + ld [$d528], a + ld a, $1 + ld [$ff8c], a + call SetSpriteMovementBytesToFF + ld a, $8 + ld [$ff8d], a + call Func_34a6 + call Delay3 + xor a + ld [wJoypadForbiddenButtonsMask], a + inc a + ld [$d528], a + ld a, $1 + ld [$ff8c], a + call DisplayTextID + ld a, $ff + ld [wJoypadForbiddenButtonsMask], a + ld a, $8 + ld [$cc4d], a + ld a, $11 + call Predef + ld a, $2 + ld [W_HALLOFFAMEROOMCURSCRIPT], a + ret + +HallofFameRoomTextPointers: ; 5a56a (16:656a) + dw HallofFameRoomText1 + +HallofFameRoomText1: ; 5a56c (16:656c) + TX_FAR _HallofFameRoomText1 + db "@" diff --git a/scripts/indigoplateau.asm b/scripts/indigoplateau.asm new file mode 100755 index 00000000..9e4802ba --- /dev/null +++ b/scripts/indigoplateau.asm @@ -0,0 +1,4 @@ +IndigoPlateauScript: ; 50935 (14:4935) + ret + +IndigoPlateauTextPointers: ; 50936 (14:4936) diff --git a/scripts/indigoplateaulobby.asm b/scripts/indigoplateaulobby.asm new file mode 100755 index 00000000..861939b6 --- /dev/null +++ b/scripts/indigoplateaulobby.asm @@ -0,0 +1,41 @@ +IndigoPlateauLobbyScript: ; 19c5b (6:5c5b) + call Func_22fa + call EnableAutoTextBoxDrawing + ld hl, $d126 + bit 6, [hl] + res 6, [hl] + ret z + ld hl, $d869 + res 7, [hl] + ld hl, $d734 + bit 1, [hl] + res 1, [hl] + ret z + ld hl, $d863 + xor a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hl], a + ret + +IndigoPlateauLobbyTextPointers: ; 19c7f (6:5c7f) + dw IndigoPlateauLobbyText1 + dw IndigoPlateauLobbyText2 + dw IndigoPlateauLobbyText3 + dw IndigoPlateauLobbyText4 + dw IndigoPlateauLobbyText5 + +IndigoPlateauLobbyText1: ; 19c89 (6:5c89) + db $ff + +IndigoPlateauLobbyText2: ; 19c8a (6:5c8a) + TX_FAR _IndigoPlateauLobbyText1 + db "@" + +IndigoPlateauLobbyText3: ; 19c8f (6:5c8f) + TX_FAR _IndigoPlateauLobbyText3 + db "@" + +IndigoPlateauLobbyText5: ; 19c94 (6:5c94) + db $f6 diff --git a/scripts/lab1.asm b/scripts/lab1.asm new file mode 100755 index 00000000..a4ec9b41 --- /dev/null +++ b/scripts/lab1.asm @@ -0,0 +1,30 @@ +Lab1Script: ; 75b8c (1d:5b8c) + call EnableAutoTextBoxDrawing + ret + +Lab1TextPointers: ; 75b90 (1d:5b90) + dw Lab1Text1 + dw Lab1Text2 + dw Lab1Text3 + dw Lab1Text4 + dw Lab1Text5 + +Lab1Text1: ; 75b9a (1d:5b9a) + TX_FAR _Lab1Text1 + db "@" + +Lab1Text2: ; 75b9f (1d:5b9f) + TX_FAR _Lab1Text2 + db "@" + +Lab1Text3: ; 75ba4 (1d:5ba4) + TX_FAR _Lab1Text3 + db "@" + +Lab1Text4: ; 75ba9 (1d:5ba9) + TX_FAR _Lab1Text4 + db "@" + +Lab1Text5: ; 75bae (1d:5bae) + TX_FAR _Lab1Text5 + db "@" diff --git a/scripts/lab2.asm b/scripts/lab2.asm new file mode 100755 index 00000000..a626de98 --- /dev/null +++ b/scripts/lab2.asm @@ -0,0 +1,26 @@ +Lab2Script: ; 75c21 (1d:5c21) + jp EnableAutoTextBoxDrawing + +Lab2TextPointers: ; 75c24 (1d:5c24) + dw Lab2Text1 + dw Lab2Text2 + dw Lab2Text3 + +Lab2Text1: ; 75c2a (1d:5c2a) + TX_FAR _Lab2Text1 + db "@" + +Lab2Text2: ; 75c2f (1d:5c2f) + db $8 + ld a, $7 + ld [wWhichTrade], a + jr asm_78552 ; 0x75c35 $6 + +Lab2Text3: ; 75c37 (1d:5c37) + db $8 + ld a, $8 + ld [wWhichTrade], a +asm_78552: ; 75c3d (1d:5c3d) + ld a, $54 + call Predef + jp TextScriptEnd diff --git a/scripts/lab3.asm b/scripts/lab3.asm new file mode 100755 index 00000000..d56aba26 --- /dev/null +++ b/scripts/lab3.asm @@ -0,0 +1,63 @@ +Lab3Script: ; 75c87 (1d:5c87) + jp EnableAutoTextBoxDrawing + +Lab3TextPointers: ; 75c8a (1d:5c8a) + dw Lab3Text1 + dw Lab3Text2 + dw Lab3Text3 + dw Lab3Text4 + dw Lab3Text5 + +Lab3Text1: ; 75c94 (1d:5c94) + db $08 ; asm + ld a, [$d7a1] + bit 7, a + jr nz, .asm_e551a ; 0x75c9a + ld hl, TM35PreReceiveText + call PrintText + ld bc, (TM_35 << 8) | 1 + call GiveItem + jr nc, .BagFull + ld hl, ReceivedTM35Text + call PrintText + ld hl, $d7a1 + set 7, [hl] + jr .asm_eb896 ; 0x75cb5 +.BagFull + ld hl, TM35NoRoomText + call PrintText + jr .asm_eb896 ; 0x75cbd +.asm_e551a ; 0x75cbf + ld hl, TM35ExplanationText + call PrintText +.asm_eb896 ; 0x75cc5 + jp TextScriptEnd + +TM35PreReceiveText: ; 75cc8 (1d:5cc8) + TX_FAR _TM35PreReceiveText + db "@" + +ReceivedTM35Text: ; 75ccd (1d:5ccd) + TX_FAR _ReceivedTM35Text + db $0B, "@" + +TM35ExplanationText: ; 75cd3 (1d:5cd3) + TX_FAR _TM35ExplanationText + db "@" + +TM35NoRoomText: ; 75cd8 (1d:5cd8) + TX_FAR _TM35NoRoomText + db "@" + +Lab3Text2: ; 75cdd (1d:5cdd) + TX_FAR _Lab3Text2 + db "@" + +Lab3Text4: ; 75ce2 (1d:5ce2) +Lab3Text3: ; 75ce2 (1d:5ce2) + TX_FAR _Lab3Text3 + db "@" + +Lab3Text5: ; 75ce7 (1d:5ce7) + TX_FAR _Lab3Text5 + db "@" diff --git a/scripts/lab4.asm b/scripts/lab4.asm new file mode 100755 index 00000000..b8a73432 --- /dev/null +++ b/scripts/lab4.asm @@ -0,0 +1,117 @@ +Lab4Script: ; 75d31 (1d:5d31) + jp EnableAutoTextBoxDrawing + +Lab4TextPointers: ; 75d34 (1d:5d34) + dw Lab4Text1 + dw Lab4Text2 + +Lab4Script_75d38: ; 75d38 (1d:5d38) + xor a + ld [$cd37], a + ld de, $cc5b + ld hl, FossilsList +.asm_75d42 + ld a, [hli] + and a + jr z, .asm_75d64 + push hl + push de + ld [$d11e], a + ld b, a + ld a, $1c + call Predef ; indirect jump to Func_f8a5 (f8a5 (3:78a5)) + pop de + pop hl + ld a, b + and a + jr z, .asm_75d42 + ld a, [$d11e] + ld [de], a + inc de + push hl + ld hl, $cd37 + inc [hl] + pop hl + jr .asm_75d42 +.asm_75d64 + ld a, $ff + ld [de], a + ret + +FossilsList: ; 75d68 (1d:5d68) + db DOME_FOSSIL + db HELIX_FOSSIL + db OLD_AMBER + db $00 + +Lab4Text1: ; 75d6c (1d:5d6c) + db $8 + ld a, [$d7a3] + bit 0, a + jr nz, .asm_75d96 ; 0x75d72 $22 + ld hl, Lab4Text_75dc6 + call PrintText + call Lab4Script_75d38 + ld a, [$cd37] + and a + jr z, .asm_75d8d ; 0x75d81 $a + ld b, BANK(GiveFossilToCinnabarLab) + ld hl, GiveFossilToCinnabarLab + call Bankswitch + jr .asm_75d93 ; 0x75d8b $6 +.asm_75d8d + ld hl, Lab4Text_75dcb + call PrintText +.asm_75d93 + jp TextScriptEnd +.asm_75d96 + bit 1, a + jr z, .asm_75da2 ; 0x75d98 $8 + ld hl, Lab4Text_75dd0 + call PrintText + jr .asm_75d93 ; 0x75da0 $f1 +.asm_75da2 + call LoadFossilItemAndMonNameBank1D + ld hl, Lab4Text_75dd5 + call PrintText + ld hl, $d7a3 + set 2, [hl] + ld a, [W_FOSSILMON] + ld b, a + ld c, $1e + call GivePokemon + jr nc, .asm_75d93 ; 0x75db9 $d8 + ld hl, $d7a3 + res 0, [hl] + res 1, [hl] + res 2, [hl] + jr .asm_75d93 ; 0x75dc4 $cd + +Lab4Text_75dc6: ; 75dc6 (1d:5dc6) + TX_FAR _Lab4Text_75dc6 + db "@" + +Lab4Text_75dcb: ; 75dcb (1d:5dcb) + TX_FAR _Lab4Text_75dcb + db "@" + +Lab4Text_75dd0: ; 75dd0 (1d:5dd0) + TX_FAR _Lab4Text_75dd0 + db "@" + +Lab4Text_75dd5: ; 75dd5 (1d:5dd5) + TX_FAR _Lab4Text_75dd5 + db "@" + +Lab4Text2: ; 75dda (1d:5dda) + db $08 ; asm + ld a, $3 + ld [wWhichTrade], a + ld a, $54 + call Predef + jp TextScriptEnd + +LoadFossilItemAndMonNameBank1D: ; 75de8 (1d:5de8) + ld b, BANK(LoadFossilItemAndMonName) + ld hl, LoadFossilItemAndMonName + jp Bankswitch diff --git a/scripts/lance.asm b/scripts/lance.asm new file mode 100755 index 00000000..445b4052 --- /dev/null +++ b/scripts/lance.asm @@ -0,0 +1,166 @@ +LanceScript: ; 5a2ae (16:62ae) + call LanceScript_5a2c4 + call EnableAutoTextBoxDrawing + ld hl, LanceTrainerHeaders + ld de, LanceScriptPointers + ld a, [W_LANCECURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_LANCECURSCRIPT], a + ret + +LanceScript_5a2c4: ; 5a2c4 (16:62c4) + ld hl, $d126 + bit 5, [hl] + res 5, [hl] + ret z + ld a, [$d866] + bit 7, a + jr nz, .asm_5a2da + ld a, $31 + ld b, $32 + jp LanceScript_5a2de +.asm_5a2da + ld a, $72 + ld b, $73 + +LanceScript_5a2de: ; 5a2de (16:62de) + push bc + ld [$d09f], a + ld bc, $602 + call LanceScript_5a2f0 + pop bc + ld a, b + ld [$d09f], a + ld bc, $603 + +LanceScript_5a2f0: ; 5a2f0 (16:62f0) + ld a, $17 + jp Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e)) + +LanceScript_5a2f5: ; 5a2f5 (16:62f5) + xor a + ld [W_LANCECURSCRIPT], a + ret + +LanceScriptPointers: ; 5a2fa (16:62fa) + dw LanceScript0 + dw Func_324c + dw LanceScript2 + dw LanceScript3 + dw LanceScript4 + +LanceScript4: ; 5a304 (16:6304) + ret + +LanceScript0: ; 5a305 (16:6305) + ld a, [$d866] + bit 6, a + ret nz + ld hl, CoordsData_5a33e + call ArePlayerCoordsInArray + jp nc, CheckFightingMapTrainers + xor a + ld [H_CURRENTPRESSEDBUTTONS], a + ld a, [wWhichTrade] ; $cd3d + cp $3 + jr nc, .asm_5a325 + ld a, $1 + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + jp DisplayTextID +.asm_5a325 + cp $5 + jr z, LanceScript_5a35b + ld hl, $d866 + bit 7, [hl] + set 7, [hl] + ret nz + ld hl, $d126 + set 5, [hl] + ld a, (SFX_02_57 - SFX_Headers_02) / 3 + call PlaySound + jp LanceScript_5a2c4 + +CoordsData_5a33e: ; 5a33e (16:633e) + db $01,$05 + db $02,$06 + db $0B,$05 + db $0B,$06 + db $10,$18 + db $FF + +LanceScript2: ; 5a349 (16:6349) + call EndTrainerBattle + ld a, [W_ISINBATTLE] ; $d057 + cp $ff + jp z, LanceScript_5a2f5 + ld a, $1 + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + jp DisplayTextID + +LanceScript_5a35b: ; 5a35b (16:635b) + ld a, $ff + ld [wJoypadForbiddenButtonsMask], a + ld hl, $ccd3 + ld de, RLEList_5a379 + call DecodeRLEList + dec a + ld [$cd38], a + call Func_3486 + ld a, $3 + ld [W_LANCECURSCRIPT], a + ld [W_CURMAPSCRIPT], a + ret + +RLEList_5a379: ; 5a379 (16:6379) + db $40, $0C + db $20, $0C + db $80, $07 + db $20, $06 + db $FF + +LanceScript3: ; 5a382 (16:6382) + ld a, [$cd38] + and a + ret nz + call Delay3 + xor a + ld [wJoypadForbiddenButtonsMask], a + ld [W_LANCECURSCRIPT], a + ld [W_CURMAPSCRIPT], a + ret + +LanceTextPointers: ; 5a395 (16:6395) + dw LanceText1 + +LanceTrainerHeaders: ; 5a397 (16:6397) +LanceTrainerHeader0: ; 5a397 (16:6397) + db $1 ; flag's bit + db ($0 << 4) ; trainer's view range + dw $d866 ; flag's byte + dw LanceBeforeBattleText ; 0x63ae TextBeforeBattle + dw LanceAfterBattleText ; 0x63b8 TextAfterBattle + dw LanceEndBattleText ; 0x63b3 TextEndBattle + dw LanceEndBattleText ; 0x63b3 TextEndBattle + + db $ff + +LanceText1: ; 5a3a4 (16:63a4) + db $08 ; asm + ld hl, LanceTrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +LanceBeforeBattleText: ; 5a3ae (16:63ae) + TX_FAR _LanceBeforeBattleText + db "@" + +LanceEndBattleText: ; 5a3b3 (16:63b3) + TX_FAR _LanceEndBattleText + db "@" + +LanceAfterBattleText: ; 5a3b8 (16:63b8) + TX_FAR _LanceAfterBattleText + db $8 + ld hl, $d866 + set 6, [hl] + jp TextScriptEnd diff --git a/scripts/lavenderhouse1.asm b/scripts/lavenderhouse1.asm new file mode 100755 index 00000000..0f7bf417 --- /dev/null +++ b/scripts/lavenderhouse1.asm @@ -0,0 +1,116 @@ +LavenderHouse1Script: ; 1d8a8 (7:58a8) + call EnableAutoTextBoxDrawing + ret + +LavenderHouse1TextPointers: ; 1d8ac (7:58ac) + dw LavenderHouse1Text1 + dw LavenderHouse1Text2 + dw LavenderHouse1Text3 + dw LavenderHouse1Text4 + dw LavenderHouse1Text5 + dw LavenderHouse1Text6 + +LavenderHouse1Text1: ; 1d8b8 (7:58b8) + db $08 ; asm + ld a, [$d7e0] + bit 7, a + jr nz, .asm_72e5d ; 0x1d8be + ld hl, LavenderHouse1Text_1d8d1 + call PrintText + jr .asm_6957f ; 0x1d8c6 +.asm_72e5d ; 0x1d8c8 + ld hl, LavenderHouse1Text_1d8d6 + call PrintText +.asm_6957f ; 0x1d8ce + jp TextScriptEnd + +LavenderHouse1Text_1d8d1: ; 1d8d1 (7:58d1) + TX_FAR _LavenderHouse1Text_1d8d1 + db "@" + +LavenderHouse1Text_1d8d6: ; 1d8d6 (7:58d6) + TX_FAR _LavenderHouse1Text_1d8d6 + db "@" + +LavenderHouse1Text2: ; 1d8db (7:58db) + db $08 ; asm + ld a, [$d7e0] + bit 7, a + jr nz, .asm_06470 ; 0x1d8e1 + ld hl, LavenderHouse1Text_1d8f4 + call PrintText + jr .asm_3d208 ; 0x1d8e9 +.asm_06470 ; 0x1d8eb + ld hl, LavenderHouse1Text_1d8f9 + call PrintText +.asm_3d208 ; 0x1d8f1 + jp TextScriptEnd + +LavenderHouse1Text_1d8f4: ; 1d8f4 (7:58f4) + TX_FAR _LavenderHouse1Text_1d8f4 + db "@" + +LavenderHouse1Text_1d8f9: ; 1d8f9 (7:58f9) + TX_FAR _LavenderHouse1Text_1d8f9 + db "@" + +LavenderHouse1Text3: ; 1d8fe (7:58fe) + TX_FAR _LavenderHouse1Text3 + db $8 + ld a, PSYDUCK + call PlayCry + jp TextScriptEnd + +LavenderHouse1Text4: ; 1d90b (7:590b) + TX_FAR _LavenderHouse1Text4 + db $8 + ld a, NIDORINO + call PlayCry + jp TextScriptEnd + +LavenderHouse1Text5: ; 1d918 (7:5918) + db $08 ; asm + ld a, [$d76c] + bit 0, a + jr nz, .asm_15ac2 ; 0x1d91e + ld hl, LavenderHouse1Text_1d94c + call PrintText + ld bc, (POKE_FLUTE << 8) | 1 + call GiveItem + jr nc, .BagFull + ld hl, ReceivedFluteText + call PrintText + ld hl, $d76c + set 0, [hl] + jr .asm_da749 ; 0x1d939 +.BagFull + ld hl, FluteNoRoomText + call PrintText + jr .asm_da749 ; 0x1d941 +.asm_15ac2 ; 0x1d943 + ld hl, MrFujiAfterFluteText + call PrintText +.asm_da749 ; 0x1d949 + jp TextScriptEnd + +LavenderHouse1Text_1d94c: ; 1d94c (7:594c) + TX_FAR _LavenderHouse1Text_1d94c + db "@" + +ReceivedFluteText: ; 1d951 (7:5951) + TX_FAR _ReceivedFluteText + db $11 + TX_FAR _FluteExplanationText + db "@" + +FluteNoRoomText: ; 1d95b (7:595b) + TX_FAR _FluteNoRoomText + db "@" + +MrFujiAfterFluteText: ; 1d960 (7:5960) + TX_FAR _MrFujiAfterFluteText + db "@" + +LavenderHouse1Text6: ; 1d965 (7:5965) + TX_FAR _LavenderHouse1Text6 + db "@" diff --git a/scripts/lavenderhouse2.asm b/scripts/lavenderhouse2.asm new file mode 100755 index 00000000..db4f0cab --- /dev/null +++ b/scripts/lavenderhouse2.asm @@ -0,0 +1,36 @@ +LavenderHouse2Script: ; 1d9ae (7:59ae) + call EnableAutoTextBoxDrawing + ret + +LavenderHouse2TextPointers: ; 1d9b2 (7:59b2) + dw LavenderHouse2Text1 + dw LavenderHouse2Text2 + +LavenderHouse2Text1: ; 1d9b6 (7:59b6) + TX_FAR _LavenderHouse2Text1 + db $8 + ld a, CUBONE + call PlayCry + jp TextScriptEnd + +LavenderHouse2Text2: ; 1d9c3 (7:59c3) + db $08 ; asm + ld a, [$d7e0] + bit 7, a + jr nz, .asm_65711 ; 0x1d9c9 + ld hl, LavenderHouse2Text_1d9dc + call PrintText + jr .asm_64be1 ; 0x1d9d1 +.asm_65711 ; 0x1d9d3 + ld hl, LavenderHouse2Text_1d9e1 + call PrintText +.asm_64be1 ; 0x1d9d9 + jp TextScriptEnd + +LavenderHouse2Text_1d9dc: ; 1d9dc (7:59dc) + TX_FAR _LavenderHouse2Text_1d9dc + db "@" + +LavenderHouse2Text_1d9e1: ; 1d9e1 (7:59e1) + TX_FAR _LavenderHouse2Text_1d9e1 + db "@" diff --git a/scripts/lavendermart.asm b/scripts/lavendermart.asm new file mode 100755 index 00000000..78870a66 --- /dev/null +++ b/scripts/lavendermart.asm @@ -0,0 +1,33 @@ +LavenderMartScript: ; 5c92c (17:492c) + jp EnableAutoTextBoxDrawing + +LavenderMartTextPointers: ; 5c92f (17:492f) + dw LavenderMartText1 + dw LavenderMartText2 + dw LavenderMartText3 + +LavenderMartText2: ; 5c935 (17:4935) + TX_FAR _LavenderMartText2 + db "@" + +LavenderMartText3: ; 5c93a (17:493a) + db $08 ; asm + ld a, [$d7e0] + bit 7, a + jr nz, .asm_c88d4 ; 0x5c940 + ld hl, LavenderMart_5c953 + call PrintText + jr .asm_6d225 ; 0x5c948 +.asm_c88d4 ; 0x5c94a + ld hl, LavenderMart_5c958 + call PrintText +.asm_6d225 ; 0x5c950 + jp TextScriptEnd + +LavenderMart_5c953: ; 5c953 (17:4953) + TX_FAR _LavenderMart_5c953 + db "@" + +LavenderMart_5c958: ; 5c958 (17:4958) + TX_FAR _LavenderMart_5c958 + db "@" diff --git a/scripts/lavenderpokecenter.asm b/scripts/lavenderpokecenter.asm new file mode 100755 index 00000000..31a50aef --- /dev/null +++ b/scripts/lavenderpokecenter.asm @@ -0,0 +1,23 @@ +LavenderPokecenterScript: ; 5c8da (17:48da) + call Func_22fa + jp EnableAutoTextBoxDrawing + +LavenderPokecenterTextPointers: ; 5c8e0 (17:48e0) + dw LavenderPokecenterText1 + dw LavenderPokecenterText2 + dw LavenderPokecenterText3 + dw LavenderPokecenterText4 + +LavenderPokecenterText4: ; 5c8e8 (17:48e8) + db $f6 + +LavenderPokecenterText1: ; 5c8e9 (17:48e9) + db $ff + +LavenderPokecenterText2: ; 5c8ea (17:48ea) + TX_FAR _LavenderPokecenterText1 + db "@" + +LavenderPokecenterText3: ; 5c8ef (17:48ef) + TX_FAR _LavenderPokecenterText3 + db "@" diff --git a/scripts/lavendertown.asm b/scripts/lavendertown.asm new file mode 100755 index 00000000..41eb0242 --- /dev/null +++ b/scripts/lavendertown.asm @@ -0,0 +1,63 @@ +LavenderTownScript: ; 4410b (11:410b) + jp EnableAutoTextBoxDrawing + +LavenderTownTextPointers: ; 4410e (11:410e) + dw LavenderTownText1 + dw LavenderTownText2 + dw LavenderTownText3 + dw LavenderTownText4 + dw LavenderTownText5 + dw MartSignText + dw PokeCenterSignText + dw LavenderTownText8 + dw LavenderTownText9 + +LavenderTownText1: ; 44120 (11:4120) + db $08 ; asm + ld hl, LavenderTownText_4413c + call PrintText + call YesNoChoice + ld a, [$cc26] + and a + ld hl, LavenderTownText_44146 + jr nz, .asm_40831 ; 0x44131 + ld hl, LavenderTownText_44141 +.asm_40831 ; 0x44136 + call PrintText + jp TextScriptEnd + +LavenderTownText_4413c: ; 4413c (11:413c) + TX_FAR _LavenderTownText_4413c + db "@" + +LavenderTownText_44141: ; 44141 (11:4141) + TX_FAR _LavenderTownText_44141 + db "@" + +LavenderTownText_44146: ; 44146 (11:4146) + TX_FAR _LavenderTownText_44146 + db "@" + +LavenderTownText2: ; 4414b (11:414b) + TX_FAR _LavenderTownText2 + db "@" + +LavenderTownText3: ; 44150 (11:4150) + TX_FAR _LavenderTownText3 + db "@" + +LavenderTownText4: ; 44155 (11:4155) + TX_FAR _LavenderTownText4 + db "@" + +LavenderTownText5: ; 4415a (11:415a) + TX_FAR _LavenderTownText5 + db "@" + +LavenderTownText8: ; 4415f (11:415f) + TX_FAR _LavenderTownText8 + db "@" + +LavenderTownText9: ; 44164 (11:4164) + TX_FAR _LavenderTownText9 + db "@" diff --git a/scripts/lorelei.asm b/scripts/lorelei.asm new file mode 100755 index 00000000..eb2da2bd --- /dev/null +++ b/scripts/lorelei.asm @@ -0,0 +1,153 @@ +LoreleiScript: ; 7617b (1d:617b) + call LoreleiScript_76191 + call EnableAutoTextBoxDrawing + ld hl, LoreleiTrainerHeaders + ld de, LoreleiScriptPointers + ld a, [W_LORELEICURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_LORELEICURSCRIPT], a + ret + +LoreleiScript_76191: ; 76191 (1d:6191) + ld hl, $d126 + bit 5, [hl] + res 5, [hl] + ret z + ld hl, $d734 + set 1, [hl] + ld a, [$d863] + bit 1, a + jr z, .asm_761a9 + ld a, $5 + jr .asm_761ab +.asm_761a9 + ld a, $24 +.asm_761ab + ld [$d09f], a + ld bc, $2 + ld a, $17 + jp Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e)) + +LoreleiScript_761b6: ; 761b6 (1d:61b6) + xor a + ld [W_LORELEICURSCRIPT], a + ret + +LoreleiScriptPointers: ; 761bb (1d:61bb) + dw LoreleiScript0 + dw Func_324c + dw LoreleiScript2 + dw LoreleiScript3 + dw LoreleiScript4 + +LoreleiScript4: ; 761c5 (1d:61c5) + ret +asm_761c6: ; 761c6 (1d:61c6) + ld hl, $ccd3 + ld a, $40 + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hl], a + ld a, $6 + ld [$cd38], a + call Func_3486 + ld a, $3 + ld [W_LORELEICURSCRIPT], a + ld [W_CURMAPSCRIPT], a + ret +LoreleiScript0: ; 761e2 (1d:61e2) + ld hl, CoordsData_76223 + call ArePlayerCoordsInArray + jp nc, CheckFightingMapTrainers + xor a + ld [H_NEWLYPRESSEDBUTTONS], a + ld [H_CURRENTPRESSEDBUTTONS], a + ld [$ccd3], a + ld [$cd38], a + ld a, [wWhichTrade] ; $cd3d + cp $3 + jr c, .asm_76206 + ld hl, $d863 + bit 6, [hl] + set 6, [hl] + jr z, asm_761c6 +.asm_76206 + ld a, $2 + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + call DisplayTextID + ld a, $40 + ld [$ccd3], a + ld a, $1 + ld [$cd38], a + call Func_3486 + ld a, $3 + ld [W_LORELEICURSCRIPT], a + ld [W_CURMAPSCRIPT], a + ret + +CoordsData_76223: ; 76223 (1d:6223) + db $0A,$04 + db $0A,$05 + db $0B,$04 + db $0B,$05 + db $FF + +LoreleiScript3: ; 7622c (1d:622c) + ld a, [$cd38] + and a + ret nz + call Delay3 + xor a + ld [wJoypadForbiddenButtonsMask], a + ld [W_LORELEICURSCRIPT], a + ld [W_CURMAPSCRIPT], a + ret +LoreleiScript2: ; 7623f (1d:623f) + call EndTrainerBattle + ld a, [W_ISINBATTLE] ; $d057 + cp $ff + jp z, LoreleiScript_761b6 + ld a, $1 + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + jp DisplayTextID + +LoreleiTextPointers: ; 76251 (1d:6251) + dw LoreleiText1 + dw LoreleiText2 + +LoreleiTrainerHeaders: ; 76255 (1d:6255) +LoreleiTrainerHeader0: ; 76255 (1d:6255) + db $1 ; flag's bit + db ($0 << 4) ; trainer's view range + dw $d863 ; flag's byte + dw LoreleiBeforeBattleText ; 0x626c TextBeforeBattle + dw LoreleiAfterBattleText ; 0x6276 TextAfterBattle + dw LoreleiEndBattleText ; 0x6271 TextEndBattle + dw LoreleiEndBattleText ; 0x6271 TextEndBattle + + db $ff + +LoreleiText1: ; 76262 (1d:6262) + db $08 ; asm + ld hl, LoreleiTrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +LoreleiBeforeBattleText: ; 7626c (1d:626c) + TX_FAR _LoreleiBeforeBattleText + db "@" + +LoreleiEndBattleText: ; 76271 (1d:6271) + TX_FAR _LoreleiEndBattleText + db "@" + +LoreleiAfterBattleText: ; 76276 (1d:6276) + TX_FAR _LoreleiAfterBattleText + db "@" + +LoreleiText2: ; 7627b (1d:627b) + TX_FAR _LoreleiText2 + db "@" diff --git a/scripts/mansion1.asm b/scripts/mansion1.asm new file mode 100755 index 00000000..d68e2183 --- /dev/null +++ b/scripts/mansion1.asm @@ -0,0 +1,139 @@ +Mansion1Script: ; 442af (11:42af) + call Mansion1Subscript1 + call EnableAutoTextBoxDrawing + ld hl, Mansion1TrainerHeaders + ld de, Mansion1ScriptPointers + ld a, [W_MANSION1CURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_MANSION1CURSCRIPT], a + ret + +Mansion1Subscript1: ; 442c5 (11:42c5) + ld hl, $d126 + bit 5, [hl] + res 5, [hl] + ret z + ld a, [$d796] + bit 0, a + jr nz, .asm_442ec ; 0x442d2 $18 + ld bc, $060c + call Mansion1Script_4430b + ld bc, $0308 + call Mansion1Script_44304 + ld bc, $080a + call Mansion1Script_44304 + ld bc, $0d0d + jp Mansion1Script_44304 +.asm_442ec + ld bc, $060c + call Mansion1Script_44304 + ld bc, $0308 + call Mansion1Script_4430b + ld bc, $080a + call Mansion1Script_4430b + ld bc, $0d0d + jp Mansion1Script_4430b + +Mansion1Script_44304: ; 44304 (11:4304) + ld a, $2d + ld [$d09f], a + jr asm_44310 + +Mansion1Script_4430b: ; 4430b (11:430b) + ld a, $e + ld [$d09f], a +asm_44310: ; 44310 (11:4310) + ld a, $17 + call Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e)) + ret + +Func_44316: ; 44316 (11:4316) + ld a, [$c109] + cp $4 + ret nz + xor a + ld [H_CURRENTPRESSEDBUTTONS], a + ld a, $4 + ld [H_SPRITEHEIGHT], a + jp DisplayTextID + +Mansion1ScriptPointers: ; 44326 (11:4326) + dw CheckFightingMapTrainers + dw Func_324c + dw EndTrainerBattle + +Mansion1TextPointers: ; 4432c (11:432c) + dw Mansion1Text1 + dw Predef5CText + dw Predef5CText + dw Mansion1Text4 + +Mansion1TrainerHeaders: ; 44334 (11:4334) +Mansion1TrainerHeader0: ; 44334 (11:4334) + db $1 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d798 ; flag's byte + dw Mansion1BattleText2 ; 0x434b TextBeforeBattle + dw Mansion1AfterBattleText2 ; 0x4355 TextAfterBattle + dw Mansion1EndBattleText2 ; 0x4350 TextEndBattle + dw Mansion1EndBattleText2 ; 0x4350 TextEndBattle + + db $ff + +Mansion1Text1: ; 44341 (11:4341) + db $08 ; asm + ld hl, Mansion1TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +Mansion1BattleText2: ; 4434b (11:434b) + TX_FAR _Mansion1BattleText2 + db "@" + +Mansion1EndBattleText2: ; 44350 (11:4350) + TX_FAR _Mansion1EndBattleText2 + db "@" + +Mansion1AfterBattleText2: ; 44355 (11:4355) + TX_FAR _Mansion1AfterBattleText2 + db "@" + +Mansion1Text4: ; 4435a (11:435a) + db $8 + ld hl, MansionSwitchText + call PrintText + call YesNoChoice + ld a, [$cc26] + and a + jr nz, .asm_4438c ; 0x44368 $22 + ld a, $1 + ld [$cc3c], a + ld hl, $d126 + set 5, [hl] + ld hl, MansionSwitchPressedText + call PrintText + ld a, (SFX_02_57 - SFX_Headers_02) / 3 + call PlaySound + ld hl, $d796 + bit 0, [hl] + set 0, [hl] + jr z, .asm_44392 ; 0x44386 $a + res 0, [hl] + jr .asm_44392 ; 0x4438a $6 +.asm_4438c + ld hl, MansionSwitchNotPressedText + call PrintText +.asm_44392 + jp TextScriptEnd + +MansionSwitchText: ; 44395 (11:4395) + TX_FAR _MansionSwitchText + db "@" + +MansionSwitchPressedText: ; 4439a (11:439a) + TX_FAR _MansionSwitchPressedText + db "@" + +MansionSwitchNotPressedText: ; 4439f (11:439f) + TX_FAR _MansionSwitchNotPressedText + db "@" diff --git a/scripts/mansion2.asm b/scripts/mansion2.asm new file mode 100755 index 00000000..203a3a66 --- /dev/null +++ b/scripts/mansion2.asm @@ -0,0 +1,145 @@ +Mansion2Script: ; 51fd8 (14:5fd8) + call Mansion2Script_51fee + call EnableAutoTextBoxDrawing + ld hl, Mansion2TrainerHeaders + ld de, Mansion2ScriptPointers + ld a, [W_MANSION2CURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_MANSION2CURSCRIPT], a + ret + +Mansion2Script_51fee: ; 51fee (14:5fee) + ld hl, $d126 + bit 5, [hl] + res 5, [hl] + ret z + ld a, [$d796] + bit 0, a + jr nz, .asm_52016 + ld a, $e + ld bc, $204 + call Mansion2Script_5202f + ld a, $54 + ld bc, $409 + call Mansion2Script_5202f + ld a, $5f + ld bc, $b03 + call Mansion2Script_5202f + ret +.asm_52016 + ld a, $5f + ld bc, $204 + call Mansion2Script_5202f + ld a, $e + ld bc, $409 + call Mansion2Script_5202f + ld a, $e + ld bc, $b03 + call Mansion2Script_5202f + ret + +Mansion2Script_5202f: ; 5202f (14:602f) + ld [$d09f], a + ld a, $17 + jp Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e)) + +Mansion2Script_52037: ; 52037 (14:6037) + ld a, [$c109] + cp $4 + ret nz + xor a + ld [H_CURRENTPRESSEDBUTTONS], a + ld a, $5 + ld [H_SPRITEHEIGHT], a + jp DisplayTextID + +Mansion2ScriptPointers: ; 52047 (14:6047) + dw CheckFightingMapTrainers + dw Func_324c + dw EndTrainerBattle + +Mansion2TextPointers: ; 5204d (14:604d) + dw Mansion2Text1 + dw Predef5CText + dw Mansion2Text3 + dw Mansion2Text4 + dw Mansion2Text5 + +Mansion2TrainerHeaders: ; 52057 (14:6057) +Mansion2TrainerHeader0: ; 52057 (14:6057) + db $1 ; flag's bit + db ($0 << 4) ; trainer's view range + dw $d847 ; flag's byte + dw Mansion2BattleText1 ; 0x606e TextBeforeBattle + dw Mansion2AfterBattleText1 ; 0x6078 TextAfterBattle + dw Mansion2EndBattleText1 ; 0x6073 TextEndBattle + dw Mansion2EndBattleText1 ; 0x6073 TextEndBattle + + db $ff + +Mansion2Text1: ; 52064 (14:6064) + db $08 ; asm + ld hl, Mansion2TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +Mansion2BattleText1: ; 5206e (14:606e) + TX_FAR _Mansion2BattleText1 + db "@" + +Mansion2EndBattleText1: ; 52073 (14:6073) + TX_FAR _Mansion2EndBattleText1 + db "@" + +Mansion2AfterBattleText1: ; 52078 (14:6078) + TX_FAR _Mansion2AfterBattleText1 + db "@" + +Mansion2Text3: ; 5207d (14:607d) + TX_FAR _Mansion2Text3 + db "@" + +Mansion2Text4: ; 52082 (14:6082) + TX_FAR _Mansion2Text4 + db "@" + +Mansion3Text6: ; 52087 (14:6087) +Mansion2Text5: ; 52087 (14:6087) + db $8 + ld hl, Mansion2Text_520c2 + call PrintText + call YesNoChoice + ld a, [$cc26] + and a + jr nz, .asm_520b9 ; 0x52095 $22 + ld a, $1 + ld [$cc3c], a + ld hl, $d126 + set 5, [hl] + ld hl, Mansion2Text_520c7 + call PrintText + ld a, (SFX_02_57 - SFX_Headers_02) / 3 + call PlaySound + ld hl, $d796 + bit 0, [hl] + set 0, [hl] + jr z, .asm_520bf ; 0x520b3 $a + res 0, [hl] + jr .asm_520bf ; 0x520b7 $6 +.asm_520b9 + ld hl, Mansion2Text_520cc + call PrintText +.asm_520bf + jp TextScriptEnd + +Mansion2Text_520c2: ; 520c2 (14:60c2) + TX_FAR _Mansion2Text_520c2 + db "@" + +Mansion2Text_520c7: ; 520c7 (14:60c7) + TX_FAR _Mansion2Text_520c7 + db "@" + +Mansion2Text_520cc: ; 520cc (14:60cc) + TX_FAR _Mansion2Text_520cc + db "@" diff --git a/scripts/mansion3.asm b/scripts/mansion3.asm new file mode 100755 index 00000000..9ad9454a --- /dev/null +++ b/scripts/mansion3.asm @@ -0,0 +1,153 @@ +Mansion3Script: ; 521ee (14:61ee) + call Mansion3Script_52204 + call EnableAutoTextBoxDrawing + ld hl, Mansion3TrainerHeader0 + ld de, Mansion3ScriptPointers + ld a, [W_MANSION3CURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_MANSION3CURSCRIPT], a + ret + +Mansion3Script_52204: ; 52204 (14:6204) + ld hl, $d126 + bit 5, [hl] + res 5, [hl] + ret z + ld a, [$d796] + bit 0, a + jr nz, .asm_52224 + ld a, $e + ld bc, $207 + call Mansion2Script_5202f + ld a, $5f + ld bc, $507 + call Mansion2Script_5202f + ret +.asm_52224 + ld a, $5f + ld bc, $207 + call Mansion2Script_5202f + ld a, $e + ld bc, $507 + call Mansion2Script_5202f + ret + +Mansion3ScriptPointers: ; 52235 (14:6235) + dw Mansion3Script0 + dw Func_324c + dw EndTrainerBattle + +Mansion3Script0: ; 5223b (14:623b) + ld hl, CoordsData_52254 + call Mansion3Script_5225b + ld a, [$d71e] + and a + jp z, CheckFightingMapTrainers + cp $3 + ld a, $a5 + jr nz, .asm_52250 + ld a, $d6 +.asm_52250 + ld [$d71d], a + ret + +CoordsData_52254: ; 52254 (14:6254) + db $0E,$10 + db $0E,$11 + db $0E,$13 + db $FF + +Mansion3Script_5225b: ; 5225b (14:625b) + xor a + ld [$d71e], a + ld a, [$d72d] + bit 4, a + ret nz + call ArePlayerCoordsInArray + ret nc + ld a, [wWhichTrade] ; $cd3d + ld [$d71e], a + ld hl, $d72d + set 4, [hl] + ld hl, $d732 + set 4, [hl] + ret + +Func_5227a: ; 5227a (14:627a) + ld a, [$c109] + cp $4 + ret nz + xor a + ld [H_CURRENTPRESSEDBUTTONS], a + ld a, $6 + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + jp DisplayTextID + +Mansion3TextPointers: ; 5228a (14:628a) + dw Mansion3Text1 + dw Mansion3Text2 + dw Predef5CText + dw Predef5CText + dw Mansion3Text5 + dw Mansion3Text6 + +Mansion3TrainerHeaders: ; 52296 (14:6296) +Mansion3TrainerHeader0: ; 52296 (14:6296) + db $1 ; flag's bit + db ($0 << 4) ; trainer's view range + dw $d849 ; flag's byte + dw Mansion3BattleText1 ; 0x62c3 TextBeforeBattle + dw Mansion3AfterBattleText1 ; 0x62cd TextAfterBattle + dw Mansion3EndBattleText1 ; 0x62c8 TextEndBattle + dw Mansion3EndBattleText1 ; 0x62c8 TextEndBattle + +Mansion3TrainerHeader2: ; 522a2 (14:62a2) + db $2 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d849 ; flag's byte + dw Mansion3BattleText2 ; 0x62d2 TextBeforeBattle + dw Mansion3AfterBattleText2 ; 0x62dc TextAfterBattle + dw Mansion3EndBattleText2 ; 0x62d7 TextEndBattle + dw Mansion3EndBattleText2 ; 0x62d7 TextEndBattle + + db $ff + +Mansion3Text1: ; 522af (14:62af) + db $08 ; asm + ld hl, Mansion3TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +Mansion3Text2: ; 522b9 (14:62b9) + db $08 ; asm + ld hl, Mansion3TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +Mansion3BattleText1: ; 522c3 (14:62c3) + TX_FAR _Mansion3BattleText1 + db "@" + +Mansion3EndBattleText1: ; 522c8 (14:62c8) + TX_FAR _Mansion3EndBattleText1 + db "@" + +Mansion3AfterBattleText1: ; 522cd (14:62cd) + TX_FAR _Mansion3AfterBattleText1 + db "@" + +Mansion3BattleText2: ; 522d2 (14:62d2) + TX_FAR _Mansion3BattleText2 + db "@" + +Mansion3EndBattleText2: ; 522d7 (14:62d7) + TX_FAR _Mansion3EndBattleText2 + db "@" + +Mansion3AfterBattleText2: ; 522dc (14:62dc) + TX_FAR _Mansion3AfterBattleText2 + db "@" + +Mansion3Text5: ; 522e1 (14:62e1) + TX_FAR _Mansion3Text5 + db "@" diff --git a/scripts/mansion4.asm b/scripts/mansion4.asm new file mode 100755 index 00000000..78082ced --- /dev/null +++ b/scripts/mansion4.asm @@ -0,0 +1,132 @@ +Mansion4Script: ; 523b9 (14:63b9) + call Mansion4Script_523cf + call EnableAutoTextBoxDrawing + ld hl, Mansion4TrainerHeader0 + ld de, Mansion4ScriptPointers + ld a, [W_MANSION4CURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_MANSION4CURSCRIPT], a + ret + +Mansion4Script_523cf: ; 523cf (14:63cf) + ld hl, $d126 + bit 5, [hl] + res 5, [hl] + ret z + ld a, [$d796] + bit 0, a + jr nz, .asm_523ff + ld a, $e + ld bc, $80d + call Mansion2Script_5202f + ld a, $e + ld bc, $b06 + call Mansion2Script_5202f + ld a, $5f + ld bc, $304 + call Mansion2Script_5202f + ld a, $54 + ld bc, $808 + call Mansion2Script_5202f + ret +.asm_523ff + ld a, $2d + ld bc, $80d + call Mansion2Script_5202f + ld a, $5f + ld bc, $b06 + call Mansion2Script_5202f + ld a, $e + ld bc, $304 + call Mansion2Script_5202f + ld a, $e + ld bc, $808 + call Mansion2Script_5202f + ret + +Func_52420: ; 52420 (14:6420) + ld a, [$c109] + cp $4 + ret nz + xor a + ld [H_CURRENTPRESSEDBUTTONS], a + ld a, $9 + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + jp DisplayTextID + +Mansion4ScriptPointers: ; 52430 (14:6430) + dw CheckFightingMapTrainers + dw Func_324c + dw EndTrainerBattle + +Mansion4TextPointers: ; 52436 (14:6436) + dw Mansion4Text1 + dw Mansion4Text2 + dw Predef5CText + dw Predef5CText + dw Predef5CText + dw Predef5CText + dw Mansion4Text7 + dw Predef5CText + dw Mansion3Text6 + +Mansion4TrainerHeaders: ; 52448 (14:6448) +Mansion4TrainerHeader0: ; 52448 (14:6448) + db $1 ; flag's bit + db ($0 << 4) ; trainer's view range + dw $d84b ; flag's byte + dw Mansion4BattleText1 ; 0x6475 TextBeforeBattle + dw Mansion4AfterBattleText1 ; 0x647f TextAfterBattle + dw Mansion4EndBattleText1 ; 0x647a TextEndBattle + dw Mansion4EndBattleText1 ; 0x647a TextEndBattle + +Mansion4TrainerHeader2: ; 52454 (14:6454) + db $2 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d84b ; flag's byte + dw Mansion4BattleText2 ; 0x6484 TextBeforeBattle + dw Mansion4AfterBattleText2 ; 0x648e TextAfterBattle + dw Mansion4EndBattleText2 ; 0x6489 TextEndBattle + dw Mansion4EndBattleText2 ; 0x6489 TextEndBattle + + db $ff + +Mansion4Text1: ; 52461 (14:6461) + db $08 ; asm + ld hl, Mansion4TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +Mansion4Text2: ; 5246b (14:646b) + db $08 ; asm + ld hl, Mansion4TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +Mansion4BattleText1: ; 52475 (14:6475) + TX_FAR _Mansion4BattleText1 + db "@" + +Mansion4EndBattleText1: ; 5247a (14:647a) + TX_FAR _Mansion4EndBattleText1 + db "@" + +Mansion4AfterBattleText1: ; 5247f (14:647f) + TX_FAR _Mansion4AfterBattleText1 + db "@" + +Mansion4BattleText2: ; 52484 (14:6484) + TX_FAR _Mansion4BattleText2 + db "@" + +Mansion4EndBattleText2: ; 52489 (14:6489) + TX_FAR _Mansion4EndBattleText2 + db "@" + +Mansion4AfterBattleText2: ; 5248e (14:648e) + TX_FAR _Mansion4AfterBattleText2 + db "@" + +Mansion4Text7: ; 52493 (14:6493) + TX_FAR _Mansion4Text7 + db "@" diff --git a/scripts/mtmoon1.asm b/scripts/mtmoon1.asm new file mode 100755 index 00000000..1954391c --- /dev/null +++ b/scripts/mtmoon1.asm @@ -0,0 +1,225 @@ +MtMoon1Script: ; 499c8 (12:59c8) + call EnableAutoTextBoxDrawing + ld hl, MtMoon1TrainerHeader0 + ld de, MtMoon1ScriptPointers + ld a, [W_MTMOON1CURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_MTMOON1CURSCRIPT], a + ret + +MtMoon1ScriptPointers: ; 499db (12:59db) + dw CheckFightingMapTrainers + dw Func_324c + dw EndTrainerBattle + +MtMoon1TextPointers: ; 499e1 (12:59e1) + dw MtMoon1Text1 + dw MtMoon1Text2 + dw MtMoon1Text3 + dw MtMoon1Text4 + dw MtMoon1Text5 + dw MtMoon1Text6 + dw MtMoon1Text7 + dw Predef5CText + dw Predef5CText + dw Predef5CText + dw Predef5CText + dw Predef5CText + dw Predef5CText + dw MtMoon1Text14 + +MtMoon1TrainerHeaders: ; 499fd (12:59fd) +MtMoon1TrainerHeader0: ; 499fd (12:59fd) + db $1 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7f5 ; flag's byte + dw MtMoon1BattleText2 ; 0x5a98 TextBeforeBattle + dw MtMoon1AfterBattleText2 ; 0x5aa2 TextAfterBattle + dw MtMoon1EndBattleText2 ; 0x5a9d TextEndBattle + dw MtMoon1EndBattleText2 ; 0x5a9d TextEndBattle + +MtMoon1TrainerHeader2: ; 49a09 (12:5a09) + db $2 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7f5 ; flag's byte + dw MtMoon1BattleText3 ; 0x5aa7 TextBeforeBattle + dw MtMoon1AfterBattleText3 ; 0x5ab1 TextAfterBattle + dw MtMoon1EndBattleText3 ; 0x5aac TextEndBattle + dw MtMoon1EndBattleText3 ; 0x5aac TextEndBattle + +MtMoon1TrainerHeader3: ; 49a15 (12:5a15) + db $3 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7f5 ; flag's byte + dw MtMoon1BattleText4 ; 0x5ab6 TextBeforeBattle + dw MtMoon1AfterBattleText4 ; 0x5ac0 TextAfterBattle + dw MtMoon1EndBattleText4 ; 0x5abb TextEndBattle + dw MtMoon1EndBattleText4 ; 0x5abb TextEndBattle + +MtMoon1TrainerHeader4: ; 49a21 (12:5a21) + db $4 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7f5 ; flag's byte + dw MtMoon1BattleText5 ; 0x5ac5 TextBeforeBattle + dw MtMoon1AfterBattleText5 ; 0x5acf TextAfterBattle + dw MtMoon1EndBattleText5 ; 0x5aca TextEndBattle + dw MtMoon1EndBattleText5 ; 0x5aca TextEndBattle + +MtMoon1TrainerHeader5: ; 49a2d (12:5a2d) + db $5 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7f5 ; flag's byte + dw MtMoon1BattleText6 ; 0x5ad4 TextBeforeBattle + dw MtMoon1AfterBattleText6 ; 0x5ade TextAfterBattle + dw MtMoon1EndBattleText6 ; 0x5ad9 TextEndBattle + dw MtMoon1EndBattleText6 ; 0x5ad9 TextEndBattle + +MtMoon1TrainerHeader6: ; 49a39 (12:5a39) + db $6 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7f5 ; flag's byte + dw MtMoon1BattleText7 ; 0x5ae3 TextBeforeBattle + dw MtMoon1AfterBattleText7 ; 0x5aed TextAfterBattle + dw MtMoon1EndBattleText7 ; 0x5ae8 TextEndBattle + dw MtMoon1EndBattleText7 ; 0x5ae8 TextEndBattle + +MtMoon1TrainerHeader7: ; 49a45 (12:5a45) + db $7 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7f5 ; flag's byte + dw MtMoon1BattleText8 ; 0x5af2 TextBeforeBattle + dw MtMoon1AfterBattleText8 ; 0x5afc TextAfterBattle + dw MtMoon1EndBattleText8 ; 0x5af7 TextEndBattle + dw MtMoon1EndBattleText8 ; 0x5af7 TextEndBattle + + db $ff + +MtMoon1Text1: ; 49a52 (12:5a52) + db $08 ; asm + ld hl, MtMoon1TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +MtMoon1Text2: ; 49a5c (12:5a5c) + db $08 ; asm + ld hl, MtMoon1TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +MtMoon1Text3: ; 49a66 (12:5a66) + db $08 ; asm + ld hl, MtMoon1TrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +MtMoon1Text4: ; 49a70 (12:5a70) + db $08 ; asm + ld hl, MtMoon1TrainerHeader4 + call TalkToTrainer + jp TextScriptEnd + +MtMoon1Text5: ; 49a7a (12:5a7a) + db $08 ; asm + ld hl, MtMoon1TrainerHeader5 + call TalkToTrainer + jp TextScriptEnd + +MtMoon1Text6: ; 49a84 (12:5a84) + db $08 ; asm + ld hl, MtMoon1TrainerHeader6 + call TalkToTrainer + jp TextScriptEnd + +MtMoon1Text7: ; 49a8e (12:5a8e) + db $08 ; asm + ld hl, MtMoon1TrainerHeader7 + call TalkToTrainer + jp TextScriptEnd + +MtMoon1BattleText2: ; 49a98 (12:5a98) + TX_FAR _MtMoon1BattleText2 + db "@" + +MtMoon1EndBattleText2: ; 49a9d (12:5a9d) + TX_FAR _MtMoon1EndBattleText2 + db "@" + +MtMoon1AfterBattleText2: ; 49aa2 (12:5aa2) + TX_FAR _MtMoon1AfterBattleText2 + db "@" + +MtMoon1BattleText3: ; 49aa7 (12:5aa7) + TX_FAR _MtMoon1BattleText3 + db "@" + +MtMoon1EndBattleText3: ; 49aac (12:5aac) + TX_FAR _MtMoon1EndBattleText3 + db "@" + +MtMoon1AfterBattleText3: ; 49ab1 (12:5ab1) + TX_FAR _MtMoon1AfterBattleText3 + db "@" + +MtMoon1BattleText4: ; 49ab6 (12:5ab6) + TX_FAR _MtMoon1BattleText4 + db "@" + +MtMoon1EndBattleText4: ; 49abb (12:5abb) + TX_FAR _MtMoon1EndBattleText4 + db "@" + +MtMoon1AfterBattleText4: ; 49ac0 (12:5ac0) + TX_FAR _MtMoon1AfterBattleText4 + db "@" + +MtMoon1BattleText5: ; 49ac5 (12:5ac5) + TX_FAR _MtMoon1BattleText5 + db "@" + +MtMoon1EndBattleText5: ; 49aca (12:5aca) + TX_FAR _MtMoon1EndBattleText5 + db "@" + +MtMoon1AfterBattleText5: ; 49acf (12:5acf) + TX_FAR _MtMoon1AfterBattleText5 + db "@" + +MtMoon1BattleText6: ; 49ad4 (12:5ad4) + TX_FAR _MtMoon1BattleText6 + db "@" + +MtMoon1EndBattleText6: ; 49ad9 (12:5ad9) + TX_FAR _MtMoon1EndBattleText6 + db "@" + +MtMoon1AfterBattleText6: ; 49ade (12:5ade) + TX_FAR _MtMoon1AfterBattleText6 + db "@" + +MtMoon1BattleText7: ; 49ae3 (12:5ae3) + TX_FAR _MtMoon1BattleText7 + db "@" + +MtMoon1EndBattleText7: ; 49ae8 (12:5ae8) + TX_FAR _MtMoon1EndBattleText7 + db "@" + +MtMoon1AfterBattleText7: ; 49aed (12:5aed) + TX_FAR _MtMoon1AfterBattleText7 + db "@" + +MtMoon1BattleText8: ; 49af2 (12:5af2) + TX_FAR _MtMoon1BattleText8 + db "@" + +MtMoon1EndBattleText8: ; 49af7 (12:5af7) + TX_FAR _MtMoon1EndBattleText8 + db "@" + +MtMoon1AfterBattleText8: ; 49afc (12:5afc) + TX_FAR _MtMoon1AfterBattleText8 + db "@" + +MtMoon1Text14: ; 49b01 (12:5b01) + TX_FAR _MtMoon1Text14 + db "@" diff --git a/scripts/mtmoon2.asm b/scripts/mtmoon2.asm new file mode 100755 index 00000000..03e9d9cb --- /dev/null +++ b/scripts/mtmoon2.asm @@ -0,0 +1,10 @@ +MtMoon2Script: ; 51a42 (14:5a42) + call EnableAutoTextBoxDrawing + ret + +MtMoon2TextPointers: ; 51a46 (14:5a46) + dw MtMoonText1 + +MtMoonText1: ; 51a48 (14:5a48) + TX_FAR _MtMoonText1 + db "@" diff --git a/scripts/mtmoon3.asm b/scripts/mtmoon3.asm new file mode 100755 index 00000000..669d6fe4 --- /dev/null +++ b/scripts/mtmoon3.asm @@ -0,0 +1,414 @@ +MtMoon3Script: ; 49d0b (12:5d0b) + call EnableAutoTextBoxDrawing + ld hl, MtMoon3TrainerHeader0 ; $5e48 + ld de, MtMoon3ScriptPointers + ld a, [W_MTMOON3CURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_MTMOON3CURSCRIPT], a + ld a, [$d7f6] + bit 1, a + ret z + ld hl, CoordsData_49d37 + call ArePlayerCoordsInArray + jr nc, .asm_49d31 ; 0x49d29 $6 + ld hl, $d72e + set 4, [hl] + ret +.asm_49d31 + ld hl, $d72e + res 4, [hl] + ret + +CoordsData_49d37: ; 49d37 (12:5d37) + db $05,$0B + db $05,$0C + db $05,$0D + db $05,$0E + db $06,$0B + db $06,$0C + db $06,$0D + db $06,$0E + db $07,$0B + db $07,$0C + db $07,$0D + db $07,$0E + db $08,$0B + db $08,$0C + db $08,$0D + db $08,$0E + db $FF + +MtMoon3Script_49d58: ; 49d58 (12:5d58) + xor a + ld [wJoypadForbiddenButtonsMask], a + ld [W_MTMOON3CURSCRIPT], a + ld [W_CURMAPSCRIPT], a + ret + +MtMoon3ScriptPointers: ; 49d63 (12:5d63) + dw MtMoon3Script0 + dw Func_324c + dw EndTrainerBattle + dw MtMoon3Script3 + dw MtMoon3Script4 + dw MtMoon3Script5 + +MtMoon3Script0: ; 49d6f (12:5d6f) + ld a, [$d7f6] + bit 1, a + jp nz, MtMoon3Script_49d91 + ld a, [W_YCOORD] ; $d361 + cp $8 + jp nz, MtMoon3Script_49d91 + ld a, [W_XCOORD] ; $d362 + cp $d + jp nz, MtMoon3Script_49d91 + xor a + ld [H_CURRENTPRESSEDBUTTONS], a + ld a, $1 + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + jp DisplayTextID + +MtMoon3Script_49d91: ; 49d91 (12:5d91) + ld a, [$d7f6] + and $c0 + jp z, CheckFightingMapTrainers + ret + +MtMoon3Script3: ; 49d9a (12:5d9a) + ld a, [W_ISINBATTLE] ; $d057 + cp $ff + jp z, MtMoon3Script_49d58 + call UpdateSprites + call Delay3 + ld hl, $d7f6 + set 1, [hl] + xor a + ld [wJoypadForbiddenButtonsMask], a + ld a, $0 + ld [W_MTMOON3CURSCRIPT], a + ld [W_CURMAPSCRIPT], a + ret + +MtMoon3Script4: ; 49dba (12:5dba) + ld a, $1 + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + call SetSpriteMovementBytesToFF + ld hl, CoordsData_49dea + call ArePlayerCoordsInArray + jr c, .asm_49dd7 + ld hl, CoordsData_49df1 + call ArePlayerCoordsInArray + jp nc, CheckFightingMapTrainers + ld de, MovementData_49df9 + jr .asm_49dda +.asm_49dd7 + ld de, MovementData_49df8 +.asm_49dda + ld a, $1 + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + call MoveSprite + ld a, $5 + ld [W_MTMOON3CURSCRIPT], a + ld [W_CURMAPSCRIPT], a + ret + +CoordsData_49dea: ; 49dea (12:5dea) + db $07,$0C + db $06,$0B + db $05,$0C + db $FF + +CoordsData_49df1: ; 49df1 (12:5df1) + db $07,$0D + db $06,$0E + db $05,$0E + db $FF + +MovementData_49df8: ; 49df8 (12:5df8) + db $C0 + +MovementData_49df9: ; 49df9 (12:5df9) + db $40,$FF + +MtMoon3Script5: ; 49dfb (12:5dfb) + ld a, [$d730] + bit 0, a + ret nz + ld a, $f0 + ld [wJoypadForbiddenButtonsMask], a + ld a, $1 + ld [$cc3c], a + ld a, $a + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + call DisplayTextID + ld a, [$d7f6] + bit 6, a + jr z, .asm_49e1d + ld a, $6e + jr .asm_49e1f +.asm_49e1d + ld a, $6d +.asm_49e1f + ld [$cc4d], a + ld a, $11 + call Predef ; indirect jump to RemoveMissableObject (f1d7 (3:71d7)) + xor a + ld [wJoypadForbiddenButtonsMask], a + ld a, $0 + ld [W_MTMOON3CURSCRIPT], a + ld [W_CURMAPSCRIPT], a + ret + +MtMoon3TextPointers: ; 49e34 (12:5e34) + dw MtMoon3Text1 + dw MtMoon3Text2 + dw MtMoon3Text3 + dw MtMoon3Text4 + dw MtMoon3Text5 + dw MtMoon3Text6 + dw MtMoon3Text7 + dw Predef5CText + dw Predef5CText + dw MtMoon3Text_49f99 + +MtMoon3TrainerHeaders: ; 49e48 (12:5e48) +MtMoon3TrainerHeader0: ; 49e48 (12:5e48) + db $2 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7f6 ; flag's byte + dw MtMoon3BattleText2 ; 0x5f9f TextBeforeBattle + dw MtMoon3AfterBattleText2 ; 0x5fa9 TextAfterBattle + dw MtMoon3EndBattleText2 ; 0x5fa4 TextEndBattle + dw MtMoon3EndBattleText2 ; 0x5fa4 TextEndBattle + +MtMoon3TrainerHeader2: ; 49e54 (12:5e54) + db $3 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7f6 ; flag's byte + dw MtMoon3BattleText3 ; 0x5fae TextBeforeBattle + dw MtMoon3AfterBattleText3 ; 0x5fb8 TextAfterBattle + dw MtMoon3EndBattleText3 ; 0x5fb3 TextEndBattle + dw MtMoon3EndBattleText3 ; 0x5fb3 TextEndBattle + +MtMoon3TrainerHeader3: ; 49e60 (12:5e60) + db $4 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7f6 ; flag's byte + dw MtMoon3BattleText4 ; 0x5fbd TextBeforeBattle + dw MtMoon3AfterBattleText4 ; 0x5fc7 TextAfterBattle + dw MtMoon3EndBattleText4 ; 0x5fc2 TextEndBattle + dw MtMoon3EndBattleText4 ; 0x5fc2 TextEndBattle + +MtMoon3TrainerHeader4: ; 49e6c (12:5e6c) + db $5 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7f6 ; flag's byte + dw MtMoon3BattleText5 ; 0x5fcc TextBeforeBattle + dw MtMoon3AfterBattleText5 ; 0x5fd6 TextAfterBattle + dw MtMoon3EndBattleText5 ; 0x5fd1 TextEndBattle + dw MtMoon3EndBattleText5 ; 0x5fd1 TextEndBattle + + db $ff + +MtMoon3Text1: ; 49e79 (12:5e79) + db $08 ; asm + ld a, [$d7f6] + bit 1, a + jr z, .asm_be1e0 ; 0x49e7f + and $c0 + jr nz, .asm_f8cd4 ; 0x49e83 + ld hl, MtMoon3Text_49f8f + call PrintText + jr .asm_f1fba ; 0x49e8b +.asm_be1e0 ; 0x49e8d + ld hl, MtMoon3Text_49f85 + call PrintText + ld hl, $d72d + set 6, [hl] + set 7, [hl] + ld hl, MtMoon3Text_49f8a + ld de, MtMoon3Text_49f8a + call PreBattleSaveRegisters + ldh a, [$8c] + ld [$cf13], a + call EngageMapTrainer + call InitBattleEnemyParameters + ld a, $3 + ld [W_MTMOON3CURSCRIPT], a + ld [W_CURMAPSCRIPT], a + jr .asm_f1fba ; 0x49eb6 +.asm_f8cd4 ; 0x49eb8 + ld hl, MtMoon3Text_49f94 + call PrintText +.asm_f1fba ; 0x49ebe + jp TextScriptEnd + +MtMoon3Text2: ; 49ec1 (12:5ec1) + db $08 ; asm + ld hl, MtMoon3TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +MtMoon3Text3: ; 49ecb (12:5ecb) + db $08 ; asm + ld hl, MtMoon3TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +MtMoon3Text4: ; 49ed5 (12:5ed5) + db $08 ; asm + ld hl, MtMoon3TrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +MtMoon3Text5: ; 49edf (12:5edf) + db $08 ; asm + ld hl, MtMoon3TrainerHeader4 ; $5e6c + call TalkToTrainer + jp TextScriptEnd + +MtMoon3Text6: ; 49ee9 (12:5ee9) + db $08 ; asm + ld a, $1 + ld [$cc3c], a + ld hl, MtMoon3Text_49f24 + call PrintText + call YesNoChoice + ld a, [$cc26] + and a + jr nz, .asm_1fa5e ; 0x49efc + ld bc,(DOME_FOSSIL << 8) | 1 + call GiveItem + jp nc, MtMoon3Script_49f76 + call MtMoon3Script_49f69 + ld a, $6d + ld [$cc4d], a + ld a, $11 + call Predef + ld hl, $d7f6 + set 6, [hl] + ld a, $4 + ld [W_MTMOON3CURSCRIPT], a + ld [W_CURMAPSCRIPT], a +.asm_1fa5e ; 0x49f21 + jp TextScriptEnd + +MtMoon3Text_49f24: ; 49f24 (12:5f24) + TX_FAR _MtMoon3Text_49f24 + db "@" + +MtMoon3Text7: ; 49f29 (12:5f29) + db $08 ; asm + ld a, $1 + ld [$cc3c], a + ld hl, MtMoon3Text_49f64 + call PrintText + call YesNoChoice + ld a, [$cc26] + and a + jr nz, .asm_8e988 ; 0x49f3c + ld bc, (HELIX_FOSSIL << 8) | 1 + call GiveItem + jp nc, MtMoon3Script_49f76 + call MtMoon3Script_49f69 + ld a, $6e + ld [$cc4d], a + ld a, $11 + call Predef + ld hl, $d7f6 + set 7, [hl] + ld a, $4 + ld [W_MTMOON3CURSCRIPT], a + ld [W_CURMAPSCRIPT], a +.asm_8e988 ; 0x49f61 + jp TextScriptEnd + +MtMoon3Text_49f64: ; 49f64 (12:5f64) + TX_FAR _MtMoon3Text_49f64 + db "@" + +MtMoon3Script_49f69: ; 49f69 (12:5f69) + ld hl, MtMoon3Text_49f6f + jp PrintText + +MtMoon3Text_49f6f: ; 49f6f (12:5f6f) + TX_FAR _MtMoon3Text_49f6f ; 0x80995 + db $11, $d, "@" + +MtMoon3Script_49f76: ; 49f76 (12:5f76) + ld hl, MtMoon3Text_49f7f + call PrintText + jp TextScriptEnd + +MtMoon3Text_49f7f: ; 49f7f (12:5f7f) + TX_FAR _MtMoon3Text_49f7f ; 0x809a8 + db $d, "@" + +MtMoon3Text_49f85: ; 49f85 (12:5f85) + TX_FAR _MtMoon3Text_49f85 + db "@" + +MtMoon3Text_49f8a: ; 49f8a (12:5f8a) + TX_FAR _MtMoon3Text_49f8a + db "@" + +MtMoon3Text_49f8f: ; 49f8f (12:5f8f) + TX_FAR _MtMoon3Text_49f8f + db "@" + +MtMoon3Text_49f94: ; 49f94 (12:5f94) + TX_FAR _MtMoon3Text_49f94 + db "@" + +MtMoon3Text_49f99: ; 49f99 (12:5f99) + TX_FAR _MtMoon3Text_49f99 + db $11, "@" + +MtMoon3BattleText2: ; 49f9f (12:5f9f) + TX_FAR _MtMoon3BattleText2 + db "@" + +MtMoon3EndBattleText2: ; 49fa4 (12:5fa4) + TX_FAR _MtMoon3EndBattleText2 + db "@" + +MtMoon3AfterBattleText2: ; 49fa9 (12:5fa9) + TX_FAR _MtMoon3AfterBattleText2 + db "@" + +MtMoon3BattleText3: ; 49fae (12:5fae) + TX_FAR _MtMoon3BattleText3 + db "@" + +MtMoon3EndBattleText3: ; 49fb3 (12:5fb3) + TX_FAR _MtMoon3EndBattleText3 + db "@" + +MtMoon3AfterBattleText3: ; 49fb8 (12:5fb8) + TX_FAR _MtMoon3AfterBattleText3 + db "@" + +MtMoon3BattleText4: ; 49fbd (12:5fbd) + TX_FAR _MtMoon3BattleText4 + db "@" + +MtMoon3EndBattleText4: ; 49fc2 (12:5fc2) + TX_FAR _MtMoon3EndBattleText4 + db "@" + +MtMoon3AfterBattleText4: ; 49fc7 (12:5fc7) + TX_FAR _MtMoon3AfterBattleText4 + db "@" + +MtMoon3BattleText5: ; 49fcc (12:5fcc) + TX_FAR _MtMoon3BattleText5 + db "@" + +MtMoon3EndBattleText5: ; 49fd1 (12:5fd1) + TX_FAR _MtMoon3EndBattleText5 + db "@" + +MtMoon3AfterBattleText5: ; 49fd6 (12:5fd6) + TX_FAR _MtMoon3AfterBattleText5 + db "@" diff --git a/scripts/mtmoonpokecenter.asm b/scripts/mtmoonpokecenter.asm new file mode 100755 index 00000000..01272c30 --- /dev/null +++ b/scripts/mtmoonpokecenter.asm @@ -0,0 +1,97 @@ +MtMoonPokecenterScript: ; 492cf (12:52cf) + call Func_22fa + jp EnableAutoTextBoxDrawing + +MtMoonPokecenterTextPointers: ; 492d5 (12:52d5) + dw MtMoonPokecenterText1 + dw MtMoonPokecenterText2 + dw MtMoonPokecenterText3 + dw MtMoonPokecenterText4 + dw MtMoonPokecenterText5 + dw MtMoonPokecenterText6 + +MtMoonPokecenterText1: ; 492e1 (12:52e1) + db $ff + +MtMoonPokecenterText2: ; 492e2 (12:52e2) + TX_FAR _MtMoonPokecenterText1 + db "@" + +MtMoonPokecenterText3: ; 492e7 (12:52e7) + TX_FAR _MtMoonPokecenterText3 + db "@" + +MtMoonPokecenterText4: ; 492ec (12:52ec) + db $08 ; asm + ld a, [$d7c6] + add a + jp c, .asm_49353 + ld hl, MtMoonPokecenterText_4935c + call PrintText + ld a, $13 + ld [$d125], a + call DisplayTextBoxID + call YesNoChoice + ld a, [$cc26] + and a + jp nz, .asm_4934e + ldh [$9f], a + ldh [$a1], a + ld a, $5 + ldh [$a0], a + call HasEnoughMoney + jr nc, .asm_faa09 ; 0x49317 + ld hl, MtMoonPokecenterText_49366 + jr .asm_49356 ; 0x4931c +.asm_faa09 ; 0x4931e + ld bc,(MAGIKARP << 8) | 5 + call GivePokemon + jr nc, .asm_49359 ; 0x49324 + xor a + ld [wWhichTrade], a + ld [$cd3f], a + ld a, $5 + ld [$cd3e], a + ld hl, $cd3f + ld de, $d349 + ld c, $3 + ld a, $c + call Predef + ld a, $13 + ld [$d125], a + call DisplayTextBoxID + ld hl, $d7c6 + set 7, [hl] + jr .asm_49359 ; 0x4934c +.asm_4934e ; 0x4934e + ld hl, MtMoonPokecenterText_49361 + jr .asm_49356 ; 0x49351 +.asm_49353 ; 0x49353 + ld hl, MtMoonPokecenterText_4936b +.asm_49356 ; 0x49356 + call PrintText +.asm_49359 ; 0x49359 + jp TextScriptEnd + +MtMoonPokecenterText_4935c: ; 4935c (12:535c) + TX_FAR _MtMoonPokecenterText_4935c + db "@" + +MtMoonPokecenterText_49361: ; 49361 (12:5361) + TX_FAR _MtMoonPokecenterText_49361 + db "@" + +MtMoonPokecenterText_49366: ; 49366 (12:5366) + TX_FAR _MtMoonPokecenterText_49366 + db "@" + +MtMoonPokecenterText_4936b: ; 4936b (12:536b) + TX_FAR _MtMoonPokecenterText_4936b + db "@" + +MtMoonPokecenterText5: ; 49370 (12:5370) + TX_FAR _MtMoonPokecenterText5 + db "@" + +MtMoonPokecenterText6: ; 49375 (12:5375) + db $f6 diff --git a/scripts/museum1f.asm b/scripts/museum1f.asm new file mode 100755 index 00000000..04261346 --- /dev/null +++ b/scripts/museum1f.asm @@ -0,0 +1,253 @@ +Museum1FScript: ; 5c0f7 (17:40f7) + ld a, $1 + ld [$cf0c], a + xor a + ld [$cc3c], a + ld hl, Museum1FScriptPointers + ld a, [W_MUSEUM1FCURSCRIPT] + jp CallFunctionInTable + +Museum1FScriptPointers: ; 5c109 (17:4109) + dw Museum1FScript0 + dw Museum1FScript1 + +Museum1FScript0: ; 5c10d (17:410d) + ld a, [W_YCOORD] + cp $4 + ret nz + ld a, [W_XCOORD] + cp $9 + jr z, .asm_5c120 ; 0x5c118 $6 + ld a, [W_XCOORD] + cp $a + ret nz +.asm_5c120 + xor a + ld [H_CURRENTPRESSEDBUTTONS], a + ld a, $1 + ld [$ff8c], a + jp DisplayTextID + +Museum1FScript1: ; 5c12a (17:412a) + ret + +Museum1FTextPointers: ; 5c12b (17:412b) + dw Museum1FText1 + dw Museum1FText2 + dw Museum1FText3 + dw Museum1FText4 + dw Museum1FText5 + +Museum1FText1: ; 5c135 (17:4135) + db $8 + ld a, [W_YCOORD] + cp $4 + jr nz, .asm_8774b + ld a, [W_XCOORD] + cp $d + jp z, Museum1FScript_5c1f9 + jr .asm_b8709 +.asm_8774b + cp $3 + jr nz, .asm_d49e7 + ld a, [W_XCOORD] + cp $c + jp z, Museum1FScript_5c1f9 +.asm_d49e7 + ld a, [$d754] + bit 0, a + jr nz, .asm_31a16 + ld hl, Museum1FText_5c23d + call PrintText + jp asm_d1145 +.asm_b8709 + ld a, [$d754] + bit 0, a + jr z, .asm_3ded4 +.asm_31a16 + ld hl, Museum1FText_5c242 + call PrintText + jp asm_d1145 +.asm_3ded4 + ld a, $13 + ld [$d125], a + call DisplayTextBoxID + xor a + ld [H_CURRENTPRESSEDBUTTONS], a + ld hl, Museum1FText_5c21f + call PrintText + call YesNoChoice + ld a, [$cc26] + and a + jr nz, .asm_de133 + xor a + ld [$ff9f], a + ld [$ffa0], a + ld a, $50 + ld [$ffa1], a + call HasEnoughMoney + jr nc, .asm_0f3e3 + ld hl, Museum1FText_5c229 + call PrintText + jp .asm_de133 +.asm_0f3e3 + ld hl, Museum1FText_5c224 + call PrintText + ld hl, $d754 + set 0, [hl] + xor a + ld [$cd3d], a + ld [$cd3e], a + ld a, $50 + ld [$cd3f], a + ld hl, $cd3f + ld de, $d349 + ld c, $3 + ld a, $c + call Predef + ld a, $13 + ld [$d125], a + call DisplayTextBoxID + ld a, (SFX_02_5a - SFX_Headers_02) / 3 + call PlaySoundWaitForCurrent + call WaitForSoundToFinish + jr .asm_0b094 +.asm_de133 + ld hl, Museum1FText_5c21a ; $421a + call PrintText + ld a, $1 + ld [$cd38], a + ld a, $80 + ld [$ccd3], a + call Func_3486 + call UpdateSprites + jr asm_d1145 +.asm_0b094 + ld a, $1 + ld [W_MUSEUM1FCURSCRIPT], a + jr asm_d1145 + +Museum1FScript_5c1f9: ; 5c1f9 (17:41f9) + ld hl, Museum1FText_5c22e + call PrintText + call YesNoChoice + ld a, [$cc26] + cp $0 + jr nz, .asm_d1144 + ld hl, Museum1FText_5c233 + call PrintText + jr asm_d1145 +.asm_d1144 + ld hl, Museum1FText_5c238 + call PrintText +asm_d1145: ; 5c217 (17:4217) + jp TextScriptEnd + +Museum1FText_5c21a: ; 5c21a (17:421a) + TX_FAR _Museum1FText_5c21a + db "@" + +Museum1FText_5c21f: ; 5c21f (17:421f) + TX_FAR _Museum1FText_5c21f + db "@" + +Museum1FText_5c224: ; 5c224 (17:4224) + TX_FAR _Museum1FText_5c224 + db "@" + +Museum1FText_5c229: ; 5c229 (17:4229) + TX_FAR _Museum1FText_5c229 + db "@" + +Museum1FText_5c22e: ; 5c22e (17:422e) + TX_FAR _Museum1FText_5c22e + db "@" + +Museum1FText_5c233: ; 5c233 (17:4233) + TX_FAR _Museum1FText_5c233 + db "@" + +Museum1FText_5c238: ; 5c238 (17:4238) + TX_FAR _Museum1FText_5c238 + db "@" + +Museum1FText_5c23d: ; 5c23d (17:423d) + TX_FAR _Museum1FText_5c23d + db "@" + +Museum1FText_5c242: ; 5c242 (17:4242) + TX_FAR _Museum1FText_5c242 + db "@" + +Museum1FText2: ; 5c247 (17:4247) + db $08 ; asm + ld hl, Museum1FText_5c251 + call PrintText + jp TextScriptEnd + +Museum1FText_5c251: ; 5c251 (17:4251) + TX_FAR _Museum1FText_5c251 + db "@" + +Museum1FText3: ; 5c256 (17:4256) + db $08 ; asm + ld a, [$d754] + bit 1, a + jr nz, .asm_16599 ; 0x5c25c + ld hl, Museum1FText_5c28e + call PrintText + ld bc, (OLD_AMBER << 8) | 1 + call GiveItem + jr nc, .BagFull + ld hl, $d754 + set 1, [hl] + ld a, $34 + ld [$cc4d], a + ld a, $11 + call Predef + ld hl, ReceivedOldAmberText + jr .asm_52e0f ; 0x5c27e +.BagFull + ld hl, Museum1FText_5c29e + jr .asm_52e0f ; 0x5c283 +.asm_16599 ; 0x5c285 + ld hl, Museum1FText_5c299 +.asm_52e0f ; 0x5c288 + call PrintText + jp TextScriptEnd + +Museum1FText_5c28e: ; 5c28e (17:428e) + TX_FAR _Museum1FText_5c28e + db "@" + +ReceivedOldAmberText: ; 5c293 (17:4293) + TX_FAR _ReceivedOldAmberText + db $0B, "@" + +Museum1FText_5c299: ; 5c299 (17:4299) + TX_FAR _Museum1FText_5c299 + db "@" + +Museum1FText_5c29e: ; 5c29e (17:429e) + TX_FAR _Museum1FText_5c29e + db "@" + +Museum1FText4: ; 5c2a3 (17:42a3) + db $08 ; asm + ld hl, Museum1FText_5c2ad + call PrintText + jp TextScriptEnd + +Museum1FText_5c2ad: ; 5c2ad (17:42ad) + TX_FAR _Museum1FText_5c2ad + db "@" + +Museum1FText5: ; 5c2b2 (17:42b2) + db $08 ; asm + ld hl, Museum1FText_5c2bc + call PrintText + jp TextScriptEnd + +Museum1FText_5c2bc: ; 5c2bc (17:42bc) + TX_FAR _Museum1FText_5c2bc + db "@" diff --git a/scripts/museum2f.asm b/scripts/museum2f.asm new file mode 100755 index 00000000..0f8a63ec --- /dev/null +++ b/scripts/museum2f.asm @@ -0,0 +1,39 @@ +Museum2FScript: ; 5c317 (17:4317) + jp EnableAutoTextBoxDrawing + +Museum2FTextPointers: ; 5c31a (17:431a) + dw Museum2FText1 + dw Museum2FText2 + dw Museum2FText3 + dw Museum2FText4 + dw Museum2FText5 + dw Museum2FText6 + dw Museum2FText7 + +Museum2FText1: ; 5c328 (17:4328) + TX_FAR _Museum2FText1 + db "@" + +Museum2FText2: ; 5c32d (17:432d) + TX_FAR _Museum2FText2 + db "@" + +Museum2FText3: ; 5c332 (17:4332) + TX_FAR _Museum2FText3 + db "@" + +Museum2FText4: ; 5c337 (17:4337) + TX_FAR _Museum2FText4 + db "@" + +Museum2FText5: ; 5c33c (17:433c) + TX_FAR _Museum2FText5 + db "@" + +Museum2FText6: ; 5c341 (17:4341) + TX_FAR _Museum2FText6 + db "@" + +Museum2FText7: ; 5c346 (17:4346) + TX_FAR _Museum2FText7 + db "@" diff --git a/scripts/namerater.asm b/scripts/namerater.asm new file mode 100755 index 00000000..73113b9d --- /dev/null +++ b/scripts/namerater.asm @@ -0,0 +1,109 @@ +NameRaterScript: ; 1da12 (7:5a12) + jp EnableAutoTextBoxDrawing + +NameRaterScript_1da15: ; 1da15 (7:5a15) + call PrintText + call YesNoChoice + ld a, [$cc26] + and a + ret + +NameRaterScript_1da20: ; 1da20 (7:5a20) + ld hl, W_PARTYMON1OT + ld bc, $000b + ld a, [wWhichPokemon] + call AddNTimes + ld de, W_PLAYERNAME + ld c, $b + call .asm_1da47 + jr c, .asm_1da52 ; 0x1da34 $1c + ld hl, $d177 + ld bc, $002c + ld a, [wWhichPokemon] + call AddNTimes + ld de, $d359 + ld c, $2 +.asm_1da47 + ld a, [de] + cp [hl] + jr nz, .asm_1da52 ; 0x1da49 $7 + inc hl + inc de + dec c + jr nz, .asm_1da47 ; 0x1da4e $f7 + and a + ret +.asm_1da52 + scf + ret + +NameRaterTextPointers: ; 1da54 (7:5a54) + dw NameRaterText1 + +NameRaterText1: ; 1da56 (7:5a56) + db $8 + call SaveScreenTilesToBuffer2 + ld hl, NameRaterText_1dab3 + call NameRaterScript_1da15 + jr nz, .asm_1daae ; 0x1da60 $4c + ld hl, NameRaterText_1dab8 + call PrintText + xor a + ld [$d07d], a + ld [$cfcb], a + ld [$cc35], a + call DisplayPartyMenu + push af + call GBPalWhiteOutWithDelay3 + call Func_3dbe + call LoadGBPal + pop af + jr c, .asm_1daae ; 0x1da80 $2c + call GetPartyMonName2 + call NameRaterScript_1da20 + ld hl, NameRaterText_1dad1 + jr c, .asm_1daa8 ; 0x1da8b $1b + ld hl, NameRaterText_1dabd + call NameRaterScript_1da15 + jr nz, .asm_1daae ; 0x1da93 $19 + ld hl, NameRaterText_1dac2 + call PrintText + ld b, BANK(Func_655c) + ld hl, Func_655c + call Bankswitch + jr c, .asm_1daae ; 0x1daa3 $9 + ld hl, NameRaterText_1dac7 +.asm_1daa8 + call PrintText + jp TextScriptEnd +.asm_1daae + ld hl, NameRaterText_1dacc + jr .asm_1daa8 ; 0x1dab1 $f5 + +NameRaterText_1dab3: ; 1dab3 (7:5ab3) + TX_FAR _NameRaterText_1dab3 + db "@" + +NameRaterText_1dab8: ; 1dab8 (7:5ab8) + TX_FAR _NameRaterText_1dab8 + db "@" + +NameRaterText_1dabd: ; 1dabd (7:5abd) + TX_FAR _NameRaterText_1dabd + db "@" + +NameRaterText_1dac2: ; 1dac2 (7:5ac2) + TX_FAR _NameRaterText_1dac2 + db "@" + +NameRaterText_1dac7: ; 1dac7 (7:5ac7) + TX_FAR _NameRaterText_1dac7 + db "@" + +NameRaterText_1dacc: ; 1dacc (7:5acc) + TX_FAR _NameRaterText_1dacc + db "@" + +NameRaterText_1dad1: ; 1dad1 (7:5ad1) + TX_FAR _NameRaterText_1dad1 + db "@" diff --git a/scripts/oakslab.asm b/scripts/oakslab.asm new file mode 100755 index 00000000..01b9c62b --- /dev/null +++ b/scripts/oakslab.asm @@ -0,0 +1,1244 @@ +OaksLabScript: ; 1cb0e (7:4b0e) + ld a, [$d74b] + bit 6, a + call nz, OaksLabScript_1d076 + ld a, $1 + ld [$cf0c], a + xor a + ld [$cc3c], a + ld hl, OaksLabScriptPointers + ld a, [W_OAKSLABCURSCRIPT] + jp CallFunctionInTable + +OaksLabScriptPointers: ; 1cb28 (7:4b28) + dw OaksLabScript0 + dw OaksLabScript1 + dw OaksLabScript2 + dw OaksLabScript3 + dw OaksLabScript4 + dw OaksLabScript5 + dw OaksLabScript6 + dw OaksLabScript7 + dw OaksLabScript8 + dw OaksLabScript9 + dw OaksLabScript10 + dw OaksLabScript11 + dw OaksLabScript12 + dw OaksLabScript13 + dw OaksLabScript14 + dw OaksLabScript15 + dw OaksLabScript16 + dw OaksLabScript17 + dw OaksLabScript18 + +OaksLabScript0: ; 1cb4e (7:4b4e) + ld a, [$d74b] + bit 7, a + ret z + ld a, [$cf10] + and a + ret nz + ld a, $31 + ld [$cc4d], a + ld a, $15 + call Predef + ld hl, $d72e + res 4, [hl] + + ld a, $1 + ld [W_OAKSLABCURSCRIPT], a + ret + +OaksLabScript1: ; 1cb6e (7:4b6e) + ld a, $8 + ld [$ff8c], a + ld de, OakEntryMovement + call MoveSprite + + ld a, $2 + ld [W_OAKSLABCURSCRIPT], a + ret + +OakEntryMovement: ; 1cb7e (7:4b7e) + db $40,$40,$40,$FF + +OaksLabScript2: ; 1cb82 (7:4b82) + ld a, [$d730] + bit 0, a + ret nz + ld a, $31 + ld [$cc4d], a + ld a, $11 + call Predef + ld a, $2e + ld [$cc4d], a + ld a, $15 + call Predef + + ld a, $3 + ld [W_OAKSLABCURSCRIPT], a + ret + +OaksLabScript3: ; 1cba2 (7:4ba2) + call Delay3 + ld hl, $ccd3 + ld de, PlayerEntryMovementRLE + call DecodeRLEList + dec a + ld [$cd38], a + call Func_3486 + ld a, $1 + ld [$ff8c], a + xor a + ld [$ff8d], a + call Func_34a6 ; face object + ld a, $5 + ld [$ff8c], a + xor a + ld [$ff8d], a + call Func_34a6 ; face object + + ld a, $4 + ld [W_OAKSLABCURSCRIPT], a + ret + +PlayerEntryMovementRLE: ; 1cbcf (7:4bcf) + db $40, $8, $ff + +OaksLabScript4: ; 1cbd2 (7:4bd2) + ld a, [$cd38] + and a + ret nz + ld hl, $d747 + set 0, [hl] + ld hl, $d74b + set 0, [hl] + ld a, $1 + ld [$ff8c], a + ld a, $4 + ld [$ff8d], a + call Func_34a6 ; face object + call UpdateSprites + ld hl, W_FLAGS_D733 + res 1, [hl] + call Func_2307 + + ld a, $5 + ld [W_OAKSLABCURSCRIPT], a + ret + +OaksLabScript5: ; 1cbfd (7:4bfd) + ld a, $fc + ld [wJoypadForbiddenButtonsMask], a + ld a, $11 + ld [$ff8c], a + call DisplayTextID + call Delay3 + ld a, $12 + ld [$ff8c], a + call DisplayTextID + call Delay3 + ld a, $13 + ld [$ff8c], a + call DisplayTextID + call Delay3 + ld a, $14 + ld [$ff8c], a + call DisplayTextID + ld hl, $d74b + set 1, [hl] + xor a + ld [wJoypadForbiddenButtonsMask], a + + ld a, $6 + ld [W_OAKSLABCURSCRIPT], a + ret + +OaksLabScript6: ; 1cc36 (7:4c36) + ld a, [W_YCOORD] + cp $6 + ret nz + ld a, $5 + ld [$ff8c], a + xor a + ld [$ff8d], a + call Func_34a6 ; face object + ld a, $1 + ld [$ff8c], a + xor a + ld [$ff8d], a + call Func_34a6 ; face object + call UpdateSprites + ld a, $c + ld [$ff8c], a + call DisplayTextID + ld a, $1 + ld [$cd38], a + ld a, $40 + ld [$ccd3], a + call Func_3486 + ld a, $8 + ld [$d528], a + + ld a, $7 + ld [W_OAKSLABCURSCRIPT], a + ret + +OaksLabScript7: ; 1cc72 (7:4c72) + ld a, [$cd38] + and a + ret nz + call Delay3 + + ld a, $6 + ld [W_OAKSLABCURSCRIPT], a + ret + +OaksLabScript8: ; 1cc80 (7:4c80) + ld a, [W_PLAYERSTARTER] + cp CHARMANDER + jr z, .Charmander ; 0x1cc85 $6 + cp SQUIRTLE + jr z, .Squirtle ; 0x1cc89 $1d + jr .Bulbasaur ; 0x1cc8b $38 +.Charmander + ld de, .MiddleBallMovement1 + ld a, [W_YCOORD] + cp $4 ; is the player standing below the table? + jr z, .asm_1ccf3 ; 0x1cc95 $5c + ld de, .MiddleBallMovement2 + jr .asm_1ccf3 ; 0x1cc9a $57 + +.MiddleBallMovement1 + db 0,0,$C0,$C0,$C0,$40,$FF +.MiddleBallMovement2 + db 0,$C0,$C0,$C0,$FF + +.Squirtle + ld de, .RightBallMovement1 + ld a, [W_YCOORD] + cp $4 ; is the player standing below the table? + jr z, .asm_1ccf3 ; 0x1ccb0 $41 + ld de, .RightBallMovement2 + jr .asm_1ccf3 ; 0x1ccb5 $3c + +.RightBallMovement1 + db 0,0,$C0,$C0,$C0,$C0,$40,$FF +.RightBallMovement2 + db 0,$C0,$C0,$C0,$C0,$FF + +.Bulbasaur + ld de, .LeftBallMovement1 + ld a, [W_XCOORD] + cp $9 ; is the player standing to the right of the table? + jr nz, .asm_1ccf3 ; 0x1cccd $24 + push hl + ld a, $1 + ld [$ff8c], a + ld a, $4 + ld [$ff8b], a + call Func_34fc + push hl + ld [hl], $4c + inc hl + inc hl + ld [hl], $0 + pop hl + inc h + ld [hl], $8 + inc hl + ld [hl], $9 + ld de, .LeftBallMovement2 ; the rival is not currently onscreen, so account for that + pop hl + jr .asm_1ccf3 ; 0x1cced $4 + +.LeftBallMovement1 + db $00,$C0 ; not yet terminated! +.LeftBallMovement2 + db $C0,$FF + +.asm_1ccf3 + ld a, $1 + ld [$ff8c], a + call MoveSprite + + ld a, $9 + ld [W_OAKSLABCURSCRIPT], a + ret + +OaksLabScript9: ; 1cd00 (7:4d00) + ld a, [$d730] + bit 0, a + ret nz + ld a, $fc + ld [wJoypadForbiddenButtonsMask], a + ld a, $1 + ld [$ff8c], a + ld a, $4 + ld [$ff8d], a + call Func_34a6 ; face object + ld a, $d + ld [$ff8c], a + call DisplayTextID + ld a, [$cd3e] + cp $2 + jr nz, .asm_1cd28 ; 0x1cd22 $4 + ld a, $2b + jr .asm_1cd32 ; 0x1cd26 $a +.asm_1cd28 + cp $3 + jr nz, .asm_1cd30 ; 0x1cd2a $4 + ld a, $2c + jr .asm_1cd32 ; 0x1cd2e $2 +.asm_1cd30 + ld a, $2d +.asm_1cd32 + ld [$cc4d], a + ld a, $11 + call Predef + call Delay3 + ld a, [$cd3d] + ld [W_RIVALSTARTER], a + ld [$cf91], a + ld [$d11e], a + call GetMonName + ld a, $1 + ld [$ff8c], a + ld a, $4 + ld [$ff8d], a + call Func_34a6 ; face object + ld a, $e + ld [$ff8c], a + call DisplayTextID + ld hl, $d74b + set 2, [hl] + xor a + ld [wJoypadForbiddenButtonsMask], a + + ld a, $a + ld [W_OAKSLABCURSCRIPT], a + ret + +OaksLabScript10: ; 1cd6d (7:4d6d) + ld a, [W_YCOORD] + cp $6 + ret nz + ld a, $1 + ld [$ff8c], a + xor a + ld [$ff8d], a + call Func_34a6 ; face object + ld a, $8 + ld [$d528], a + ld c, BANK(Music_MeetRival) + ld a, MUSIC_MEET_RIVAL + call PlayMusic ; play music + ld a, $f + ld [$ff8c], a + call DisplayTextID + ld a, $1 + ld [$ff9b], a + ld a, $1 + swap a + ld [$ff95], a + ld a, $22 + call Predef + ld a, [$ff95] + dec a + ld [$ff95], a + ld a, $20 + call Predef + ld de, $cc97 + ld a, $1 + ld [$ff8c], a + call MoveSprite + + ld a, $b + ld [W_OAKSLABCURSCRIPT], a + ret + +OaksLabScript11: ; 1cdb9 (7:4db9) + ld a, [$d730] + bit 0, a + ret nz + + ; define which team rival uses, and fight it + ld a, SONY1 + $C8 + ld [W_CUROPPONENT], a + ld a, [W_RIVALSTARTER] + cp SQUIRTLE + jr nz, .NotSquirtle ; 0x1cdc9 $4 + ld a, $1 + jr .done ; 0x1cdcd $a +.NotSquirtle + cp BULBASAUR + jr nz, .Charmander ; 0x1cdd1 $4 + ld a, $2 + jr .done ; 0x1cdd5 $2 +.Charmander + ld a, $3 +.done + ld [W_TRAINERNO], a + ld a, $1 + ld [$cf13], a + call Func_32ef + ld hl, OaksLabText_1d3be + ld de, OaksLabText_1d3c3 + call PreBattleSaveRegisters + ld hl, $d72d + set 6, [hl] + set 7, [hl] + xor a + ld [wJoypadForbiddenButtonsMask], a + ld a, $8 + ld [$d528], a + ld a, $c + ld [W_OAKSLABCURSCRIPT], a + ret + +OaksLabScript12: ; 1ce03 (7:4e03) + ld a, $f0 + ld [wJoypadForbiddenButtonsMask], a + ld a, $8 + ld [$d528], a + call UpdateSprites + ld a, $1 + ld [$cf13], a + call Func_32f9 + ld a, $1 + ld [$ff8c], a + xor a + ld [$ff8d], a + call Func_34a6 ; face object + ld a, $7 + call Predef + ld hl, $d74b + set 3, [hl] + + ld a, $d + ld [W_OAKSLABCURSCRIPT], a + ret + +OaksLabScript13: ; 1ce32 (7:4e32) + ld c, $14 + call DelayFrames + ld a, $10 + ld [$ff8c], a + call DisplayTextID + ld b, BANK(Music_RivalAlternateStart) + ld hl, Music_RivalAlternateStart + call Bankswitch + ld a, $1 + ld [$ff8c], a + ld de, .RivalExitMovement + call MoveSprite + ld a, [W_XCOORD] + cp $4 + ; move left or right depending on where the player is standing + jr nz, .asm_1ce5b ; 0x1ce55 $4 + ld a, $c0 + jr .asm_1ce5d ; 0x1ce59 $2 +.asm_1ce5b + ld a, $80 +.asm_1ce5d + ld [$cc5b], a + + ld a, $e + ld [W_OAKSLABCURSCRIPT], a + ret + +.RivalExitMovement + db $E0,$00,$00,$00,$00,$00,$FF + +OaksLabScript14: ; 1ce6d (7:4e6d) + ld a, [$d730] + bit 0, a + jr nz, .asm_1ce8c ; 0x1ce72 $18 + ld a, $2a + ld [$cc4d], a + ld a, $11 + call Predef + xor a + ld [wJoypadForbiddenButtonsMask], a + call Func_2307 ; reset to map music + ld a, $12 + ld [W_OAKSLABCURSCRIPT], a + jr .done ; 0x1ce8a $23 +.asm_1ce8c + ld a, [$cf0f] + cp $5 + jr nz, .asm_1cea8 ; 0x1ce91 $15 + ld a, [W_XCOORD] + cp $4 + jr nz, .asm_1cea1 ; 0x1ce98 $7 + ld a, $c + ld [$c109], a + jr .done ; 0x1ce9f $e +.asm_1cea1 + ld a, $8 + ld [$c109], a + jr .done ; 0x1cea6 $7 +.asm_1cea8 + cp $4 + ret nz + xor a + ld [$c109], a +.done + ret + +OaksLabScript15: ; 1ceb0 (7:4eb0) + xor a + ld [H_CURRENTPRESSEDBUTTONS], a + call EnableAutoTextBoxDrawing + ld a, $ff + ld [$c0ee], a + call PlaySound + ld b, BANK(Music_RivalAlternateStart) + ld hl, Music_RivalAlternateStart + call Bankswitch + ld a, $15 + ld [$ff8c], a + call DisplayTextID + call OaksLabScript_1d02b + ld a, $2a + ld [$cc4d], a + ld a, $15 + call Predef + ld a, [$cd37] + ld [$d157], a + ld b, $0 + ld c, a + ld hl, $cc97 + ld a, $40 + call FillMemory + ld [hl], $ff + ld a, $1 + ld [$ff8c], a + ld de, $cc97 + call MoveSprite + + ld a, $10 + ld [W_OAKSLABCURSCRIPT], a + ret + +OaksLabScript_1cefd ; 1cefd (7:4efd) + ld a, $1 + ld [$ff8c], a + ld a, $4 + ld [$ff8d], a + call Func_34a6 ; face object + ld a, $8 + ld [$ff8c], a + xor a + ld [$ff8d], a + jp Func_34a6 ; face object + +OaksLabScript16: ; 1cf12 (7:4f12) + ld a, [$d730] + bit 0, a + ret nz + call EnableAutoTextBoxDrawing + call Func_2307 + ld a, $fc + ld [wJoypadForbiddenButtonsMask], a + call OaksLabScript_1cefd + ld a, $16 + ld [$ff8c], a + call DisplayTextID + call DelayFrame + call OaksLabScript_1cefd + ld a, $17 + ld [$ff8c], a + call DisplayTextID + call DelayFrame + call OaksLabScript_1cefd + ld a, $18 + ld [$ff8c], a + call DisplayTextID + call DelayFrame + ld a, $19 + ld [$ff8c], a + call DisplayTextID + call Delay3 + ld a, $2f + ld [$cc4d], a + ld a, $11 + call Predef + ld a, $30 + ld [$cc4d], a + ld a, $11 + call Predef + call OaksLabScript_1cefd + ld a, $1a + ld [$ff8c], a + call DisplayTextID + ld a, $1 + ld [$ff8c], a + ld a, $c + ld [$ff8d], a + call Func_34a6 ; face object + call Delay3 + ld a, $1b + ld [$ff8c], a + call DisplayTextID + ld hl, $d74b + set 5, [hl] + ld hl, $d74e + set 0, [hl] + ld a, $1 + ld [$cc4d], a + ld a, $11 + call Predef + ld a, $2 + ld [$cc4d], a + ld a, $15 + call Predef + ld a, [$d157] + ld b, $0 + ld c, a + ld hl, $cc97 + xor a + call FillMemory + ld [hl], $ff + ld a, $ff + ld [$c0ee], a + call PlaySound + ld b, BANK(Music_RivalAlternateStart) + ld hl, Music_RivalAlternateStart + call Bankswitch + ld a, $1 + ld [$ff8c], a + ld de, $cc97 + call MoveSprite + + ld a, $11 + ld [W_OAKSLABCURSCRIPT], a + ret + +OaksLabScript17: ; 1cfd4 (7:4fd4) + ld a, [$d730] + bit 0, a + ret nz + call Func_2307 + ld a, $2a + ld [$cc4d], a + ld a, $11 + call Predef + ld hl, $d7eb + set 0, [hl] + res 1, [hl] + set 7, [hl] + ld a, $22 + ld [$cc4d], a + ld a, $15 + call Predef + ld a, $5 + ld [W_PALLETTOWNCURSCRIPT], a + xor a + ld [wJoypadForbiddenButtonsMask], a + + ld a, $12 + ld [W_OAKSLABCURSCRIPT], a + ret + +OaksLabScript18: ; 1d009 (7:5009) + ret + +OaksLabScript_1d00a: ; 1d00a (7:500a) + ld hl, wBagItems + ld bc, $0000 +.asm_1d010 + ld a, [hli] + cp $ff + ret z + cp OAKS_PARCEL + jr z, .GotParcel ; 0x1d016 $4 + inc hl + inc c + jr .asm_1d010 ; 0x1d01a $f4 +.GotParcel + ld hl, $d31d + ld a, c + ld [wWhichPokemon], a + ld a, $1 + ld [$cf96], a + jp RemoveItemFromInventory + +OaksLabScript_1d02b: ; 1d02b (7:502b) + ld a, $7c + ld [$ffeb], a + ld a, $8 + ld [$ffee], a + ld a, [W_YCOORD] + cp $3 + jr nz, .asm_1d045 ; 0x1d038 $b + ld a, $4 + ld [$cd37], a + ld a, $30 + ld b, $b + jr .asm_1d068 ; 0x1d043 $23 +.asm_1d045 + cp $1 + jr nz, .asm_1d054 ; 0x1d047 $b + ld a, $2 + ld [$cd37], a + ld a, $30 + ld b, $9 + jr .asm_1d068 ; 0x1d052 $14 +.asm_1d054 + ld a, $3 + ld [$cd37], a + ld b, $a + ld a, [W_XCOORD] + cp $4 + jr nz, .asm_1d066 ; 0x1d060 $4 + ld a, $40 + jr .asm_1d068 ; 0x1d064 $2 +.asm_1d066 + ld a, $20 +.asm_1d068 + ld [$ffec], a + ld a, b + ld [$ffed], a + ld a, $1 + ld [$cf13], a + call Func_32f9 + ret + +OaksLabScript_1d076: ; 1d076 (7:5076) + ld hl, OaksLabTextPointers + $36 ; $50b8 ; starts at OaksLabText28 + ld a, l + ld [W_MAPTEXTPTR], a + ld a, h + ld [W_MAPTEXTPTR+1], a + ret + +OaksLabTextPointers: ; 1d082 (7:5082) + dw OaksLabText1 + dw OaksLabText2 + dw OaksLabText3 + dw OaksLabText4 + dw OaksLabText5 + dw OaksLabText6 + dw OaksLabText7 + dw OaksLabText8 + dw OaksLabText9 + dw OaksLabText10 + dw OaksLabText11 + dw OaksLabText12 + dw OaksLabText13 + dw OaksLabText14 + dw OaksLabText15 + dw OaksLabText16 + dw OaksLabText17 + dw OaksLabText18 + dw OaksLabText19 + dw OaksLabText20 + dw OaksLabText21 + dw OaksLabText22 + dw OaksLabText23 + dw OaksLabText24 + dw OaksLabText25 + dw OaksLabText26 + dw OaksLabText27 + dw OaksLabText28 + dw OaksLabText29 + dw OaksLabText30 + dw OaksLabText31 + dw OaksLabText32 + dw OaksLabText33 + dw OaksLabText34 + dw OaksLabText35 + dw OaksLabText36 + dw OaksLabText37 + dw OaksLabText38 + +OaksLabText28: ; 1d0ce (7:50ce) +OaksLabText1: ; 1d0ce (7:50ce) + db $08 ; asm + ld a, [$d74b] + bit 0, a + jr nz, .asm_1d0de ; 0x1d0d4 + ld hl, OaksLabGaryText1 + call PrintText + jr .asm_1d0f0 ; 0x1d0dc +.asm_1d0de ; 0x1d0de + bit 2, a + jr nz, .asm_1d0ea ; 0x1d0e0 + ld hl, OaksLabText40 + call PrintText + jr .asm_1d0f0 ; 0x1d0e8 +.asm_1d0ea ; 0x1d0ea + ld hl, OaksLabText41 + call PrintText +.asm_1d0f0 ; 0x1d0f0 + jp TextScriptEnd + +OaksLabGaryText1: ; 1d0f3 (7:50f3) + TX_FAR _OaksLabGaryText1 + db "@" + +OaksLabText40: ; 1d0f8 (7:50f8) + TX_FAR _OaksLabText40 + db "@" + +OaksLabText41: ; 1d0fd (7:50fd) + TX_FAR _OaksLabText41 + db "@" + +OaksLabText29: ; 1d102 (7:5102) +OaksLabText2: ; 1d102 (7:5102) + db $8 + ld a, SQUIRTLE + ld [$cd3d], a + ld a, $3 + ld [$cd3e], a + ld a, CHARMANDER + ld b, $2 + jr OaksLabScript_1d133 ; 0x1d111 $20 + +OaksLabText30: ; 1d113 (7:5113) +OaksLabText3: ; 1d113 (7:5113) + db $8 + ld a, BULBASAUR + ld [$cd3d], a + ld a, $4 + ld [$cd3e], a + ld a, SQUIRTLE + ld b, $3 + jr OaksLabScript_1d133 ; 0x1d122 $f + +OaksLabText31: ; 1d124 (7:5124) +OaksLabText4: ; 1d124 (7:5124) + db $8 + ld a, CHARMANDER + ld [$cd3d], a + ld a, $2 + ld [$cd3e], a + ld a, BULBASAUR + ld b, $4 + +OaksLabScript_1d133: ; 1d133 (7:5133) + ld [$cf91], a + ld [$d11e], a + ld a, b + ld [$cf13], a + ld a, [$d74b] + bit 2, a + jp nz, OaksLabScript_1d22d + bit 1, a + jr nz, OaksLabScript_1d157 ; 0x1d147 $e + ld hl, OaksLabText39 + call PrintText + jp TextScriptEnd + +OaksLabText39: ; 1d152 (7:5152) + TX_FAR _OaksLabText39 + db "@" + +OaksLabScript_1d157: ; 1d157 (7:5157) + ld a, $5 + ld [$ff8c], a + ld a, $9 + ld [$ff8b], a + call Func_34fc + ld [hl], $0 + ; manually fixed some disassembler issues around here + ld a, $1 + ld [$FF8c], a + ld a, $9 + ld [$ff8b], a + call Func_34fc + ld [hl], $c + ld hl, $d730 + set 6, [hl] + ld a, $46 + call Predef + ld hl, $d730 + res 6, [hl] + call ReloadMapData + ld c, $a + call DelayFrames + ld a, [$cf13] + cp $2 + jr z, OaksLabLookAtCharmander + cp $3 + jr z, OaksLabLookAtSquirtle + jr OaksLabLookAtBulbasaur + +OaksLabLookAtCharmander ; 0x1d195 + ld hl, OaksLabCharmanderText + jr OaksLabMonChoiceMenu +OaksLabCharmanderText: ; 1d19a (7:519a) + TX_FAR _OaksLabCharmanderText + db "@" + +OaksLabLookAtSquirtle: ; 1d19f (7:519f) + ld hl, OaksLabSquirtleText + jr OaksLabMonChoiceMenu +OaksLabSquirtleText: ; 1d1a4 (7:51a4) + TX_FAR _OaksLabSquirtleText + db "@" + +OaksLabLookAtBulbasaur: ; 1d1a9 (7:51a9) + ld hl, OaksLabBulbasaurText + jr OaksLabMonChoiceMenu +OaksLabBulbasaurText: ; 1d1ae (7:51ae) + TX_FAR _OaksLabBulbasaurText + db "@" + +OaksLabMonChoiceMenu: ; 1d1b3 (7:51b3) + call PrintText + ld a, $1 + ld [$cc3c], a + call YesNoChoice ; yes/no menu + ld a, [$cc26] + and a + jr nz, OaksLabMonChoiceEnd + ld a, [$cf91] + ld [$d717], a + ld [$d11e], a + call GetMonName + ld a, [$cf13] + cp $2 + jr nz, asm_1d1db ; 0x1d1d5 $4 + ld a, $2b + jr asm_1d1e5 ; 0x1d1d9 $a +asm_1d1db: ; 1d1db (7:51db) + cp $3 + jr nz, asm_1d1e3 ; 0x1d1dd $4 + ld a, $2c + jr asm_1d1e5 ; 0x1d1e1 $2 +asm_1d1e3: ; 1d1e3 (7:51e3) + ld a, $2d +asm_1d1e5: ; 1d1e5 (7:51e5) + ld [$cc4d], a + ld a, $11 + call Predef + ld a, $1 + ld [$cc3c], a + ld hl, OaksLabMonEnergeticText + call PrintText + ld hl, OaksLabReceivedMonText + call PrintText + xor a + ld [$cc49], a + ld a, $5 + ld [$d127], a + ld a, [$cf91] + ld [$d11e], a + call AddPokemonToParty + ld hl, $d72e + set 3, [hl] + ld a, $fc + ld [wJoypadForbiddenButtonsMask], a + ld a, $8 + ld [W_OAKSLABCURSCRIPT], a +OaksLabMonChoiceEnd: ; 1d21f (7:521f) + jp TextScriptEnd + +OaksLabMonEnergeticText: ; 1d222 (7:5222) + TX_FAR _OaksLabMonEnergeticText + db "@" + +OaksLabReceivedMonText: ; 1d227 (7:5227) + TX_FAR _OaksLabReceivedMonText + db $11, "@" + +OaksLabScript_1d22d: ; 1d22d (7:522d) + ld a, $5 + ld [$ff8c], a + ld a, $9 + ld [$ff8b], a + call Func_34fc + ld [hl], $0 + ld hl, OaksLabLastMonText + call PrintText + jp TextScriptEnd + +OaksLabLastMonText: ; 1d243 (7:5243) + TX_FAR _OaksLabLastMonText + db "@" + +OaksLabText32: ; 1d248 (7:5248) +OaksLabText5: ; 1d248 (7:5248) + db $08 ; asm + ld a, [$d747] + bit 6, a + jr nz, .asm_50e81 ; 0x1d24e + ld hl, $d2f7 + ld b, $13 + call CountSetBits + ld a, [$d11e] + cp $2 + jr c, .asm_b28b0 ; 0x1d25d + ld a, [$d74b] + bit 5, a + jr z, .asm_b28b0 ; 0x1d264 +.asm_50e81 ; 0x1d266 + ld hl, OaksLabText_1d31d + call PrintText + ld a, $1 + ld [$cc3c], a + ld a, $56 + call Predef + jp .asm_0f042 +.asm_b28b0 ; 0x1d279 + ld b,POKE_BALL + call IsItemInBag + jr nz, .asm_17c30 ; 0x1d27e + ld a, [$d7eb] + bit 5, a + jr nz, .asm_f1adc ; 0x1d285 + ld a, [$d74b] + bit 5, a + jr nz, .asm_333a2 ; 0x1d28c + bit 3, a + jr nz, .asm_76269 ; 0x1d290 + ld a, [$d72e] + bit 3, a + jr nz, .asm_4a5e0 ; 0x1d297 + ld hl, OaksLabText_1d2f0 + call PrintText + jr .asm_0f042 ; 0x1d29f +.asm_4a5e0 ; 0x1d2a1 + ld hl, OaksLabText_1d2f5 + call PrintText + jr .asm_0f042 ; 0x1d2a7 +.asm_76269 ; 0x1d2a9 + ld b, OAKS_PARCEL + call IsItemInBag + jr nz, .asm_a8fcf ; 0x1d2ae + ld hl, OaksLabText_1d2fa + call PrintText + jr .asm_0f042 ; 0x1d2b6 +.asm_a8fcf ; 0x1d2b8 + ld hl, OaksLabDeliverParcelText + call PrintText + call OaksLabScript_1d00a + ld a, $f + ld [W_OAKSLABCURSCRIPT], a + jr .asm_0f042 ; 0x1d2c6 +.asm_333a2 ; 0x1d2c8 + ld hl, OaksLabAroundWorldText + call PrintText + jr .asm_0f042 ; 0x1d2ce +.asm_f1adc ; 0x1d2d0 + ld hl, $d74b + bit 4, [hl] + set 4, [hl] + jr nz, .asm_17c30 ; 0x1d2d7 + ld bc, (POKE_BALL << 8) | 5 + call GiveItem + ld hl, OaksLabGivePokeballsText + call PrintText + jr .asm_0f042 ; 0x1d2e5 +.asm_17c30 ; 0x1d2e7 + ld hl, OaksLabPleaseVisitText + call PrintText +.asm_0f042 ; 0x1d2ed + jp TextScriptEnd + +OaksLabText_1d2f0: ; 1d2f0 (7:52f0) + TX_FAR _OaksLabText_1d2f0 + db "@" + +OaksLabText_1d2f5: ; 1d2f5 (7:52f5) + TX_FAR _OaksLabText_1d2f5 + db "@" + +OaksLabText_1d2fa: ; 1d2fa (7:52fa) + TX_FAR _OaksLabText_1d2fa + db "@" + +OaksLabDeliverParcelText: ; 1d2ff (7:52ff) + TX_FAR _OaksLabDeliverParcelText1 + db $11 + TX_FAR _OaksLabDeliverParcelText2 + db "@" + +OaksLabAroundWorldText: ; 1d309 (7:5309) + TX_FAR _OaksLabAroundWorldText + db "@" + +OaksLabGivePokeballsText: ; 1d30e (7:530e) + TX_FAR _OaksLabGivePokeballsText1 + db $11 + TX_FAR _OaksLabGivePokeballsText2 + db "@" + +OaksLabPleaseVisitText: ; 1d318 (7:5318) + TX_FAR _OaksLabPleaseVisitText + db "@" + +OaksLabText_1d31d: ; 1d31d (7:531d) + TX_FAR _OaksLabText_1d31d + db "@" + +OaksLabText34: ; 1d322 (7:5322) +OaksLabText33: ; 1d322 (7:5322) +OaksLabText7: ; 1d322 (7:5322) +OaksLabText6: ; 1d322 (7:5322) + db $08 ; asm + ld hl, OaksLabText_1d32c + call PrintText + jp TextScriptEnd + +OaksLabText_1d32c: ; 1d32c (7:532c) + TX_FAR _OaksLabText_1d32c + db "@" + +OaksLabText35: ; 1d331 (7:5331) +OaksLabText8: ; 1d331 (7:5331) + TX_FAR _OaksLabText8 + db "@" + +OaksLabText36: ; 1d336 (7:5336) +OaksLabText9: ; 1d336 (7:5336) + db $08 ; asm + ld hl, OaksLabText_1d340 + call PrintText + jp TextScriptEnd + +OaksLabText_1d340: ; 1d340 (7:5340) + TX_FAR _OaksLabText_1d340 + db "@" + +OaksLabText17: ; 1d345 (7:5345) + db $8 + ld hl, OaksLabRivalWaitingText + call PrintText + jp TextScriptEnd + +OaksLabRivalWaitingText: ; 1d34f (7:534f) + TX_FAR _OaksLabRivalWaitingText + db "@" + +OaksLabText18: ; 1d354 (7:5354) + db $8 + ld hl, OaksLabChooseMonText + call PrintText + jp TextScriptEnd + +OaksLabChooseMonText: ; 1d35e (7:535e) + TX_FAR _OaksLabChooseMonText + db "@" + +OaksLabText19: ; 1d363 (7:5363) + db $8 + ld hl, OaksLabRivalInterjectionText + call PrintText + jp TextScriptEnd + +OaksLabRivalInterjectionText: ; 1d36d (7:536d) + TX_FAR _OaksLabRivalInterjectionText + db "@" + +OaksLabText20: ; 1d372 (7:5372) + db $8 + ld hl, OaksLabBePatientText + call PrintText + jp TextScriptEnd + +OaksLabBePatientText: ; 1d37c (7:537c) + TX_FAR _OaksLabBePatientText + db "@" + +OaksLabText12: ; 1d381 (7:5381) + db $8 + ld hl, OaksLabLeavingText + call PrintText + jp TextScriptEnd + +OaksLabLeavingText: ; 1d38b (7:538b) + TX_FAR _OaksLabLeavingText + db "@" + +OaksLabText13: ; 1d390 (7:5390) + db $8 + ld hl, OaksLabRivalPickingMonText + call PrintText + jp TextScriptEnd + +OaksLabRivalPickingMonText: ; 1d39a (7:539a) + TX_FAR _OaksLabRivalPickingMonText + db "@" + +OaksLabText14: ; 1d39f (7:539f) + db $8 + ld hl, OaksLabRivalReceivedMonText + call PrintText + jp TextScriptEnd + +OaksLabRivalReceivedMonText: ; 1d3a9 (7:53a9) + TX_FAR _OaksLabRivalReceivedMonText + db $11, "@" + +OaksLabText15: ; 1d3af (7:53af) + db $8 + ld hl, OaksLabRivalChallengeText + call PrintText + jp TextScriptEnd + +OaksLabRivalChallengeText: ; 1d3b9 (7:53b9) + TX_FAR _OaksLabRivalChallengeText + db "@" + +OaksLabText_1d3be: ; 1d3be (7:53be) + TX_FAR _OaksLabText_1d3be + db "@" + +OaksLabText_1d3c3: ; 1d3c3 (7:53c3) + TX_FAR _OaksLabText_1d3c3 + db "@" + +OaksLabText16: ; 1d3c8 (7:53c8) + db $8 + ld hl, OaksLabRivalToughenUpText + call PrintText + jp TextScriptEnd + +OaksLabRivalToughenUpText: ; 1d3d2 (7:53d2) + TX_FAR _OaksLabRivalToughenUpText + db "@" + +OaksLabText21: ; 1d3d7 (7:53d7) + TX_FAR _OaksLabText21 + db "@" + +OaksLabText22: ; 1d3dc (7:53dc) + TX_FAR _OaksLabText22 + db "@" + +OaksLabText23: ; 1d3e1 (7:53e1) + TX_FAR _OaksLabText23 + db "@" + +OaksLabText24: ; 1d3e6 (7:53e6) + TX_FAR _OaksLabText24 + db "@" + +OaksLabText25: ; 1d3eb (7:53eb) + TX_FAR _OaksLabText25 + db $11, "@" + +OaksLabText26: ; 1d3f1 (7:53f1) + TX_FAR _OaksLabText26 + db "@" + +OaksLabText27: ; 1d3f6 (7:53f6) + TX_FAR _OaksLabText27 + db "@" + +OaksLabText38: ; 1d3fb (7:53fb) +OaksLabText37: ; 1d3fb (7:53fb) +OaksLabText11: ; 1d3fb (7:53fb) +OaksLabText10: ; 1d3fb (7:53fb) + db $08 ; asm + ld hl, OaksLabText_1d405 + call PrintText + jp TextScriptEnd + +OaksLabText_1d405: ; 1d405 (7:5405) + TX_FAR _OaksLabText_1d405 + db "@" diff --git a/scripts/pallettown.asm b/scripts/pallettown.asm new file mode 100755 index 00000000..e1b51cf6 --- /dev/null +++ b/scripts/pallettown.asm @@ -0,0 +1,228 @@ +PalletTownScript: ; 18e5b (6:4e5b) + ld a,[$D74B] + bit 4,a + jr z,.next + ld hl,$D747 + set 6,[hl] +.next + call EnableAutoTextBoxDrawing + ld hl,PalletTownScriptPointers + ld a,[W_PALLETTOWNCURSCRIPT] + jp CallFunctionInTable + +PalletTownScriptPointers: ; 18e73 (6:4e73) + dw PalletTownScript0 + dw PalletTownScript1 + dw PalletTownScript2 + dw PalletTownScript3 + dw PalletTownScript4 + dw PalletTownScript5 + dw PalletTownScript6 + +PalletTownScript0: ; 18e81 (6:4e81) + ld a,[$D747] + bit 0,a + ret nz + ld a,[W_YCOORD] + cp 1 ; is player near north exit? + ret nz + xor a + ld [H_CURRENTPRESSEDBUTTONS],a + ld a,4 + ld [$D528],a + ld a,$FF + call PlaySound ; stop music + ld a, BANK(Music_MeetProfOak) + ld c,a ; song bank + ld a, MUSIC_MEET_PROF_OAK ; “oak appears” music + call PlayMusic ; plays music + ld a,$FC + ld [wJoypadForbiddenButtonsMask],a + ld hl,$D74B + set 7,[hl] + + ; trigger the next script + ld a,1 + ld [W_PALLETTOWNCURSCRIPT],a + ret + +PalletTownScript1: ; 18eb2 (6:4eb2) + xor a + ld [$CF0D],a + ld a,1 + ld [$FF8C],a + call DisplayTextID + ld a,$FF + ld [wJoypadForbiddenButtonsMask],a + ld a,0 + ld [$CC4D],a + ld a,$15 + call Predef + + ; trigger the next script + ld a,2 + ld [W_PALLETTOWNCURSCRIPT],a + ret + +PalletTownScript2: ; 18ed2 (6:4ed2) + ld a,1 + ld [$FF8C],a + ld a,4 + ld [$FF8D],a + call Func_34a6 + call Delay3 + ld a,1 + ld [W_YCOORD],a + ld a,1 + ld [$FF9B],a + ld a,1 + swap a + ld [$FF95],a + ld a,$22 + call Predef + ld hl,$FF95 + dec [hl] + ld a,$20 + call Predef ; load Oak’s movement into $CC97 + ld de,$CC97 + ld a,1 ; oak + ld [$FF8C],a + call MoveSprite + ld a,$FF + ld [wJoypadForbiddenButtonsMask],a + + ; trigger the next script + ld a,3 + ld [W_PALLETTOWNCURSCRIPT],a + ret + +PalletTownScript3: ; 18f12 (6:4f12) + ld a,[$D730] + bit 0,a + ret nz + xor a + ld [$C109],a + ld a,1 + ld [$CF0D],a + ld a,$FC + ld [wJoypadForbiddenButtonsMask],a + ld a,1 + ld [$FF8C],a + call DisplayTextID + ld a,$FF + ld [wJoypadForbiddenButtonsMask],a + ld a,1 + ld [$CF13],a + xor a + ld [$CF10],a + ld a,1 + ld [$CC57],a + ld a,[H_LOADEDROMBANK] + ld [$CC58],a + + ; trigger the next script + ld a,4 + ld [W_PALLETTOWNCURSCRIPT],a + ret + +PalletTownScript4: ; 18f4b (6:4f4b) + ld a,[$CC57] + and a + ret nz + + ; trigger the next script + ld a,5 + ld [W_PALLETTOWNCURSCRIPT],a + ret + +PalletTownScript5: ; 18f56 (6:4f56) + ld a,[$D74A] + bit 2,a + jr nz,.next + and 3 + cp 3 + jr nz,.next + ld hl,$D74A + set 2,[hl] + ld a,$27 + ld [$CC4D],a + ld a,$11 + call Predef + ld a,$28 + ld [$CC4D],a + ld a,$15 + jp Predef +.next + ld a,[$D74B] + bit 4,a + ret z + ld hl,$D74B + set 6,[hl] +PalletTownScript6: ; 18f87 (6:4f87) + ret + +PalletTownTextPointers: ; 18f88 (6:4f88) + dw PalletTownText1 + dw PalletTownText2 + dw PalletTownText3 + dw PalletTownText4 + dw PalletTownText5 + dw PalletTownText6 + dw PalletTownText7 + +PalletTownText1: ; 18f96 (6:4f96) + db 8 + ld a,[$CF0D] + and a + jr nz,.next + ld a,1 + ld [$CC3C],a + ld hl,OakAppearsText + jr .done +.next + ld hl,OakWalksUpText +.done + call PrintText + jp TextScriptEnd + +OakAppearsText: ; 18fb0 (6:4fb0) + TX_FAR _OakAppearsText + db 8 + ld c,10 + call DelayFrames + xor a + ld [$CD4F],a + ld [$CD50],a + ld a,$4C + call Predef ; display ! over head + ld a,4 + ld [$D528],a + jp TextScriptEnd + +OakWalksUpText: ; 18fce (6:4fce) + TX_FAR _OakWalksUpText + db "@" + +PalletTownText2: ; 0x18fd3 girl + TX_FAR _PalletTownText2 + db "@" + +PalletTownText3: ; 0x18fd8 fat man + TX_FAR _PalletTownText3 + db "@" + +PalletTownText4: ; 0x18fdd sign by lab + TX_FAR _PalletTownText4 + db "@" + +PalletTownText5: ; 0x18fe2 sign by fence + TX_FAR _PalletTownText5 + db "@" + +PalletTownText6: ; 0x18fe7 sign by Red’s house + TX_FAR _PalletTownText6 + db "@" + +PalletTownText7: ; 0x18fec sign by Blue’s house + TX_FAR _PalletTownText7 + db "@" diff --git a/scripts/pewtercity.asm b/scripts/pewtercity.asm new file mode 100755 index 00000000..e738dedf --- /dev/null +++ b/scripts/pewtercity.asm @@ -0,0 +1,321 @@ +PewterCityScript: ; 19237 (6:5237) + call EnableAutoTextBoxDrawing + ld hl, PewterCityScriptPointers + ld a, [W_PEWTERCITYCURSCRIPT] + jp CallFunctionInTable + +PewterCityScriptPointers: ; 19243 (6:5243) + dw PewterCityScript0 + dw PewterCityScript1 + dw PewterCityScript2 + dw PewterCityScript3 + dw PewterCityScript4 + dw PewterCityScript5 + dw PewterCityScript6 + +PewterCityScript0: ; 19251 (6:5251) + xor a + ld [W_MUSEUM1FCURSCRIPT], a + ld hl, $d754 + res 0, [hl] + call PewterCityScript_1925e + ret + +PewterCityScript_1925e: ; 1925e (6:525e) + ld a, [$d755] + bit 7, a + ret nz + ld hl, CoordsData_19277 + call ArePlayerCoordsInArray + ret nc + ld a, $f0 + ld [wJoypadForbiddenButtonsMask], a + ld a, $5 + ld [$ff8c], a + jp DisplayTextID + +CoordsData_19277: ; 19277 (6:5277) + db $11,$23 + db $11,$24 + db $12,$25 + db $13,$25 + db $ff + +PewterCityScript1: ; 19280 (6:5280) + ld a, [$cc57] + and a + ret nz + ld a, $3 + ld [$ff8c], a + ld a, $4 + ld [$ff8d], a + call Func_34a6 + ld a, $34 + ld [$ff8d], a + call Func_34b9 + call Func_2307 + ld hl, wFlags_0xcd60 + set 4, [hl] + ld a, $d + ld [$ff8c], a + call DisplayTextID + ld a, $3c + ld [$ffeb], a + ld a, $30 + ld [$ffec], a + ld a, $c + ld [$ffed], a + ld a, $11 + ld [$ffee], a + ld a, $3 + ld [$cf13], a + call Func_32f9 + ld a, $3 + ld [$ff8c], a + ld de, MovementData_PewterMuseumGuyExit ; $52ce + call MoveSprite + ld a, $2 + ld [W_PEWTERCITYCURSCRIPT], a + ret + +MovementData_PewterMuseumGuyExit: ; 192ce (6:52ce) + db $00,$00,$00,$00,$FF + +PewterCityScript2: ; 192d3 (6:52d3) + ld a, [$d730] + bit 0, a + ret nz + ld a, $3 + ld [$cc4d], a + ld a, $11 + call Predef + ld a, $3 + ld [W_PEWTERCITYCURSCRIPT], a + ret + +PewterCityScript3: ; 192e9 (6:52e9) + ld a, $3 + ld [$cf13], a + call Func_32fe + ld a, $3 + ld [$cc4d], a + ld a, $15 + call Predef + xor a + ld [wJoypadForbiddenButtonsMask], a + ld a, $0 + ld [W_PEWTERCITYCURSCRIPT], a + ret + +PewterCityScript4: ; 19305 (6:5305) + ld a, [$cc57] + and a + ret nz + ld a, $5 + ld [$ff8c], a + ld a, $8 + ld [$ff8d], a + call Func_34a6 + ld a, $18 + ld [$ff8d], a + call Func_34b9 + call Func_2307 + ld hl, wFlags_0xcd60 + set 4, [hl] + ld a, $e + ld [$ff8c], a + call DisplayTextID + ld a, $3c + ld [$ffeb], a + ld a, $40 + ld [$ffec], a + ld a, $16 + ld [$ffed], a + ld a, $10 + ld [$ffee], a + ld a, $5 + ld [$cf13], a + call Func_32f9 + ld a, $5 + ld [$ff8c], a + ld de, MovementData_PewterGymGuyExit + call MoveSprite + ld a, $5 + ld [W_PEWTERCITYCURSCRIPT], a + ret + +MovementData_PewterGymGuyExit: ; 19353 (6:5353) + db $C0,$C0,$C0,$C0,$C0,$FF + +PewterCityScript5: ; 19359 (6:5359) + ld a, [$d730] + bit 0, a + ret nz + ld a, $4 + ld [$cc4d], a + ld a, $11 + call Predef + ld a, $6 + ld [W_PEWTERCITYCURSCRIPT], a + ret + +PewterCityScript6: ; 1936f (6:536f) + ld a, $5 + ld [$cf13], a + call Func_32fe + ld a, $4 + ld [$cc4d], a + ld a, $15 + call Predef + xor a + ld [wJoypadForbiddenButtonsMask], a + ld a, $0 + ld [W_PEWTERCITYCURSCRIPT], a + ret + +PewterCityTextPointers: ; 1938b (6:538b) + dw PewterCityText1 + dw PewterCityText2 + dw PewterCityText3 + dw PewterCityText4 + dw PewterCityText5 + dw PewterCityText6 + dw PewterCityText7 + dw MartSignText + dw PokeCenterSignText + dw PewterCityText10 + dw PewterCityText11 + dw PewterCityText12 + dw PewterCityText13 + dw PewterCityText14 + +PewterCityText1: ; 193a7 (6:53a7) + TX_FAR _PewterCityText1 + db "@" + +PewterCityText2: ; 193ac (6:53ac) + TX_FAR _PewterCityText2 + db "@" + +PewterCityText3: ; 193b1 (6:53b1) + db $08 ; asm + ld hl, PewterCityText_193f1 + call PrintText + call YesNoChoice + ld a, [$cc26] + and a + jr nz, .asm_f46a9 ; 0x193bf + ld hl, PewterCityText_193f6 + call PrintText + jr .asm_ac429 ; 0x193c7 +.asm_f46a9 ; 0x193c9 + ld hl, PewterCityText_193fb + call PrintText + xor a + ldh [$b3], a + ldh [$b4], a + ld [$cf10], a + ld a, $2 + ld [$cc57], a + ldh a, [$b8] + ld [$cc58], a + ld a, $3 + ld [$cf13], a + call Func_32f4 + ld a, $1 + ld [W_PEWTERCITYCURSCRIPT], a +.asm_ac429 ; 0x193ee + jp TextScriptEnd + +PewterCityText_193f1: ; 193f1 (6:53f1) + TX_FAR _PewterCityText_193f1 + db "@" + +PewterCityText_193f6: ; 193f6 (6:53f6) + TX_FAR _PewterCityText_193f6 + db "@" + +PewterCityText_193fb: ; 193fb (6:53fb) + TX_FAR _PewterCityText_193fb + db "@" + +PewterCityText13: ; 19400 (6:5400) + TX_FAR _PewterCityText13 + db "@" + +PewterCityText4: ; 19405 (6:5405) + db $8 + ld hl, PewterCityText_19427 + call PrintText + call YesNoChoice + ld a, [$cc26] + cp $0 + jr nz, .asm_e4603 + ld hl, PewterCityText_1942c + call PrintText + jr .asm_e4604 ; 0x1941c $6 +.asm_e4603 + ld hl, PewterCityText_19431 + call PrintText +.asm_e4604 ; 0x19424 + jp TextScriptEnd + +PewterCityText_19427: ; 19427 (6:5427) + TX_FAR _PewterCityText_19427 + db "@" + +PewterCityText_1942c: ; 1942c (6:542c) + TX_FAR _PewterCityText_1942c + db "@" + +PewterCityText_19431: ; 19431 (6:5431) + TX_FAR _PewterCityText_19431 + db "@" + +PewterCityText5: ; 19436 (6:5436) + db $08 ; asm + ld hl, PewterCityText_1945d + call PrintText + xor a + ldh [$b4], a + ld [$cf10], a + ld a, $3 + ld [$cc57], a + ldh a, [$b8] + ld [$cc58], a + ld a, $5 + ld [$cf13], a + call Func_32f4 + ld a, $4 + ld [W_PEWTERCITYCURSCRIPT], a + jp TextScriptEnd + +PewterCityText_1945d: ; 1945d (6:545d) + TX_FAR _PewterCityText_1945d + db "@" + +PewterCityText14: ; 19462 (6:5462) + +PewterCityText_19462: ; 19462 (6:5462) + TX_FAR _PewterCityText_19462 + db "@" + +PewterCityText6: ; 19467 (6:5467) + TX_FAR _PewterCityText6 + db "@" + +PewterCityText7: ; 1946c (6:546c) + TX_FAR _PewterCityText7 + db "@" + +PewterCityText10: ; 19471 (6:5471) + TX_FAR _PewterCityText10 + db "@" + +PewterCityText11: ; 19476 (6:5476) + TX_FAR _PewterCityText11 + db "@" + +PewterCityText12: ; 1947b (6:547b) + TX_FAR _PewterCityText12 + db "@" diff --git a/scripts/pewtergym.asm b/scripts/pewtergym.asm new file mode 100755 index 00000000..2ba001d4 --- /dev/null +++ b/scripts/pewtergym.asm @@ -0,0 +1,237 @@ +PewterGymScript: ; 5c387 (17:4387) + ld hl, $d126 + bit 6, [hl] + res 6, [hl] + call nz, PewterGymScript_5c3a4 + call EnableAutoTextBoxDrawing + ld hl, PewterGymTrainerHeaders + ld de, PewterGymScriptPointers + ld a, [W_PEWTERGYMCURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_PEWTERGYMCURSCRIPT], a + ret + +PewterGymScript_5c3a4: ; 5c3a4 (17:43a4) + ld hl, Gym1CityName ; $43ad + ld de, Gym1LeaderName ; $43b9 + jp LoadGymLeaderAndCityName + +Gym1CityName: ; 5c3ad (17:43ad) + db "PEWTER CITY@" + +Gym1LeaderName: ; 5c3b9 (17:43b9) + db "BROCK@" + +PewterGymScript_5c3bf: ; 5c3bf (17:43bf) + xor a + ld [wJoypadForbiddenButtonsMask], a + ld [W_PEWTERGYMCURSCRIPT], a + ld [W_CURMAPSCRIPT], a + ret + +PewterGymScriptPointers: ; 5c3ca (17:43ca) + dw CheckFightingMapTrainers + dw Func_324c + dw EndTrainerBattle + dw PewterGymScript3 + +PewterGymScript3: ; 5c3d2 (17:43d2) + ld a, [W_ISINBATTLE] ; $d057 + cp $ff + jp z, PewterGymScript_5c3bf + ld a, $f0 + ld [wJoypadForbiddenButtonsMask], a + +PewterGymScript_5c3df: ; 5c3df (17:43df) + ld a, $4 + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + call DisplayTextID + ld hl, $d755 + set 7, [hl] + ld bc, (TM_34 << 8) | 1 + call GiveItem + jr nc, .BagFull + ld a, $5 + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + call DisplayTextID + ld hl, $d755 + set 6, [hl] + jr .asm_5c408 +.BagFull + ld a, $6 + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + call DisplayTextID +.asm_5c408 + ld hl, W_OBTAINEDBADGES + set 0, [hl] + ld hl, $d72a + set 0, [hl] + + ld a, $4 + ld [$cc4d], a + ld a, $11 + call Predef ; indirect jump to RemoveMissableObject (f1d7 (3:71d7)) + ld a, $22 + ld [$cc4d], a + ld a, $11 + call Predef ; indirect jump to RemoveMissableObject (f1d7 (3:71d7)) + + ld hl, $d7eb + res 0, [hl] + res 7, [hl] + + ; deactivate gym trainers + ld hl, $d755 + set 2, [hl] + + jp PewterGymScript_5c3bf + +PewterGymTextPointers: ; 5c435 (17:4435) + dw PewterGymText1 + dw PewterGymText2 + dw PewterGymText3 + dw PewterGymText4 + dw PewterGymText5 + dw PewterGymText6 + +PewterGymTrainerHeaders: ; 5c441 (17:4441) +PewterGymTrainerHeader0: ; 5c441 (17:4441) + db $2 ; flag's bit + db ($5 << 4) ; trainer's view range + dw $d755 ; flag's byte + dw PewterGymBattleText1 ; 0x44d0 TextBeforeBattle + dw PewterGymAfterBattleText1 ; 0x44da TextAfterBattle + dw PewterGymEndBattleText1 ; 0x44d5 TextEndBattle + dw PewterGymEndBattleText1 ; 0x44d5 TextEndBattle + + db $ff + +PewterGymText1: ; 5c44e (17:444e) + db $08 ; asm + ld a, [$d755] + bit 7, a + jr z, .asm_4a735 ; 0x5c454 + bit 6, a + jr nz, .asm_ff7d0 ; 0x5c458 + call z, PewterGymScript_5c3df + call DisableWaitingAfterTextDisplay + jr .asm_e0ffb ; 0x5c460 +.asm_ff7d0 ; 0x5c462 + ld hl, PewterGymText_5c4a3 + call PrintText + jr .asm_e0ffb ; 0x5c468 +.asm_4a735 ; 0x5c46a + ld hl, PewterGymText_5c49e + call PrintText + ld hl, $d72d + set 6, [hl] + set 7, [hl] + ld hl, PewterGymText_5c4bc + ld de, PewterGymText_5c4bc + call PreBattleSaveRegisters + ldh a, [$8c] + ld [$cf13], a + call EngageMapTrainer + call InitBattleEnemyParameters + ld a, $1 + ld [$d05c], a + xor a + ldh [$b4], a + ld a, $3 + ld [W_PEWTERGYMCURSCRIPT], a + ld [W_CURMAPSCRIPT], a +.asm_e0ffb ; 0x5c49b + jp TextScriptEnd + +PewterGymText_5c49e: ; 5c49e (17:449e) + TX_FAR _PewterGymText_5c49e + db "@" + +PewterGymText_5c4a3: ; 5c4a3 (17:44a3) + TX_FAR _PewterGymText_5c4a3 + db "@" + +PewterGymText4: ; 5c4a8 (17:44a8) + TX_FAR _TM34PreReceiveText + db "@" + +PewterGymText5: ; 5c4ad (17:44ad) + TX_FAR _ReceivedTM34Text + db $0B + TX_FAR _TM34ExplanationText + db "@" + +PewterGymText6: ; 5c4b7 (17:44b7) + TX_FAR _TM34NoRoomText + db "@" + +PewterGymText_5c4bc: ; 5c4bc (17:44bc) + TX_FAR _PewterGymText_5c4bc + db $0B + TX_FAR _PewterGymText_5c4c1 + db "@" + +PewterGymText2: ; 5c4c6 (17:44c6) + db $08 ; asm + ld hl, PewterGymTrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +PewterGymBattleText1: ; 5c4d0 (17:44d0) + TX_FAR _PewterGymBattleText1 + db "@" + +PewterGymEndBattleText1: ; 5c4d5 (17:44d5) + TX_FAR _PewterGymEndBattleText1 + db "@" + +PewterGymAfterBattleText1: ; 5c4da (17:44da) + TX_FAR _PewterGymAfterBattleText1 + db "@" + +PewterGymText3: ; 5c4df (17:44df) + db $08 ; asm + ld a, [$d72a] + bit 0, a + jr nz, .asm_71369 ; 0x5c4e5 + ld hl, PewterGymText_5c515 + call PrintText + call YesNoChoice + ld a, [$cc26] + and a + jr nz, .asm_6123a ; 0x5c4f4 + ld hl, PewterGymText_5c51a + call PrintText + jr .asm_d1578 ; 0x5c4fc +.asm_6123a ; 0x5c4fe + ld hl, PewterGymText_5c524 + call PrintText +.asm_d1578 ; 0x5c504 + ld hl, PewterGymText_5c51f + call PrintText + jr .asm_07013 ; 0x5c50a +.asm_71369 ; 0x5c50c + ld hl, PewterGymText_5c529 + call PrintText +.asm_07013 ; 0x5c512 + jp TextScriptEnd + +PewterGymText_5c515: ; 5c515 (17:4515) + TX_FAR _PewterGymText_5c515 + db "@" + +PewterGymText_5c51a: ; 5c51a (17:451a) + TX_FAR _PewterGymText_5c51a + db "@" + +PewterGymText_5c51f: ; 5c51f (17:451f) + TX_FAR _PewterGymText_5c51f + db "@" + +PewterGymText_5c524: ; 5c524 (17:4524) + TX_FAR _PewterGymText_5c524 + db "@" + +PewterGymText_5c529: ; 5c529 (17:4529) + TX_FAR _PewterGymText_5c529 + db "@" diff --git a/scripts/pewterhouse1.asm b/scripts/pewterhouse1.asm new file mode 100755 index 00000000..05d27a14 --- /dev/null +++ b/scripts/pewterhouse1.asm @@ -0,0 +1,23 @@ +PewterHouse1Script: ; 1d5f3 (7:55f3) + jp EnableAutoTextBoxDrawing + +PewterHouse1TextPointers: ; 1d5f6 (7:55f6) + dw PewterHouse1Text1 + dw PewterHouse1Text2 + dw PewterHouse1Text3 + +PewterHouse1Text1: ; 1d5fc (7:55fc) + TX_FAR _PewterHouse1Text1 + db $08 ; asm + ld a, NIDORAN_M + call PlayCry + call WaitForSoundToFinish + jp TextScriptEnd + +PewterHouse1Text2: ; 1d60c (7:560c) + TX_FAR _PewterHouse1Text2 + db "@" + +PewterHouse1Text3: ; 1d611 (7:5611) + TX_FAR _PewterHouse1Text3 + db "@" diff --git a/scripts/pewterhouse2.asm b/scripts/pewterhouse2.asm new file mode 100755 index 00000000..92e40de2 --- /dev/null +++ b/scripts/pewterhouse2.asm @@ -0,0 +1,14 @@ +PewterHouse2Script: ; 1d648 (7:5648) + jp EnableAutoTextBoxDrawing + +PewterHouse2TextPointers: ; 1d64b (7:564b) + dw PewterHouse2Text1 + dw PewterHouse2Text2 + +PewterHouse2Text1: ; 1d64f (7:564f) + TX_FAR _PewterHouse2Text1 + db "@" + +PewterHouse2Text2: ; 1d654 (7:5654) + TX_FAR _PewterHouse2Text2 + db "@" diff --git a/scripts/pewtermart.asm b/scripts/pewtermart.asm new file mode 100755 index 00000000..3abe2a93 --- /dev/null +++ b/scripts/pewtermart.asm @@ -0,0 +1,30 @@ +PewterMartScript: ; 74cad (1d:4cad) + call EnableAutoTextBoxDrawing + ld a, $1 + ld [$cf0c], a + ret + +PewterMartTextPointers: ; 74cb6 (1d:4cb6) + dw PewterMartText1 + dw PewterMartText2 + dw PewterMartText3 + +PewterMartText2: ; 74cbc (1d:4cbc) + db $08 ; asm + ld hl, PewterMartText_74cc6 + call PrintText + jp TextScriptEnd + +PewterMartText_74cc6: ; 74cc6 (1d:4cc6) + TX_FAR _PewterMartText_74cc6 + db "@" + +PewterMartText3: ; 74ccb (1d:4ccb) + db $08 ; asm + ld hl, PewterMartText_74cd5 + call PrintText + jp TextScriptEnd + +PewterMartText_74cd5: ; 74cd5 (1d:4cd5) + TX_FAR _PewterMartText_74cd5 + db "@" diff --git a/scripts/pewterpokecenter.asm b/scripts/pewterpokecenter.asm new file mode 100755 index 00000000..4b97a01d --- /dev/null +++ b/scripts/pewterpokecenter.asm @@ -0,0 +1,75 @@ +PewterPokecenterScript: ; 5c587 (17:4587) + call Func_22fa + jp EnableAutoTextBoxDrawing + +PewterPokecenterTextPointers: ; 5c58d (17:458d) + dw PewterPokecenterText1 + dw PewterPokecenterText2 + dw PewterPokecenterText3 + dw PewterPokecenterText4 + +PewterPokecenterText1: ; 5c595 (17:4595) + db $ff + +PewterPokecenterText2: ; 5c596 (17:4596) + TX_FAR _PewterPokecenterText1 + db "@" + +PewterPokecenterText3: ; 5c59b (17:459b) + db $8 + ld a, $1 + ld [$cc3c], a + ld hl, PewterPokecenterText5 + call PrintText + ld a, $ff + call PlaySound + ld c, $20 + call DelayFrames + ld hl, Unknown_5c608 ; $4608 + ld de, $cd3f + ld bc, $0004 + call CopyData + ld a, [$c132] + ld hl, $cd3f +.asm_5c5c3 + cp [hl] + inc hl + jr nz, .asm_5c5c3 ; 0x5c5c5 $fc + dec hl + push hl + ld c, BANK(Music_JigglypuffSong) + ld a, MUSIC_JIGGLYPUFF_SONG + call PlayMusic + pop hl +.asm_5c5d1 + ld a, [hl] + ld [$c132], a + push hl + ld hl, $cd3f + ld de, $cd3e + ld bc, $0004 + call CopyData + ld a, [$cd3e] + ld [$cd42], a + pop hl + ld c, $18 + call DelayFrames + ld a, [$c026] + ld b, a + ld a, [$c027] + or b + jr nz, .asm_5c5d1 ; 0x5c5f6 $d9 + ld c, $30 + call DelayFrames + call Func_2307 + jp TextScriptEnd + +PewterPokecenterText5: ; 5c603 (17:4603) + TX_FAR _PewterPokecenterText5 + db "@" + +Unknown_5c608: ; 5c608 (17:4608) + db $30, $38, $34, $3c + +PewterPokecenterText4: ; 5c60c (17:460c) + db $f6 diff --git a/scripts/pokemontower1.asm b/scripts/pokemontower1.asm new file mode 100755 index 00000000..4887e740 --- /dev/null +++ b/scripts/pokemontower1.asm @@ -0,0 +1,29 @@ +PokemonTower1Script: ; 6042c (18:442c) + jp EnableAutoTextBoxDrawing + +PokemonTower1TextPointers: ; 6042f (18:442f) + dw PokemonTower1Text1 + dw PokemonTower1Text2 + dw PokemonTower1Text3 + dw PokemonTower1Text4 + dw PokemonTower1Text5 + +PokemonTower1Text1: ; 60439 (18:4439) + TX_FAR _PokemonTower1Text1 + db "@" + +PokemonTower1Text2: ; 6043e (18:443e) + TX_FAR _PokemonTower1Text2 + db "@" + +PokemonTower1Text3: ; 60443 (18:4443) + TX_FAR _PokemonTower1Text3 + db "@" + +PokemonTower1Text4: ; 60448 (18:4448) + TX_FAR _PokemonTower1Text4 + db "@" + +PokemonTower1Text5: ; 6044d (18:444d) + TX_FAR _PokemonTower1Text5 + db "@" diff --git a/scripts/pokemontower2.asm b/scripts/pokemontower2.asm new file mode 100755 index 00000000..0dbb3a93 --- /dev/null +++ b/scripts/pokemontower2.asm @@ -0,0 +1,180 @@ +PokemonTower2Script: ; 604f2 (18:44f2) + call EnableAutoTextBoxDrawing + ld hl, PokemonTower2ScriptPointers + ld a, [W_POKEMONTOWER2CURSCRIPT] + jp CallFunctionInTable + +PokemonTower2Script_604fe: ; 604fe (18:44fe) + xor a + ld [wJoypadForbiddenButtonsMask], a + ld [W_POKEMONTOWER2CURSCRIPT], a + ld [W_CURMAPSCRIPT], a + ret + +PokemonTower2ScriptPointers: ; 60509 (18:4509) + dw PokemonTower2Script0 + dw PokemonTower2Script1 + dw PokemonTower2Script2 + +PokemonTower2Script0: ; 6050f (18:450f) + ld a, [$d764] + bit 7, a + ret nz + ld hl, CoordsData_6055e ; $455e + call ArePlayerCoordsInArray + ret nc + ld a, $ff + ld [$c0ee], a + call PlaySound + ld c, BANK(Music_MeetRival) + ld a, MUSIC_MEET_RIVAL + call PlayMusic + ld hl, $d764 + res 6, [hl] + ld a, [$cd3d] + cp $1 + ld a, $8 + ld b, $0 + jr nz, .asm_60544 ; 0x60539 $9 + ld hl, $d764 + set 6, [hl] + ld a, $2 + ld b, $c +.asm_60544 + ld [$d528], a + ld a, $1 + ld [$ff8c], a + ld a, b + ld [$ff8d], a + call Func_34a6 + ld a, $1 + ld [$ff8c], a + call DisplayTextID + xor a + ld [H_CURRENTPRESSEDBUTTONS], a + ld [H_NEWLYPRESSEDBUTTONS], a + ret + +CoordsData_6055e: ; 6055e (18:455e) + db $05,$0F + db $06,$0E + db $0F ; isn't this supposed to end in $ff? + +PokemonTower2Script1: ; 60563 (18:4563) + ld a, [$d057] + cp $ff + jp z, PokemonTower2Script_604fe + ld a, $f0 + ld [wJoypadForbiddenButtonsMask], a + ld hl, $d764 + set 7, [hl] + ld a, $1 + ld [$ff8c], a + call DisplayTextID + ld de, MovementData_605b2 + ld a, [$d764] + bit 6, a + jr nz, .asm_60589 ; 0x60584 $3 + ld de, MovementData_605a9 +.asm_60589 + ld a, $1 + ld [$ff8c], a + call MoveSprite + ld a, $ff + ld [$c0ee], a + call PlaySound + ld b, BANK(Music_RivalAlternateStart) + ld hl, Music_RivalAlternateStart + call Bankswitch + ld a, $2 + ld [W_POKEMONTOWER2CURSCRIPT], a + ld [W_CURMAPSCRIPT], a + ret + +MovementData_605a9: ; 605a9 (18:45a9) + db $C0,$00,$00,$C0,$00,$00,$C0,$C0,$FF + +MovementData_605b2: ; 605b2 (18:45b2) + db $00,$00,$C0,$C0,$C0,$C0,$00,$00,$FF + +PokemonTower2Script2: ; 605bb (18:45bb) + ld a, [$d730] + bit 0, a + ret nz + ld a, $38 + ld [$cc4d], a + ld a, $11 + call Predef + xor a + ld [wJoypadForbiddenButtonsMask], a + call Func_2307 + ld a, $0 + ld [W_POKEMONTOWER2CURSCRIPT], a + ld [W_CURMAPSCRIPT], a + ret + +PokemonTower2TextPointers: ; 605db (18:45db) + dw PokemonTower2Text1 + dw PokemonTower2Text2 + +PokemonTower2Text1: ; 605df (18:45df) + db $08 ; asm + ld a, [$d764] + bit 7, a + jr z, .asm_16f24 ; 0x605e5 + ld hl, PokemonTower2Text_6063c + call PrintText + jr .asm_41852 ; 0x605ed +.asm_16f24 ; 0x605ef + ld hl, PokemonTower2Text_6062d + call PrintText + ld hl, $d72d + set 6, [hl] + set 7, [hl] + ld hl, PokemonTower2Text_60632 + ld de, PokemonTower2Text_60637 ; XXX $4637 + call PreBattleSaveRegisters + ld a, SONY2 + $c8 + ld [W_CUROPPONENT], a + + ; select which team to use during the encounter + ld a, [W_RIVALSTARTER] + cp SQUIRTLE + jr nz, .NotSquirtle ; 0x6060f + ld a, $4 + jr .done +.NotSquirtle ; 0x60615 + cp BULBASAUR + jr nz, .Charmander ; 0x60617 + ld a, $5 + jr .done +.Charmander ; 0x6061d + ld a, $6 +.done + ld [W_TRAINERNO], a + + ld a, $1 + ld [W_POKEMONTOWER2CURSCRIPT], a + ld [W_CURMAPSCRIPT], a +.asm_41852 ; 0x6062a + jp TextScriptEnd + +PokemonTower2Text_6062d: ; 6062d (18:462d) + TX_FAR _PokemonTower2Text_6062d + db "@" + +PokemonTower2Text_60632: ; 60632 (18:4632) + TX_FAR _PokemonTower2Text_60632 + db "@" + +PokemonTower2Text_60637: ; 60637 (18:4637) + TX_FAR _PokemonTower2Text_60637 + db "@" + +PokemonTower2Text_6063c: ; 6063c (18:463c) + TX_FAR _PokemonTower2Text_6063c + db "@" + +PokemonTower2Text2: ; 60641 (18:4641) + TX_FAR _PokemonTower2Text2 + db "@" diff --git a/scripts/pokemontower3.asm b/scripts/pokemontower3.asm new file mode 100755 index 00000000..74568a83 --- /dev/null +++ b/scripts/pokemontower3.asm @@ -0,0 +1,102 @@ +PokemonTower3Script: ; 606cc (18:46cc) + call EnableAutoTextBoxDrawing + ld hl, PokemonTower3TrainerHeaders + ld de, PokemonTower3ScriptPointers + ld a, [W_POKEMONTOWER3CURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_POKEMONTOWER3CURSCRIPT], a + ret + +PokemonTower3ScriptPointers: ; 606df (18:46df) + dw CheckFightingMapTrainers + dw Func_324c + dw EndTrainerBattle + +PokemonTower3TextPointers: ; 606e5 (18:46e5) + dw PokemonTower3Text1 + dw PokemonTower3Text2 + dw PokemonTower3Text3 + dw Predef5CText + +PokemonTower3TrainerHeaders: ; 606ed (18:46ed) +PokemonTower3TrainerHeader0: ; 606ed (18:46ed) + db $1 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d765 ; flag's byte + dw PokemonTower3BattleText1 ; 0x4730 TextBeforeBattle + dw PokemonTower3AfterBattleText1 ; 0x473a TextAfterBattle + dw PokemonTower3EndBattleText1 ; 0x4735 TextEndBattle + dw PokemonTower3EndBattleText1 ; 0x4735 TextEndBattle + +PokemonTower3TrainerHeader1: ; 606f9 (18:46f9) + db $2 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d765 ; flag's byte + dw PokemonTower3BattleText2 ; 0x473f TextBeforeBattle + dw PokemonTower3AfterBattleText2 ; 0x4749 TextAfterBattle + dw PokemonTower3EndBattleText2 ; 0x4744 TextEndBattle + dw PokemonTower3EndBattleText2 ; 0x4744 TextEndBattle + +PokemonTower3TrainerHeader2: ; 60705 (18:4705) + db $3 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d765 ; flag's byte + dw PokemonTower3BattleText3 ; 0x474e TextBeforeBattle + dw PokemonTower3AfterBattleText3 ; 0x4758 TextAfterBattle + dw PokemonTower3EndBattleText3 ; 0x4753 TextEndBattle + dw PokemonTower3EndBattleText3 ; 0x4753 TextEndBattle + db $ff + +PokemonTower3Text1: ; 60712 (18:4712) + db $08 ; asm + ld hl, PokemonTower3TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +PokemonTower3Text2: ; 6071c (18:471c) + db $08 ; asm + ld hl, PokemonTower3TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +PokemonTower3Text3: ; 60726 (18:4726) + db $08 ; asm + ld hl, PokemonTower3TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +PokemonTower3BattleText1: ; 60730 (18:4730) + TX_FAR _PokemonTower3BattleText1 + db "@" + +PokemonTower3EndBattleText1: ; 60735 (18:4735) + TX_FAR _PokemonTower3EndBattleText1 + db "@" + +PokemonTower3AfterBattleText1: ; 6073a (18:473a) + TX_FAR _PokemonTower3AfterBattleText1 + db "@" + +PokemonTower3BattleText2: ; 6073f (18:473f) + TX_FAR _PokemonTower3BattleText2 + db "@" + +PokemonTower3EndBattleText2: ; 60744 (18:4744) + TX_FAR _PokemonTower3EndBattleText2 + db "@" + +PokemonTower3AfterBattleText2: ; 60749 (18:4749) + TX_FAR _PokemonTower3AfterBattleText2 + db "@" + +PokemonTower3BattleText3: ; 6074e (18:474e) + TX_FAR _PokemonTower3BattleText3 + db "@" + +PokemonTower3EndBattleText3: ; 60753 (18:4753) + TX_FAR _PokemonTower3EndBattleText3 + db "@" + +PokemonTower3AfterBattleText3: ; 60758 (18:4758) + TX_FAR _PokemonTower3AfterBattleText3 + db "@" diff --git a/scripts/pokemontower4.asm b/scripts/pokemontower4.asm new file mode 100755 index 00000000..05fcb23f --- /dev/null +++ b/scripts/pokemontower4.asm @@ -0,0 +1,105 @@ +PokemonTower4Script: ; 607f6 (18:47f6) + call EnableAutoTextBoxDrawing + ld hl, PokemonTower4TrainerHeaders + ld de, PokemonTower4ScriptPointers + ld a, [W_POKEMONTOWER4CURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_POKEMONTOWER4CURSCRIPT], a + ret + +PokemonTower4ScriptPointers: ; 60809 (18:4809) + dw CheckFightingMapTrainers + dw Func_324c + dw EndTrainerBattle + +PokemonTower4TextPointers: ; 6080f (18:480f) + dw PokemonTower4Text1 + dw PokemonTower4Text2 + dw PokemonTower4Text3 + dw Predef5CText + dw Predef5CText + dw Predef5CText + +PokemonTower4TrainerHeaders: ; 6081b (18:481b) +PokemonTower4TrainerHeader0: ; 6081b (18:481b) + db $1 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d766 ; flag's byte + dw PokemonTower4BattleText1 ; 0x485e TextBeforeBattle + dw PokemonTower4AfterBattleText1 ; 0x4868 TextAfterBattle + dw PokemonTower4EndBattleText1 ; 0x4863 TextEndBattle + dw PokemonTower4EndBattleText1 ; 0x4863 TextEndBattle + +PokemonTower4TrainerHeader1: ; 60827 (18:4827) + db $2 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d766 ; flag's byte + dw PokemonTower4BattleText2 ; 0x486d TextBeforeBattle + dw PokemonTower4AfterBattleText2 ; 0x4877 TextAfterBattle + dw PokemonTower4EndBattleText2 ; 0x4872 TextEndBattle + dw PokemonTower4EndBattleText2 ; 0x4872 TextEndBattle + +PokemonTower4TrainerHeader2: ; 60833 (18:4833) + db $3 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d766 ; flag's byte + dw PokemonTower4BattleText3 ; 0x487c TextBeforeBattle + dw PokemonTower4AfterBattleText3 ; 0x4886 TextAfterBattle + dw PokemonTower4EndBattleText3 ; 0x4881 TextEndBattle + dw PokemonTower4EndBattleText3 ; 0x4881 TextEndBattle + + db $ff + +PokemonTower4Text1: ; 60840 (18:4840) + db $08 ; asm + ld hl, PokemonTower4TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +PokemonTower4Text2: ; 6084a (18:484a) + db $08 ; asm + ld hl, PokemonTower4TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +PokemonTower4Text3: ; 60854 (18:4854) + db $08 ; asm + ld hl, PokemonTower4TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +PokemonTower4BattleText1: ; 6085e (18:485e) + TX_FAR _PokemonTower4BattleText1 + db "@" + +PokemonTower4EndBattleText1: ; 60863 (18:4863) + TX_FAR _PokemonTower4EndBattleText1 + db "@" + +PokemonTower4AfterBattleText1: ; 60868 (18:4868) + TX_FAR _PokemonTower4AfterBattleText1 + db "@" + +PokemonTower4BattleText2: ; 6086d (18:486d) + TX_FAR _PokemonTower4BattleText2 + db "@" + +PokemonTower4EndBattleText2: ; 60872 (18:4872) + TX_FAR _PokemonTower4EndBattleText2 + db "@" + +PokemonTower4AfterBattleText2: ; 60877 (18:4877) + TX_FAR _PokemonTower4AfterBattleText2 + db "@" + +PokemonTower4BattleText3: ; 6087c (18:487c) + TX_FAR _PokemonTower4BattleText3 + db "@" + +PokemonTower4EndBattleText3: ; 60881 (18:4881) + TX_FAR _PokemonTower4EndBattleText3 + db "@" + +PokemonTower4AfterBattleText3: ; 60886 (18:4886) + TX_FAR _PokemonTower4AfterBattleText3 + db "@" diff --git a/scripts/pokemontower5.asm b/scripts/pokemontower5.asm new file mode 100755 index 00000000..5c43c7da --- /dev/null +++ b/scripts/pokemontower5.asm @@ -0,0 +1,181 @@ +PokemonTower5Script: ; 60932 (18:4932) + call EnableAutoTextBoxDrawing + ld hl, PokemonTower5TrainerHeaders + ld de, PokemonTower5ScriptPointers + ld a, [W_POKEMONTOWER5CURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_POKEMONTOWER5CURSCRIPT], a + ret + +PokemonTower5ScriptPointers: ; 60945 (18:4945) + dw PokemonTower5Script0 + dw Func_324c + dw EndTrainerBattle + +PokemonTower5Script0: ; 6094b (18:494b) + ld hl, CoordsData_60992 ; $4992 + call ArePlayerCoordsInArray + jr c, .asm_60960 + ld hl, $d72e + res 4, [hl] + ld hl, $d767 + res 7, [hl] + jp CheckFightingMapTrainers +.asm_60960 + ld hl, $d767 + bit 7, [hl] + set 7, [hl] + ret nz + xor a + ld [H_CURRENTPRESSEDBUTTONS], a + ld a, $f0 + ld [wJoypadForbiddenButtonsMask], a + ld hl, $d72e + set 4, [hl] + ld a, $7 + call Predef ; indirect jump to HealParty (f6a5 (3:76a5)) + call GBFadeOut2 + call Delay3 + call Delay3 + call GBFadeIn2 + ld a, $7 + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + call DisplayTextID + xor a + ld [wJoypadForbiddenButtonsMask], a + ret + +CoordsData_60992: ; 60992 (18:4992) + db $08,$0A + db $08,$0B + db $09,$0A + db $09,$0B + db $FF + +PokemonTower5TextPointers: ; 6099b (18:499b) + dw PokemonTower5Text1 + dw PokemonTower5Text2 + dw PokemonTower5Text3 + dw PokemonTower5Text4 + dw PokemonTower5Text5 + dw Predef5CText + dw PokemonTower5Text7 + +PokemonTower5TrainerHeaders: ; 609a9 (18:49a9) +PokemonTower5TrainerHeader0: ; 609a9 (18:49a9) + db $2 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d767 ; flag's byte + dw PokemonTower5BattleText1 ; 0x49e9 TextBeforeBattle + dw PokemonTower5AfterBattleText1 ; 0x49f3 TextAfterBattle + dw PokemonTower5EndBattleText1 ; 0x49ee TextEndBattle + dw PokemonTower5EndBattleText1 ; 0x49ee TextEndBattle + +PokemonTower5TrainerHeader1: ; 609b5 (18:49b5) + db $3 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d767 ; flag's byte + dw PokemonTower5BattleText2 ; 0x4a02 TextBeforeBattle + dw PokemonTower5AfterBattleText2 ; 0x4a0c TextAfterBattle + dw PokemonTower5EndBattleText2 ; 0x4a07 TextEndBattle + dw PokemonTower5EndBattleText2 ; 0x4a07 TextEndBattle + +PokemonTower5TrainerHeader2: ; 609c1 (18:49c1) + db $4 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d767 ; flag's byte + dw PokemonTower5BattleText3 ; 0x4a1b TextBeforeBattle + dw PokemonTower5AfterBattleText3 ; 0x4a25 TextAfterBattle + dw PokemonTower5EndBattleText3 ; 0x4a20 TextEndBattle + dw PokemonTower5EndBattleText3 ; 0x4a20 TextEndBattle + +PokemonTower5TrainerHeader3: ; 609cd (18:49cd) + db $5 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d767 ; flag's byte + dw PokemonTower5BattleText4 ; 0x4a34 TextBeforeBattle + dw PokemonTower5AfterBattleText4 ; 0x4a3e TextAfterBattle + dw PokemonTower5EndBattleText4 ; 0x4a39 TextEndBattle + dw PokemonTower5EndBattleText4 ; 0x4a39 TextEndBattle + + db $ff + +PokemonTower5Text1: ; 609da (18:49da) + TX_FAR _PokemonTower5Text1 + db "@" + +PokemonTower5Text2: ; 609df (18:49df) + db $08 ; asm + ld hl, PokemonTower5TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +PokemonTower5BattleText1: ; 609e9 (18:49e9) + TX_FAR _PokemonTower5BattleText1 + db "@" + +PokemonTower5EndBattleText1: ; 609ee (18:49ee) + TX_FAR _PokemonTower5EndBattleText1 + db "@" + +PokemonTower5AfterBattleText1: ; 609f3 (18:49f3) + TX_FAR _PokemonTower5AfterBattleText1 + db "@" + +PokemonTower5Text3: ; 609f8 (18:49f8) + db $08 ; asm + ld hl, PokemonTower5TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +PokemonTower5BattleText2: ; 60a02 (18:4a02) + TX_FAR _PokemonTower5BattleText2 + db "@" + +PokemonTower5EndBattleText2: ; 60a07 (18:4a07) + TX_FAR _PokemonTower5EndBattleText2 + db "@" + +PokemonTower5AfterBattleText2: ; 60a0c (18:4a0c) + TX_FAR _PokemonTower5AfterBattleText2 + db "@" + +PokemonTower5Text4: ; 60a11 (18:4a11) + db $08 ; asm + ld hl, PokemonTower5TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +PokemonTower5BattleText3: ; 60a1b (18:4a1b) + TX_FAR _PokemonTower5BattleText3 + db "@" + +PokemonTower5EndBattleText3: ; 60a20 (18:4a20) + TX_FAR _PokemonTower5EndBattleText3 + db "@" + +PokemonTower5AfterBattleText3: ; 60a25 (18:4a25) + TX_FAR _PokemonTower5AfterBattleText3 + db "@" + +PokemonTower5Text5: ; 60a2a (18:4a2a) + db $08 ; asm + ld hl, PokemonTower5TrainerHeader3 ; $49cd + call TalkToTrainer + jp TextScriptEnd + +PokemonTower5BattleText4: ; 60a34 (18:4a34) + TX_FAR _PokemonTower5BattleText4 + db "@" + +PokemonTower5EndBattleText4: ; 60a39 (18:4a39) + TX_FAR _PokemonTower5EndBattleText4 + db "@" + +PokemonTower5AfterBattleText4: ; 60a3e (18:4a3e) + TX_FAR _PokemonTower5AfterBattleText4 + db "@" + +PokemonTower5Text7: ; 60a43 (18:4a43) + TX_FAR _PokemonTower5Text7 + db "@" diff --git a/scripts/pokemontower6.asm b/scripts/pokemontower6.asm new file mode 100755 index 00000000..e3d8a4c4 --- /dev/null +++ b/scripts/pokemontower6.asm @@ -0,0 +1,215 @@ +PokemonTower6Script: ; 60aef (18:4aef) + call EnableAutoTextBoxDrawing + ld hl, PokemonTower6TrainerHeaders + ld de, PokemonTower6ScriptPointers + ld a, [W_POKEMONTOWER6CURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_POKEMONTOWER6CURSCRIPT], a + ret + +Func_60b02: ; 60b02 (18:4b02) + xor a + ld [wJoypadForbiddenButtonsMask], a + ld [W_POKEMONTOWER6CURSCRIPT], a + ld [W_CURMAPSCRIPT], a + ret + +PokemonTower6ScriptPointers: ; 60b0d (18:4b0d) + dw PokemonTower6Script0 + dw Func_324c + dw EndTrainerBattle + dw PokemonTower6Script3 + dw PokemonTower6Script4 + +PokemonTower6Script0: ; 60b17 (18:4b17) + ld a, [$d768] + bit 7, a + jp nz, CheckFightingMapTrainers + ld hl, CoordsData_60b45 ; $4b45 + call ArePlayerCoordsInArray + jp nc, CheckFightingMapTrainers + xor a + ld [H_CURRENTPRESSEDBUTTONS], a + ld a, $6 + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + call DisplayTextID + ld a, MAROWAK + ld [W_CUROPPONENT], a ; $d059 + ld a, 30 + ld [W_CURENEMYLVL], a ; $d127 + ld a, $4 + ld [W_POKEMONTOWER6CURSCRIPT], a + ld [W_CURMAPSCRIPT], a + ret + +CoordsData_60b45: ; 60b45 (18:4b45) + db $10,$0A,$FF + +PokemonTower6Script4: ; 60b48 (18:4b48) + ld a, [W_ISINBATTLE] ; $d057 + cp $ff + jp z, Func_60b02 + ld a, $ff + ld [wJoypadForbiddenButtonsMask], a + ld a, [$d72d] + bit 6, a + ret nz + call UpdateSprites + ld a, $f0 + ld [wJoypadForbiddenButtonsMask], a + ld a, [$cf0b] + and a + jr nz, .asm_60b82 + ld hl, $d768 + set 7, [hl] + ld a, $7 + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + call DisplayTextID + xor a + ld [wJoypadForbiddenButtonsMask], a + ld a, $0 + ld [W_POKEMONTOWER6CURSCRIPT], a + ld [W_CURMAPSCRIPT], a + ret +.asm_60b82 + ld a, $1 + ld [$cd38], a + ld a, $10 + ld [$ccd3], a + xor a + ld [$c206], a + ld [$cd3b], a + ld hl, $d730 + set 7, [hl] + ld a, $3 + ld [W_POKEMONTOWER6CURSCRIPT], a + ld [W_CURMAPSCRIPT], a + ret + +PokemonTower6Script3: ; 60ba1 (18:4ba1) + ld a, [$cd38] + and a + ret nz + call Delay3 + xor a + ld [W_POKEMONTOWER6CURSCRIPT], a + ld [W_CURMAPSCRIPT], a + ret + +PokemonTower6TextPointers: ; 60bb1 (18:4bb1) + dw PokemonTower6Text1 + dw PokemonTower6Text2 + dw PokemonTower6Text3 + dw Predef5CText + dw Predef5CText + dw PokemonTower6Text6 + dw PokemonTower6Text7 + +PokemonTower6TrainerHeaders: ; 60bbf (18:4bbf) +PokemonTower6TrainerHeader0: ; 60bbf (18:4bbf) + db $1 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d768 ; flag's byte + dw PokemonTower6BattleText1 ; 0x4c29 TextBeforeBattle + dw PokemonTower6AfterBattleText1 ; 0x4c33 TextAfterBattle + dw PokemonTower6EndBattleText1 ; 0x4c2e TextEndBattle + dw PokemonTower6EndBattleText1 ; 0x4c2e TextEndBattle + +PokemonTower6TrainerHeader1: ; 60bcb (18:4bcb) + db $2 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d768 ; flag's byte + dw PokemonTower6BattleText2 ; 0x4c38 TextBeforeBattle + dw PokemonTower6AfterBattleText2 ; 0x4c42 TextAfterBattle + dw PokemonTower6EndBattleText2 ; 0x4c3d TextEndBattle + dw PokemonTower6EndBattleText2 ; 0x4c3d TextEndBattle + +PokemonTower6TrainerHeader2: ; 60bd7 (18:4bd7) + db $3 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d768 ; flag's byte + dw PokemonTower6BattleText3 ; 0x4c47 TextBeforeBattle + dw PokemonTower6AfterBattleText3 ; 0x4c51 TextAfterBattle + dw PokemonTower6EndBattleText3 ; 0x4c4c TextEndBattle + dw PokemonTower6EndBattleText3 ; 0x4c4c TextEndBattle + + db $ff + +PokemonTower6Text1: ; 60be4 (18:4be4) + db $08 ; asm + ld hl, PokemonTower6TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +PokemonTower6Text2: ; 60bee (18:4bee) + db $08 ; asm + ld hl, PokemonTower6TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +PokemonTower6Text3: ; 60bf8 (18:4bf8) + db $08 ; asm + ld hl, PokemonTower6TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +PokemonTower6Text7: ; 60c02 (18:4c02) + db $8 + ld hl, PokemonTower2Text_60c1f + call PrintText + ld a, MAROWAK + call PlayCry + call WaitForSoundToFinish + ld c, $1e + call DelayFrames + ld hl, PokemonTower2Text_60c24 + call PrintText + jp TextScriptEnd + +PokemonTower2Text_60c1f: ; 60c1f (18:4c1f) + TX_FAR _PokemonTower2Text_60c1f + db "@" + +PokemonTower2Text_60c24: ; 60c24 (18:4c24) + TX_FAR _PokemonTower2Text_60c24 + db "@" + +PokemonTower6BattleText1: ; 60c29 (18:4c29) + TX_FAR _PokemonTower6BattleText1 + db "@" + +PokemonTower6EndBattleText1: ; 60c2e (18:4c2e) + TX_FAR _PokemonTower6EndBattleText1 + db "@" + +PokemonTower6AfterBattleText1: ; 60c33 (18:4c33) + TX_FAR _PokemonTower6AfterBattleText1 + db "@" + +PokemonTower6BattleText2: ; 60c38 (18:4c38) + TX_FAR _PokemonTower6BattleText2 + db "@" + +PokemonTower6EndBattleText2: ; 60c3d (18:4c3d) + TX_FAR _PokemonTower6EndBattleText2 + db "@" + +PokemonTower6AfterBattleText2: ; 60c42 (18:4c42) + TX_FAR _PokemonTower6AfterBattleText2 + db "@" + +PokemonTower6BattleText3: ; 60c47 (18:4c47) + TX_FAR _PokemonTower6BattleText3 + db "@" + +PokemonTower6EndBattleText3: ; 60c4c (18:4c4c) + TX_FAR _PokemonTower6EndBattleText3 + db "@" + +PokemonTower6AfterBattleText3: ; 60c51 (18:4c51) + TX_FAR _PokemonTower6AfterBattleText3 + db "@" + +PokemonTower6Text6: ; 60c56 (18:4c56) + TX_FAR _PokemonTower6Text6 + db "@" diff --git a/scripts/pokemontower7.asm b/scripts/pokemontower7.asm new file mode 100755 index 00000000..6dddebb2 --- /dev/null +++ b/scripts/pokemontower7.asm @@ -0,0 +1,282 @@ +PokemonTower7Script: ; 60d05 (18:4d05) + call EnableAutoTextBoxDrawing + ld hl, PokemonTower7TrainerHeaders + ld de, PokemonTower7ScriptPointers + ld a, [W_POKEMONTOWER7CURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_POKEMONTOWER7CURSCRIPT], a + ret + +PokemonTower7Script_60d18: ; 60d18 (18:4d18) + xor a + ld [wJoypadForbiddenButtonsMask], a + ld [W_POKEMONTOWER7CURSCRIPT], a + ld [W_CURMAPSCRIPT], a + ret + +PokemonTower7ScriptPointers: ; 60d23 (18:4d23) + dw CheckFightingMapTrainers + dw Func_324c + dw PokemonTower7Script2 + dw PokemonTower7Script3 + dw PokemonTower7Script4 + +PokemonTower7Script2: ; 60d23 (18:4d23) + ld hl, wFlags_0xcd60 + res 0, [hl] + ld a, [W_ISINBATTLE] ; $d057 + cp $ff + jp z, PokemonTower7Script_60d18 + call EndTrainerBattle + ld a, $f0 + ld [wJoypadForbiddenButtonsMask], a + ld a, [$cf13] + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + call DisplayTextID + call PokemonTower7Script_60db6 + ld a, $3 + ld [W_POKEMONTOWER7CURSCRIPT], a + ld [W_CURMAPSCRIPT], a + ret + +PokemonTower7Script3: ; 60d56 (18:4d56) + ld a, [$d730] + bit 0, a + ret nz + ld hl, W_MISSABLEOBJECTLIST + ld a, [$cf13] + ld b, a +.missableObjectsListLoop + ld a, [hli] + cp b ; search for sprite ID in missing objects list + ld a, [hli] + jr nz, .missableObjectsListLoop + ld [$cc4d], a ; remove missable object + ld a, $11 + call Predef ; indirect jump to RemoveMissableObject (f1d7 (3:71d7)) + xor a + ld [wJoypadForbiddenButtonsMask], a + ld [$cf13], a + ld [wTrainerHeaderFlagBit], a + ld [$da38], a + ld a, $0 + ld [W_POKEMONTOWER7CURSCRIPT], a + ld [W_CURMAPSCRIPT], a + ret + +PokemonTower7Script4: ; 60d86 (18:4d86) + ld a, $ff + ld [wJoypadForbiddenButtonsMask], a + ld a, $43 + ld [$cc4d], a + ld a, $11 + call Predef ; indirect jump to RemoveMissableObject (f1d7 (3:71d7)) + ld a, $4 + ld [$c109], a + ld a, $95 + ld [H_DOWNARROWBLINKCNT1], a ; $ff8b + ld a, $1 + ld [$d42f], a + ld a, $4 + ld [$d365], a + ld hl, $d72d + set 3, [hl] + ld a, $0 + ld [W_POKEMONTOWER7CURSCRIPT], a + ld [W_CURMAPSCRIPT], a + ret + +PokemonTower7Script_60db6: ; 60db6 (18:4db6) + ld hl, CoordsData_60de3 ; $4de3 + ld a, [$cf13] + dec a + swap a + ld d, $0 + ld e, a + add hl, de + ld a, [W_YCOORD] ; $d361 + ld b, a + ld a, [W_XCOORD] ; $d362 + ld c, a +.asm_60dcb + ld a, [hli] + cp b + jr nz, .asm_60dde + ld a, [hli] + cp c + jr nz, .asm_60ddf + ld a, [hli] + ld d, [hl] + ld e, a + ld a, [$cf13] + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + jp MoveSprite +.asm_60dde + inc hl +.asm_60ddf + inc hl + inc hl + jr .asm_60dcb + +CoordsData_60de3: ; 60de3 (18:4de3) + db $0C,$09 + dw MovementData_60e13 + db $0B,$0A + dw MovementData_60e1b + db $0B,$0B + dw MovementData_60e22 + db $0B,$0C + dw MovementData_60e22 + db $0A,$0C + dw MovementData_60e28 + db $09,$0B + dw MovementData_60e30 + db $09,$0A + dw MovementData_60e22 + db $09,$09 + dw MovementData_60e22 + db $08,$09 + dw MovementData_60e37 + db $07,$0A + dw MovementData_60e22 + db $07,$0B + dw MovementData_60e22 + db $07,$0C + dw MovementData_60e22 + +MovementData_60e13: ; 60e13 + db $C0,$00,$00,$00,$00,$00,$80,$FF + +MovementData_60e1b: ; 60e1b + db $00,$C0,$00,$00,$00,$00,$FF + +MovementData_60e22: ; 60e22 + db $00,$00,$00,$00,$00,$FF + +MovementData_60e28: ; 60e28 + db $80,$00,$00,$00,$00,$00,$00,$FF + +MovementData_60e30: ; 60e30 + db $00,$00,$00,$80,$00,$00,$FF + +MovementData_60e37: ; 60e37 + db $C0,$00,$00,$00,$00,$00,$00,$FF + +PokemonTower7TextPointers: ; 60e3f (18:4e3f) + dw PokemonTower7Text1 + dw PokemonTower7Text2 + dw PokemonTower7Text3 + dw PokemonTower7Text4 + +PokemonTower7TrainerHeaders: ; 60e47 (18:4e47) +PokemonTower7TrainerHeader0: ; 60e47 (18:4e47) + db $1 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d769 ; flag's byte + dw PokemonTower7BattleText1 ; 0x4ec9 TextBeforeBattle + dw PokemonTower7AfterBattleText1 ; 0x4ed3 TextAfterBattle + dw PokemonTower7EndBattleText1 ; 0x4ece TextEndBattle + dw PokemonTower7EndBattleText1 ; 0x4ece TextEndBattle + +PokemonTower7TrainerHeader1: ; 60e53 (18:4e53) + db $2 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d769 ; flag's byte + dw PokemonTower7BattleText2 ; 0x4ed8 TextBeforeBattle + dw PokemonTower7AfterBattleText2 ; 0x4ee2 TextAfterBattle + dw PokemonTower7EndBattleText2 ; 0x4edd TextEndBattle + dw PokemonTower7EndBattleText2 ; 0x4edd TextEndBattle + +PokemonTower7TrainerHeader2: ; 60e5f (18:4e5f) + db $3 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d769 ; flag's byte + dw PokemonTower7BattleText3 ; 0x4ee7 TextBeforeBattle + dw PokemonTower7AfterBattleText3 ; 0x4ef1 TextAfterBattle + dw PokemonTower7EndBattleText3 ; 0x4eec TextEndBattle + dw PokemonTower7EndBattleText3 ; 0x4eec TextEndBattle + + db $ff + +PokemonTower7Text1: ; 60e6c (18:4e6c) + db $08 ; asm + ld hl, PokemonTower7TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +PokemonTower7Text2: ; 60e76 (18:4e76) + db $08 ; asm + ld hl, PokemonTower7TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +PokemonTower7Text3: ; 60e80 (18:4e80) + db $08 ; asm + ld hl, PokemonTower7TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +PokemonTower7Text4: ; 60e8a (18:4e8a) + db $08 ; asm + ld hl, PokemonTower7Text_60ec4 + call PrintText + ld hl, $d7e0 + set 7, [hl] + ld hl, $d769 + set 7, [hl] + ld a, $44 + ld [$cc4d], a + ld a, $15 + call Predef + ld a, $17 + ld [$cc4d], a + ld a, $11 + call Predef + ld a, $18 + ld [$cc4d], a + ld a, $15 + call Predef + ld a, $4 + ld [W_POKEMONTOWER7CURSCRIPT], a + ld [W_CURMAPSCRIPT], a + jp TextScriptEnd + +PokemonTower7Text_60ec4: ; 60ec4 (18:4ec4) + TX_FAR _PokemonTower7Text_60ec4 + db "@" + +PokemonTower7BattleText1: ; 60ec9 (18:4ec9) + TX_FAR _PokemonTower7BattleText1 + db "@" + +PokemonTower7EndBattleText1: ; 60ece (18:4ece) + TX_FAR _PokemonTower7EndBattleText1 + db "@" + +PokemonTower7AfterBattleText1: ; 60ed3 (18:4ed3) + TX_FAR _PokemonTower7AfterBattleText1 + db "@" + +PokemonTower7BattleText2: ; 60ed8 (18:4ed8) + TX_FAR _PokemonTower7BattleText2 + db "@" + +PokemonTower7EndBattleText2: ; 60edd (18:4edd) + TX_FAR _PokemonTower7EndBattleText2 + db "@" + +PokemonTower7AfterBattleText2: ; 60ee2 (18:4ee2) + TX_FAR _PokemonTower7AfterBattleText2 + db "@" + +PokemonTower7BattleText3: ; 60ee7 (18:4ee7) + TX_FAR _PokemonTower7BattleText3 + db "@" + +PokemonTower7EndBattleText3: ; 60eec (18:4eec) + TX_FAR _PokemonTower7EndBattleText3 + db "@" + +PokemonTower7AfterBattleText3: ; 60ef1 (18:4ef1) + TX_FAR _PokemonTower7AfterBattleText3 + db "@" diff --git a/scripts/powerplant.asm b/scripts/powerplant.asm new file mode 100755 index 00000000..d5e126dc --- /dev/null +++ b/scripts/powerplant.asm @@ -0,0 +1,176 @@ +PowerPlantScript: ; 1e2c6 (7:62c6) + call EnableAutoTextBoxDrawing + ld hl, PowerPlantTrainerHeaders + ld de, PowerPlantScriptPointers + ld a, [W_POWERPLANTCURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_POWERPLANTCURSCRIPT], a + ret + +PowerPlantScriptPointers: ; 1e2d9 (7:62d9) + dw CheckFightingMapTrainers + dw Func_324c + dw EndTrainerBattle + +PowerPlantTextPointers: ; 1e2df (7:62df) + dw PowerPlantText1 + dw PowerPlantText2 + dw PowerPlantText3 + dw PowerPlantText4 + dw PowerPlantText5 + dw PowerPlantText6 + dw PowerPlantText7 + dw PowerPlantText8 + dw PowerPlantText9 + dw Predef5CText + dw Predef5CText + dw Predef5CText + dw Predef5CText + dw Predef5CText + +PowerPlantTrainerHeaders: ; 1e2fb (7:62fb) +PowerPlantTrainerHeader0: ; 1e2fb (7:62fb) + db 1 ; flag's bit + db 0 ; view range + dw $d7d3 ; flag's byte + dw VoltorbBattleText ; TextBeforeBattle + dw VoltorbBattleText ; TextAfterBattle + dw VoltorbBattleText ; TextEndBattle + dw VoltorbBattleText ; TextEndBattle + +PowerPlantTrainerHeader1: ; 1e307 (7:6307) + db 2 ; flag's bit + db 0 ; view range + dw $d7d3 ; flag's byte + dw VoltorbBattleText ; TextBeforeBattle + dw VoltorbBattleText ; TextAfterBattle + dw VoltorbBattleText ; TextEndBattle + dw VoltorbBattleText ; TextEndBattle + +PowerPlantTrainerHeader2: ; 1e313 (7:6313) + db 3 ; flag's bit + db 0 ; view range + dw $d7d3 ; flag's byte + dw VoltorbBattleText ; TextBeforeBattle + dw VoltorbBattleText ; TextAfterBattle + dw VoltorbBattleText ; TextEndBattle + dw VoltorbBattleText ; TextEndBattle + +PowerPlantTrainerHeader3: ; 1e31f (7:631f) + db 4 ; flag's bit + db 0 ; view range + dw $d7d3 ; flag's byte + dw VoltorbBattleText ; TextBeforeBattle + dw VoltorbBattleText ; TextAfterBattle + dw VoltorbBattleText ; TextEndBattle + dw VoltorbBattleText ; TextEndBattle + +PowerPlantTrainerHeader4: ; 1e32b (7:632b) + db 5 ; flag's bit + db 0 ; view range + dw $d7d3 ; flag's byte + dw VoltorbBattleText ; TextBeforeBattle + dw VoltorbBattleText ; TextAfterBattle + dw VoltorbBattleText ; TextEndBattle + dw VoltorbBattleText ; TextEndBattle + +PowerPlantTrainerHeader5: ; 1e337 (7:6337) + db 6 ; flag's bit + db 0 ; view range + dw $d7d3 ; flag's byte + dw VoltorbBattleText ; TextBeforeBattle + dw VoltorbBattleText ; TextAfterBattle + dw VoltorbBattleText ; TextEndBattle + dw VoltorbBattleText ; TextEndBattle + +PowerPlantTrainerHeader6: ; 1e343 (7:6343) + db 7 ; flag's bit + db 0 ; view range + dw $d7d3 ; flag's byte + dw VoltorbBattleText ; TextBeforeBattle + dw VoltorbBattleText ; TextAfterBattle + dw VoltorbBattleText ; TextEndBattle + dw VoltorbBattleText ; TextEndBattle + +PowerPlantTrainerHeader7: ; 1e34f (7:634f) + db 8 ; flag's bit + db 0 ; view range + dw $d7d3 ; flag's byte + dw VoltorbBattleText ; TextBeforeBattle + dw VoltorbBattleText ; TextAfterBattle + dw VoltorbBattleText ; TextEndBattle + dw VoltorbBattleText ; TextEndBattle + +PowerPlantTrainerHeader8: ; 1e35b (7:635b) + db 9 ; flag's bit + db 0 ; view range + dw $d7d3 ; flag's byte + dw ZapdosBattleText ; TextBeforeBattle + dw ZapdosBattleText ; TextAfterBattle + dw ZapdosBattleText ; TextEndBattle + dw ZapdosBattleText ; TextEndBattle + + db $ff + +asm_234cc: ; 1e368 (7:6368) + call TalkToTrainer + ld a, [W_CURMAPSCRIPT] + ld [W_POWERPLANTCURSCRIPT], a + jp TextScriptEnd + +PowerPlantText1: ; 1e374 (7:6374) + db $8 ; asm + ld hl, PowerPlantTrainerHeader0 ; $62fb + jr asm_234cc ; 0x1e378 $ee + +PowerPlantText2: ; 1e37a (7:637a) + db $8 ; asm + ld hl, PowerPlantTrainerHeader1 ; $6307 + jr asm_234cc ; 0x1e37e $e8 + +PowerPlantText3: ; 1e380 (7:6380) + db $8 ; asm + ld hl, PowerPlantTrainerHeader2 ; $6313 + jr asm_234cc ; 0x1e384 $e2 + +PowerPlantText4: ; 1e386 (7:6386) + db $8 ; asm + ld hl, PowerPlantTrainerHeader3 ; $631f + jr asm_234cc ; 0x1e38a $dc + +PowerPlantText5: ; 1e38c (7:638c) + db $8 ; asm + ld hl, PowerPlantTrainerHeader4 ; $632b + jr asm_234cc ; 0x1e390 $d6 + +PowerPlantText6: ; 1e392 (7:6392) + db $8 ; asm + ld hl, PowerPlantTrainerHeader5 ; $6337 + jr asm_234cc ; 0x1e396 $d0 + +PowerPlantText7: ; 1e398 (7:6398) + db $8 ; asm + ld hl, PowerPlantTrainerHeader6 ; $6343 + jr asm_234cc ; 0x1e39c $ca + +PowerPlantText8: ; 1e39e (7:639e) + db $8 ; asm + ld hl, PowerPlantTrainerHeader7 ; $634f + jr asm_234cc ; 0x1e3a2 $c4 + +PowerPlantText9: ; 1e3a4 (7:63a4) + db $8 ; asm + ld hl, PowerPlantTrainerHeader8 ; $635b + jr asm_234cc ; 0x1e3a8 $be + +VoltorbBattleText: ; 1e3aa (7:63aa) + TX_FAR _VoltorbBattleText + db "@" + +ZapdosBattleText: ; 1e3af (7:63af) + TX_FAR _ZapdosBattleText + db $8 + ld a, ZAPDOS + call PlayCry + call WaitForSoundToFinish + jp TextScriptEnd diff --git a/scripts/redshouse1f.asm b/scripts/redshouse1f.asm new file mode 100755 index 00000000..b787669e --- /dev/null +++ b/scripts/redshouse1f.asm @@ -0,0 +1,69 @@ +RedsHouse1FScript: ; 48168 (12:4168) + jp EnableAutoTextBoxDrawing + +RedsHouse1FTextPointers: ; 4816b (12:416b) + dw RedsHouse1FText1 + dw RedsHouse1FText2 + +RedsHouse1FText1: ; 4816f (12:416f) ; 416F Mom + db 8 + ld a, [$D72E] + bit 3, a + jr nz, .heal ; if player has received a Pokémon from Oak, heal team + ld hl, MomWakeUpText + call PrintText + jr .done +.heal + call MomHealPokemon +.done + jp TextScriptEnd + +MomWakeUpText: ; 48185 (12:4185) + TX_FAR _MomWakeUpText + db "@" + +MomHealPokemon: ; 4818a (12:418a) + ld hl, MomHealText1 + call PrintText + call GBFadeOut2 + call ReloadMapData + PREDEF HealPartyPredef + ld a, MUSIC_PKMN_HEALED + ld [$C0EE], a + call PlaySound ; play sound? +.next + ld a, [$C026] + cp MUSIC_PKMN_HEALED + jr z, .next + ld a, [$D35B] + ld [$C0EE], a + call PlaySound + call GBFadeIn2 + ld hl, MomHealText2 + jp PrintText + +MomHealText1: ; 481bc (12:41bc) + TX_FAR _MomHealText1 + db "@" +MomHealText2: ; 481c1 (12:41c1) + TX_FAR _MomHealText2 + db "@" + +RedsHouse1FText2: ; 0x481c6 TV + db 8 + ld a,[$C109] + cp 4 + ld hl,TVWrongSideText + jr nz,.done ; if player is not facing up + ld hl,StandByMeText +.done + call PrintText + jp TextScriptEnd + +StandByMeText: ; 481da (12:41da) + TX_FAR _StandByMeText + db "@" + +TVWrongSideText: ; 481df (12:41df) + TX_FAR _TVWrongSideText + db "@" diff --git a/scripts/redshouse2f.asm b/scripts/redshouse2f.asm new file mode 100755 index 00000000..1004860c --- /dev/null +++ b/scripts/redshouse2f.asm @@ -0,0 +1,24 @@ +RedsHouse2FScript: ; 5c0b0 (17:40b0) + call EnableAutoTextBoxDrawing + ld hl,RedsHouse2FScriptPointers + ld a,[W_REDSHOUSE2CURSCRIPT] + jp CallFunctionInTable + +RedsHouse2FScriptPointers: ; 5c0bc (17:40bc) + dw RedsHouse2FScript0 + dw RedsHouse2FScript1 + +RedsHouse2FScript0: ; 5c0c0 (17:40c0) + xor a + ld [H_CURRENTPRESSEDBUTTONS],a + ld a,8 + ld [$D528],a + ld a,1 + ld [W_REDSHOUSE2CURSCRIPT],a + ret + +RedsHouse2FScript1: ; 5c0ce (17:40ce) + ret + +RedsHouse2FTextPointers: ; 5c0cf (17:40cf) + db "@" diff --git a/scripts/rockethideout1.asm b/scripts/rockethideout1.asm new file mode 100755 index 00000000..ce88ff90 --- /dev/null +++ b/scripts/rockethideout1.asm @@ -0,0 +1,193 @@ +RocketHideout1Script: ; 44bca (11:4bca) + call RocketHideout1Script_44be0 + call EnableAutoTextBoxDrawing + ld hl, RocketHideout1TrainerHeaders + ld de, RocketHideout1ScriptPointers + ld a, [W_ROCKETHIDEOUT1CURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_ROCKETHIDEOUT1CURSCRIPT], a + ret + +RocketHideout1Script_44be0: ; 44be0 (11:4be0) + ld hl, $d126 + bit 5, [hl] + res 5, [hl] + ret z + ld a, [$d815] + bit 7, a + jr nz, .asm_44c01 + bit 5, a + jr nz, .asm_44bf7 + ld a, $54 + jr .asm_44c03 +.asm_44bf7 + ld a, (SFX_02_57 - SFX_Headers_02) / 3 + call PlaySound + ld hl, $d815 + bit 7, [hl] +.asm_44c01 + ld a, $e +.asm_44c03 + ld [$d09f], a + ld bc, $080c + ld a, $17 + jp Predef + +RocketHideout1ScriptPointers: ; 44c0e (11:4c0e) + dw CheckFightingMapTrainers + dw Func_324c + dw EndTrainerBattle + +RocketHideout1TextPointers: ; 44c14 (11:4c14) + dw RocketHideout1Text1 + dw RocketHideout1Text2 + dw RocketHideout1Text3 + dw RocketHideout1Text4 + dw RocketHideout1Text5 + dw Predef5CText + dw Predef5CText + +RocketHideout1TrainerHeaders: ; 44c22 (11:4c22) +RocketHideout1TrainerHeader0: ; 44c22 (11:4c22) + db $1 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d815 ; flag's byte + dw RocketHideout1BattleText2 ; 0x4ca1 TextBeforeBattle + dw RocketHideout1AfterBattleTxt2 ; 0x4cab TextAfterBattle + dw RocketHideout1EndBattleText2 ; 0x4ca6 TextEndBattle + dw RocketHideout1EndBattleText2 ; 0x4ca6 TextEndBattle + +RocketHideout1TrainerHeader2: ; 44c2e (11:4c2e) + db $2 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d815 ; flag's byte + dw RocketHideout1BattleText3 ; 0x4cb0 TextBeforeBattle + dw RocketHideout1AfterBattleTxt3 ; 0x4cba TextAfterBattle + dw RocketHideout1EndBattleText3 ; 0x4cb5 TextEndBattle + dw RocketHideout1EndBattleText3 ; 0x4cb5 TextEndBattle + +RocketHideout1TrainerHeader3: ; 44c3a (11:4c3a) + db $3 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d815 ; flag's byte + dw RocketHideout1BattleText4 ; 0x4cbf TextBeforeBattle + dw RocketHideout1AfterBattleTxt4 ; 0x4cc9 TextAfterBattle + dw RocketHideout1EndBattleText4 ; 0x4cc4 TextEndBattle + dw RocketHideout1EndBattleText4 ; 0x4cc4 TextEndBattle + +RocketHideout1TrainerHeader4: ; 44c46 (11:4c46) + db $4 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d815 ; flag's byte + dw RocketHideout1BattleText5 ; 0x4cce TextBeforeBattle + dw RocketHideout1AfterBattleTxt5 ; 0x4cd8 TextAfterBattle + dw RocketHideout1EndBattleText5 ; 0x4cd3 TextEndBattle + dw RocketHideout1EndBattleText5 ; 0x4cd3 TextEndBattle + +RocketHideout1TrainerHeader5: ; 44c52 (11:4c52) + db $5 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d815 ; flag's byte + dw RocketHideout1BattleText6 ; 0x4cdd TextBeforeBattle + dw RocketHideout1AfterBattleTxt6 ; 0x4ce2 TextAfterBattle + dw RocketHideout1EndBattleText6 ; 0x4c91 TextEndBattle + dw RocketHideout1EndBattleText6 ; 0x4c91 TextEndBattle + + db $ff + +RocketHideout1Text1: ; 44c5f (11:4c5f) + db $08 ; asm + ld hl, RocketHideout1TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +RocketHideout1Text2: ; 44c69 (11:4c69) + db $08 ; asm + ld hl, RocketHideout1TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +RocketHideout1Text3: ; 44c73 (11:4c73) + db $08 ; asm + ld hl, RocketHideout1TrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +RocketHideout1Text4: ; 44c7d (11:4c7d) + db $08 ; asm + ld hl, RocketHideout1TrainerHeader4 + call TalkToTrainer + jp TextScriptEnd + +RocketHideout1Text5: ; 44c87 (11:4c87) + db $08 ; asm + ld hl, RocketHideout1TrainerHeader5 + call TalkToTrainer + jp TextScriptEnd + +RocketHideout1EndBattleText6: ; 44c91 (11:4c91) + TX_FAR _RocketHideout1EndBattleText6 + db $8 + ld hl, $d815 + set 5, [hl] + ld hl, RocketHideout1Text_44c9f + ret + +RocketHideout1Text_44c9f: ; 44c9f (11:4c9f) + db $6, "@" + +RocketHideout1BattleText2: ; 44ca1 (11:4ca1) + TX_FAR _RocketHideout1BattleText2 + db "@" + +RocketHideout1EndBattleText2: ; 44ca6 (11:4ca6) + TX_FAR _RocketHideout1EndBattleText2 + db "@" + +RocketHideout1AfterBattleTxt2: ; 44cab (11:4cab) + TX_FAR _RocketHideout1AfterBattleTxt2 + db "@" + +RocketHideout1BattleText3: ; 44cb0 (11:4cb0) + TX_FAR _RocketHideout1BattleText3 + db "@" + +RocketHideout1EndBattleText3: ; 44cb5 (11:4cb5) + TX_FAR _RocketHideout1EndBattleText3 + db "@" + +RocketHideout1AfterBattleTxt3: ; 44cba (11:4cba) + TX_FAR _RocketHideout1AfterBattleTxt3 + db "@" + +RocketHideout1BattleText4: ; 44cbf (11:4cbf) + TX_FAR _RocketHideout1BattleText4 + db "@" + +RocketHideout1EndBattleText4: ; 44cc4 (11:4cc4) + TX_FAR _RocketHideout1EndBattleText4 + db "@" + +RocketHideout1AfterBattleTxt4: ; 44cc9 (11:4cc9) + TX_FAR _RocketHideout1AfterBattleTxt4 + db "@" + +RocketHideout1BattleText5: ; 44cce (11:4cce) + TX_FAR _RocketHideout1BattleText5 + db "@" + +RocketHideout1EndBattleText5: ; 44cd3 (11:4cd3) + TX_FAR _RocketHideout1EndBattleText5 + db "@" + +RocketHideout1AfterBattleTxt5: ; 44cd8 (11:4cd8) + TX_FAR _RocketHideout1AfterBattleTxt5 + db "@" + +RocketHideout1BattleText6: ; 44cdd (11:4cdd) + TX_FAR _RocketHideout1BattleText6 + db "@" + +RocketHideout1AfterBattleTxt6: ; 44ce2 (11:4ce2) + TX_FAR _RocketHideout1AfterBattleTxt6 + db "@" diff --git a/scripts/rockethideout2.asm b/scripts/rockethideout2.asm new file mode 100755 index 00000000..ac427373 --- /dev/null +++ b/scripts/rockethideout2.asm @@ -0,0 +1,501 @@ +RocketHideout2Script: ; 44e27 (11:4e27) + call EnableAutoTextBoxDrawing + ld hl, RocketHideout2TrainerHeaders + ld de, RocketHideout2ScriptPointers + ld a, [W_ROCKETHIDEOUT2CURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_ROCKETHIDEOUT2CURSCRIPT], a + ret + +RocketHideout2ScriptPointers: ; 44e3a (11:4e3a) + dw RocketHideout2Script0 + dw Func_324c + dw EndTrainerBattle + dw RocketHideout2Script3 + +RocketHideout2Script0: ; 44e42 (11:4e42) + ld a, [W_YCOORD] + ld b, a + ld a, [W_XCOORD] + ld c, a + ld hl, RocketHideout2ArrowTilePlayerMovement + call Func_3442 + cp $ff + jp z, CheckFightingMapTrainers + ld hl, $d736 + set 7, [hl] + call Func_3486 + ld a, (SFX_02_52 - SFX_Headers_02) / 3 + call PlaySound + ld a, $ff + ld [wJoypadForbiddenButtonsMask], a + ld a, $3 + ld [W_CURMAPSCRIPT], a + ret + +;format: +;db y,x +;dw pointer to movement +RocketHideout2ArrowTilePlayerMovement: ; 44e6d (11:4e6d) + db $9,$4 + dw RocketHideout2ArrowMovement1 + db $b,$4 + dw RocketHideout2ArrowMovement2 + db $f,$4 + dw RocketHideout2ArrowMovement3 + db $10,$4 + dw RocketHideout2ArrowMovement4 + db $13,$4 + dw RocketHideout2ArrowMovement1 + db $16,$4 + dw RocketHideout2ArrowMovement5 + db $e,$5 + dw RocketHideout2ArrowMovement6 + db $16,$6 + dw RocketHideout2ArrowMovement7 + db $18,$6 + dw RocketHideout2ArrowMovement8 + db $9,$8 + dw RocketHideout2ArrowMovement9 + db $c,$8 + dw RocketHideout2ArrowMovement10 + db $f,$8 + dw RocketHideout2ArrowMovement8 + db $13,$8 + dw RocketHideout2ArrowMovement9 + db $17,$8 + dw RocketHideout2ArrowMovement11 + db $e,$9 + dw RocketHideout2ArrowMovement12 + db $16,$9 + dw RocketHideout2ArrowMovement12 + db $9,$a + dw RocketHideout2ArrowMovement13 + db $a,$a + dw RocketHideout2ArrowMovement14 + db $f,$a + dw RocketHideout2ArrowMovement15 + db $11,$a + dw RocketHideout2ArrowMovement16 + db $13,$a + dw RocketHideout2ArrowMovement17 + db $19,$a + dw RocketHideout2ArrowMovement2 + db $e,$b + dw RocketHideout2ArrowMovement18 + db $10,$b + dw RocketHideout2ArrowMovement19 + db $12,$b + dw RocketHideout2ArrowMovement12 + db $9,$c + dw RocketHideout2ArrowMovement20 + db $b,$c + dw RocketHideout2ArrowMovement21 + db $d,$c + dw RocketHideout2ArrowMovement22 + db $11,$c + dw RocketHideout2ArrowMovement23 + db $a,$d + dw RocketHideout2ArrowMovement24 + db $c,$d + dw RocketHideout2ArrowMovement25 + db $10,$d + dw RocketHideout2ArrowMovement26 + db $12,$d + dw RocketHideout2ArrowMovement27 + db $13,$d + dw RocketHideout2ArrowMovement28 + db $16,$d + dw RocketHideout2ArrowMovement29 + db $17,$d + dw RocketHideout2ArrowMovement30 + db $11,$e + dw RocketHideout2ArrowMovement31 + db $10,$f + dw RocketHideout2ArrowMovement12 + db $e,$10 + dw RocketHideout2ArrowMovement32 + db $10,$10 + dw RocketHideout2ArrowMovement33 + db $12,$10 + dw RocketHideout2ArrowMovement34 + db $a,$11 + dw RocketHideout2ArrowMovement35 + db $b,$11 + dw RocketHideout2ArrowMovement36 + db $FF + +;format: direction, count +;right: $10 +;left: $20 +;up: $40 +;down: $80 +;each list is read starting from the $FF and working backwards +RocketHideout2ArrowMovement1: ; 44f1a (11:4f1a) + db $20,$02 + db $FF + +RocketHideout2ArrowMovement2: ; 44f1d (11:4f1d) + db $10,$04 + db $FF + +RocketHideout2ArrowMovement3: ; 44f20 (11:4f20) + db $40,$04 + db $10,$04 + db $FF + +RocketHideout2ArrowMovement4: ; 44f25 (11:4f25) + db $40,$04 + db $10,$04 + db $40,$01 + db $FF + +RocketHideout2ArrowMovement5: ; 44f2c (11:4f2c) + db $20,$02 + db $40,$03 + db $FF + +RocketHideout2ArrowMovement6: ; 44f31 (11:4f31) + db $80,$02 + db $10,$04 + db $FF + +RocketHideout2ArrowMovement7: ; 44f36 (11:4f36) + db $40,$02 + db $FF + +RocketHideout2ArrowMovement8: ; 44f39 (11:4f39) + db $40,$04 + db $FF + +RocketHideout2ArrowMovement9: ; 44f3c (11:4f3c) + db $20,$06 + db $FF + +RocketHideout2ArrowMovement10: ; 44f3f (11:4f3f) + db $40,$01 + db $FF + +RocketHideout2ArrowMovement11: ; 44f42 (11:4f42) + db $20,$06 + db $40,$04 + db $FF + +RocketHideout2ArrowMovement12: ; 44f47 (11:4f47) + db $80,$02 + db $FF + +RocketHideout2ArrowMovement13: ; 44f4a (11:4f4a) + db $20,$08 + db $FF + +RocketHideout2ArrowMovement14: ; 44f4d (11:4f4d) + db $20,$08 + db $40,$01 + db $FF + +RocketHideout2ArrowMovement15: ; 44f52 (11:4f52) + db $20,$08 + db $40,$06 + db $FF + +RocketHideout2ArrowMovement16: ; 44f57 (11:4f57) + db $40,$02 + db $10,$04 + db $FF + +RocketHideout2ArrowMovement17: ; 44f5c (11:4f5c) + db $40,$02 + db $10,$04 + db $40,$02 + db $FF + +RocketHideout2ArrowMovement18: ; 44f63 (11:4f63) + db $80,$02 + db $10,$04 + db $80,$02 + db $FF + +RocketHideout2ArrowMovement19: ; 44f6a (11:4f6a) + db $80,$02 + db $10,$04 + db $FF + +RocketHideout2ArrowMovement20: ; 44f6f (11:4f6f) + db $20,$0A + db $FF + +RocketHideout2ArrowMovement21: ; 44f72 (11:4f72) + db $20,$0A + db $40,$02 + db $FF + +RocketHideout2ArrowMovement22: ; 44f77 (11:4f77) + db $20,$0A + db $40,$04 + db $FF + +RocketHideout2ArrowMovement23: ; 44f7c (11:4f7c) + db $40,$02 + db $10,$02 + db $FF + +RocketHideout2ArrowMovement24: ; 44f81 (11:4f81) + db $10,$01 + db $80,$02 + db $FF + +RocketHideout2ArrowMovement25: ; 44f86 (11:4f86) + db $10,$01 + db $FF + +RocketHideout2ArrowMovement26: ; 44f89 (11:4f89) + db $80,$02 + db $10,$02 + db $FF + +RocketHideout2ArrowMovement27: ; 44f8e (11:4f8e) + db $80,$02 + db $20,$02 + db $FF + +RocketHideout2ArrowMovement28: ; 44f93 (11:4f93) + db $40,$02 + db $10,$04 + db $40,$02 + db $20,$03 + db $FF + +RocketHideout2ArrowMovement29: ; 44f9c (11:4f9c) + db $80,$02 + db $20,$04 + db $FF + +RocketHideout2ArrowMovement30: ; 44fa1 (11:4fa1) + db $20,$06 + db $40,$04 + db $20,$05 + db $FF + +RocketHideout2ArrowMovement31: ; 44fa8 (11:4fa8) + db $40,$02 + db $FF + +RocketHideout2ArrowMovement32: ; 44fab (11:4fab) + db $40,$01 + db $FF + +RocketHideout2ArrowMovement33: ; 44fae (11:4fae) + db $40,$03 + db $FF + +RocketHideout2ArrowMovement34: ; 44fb1 (11:4fb1) + db $40,$05 + db $FF + +RocketHideout2ArrowMovement35: ; 44fb4 (11:4fb4) + db $10,$01 + db $80,$02 + db $20,$04 + db $FF + +RocketHideout2ArrowMovement36: ; 44fbb (11:4fbb) + db $20,$0A + db $40,$02 + db $20,$05 + db $FF + +RocketHideout2Script3: ; 44fc2 (11:4fc2) + ld a, [$cd38] + and a + jr nz, LoadSpinnerArrowTiles + xor a + ld [wJoypadForbiddenButtonsMask], a + ld hl, $d736 + res 7, [hl] + ld a, $0 + ld [W_CURMAPSCRIPT], a + ret + +LoadSpinnerArrowTiles: ; 44fd7 (11:4fd7) + ld a, [$c102] + srl a + srl a + ld hl, SpinnerPlayerFacingDirections ; $5083 + ld c, a + ld b, $0 + add hl, bc + ld a, [hl] + ld [$c102], a + ld a, [W_CURMAPTILESET] ; $d367 + cp FACILITY + ld hl, SpinnerArrowTilePointers1 ; $5023 + jr z, .asm_44ff6 + ld hl, SpinnerArrowTilePointers2 ; $5053 +.asm_44ff6 + ld a, [$cd38] + bit 0, a + jr nz, .asm_45001 + ld de, $18 + add hl, de +.asm_45001 + ld a, $4 + ld bc, $0 +.asm_45006 + push af + push hl + push bc + add hl, bc + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + ld a, [hli] + ld h, [hl] + ld l, a + call CopyVideoData + pop bc + ld a, $6 + add c + ld c, a + pop hl + pop af + dec a + jr nz, .asm_45006 + ret + +SpinnerArrowTilePointers1: ; 45023 (11:5023) + dw SpinnerArrowAnimTiles ;address from within tileset graphics + db 1 ;number of tiles to copy? + db BANK(SpinnerArrowAnimTiles) ;bank of tileset graphics + dw $9200 ;where to load in VRAM + + dw SpinnerArrowAnimTiles + $10 + db 1 + db BANK(SpinnerArrowAnimTiles) + dw $9210 + + dw SpinnerArrowAnimTiles + $20 + db 1 + db BANK(SpinnerArrowAnimTiles) + dw $9300 + + dw SpinnerArrowAnimTiles + $30 + db 1 + db BANK(SpinnerArrowAnimTiles) + dw $9310 + + dw Facility_GFX + $200 + db 1 + db BANK(Facility_GFX) + dw $9200 + + dw Facility_GFX + $210 + db 1 + db BANK(Facility_GFX) + dw $9210 + + dw Facility_GFX + $300 + db 1 + db BANK(Facility_GFX) + dw $9300 + + dw Facility_GFX + $310 + db 1 + db BANK(Facility_GFX) + dw $9310 + +SpinnerArrowTilePointers2: ; 45053 (11:5053) + dw SpinnerArrowAnimTiles + $10 + db 1 + db BANK(SpinnerArrowAnimTiles) + dw $93C0 + + dw SpinnerArrowAnimTiles + $30 + db 1 + db BANK(SpinnerArrowAnimTiles) + dw $93D0 + + dw SpinnerArrowAnimTiles + db 1 + db BANK(SpinnerArrowAnimTiles) + dw $94C0 + + dw SpinnerArrowAnimTiles + $20 + db 1 + db BANK(SpinnerArrowAnimTiles) + dw $94D0 + + dw Gym_GFX + $3C0 + db 1 + db BANK(Facility_GFX) + dw $93C0 + + dw Gym_GFX + $3D0 + db 1 + db BANK(Facility_GFX) + dw $93D0 + + dw Gym_GFX + $4C0 + db 1 + db BANK(Facility_GFX) + dw $94C0 + + dw Gym_GFX + $4D0 + db 1 + db BANK(Facility_GFX) + dw $94D0 + +SpinnerPlayerFacingDirections: ; 45083 (11:5083) +; This isn't the order of the facing directions. Rather, it's a list of +; the facing directions that come next. For example, when the player is +; facing down (00), the next facing direction is left (08). + db $08 ; down -> left + db $0C ; up -> right + db $04 ; left -> up + db $00 ; right -> down + +; these tiles are the animation for the tiles that push the player in dungeons like Rocket HQ +SpinnerArrowAnimTiles: ; 45087 (11:5087) + INCBIN "gfx/spinner_arrow.2bpp" + +RocketHideout2TextPointers: ; 450c7 (11:50c7) + dw RocketHideout2Text1 + dw Predef5CText + dw Predef5CText + dw Predef5CText + dw Predef5CText + +RocketHideout2TrainerHeaders: ; 450d1 (11:50d1) +RocketHideout2TrainerHeader0: ; 450d1 (11:50d1) + db $1 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d817 ; flag's byte + dw RocketHideout2BattleText2 ; 0x50e8 TextBeforeBattle + dw RocketHideout2AfterBattleTxt2 ; 0x50f2 TextAfterBattle + dw RocketHideout2EndBattleText2 ; 0x50ed TextEndBattle + dw RocketHideout2EndBattleText2 ; 0x50ed TextEndBattle + + db $ff + +RocketHideout2Text1: ; 450de (11:50de) + db $08 ; asm + ld hl, RocketHideout2TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +RocketHideout2BattleText2: ; 450e8 (11:50e8) + TX_FAR _RocketHideout2BattleText2 + db "@" + +RocketHideout2EndBattleText2: ; 450ed (11:50ed) + TX_FAR _RocketHideout2EndBattleText2 + db "@" + +RocketHideout2AfterBattleTxt2: ; 450f2 (11:50f2) + TX_FAR _RocketHideout2AfterBattleTxt2 + db "@" diff --git a/scripts/rockethideout3.asm b/scripts/rockethideout3.asm new file mode 100755 index 00000000..d9e1d077 --- /dev/null +++ b/scripts/rockethideout3.asm @@ -0,0 +1,211 @@ +RocketHideout3Script: ; 45225 (11:5225) + call EnableAutoTextBoxDrawing + ld hl, RocketHideout3TrainerHeaders + ld de, RocketHideout3ScriptPointers + ld a, [W_ROCKETHIDEOUT3CURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_ROCKETHIDEOUT3CURSCRIPT], a + ret + +RocketHideout3ScriptPointers: ; 45238 (11:5238) + dw RocketHideout3Script0 + dw Func_324c + dw EndTrainerBattle + dw RocketHideout3Script3 + +RocketHideout3Script0: ; 45240 (11:5240) + ld a, [W_YCOORD] + ld b, a + ld a, [W_XCOORD] + ld c, a + ld hl, RocketHideout3ArrowTilePlayerMovement + call Func_3442 + cp $ff + jp z, CheckFightingMapTrainers + ld hl, $d736 + set 7, [hl] + call Func_3486 + ld a, (SFX_02_52 - SFX_Headers_02) / 3 + call PlaySound + ld a, $ff + ld [wJoypadForbiddenButtonsMask], a + ld a, $3 + ld [W_CURMAPSCRIPT], a + ret + +;format: +;db y,x +;dw pointer to movement +RocketHideout3ArrowTilePlayerMovement: ; 4526b (11:526b) + db $d,$a + dw RocketHideout3ArrowMovement6 + db $13,$a + dw RocketHideout3ArrowMovement1 + db $12,$b + dw RocketHideout3ArrowMovement2 + db $b,$c + dw RocketHideout3ArrowMovement3 + db $11,$c + dw RocketHideout3ArrowMovement4 + db $14,$c + dw RocketHideout3ArrowMovement5 + db $10,$d + dw RocketHideout3ArrowMovement6 + db $b,$e + dw RocketHideout3ArrowMovement7 + db $f,$e + dw RocketHideout3ArrowMovement6 + db $11,$e + dw RocketHideout3ArrowMovement8 + db $13,$e + dw RocketHideout3ArrowMovement9 + db $10,$f + dw RocketHideout3ArrowMovement7 + db $12,$f + dw RocketHideout3ArrowMovement10 + db $d,$10 + dw RocketHideout3ArrowMovement11 + db $c,$11 + dw RocketHideout3ArrowMovement10 + db $10,$12 + dw RocketHideout3ArrowMovement12 + db $FF + +;format: direction, count +;right: $10 +;left: $20 +;up: $40 +;down: $80 +;each list is read starting from the $FF and working backwards +RocketHideout3ArrowMovement1: ; 452ac (11:52ac) + db $10,$04 + db $40,$04 + db $10,$04 + db $FF + +RocketHideout3ArrowMovement2: ; 452b3 (11:52b3) + db $80,$04 + db $10,$04 + db $FF + +RocketHideout3ArrowMovement3: ; 452b8 (11:52b8) + db $20,$02 + db $FF + +RocketHideout3ArrowMovement4: ; 452bb (11:52bb) + db $10,$04 + db $40,$02 + db $10,$02 + db $FF + +RocketHideout3ArrowMovement5: ; 452c2 (11:52c2) + db $10,$04 + db $40,$02 + db $10,$02 + db $40,$03 + db $FF + +RocketHideout3ArrowMovement6: ; 452cb (11:52cb) + db $10,$04 + db $FF + +RocketHideout3ArrowMovement7: ; 452ce (11:52ce) + db $10,$02 + db $FF + +RocketHideout3ArrowMovement8: ; 452d1 (11:52d1) + db $10,$04 + db $40,$02 + db $FF + +RocketHideout3ArrowMovement9: ; 452d6 (11:52d6) + db $10,$04 + db $40,$04 + db $FF + +RocketHideout3ArrowMovement10: ; 452db (11:52db) + db $80,$04 + db $FF + +RocketHideout3ArrowMovement11: ; 452de (11:52de) + db $40,$02 + db $FF + +RocketHideout3ArrowMovement12: ; 452e1 (11:52e1) + db $40,$01 + db $FF + +RocketHideout3Script3 ; 452e4 (11:452e4) + ld a, [$cd38] + and a + jp nz, LoadSpinnerArrowTiles + xor a + ld [wJoypadForbiddenButtonsMask], a + ld hl, $d736 + res 7, [hl] + ld a, $0 + ld [W_CURMAPSCRIPT], a + ret + +RocketHideout3TextPointers: ; 452fa (11:52fa) + dw RocketHideout3Text1 + dw RocketHideout3Text2 + dw Predef5CText + dw Predef5CText + +RocketHideout3TrainerHeaders: ; 45302 (11:5302) +RocketHideout3TrainerHeader0: ; 45302 (11:5302) + db $1 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d819 ; flag's byte + dw RocketHideout3BattleText2 ; 0x5325 TextBeforeBattle + dw RocketHideout3AfterBattleTxt2 ; 0x532f TextAfterBattle + dw RocketHideout3EndBattleText2 ; 0x532a TextEndBattle + dw RocketHideout3EndBattleText2 ; 0x532a TextEndBattle + +RocketHideout3TrainerHeader2: ; 4530e (11:530e) + db $2 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d819 ; flag's byte + dw RocketHideout3BattleTxt ; 0x533e TextBeforeBattle + dw RocketHideout3AfterBattleText3 ; 0x5348 TextAfterBattle + dw RocketHideout3EndBattleText3 ; 0x5343 TextEndBattle + dw RocketHideout3EndBattleText3 ; 0x5343 TextEndBattle + + db $ff + +RocketHideout3Text1: ; 4531b (11:531b) + db $08 ; asm + ld hl, RocketHideout3TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +RocketHideout3BattleText2: ; 45325 (11:5325) + TX_FAR _RocketHideout3BattleText2 + db "@" + +RocketHideout3EndBattleText2: ; 4532a (11:532a) + TX_FAR _RocketHideout3EndBattleText2 + db "@" + +RocketHideout3AfterBattleTxt2: ; 4532f (11:532f) + TX_FAR _RocketHideout3AfterBattleTxt2 + db "@" + +RocketHideout3Text2: ; 45334 (11:5334) + db $08 ; asm + ld hl, RocketHideout3TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +RocketHideout3BattleTxt: ; 4533e (11:533e) + TX_FAR _RocketHideout3BattleTxt + db "@" + +RocketHideout3EndBattleText3: ; 45343 (11:5343) + TX_FAR _RocketHideout3EndBattleText3 + db "@" + +RocketHideout3AfterBattleText3: ; 45348 (11:5348) + TX_FAR _RocketHide3AfterBattleText3 + db "@" diff --git a/scripts/rockethideout4.asm b/scripts/rockethideout4.asm new file mode 100755 index 00000000..5e245e8d --- /dev/null +++ b/scripts/rockethideout4.asm @@ -0,0 +1,232 @@ +RocketHideout4Script: ; 4545d (11:545d) + call RocketHideout4Script_45473 + call EnableAutoTextBoxDrawing + ld hl, RocketHideout4TrainerHeader0 + ld de, RocketHideout4ScriptPointers + ld a, [W_ROCKETHIDEOUT4CURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_ROCKETHIDEOUT4CURSCRIPT], a + ret + +RocketHideout4Script_45473: ; 45473 (11:5473) + ld hl, $d126 + bit 5, [hl] + res 5, [hl] + ret z + ld a, [$d81b] + bit 5, a + jr nz, .asm_45496 + and $c + cp $c + jr z, .asm_4548c + ld a, $2d + jr .asm_45498 +.asm_4548c + ld a, (SFX_02_57 - SFX_Headers_02) / 3 + call PlaySound + ld hl, $d81b + set 5, [hl] +.asm_45496 + ld a, $e +.asm_45498 + ld [$d09f], a + ld bc, $050c + ld a, $17 + jp Predef + +RocketHideout4Script_454a3: ; 454a3 (11:54a3) + xor a + ld [wJoypadForbiddenButtonsMask], a + ld [W_ROCKETHIDEOUT4CURSCRIPT], a + ld [W_CURMAPSCRIPT], a + ret + +RocketHideout4ScriptPointers: ; 454ae (11:54ae)c + dw CheckFightingMapTrainers + dw Func_324c + dw EndTrainerBattle + dw RocketHideout4Script3 + +RocketHideout4Script3: ; 454b6 (11:54b6) + ld a, [W_ISINBATTLE] + cp $ff + jp z, RocketHideout4Script_454a3 + call UpdateSprites + ld a, $f0 + ld [wJoypadForbiddenButtonsMask], a + ld hl, $d81b + set 7, [hl] + ld a, $a + ld [H_SPRITEHEIGHT], a + call DisplayTextID + call GBFadeIn1 + ld a, $83 + ld [$cc4d], a + ld a, $11 + call Predef + ld a, $87 + ld [$cc4d], a + ld a, $15 + call Predef + call UpdateSprites + call GBFadeOut1 + xor a + ld [wJoypadForbiddenButtonsMask], a + ld hl, $d126 + set 5, [hl] + ld a, $0 + ld [W_ROCKETHIDEOUT4CURSCRIPT], a + ld [W_CURMAPSCRIPT], a + ret + +RocketHideout4TextPointers: ; 45501 (11:5501) + dw RocketHideout4Text1 + dw RocketHideout4Text2 + dw RocketHideout4Text3 + dw RocketHideout4Text4 + dw Predef5CText + dw Predef5CText + dw Predef5CText + dw Predef5CText + dw Predef5CText + dw RocketHideout4Text10 + +RocketHideout4TrainerHeaders: ; 45515 (11:5515) +RocketHideout4TrainerHeader0: ; 45515 (11:5515) + db $2 ; flag's bit + db ($0 << 4) ; trainer's view range + dw $d81b ; flag's byte + dw RocketHideout4BattleText2 ; 0x5593 TextBeforeBattle + dw RocketHideout4AfterBattleText2 ; 0x559d TextAfterBattle + dw RocketHideout4EndBattleText2 ; 0x5598 TextEndBattle + dw RocketHideout4EndBattleText2 ; 0x5598 TextEndBattle + +RocketHideout4TrainerHeader2: ; 45521 (11:5521) + db $3 ; flag's bit + db ($0 << 4) ; trainer's view range + dw $d81b ; flag's byte + dw RocketHideout4BattleText3 ; 0x55ac TextBeforeBattle + dw RocketHideout4AfterBattleText3 ; 0x55b6 TextAfterBattle + dw RocketHideout4EndBattleText3 ; 0x55b1 TextEndBattle + dw RocketHideout4EndBattleText3 ; 0x55b1 TextEndBattle + +RocketHideout4TrainerHeader3: ; 4552d (11:552d) + db $4 ; flag's bit + db ($1 << 4) ; trainer's view range + dw $d81b ; flag's byte + dw RocketHideout4BattleText4 ; 0x55c5 TextBeforeBattle + dw RocketHideout4AfterBattleText4 ; 0x55cf TextAfterBattle + dw RocketHideout4EndBattleText4 ; 0x55ca TextEndBattle + dw RocketHideout4EndBattleText4 ; 0x55ca TextEndBattle + + db $ff + +RocketHideout4Text1: ; 4553a (11:553a) + db $08 ; asm + ld a, [$d81b] + bit 7, a + jp nz, .asm_545571 + ld hl, RocketHideout4Text_4557a + call PrintText + ld hl, $d72d + set 6, [hl] + set 7, [hl] + ld hl, RocketHideout4Text_4557f + ld de, RocketHideout4Text_4557f + call PreBattleSaveRegisters + ldh a, [$8c] + ld [$cf13], a + call EngageMapTrainer + call InitBattleEnemyParameters + xor a + ldh [$b4], a + ld a, $3 + ld [W_ROCKETHIDEOUT4CURSCRIPT], a + ld [W_CURMAPSCRIPT], a + jr .asm_209f0 ; 0x4556f +.asm_545571 + ld hl, RocketHideout4Text10 + call PrintText +.asm_209f0 ; 0x45577 + jp TextScriptEnd + +RocketHideout4Text_4557a: ; 4557a (11:557a) + TX_FAR _RocketHideout4Text_4557a + db "@" + +RocketHideout4Text_4557f: ; 4557f (11:557f) + TX_FAR _RocketHideout4Text_4557f + db "@" + +RocketHideout4Text10: ; 45584 (11:5584) + TX_FAR _RocketHideout4Text_45584 + db "@" + +RocketHideout4Text2: ; 45589 (11:5589) + db $08 ; asm + ld hl, RocketHideout4TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +RocketHideout4BattleText2: ; 45593 (11:5593) + TX_FAR _RocketHideout4BattleText2 + db "@" + +RocketHideout4EndBattleText2: ; 45598 (11:5598) + TX_FAR _RocketHideout4EndBattleText2 + db "@" + +RocketHideout4AfterBattleText2: ; 4559d (11:559d) + TX_FAR _RocketHide4AfterBattleText2 + db "@" + +RocketHideout4Text3: ; 455a2 (11:55a2) + db $08 ; asm + ld hl, RocketHideout4TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +RocketHideout4BattleText3: ; 455ac (11:55ac) + TX_FAR _RocketHideout4BattleText3 + db "@" + +RocketHideout4EndBattleText3: ; 455b1 (11:55b1) + TX_FAR _RocketHideout4EndBattleText3 + db "@" + +RocketHideout4AfterBattleText3: ; 455b6 (11:55b6) + TX_FAR _RocketHide4AfterBattleText3 + db "@" + +RocketHideout4Text4: ; 455bb (11:55bb) + db $08 ; asm + ld hl, RocketHideout4TrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +RocketHideout4BattleText4: ; 455c5 (11:55c5) + TX_FAR _RocketHideout4BattleText4 + db "@" + +RocketHideout4EndBattleText4: ; 455ca (11:55ca) + TX_FAR _RocketHideout4EndBattleText4 + db "@" + +RocketHideout4AfterBattleText4: ; 455cf (11:55cf) + db $8 + ld hl, RocketHideout4Text_455ec ; $55ec + call PrintText + ld hl, $d81b + bit 6, [hl] + set 6, [hl] + jr nz, .asm_455e9 ; 0x455dd $a + ld a, $88 + ld [$cc4d], a + ld a, $15 + call Predef +.asm_455e9 + jp TextScriptEnd + +RocketHideout4Text_455ec: ; 455ec (11:55ec) + TX_FAR _RocketHideout4Text_455ec + db "@" diff --git a/scripts/rockethideoutelevator.asm b/scripts/rockethideoutelevator.asm new file mode 100755 index 00000000..0e499553 --- /dev/null +++ b/scripts/rockethideoutelevator.asm @@ -0,0 +1,84 @@ +RocketHideoutElevatorScript: ; 45710 (11:5710) + ld hl, $d126 + bit 5, [hl] + res 5, [hl] + push hl + call nz, RocketHideoutElevatorScript_4572c + pop hl + bit 7, [hl] + res 7, [hl] + call nz, RocketHideoutElevatorScript_4575f + xor a + ld [$cf0c], a + inc a + ld [$cc3c], a + ret + +RocketHideoutElevatorScript_4572c: ; 4572c (11:572c) + ld hl, $d3af + ld a, [$d73b] + ld b, a + ld a, [$d73c] + ld c, a + call RocketHideoutElevatorScript_4573a + +RocketHideoutElevatorScript_4573a: ; 4573a (11:573a) + inc hl + inc hl + ld a, b + ld [hli], a + ld a, c + ld [hli], a + ret + +RocketHideoutElevatorScript_45741: ; 45741 (11:5741) + ld hl, RocketHideoutElavatorFloors ; $5754 + call LoadItemList + ld hl, RocketHideoutElevatorWarpMaps ; $5759 + ld de, $cc5b + ld bc, $0006 + call CopyData + ret + +RocketHideoutElavatorFloors: ; 45754 (11:5754) + db $03 ; num elements in list + db $55, $54, $61 ; "B1F", "B2F", "B4F" + db $FF ; terminator + +RocketHideoutElevatorWarpMaps: ; 45759 (11:5759) +; first byte is warp number +; second byte is map number +; These specify where the player goes after getting out of the elevator. + db $04, ROCKET_HIDEOUT_1 + db $04, ROCKET_HIDEOUT_2 + db $02, ROCKET_HIDEOUT_4 + +RocketHideoutElevatorScript_4575f: ; 4575f (11:575f) + call Delay3 + ld b, BANK(ShakeElevator) + ld hl, ShakeElevator + call Bankswitch + ret + +RocketHideoutElevatorTextPointers: ; 4576b (11:576b) + dw RocketHideoutElevatorText1 + +RocketHideoutElevatorText1: ; 4576d (11:576d) + db $08 ; asm + ld b, LIFT_KEY + call IsItemInBag + jr z, .asm_8d8f0 ; 0x45773 + call RocketHideoutElevatorScript_45741 + ld hl, RocketHideoutElevatorWarpMaps ; $5759 + ld a, $61 + call Predef + jr .asm_46c43 ; 0x45780 +.asm_8d8f0 ; 0x45782 + ld hl, RocketHideoutElevatorText_4578b + call PrintText +.asm_46c43 ; 0x45788 + jp TextScriptEnd + +RocketHideoutElevatorText_4578b: ; 4578b (11:578b) + TX_FAR _RocketElevatorText_4578b ; 0x82438 + db $d, "@" diff --git a/scripts/rocktunnel1.asm b/scripts/rocktunnel1.asm new file mode 100755 index 00000000..be49e494 --- /dev/null +++ b/scripts/rocktunnel1.asm @@ -0,0 +1,214 @@ +RockTunnel1Script: ; 444dc (11:44dc) + call EnableAutoTextBoxDrawing + ld hl, RockTunnel1TrainerHeaders + ld de, RockTunnel1ScriptPointers + ld a, [W_ROCKTUNNEL1CURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_ROCKTUNNEL1CURSCRIPT], a + ret + +RockTunnel1ScriptPointers: ; 444ef (11:44ef) + dw CheckFightingMapTrainers + dw Func_324c + dw EndTrainerBattle + +RockTunnel1TextPointers: ; 444f5 (11:44f5) + dw RockTunnel1Text1 + dw RockTunnel1Text2 + dw RockTunnel1Text3 + dw RockTunnel1Text4 + dw RockTunnel1Text5 + dw RockTunnel1Text6 + dw RockTunnel1Text7 + dw RockTunnel1Text8 + +RockTunnel1TrainerHeaders: ; 44505 (11:4505) +RockTunnel1TrainerHeader1: ; 44505 (11:4505) + db $1 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7d2 ; flag's byte + dw RockTunnel1BattleText1 ; 0x4588 TextBeforeBattle + dw RockTunnel1AfterBattleText1 ; 0x4592 TextAfterBattle + dw RockTunnel1EndBattleText1 ; 0x458d TextEndBattle + dw RockTunnel1EndBattleText1 ; 0x458d TextEndBattle + +RockTunnel1TrainerHeader2: ; 44511 (11:4511) + db $2 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7d2 ; flag's byte + dw RockTunnel1BattleText2 ; 0x4597 TextBeforeBattle + dw RockTunnel1AfterBattleText2 ; 0x45a1 TextAfterBattle + dw RockTunnel1EndBattleText2 ; 0x459c TextEndBattle + dw RockTunnel1EndBattleText2 ; 0x459c TextEndBattle + +RockTunnel1TrainerHeader3: ; 4451d (11:451d) + db $3 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7d2 ; flag's byte + dw RockTunnel1BattleText3 ; 0x45a6 TextBeforeBattle + dw RockTunnel1AfterBattleText3 ; 0x45b0 TextAfterBattle + dw RockTunnel1EndBattleText3 ; 0x45ab TextEndBattle + dw RockTunnel1EndBattleText3 ; 0x45ab TextEndBattle + +RockTunnel1TrainerHeader4: ; 44529 (11:4529) + db $4 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7d2 ; flag's byte + dw RockTunnel1BattleText4 ; 0x45b5 TextBeforeBattle + dw RockTunnel1AfterBattleText4 ; 0x45bf TextAfterBattle + dw RockTunnel1EndBattleText4 ; 0x45ba TextEndBattle + dw RockTunnel1EndBattleText4 ; 0x45ba TextEndBattle + +RockTunnel1TrainerHeader5: ; 44535 (11:4535) + db $5 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7d2 ; flag's byte + dw RockTunnel1BattleText5 ; 0x45c4 TextBeforeBattle + dw RockTunnel1AfterBattleText5 ; 0x45ce TextAfterBattle + dw RockTunnel1EndBattleText5 ; 0x45c9 TextEndBattle + dw RockTunnel1EndBattleText5 ; 0x45c9 TextEndBattle + +RockTunnel1TrainerHeader6: ; 44541 (11:4541) + db $6 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7d2 ; flag's byte + dw RockTunnel1BattleText6 ; 0x45d3 TextBeforeBattle + dw RockTunnel1AfterBattleText6 ; 0x45dd TextAfterBattle + dw RockTunnel1EndBattleText6 ; 0x45d8 TextEndBattle + dw RockTunnel1EndBattleText6 ; 0x45d8 TextEndBattle + +RockTunnel1TrainerHeader7: ; 4454d (11:454d) + db $7 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7d2 ; flag's byte + dw RockTunnel1BattleText7 ; 0x45e2 TextBeforeBattle + dw RockTunnel1AfterBattleText7 ; 0x45ec TextAfterBattle + dw RockTunnel1EndBattleText7 ; 0x45e7 TextEndBattle + dw RockTunnel1EndBattleText7 ; 0x45e7 TextEndBattle + + db $ff + +RockTunnel1Text1: ; 4455a (11:455a) + db $8 + ld hl, RockTunnel1TrainerHeader1 ; $4505 + jr asm_0c916 ; 0x4455e $22 + +RockTunnel1Text2: ; 44560 (11:4560) + db $8 + ld hl, RockTunnel1TrainerHeader2 ; $4511 + jr asm_0c916 ; 0x44564 $1c + +RockTunnel1Text3: ; 44566 (11:4566) + db $8 + ld hl, RockTunnel1TrainerHeader3 ; $451d + jr asm_0c916 ; 0x4456a $16 + +RockTunnel1Text4: ; 4456c (11:456c) + db $8 + ld hl, RockTunnel1TrainerHeader4 ; $4529 + jr asm_0c916 ; 0x44570 $10 + +RockTunnel1Text5: ; 44572 (11:4572) + db $8 + ld hl, RockTunnel1TrainerHeader5 ; $4535 + jr asm_0c916 ; 0x44576 $a + +RockTunnel1Text6: ; 44578 (11:4578) + db $8 + ld hl, RockTunnel1TrainerHeader6 ; $4541 + jr asm_0c916 ; 0x4457c $4 + +RockTunnel1Text7: ; 4457e (11:457e) + db $8 + ld hl, RockTunnel1TrainerHeader7 ; $454d +asm_0c916: ; 44582 (11:4582) + call TalkToTrainer + jp TextScriptEnd + +RockTunnel1BattleText1: ; 44588 (11:4588) + TX_FAR _RockTunnel1BattleText1 + db "@" + +RockTunnel1EndBattleText1: ; 4458d (11:458d) + TX_FAR _RockTunnel1EndBattleText1 + db "@" + +RockTunnel1AfterBattleText1: ; 44592 (11:4592) + TX_FAR _RockTunnel1AfterBattleText1 + db "@" + +RockTunnel1BattleText2: ; 44597 (11:4597) + TX_FAR _RockTunnel1BattleText2 + db "@" + +RockTunnel1EndBattleText2: ; 4459c (11:459c) + TX_FAR _RockTunnel1EndBattleText2 + db "@" + +RockTunnel1AfterBattleText2: ; 445a1 (11:45a1) + TX_FAR _RockTunnel1AfterBattleText2 + db "@" + +RockTunnel1BattleText3: ; 445a6 (11:45a6) + TX_FAR _RockTunnel1BattleText3 + db "@" + +RockTunnel1EndBattleText3: ; 445ab (11:45ab) + TX_FAR _RockTunnel1EndBattleText3 + db "@" + +RockTunnel1AfterBattleText3: ; 445b0 (11:45b0) + TX_FAR _RockTunnel1AfterBattleText3 + db "@" + +RockTunnel1BattleText4: ; 445b5 (11:45b5) + TX_FAR _RockTunnel1BattleText4 + db "@" + +RockTunnel1EndBattleText4: ; 445ba (11:45ba) + TX_FAR _RockTunnel1EndBattleText4 + db "@" + +RockTunnel1AfterBattleText4: ; 445bf (11:45bf) + TX_FAR _RockTunnel1AfterBattleText4 + db "@" + +RockTunnel1BattleText5: ; 445c4 (11:45c4) + TX_FAR _RockTunnel1BattleText5 + db "@" + +RockTunnel1EndBattleText5: ; 445c9 (11:45c9) + TX_FAR _RockTunnel1EndBattleText5 + db "@" + +RockTunnel1AfterBattleText5: ; 445ce (11:45ce) + TX_FAR _RockTunnel1AfterBattleText5 + db "@" + +RockTunnel1BattleText6: ; 445d3 (11:45d3) + TX_FAR _RockTunnel1BattleText6 + db "@" + +RockTunnel1EndBattleText6: ; 445d8 (11:45d8) + TX_FAR _RockTunnel1EndBattleText6 + db "@" + +RockTunnel1AfterBattleText6: ; 445dd (11:45dd) + TX_FAR _RockTunnel1AfterBattleText6 + db "@" + +RockTunnel1BattleText7: ; 445e2 (11:45e2) + TX_FAR _RockTunnel1BattleText7 + db "@" + +RockTunnel1EndBattleText7: ; 445e7 (11:45e7) + TX_FAR _RockTunnel1EndBattleText7 + db "@" + +RockTunnel1AfterBattleText7: ; 445ec (11:45ec) + TX_FAR _RockTunnel1AfterBattleText7 + db "@" + +RockTunnel1Text8: ; 445f1 (11:45f1) + TX_FAR _RockTunnel1Text8 + db "@" diff --git a/scripts/rocktunnel2.asm b/scripts/rocktunnel2.asm new file mode 100755 index 00000000..62f4fe18 --- /dev/null +++ b/scripts/rocktunnel2.asm @@ -0,0 +1,242 @@ +RockTunnel2Script: ; 45feb (11:5feb) + call EnableAutoTextBoxDrawing + ld hl, RockTunnel2TrainerHeaders + ld de, RockTunnel2ScriptPointers + ld a, [W_ROCKTUNNEL2CURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_ROCKTUNNEL2CURSCRIPT], a + ret + +RockTunnel2ScriptPointers: ; 45ffe (11:5ffe) + dw CheckFightingMapTrainers + dw Func_324c + dw EndTrainerBattle + +RockTunnel2TextPointers: ; 46004 (11:6004) + dw RockTunnel2Text1 + dw RockTunnel2Text2 + dw RockTunnel2Text3 + dw RockTunnel2Text4 + dw RockTunnel2Text5 + dw RockTunnel2Text6 + dw RockTunnel2Text7 + dw RockTunnel2Text8 + +RockTunnel2TrainerHeaders: ; 46014 (11:6014) +RockTunnel2TrainerHeader0: ; 46014 (11:6014) + db $1 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d87d ; flag's byte + dw RockTunnel2BattleText2 ; 0x60c5 TextBeforeBattle + dw RockTunnel2AfterBattleText2 ; 0x60cf TextAfterBattle + dw RockTunnel2EndBattleText2 ; 0x60ca TextEndBattle + dw RockTunnel2EndBattleText2 ; 0x60ca TextEndBattle + +RockTunnel2TrainerHeader2: ; 46020 (11:6020) + db $2 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d87d ; flag's byte + dw RockTunnel2BattleText3 ; 0x60d4 TextBeforeBattle + dw RockTunnel2AfterBattleText3 ; 0x60de TextAfterBattle + dw RockTunnel2EndBattleText3 ; 0x60d9 TextEndBattle + dw RockTunnel2EndBattleText3 ; 0x60d9 TextEndBattle + +RockTunnel2TrainerHeader3: ; 4602c (11:602c) + db $3 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d87d ; flag's byte + dw RockTunnel2BattleText4 ; 0x60e3 TextBeforeBattle + dw RockTunnel2AfterBattleText4 ; 0x60ed TextAfterBattle + dw RockTunnel2EndBattleText4 ; 0x60e8 TextEndBattle + dw RockTunnel2EndBattleText4 ; 0x60e8 TextEndBattle + +RockTunnel2TrainerHeader4: ; 46038 (11:6038) + db $4 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d87d ; flag's byte + dw RockTunnel2BattleText5 ; 0x60f2 TextBeforeBattle + dw RockTunnel2AfterBattleText5 ; 0x60fc TextAfterBattle + dw RockTunnel2EndBattleText5 ; 0x60f7 TextEndBattle + dw RockTunnel2EndBattleText5 ; 0x60f7 TextEndBattle + +RockTunnel2TrainerHeader5: ; 46044 (11:6044) + db $5 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d87d ; flag's byte + dw RockTunnel2BattleText6 ; 0x6101 TextBeforeBattle + dw RockTunnel2AfterBattleText6 ; 0x610b TextAfterBattle + dw RockTunnel2EndBattleText6 ; 0x6106 TextEndBattle + dw RockTunnel2EndBattleText6 ; 0x6106 TextEndBattle + +RockTunnel2TrainerHeader6: ; 46050 (11:6050) + db $6 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d87d ; flag's byte + dw RockTunnel2BattleText7 ; 0x6110 TextBeforeBattle + dw RockTunnel2AfterBattleText7 ; 0x611a TextAfterBattle + dw RockTunnel2EndBattleText7 ; 0x6115 TextEndBattle + dw RockTunnel2EndBattleText7 ; 0x6115 TextEndBattle + +RockTunnel2TrainerHeader7: ; 4605c (11:605c) + db $7 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d87d ; flag's byte + dw RockTunnel2BattleText8 ; 0x611f TextBeforeBattle + dw RockTunnel2AfterBattleText8 ; 0x6129 TextAfterBattle + dw RockTunnel2EndBattleText8 ; 0x6124 TextEndBattle + dw RockTunnel2EndBattleText8 ; 0x6124 TextEndBattle + +RockTunnel2TrainerHeader8: ; 46068 (11:6068) + db $8 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d87d ; flag's byte + dw RockTunnel2BattleText9 ; 0x612e TextBeforeBattle + dw RockTunnel2AfterBattleText9 ; 0x6138 TextAfterBattle + dw RockTunnel2EndBattleText9 ; 0x6133 TextEndBattle + dw RockTunnel2EndBattleText9 ; 0x6133 TextEndBattle + + db $ff + +RockTunnel2Text1: ; 46075 (11:6075) + db $08 ; asm + ld hl, RockTunnel2TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +RockTunnel2Text2: ; 4607f (11:607f) + db $08 ; asm + ld hl, RockTunnel2TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +RockTunnel2Text3: ; 46089 (11:6089) + db $08 ; asm + ld hl, RockTunnel2TrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +RockTunnel2Text4: ; 46093 (11:6093) + db $08 ; asm + ld hl, RockTunnel2TrainerHeader4 + call TalkToTrainer + jp TextScriptEnd + +RockTunnel2Text5: ; 4609d (11:609d) + db $08 ; asm + ld hl, RockTunnel2TrainerHeader5 + call TalkToTrainer + jp TextScriptEnd + +RockTunnel2Text6: ; 460a7 (11:60a7) + db $08 ; asm + ld hl, RockTunnel2TrainerHeader6 + call TalkToTrainer + jp TextScriptEnd + +RockTunnel2Text7: ; 460b1 (11:60b1) + db $08 ; asm + ld hl, RockTunnel2TrainerHeader7 + call TalkToTrainer + jp TextScriptEnd + +RockTunnel2Text8: ; 460bb (11:60bb) + db $08 ; asm + ld hl, RockTunnel2TrainerHeader8 + call TalkToTrainer + jp TextScriptEnd + +RockTunnel2BattleText2: ; 460c5 (11:60c5) + TX_FAR _RockTunnel2BattleText2 + db "@" + +RockTunnel2EndBattleText2: ; 460ca (11:60ca) + TX_FAR _RockTunnel2EndBattleText2 + db "@" + +RockTunnel2AfterBattleText2: ; 460cf (11:60cf) + TX_FAR _RockTunnel2AfterBattleText2 + db "@" + +RockTunnel2BattleText3: ; 460d4 (11:60d4) + TX_FAR _RockTunnel2BattleText3 + db "@" + +RockTunnel2EndBattleText3: ; 460d9 (11:60d9) + TX_FAR _RockTunnel2EndBattleText3 + db "@" + +RockTunnel2AfterBattleText3: ; 460de (11:60de) + TX_FAR _RockTunnel2AfterBattleText3 + db "@" + +RockTunnel2BattleText4: ; 460e3 (11:60e3) + TX_FAR _RockTunnel2BattleText4 + db "@" + +RockTunnel2EndBattleText4: ; 460e8 (11:60e8) + TX_FAR _RockTunnel2EndBattleText4 + db "@" + +RockTunnel2AfterBattleText4: ; 460ed (11:60ed) + TX_FAR _RockTunnel2AfterBattleText4 + db "@" + +RockTunnel2BattleText5: ; 460f2 (11:60f2) + TX_FAR _RockTunnel2BattleText5 + db "@" + +RockTunnel2EndBattleText5: ; 460f7 (11:60f7) + TX_FAR _RockTunnel2EndBattleText5 + db "@" + +RockTunnel2AfterBattleText5: ; 460fc (11:60fc) + TX_FAR _RockTunnel2AfterBattleText5 + db "@" + +RockTunnel2BattleText6: ; 46101 (11:6101) + TX_FAR _RockTunnel2BattleText6 + db "@" + +RockTunnel2EndBattleText6: ; 46106 (11:6106) + TX_FAR _RockTunnel2EndBattleText6 + db "@" + +RockTunnel2AfterBattleText6: ; 4610b (11:610b) + TX_FAR _RockTunnel2AfterBattleText6 + db "@" + +RockTunnel2BattleText7: ; 46110 (11:6110) + TX_FAR _RockTunnel2BattleText7 + db "@" + +RockTunnel2EndBattleText7: ; 46115 (11:6115) + TX_FAR _RockTunnel2EndBattleText7 + db "@" + +RockTunnel2AfterBattleText7: ; 4611a (11:611a) + TX_FAR _RockTunnel2AfterBattleText7 + db "@" + +RockTunnel2BattleText8: ; 4611f (11:611f) + TX_FAR _RockTunnel2BattleText8 + db "@" + +RockTunnel2EndBattleText8: ; 46124 (11:6124) + TX_FAR _RockTunnel2EndBattleText8 + db "@" + +RockTunnel2AfterBattleText8: ; 46129 (11:6129) + TX_FAR _RockTunnel2AfterBattleText8 + db "@" + +RockTunnel2BattleText9: ; 4612e (11:612e) + TX_FAR _RockTunnel2BattleText9 + db "@" + +RockTunnel2EndBattleText9: ; 46133 (11:6133) + TX_FAR _RockTunnel2EndBattleText9 + db "@" + +RockTunnel2AfterBattleText9: ; 46138 (11:6138) + TX_FAR _RockTunnel2AfterBattleText9 + db "@" diff --git a/scripts/rocktunnelpokecenter.asm b/scripts/rocktunnelpokecenter.asm new file mode 100755 index 00000000..62336edc --- /dev/null +++ b/scripts/rocktunnelpokecenter.asm @@ -0,0 +1,23 @@ +RockTunnelPokecenterScript: ; 493ba (12:53ba) + call Func_22fa + jp EnableAutoTextBoxDrawing + +RockTunnelPokecenterTextPointers: ; 493c0 (12:53c0) + dw RockTunnelPokecenterText1 + dw RockTunnelPokecenterText2 + dw RockTunnelPokecenterText3 + dw RockTunnelPokecenterText4 + +RockTunnelPokecenterText1: ; 493c8 (12:53c8) + db $ff + +RockTunnelPokecenterText2: ; 493c9 (12:53c9) + TX_FAR _RockTunnelPokecenterText1 + db "@" + +RockTunnelPokecenterText3: ; 493ce (12:53ce) + TX_FAR _RockTunnelPokecenterText3 + db "@" + +RockTunnelPokecenterText4: ; 493d3 (12:53d3) + db $f6 diff --git a/scripts/route1.asm b/scripts/route1.asm new file mode 100755 index 00000000..1faf5a48 --- /dev/null +++ b/scripts/route1.asm @@ -0,0 +1,53 @@ +Route1Script: ; 1caaf (7:4aaf) + jp EnableAutoTextBoxDrawing + +Route1TextPointers: ; 1cab2 (7:4ab2) + dw Route1Text1 + dw Route1Text2 + dw Route1Text3 + +Route1Text1: ; 1cab8 (7:4ab8) + db $08 ; asm + ld hl, $d7bf + bit 0, [hl] + set 0, [hl] + jr nz, .asm_02840 ; 0x1cac0 + ld hl, Route1ViridianMartSampleText + call PrintText + ld bc, (POTION << 8) | 1 + call GiveItem + jr nc, .BagFull + ld hl, Route1Text_1cae8 ; $4ae8 + jr .asm_46d43 ; 0x1cad3 +.BagFull + ld hl, Route1Text_1caf3 ; $4af3 + jr .asm_46d43 ; 0x1cad8 +.asm_02840 ; 0x1cada + ld hl, Route1Text_1caee ; $4aee +.asm_46d43 ; 0x1cadd + call PrintText + jp TextScriptEnd + +Route1ViridianMartSampleText: ; 1cae3 (7:4ae3) + TX_FAR _Route1ViridianMartSampleText + db "@" + +Route1Text_1cae8: ; 1cae8 (7:4ae8) + TX_FAR _Route1Text_1cae8 + db $0b,"@" + +Route1Text_1caee: ; 1caee (7:4aee) + TX_FAR _Route1Text_1caee + db "@" + +Route1Text_1caf3: ; 1caf3 (7:4af3) + TX_FAR _Route1Text_1caf3 + db "@" + +Route1Text2: ; 1caf8 (7:4af8) + TX_FAR _Route1Text2 + db "@" + +Route1Text3: ; 1cafd (7:4afd) + TX_FAR _Route1Text3 + db "@" diff --git a/scripts/route10.asm b/scripts/route10.asm new file mode 100755 index 00000000..1e0ecb91 --- /dev/null +++ b/scripts/route10.asm @@ -0,0 +1,199 @@ +Route10Script: ; 59336 (16:5336) + call EnableAutoTextBoxDrawing + ld hl, Route10TrainerHeaders + ld de, Route10ScriptPointers + ld a, [W_ROUTE10CURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_ROUTE10CURSCRIPT], a + ret + +Route10ScriptPointers: ; 59349 (16:5349) + dw CheckFightingMapTrainers + dw Func_324c + dw EndTrainerBattle + +Route10TextPointers: ; 5934f (16:534f) + dw Route10Text1 + dw Route10Text2 + dw Route10Text3 + dw Route10Text4 + dw Route10Text5 + dw Route10Text6 + dw Route10Text7 + dw PokeCenterSignText + dw Route10Text9 + dw Route10Text10 + +Route10TrainerHeaders: ; 59363 (16:5363) +Route10TrainerHeader0: ; 59363 (16:5363) + db $1 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7d1 ; flag's byte + dw Route10BattleText1 ; 0x53b6 TextBeforeBattle + dw Route10AfterBattleText1 ; 0x53c0 TextAfterBattle + dw Route10EndBattleText1 ; 0x53bb TextEndBattle + dw Route10EndBattleText1 ; 0x53bb TextEndBattle + +Route10TrainerHeader1: ; 5936f (16:536f) + db $2 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7d1 ; flag's byte + dw Route10BattleText2 ; 0x53cf TextBeforeBattle + dw Route10AfterBattleText2 ; 0x53d9 TextAfterBattle + dw Route10EndBattleText2 ; 0x53d4 TextEndBattle + dw Route10EndBattleText2 ; 0x53d4 TextEndBattle + +Route10TrainerHeader2: ; 5937b (16:537b) + db $3 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7d1 ; flag's byte + dw Route10BattleText3 ; 0x53e8 TextBeforeBattle + dw Route10AfterBattleText3 ; 0x53f2 TextAfterBattle + dw Route10EndBattleText3 ; 0x53ed TextEndBattle + dw Route10EndBattleText3 ; 0x53ed TextEndBattle + +Route10TrainerHeader3: ; 59387 (16:5387) + db $4 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7d1 ; flag's byte + dw Route10BattleText4 ; 0x5401 TextBeforeBattle + dw Route10AfterBattleText4 ; 0x540b TextAfterBattle + dw Route10EndBattleText4 ; 0x5406 TextEndBattle + dw Route10EndBattleText4 ; 0x5406 TextEndBattle + +Route10TrainerHeader4: ; 59393 (16:5393) + db $5 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7d1 ; flag's byte + dw Route10BattleText5 ; 0x541a TextBeforeBattle + dw Route10AfterBattleText5 ; 0x5424 TextAfterBattle + dw Route10EndBattleText5 ; 0x541f TextEndBattle + dw Route10EndBattleText5 ; 0x541f TextEndBattle + +Route10TrainerHeader5: ; 5939f (16:539f) + db $6 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7d1 ; flag's byte + dw Route10BattleText6 ; 0x5433 TextBeforeBattle + dw Route10AfterBattleText6 ; 0x543d TextAfterBattle + dw Route10EndBattleText6 ; 0x5438 TextEndBattle + dw Route10EndBattleText6 ; 0x5438 TextEndBattle + + db $ff + +Route10Text1: ; 593ac (16:53ac) + db $08 ; asm + ld hl, Route10TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +Route10BattleText1: ; 593b6 (16:53b6) + TX_FAR _Route10BattleText1 + db "@" + +Route10EndBattleText1: ; 593bb (16:53bb) + TX_FAR _Route10EndBattleText1 + db "@" + +Route10AfterBattleText1: ; 593c0 (16:53c0) + TX_FAR _Route10AfterBattleText1 + db "@" + +Route10Text2: ; 593c5 (16:53c5) + db $08 ; asm + ld hl, Route10TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +Route10BattleText2: ; 593cf (16:53cf) + TX_FAR _Route10BattleText2 + db "@" + +Route10EndBattleText2: ; 593d4 (16:53d4) + TX_FAR _Route10EndBattleText2 + db "@" + +Route10AfterBattleText2: ; 593d9 (16:53d9) + TX_FAR _Route10AfterBattleText2 + db "@" + +Route10Text3: ; 593de (16:53de) + db $08 ; asm + ld hl, Route10TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +Route10BattleText3: ; 593e8 (16:53e8) + TX_FAR _Route10BattleText3 + db "@" + +Route10EndBattleText3: ; 593ed (16:53ed) + TX_FAR _Route10EndBattleText3 + db "@" + +Route10AfterBattleText3: ; 593f2 (16:53f2) + TX_FAR _Route10AfterBattleText3 + db "@" + +Route10Text4: ; 593f7 (16:53f7) + db $08 ; asm + ld hl, Route10TrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +Route10BattleText4: ; 59401 (16:5401) + TX_FAR _Route10BattleText4 + db "@" + +Route10EndBattleText4: ; 59406 (16:5406) + TX_FAR _Route10EndBattleText4 + db "@" + +Route10AfterBattleText4: ; 5940b (16:540b) + TX_FAR _Route10AfterBattleText4 + db "@" + +Route10Text5: ; 59410 (16:5410) + db $08 ; asm + ld hl, Route10TrainerHeader4 + call TalkToTrainer + jp TextScriptEnd + +Route10BattleText5: ; 5941a (16:541a) + TX_FAR _Route10BattleText5 + db "@" + +Route10EndBattleText5: ; 5941f (16:541f) + TX_FAR _Route10EndBattleText5 + db "@" + +Route10AfterBattleText5: ; 59424 (16:5424) + TX_FAR _Route10AfterBattleText5 + db "@" + +Route10Text6: ; 59429 (16:5429) + db $08 ; asm + ld hl, Route10TrainerHeader5 + call TalkToTrainer + jp TextScriptEnd + +Route10BattleText6: ; 59433 (16:5433) + TX_FAR _Route10BattleText6 + db "@" + +Route10EndBattleText6: ; 59438 (16:5438) + TX_FAR _Route10EndBattleText6 + db "@" + +Route10AfterBattleText6: ; 5943d (16:543d) + TX_FAR _Route10AfterBattleText6 + db "@" + +Route10Text9: ; 59442 (16:5442) +Route10Text7: ; 59442 (16:5442) + TX_FAR _Route10Text7 ; _Route10Text9 + db "@" + +Route10Text10: ; 59447 (16:5447) + TX_FAR _Route10Text10 + db "@" diff --git a/scripts/route11.asm b/scripts/route11.asm new file mode 100755 index 00000000..6217569e --- /dev/null +++ b/scripts/route11.asm @@ -0,0 +1,303 @@ +Route11Script: ; 5944c (16:544c) + call EnableAutoTextBoxDrawing + ld hl, Route11TrainerHeaders + ld de, Route11ScriptPointers + ld a, [W_ROUTE11CURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_ROUTE11CURSCRIPT], a + ret + +Route11ScriptPointers: ; 5945f (16:545f) + dw CheckFightingMapTrainers + dw Func_324c + dw EndTrainerBattle + +Route11TextPointers: ; 59465 (16:5465) + dw Route11Text1 + dw Route11Text2 + dw Route11Text3 + dw Route11Text4 + dw Route11Text5 + dw Route11Text6 + dw Route11Text7 + dw Route11Text8 + dw Route11Text9 + dw Route11Text10 + dw Route11Text11 + +Route11TrainerHeaders: ; 5947b (16:547b) +Route11TrainerHeader0: ; 5947b (16:547b) + db $1 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7d5 ; flag's byte + dw Route11BattleText1 ; 0x54fe TextBeforeBattle + dw Route11AfterBattleText1 ; 0x5508 TextAfterBattle + dw Route11EndBattleText1 ; 0x5503 TextEndBattle + dw Route11EndBattleText1 ; 0x5503 TextEndBattle + +Route11TrainerHeader1: ; 59487 (16:5487) + db $2 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7d5 ; flag's byte + dw Route11BattleText2 ; 0x5517 TextBeforeBattle + dw Route11AfterBattleText2 ; 0x5521 TextAfterBattle + dw Route11EndBattleText2 ; 0x551c TextEndBattle + dw Route11EndBattleText2 ; 0x551c TextEndBattle + +Route11TrainerHeader2: ; 59493 (16:5493) + db $3 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7d5 ; flag's byte + dw Route11BattleText3 ; 0x5530 TextBeforeBattle + dw Route11AfterBattleText3 ; 0x553a TextAfterBattle + dw Route11EndBattleText3 ; 0x5535 TextEndBattle + dw Route11EndBattleText3 ; 0x5535 TextEndBattle + +Route11TrainerHeader3: ; 5949f (16:549f) + db $4 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7d5 ; flag's byte + dw Route11BattleText4 ; 0x5549 TextBeforeBattle + dw Route11AfterBattleText4 ; 0x5553 TextAfterBattle + dw Route11EndBattleText4 ; 0x554e TextEndBattle + dw Route11EndBattleText4 ; 0x554e TextEndBattle + +Route11TrainerHeader4: ; 594ab (16:54ab) + db $5 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7d5 ; flag's byte + dw Route11BattleText5 ; 0x5562 TextBeforeBattle + dw Route11AfterBattleText5 ; 0x556c TextAfterBattle + dw Route11EndBattleText5 ; 0x5567 TextEndBattle + dw Route11EndBattleText5 ; 0x5567 TextEndBattle + +Route11TrainerHeader5: ; 594b7 (16:54b7) + db $6 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7d5 ; flag's byte + dw Route11BattleText6 ; 0x557b TextBeforeBattle + dw Route11AfterBattleText6 ; 0x5585 TextAfterBattle + dw Route11EndBattleText6 ; 0x5580 TextEndBattle + dw Route11EndBattleText6 ; 0x5580 TextEndBattle + +Route11TrainerHeader6: ; 594c3 (16:54c3) + db $7 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7d5 ; flag's byte + dw Route11BattleText7 ; 0x5594 TextBeforeBattle + dw Route11AfterBattleText7 ; 0x559e TextAfterBattle + dw Route11EndBattleText7 ; 0x5599 TextEndBattle + dw Route11EndBattleText7 ; 0x5599 TextEndBattle + +Route11TrainerHeader7: ; 594cf (16:54cf) + db $8 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7d5 ; flag's byte + dw Route11BattleText8 ; 0x55ad TextBeforeBattle + dw Route11AfterBattleText8 ; 0x55b7 TextAfterBattle + dw Route11EndBattleText8 ; 0x55b2 TextEndBattle + dw Route11EndBattleText8 ; 0x55b2 TextEndBattle + +Route11TrainerHeader8: ; 594db (16:54db) + db $9 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7d5 ; flag's byte + dw Route11BattleText9 ; 0x55c6 TextBeforeBattle + dw Route11AfterBattleText9 ; 0x55d0 TextAfterBattle + dw Route11EndBattleText9 ; 0x55cb TextEndBattle + dw Route11EndBattleText9 ; 0x55cb TextEndBattle + +Route11TrainerHeader9: ; 594e7 (16:54e7) + db $a ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7d5 ; flag's byte + dw Route11BattleText10 ; 0x55df TextBeforeBattle + dw Route11AfterBattleText10 ; 0x55e9 TextAfterBattle + dw Route11EndBattleText10 ; 0x55e4 TextEndBattle + dw Route11EndBattleText10 ; 0x55e4 TextEndBattle + + db $ff + +Route11Text1: ; 594f4 (16:54f4) + db $8 + ld hl, Route11TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +Route11BattleText1: ; 594fe (16:54fe) + TX_FAR _Route11BattleText1 + db "@" + +Route11EndBattleText1: ; 59503 (16:5503) + TX_FAR _Route11EndBattleText1 + db "@" + +Route11AfterBattleText1: ; 59508 (16:5508) + TX_FAR _Route11AfterBattleText1 + db "@" + +Route11Text2: ; 5950d (16:550d) + db $08 ; asm + ld hl, Route11TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +Route11BattleText2: ; 59517 (16:5517) + TX_FAR _Route11BattleText2 + db "@" + +Route11EndBattleText2: ; 5951c (16:551c) + TX_FAR _Route11EndBattleText2 + db "@" + +Route11AfterBattleText2: ; 59521 (16:5521) + TX_FAR _Route11AfterBattleText2 + db "@" + +Route11Text3: ; 59526 (16:5526) + db $08 ; asm + ld hl, Route11TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +Route11BattleText3: ; 59530 (16:5530) + TX_FAR _Route11BattleText3 + db "@" + +Route11EndBattleText3: ; 59535 (16:5535) + TX_FAR _Route11EndBattleText3 + db "@" + +Route11AfterBattleText3: ; 5953a (16:553a) + TX_FAR _Route11AfterBattleText3 + db "@" + +Route11Text4: ; 5953f (16:553f) + db $08 ; asm + ld hl, Route11TrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +Route11BattleText4: ; 59549 (16:5549) + TX_FAR _Route11BattleText4 + db "@" + +Route11EndBattleText4: ; 5954e (16:554e) + TX_FAR _Route11EndBattleText4 + db "@" + +Route11AfterBattleText4: ; 59553 (16:5553) + TX_FAR _Route11AfterBattleText4 + db "@" + +Route11Text5: ; 59558 (16:5558) + db $08 ; asm + ld hl, Route11TrainerHeader4 + call TalkToTrainer + jp TextScriptEnd + +Route11BattleText5: ; 59562 (16:5562) + TX_FAR _Route11BattleText5 + db "@" + +Route11EndBattleText5: ; 59567 (16:5567) + TX_FAR _Route11EndBattleText5 + db "@" + +Route11AfterBattleText5: ; 5956c (16:556c) + TX_FAR _Route11AfterBattleText5 + db "@" + +Route11Text6: ; 59571 (16:5571) + db $08 ; asm + ld hl, Route11TrainerHeader5 + call TalkToTrainer + jp TextScriptEnd + +Route11BattleText6: ; 5957b (16:557b) + TX_FAR _Route11BattleText6 + db "@" + +Route11EndBattleText6: ; 59580 (16:5580) + TX_FAR _Route11EndBattleText6 + db "@" + +Route11AfterBattleText6: ; 59585 (16:5585) + TX_FAR _Route11AfterBattleText6 + db "@" + +Route11Text7: ; 5958a (16:558a) + db $08 ; asm + ld hl, Route11TrainerHeader6 + call TalkToTrainer + jp TextScriptEnd + +Route11BattleText7: ; 59594 (16:5594) + TX_FAR _Route11BattleText7 + db "@" + +Route11EndBattleText7: ; 59599 (16:5599) + TX_FAR _Route11EndBattleText7 + db "@" + +Route11AfterBattleText7: ; 5959e (16:559e) + TX_FAR _Route11AfterBattleText7 + db "@" + +Route11Text8: ; 595a3 (16:55a3) + db $08 ; asm + ld hl, Route11TrainerHeader7 + call TalkToTrainer + jp TextScriptEnd + +Route11BattleText8: ; 595ad (16:55ad) + TX_FAR _Route11BattleText8 + db "@" + +Route11EndBattleText8: ; 595b2 (16:55b2) + TX_FAR _Route11EndBattleText8 + db "@" + +Route11AfterBattleText8: ; 595b7 (16:55b7) + TX_FAR _Route11AfterBattleText8 + db "@" + +Route11Text9: ; 595bc (16:55bc) + db $08 ; asm + ld hl, Route11TrainerHeader8 + call TalkToTrainer + jp TextScriptEnd + +Route11BattleText9: ; 595c6 (16:55c6) + TX_FAR _Route11BattleText9 + db "@" + +Route11EndBattleText9: ; 595cb (16:55cb) + TX_FAR _Route11EndBattleText9 + db "@" + +Route11AfterBattleText9: ; 595d0 (16:55d0) + TX_FAR _Route11AfterBattleText9 + db "@" + +Route11Text10: ; 595d5 (16:55d5) + db $08 ; asm + ld hl, Route11TrainerHeader9 + call TalkToTrainer + jp TextScriptEnd + +Route11BattleText10: ; 595df (16:55df) + TX_FAR _Route11BattleText10 + db "@" + +Route11EndBattleText10: ; 595e4 (16:55e4) + TX_FAR _Route11EndBattleText10 + db "@" + +Route11AfterBattleText10: ; 595e9 (16:55e9) + TX_FAR _Route11AfterBattleText10 + db "@" + +Route11Text11: ; 595ee (16:55ee) + TX_FAR _Route11Text11 + db "@" diff --git a/scripts/route11gate.asm b/scripts/route11gate.asm new file mode 100755 index 00000000..e53fc63a --- /dev/null +++ b/scripts/route11gate.asm @@ -0,0 +1,9 @@ +Route11GateScript: ; 4940c (12:540c) + jp EnableAutoTextBoxDrawing + +Route11GateTextPointers: ; 4940f (12:540f) + dw Route11GateText1 + +Route11GateText1: ; 49411 (12:5411) + TX_FAR _Route11GateText1 + db "@" diff --git a/scripts/route11gateupstairs.asm b/scripts/route11gateupstairs.asm new file mode 100755 index 00000000..0ee428c4 --- /dev/null +++ b/scripts/route11gateupstairs.asm @@ -0,0 +1,81 @@ +Route11GateUpstairsScript: ; 49454 (12:5454) + jp DisableAutoTextBoxDrawing + +Route11GateUpstairsTextPointers: ; 49457 (12:5457) + dw Route11GateUpstairsText1 + dw Route11GateUpstairsText2 + dw Route11GateUpstairsText3 + dw Route11GateUpstairsText4 + +Route11GateUpstairsText1: ; 4945f (12:545f) + db $08 ; asm + xor a + ld [wWhichTrade], a + ld a, $54 + call Predef +asm_49469: ; 49469 (12:5469) + jp TextScriptEnd + +Route11GateUpstairsText2: ; 4946c (12:546c) + db $8 + ld a, [$d7d6] + add a + jr c, .asm_4949b ; 0x49471 $28 + ld a, $1e + ld [$ffdb], a + ld a, $47 + ld [$ffdc], a + ld [$d11e], a + call GetItemName + ld h, d + ld l, e + ld de, $cc5b + ld bc, $000d + call CopyData + ld a, $62 + call Predef + ld a, [$ffdb] + dec a + jr nz, .asm_494a1 ; 0x49494 $b + ld hl, $d7d6 + set 7, [hl] +.asm_4949b + ld hl, Route11GateUpstairsText_494a3 + call PrintText +.asm_494a1 + jr asm_49469 ; 0x494a1 $c6 + +Route11GateUpstairsText_494a3: ; 494a3 (12:54a3) + TX_FAR _Route11GateUpstairsText_494a3 + db "@" + +Route11GateUpstairsText3: ; 494a8 (12:54a8) + db $08 ; asm + ld a, [$c109] + cp $4 + jp nz, Route12GateUpstairsScript_495c9 + ld a, [$d7d8] + bit 7, a ; fought snorlax? + ld hl, BinocularsSnorlaxText + jr z, .print + ld hl, BinocularsNoSnorlaxText +.print + call PrintText + jp TextScriptEnd + +BinocularsSnorlaxText: + TX_FAR _BinocularsSnorlaxText + db "@" + +BinocularsNoSnorlaxText: + TX_FAR _BinocularsNoSnorlaxText + db "@" + +Route11GateUpstairsText4: ; 494ce (12:54ce) + db $8 + ld hl, Route11GateUpstairsText_494d5 ; $54d5 + jp Route12GateUpstairsScript_495c9 + +Route11GateUpstairsText_494d5: ; 494d5 (12:54d5) + TX_FAR _Route11GateUpstairsText_494d5 + db "@" diff --git a/scripts/route12.asm b/scripts/route12.asm new file mode 100755 index 00000000..5bbdac3f --- /dev/null +++ b/scripts/route12.asm @@ -0,0 +1,292 @@ +Route12Script: ; 595f3 (16:55f3) + call EnableAutoTextBoxDrawing + ld hl, Route12TrainerHeaders + ld de, Route12ScriptPointers + ld a, [W_ROUTE12CURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_ROUTE12CURSCRIPT], a + ret + +Route12Script_59606: ; 59606 (16:5606) + xor a + ld [wJoypadForbiddenButtonsMask], a + ld [W_ROUTE12CURSCRIPT], a + ld [W_CURMAPSCRIPT], a + ret + +Route12ScriptPointers: ; 59611 (16:5611) + dw Route12Script0 + dw Func_324c + dw EndTrainerBattle + dw Route12Script3 + +Route12Script0: ; 59619 (16:5619) + ld hl, $d7d8 + bit 7, [hl] + jp nz, CheckFightingMapTrainers + bit 6, [hl] + res 6, [hl] + jp z, CheckFightingMapTrainers + ld a, $d + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + call DisplayTextID + ld a, SNORLAX + ld [W_CUROPPONENT], a ; $d059 + ld a, 30 + ld [W_CURENEMYLVL], a ; $d127 + ld a, $1d + ld [$cc4d], a + ld a, $11 + call Predef ; indirect jump to RemoveMissableObject (f1d7 (3:71d7)) + ld a, $3 + ld [W_ROUTE12CURSCRIPT], a + ld [W_CURMAPSCRIPT], a + ret + +Route12Script3: ; 5964c (16:564c) + ld a, [W_ISINBATTLE] ; $d057 + cp $ff + jr z, Route12Script_59606 + call UpdateSprites + ld a, [$cf0b] + cp $2 + jr z, .asm_59664 + ld a, $e + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + call DisplayTextID +.asm_59664 + ld hl, $d7d8 + set 7, [hl] + call Delay3 + ld a, $0 + ld [W_ROUTE12CURSCRIPT], a + ld [W_CURMAPSCRIPT], a + ret + +Route12TextPointers: ; 59675 (16:5675) + dw Route12Text1 + dw Route12Text2 + dw Route12Text3 + dw Route12Text4 + dw Route12Text5 + dw Route12Text6 + dw Route12Text7 + dw Route12Text8 + dw Predef5CText + dw Predef5CText + dw Route12Text11 + dw Route12Text12 + dw Route12Text13 + dw Route12Text14 + +Route12TrainerHeaders: ; 59691 (16:5691) +Route12TrainerHeader0: ; 59691 (16:5691) + db $2 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7d7 ; flag's byte + dw Route12BattleText1 ; 0x56ff TextBeforeBattle + dw Route12AfterBattleText1 ; 0x5709 TextAfterBattle + dw Route12EndBattleText1 ; 0x5704 TextEndBattle + dw Route12EndBattleText1 ; 0x5704 TextEndBattle + +Route12TrainerHeader1: ; 5969d (16:569d) + db $3 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7d7 ; flag's byte + dw Route12BattleText2 ; 0x5718 TextBeforeBattle + dw Route12AfterBattleText2 ; 0x5722 TextAfterBattle + dw Route12EndBattleText2 ; 0x571d TextEndBattle + dw Route12EndBattleText2 ; 0x571d TextEndBattle + +Route12TrainerHeader2: ; 596a9 (16:56a9) + db $4 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7d7 ; flag's byte + dw Route12BattleText3 ; 0x5731 TextBeforeBattle + dw Route12AfterBattleText3 ; 0x573b TextAfterBattle + dw Route12EndBattleText3 ; 0x5736 TextEndBattle + dw Route12EndBattleText3 ; 0x5736 TextEndBattle + +Route12TrainerHeader3: ; 596b5 (16:56b5) + db $5 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7d7 ; flag's byte + dw Route12BattleText4 ; 0x574a TextBeforeBattle + dw Route12AfterBattleText4 ; 0x5754 TextAfterBattle + dw Route12EndBattleText4 ; 0x574f TextEndBattle + dw Route12EndBattleText4 ; 0x574f TextEndBattle + +Route12TrainerHeader4: ; 596c1 (16:56c1) + db $6 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7d7 ; flag's byte + dw Route12BattleText5 ; 0x5763 TextBeforeBattle + dw Route12AfterBattleText5 ; 0x576d TextAfterBattle + dw Route12EndBattleText5 ; 0x5768 TextEndBattle + dw Route12EndBattleText5 ; 0x5768 TextEndBattle + +Route12TrainerHeader5: ; 596cd (16:56cd) + db $7 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7d7 ; flag's byte + dw Route12BattleText6 ; 0x577c TextBeforeBattle + dw Route12AfterBattleText6 ; 0x5786 TextAfterBattle + dw Route12EndBattleText6 ; 0x5781 TextEndBattle + dw Route12EndBattleText6 ; 0x5781 TextEndBattle + +Route12TrainerHeader6: ; 596d9 (16:56d9) + db $8 ; flag's bit + db ($1 << 4) ; trainer's view range + dw $d7d7 ; flag's byte + dw Route12BattleText7 ; 0x5795 TextBeforeBattle + dw Route12AfterBattleText7 ; 0x579f TextAfterBattle + dw Route12EndBattleText7 ; 0x579a TextEndBattle + dw Route12EndBattleText7 ; 0x579a TextEndBattle + + db $ff + +Route12Text1: ; 596e6 (16:56e6) + TX_FAR _Route12Text1 + db "@" + +Route12Text13: ; 596eb (16:56eb) + TX_FAR _Route12Text13 + db "@" + +Route12Text14: ; 596f0 (16:56f0) + TX_FAR _Route12Text14 + db "@" + +Route12Text2: ; 596f5 (16:56f5) + db $08 ; asm + ld hl, Route12TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +Route12BattleText1: ; 596ff (16:56ff) + TX_FAR _Route12BattleText1 + db "@" + +Route12EndBattleText1: ; 59704 (16:5704) + TX_FAR _Route12EndBattleText1 + db "@" + +Route12AfterBattleText1: ; 59709 (16:5709) + TX_FAR _Route12AfterBattleText1 + db "@" + +Route12Text3: ; 5970e (16:570e) + db $08 ; asm + ld hl, Route12TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +Route12BattleText2: ; 59718 (16:5718) + TX_FAR _Route12BattleText2 + db "@" + +Route12EndBattleText2: ; 5971d (16:571d) + TX_FAR _Route12EndBattleText2 + db "@" + +Route12AfterBattleText2: ; 59722 (16:5722) + TX_FAR _Route12AfterBattleText2 + db "@" + +Route12Text4: ; 59727 (16:5727) + db $08 ; asm + ld hl, Route12TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +Route12BattleText3: ; 59731 (16:5731) + TX_FAR _Route12BattleText3 + db "@" + +Route12EndBattleText3: ; 59736 (16:5736) + TX_FAR _Route12EndBattleText3 + db "@" + +Route12AfterBattleText3: ; 5973b (16:573b) + TX_FAR _Route12AfterBattleText3 + db "@" + +Route12Text5: ; 59740 (16:5740) + db $08 ; asm + ld hl, Route12TrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +Route12BattleText4: ; 5974a (16:574a) + TX_FAR _Route12BattleText4 + db "@" + +Route12EndBattleText4: ; 5974f (16:574f) + TX_FAR _Route12EndBattleText4 + db "@" + +Route12AfterBattleText4: ; 59754 (16:5754) + TX_FAR _Route12AfterBattleText4 + db "@" + +Route12Text6: ; 59759 (16:5759) + db $08 ; asm + ld hl, Route12TrainerHeader4 + call TalkToTrainer + jp TextScriptEnd + +Route12BattleText5: ; 59763 (16:5763) + TX_FAR _Route12BattleText5 + db "@" + +Route12EndBattleText5: ; 59768 (16:5768) + TX_FAR _Route12EndBattleText5 + db "@" + +Route12AfterBattleText5: ; 5976d (16:576d) + TX_FAR _Route12AfterBattleText5 + db "@" + +Route12Text7: ; 59772 (16:5772) + db $08 ; asm + ld hl, Route12TrainerHeader5 + call TalkToTrainer + jp TextScriptEnd + +Route12BattleText6: ; 5977c (16:577c) + TX_FAR _Route12BattleText6 + db "@" + +Route12EndBattleText6: ; 59781 (16:5781) + TX_FAR _Route12EndBattleText6 + db "@" + +Route12AfterBattleText6: ; 59786 (16:5786) + TX_FAR _Route12AfterBattleText6 + db "@" + +Route12Text8: ; 5978b (16:578b) + db $08 ; asm + ld hl, Route12TrainerHeader6 + call TalkToTrainer + jp TextScriptEnd + +Route12BattleText7: ; 59795 (16:5795) + TX_FAR _Route12BattleText7 + db "@" + +Route12EndBattleText7: ; 5979a (16:579a) + TX_FAR _Route12EndBattleText7 + db "@" + +Route12AfterBattleText7: ; 5979f (16:579f) + TX_FAR _Route12AfterBattleText7 + db "@" + +Route12Text11: ; 597a4 (16:57a4) + TX_FAR _Route12Text11 + db "@" + +Route12Text12: ; 597a9 (16:57a9) + TX_FAR _Route12Text12 + db "@" diff --git a/scripts/route12gate.asm b/scripts/route12gate.asm new file mode 100755 index 00000000..d8f09c92 --- /dev/null +++ b/scripts/route12gate.asm @@ -0,0 +1,9 @@ +Route12GateScript: ; 49504 (12:5504) + jp EnableAutoTextBoxDrawing + +Route12GateTextPointers: ; 49507 (12:5507) + dw Route12GateText1 + +Route12GateText1: ; 49509 (12:5509) + TX_FAR _Route12GateText1 + db "@" diff --git a/scripts/route12gateupstairs.asm b/scripts/route12gateupstairs.asm new file mode 100755 index 00000000..97da1b58 --- /dev/null +++ b/scripts/route12gateupstairs.asm @@ -0,0 +1,79 @@ +Route12GateUpstairsScript: ; 49560 (12:5560) + jp DisableAutoTextBoxDrawing + +Route12GateUpstairsTextPointers: ; 49563 (12:5563) + dw Route12GateUpstairsText1 + dw Route12GateUpstairsText2 + dw Route12GateUpstairsText3 + +Route12GateUpstairsText1: ; 49569 (12:5569) + db $08 ; asm + ld a, [$d7d7] + rrca + jr c, .asm_0ad3c ; 0x4956e + ld hl, TM39PreReceiveText + call PrintText + ld bc, (TM_39 << 8) | 1 + call GiveItem + jr nc, .BagFull + ld hl, ReceivedTM39Text + call PrintText + ld hl, $d7d7 + set 0, [hl] + jr .asm_4ba56 ; 0x49589 +.BagFull + ld hl, TM39NoRoomText + call PrintText + jr .asm_4ba56 ; 0x49591 +.asm_0ad3c ; 0x49593 + ld hl, TM39ExplanationText + call PrintText +.asm_4ba56 ; 0x49599 + jp TextScriptEnd + +TM39PreReceiveText: ; 4959c (12:559c) + TX_FAR _TM39PreReceiveText + db "@" + +ReceivedTM39Text: ; 495a1 (12:55a1) + TX_FAR _ReceivedTM39Text + db $0B, "@" + +TM39ExplanationText: ; 495a7 (12:55a7) + TX_FAR _TM39ExplanationText + db "@" + +TM39NoRoomText: ; 495ac (12:55ac) + TX_FAR _TM39NoRoomText + db "@" + +Route12GateUpstairsText2: ; 495b1 (12:55b1) + db $08 ; asm + ld hl, Route12GateUpstairsText_495b8 + jp Route12GateUpstairsScript_495c9 + +Route12GateUpstairsText_495b8: ; 495b8 (12:55b8) + TX_FAR _Route12GateUpstairsText_495b8 + db "@" + +Route12GateUpstairsText3: ; 495bd (12:55bd) + db $8 + ld hl, Route12GateUpstairsText_495c4 + jp Route12GateUpstairsScript_495c9 + +Route12GateUpstairsText_495c4: ; 495c4 (12:55c4) + TX_FAR _Route12GateUpstairsText_495c4 + db "@" + +Route12GateUpstairsScript_495c9: ; 495c9 (12:55c9) + ld a, [$c109] + cp $4 + jr z, .asm_495d4 ; 0x495ce $4 + ld a, $1 + jr .asm_495d8 ; 0x495d2 $4 +.asm_495d4 + call PrintText + xor a +.asm_495d8 + ld [$cc3c], a + jp TextScriptEnd diff --git a/scripts/route12house.asm b/scripts/route12house.asm new file mode 100755 index 00000000..6b2f5e52 --- /dev/null +++ b/scripts/route12house.asm @@ -0,0 +1,57 @@ +Route12HouseScript: ; 5647f (15:647f) + jp EnableAutoTextBoxDrawing + +Route12HouseTextPointers: ; 56482 (15:6482) + dw Route12HouseText1 + +Route12HouseText1: ; 56484 (15:6484) + db $08 ; asm + ld a, [$d728] + bit 5, a + jr nz, .asm_b4cad + ld hl, Route12HouseText_564c0 + call PrintText + call YesNoChoice + ld a, [$cc26] + and a + jr nz, .asm_a2d76 + ld bc, (SUPER_ROD << 8) | 1 + call GiveItem + jr nc, .BagFull + ld hl, $d728 + set 5, [hl] + ld hl, Route12HouseText_564c5 + jr .asm_df984 +.BagFull + ld hl, Route12HouseText_564d9 + jr .asm_df984 +.asm_a2d76 + ld hl, Route12HouseText_564cf + jr .asm_df984 ; 0x564b5 +.asm_b4cad + ld hl, Route12HouseText_564d4 +.asm_df984 + call PrintText + jp TextScriptEnd + +Route12HouseText_564c0: ; 564c0 (15:64c0) + TX_FAR _Route12HouseText_564c0 + db "@" + +Route12HouseText_564c5: ; 564c5 (15:64c5) + TX_FAR _Route12HouseText_564c5 ; 0x8ca00 + db $0B + TX_FAR _Route12HouseText_564ca ; 0x8ca4f + db "@" + +Route12HouseText_564cf: ; 564cf (15:64cf) + TX_FAR _Route12HouseText_564cf + db "@" + +Route12HouseText_564d4: ; 564d4 (15:64d4) + TX_FAR _Route12HouseText_564d4 + db "@" + +Route12HouseText_564d9: ; 564d9 (15:64d9) + TX_FAR _Route12HouseText_564d9 + db "@" diff --git a/scripts/route13.asm b/scripts/route13.asm new file mode 100755 index 00000000..3c2fea04 --- /dev/null +++ b/scripts/route13.asm @@ -0,0 +1,313 @@ +Route13Script: ; 5581e (15:581e) + call EnableAutoTextBoxDrawing + ld hl, Route13TrainerHeaders + ld de, Route13ScriptPointers + ld a, [W_ROUTE13CURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_ROUTE13CURSCRIPT], a + ret + +Route13ScriptPointers: ; 55831 (15:5831) + dw CheckFightingMapTrainers + dw Func_324c + dw EndTrainerBattle + +Route13TextPointers: ; 55837 (15:5837) + dw Route13Text1 + dw Route13Text2 + dw Route13Text3 + dw Route13Text4 + dw Route13Text5 + dw Route13Text6 + dw Route13Text7 + dw Route13Text8 + dw Route13Text9 + dw Route13Text10 + dw Route13Text11 + dw Route13Text12 + dw Route13Text13 + +Route13TrainerHeaders: ; 55851 (15:5851) +Route13TrainerHeader0: ; 55851 (15:5851) + db $1 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7d9 ; flag's byte + dw Route13BattleText2 ; 0x58d4 TextBeforeBattle + dw Route13AfterBattleText2 ; 0x58de TextAfterBattle + dw Route13EndBattleText2 ; 0x58d9 TextEndBattle + dw Route13EndBattleText2 ; 0x58d9 TextEndBattle + +Route13TrainerHeader2: ; 5585d (15:585d) + db $2 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7d9 ; flag's byte + dw Route13BattleText3 ; 0x58ed TextBeforeBattle + dw Route13AfterBattleText3 ; 0x58f7 TextAfterBattle + dw Route13EndBattleText3 ; 0x58f2 TextEndBattle + dw Route13EndBattleText3 ; 0x58f2 TextEndBattle + +Route13TrainerHeader3: ; 55869 (15:5869) + db $3 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7d9 ; flag's byte + dw Route13BattleText4 ; 0x5906 TextBeforeBattle + dw Route13AfterBattleText4 ; 0x5910 TextAfterBattle + dw Route13EndBattleText4 ; 0x590b TextEndBattle + dw Route13EndBattleText4 ; 0x590b TextEndBattle + +Route13TrainerHeader4: ; 55875 (15:5875) + db $4 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7d9 ; flag's byte + dw Route13BattleText5 ; 0x591f TextBeforeBattle + dw Route13AfterBattleText5 ; 0x5929 TextAfterBattle + dw Route13EndBattleText5 ; 0x5924 TextEndBattle + dw Route13EndBattleText5 ; 0x5924 TextEndBattle + +Route13TrainerHeader5: ; 55881 (15:5881) + db $5 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7d9 ; flag's byte + dw Route13BattleText6 ; 0x5938 TextBeforeBattle + dw Route13AfterBattleText6 ; 0x5942 TextAfterBattle + dw Route13EndBattleText6 ; 0x593d TextEndBattle + dw Route13EndBattleText6 ; 0x593d TextEndBattle + +Route13TrainerHeader6: ; 5588d (15:588d) + db $6 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7d9 ; flag's byte + dw Route13BattleText7 ; 0x5951 TextBeforeBattle + dw Route13AfterBattleText7 ; 0x595b TextAfterBattle + dw Route13EndBattleText7 ; 0x5956 TextEndBattle + dw Route13EndBattleText7 ; 0x5956 TextEndBattle + +Route13TrainerHeader7: ; 55899 (15:5899) + db $7 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7d9 ; flag's byte + dw Route13BattleText8 ; 0x596a TextBeforeBattle + dw Route13AfterBattleText8 ; 0x5974 TextAfterBattle + dw Route13EndBattleText8 ; 0x596f TextEndBattle + dw Route13EndBattleText8 ; 0x596f TextEndBattle + +Route13TrainerHeader8: ; 558a5 (15:58a5) + db $8 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7d9 ; flag's byte + dw Route13BattleText9 ; 0x5983 TextBeforeBattle + dw Route13AfterBattleText9 ; 0x598d TextAfterBattle + dw Route13EndBattleText9 ; 0x5988 TextEndBattle + dw Route13EndBattleText9 ; 0x5988 TextEndBattle + +Route13TrainerHeader9: ; 558b1 (15:58b1) + db $9 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7d9 ; flag's byte + dw Route13BattleText10 ; 0x599c TextBeforeBattle + dw Route13AfterBattleText10 ; 0x59a6 TextAfterBattle + dw Route13EndBattleText10 ; 0x59a1 TextEndBattle + dw Route13EndBattleText10 ; 0x59a1 TextEndBattle + +Route13TrainerHeader10: ; 558bd (15:58bd) + db $a ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7d9 ; flag's byte + dw Route13BattleText11 ; 0x59b5 TextBeforeBattle + dw Route13AfterBattleText11 ; 0x59bf TextAfterBattle + dw Route13EndBattleText11 ; 0x59ba TextEndBattle + dw Route13EndBattleText11 ; 0x59ba TextEndBattle + + db $ff + +Route13Text1: ; 558ca (15:58ca) + db $08 ; asm + ld hl, Route13TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +Route13BattleText2: ; 558d4 (15:58d4) + TX_FAR _Route13BattleText2 + db "@" + +Route13EndBattleText2: ; 558d9 (15:58d9) + TX_FAR _Route13EndBattleText2 + db "@" + +Route13AfterBattleText2: ; 558de (15:58de) + TX_FAR _Route13AfterBattleText2 + db "@" + +Route13Text2: ; 558e3 (15:58e3) + db $08 ; asm + ld hl, Route13TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +Route13BattleText3: ; 558ed (15:58ed) + TX_FAR _Route13BattleText3 + db "@" + +Route13EndBattleText3: ; 558f2 (15:58f2) + TX_FAR _Route13EndBattleText3 + db "@" + +Route13AfterBattleText3: ; 558f7 (15:58f7) + TX_FAR _Route13AfterBattleText3 + db "@" + +Route13Text3: ; 558fc (15:58fc) + db $08 ; asm + ld hl, Route13TrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +Route13BattleText4: ; 55906 (15:5906) + TX_FAR _Route13BattleText4 + db "@" + +Route13EndBattleText4: ; 5590b (15:590b) + TX_FAR _Route13EndBattleText4 + db "@" + +Route13AfterBattleText4: ; 55910 (15:5910) + TX_FAR _Route13AfterBattleText4 + db "@" + +Route13Text4: ; 55915 (15:5915) + db $08 ; asm + ld hl, Route13TrainerHeader4 + call TalkToTrainer + jp TextScriptEnd + +Route13BattleText5: ; 5591f (15:591f) + TX_FAR _Route13BattleText5 + db "@" + +Route13EndBattleText5: ; 55924 (15:5924) + TX_FAR _Route13EndBattleText5 + db "@" + +Route13AfterBattleText5: ; 55929 (15:5929) + TX_FAR _Route13AfterBattleText5 + db "@" + +Route13Text5: ; 5592e (15:592e) + db $08 ; asm + ld hl, Route13TrainerHeader5 + call TalkToTrainer + jp TextScriptEnd + +Route13BattleText6: ; 55938 (15:5938) + TX_FAR _Route13BattleText6 + db "@" + +Route13EndBattleText6: ; 5593d (15:593d) + TX_FAR _Route13EndBattleText6 + db "@" + +Route13AfterBattleText6: ; 55942 (15:5942) + TX_FAR _Route13AfterBattleText6 + db "@" + +Route13Text6: ; 55947 (15:5947) + db $08 ; asm + ld hl, Route13TrainerHeader6 + call TalkToTrainer + jp TextScriptEnd + +Route13BattleText7: ; 55951 (15:5951) + TX_FAR _Route13BattleText7 + db "@" + +Route13EndBattleText7: ; 55956 (15:5956) + TX_FAR _Route13EndBattleText7 + db "@" + +Route13AfterBattleText7: ; 5595b (15:595b) + TX_FAR _Route13AfterBattleText7 + db "@" + +Route13Text7: ; 55960 (15:5960) + db $08 ; asm + ld hl, Route13TrainerHeader7 + call TalkToTrainer + jp TextScriptEnd + +Route13BattleText8: ; 5596a (15:596a) + TX_FAR _Route13BattleText8 + db "@" + +Route13EndBattleText8: ; 5596f (15:596f) + TX_FAR _Route13EndBattleText8 + db "@" + +Route13AfterBattleText8: ; 55974 (15:5974) + TX_FAR _Route13AfterBattleText8 + db "@" + +Route13Text8: ; 55979 (15:5979) + db $08 ; asm + ld hl, Route13TrainerHeader8 + call TalkToTrainer + jp TextScriptEnd + +Route13BattleText9: ; 55983 (15:5983) + TX_FAR _Route13BattleText9 + db "@" + +Route13EndBattleText9: ; 55988 (15:5988) + TX_FAR _Route13EndBattleText9 + db "@" + +Route13AfterBattleText9: ; 5598d (15:598d) + TX_FAR _Route13AfterBattleText9 + db "@" + +Route13Text9: ; 55992 (15:5992) + db $08 ; asm + ld hl, Route13TrainerHeader9 + call TalkToTrainer + jp TextScriptEnd + +Route13BattleText10: ; 5599c (15:599c) + TX_FAR _Route13BattleText10 + db "@" + +Route13EndBattleText10: ; 559a1 (15:59a1) + TX_FAR _Route13EndBattleText10 + db "@" + +Route13AfterBattleText10: ; 559a6 (15:59a6) + TX_FAR _Route13AfterBattleText10 + db "@" + +Route13Text10: ; 559ab (15:59ab) + db $08 ; asm + ld hl, Route13TrainerHeader10 + call TalkToTrainer + jp TextScriptEnd + +Route13BattleText11: ; 559b5 (15:59b5) + TX_FAR _Route13BattleText11 + db "@" + +Route13EndBattleText11: ; 559ba (15:59ba) + TX_FAR _Route13EndBattleText11 + db "@" + +Route13AfterBattleText11: ; 559bf (15:59bf) + TX_FAR _Route13AfterBattleText11 + db "@" + +Route13Text11: ; 559c4 (15:59c4) + TX_FAR _Route13Text11 + db "@" + +Route13Text12: ; 559c9 (15:59c9) + TX_FAR _Route13Text12 + db "@" + +Route13Text13: ; 559ce (15:59ce) + TX_FAR _Route13Text13 + db "@" diff --git a/scripts/route14.asm b/scripts/route14.asm new file mode 100755 index 00000000..0f9b49cf --- /dev/null +++ b/scripts/route14.asm @@ -0,0 +1,303 @@ +Route14Script: ; 559d3 (15:59d3) + call EnableAutoTextBoxDrawing + ld hl, Route14TrainerHeaders + ld de, Route14ScriptPointers + ld a, [W_ROUTE14CURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_ROUTE14CURSCRIPT], a + ret + +Route14ScriptPointers: ; 559e6 (15:59e6) + dw CheckFightingMapTrainers + dw Func_324c + dw EndTrainerBattle + +Route14TextPointers: ; 559ec (15:59ec) + dw Route14Text1 + dw Route14Text2 + dw Route14Text3 + dw Route14Text4 + dw Route14Text5 + dw Route14Text6 + dw Route14Text7 + dw Route14Text8 + dw Route14Text9 + dw Route14Text10 + dw Route14Text11 + +Route14TrainerHeaders: ; 55a02 (15:5a02) +Route14TrainerHeader0: ; 55a02 (15:5a02) + db $1 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7db ; flag's byte + dw Route14BattleText1 ; 0x5a85 TextBeforeBattle + dw Route14AfterBattleText1 ; 0x5a8f TextAfterBattle + dw Route14EndBattleText1 ; 0x5a8a TextEndBattle + dw Route14EndBattleText1 ; 0x5a8a TextEndBattle + +Route14TrainerHeader1: ; 55a0e (15:5a0e) + db $2 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7db ; flag's byte + dw Route14BattleText2 ; 0x5a9e TextBeforeBattle + dw Route14AfterBattleText2 ; 0x5aa8 TextAfterBattle + dw Route14EndBattleText2 ; 0x5aa3 TextEndBattle + dw Route14EndBattleText2 ; 0x5aa3 TextEndBattle + +Route14TrainerHeader2: ; 55a1a (15:5a1a) + db $3 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7db ; flag's byte + dw Route14BattleText3 ; 0x5ab7 TextBeforeBattle + dw Route14AfterBattleText3 ; 0x5ac1 TextAfterBattle + dw Route14EndBattleText3 ; 0x5abc TextEndBattle + dw Route14EndBattleText3 ; 0x5abc TextEndBattle + +Route14TrainerHeader3: ; 55a26 (15:5a26) + db $4 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7db ; flag's byte + dw Route14BattleText4 ; 0x5ad0 TextBeforeBattle + dw Route14AfterBattleText4 ; 0x5ada TextAfterBattle + dw Route14EndBattleText4 ; 0x5ad5 TextEndBattle + dw Route14EndBattleText4 ; 0x5ad5 TextEndBattle + +Route14TrainerHeader4: ; 55a32 (15:5a32) + db $5 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7db ; flag's byte + dw Route14BattleText5 ; 0x5ae9 TextBeforeBattle + dw Route14AfterBattleText5 ; 0x5af3 TextAfterBattle + dw Route14EndBattleText5 ; 0x5aee TextEndBattle + dw Route14EndBattleText5 ; 0x5aee TextEndBattle + +Route14TrainerHeader5: ; 55a3e (15:5a3e) + db $6 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7db ; flag's byte + dw Route14BattleText6 ; 0x5b02 TextBeforeBattle + dw Route14AfterBattleText6 ; 0x5b0c TextAfterBattle + dw Route14EndBattleText6 ; 0x5b07 TextEndBattle + dw Route14EndBattleText6 ; 0x5b07 TextEndBattle + +Route14TrainerHeader6: ; 55a4a (15:5a4a) + db $7 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7db ; flag's byte + dw Route14BattleText7 ; 0x5b1b TextBeforeBattle + dw Route14AfterBattleText7 ; 0x5b25 TextAfterBattle + dw Route14EndBattleText7 ; 0x5b20 TextEndBattle + dw Route14EndBattleText7 ; 0x5b20 TextEndBattle + +Route14TrainerHeader7: ; 55a56 (15:5a56) + db $8 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7db ; flag's byte + dw Route14BattleText8 ; 0x5b34 TextBeforeBattle + dw Route14AfterBattleText8 ; 0x5b3e TextAfterBattle + dw Route14EndBattleText8 ; 0x5b39 TextEndBattle + dw Route14EndBattleText8 ; 0x5b39 TextEndBattle + +Route14TrainerHeader8: ; 55a62 (15:5a62) + db $9 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7db ; flag's byte + dw Route14BattleText9 ; 0x5b4d TextBeforeBattle + dw Route14AfterBattleText9 ; 0x5b57 TextAfterBattle + dw Route14EndBattleText9 ; 0x5b52 TextEndBattle + dw Route14EndBattleText9 ; 0x5b52 TextEndBattle + +Route14TrainerHeader9: ; 55a6e (15:5a6e) + db $a ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7db ; flag's byte + dw Route14BattleText10 ; 0x5b66 TextBeforeBattle + dw Route14AfterBattleText10 ; 0x5b70 TextAfterBattle + dw Route14EndBattleText10 ; 0x5b6b TextEndBattle + dw Route14EndBattleText10 ; 0x5b6b TextEndBattle + + db $ff + +Route14Text1: ; 55a7b (15:5a7b) + db $08 ; asm + ld hl, Route14TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +Route14BattleText1: ; 55a85 (15:5a85) + TX_FAR _Route14BattleText1 + db "@" + +Route14EndBattleText1: ; 55a8a (15:5a8a) + TX_FAR _Route14EndBattleText1 + db "@" + +Route14AfterBattleText1: ; 55a8f (15:5a8f) + TX_FAR _Route14AfterBattleText1 + db "@" + +Route14Text2: ; 55a94 (15:5a94) + db $08 ; asm + ld hl, Route14TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +Route14BattleText2: ; 55a9e (15:5a9e) + TX_FAR _Route14BattleText2 + db "@" + +Route14EndBattleText2: ; 55aa3 (15:5aa3) + TX_FAR _Route14EndBattleText2 + db "@" + +Route14AfterBattleText2: ; 55aa8 (15:5aa8) + TX_FAR _Route14AfterBattleText2 + db "@" + +Route14Text3: ; 55aad (15:5aad) + db $08 ; asm + ld hl, Route14TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +Route14BattleText3: ; 55ab7 (15:5ab7) + TX_FAR _Route14BattleText3 + db "@" + +Route14EndBattleText3: ; 55abc (15:5abc) + TX_FAR _Route14EndBattleText3 + db "@" + +Route14AfterBattleText3: ; 55ac1 (15:5ac1) + TX_FAR _Route14AfterBattleText3 + db "@" + +Route14Text4: ; 55ac6 (15:5ac6) + db $08 ; asm + ld hl, Route14TrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +Route14BattleText4: ; 55ad0 (15:5ad0) + TX_FAR _Route14BattleText4 + db "@" + +Route14EndBattleText4: ; 55ad5 (15:5ad5) + TX_FAR _Route14EndBattleText4 + db "@" + +Route14AfterBattleText4: ; 55ada (15:5ada) + TX_FAR _Route14AfterBattleText4 + db "@" + +Route14Text5: ; 55adf (15:5adf) + db $08 ; asm + ld hl, Route14TrainerHeader4 + call TalkToTrainer + jp TextScriptEnd + +Route14BattleText5: ; 55ae9 (15:5ae9) + TX_FAR _Route14BattleText5 + db "@" + +Route14EndBattleText5: ; 55aee (15:5aee) + TX_FAR _Route14EndBattleText5 + db "@" + +Route14AfterBattleText5: ; 55af3 (15:5af3) + TX_FAR _Route14AfterBattleText5 + db "@" + +Route14Text6: ; 55af8 (15:5af8) + db $08 ; asm + ld hl, Route14TrainerHeader5 + call TalkToTrainer + jp TextScriptEnd + +Route14BattleText6: ; 55b02 (15:5b02) + TX_FAR _Route14BattleText6 + db "@" + +Route14EndBattleText6: ; 55b07 (15:5b07) + TX_FAR _Route14EndBattleText6 + db "@" + +Route14AfterBattleText6: ; 55b0c (15:5b0c) + TX_FAR _Route14AfterBattleText6 + db "@" + +Route14Text7: ; 55b11 (15:5b11) + db $08 ; asm + ld hl, Route14TrainerHeader6 + call TalkToTrainer + jp TextScriptEnd + +Route14BattleText7: ; 55b1b (15:5b1b) + TX_FAR _Route14BattleText7 + db "@" + +Route14EndBattleText7: ; 55b20 (15:5b20) + TX_FAR _Route14EndBattleText7 + db "@" + +Route14AfterBattleText7: ; 55b25 (15:5b25) + TX_FAR _Route14AfterBattleText7 + db "@" + +Route14Text8: ; 55b2a (15:5b2a) + db $08 ; asm + ld hl, Route14TrainerHeader7 + call TalkToTrainer + jp TextScriptEnd + +Route14BattleText8: ; 55b34 (15:5b34) + TX_FAR _Route14BattleText8 + db "@" + +Route14EndBattleText8: ; 55b39 (15:5b39) + TX_FAR _Route14EndBattleText8 + db "@" + +Route14AfterBattleText8: ; 55b3e (15:5b3e) + TX_FAR _Route14AfterBattleText8 + db "@" + +Route14Text9: ; 55b43 (15:5b43) + db $08 ; asm + ld hl, Route14TrainerHeader8 + call TalkToTrainer + jp TextScriptEnd + +Route14BattleText9: ; 55b4d (15:5b4d) + TX_FAR _Route14BattleText9 + db "@" + +Route14EndBattleText9: ; 55b52 (15:5b52) + TX_FAR _Route14EndBattleText9 + db "@" + +Route14AfterBattleText9: ; 55b57 (15:5b57) + TX_FAR _Route14AfterBattleText9 + db "@" + +Route14Text10: ; 55b5c (15:5b5c) + db $08 ; asm + ld hl, Route14TrainerHeader9 + call TalkToTrainer + jp TextScriptEnd + +Route14BattleText10: ; 55b66 (15:5b66) + TX_FAR _Route14BattleText10 + db "@" + +Route14EndBattleText10: ; 55b6b (15:5b6b) + TX_FAR _Route14EndBattleText10 + db "@" + +Route14AfterBattleText10: ; 55b70 (15:5b70) + TX_FAR _Route14AfterBattleText10 + db "@" + +Route14Text11: ; 55b75 (15:5b75) + TX_FAR _Route14Text11 + db "@" diff --git a/scripts/route15.asm b/scripts/route15.asm new file mode 100755 index 00000000..f7eaa758 --- /dev/null +++ b/scripts/route15.asm @@ -0,0 +1,296 @@ +Route15Script: ; 597ae (16:57ae) + call EnableAutoTextBoxDrawing + ld hl, Route15TrainerHeaders + ld de, Route15ScriptPointers + ld a, [W_ROUTE15CURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_ROUTE15CURSCRIPT], a + ret + +Route15ScriptPointers: ; 597c1 (16:57c1) + dw CheckFightingMapTrainers + dw Func_324c + dw EndTrainerBattle + +Route15TextPointers: ; 597c7 (16:57c7) + dw Route15Text1 + dw Route15Text2 + dw Route15Text3 + dw Route15Text4 + dw Route15Text5 + dw Route15Text6 + dw Route15Text7 + dw Route15Text8 + dw Route15Text9 + dw Route15Text10 + dw Predef5CText + dw Route15Text12 + +Route15TrainerHeaders: ; 597df (16:57df) +Route15TrainerHeader0: ; 597df (16:57df) + db $1 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7dd ; flag's byte + dw Route15BattleText1 ; 0x5898 TextBeforeBattle + dw Route15AfterBattleText1 ; 0x58a2 TextAfterBattle + dw Route15EndBattleText1 ; 0x589d TextEndBattle + dw Route15EndBattleText1 ; 0x589d TextEndBattle + +Route15TrainerHeader1: ; 597eb (16:57eb) + db $2 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7dd ; flag's byte + dw Route15BattleText2 ; 0x58a7 TextBeforeBattle + dw Route15AfterBattleText2 ; 0x58b1 TextAfterBattle + dw Route15EndBattleText2 ; 0x58ac TextEndBattle + dw Route15EndBattleText2 ; 0x58ac TextEndBattle + +Route15TrainerHeader2: ; 597f7 (16:57f7) + db $3 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7dd ; flag's byte + dw Route15BattleText3 ; 0x58b6 TextBeforeBattle + dw Route15AfterBattleText3 ; 0x58c0 TextAfterBattle + dw Route15EndBattleText3 ; 0x58bb TextEndBattle + dw Route15EndBattleText3 ; 0x58bb TextEndBattle + +Route15TrainerHeader3: ; 59803 (16:5803) + db $4 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7dd ; flag's byte + dw Route15BattleText4 ; 0x58c5 TextBeforeBattle + dw Route15AfterBattleText4 ; 0x58cf TextAfterBattle + dw Route15EndBattleText4 ; 0x58ca TextEndBattle + dw Route15EndBattleText4 ; 0x58ca TextEndBattle + +Route15TrainerHeader4: ; 5980f (16:580f) + db $5 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7dd ; flag's byte + dw Route15BattleText5 ; 0x58d4 TextBeforeBattle + dw Route15AfterBattleText5 ; 0x58de TextAfterBattle + dw Route15EndBattleText5 ; 0x58d9 TextEndBattle + dw Route15EndBattleText5 ; 0x58d9 TextEndBattle + +Route15TrainerHeader5: ; 5981b (16:581b) + db $6 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7dd ; flag's byte + dw Route15BattleText6 ; 0x58e3 TextBeforeBattle + dw Route15AfterBattleText6 ; 0x58ed TextAfterBattle + dw Route15EndBattleText6 ; 0x58e8 TextEndBattle + dw Route15EndBattleText6 ; 0x58e8 TextEndBattle + +Route15TrainerHeader6: ; 59827 (16:5827) + db $7 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7dd ; flag's byte + dw Route15BattleText7 ; 0x58f2 TextBeforeBattle + dw Route15AfterBattleText7 ; 0x58fc TextAfterBattle + dw Route15EndBattleText7 ; 0x58f7 TextEndBattle + dw Route15EndBattleText7 ; 0x58f7 TextEndBattle + +Route15TrainerHeader7: ; 59833 (16:5833) + db $8 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7dd ; flag's byte + dw Route15BattleText8 ; 0x5901 TextBeforeBattle + dw Route15AfterBattleText8 ; 0x590b TextAfterBattle + dw Route15EndBattleText8 ; 0x5906 TextEndBattle + dw Route15EndBattleText8 ; 0x5906 TextEndBattle + +Route15TrainerHeader8: ; 5983f (16:583f) + db $9 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7dd ; flag's byte + dw Route15BattleText9 ; 0x5910 TextBeforeBattle + dw Route15AfterBattleText9 ; 0x591a TextAfterBattle + dw Route15EndBattleText9 ; 0x5915 TextEndBattle + dw Route15EndBattleText9 ; 0x5915 TextEndBattle + +Route15TrainerHeader9: ; 5984b (16:584b) + db $a ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7dd ; flag's byte + dw Route15BattleText10 ; 0x591f TextBeforeBattle + dw Route15AfterBattleText10 ; 0x5929 TextAfterBattle + dw Route15EndBattleText10 ; 0x5924 TextEndBattle + dw Route15EndBattleText10 ; 0x5924 TextEndBattle + + db $ff + +Route15Text1: ; 59858 (16:5858) + db $8 ; asm + ld hl, Route15TrainerHeader0 + jr asm_33cb7 ; 0x5985c $34 + +Route15Text2: ; 5985e (16:585e) + db $8 ; asm + ld hl, Route15TrainerHeader1 + jr asm_33cb7 ; 0x59862 $2e + +Route15Text3: ; 59864 (16:5864) + db $8 ; asm + ld hl, Route15TrainerHeader2 + jr asm_33cb7 ; 0x59868 $28 + +Route15Text4: ; 5986a (16:586a) + db $8 ; asm + ld hl, Route15TrainerHeader3 + jr asm_33cb7 ; 0x5986e $22 + +Route15Text5: ; 59870 (16:5870) + db $8 ; asm + ld hl, Route15TrainerHeader4 + jr asm_33cb7 ; 0x59874 $1c + +Route15Text6: ; 59876 (16:5876) + db $8 ; asm + ld hl, Route15TrainerHeader5 + jr asm_33cb7 ; 0x5987a $16 + +Route15Text7: ; 5987c (16:587c) + db $8 ; asm + ld hl, Route15TrainerHeader6 + jr asm_33cb7 ; 0x59880 $10 + +Route15Text8: ; 59882 (16:5882) + db $8 ; asm + ld hl, Route15TrainerHeader7 + jr asm_33cb7 ; 0x59886 $a + +Route15Text9: ; 59888 (16:5888) + db $8 ; asm + ld hl, Route15TrainerHeader8 + jr asm_33cb7 ; 0x5988c $4 + +Route15Text10: ; 5988e (16:588e) + db $8 ; asm + ld hl, Route15TrainerHeader9 +asm_33cb7: ; 59892 (16:5892) + call TalkToTrainer + jp TextScriptEnd + +Route15BattleText1: ; 59898 (16:5898) + TX_FAR _Route15BattleText1 + db "@" + +Route15EndBattleText1: ; 5989d (16:589d) + TX_FAR _Route15EndBattleText1 + db "@" + +Route15AfterBattleText1: ; 598a2 (16:58a2) + TX_FAR _Route15AfterBattleText1 + db "@" + +Route15BattleText2: ; 598a7 (16:58a7) + TX_FAR _Route15BattleText2 + db "@" + +Route15EndBattleText2: ; 598ac (16:58ac) + TX_FAR _Route15EndBattleText2 + db "@" + +Route15AfterBattleText2: ; 598b1 (16:58b1) + TX_FAR _Route15AfterBattleText2 + db "@" + +Route15BattleText3: ; 598b6 (16:58b6) + TX_FAR _Route15BattleText3 + db "@" + +Route15EndBattleText3: ; 598bb (16:58bb) + TX_FAR _Route15EndBattleText3 + db "@" + +Route15AfterBattleText3: ; 598c0 (16:58c0) + TX_FAR _Route15AfterBattleText3 + db "@" + +Route15BattleText4: ; 598c5 (16:58c5) + TX_FAR _Route15BattleText4 + db "@" + +Route15EndBattleText4: ; 598ca (16:58ca) + TX_FAR _Route15EndBattleText4 + db "@" + +Route15AfterBattleText4: ; 598cf (16:58cf) + TX_FAR _Route15AfterBattleText4 + db "@" + +Route15BattleText5: ; 598d4 (16:58d4) + TX_FAR _Route15BattleText5 + db "@" + +Route15EndBattleText5: ; 598d9 (16:58d9) + TX_FAR _Route15EndBattleText5 + db "@" + +Route15AfterBattleText5: ; 598de (16:58de) + TX_FAR _Route15AfterBattleText5 + db "@" + +Route15BattleText6: ; 598e3 (16:58e3) + TX_FAR _Route15BattleText6 + db "@" + +Route15EndBattleText6: ; 598e8 (16:58e8) + TX_FAR _Route15EndBattleText6 + db "@" + +Route15AfterBattleText6: ; 598ed (16:58ed) + TX_FAR _Route15AfterBattleText6 + db "@" + +Route15BattleText7: ; 598f2 (16:58f2) + TX_FAR _Route15BattleText7 + db "@" + +Route15EndBattleText7: ; 598f7 (16:58f7) + TX_FAR _Route15EndBattleText7 + db "@" + +Route15AfterBattleText7: ; 598fc (16:58fc) + TX_FAR _Route15AfterBattleText7 + db "@" + +Route15BattleText8: ; 59901 (16:5901) + TX_FAR _Route15BattleText8 + db "@" + +Route15EndBattleText8: ; 59906 (16:5906) + TX_FAR _Route15EndBattleText8 + db "@" + +Route15AfterBattleText8: ; 5990b (16:590b) + TX_FAR _Route15AfterBattleText8 + db "@" + +Route15BattleText9: ; 59910 (16:5910) + TX_FAR _Route15BattleText9 + db "@" + +Route15EndBattleText9: ; 59915 (16:5915) + TX_FAR _Route15EndBattleText9 + db "@" + +Route15AfterBattleText9: ; 5991a (16:591a) + TX_FAR _Route15AfterBattleText9 + db "@" + +Route15BattleText10: ; 5991f (16:591f) + TX_FAR _Route15BattleText10 + db "@" + +Route15EndBattleText10: ; 59924 (16:5924) + TX_FAR _Route15EndBattleText10 + db "@" + +Route15AfterBattleText10: ; 59929 (16:5929) + TX_FAR _Route15AfterBattleText10 + db "@" + +Route15Text12: ; 5992e (16:592e) + TX_FAR _Route15Text12 + db "@" diff --git a/scripts/route15gate.asm b/scripts/route15gate.asm new file mode 100755 index 00000000..76e9aadf --- /dev/null +++ b/scripts/route15gate.asm @@ -0,0 +1,9 @@ +Route15GateScript: ; 49602 (12:5602) + jp EnableAutoTextBoxDrawing + +Route15GateTextPointers: ; 49605 (12:5605) + dw Route15GateText1 + +Route15GateText1: ; 49607 (12:5607) + TX_FAR _Route15GateText1 + db "@" diff --git a/scripts/route15gateupstairs.asm b/scripts/route15gateupstairs.asm new file mode 100755 index 00000000..3c2afcd4 --- /dev/null +++ b/scripts/route15gateupstairs.asm @@ -0,0 +1,47 @@ +Route15GateUpstairsScript: ; 4964a (12:564a) + jp DisableAutoTextBoxDrawing + +Route15GateUpstairsTextPointers: ; 4964d (12:564d) + dw Route15GateUpstairsText1 + dw Route15GateUpstairsText2 + +Route15GateUpstairsText1: ; 49651 (12:5651) + db $8 + ld a, [$d7dd] + bit 0, a + jr nz, .asm_49683 ; 0x49657 $2a + ld a, $32 + ld [$ffdb], a + ld a, EXP__ALL + ld [$ffdc], a + ld [$d11e], a + call GetItemName + ld hl, $cd6d + ld de, $cc5b + ld bc, $000d + call CopyData + ld a, $62 + call Predef + ld a, [$ffdb] + cp $1 + jr nz, .asm_49689 ; 0x4967c $b + ld hl, $d7dd + set 0, [hl] +.asm_49683 + ld hl, Route15GateUpstairsText_4968c + call PrintText +.asm_49689 + jp TextScriptEnd + +Route15GateUpstairsText_4968c: ; 4968c (12:568c) + TX_FAR _Route15GateUpstairsText_4968c + db "@" + +Route15GateUpstairsText2: ; 49691 (12:5691) + db $8 + ld hl, Route15GateUpstairsText_49698 + jp Route12GateUpstairsScript_495c9 + +Route15GateUpstairsText_49698: ; 49698 (12:5698) + TX_FAR _Route15GateUpstairsText_49698 + db "@" diff --git a/scripts/route16.asm b/scripts/route16.asm new file mode 100755 index 00000000..08739131 --- /dev/null +++ b/scripts/route16.asm @@ -0,0 +1,263 @@ +Route16Script: ; 59933 (16:5933) + call EnableAutoTextBoxDrawing + ld hl, Route16TrainerHeaders + ld de, Route16ScriptPointers + ld a, [W_ROUTE16CURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_ROUTE16CURSCRIPT], a + ret + +Func_59946: ; 59946 (16:5946) + xor a + ld [wJoypadForbiddenButtonsMask], a + ld [W_ROUTE16CURSCRIPT], a + ld [W_CURMAPSCRIPT], a + ret + +Route16ScriptPointers: ; 59951 (16:5951) + dw Route16Script0 + dw Func_324c + dw EndTrainerBattle + dw Route16Script3 + +Route16Script0: ; 59959 (16:5959) + ld hl, $d7e0 + bit 1, [hl] + jp nz, CheckFightingMapTrainers + bit 0, [hl] + res 0, [hl] + jp z, CheckFightingMapTrainers + ld a, $a + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + call DisplayTextID + ld a, SNORLAX + ld [W_CUROPPONENT], a ; $d059 + ld a, 30 + ld [W_CURENEMYLVL], a ; $d127 + ld a, $21 + ld [$cc4d], a + ld a, $11 + call Predef ; indirect jump to RemoveMissableObject (f1d7 (3:71d7)) + call UpdateSprites + ld a, $3 + ld [W_ROUTE16CURSCRIPT], a + ld [W_CURMAPSCRIPT], a + ret + +Route16Script3: ; 5998f (16:598f) + ld a, [W_ISINBATTLE] ; $d057 + cp $ff + jp z, Func_59946 + call UpdateSprites + ld a, [$cf0b] + cp $2 + jr z, .asm_599a8 + ld a, $b + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + call DisplayTextID +.asm_599a8 + ld hl, $d7e0 + set 1, [hl] + call Delay3 + ld a, $0 + ld [W_ROUTE16CURSCRIPT], a + ld [W_CURMAPSCRIPT], a + ret + +Route16TextPointers: ; 599b9 (16:59b9) + dw Route16Text1 + dw Route16Text2 + dw Route16Text3 + dw Route16Text4 + dw Route16Text5 + dw Route16Text6 + dw Route16Text7 + dw Route16Text8 + dw Route16Text9 + dw Route16Text10 + dw Route16Text11 + +Route16TrainerHeaders: ; 599cf (16:59cf) +Route16TrainerHeader0: ; 599cf (16:59cf) + db $1 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7df ; flag's byte + dw Route16BattleText1 ; 0x5a22 TextBeforeBattle + dw Route16AfterBattleText1 ; 0x5a2c TextAfterBattle + dw Route16EndBattleText1 ; 0x5a27 TextEndBattle + dw Route16EndBattleText1 ; 0x5a27 TextEndBattle + +Route16TrainerHeader1: ; 599db (16:59db) + db $2 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7df ; flag's byte + dw Route16BattleText2 ; 0x5a3b TextBeforeBattle + dw Route16AfterBattleText2 ; 0x5a45 TextAfterBattle + dw Route16EndBattleText2 ; 0x5a40 TextEndBattle + dw Route16EndBattleText2 ; 0x5a40 TextEndBattle + +Route16TrainerHeader2: ; 599e7 (16:59e7) + db $3 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7df ; flag's byte + dw Route16BattleText3 ; 0x5a54 TextBeforeBattle + dw Route16AfterBattleText3 ; 0x5a5e TextAfterBattle + dw Route16EndBattleText3 ; 0x5a59 TextEndBattle + dw Route16EndBattleText3 ; 0x5a59 TextEndBattle + +Route16TrainerHeader3: ; 599f3 (16:59f3) + db $4 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7df ; flag's byte + dw Route16BattleText4 ; 0x5a6d TextBeforeBattle + dw Route16AfterBattleText4 ; 0x5a77 TextAfterBattle + dw Route16EndBattleText4 ; 0x5a72 TextEndBattle + dw Route16EndBattleText4 ; 0x5a72 TextEndBattle + +Route16TrainerHeader4: ; 599ff (16:59ff) + db $5 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7df ; flag's byte + dw Route16BattleText5 ; 0x5a86 TextBeforeBattle + dw Route16AfterBattleText5 ; 0x5a90 TextAfterBattle + dw Route16EndBattleText5 ; 0x5a8b TextEndBattle + dw Route16EndBattleText5 ; 0x5a8b TextEndBattle + +Route16TrainerHeader5: ; 59a0b (16:5a0b) + db $6 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7df ; flag's byte + dw Route16BattleText6 ; 0x5a9f TextBeforeBattle + dw Route16AfterBattleText6 ; 0x5aa9 TextAfterBattle + dw Route16EndBattleText6 ; 0x5aa4 TextEndBattle + dw Route16EndBattleText6 ; 0x5aa4 TextEndBattle + + db $ff + +Route16Text1: ; 59a18 (16:5a18) + db $08 ; asm + ld hl, Route16TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +Route16BattleText1: ; 59a22 (16:5a22) + TX_FAR _Route16BattleText1 + db "@" + +Route16EndBattleText1: ; 59a27 (16:5a27) + TX_FAR _Route16EndBattleText1 + db "@" + +Route16AfterBattleText1: ; 59a2c (16:5a2c) + TX_FAR _Route16AfterBattleText1 + db "@" + +Route16Text2: ; 59a31 (16:5a31) + db $08 ; asm + ld hl, Route16TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +Route16BattleText2: ; 59a3b (16:5a3b) + TX_FAR _Route16BattleText2 + db "@" + +Route16EndBattleText2: ; 59a40 (16:5a40) + TX_FAR _Route16EndBattleText2 + db "@" + +Route16AfterBattleText2: ; 59a45 (16:5a45) + TX_FAR _Route16AfterBattleText2 + db "@" + +Route16Text3: ; 59a4a (16:5a4a) + db $08 ; asm + ld hl, Route16TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +Route16BattleText3: ; 59a54 (16:5a54) + TX_FAR _Route16BattleText3 + db "@" + +Route16EndBattleText3: ; 59a59 (16:5a59) + TX_FAR _Route16EndBattleText3 + db "@" + +Route16AfterBattleText3: ; 59a5e (16:5a5e) + TX_FAR _Route16AfterBattleText3 + db "@" + +Route16Text4: ; 59a63 (16:5a63) + db $08 ; asm + ld hl, Route16TrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +Route16BattleText4: ; 59a6d (16:5a6d) + TX_FAR _Route16BattleText4 + db "@" + +Route16EndBattleText4: ; 59a72 (16:5a72) + TX_FAR _Route16EndBattleText4 + db "@" + +Route16AfterBattleText4: ; 59a77 (16:5a77) + TX_FAR _Route16AfterBattleText4 + db "@" + +Route16Text5: ; 59a7c (16:5a7c) + db $08 ; asm + ld hl, Route16TrainerHeader4 + call TalkToTrainer + jp TextScriptEnd + +Route16BattleText5: ; 59a86 (16:5a86) + TX_FAR _Route16BattleText5 + db "@" + +Route16EndBattleText5: ; 59a8b (16:5a8b) + TX_FAR _Route16EndBattleText5 + db "@" + +Route16AfterBattleText5: ; 59a90 (16:5a90) + TX_FAR _Route16AfterBattleText5 + db "@" + +Route16Text6: ; 59a95 (16:5a95) + db $08 ; asm + ld hl, Route16TrainerHeader5 + call TalkToTrainer + jp TextScriptEnd + +Route16BattleText6: ; 59a9f (16:5a9f) + TX_FAR _Route16BattleText6 + db "@" + +Route16EndBattleText6: ; 59aa4 (16:5aa4) + TX_FAR _Route16EndBattleText6 + db "@" + +Route16AfterBattleText6: ; 59aa9 (16:5aa9) + TX_FAR _Route16AfterBattleText6 + db "@" + +Route16Text7: ; 59aae (16:5aae) + TX_FAR _Route16Text7 + db "@" + +Route16Text10: ; 59ab3 (16:5ab3) + TX_FAR _Route16Text10 + db "@" + +Route16Text11: ; 59ab8 (16:5ab8) + TX_FAR _Route16Text11 + db "@" + +Route16Text8: ; 59abd (16:5abd) + TX_FAR _Route16Text8 + db "@" + +Route16Text9: ; 59ac2 (16:5ac2) + TX_FAR _Route16Text9 + db "@" diff --git a/scripts/route16gate.asm b/scripts/route16gate.asm new file mode 100755 index 00000000..5131a1ff --- /dev/null +++ b/scripts/route16gate.asm @@ -0,0 +1,121 @@ +Route16GateScript: ; 496be (12:56be) + ld hl, $d732 + res 5, [hl] + call EnableAutoTextBoxDrawing + ld a, [W_ROUTE16GATECURSCRIPT] + ld hl, Route16GateScriptPointers + jp CallFunctionInTable + +Route16GateScriptPointers: ; 496cf (12:56cf) + dw Route16GateScript0 + dw Route16GateScript1 + dw Route16GateScript2 + dw Route16GateScript3 + +Route16GateScript0: ; 496d7 (12:56d7) + call Func_49755 + ret nz + ld hl, CoordsData_49714 + call ArePlayerCoordsInArray + ret nc + ld a, $3 + ld [$ff8c], a + call DisplayTextID + xor a + ld [H_CURRENTPRESSEDBUTTONS], a + ld a, [$cd3d] + cp $1 + jr z, .asm_4970e ; 0x496f1 $1b + ld a, [$cd3d] + dec a + ld [$cd38], a + ld b, $0 + ld c, a + ld a, $40 + ld hl, $ccd3 + call FillMemory + call Func_3486 + ld a, $1 + ld [W_ROUTE16GATECURSCRIPT], a + ret +.asm_4970e + ld a, $2 + ld [W_ROUTE16GATECURSCRIPT], a + ret + +CoordsData_49714: ; 49714 (12:5714) + db $07,$04 + db $08,$04 + db $09,$04 + db $0A,$04 + db $FF + +Route16GateScript1: ; 4971d (12:571d) + ld a, [$cd38] + and a + ret nz + ld a, $f0 + ld [wJoypadForbiddenButtonsMask], a + +Route16GateScript2: ; 49727 (12:5727) + ld a, $1 + ld [H_SPRITEHEIGHT], a + call DisplayTextID + ld a, $1 + ld [$cd38], a + ld a, $10 + ld [$ccd3], a + call Func_3486 + ld a, $3 + ld [W_ROUTE16GATECURSCRIPT], a + ret + +Route16GateScript3: ; 49741 (12:5741) + ld a, [$cd38] + and a + ret nz + xor a + ld [wJoypadForbiddenButtonsMask], a + ld hl, $d730 + res 7, [hl] + ld a, $0 + ld [W_ROUTE16GATECURSCRIPT], a + ret + +Func_49755: ; 49755 (12:5755) + ld b, BICYCLE + jp IsItemInBag + +Route16GateTextPointers: ; 4975a (12:575a) + dw Route16GateText1 + dw Route16GateText2 + dw Route16GateText3 + +Route16GateText1: ; 49760 (12:5760) + db $08 ; asm + call Func_49755 + jr z, .asm_0bdf3 ; 0x49764 + ld hl, Route16GateText_4977c + call PrintText + jr .asm_56c9d ; 0x4976c +.asm_0bdf3 ; 0x4976e + ld hl, Route16GateText_49777 + call PrintText +.asm_56c9d ; 0x49774 + jp TextScriptEnd + +Route16GateText_49777: ; 49777 (12:5777) + TX_FAR _Route16GateText_49777 + db "@" + +Route16GateText_4977c: ; 4977c (12:577c) + TX_FAR _Route16GateText_4977c + db "@" + +Route16GateText3: ; 49781 (12:5781) + TX_FAR _Route16GateText_49781 + db "@" + +Route16GateText2: ; 49786 (12:5786) + TX_FAR _Route16GateText2 + db "@" diff --git a/scripts/route16gateupstairs.asm b/scripts/route16gateupstairs.asm new file mode 100755 index 00000000..c9996dcd --- /dev/null +++ b/scripts/route16gateupstairs.asm @@ -0,0 +1,46 @@ +Route16GateUpstairsScript: ; 4980b (12:580b) + jp DisableAutoTextBoxDrawing + +Route16GateUpstairsTextPointers: ; 4980e (12:580e) + dw Route16GateUpstairsText1 + dw Route16GateUpstairsText2 + dw Route16GateUpstairsText3 + dw Route16GateUpstairsText4 + +Route16GateUpstairsText1: ; 49816 (12:5816) + db $08 ; asm + ld hl, Route16GateUpstairsText_49820 + call PrintText + jp TextScriptEnd + +Route16GateUpstairsText_49820: ; 49820 (12:5820) + TX_FAR _Route16GateUpstairsText_49820 + db "@" + +Route16GateUpstairsText2: ; 49825 (12:5825) + db $08 ; asm + ld hl, Route16GateUpstairsText_4982f + call PrintText + jp TextScriptEnd + +Route16GateUpstairsText_4982f: ; 4982f (12:582f) + TX_FAR _Route16GateUpstairsText_4982f + db "@" + +Route16GateUpstairsText3: ; 49834 (12:5834) + db $8 + ld hl, Route16GateUpstairsText_4983b + jp Route12GateUpstairsScript_495c9 + +Route16GateUpstairsText_4983b: ; 4983b (12:583b) + TX_FAR _Route16GateUpstairsText_4983b + db "@" + +Route16GateUpstairsText4: ; 49840 (12:5840) + db $8 + ld hl, Route16GateUpstairsText_49847 ; $5847 + jp Route12GateUpstairsScript_495c9 + +Route16GateUpstairsText_49847: ; 49847 (12:5847) + TX_FAR _Route16GateUpstairsText_49847 + db "@" diff --git a/scripts/route16house.asm b/scripts/route16house.asm new file mode 100755 index 00000000..21c21b79 --- /dev/null +++ b/scripts/route16house.asm @@ -0,0 +1,56 @@ +Route16HouseScript: ; 1e5f8 (7:65f8) + jp EnableAutoTextBoxDrawing + +Route16HouseTextPointers: ; 1e5fb (7:65fb) + dw Route16HouseText1 + dw Route16HouseText2 + +Route16HouseText1: ; 1e5ff (7:65ff) + db $08 ; asm + ld a, [$d7e0] + bit 6, a + ld hl, HM02ExplanationText + jr nz, .asm_13616 ; 0x1e608 + ld hl, Route16HouseText3 + call PrintText + ld bc, (HM_02 << 8) | 1 + call GiveItem + jr nc, .BagFull + ld hl, $d7e0 + set 6, [hl] + ld hl, ReceivedHM02Text + jr .asm_13616 ; 0x1e620 +.BagFull + ld hl, HM02NoRoomText +.asm_13616 ; 0x1e625 + call PrintText + jp TextScriptEnd + +Route16HouseText3: ; 1e62b (7:662b) + TX_FAR _Route16HouseText3 + db "@" + +ReceivedHM02Text: ; 1e630 (7:6630) + TX_FAR _ReceivedHM02Text + db $11, "@" + +HM02ExplanationText: ; 1e636 (7:6636) + TX_FAR _HM02ExplanationText + db "@" + +HM02NoRoomText: ; 1e63b (7:663b) + TX_FAR _HM02NoRoomText + db "@" + +Route16HouseText2: ; 1e640 (7:6640) + db $08 ; asm + ld hl, Route16HouseText_1e652 + call PrintText + ld a, FEAROW + call PlayCry + call WaitForSoundToFinish + jp TextScriptEnd + +Route16HouseText_1e652: ; 1e652 (7:6652) + TX_FAR _Route16HouseText_1e652 + db "@" diff --git a/scripts/route17.asm b/scripts/route17.asm new file mode 100755 index 00000000..976d4236 --- /dev/null +++ b/scripts/route17.asm @@ -0,0 +1,328 @@ +Route17Script: ; 55b7a (15:5b7a) + call EnableAutoTextBoxDrawing + ld hl, Route17TrainerHeaders + ld de, Route17ScriptPointers + ld a, [W_ROUTE17CURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_ROUTE17CURSCRIPT], a + ret + +Route17ScriptPointers: ; 55b8d (15:5b8d) + dw CheckFightingMapTrainers + dw Func_324c + dw EndTrainerBattle + +Route17TextPointers: ; 55b93 (15:5b93) + dw Route17Text1 + dw Route17Text2 + dw Route17Text3 + dw Route17Text4 + dw Route17Text5 + dw Route17Text6 + dw Route17Text7 + dw Route17Text8 + dw Route17Text9 + dw Route17Text10 + dw Route17Text11 + dw Route17Text12 + dw Route17Text13 + dw Route17Text14 + dw Route17Text15 + dw Route17Text16 + +Route17TrainerHeaders: ; 55bb3 (15:5bb3) +Route17TrainerHeader0: ; 55bb3 (15:5bb3) + db $1 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7e1 ; flag's byte + dw Route17BattleText1 ; 0x5c36 TextBeforeBattle + dw Route17AfterBattleText1 ; 0x5c40 TextAfterBattle + dw Route17EndBattleText1 ; 0x5c3b TextEndBattle + dw Route17EndBattleText1 ; 0x5c3b TextEndBattle + +Route17TrainerHeader1: ; 55bbf (15:5bbf) + db $2 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7e1 ; flag's byte + dw Route17BattleText2 ; 0x5c4f TextBeforeBattle + dw Route17AfterBattleText2 ; 0x5c59 TextAfterBattle + dw Route17EndBattleText2 ; 0x5c54 TextEndBattle + dw Route17EndBattleText2 ; 0x5c54 TextEndBattle + +Route17TrainerHeader2: ; 55bcb (15:5bcb) + db $3 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7e1 ; flag's byte + dw Route17BattleText3 ; 0x5c68 TextBeforeBattle + dw Route17AfterBattleText3 ; 0x5c72 TextAfterBattle + dw Route17EndBattleText3 ; 0x5c6d TextEndBattle + dw Route17EndBattleText3 ; 0x5c6d TextEndBattle + +Route17TrainerHeader3: ; 55bd7 (15:5bd7) + db $4 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7e1 ; flag's byte + dw Route17BattleText4 ; 0x5c81 TextBeforeBattle + dw Route17AfterBattleText4 ; 0x5c8b TextAfterBattle + dw Route17EndBattleText4 ; 0x5c86 TextEndBattle + dw Route17EndBattleText4 ; 0x5c86 TextEndBattle + +Route17TrainerHeader4: ; 55be3 (15:5be3) + db $5 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7e1 ; flag's byte + dw Route17BattleText5 ; 0x5c9a TextBeforeBattle + dw Route17AfterBattleText5 ; 0x5ca4 TextAfterBattle + dw Route17EndBattleText5 ; 0x5c9f TextEndBattle + dw Route17EndBattleText5 ; 0x5c9f TextEndBattle + +Route17TrainerHeader5: ; 55bef (15:5bef) + db $6 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7e1 ; flag's byte + dw Route17BattleText6 ; 0x5cb3 TextBeforeBattle + dw Route17AfterBattleText6 ; 0x5cbd TextAfterBattle + dw Route17EndBattleText6 ; 0x5cb8 TextEndBattle + dw Route17EndBattleText6 ; 0x5cb8 TextEndBattle + +Route17TrainerHeader6: ; 55bfb (15:5bfb) + db $7 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7e1 ; flag's byte + dw Route17BattleText7 ; 0x5ccc TextBeforeBattle + dw Route17AfterBattleText7 ; 0x5cd6 TextAfterBattle + dw Route17EndBattleText7 ; 0x5cd1 TextEndBattle + dw Route17EndBattleText7 ; 0x5cd1 TextEndBattle + +Route17TrainerHeader7: ; 55c07 (15:5c07) + db $8 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7e1 ; flag's byte + dw Route17BattleText8 ; 0x5ce5 TextBeforeBattle + dw Route17AfterBattleText8 ; 0x5cef TextAfterBattle + dw Route17EndBattleText8 ; 0x5cea TextEndBattle + dw Route17EndBattleText8 ; 0x5cea TextEndBattle + +Route17TrainerHeader8: ; 55c13 (15:5c13) + db $9 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7e1 ; flag's byte + dw Route17BattleText9 ; 0x5cfe TextBeforeBattle + dw Route17AfterBattleText9 ; 0x5d08 TextAfterBattle + dw Route17EndBattleText9 ; 0x5d03 TextEndBattle + dw Route17EndBattleText9 ; 0x5d03 TextEndBattle + +Route17TrainerHeader9: ; 55c1f (15:5c1f) + db $a ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7e1 ; flag's byte + dw Route17BattleText10 ; 0x5d17 TextBeforeBattle + dw Route17AfterBattleText10 ; 0x5d21 TextAfterBattle + dw Route17EndBattleText10 ; 0x5d1c TextEndBattle + dw Route17EndBattleText10 ; 0x5d1c TextEndBattle + + db $ff + +Route17Text1: ; 55c2c (15:5c2c) + db $08 ; asm + ld hl, Route17TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +Route17BattleText1: ; 55c36 (15:5c36) + TX_FAR _Route17BattleText1 + db "@" + +Route17EndBattleText1: ; 55c3b (15:5c3b) + TX_FAR _Route17EndBattleText1 + db "@" + +Route17AfterBattleText1: ; 55c40 (15:5c40) + TX_FAR _Route17AfterBattleText1 + db "@" + +Route17Text2: ; 55c45 (15:5c45) + db $08 ; asm + ld hl, Route17TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +Route17BattleText2: ; 55c4f (15:5c4f) + TX_FAR _Route17BattleText2 + db "@" + +Route17EndBattleText2: ; 55c54 (15:5c54) + TX_FAR _Route17EndBattleText2 + db "@" + +Route17AfterBattleText2: ; 55c59 (15:5c59) + TX_FAR _Route17AfterBattleText2 + db "@" + +Route17Text3: ; 55c5e (15:5c5e) + db $08 ; asm + ld hl, Route17TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +Route17BattleText3: ; 55c68 (15:5c68) + TX_FAR _Route17BattleText3 + db "@" + +Route17EndBattleText3: ; 55c6d (15:5c6d) + TX_FAR _Route17EndBattleText3 + db "@" + +Route17AfterBattleText3: ; 55c72 (15:5c72) + TX_FAR _Route17AfterBattleText3 + db "@" + +Route17Text4: ; 55c77 (15:5c77) + db $08 ; asm + ld hl, Route17TrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +Route17BattleText4: ; 55c81 (15:5c81) + TX_FAR _Route17BattleText4 + db "@" + +Route17EndBattleText4: ; 55c86 (15:5c86) + TX_FAR _Route17EndBattleText4 + db "@" + +Route17AfterBattleText4: ; 55c8b (15:5c8b) + TX_FAR _Route17AfterBattleText4 + db "@" + +Route17Text5: ; 55c90 (15:5c90) + db $08 ; asm + ld hl, Route17TrainerHeader4 + call TalkToTrainer + jp TextScriptEnd + +Route17BattleText5: ; 55c9a (15:5c9a) + TX_FAR _Route17BattleText5 + db "@" + +Route17EndBattleText5: ; 55c9f (15:5c9f) + TX_FAR _Route17EndBattleText5 + db "@" + +Route17AfterBattleText5: ; 55ca4 (15:5ca4) + TX_FAR _Route17AfterBattleText5 + db "@" + +Route17Text6: ; 55ca9 (15:5ca9) + db $08 ; asm + ld hl, Route17TrainerHeader5 + call TalkToTrainer + jp TextScriptEnd + +Route17BattleText6: ; 55cb3 (15:5cb3) + TX_FAR _Route17BattleText6 + db "@" + +Route17EndBattleText6: ; 55cb8 (15:5cb8) + TX_FAR _Route17EndBattleText6 + db "@" + +Route17AfterBattleText6: ; 55cbd (15:5cbd) + TX_FAR _Route17AfterBattleText6 + db "@" + +Route17Text7: ; 55cc2 (15:5cc2) + db $08 ; asm + ld hl, Route17TrainerHeader6 + call TalkToTrainer + jp TextScriptEnd + +Route17BattleText7: ; 55ccc (15:5ccc) + TX_FAR _Route17BattleText7 + db "@" + +Route17EndBattleText7: ; 55cd1 (15:5cd1) + TX_FAR _Route17EndBattleText7 + db "@" + +Route17AfterBattleText7: ; 55cd6 (15:5cd6) + TX_FAR _Route17AfterBattleText7 + db "@" + +Route17Text8: ; 55cdb (15:5cdb) + db $08 ; asm + ld hl, Route17TrainerHeader7 + call TalkToTrainer + jp TextScriptEnd + +Route17BattleText8: ; 55ce5 (15:5ce5) + TX_FAR _Route17BattleText8 + db "@" + +Route17EndBattleText8: ; 55cea (15:5cea) + TX_FAR _Route17EndBattleText8 + db "@" + +Route17AfterBattleText8: ; 55cef (15:5cef) + TX_FAR _Route17AfterBattleText8 + db "@" + +Route17Text9: ; 55cf4 (15:5cf4) + db $08 ; asm + ld hl, Route17TrainerHeader8 + call TalkToTrainer + jp TextScriptEnd + +Route17BattleText9: ; 55cfe (15:5cfe) + TX_FAR _Route17BattleText9 + db "@" + +Route17EndBattleText9: ; 55d03 (15:5d03) + TX_FAR _Route17EndBattleText9 + db "@" + +Route17AfterBattleText9: ; 55d08 (15:5d08) + TX_FAR _Route17AfterBattleText9 + db "@" + +Route17Text10: ; 55d0d (15:5d0d) + db $08 ; asm + ld hl, Route17TrainerHeader9 + call TalkToTrainer + jp TextScriptEnd + +Route17BattleText10: ; 55d17 (15:5d17) + TX_FAR _Route17BattleText10 + db "@" + +Route17EndBattleText10: ; 55d1c (15:5d1c) + TX_FAR _Route17EndBattleText10 + db "@" + +Route17AfterBattleText10: ; 55d21 (15:5d21) + TX_FAR _Route17AfterBattleText10 + db "@" + +Route17Text11: ; 55d26 (15:5d26) + TX_FAR _Route17Text11 + db "@" + +Route17Text12: ; 55d2b (15:5d2b) + TX_FAR _Route17Text12 + db "@" + +Route17Text13: ; 55d30 (15:5d30) + TX_FAR _Route17Text13 + db "@" + +Route17Text14: ; 55d35 (15:5d35) + TX_FAR _Route17Text14 + db "@" + +Route17Text15: ; 55d3a (15:5d3a) + TX_FAR _Route17Text15 + db "@" + +Route17Text16: ; 55d3f (15:5d3f) + TX_FAR _Route17Text16 + db "@" diff --git a/scripts/route18.asm b/scripts/route18.asm new file mode 100755 index 00000000..b15f5e42 --- /dev/null +++ b/scripts/route18.asm @@ -0,0 +1,112 @@ +Route18Script: ; 59ac7 (16:5ac7) + call EnableAutoTextBoxDrawing + ld hl, Route18TrainerHeaders + ld de, Route18ScriptPointers + ld a, [W_ROUTE18CURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_ROUTE18CURSCRIPT], a + ret + +Route18ScriptPointers: ; 59ada (16:5ada) + dw CheckFightingMapTrainers + dw Func_324c + dw EndTrainerBattle + +Route18TextPointers: ; 59ae0 (16:5ae0) + dw Route18Text1 + dw Route18Text2 + dw Route18Text3 + dw Route18Text4 + dw Route18Text5 + +Route18TrainerHeaders: ; 59aea (16:5aea) +Route18TrainerHeader0: ; 59aea (16:5aea) + db $1 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7e3 ; flag's byte + dw Route18BattleText1 ; 0x5b19 TextBeforeBattle + dw Route18AfterBattleText1 ; 0x5b23 TextAfterBattle + dw Route18EndBattleText1 ; 0x5b1e TextEndBattle + dw Route18EndBattleText1 ; 0x5b1e TextEndBattle + +Route18TrainerHeader1: ; 59af6 (16:5af6) + db $2 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7e3 ; flag's byte + dw Route18BattleText2 ; 0x5b32 TextBeforeBattle + dw Route18AfterBattleText2 ; 0x5b3c TextAfterBattle + dw Route18EndBattleText2 ; 0x5b37 TextEndBattle + dw Route18EndBattleText2 ; 0x5b37 TextEndBattle + +Route18TrainerHeader2: ; 59b02 (16:5b02) + db $3 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7e3 ; flag's byte + dw Route18BattleText3 ; 0x5b4b TextBeforeBattle + dw Route18AfterBattleText3 ; 0x5b55 TextAfterBattle + dw Route18EndBattleText3 ; 0x5b50 TextEndBattle + dw Route18EndBattleText3 ; 0x5b50 TextEndBattle + + db $ff + +Route18Text1: ; 59b0f (16:5b0f) + db $08 ; asm + ld hl, Route18TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +Route18BattleText1: ; 59b19 (16:5b19) + TX_FAR _Route18BattleText1 + db "@" + +Route18EndBattleText1: ; 59b1e (16:5b1e) + TX_FAR _Route18EndBattleText1 + db "@" + +Route18AfterBattleText1: ; 59b23 (16:5b23) + TX_FAR _Route18AfterBattleText1 + db "@" + +Route18Text2: ; 59b28 (16:5b28) + db $08 ; asm + ld hl, Route18TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +Route18BattleText2: ; 59b32 (16:5b32) + TX_FAR _Route18BattleText2 + db "@" + +Route18EndBattleText2: ; 59b37 (16:5b37) + TX_FAR _Route18EndBattleText2 + db "@" + +Route18AfterBattleText2: ; 59b3c (16:5b3c) + TX_FAR _Route18AfterBattleText2 + db "@" + +Route18Text3: ; 59b41 (16:5b41) + db $08 ; asm + ld hl, Route18TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +Route18BattleText3: ; 59b4b (16:5b4b) + TX_FAR _Route18BattleText3 + db "@" + +Route18EndBattleText3: ; 59b50 (16:5b50) + TX_FAR _Route18EndBattleText3 + db "@" + +Route18AfterBattleText3: ; 59b55 (16:5b55) + TX_FAR _Route18AfterBattleText3 + db "@" + +Route18Text4: ; 59b5a (16:5b5a) + TX_FAR _Route18Text4 + db "@" + +Route18Text5: ; 59b5f (16:5b5f) + TX_FAR _Route18Text5 + db "@" diff --git a/scripts/route18gate.asm b/scripts/route18gate.asm new file mode 100755 index 00000000..d55ed412 --- /dev/null +++ b/scripts/route18gate.asm @@ -0,0 +1,112 @@ +Route18GateScript: ; 49876 (12:5876) + ld hl, $d732 + res 5, [hl] + call EnableAutoTextBoxDrawing + ld a, [W_ROUTE18GATECURSCRIPT] + ld hl, Route18GateScriptPointers + jp CallFunctionInTable + +Route18GateScriptPointers: ; 49887 (12:5887) + dw Route18GateScript0 + dw Route18GateScript1 + dw Route18GateScript2 + dw Route18GateScript3 + +Route18GateScript0: ; 4988f (12:588f) + call Func_49755 + ret nz + ld hl, CoordsData_498cc + call ArePlayerCoordsInArray + ret nc + ld a, $2 + ld [$ff8c], a + call DisplayTextID + xor a + ld [H_CURRENTPRESSEDBUTTONS], a + ld a, [$cd3d] + cp $1 + jr z, .asm_498c6 ; 0x498a9 $1b + ld a, [$cd3d] + dec a + ld [$cd38], a + ld b, $0 + ld c, a + ld a, $40 + ld hl, $ccd3 + call FillMemory + call Func_3486 + ld a, $1 + ld [W_ROUTE18GATECURSCRIPT], a + ret +.asm_498c6 + ld a, $2 + ld [W_ROUTE18GATECURSCRIPT], a + ret + +CoordsData_498cc: ; 498cc (12:58cc) + db $03,$04 + db $04,$04 + db $05,$04 + db $06,$04 + db $FF + +Route18GateScript1: ; 498d5 (12:58d5) + ld a, [$cd38] + and a + ret nz + ld a, $f0 + ld [wJoypadForbiddenButtonsMask], a + +Route18GateScript2: ; 498df (12:58df) + ld a, $1 + ld [H_SPRITEHEIGHT], a + call DisplayTextID + ld a, $1 + ld [$cd38], a + ld a, $10 + ld [$ccd3], a + call Func_3486 + ld a, $3 + ld [W_ROUTE18GATECURSCRIPT], a + ret + +Route18GateScript3: ; 498f9 (12:58f9) + ld a, [$cd38] + and a + ret nz + xor a + ld [wJoypadForbiddenButtonsMask], a + ld hl, $d730 + res 7, [hl] + ld a, $0 + ld [W_ROUTE18GATECURSCRIPT], a + ret + +Route18GateTextPointers: ; 4990d (12:590d) + dw Route18GateText1 + dw Route18GateText2 + +Route18GateText1: ; 49911 (12:5911) + db $08 ; asm + call Func_49755 + jr z, .asm_3c84d ; 0x49915 + ld hl, Route18GateText_4992d + call PrintText + jr .asm_a8410 ; 0x4991d +.asm_3c84d ; 0x4991f + ld hl, Route18GateText_49928 + call PrintText +.asm_a8410 ; 0x49925 + jp TextScriptEnd + +Route18GateText_49928: ; 49928 (12:5928) + TX_FAR _Route18GateText_49928 + db "@" + +Route18GateText_4992d: ; 4992d (12:592d) + TX_FAR _Route18GateText_4992d + db "@" + +Route18GateText2: ; 49932 (12:5932) + TX_FAR _Route18GateText_49932 + db "@" diff --git a/scripts/route18gateupstairs.asm b/scripts/route18gateupstairs.asm new file mode 100755 index 00000000..d9164d1d --- /dev/null +++ b/scripts/route18gateupstairs.asm @@ -0,0 +1,33 @@ +Route18GateUpstairsScript: ; 49975 (12:5975) + jp DisableAutoTextBoxDrawing + +Route18GateUpstairsTextPointers: ; 49978 (12:5978) + dw Route18GateUpstairsText1 + dw Route18GateUpstairsText2 + dw Route18GateUpstairsText3 + +Route18GateUpstairsText1: ; 4997e (12:597e) + db $08 ; asm + ld a, $5 + ld [wWhichTrade], a + ld a, $54 + call Predef + jp TextScriptEnd + +Route18GateUpstairsText2: ; 4998c (12:598c) + db $8 + ld hl, Route18GateUpstairsText_49993 ; $5993 + jp Route12GateUpstairsScript_495c9 + +Route18GateUpstairsText_49993: ; 49993 (12:5993) + TX_FAR _Route18GateUpstairsText_49993 + db "@" + +Route18GateUpstairsText3: ; 49998 (12:5998) + db $8 + ld hl, Route18GateUpstairsText_4999f ; $599f + jp Route12GateUpstairsScript_495c9 + +Route18GateUpstairsText_4999f: ; 4999f (12:599f) + TX_FAR _Route18GateUpstairsText_4999f + db "@" diff --git a/scripts/route19.asm b/scripts/route19.asm new file mode 100755 index 00000000..8bc641ff --- /dev/null +++ b/scripts/route19.asm @@ -0,0 +1,303 @@ +Route19Script: ; 55d44 (15:5d44) + call EnableAutoTextBoxDrawing + ld hl, Route19TrainerHeaders + ld de, Route19ScriptPointers + ld a, [W_ROUTE19CURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_ROUTE19CURSCRIPT], a + ret + +Route19ScriptPointers: ; 55d57 (15:5d57) + dw CheckFightingMapTrainers + dw Func_324c + dw EndTrainerBattle + +Route19TextPointers: ; 55d5d (15:5d5d) + dw Route19Text1 + dw Route19Text2 + dw Route19Text3 + dw Route19Text4 + dw Route19Text5 + dw Route19Text6 + dw Route19Text7 + dw Route19Text8 + dw Route19Text9 + dw Route19Text10 + dw Route19Text11 + +Route19TrainerHeaders: ; 55d73 (15:5d73) +Route19TrainerHeader0: ; 55d73 (15:5d73) + db $1 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7e5 ; flag's byte + dw Route19BattleText1 ; 0x5e50 TextBeforeBattle + dw Route19AfterBattleText1 ; 0x5e5a TextAfterBattle + dw Route19EndBattleText1 ; 0x5e55 TextEndBattle + dw Route19EndBattleText1 ; 0x5e55 TextEndBattle + +Route19TrainerHeader1: ; 55d7f (15:5d7f) + db $2 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7e5 ; flag's byte + dw Route19BattleText2 ; 0x5e5f TextBeforeBattle + dw Route19AfterBattleText2 ; 0x5e69 TextAfterBattle + dw Route19EndBattleText2 ; 0x5e64 TextEndBattle + dw Route19EndBattleText2 ; 0x5e64 TextEndBattle + +Route19TrainerHeader2: ; 55d8b (15:5d8b) + db $3 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7e5 ; flag's byte + dw Route19BattleText3 ; 0x5e6e TextBeforeBattle + dw Route19AfterBattleText3 ; 0x5e78 TextAfterBattle + dw Route19EndBattleText3 ; 0x5e73 TextEndBattle + dw Route19EndBattleText3 ; 0x5e73 TextEndBattle + +Route19TrainerHeader3: ; 55d97 (15:5d97) + db $4 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7e5 ; flag's byte + dw Route19BattleText4 ; 0x5e7d TextBeforeBattle + dw Route19AfterBattleText4 ; 0x5e87 TextAfterBattle + dw Route19EndBattleText4 ; 0x5e82 TextEndBattle + dw Route19EndBattleText4 ; 0x5e82 TextEndBattle + +Route19TrainerHeader4: ; 55da3 (15:5da3) + db $5 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7e5 ; flag's byte + dw Route19BattleText5 ; 0x5e8c TextBeforeBattle + dw Route19AfterBattleText5 ; 0x5e96 TextAfterBattle + dw Route19EndBattleText5 ; 0x5e91 TextEndBattle + dw Route19EndBattleText5 ; 0x5e91 TextEndBattle + +Route19TrainerHeader5: ; 55daf (15:5daf) + db $6 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7e5 ; flag's byte + dw Route19BattleText6 ; 0x5e9b TextBeforeBattle + dw Route19AfterBattleText6 ; 0x5ea5 TextAfterBattle + dw Route19EndBattleText6 ; 0x5ea0 TextEndBattle + dw Route19EndBattleText6 ; 0x5ea0 TextEndBattle + +Route19TrainerHeader6: ; 55dbb (15:5dbb) + db $7 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7e5 ; flag's byte + dw Route19BattleText7 ; 0x5eaa TextBeforeBattle + dw Route19AfterBattleText7 ; 0x5eb4 TextAfterBattle + dw Route19EndBattleText7 ; 0x5eaf TextEndBattle + dw Route19EndBattleText7 ; 0x5eaf TextEndBattle + +Route19TrainerHeader7: ; 55dc7 (15:5dc7) + db $8 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7e5 ; flag's byte + dw Route19BattleText8 ; 0x5eb9 TextBeforeBattle + dw Route19AfterBattleText8 ; 0x5ec3 TextAfterBattle + dw Route19EndBattleText8 ; 0x5ebe TextEndBattle + dw Route19EndBattleText8 ; 0x5ebe TextEndBattle + +Route19TrainerHeader8: ; 55dd3 (15:5dd3) + db $9 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7e5 ; flag's byte + dw Route19BattleText9 ; 0x5ec8 TextBeforeBattle + dw Route19AfterBattleText9 ; 0x5ed2 TextAfterBattle + dw Route19EndBattleText9 ; 0x5ecd TextEndBattle + dw Route19EndBattleText9 ; 0x5ecd TextEndBattle + +Route19TrainerHeader9: ; 55ddf (15:5ddf) + db $a ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7e5 ; flag's byte + dw Route19BattleText10 ; 0x5ed7 TextBeforeBattle + dw Route19AfterBattleText10 ; 0x5ee1 TextAfterBattle + dw Route19EndBattleText10 ; 0x5edc TextEndBattle + dw Route19EndBattleText10 ; 0x5edc TextEndBattle + + db $ff + +Route19Text1: ; 55dec (15:5dec) + db $08 ; asm + ld hl, Route19TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +Route19Text2: ; 55df6 (15:5df6) + db $08 ; asm + ld hl, Route19TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +Route19Text3: ; 55e00 (15:5e00) + db $08 ; asm + ld hl, Route19TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +Route19Text4: ; 55e0a (15:5e0a) + db $08 ; asm + ld hl, Route19TrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +Route19Text5: ; 55e14 (15:5e14) + db $08 ; asm + ld hl, Route19TrainerHeader4 + call TalkToTrainer + jp TextScriptEnd + +Route19Text6: ; 55e1e (15:5e1e) + db $08 ; asm + ld hl, Route19TrainerHeader5 + call TalkToTrainer + jp TextScriptEnd + +Route19Text7: ; 55e28 (15:5e28) + db $08 ; asm + ld hl, Route19TrainerHeader6 + call TalkToTrainer + jp TextScriptEnd + +Route19Text8: ; 55e32 (15:5e32) + db $08 ; asm + ld hl, Route19TrainerHeader7 + call TalkToTrainer + jp TextScriptEnd + +Route19Text9: ; 55e3c (15:5e3c) + db $08 ; asm + ld hl, Route19TrainerHeader8 + call TalkToTrainer + jp TextScriptEnd + +Route19Text10: ; 55e46 (15:5e46) + db $08 ; asm + ld hl, Route19TrainerHeader9 + call TalkToTrainer + jp TextScriptEnd + +Route19BattleText1: ; 55e50 (15:5e50) + TX_FAR _Route19BattleText1 + db "@" + +Route19EndBattleText1: ; 55e55 (15:5e55) + TX_FAR _Route19EndBattleText1 + db "@" + +Route19AfterBattleText1: ; 55e5a (15:5e5a) + TX_FAR _Route19AfterBattleText1 + db "@" + +Route19BattleText2: ; 55e5f (15:5e5f) + TX_FAR _Route19BattleText2 + db "@" + +Route19EndBattleText2: ; 55e64 (15:5e64) + TX_FAR _Route19EndBattleText2 + db "@" + +Route19AfterBattleText2: ; 55e69 (15:5e69) + TX_FAR _Route19AfterBattleText2 + db "@" + +Route19BattleText3: ; 55e6e (15:5e6e) + TX_FAR _Route19BattleText3 + db "@" + +Route19EndBattleText3: ; 55e73 (15:5e73) + TX_FAR _Route19EndBattleText3 + db "@" + +Route19AfterBattleText3: ; 55e78 (15:5e78) + TX_FAR _Route19AfterBattleText3 + db "@" + +Route19BattleText4: ; 55e7d (15:5e7d) + TX_FAR _Route19BattleText4 + db "@" + +Route19EndBattleText4: ; 55e82 (15:5e82) + TX_FAR _Route19EndBattleText4 + db "@" + +Route19AfterBattleText4: ; 55e87 (15:5e87) + TX_FAR _Route19AfterBattleText4 + db "@" + +Route19BattleText5: ; 55e8c (15:5e8c) + TX_FAR _Route19BattleText5 + db "@" + +Route19EndBattleText5: ; 55e91 (15:5e91) + TX_FAR _Route19EndBattleText5 + db "@" + +Route19AfterBattleText5: ; 55e96 (15:5e96) + TX_FAR _Route19AfterBattleText5 + db "@" + +Route19BattleText6: ; 55e9b (15:5e9b) + TX_FAR _Route19BattleText6 + db "@" + +Route19EndBattleText6: ; 55ea0 (15:5ea0) + TX_FAR _Route19EndBattleText6 + db "@" + +Route19AfterBattleText6: ; 55ea5 (15:5ea5) + TX_FAR _Route19AfterBattleText6 + db "@" + +Route19BattleText7: ; 55eaa (15:5eaa) + TX_FAR _Route19BattleText7 + db "@" + +Route19EndBattleText7: ; 55eaf (15:5eaf) + TX_FAR _Route19EndBattleText7 + db "@" + +Route19AfterBattleText7: ; 55eb4 (15:5eb4) + TX_FAR _Route19AfterBattleText7 + db "@" + +Route19BattleText8: ; 55eb9 (15:5eb9) + TX_FAR _Route19BattleText8 + db "@" + +Route19EndBattleText8: ; 55ebe (15:5ebe) + TX_FAR _Route19EndBattleText8 + db "@" + +Route19AfterBattleText8: ; 55ec3 (15:5ec3) + TX_FAR _Route19AfterBattleText8 + db "@" + +Route19BattleText9: ; 55ec8 (15:5ec8) + TX_FAR _Route19BattleText9 + db "@" + +Route19EndBattleText9: ; 55ecd (15:5ecd) + TX_FAR _Route19EndBattleText9 + db "@" + +Route19AfterBattleText9: ; 55ed2 (15:5ed2) + TX_FAR _Route19AfterBattleText9 + db "@" + +Route19BattleText10: ; 55ed7 (15:5ed7) + TX_FAR _Route19BattleText10 + db "@" + +Route19EndBattleText10: ; 55edc (15:5edc) + TX_FAR _Route19EndBattleText10 + db "@" + +Route19AfterBattleText10: ; 55ee1 (15:5ee1) + TX_FAR _Route19AfterBattleText10 + db "@" + +Route19Text11: ; 55ee6 (15:5ee6) + TX_FAR _Route19Text11 + db "@" diff --git a/scripts/route2.asm b/scripts/route2.asm new file mode 100755 index 00000000..fdc5eb6c --- /dev/null +++ b/scripts/route2.asm @@ -0,0 +1,16 @@ +Route2Script: ; 554e3 (15:54e3) + jp EnableAutoTextBoxDrawing + +Route2TextPointers: ; 554e6 (15:54e6) + dw Predef5CText + dw Predef5CText + dw Route2Text3 + dw Route2Text4 + +Route2Text3: ; 554ee (15:54ee) + TX_FAR _Route2Text3 + db "@" + +Route2Text4: ; 554f3 (15:54f3) + TX_FAR _Route2Text4 + db "@" diff --git a/scripts/route20.asm b/scripts/route20.asm new file mode 100755 index 00000000..2d5f3077 --- /dev/null +++ b/scripts/route20.asm @@ -0,0 +1,356 @@ +Route20Script: ; 50ca9 (14:4ca9) + ld hl, $d7e7 + bit 0, [hl] + res 0, [hl] + call nz, Route20Script_50cc6 + call EnableAutoTextBoxDrawing + ld hl, Route20TrainerHeader0 ; $4d3a + ld de, Route20ScriptPointers + ld a, [W_ROUTE20CURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_ROUTE20CURSCRIPT], a + ret + +Route20Script_50cc6: ; 50cc6 (14:4cc6) + ld a, [$d880] + and $3 + cp $3 + jr z, .asm_50cef + ld a, $d7 + call Route20Script_50d0c + ld a, $d8 + call Route20Script_50d0c + ld hl, .MissableObjectIDs ; $4ce8 +.asm_50cdc + ld a, [hli] + cp $ff + jr z, .asm_50cef + push hl + call Route20Script_50d14 + pop hl + jr .asm_50cdc + +.MissableObjectIDs: ; 50ce8 (14:4ce8) + db $D9,$DA,$DB,$DC,$DF,$E0,$FF + +.asm_50cef + ld a, [$d881] + and $3 + cp $3 + ret z + ld a, $dd + call Route20Script_50d0c + ld a, $de + call Route20Script_50d0c + ld a, $e1 + call Route20Script_50d14 + ld a, $e2 + call Route20Script_50d14 + ret + +Route20Script_50d0c: ; 50d0c (14:4d0c) + ld [$cc4d], a + ld a, $15 + jp Predef ; indirect jump to AddMissableObject (f1c8 (3:71c8)) + +Route20Script_50d14: ; 50d14 (14:4d14) + ld [$cc4d], a + ld a, $11 + jp Predef ; indirect jump to RemoveMissableObject (f1d7 (3:71d7)) + +Route20ScriptPointers: ; 50d1c (14:4d1c) + dw CheckFightingMapTrainers + dw Func_324c + dw EndTrainerBattle + +Route20TextPointers: ; 50d22 (14:4d22) + dw Route20Text1 + dw Route20Text2 + dw Route20Text3 + dw Route20Text4 + dw Route20Text5 + dw Route20Text6 + dw Route20Text7 + dw Route20Text8 + dw Route20Text9 + dw Route20Text10 + dw Route20Text11 + dw Route20Text12 + +Route20TrainerHeaders: ; 50d3a (14:4d3a) +Route20TrainerHeader0: ; 50d3a (14:4d3a) + db $1 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7e7 ; flag's byte + dw Route20BattleText1 ; 0x4e17 TextBeforeBattle + dw Route20AfterBattleText1 ; 0x4e21 TextAfterBattle + dw Route20EndBattleText1 ; 0x4e1c TextEndBattle + dw Route20EndBattleText1 ; 0x4e1c TextEndBattle + +Route20TrainerHeader2: ; 50d46 (14:4d46) + db $2 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7e7 ; flag's byte + dw Route20BattleText2 ; 0x4e26 TextBeforeBattle + dw Route20AfterBattleText2 ; 0x4e30 TextAfterBattle + dw Route20EndBattleText2 ; 0x4e2b TextEndBattle + dw Route20EndBattleText2 ; 0x4e2b TextEndBattle + +Route20TrainerHeader3: ; 50d52 (14:4d52) + db $3 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7e7 ; flag's byte + dw Route20BattleText3 ; 0x4e35 TextBeforeBattle + dw Route20AfterBattleText3 ; 0x4e3f TextAfterBattle + dw Route20EndBattleText3 ; 0x4e3a TextEndBattle + dw Route20EndBattleText3 ; 0x4e3a TextEndBattle + +Route20TrainerHeader4: ; 50d5e (14:4d5e) + db $4 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7e7 ; flag's byte + dw Route20BattleText4 ; 0x4e44 TextBeforeBattle + dw Route20AfterBattleText4 ; 0x4e4e TextAfterBattle + dw Route20EndBattleText4 ; 0x4e49 TextEndBattle + dw Route20EndBattleText4 ; 0x4e49 TextEndBattle + +Route20TrainerHeader5: ; 50d6a (14:4d6a) + db $5 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7e7 ; flag's byte + dw Route20BattleText5 ; 0x4e53 TextBeforeBattle + dw Route20AfterBattleText5 ; 0x4e5d TextAfterBattle + dw Route20EndBattleText5 ; 0x4e58 TextEndBattle + dw Route20EndBattleText5 ; 0x4e58 TextEndBattle + +Route20TrainerHeader6: ; 50d76 (14:4d76) + db $6 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7e7 ; flag's byte + dw Route20BattleText6 ; 0x4e62 TextBeforeBattle + dw Route20AfterBattleText6 ; 0x4e6c TextAfterBattle + dw Route20EndBattleText6 ; 0x4e67 TextEndBattle + dw Route20EndBattleText6 ; 0x4e67 TextEndBattle + +Route20TrainerHeader7: ; 50d82 (14:4d82) + db $7 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7e7 ; flag's byte + dw Route20BattleText7 ; 0x4e71 TextBeforeBattle + dw Route20AfterBattleText7 ; 0x4e7b TextAfterBattle + dw Route20EndBattleText7 ; 0x4e76 TextEndBattle + dw Route20EndBattleText7 ; 0x4e76 TextEndBattle + +Route20TrainerHeader8: ; 50d8e (14:4d8e) + db $8 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7e7 ; flag's byte + dw Route20BattleText8 ; 0x4e80 TextBeforeBattle + dw Route20AfterBattleText8 ; 0x4e8a TextAfterBattle + dw Route20EndBattleText8 ; 0x4e85 TextEndBattle + dw Route20EndBattleText8 ; 0x4e85 TextEndBattle + +Route20TrainerHeader9: ; 50d9a (14:4d9a) + db $9 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7e7 ; flag's byte + dw Route20BattleText9 ; 0x4e8f TextBeforeBattle + dw Route20AfterBattleText9 ; 0x4e99 TextAfterBattle + dw Route20EndBattleText9 ; 0x4e94 TextEndBattle + dw Route20EndBattleText9 ; 0x4e94 TextEndBattle + +Route20TrainerHeader10: ; 50da6 (14:4da6) + db $a ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7e7 ; flag's byte + dw Route20BattleText10 ; 0x4e9e TextBeforeBattle + dw Route20AfterBattleText10 ; 0x4ea8 TextAfterBattle + dw Route20EndBattleText10 ; 0x4ea3 TextEndBattle + dw Route20EndBattleText10 ; 0x4ea3 TextEndBattle + + db $ff + +Route20Text1: ; 50db3 (14:4db3) + db $08 ; asm + ld hl, Route20TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +Route20Text2: ; 50dbd (14:4dbd) + db $08 ; asm + ld hl, Route20TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +Route20Text3: ; 50dc7 (14:4dc7) + db $08 ; asm + ld hl, Route20TrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +Route20Text4: ; 50dd1 (14:4dd1) + db $08 ; asm + ld hl, Route20TrainerHeader4 + call TalkToTrainer + jp TextScriptEnd + +Route20Text5: ; 50ddb (14:4ddb) + db $08 ; asm + ld hl, Route20TrainerHeader5 + call TalkToTrainer + jp TextScriptEnd + +Route20Text6: ; 50de5 (14:4de5) + db $08 ; asm + ld hl, Route20TrainerHeader6 + call TalkToTrainer + jp TextScriptEnd + +Route20Text7: ; 50def (14:4def) + db $08 ; asm + ld hl, Route20TrainerHeader7 + call TalkToTrainer + jp TextScriptEnd + +Route20Text8: ; 50df9 (14:4df9) + db $08 ; asm + ld hl, Route20TrainerHeader8 + call TalkToTrainer + jp TextScriptEnd + +Route20Text9: ; 50e03 (14:4e03) + db $08 ; asm + ld hl, Route20TrainerHeader9 + call TalkToTrainer + jp TextScriptEnd + +Route20Text10: ; 50e0d (14:4e0d) + db $08 ; asm + ld hl, Route20TrainerHeader10 + call TalkToTrainer + jp TextScriptEnd + +Route20BattleText1: ; 50e17 (14:4e17) + TX_FAR _Route20BattleText1 + db "@" + +Route20EndBattleText1: ; 50e1c (14:4e1c) + TX_FAR _Route20EndBattleText1 + db "@" + +Route20AfterBattleText1: ; 50e21 (14:4e21) + TX_FAR _Route20AfterBattleText1 + db "@" + +Route20BattleText2: ; 50e26 (14:4e26) + TX_FAR _Route20BattleText2 + db "@" + +Route20EndBattleText2: ; 50e2b (14:4e2b) + TX_FAR _Route20EndBattleText2 + db "@" + +Route20AfterBattleText2: ; 50e30 (14:4e30) + TX_FAR _Route20AfterBattleText2 + db "@" + +Route20BattleText3: ; 50e35 (14:4e35) + TX_FAR _Route20BattleText3 + db "@" + +Route20EndBattleText3: ; 50e3a (14:4e3a) + TX_FAR _Route20EndBattleText3 + db "@" + +Route20AfterBattleText3: ; 50e3f (14:4e3f) + TX_FAR _Route20AfterBattleText3 + db "@" + +Route20BattleText4: ; 50e44 (14:4e44) + TX_FAR _Route20BattleText4 + db "@" + +Route20EndBattleText4: ; 50e49 (14:4e49) + TX_FAR _Route20EndBattleText4 + db "@" + +Route20AfterBattleText4: ; 50e4e (14:4e4e) + TX_FAR _Route20AfterBattleText4 + db "@" + +Route20BattleText5: ; 50e53 (14:4e53) + TX_FAR _Route20BattleText5 + db "@" + +Route20EndBattleText5: ; 50e58 (14:4e58) + TX_FAR _Route20EndBattleText5 + db "@" + +Route20AfterBattleText5: ; 50e5d (14:4e5d) + TX_FAR _Route20AfterBattleText5 + db "@" + +Route20BattleText6: ; 50e62 (14:4e62) + TX_FAR _Route20BattleText6 + db "@" + +Route20EndBattleText6: ; 50e67 (14:4e67) + TX_FAR _Route20EndBattleText6 + db "@" + +Route20AfterBattleText6: ; 50e6c (14:4e6c) + TX_FAR _Route20AfterBattleText6 + db "@" + +Route20BattleText7: ; 50e71 (14:4e71) + TX_FAR _Route20BattleText7 + db "@" + +Route20EndBattleText7: ; 50e76 (14:4e76) + TX_FAR _Route20EndBattleText7 + db "@" + +Route20AfterBattleText7: ; 50e7b (14:4e7b) + TX_FAR _Route20AfterBattleText7 + db "@" + +Route20BattleText8: ; 50e80 (14:4e80) + TX_FAR _Route20BattleText8 + db "@" + +Route20EndBattleText8: ; 50e85 (14:4e85) + TX_FAR _Route20EndBattleText8 + db "@" + +Route20AfterBattleText8: ; 50e8a (14:4e8a) + TX_FAR _Route20AfterBattleText8 + db "@" + +Route20BattleText9: ; 50e8f (14:4e8f) + TX_FAR _Route20BattleText9 + db "@" + +Route20EndBattleText9: ; 50e94 (14:4e94) + TX_FAR _Route20EndBattleText9 + db "@" + +Route20AfterBattleText9: ; 50e99 (14:4e99) + TX_FAR _Route20AfterBattleText9 + db "@" + +Route20BattleText10: ; 50e9e (14:4e9e) + TX_FAR _Route20BattleText10 + db "@" + +Route20EndBattleText10: ; 50ea3 (14:4ea3) + TX_FAR _Route20EndBattleText10 + db "@" + +Route20AfterBattleText10: ; 50ea8 (14:4ea8) + TX_FAR _Route20AfterBattleText10 + db "@" + +Route20Text12: ; 50ead (14:4ead) +Route20Text11: ; 50ead (14:4ead) + TX_FAR _Route20Text11 + db "@" diff --git a/scripts/route21.asm b/scripts/route21.asm new file mode 100755 index 00000000..2332d2c8 --- /dev/null +++ b/scripts/route21.asm @@ -0,0 +1,270 @@ +Route21Script: ; 55eeb (15:5eeb) + call EnableAutoTextBoxDrawing + ld hl, Route21TrainerHeaders + ld de, Route21ScriptPointers + ld a, [W_ROUTE21CURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_ROUTE21CURSCRIPT], a + ret + +Route21ScriptPointers: ; 55efe (15:5efe) + dw CheckFightingMapTrainers + dw Func_324c + dw EndTrainerBattle + +Route21TextPointers: ; 55f04 (15:5f04) + dw Route21Text1 + dw Route21Text2 + dw Route21Text3 + dw Route21Text4 + dw Route21Text5 + dw Route21Text6 + dw Route21Text7 + dw Route21Text8 + dw Route21Text9 + +Route21TrainerHeaders: ; 55f16 (15:5f16) +Route21TrainerHeader0: ; 55f16 (15:5f16) + db $1 ; flag's bit + db ($0 << 4) ; trainer's view range + dw $d7e9 ; flag's byte + dw Route21BattleText1 ; 0x5fdd TextBeforeBattle + dw Route21AfterBattleText1 ; 0x5fe7 TextAfterBattle + dw Route21EndBattleText1 ; 0x5fe2 TextEndBattle + dw Route21EndBattleText1 ; 0x5fe2 TextEndBattle + +Route21TrainerHeader1: ; 55f22 (15:5f22) + db $2 ; flag's bit + db ($0 << 4) ; trainer's view range + dw $d7e9 ; flag's byte + dw Route21BattleText2 ; 0x5fec TextBeforeBattle + dw Route21AfterBattleText2 ; 0x5ff6 TextAfterBattle + dw Route21EndBattleText2 ; 0x5ff1 TextEndBattle + dw Route21EndBattleText2 ; 0x5ff1 TextEndBattle + +Route21TrainerHeader2: ; 55f2e (15:5f2e) + db $3 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7e9 ; flag's byte + dw Route21BattleText3 ; 0x5ffb TextBeforeBattle + dw Route21AfterBattleText3 ; 0x6005 TextAfterBattle + dw Route21EndBattleText3 ; 0x6000 TextEndBattle + dw Route21EndBattleText3 ; 0x6000 TextEndBattle + +Route21TrainerHeader3: ; 55f3a (15:5f3a) + db $4 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7e9 ; flag's byte + dw Route21BattleText4 ; 0x600a TextBeforeBattle + dw Route21AfterBattleText4 ; 0x6014 TextAfterBattle + dw Route21EndBattleText4 ; 0x600f TextEndBattle + dw Route21EndBattleText4 ; 0x600f TextEndBattle + +Route21TrainerHeader4: ; 55f46 (15:5f46) + db $5 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7e9 ; flag's byte + dw Route21BattleText5 ; 0x6019 TextBeforeBattle + dw Route21AfterBattleText5 ; 0x6023 TextAfterBattle + dw Route21EndBattleText5 ; 0x601e TextEndBattle + dw Route21EndBattleText5 ; 0x601e TextEndBattle + +Route21TrainerHeader5: ; 55f52 (15:5f52) + db $6 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7e9 ; flag's byte + dw Route21BattleText6 ; 0x6028 TextBeforeBattle + dw Route21AfterBattleText6 ; 0x6032 TextAfterBattle + dw Route21EndBattleText6 ; 0x602d TextEndBattle + dw Route21EndBattleText6 ; 0x602d TextEndBattle + +Route21TrainerHeader6: ; 55f5e (15:5f5e) + db $7 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7e9 ; flag's byte + dw Route21BattleText7 ; 0x6037 TextBeforeBattle + dw Route21AfterBattleText7 ; 0x6041 TextAfterBattle + dw Route21EndBattleText7 ; 0x603c TextEndBattle + dw Route21EndBattleText7 ; 0x603c TextEndBattle + +Route21TrainerHeader7: ; 55f6a (15:5f6a) + db $8 ; flag's bit + db ($0 << 4) ; trainer's view range + dw $d7e9 ; flag's byte + dw Route21BattleText8 ; 0x6046 TextBeforeBattle + dw Route21AfterBattleText8 ; 0x6050 TextAfterBattle + dw Route21EndBattleText8 ; 0x604b TextEndBattle + dw Route21EndBattleText8 ; 0x604b TextEndBattle + +Route21TrainerHeader8: ; 55f76 (15:5f76) + db $9 ; flag's bit + db ($0 << 4) ; trainer's view range + dw $d7e9 ; flag's byte + dw Route21BattleText9 ; 0x6055 TextBeforeBattle + dw Route21AfterBattleText9 ; 0x605f TextAfterBattle + dw Route21EndBattleText9 ; 0x605a TextEndBattle + dw Route21EndBattleText9 ; 0x605a TextEndBattle + + db $ff + +Route21Text1: ; 55f83 (15:5f83) + db $08 ; asm + ld hl, Route21TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +Route21Text2: ; 55f8d (15:5f8d) + db $08 ; asm + ld hl, Route21TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +Route21Text3: ; 55f97 (15:5f97) + db $08 ; asm + ld hl, Route21TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +Route21Text4: ; 55fa1 (15:5fa1) + db $08 ; asm + ld hl, Route21TrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +Route21Text5: ; 55fab (15:5fab) + db $08 ; asm + ld hl, Route21TrainerHeader4 + call TalkToTrainer + jp TextScriptEnd + +Route21Text6: ; 55fb5 (15:5fb5) + db $08 ; asm + ld hl, Route21TrainerHeader5 + call TalkToTrainer + jp TextScriptEnd + +Route21Text7: ; 55fbf (15:5fbf) + db $08 ; asm + ld hl, Route21TrainerHeader6 + call TalkToTrainer + jp TextScriptEnd + +Route21Text8: ; 55fc9 (15:5fc9) + db $08 ; asm + ld hl, Route21TrainerHeader7 + call TalkToTrainer + jp TextScriptEnd + +Route21Text9: ; 55fd3 (15:5fd3) + db $08 ; asm + ld hl, Route21TrainerHeader8 + call TalkToTrainer + jp TextScriptEnd + +Route21BattleText1: ; 55fdd (15:5fdd) + TX_FAR _Route21BattleText1 + db "@" + +Route21EndBattleText1: ; 55fe2 (15:5fe2) + TX_FAR _Route21EndBattleText1 + db "@" + +Route21AfterBattleText1: ; 55fe7 (15:5fe7) + TX_FAR _Route21AfterBattleText1 + db "@" + +Route21BattleText2: ; 55fec (15:5fec) + TX_FAR _Route21BattleText2 + db "@" + +Route21EndBattleText2: ; 55ff1 (15:5ff1) + TX_FAR _Route21EndBattleText2 + db "@" + +Route21AfterBattleText2: ; 55ff6 (15:5ff6) + TX_FAR _Route21AfterBattleText2 + db "@" + +Route21BattleText3: ; 55ffb (15:5ffb) + TX_FAR _Route21BattleText3 + db "@" + +Route21EndBattleText3: ; 56000 (15:6000) + TX_FAR _Route21EndBattleText3 + db "@" + +Route21AfterBattleText3: ; 56005 (15:6005) + TX_FAR _Route21AfterBattleText3 + db "@" + +Route21BattleText4: ; 5600a (15:600a) + TX_FAR _Route21BattleText4 + db "@" + +Route21EndBattleText4: ; 5600f (15:600f) + TX_FAR _Route21EndBattleText4 + db "@" + +Route21AfterBattleText4: ; 56014 (15:6014) + TX_FAR _Route21AfterBattleText4 + db "@" + +Route21BattleText5: ; 56019 (15:6019) + TX_FAR _Route21BattleText5 + db "@" + +Route21EndBattleText5: ; 5601e (15:601e) + TX_FAR _Route21EndBattleText5 + db "@" + +Route21AfterBattleText5: ; 56023 (15:6023) + TX_FAR _Route21AfterBattleText5 + db "@" + +Route21BattleText6: ; 56028 (15:6028) + TX_FAR _Route21BattleText6 + db "@" + +Route21EndBattleText6: ; 5602d (15:602d) + TX_FAR _Route21EndBattleText6 + db "@" + +Route21AfterBattleText6: ; 56032 (15:6032) + TX_FAR _Route21AfterBattleText6 + db "@" + +Route21BattleText7: ; 56037 (15:6037) + TX_FAR _Route21BattleText7 + db "@" + +Route21EndBattleText7: ; 5603c (15:603c) + TX_FAR _Route21EndBattleText7 + db "@" + +Route21AfterBattleText7: ; 56041 (15:6041) + TX_FAR _Route21AfterBattleText7 + db "@" + +Route21BattleText8: ; 56046 (15:6046) + TX_FAR _Route21BattleText8 + db "@" + +Route21EndBattleText8: ; 5604b (15:604b) + TX_FAR _Route21EndBattleText8 + db "@" + +Route21AfterBattleText8: ; 56050 (15:6050) + TX_FAR _Route21AfterBattleText8 + db "@" + +Route21BattleText9: ; 56055 (15:6055) + TX_FAR _Route21BattleText9 + db "@" + +Route21EndBattleText9: ; 5605a (15:605a) + TX_FAR _Route21EndBattleText9 + db "@" + +Route21AfterBattleText9: ; 5605f (15:605f) + TX_FAR _Route21AfterBattleText9 + db "@" diff --git a/scripts/route22.asm b/scripts/route22.asm new file mode 100755 index 00000000..b9801600 --- /dev/null +++ b/scripts/route22.asm @@ -0,0 +1,440 @@ +Route22Script: ; 50eb2 (14:4eb2) + call EnableAutoTextBoxDrawing + ld hl, Route22ScriptPointers + ld a, [W_ROUTE22CURSCRIPT] + jp CallFunctionInTable + +Route22ScriptPointers: ; 50ebe (14:4ebe) + dw Route22Script0 + dw Route22Script1 + dw Route22Script2 + dw Route22Script3 + dw Route22Script4 + dw Route22Script5 + dw Route22Script6 + dw Route22Script7 + +Route22Script_50ece: ; 50ece (14:4ece) + xor a + ld [wJoypadForbiddenButtonsMask], a + ld [W_ROUTE22CURSCRIPT], a +Route22Script7: ; 50ed5 (14:4ed5) + ret + +Route22Script_50ed6: ; 50ed6 (14:4ed6) + ld a, [W_RIVALSTARTER] ; $d715 + ld b, a +.asm_50eda + ld a, [hli] + cp b + jr z, .asm_50ee1 + inc hl + jr .asm_50eda +.asm_50ee1 + ld a, [hl] + ld [W_TRAINERNO], a ; $d05d + ret + +Route22Script_50ee6: ; 50ee6 (14:4ee6) + ld de, MovementData_50efb ; $4efb + ld a, [$cf0d] + cp $1 + jr z, .asm_50ef1 + inc de +.asm_50ef1 + call MoveSprite + ld a, $c + ld [$ff8d], a + jp Func_34a6 + +MovementData_50efb: ; 50efb (14:4efb) + db $C0,$C0,$C0,$C0,$FF + +Route22Script0: ; 50f00 (14:4f00) + ld a, [$d7eb] + bit 7, a + ret z + ld hl, .CoordsData_50f2d ; $4f2d + call ArePlayerCoordsInArray + ret nc + ld a, [$cd3d] + ld [$cf0d], a + xor a + ld [H_CURRENTPRESSEDBUTTONS], a + ld a, $f0 + ld [wJoypadForbiddenButtonsMask], a + ld a, $2 + ld [$d528], a + ld a, [$d7eb] + bit 0, a + jr nz, .asm_50f32 ; 0x50f25 $b + bit 1, a + jp nz, Route22Script_5104e + ret + +.CoordsData_50f2d + db $04, $1D + db $05, $1D + db $FF + +.asm_50f32 + ld a, $1 + ld [$cd4f], a + xor a + ld [$cd50], a + ld a, $4c + call Predef + ld a, [$d700] + and a + jr z, .asm_50f4e ; 0x50f44 $8 + ld a, $ff + ld [$c0ee], a + call PlaySound +.asm_50f4e + ld c, BANK(Music_MeetRival) + ld a, MUSIC_MEET_RIVAL + call PlayMusic + ld a, $1 + ld [$ff8c], a + call Route22Script_50ee6 + ld a, $1 + ld [W_ROUTE22CURSCRIPT], a + ret + +Route22Script1: ; 50f62 (14:4f62) + ld a, [$d730] + bit 0, a + ret nz + ld a, [$cf0d] + cp $1 + jr nz, .asm_50f78 ; 0x50f6d $9 + ld a, $4 + ld [$d528], a + ld a, $4 + jr .asm_50f7a ; 0x50f76 $2 +.asm_50f78 + ld a, $c +.asm_50f7a + ld [$ff8d], a + ld a, $1 + ld [$ff8c], a + call Func_34a6 + xor a + ld [wJoypadForbiddenButtonsMask], a + ld a, $1 + ld [$ff8c], a + call DisplayTextID + ld hl, $d72d + set 6, [hl] + set 7, [hl] + ld hl, Route22Text_511b7 + ld de, Route22Text_511bc + call PreBattleSaveRegisters + ld a, SONY1 + $c8 + ld [W_CUROPPONENT], a + ld hl, StarterMons_50faf ; $4faf + call Route22Script_50ed6 + ld a, $2 + ld [W_ROUTE22CURSCRIPT], a + ret + +StarterMons_50faf: ; 50faf (14:4faf) + db SQUIRTLE,$04 + db BULBASAUR,$05 + db CHARMANDER,$06 + +Route22Script2: ; 50fb5 (14:4fb5) + ld a, [$d057] + cp $ff + jp z, Route22Script_50ece + ld a, [$c109] + and a + jr nz, .asm_50fc7 ; 0x50fc1 $4 + ld a, $4 + jr .asm_50fc9 ; 0x50fc5 $2 +.asm_50fc7 + ld a, $c +.asm_50fc9 + ld [$ff8d], a + ld a, $1 + ld [$ff8c], a + call Func_34a6 + ld a, $f0 + ld [wJoypadForbiddenButtonsMask], a + ld hl, $d7eb + set 5, [hl] + ld a, $1 + ld [$ff8c], a + call DisplayTextID + ld a, $ff + ld [$c0ee], a + call PlaySound + ld b, BANK(Music_RivalAlternateStart) + ld hl, Music_RivalAlternateStart + call Bankswitch + ld a, [$cf0d] + cp $1 + jr nz, .asm_50fff ; 0x50ff8 $5 + call Route22Script_51008 + jr .asm_51002 ; 0x50ffd $3 +.asm_50fff + call Route22Script_5100d +.asm_51002 + ld a, $3 + ld [W_ROUTE22CURSCRIPT], a + ret + +Route22Script_51008: ; 51008 (14:5008) + ld de, MovementData_51017 ; $5017 + jr asm_51010 + +Route22Script_5100d: ; 5100d (14:500d) + ld de, MovementData_5101f ; $501f +asm_51010 + ld a, $1 + ld [H_SPRITEHEIGHT], a + jp MoveSprite + +MovementData_51017: ; 51017 (14:5017) + db $C0,$C0,$00,$00,$00,$00,$00,$FF + +MovementData_5101f: ; 5101f (14:501f) + db $40,$C0,$C0,$C0,$00,$00,$00,$00,$00,$00,$FF + +Route22Script3: ; 5102a (14:502a) + ld a, [$d730] + bit 0, a + ret nz + xor a + ld [wJoypadForbiddenButtonsMask], a + ld a, $22 + ld [$cc4d], a + ld a, $11 + call Predef + call Func_2307 + ld hl, $d7eb + res 0, [hl] + res 7, [hl] + ld a, $0 + ld [W_ROUTE22CURSCRIPT], a + ret + +Route22Script_5104e: ; 5104e (14:504e) + ld a, $2 + ld [$cd4f], a + xor a + ld [$cd50], a + ld a, $4c + call Predef ; indirect jump to PrintEmotionBubble (17c47 (5:7c47)) + ld a, [$d700] + and a + jr z, .skipYVisibilityTesta + ld a, $ff + ld [$c0ee], a + call PlaySound +.skipYVisibilityTesta + ld a, $ff + ld [$c0ee], a + call PlaySound + ld b, BANK(Music_RivalAlternateTempo) + ld hl, Music_RivalAlternateTempo + call Bankswitch + ld a, $2 + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + call Route22Script_50ee6 + ld a, $4 + ld [W_ROUTE22CURSCRIPT], a + ret + +Route22Script4: ; 51087 (14:5087) + ld a, [$d730] + bit 0, a + ret nz + ld a, $2 + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld a, [$cf0d] + cp $1 + jr nz, .asm_510a1 + ld a, $4 + ld [$d528], a + ld a, $4 + jr .asm_510a8 +.asm_510a1 + ld a, $2 + ld [$d528], a + ld a, $c +.asm_510a8 + ld [$ff8d], a + call Func_34a6 + xor a + ld [wJoypadForbiddenButtonsMask], a + ld a, $2 + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + call DisplayTextID + ld hl, $d72d + set 6, [hl] + set 7, [hl] + ld hl, Route22Text_511cb ; $51cb + ld de, Route22Text_511d0 ; $51d0 + call PreBattleSaveRegisters + ld a, SONY2 + $c8 + ld [W_CUROPPONENT], a ; $d059 + ld hl, StarterMons_510d9 ; $50d9 + call Route22Script_50ed6 + ld a, $5 + ld [W_ROUTE22CURSCRIPT], a + ret + +StarterMons_510d9: ; 510d9 (14:50d9) + db SQUIRTLE,$0a + db BULBASAUR,$0b + db CHARMANDER,$0c + +Route22Script5: ; 510df (14:50df) + ld a, [W_ISINBATTLE] ; $d057 + cp $ff + jp z, Route22Script_50ece + ld a, $2 + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld a, [$cf0d] + cp $1 + jr nz, .asm_510fb + ld a, $4 + ld [$d528], a + ld a, $4 + jr .asm_51102 +.asm_510fb + ld a, $2 + ld [$d528], a + ld a, $c +.asm_51102 + ld [$ff8d], a + call Func_34a6 + ld a, $f0 + ld [wJoypadForbiddenButtonsMask], a + ld hl, $d7eb + set 6, [hl] + ld a, $2 + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + call DisplayTextID + ld a, $ff + ld [$c0ee], a + call PlaySound + ld b, BANK(Music_RivalAlternateStartAndTempo) + ld hl, Music_RivalAlternateStartAndTempo + call Bankswitch + ld a, [$cf0d] + cp $1 + jr nz, .asm_51134 + call Route22Script_5113d + jr .asm_51137 +.asm_51134 + call Route22Script_51142 +.asm_51137 + ld a, $6 + ld [W_ROUTE22CURSCRIPT], a + ret + +Route22Script_5113d: ; 5113d (14:513d) + ld de, MovementData_5114c ; $514c + jr asm_51145 + +Route22Script_51142: ; 51142 (14:5142) + ld de, MovementData_5114d ; $514d +asm_51145: ; 51145 (14:5145) + ld a, $2 + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + jp MoveSprite + +MovementData_5114c: ; 5114c (14:514c) + db $80 + +MovementData_5114d: ; 5114d (14:514d) + db $80,$80,$80,$FF + +Route22Script6: ; 51151 (14:5151) + ld a, [$d730] + bit 0, a + ret nz + xor a + ld [wJoypadForbiddenButtonsMask], a + ld a, $23 + ld [$cc4d], a + ld a, $11 + call Predef ; indirect jump to RemoveMissableObject (f1d7 (3:71d7)) + call Func_2307 + ld hl, $d7eb + res 1, [hl] + res 7, [hl] + ld a, $7 + ld [W_ROUTE22CURSCRIPT], a + ret + +Route22TextPointers: ; 51175 (14:5175) + dw Route22Text1 + dw Route22Text2 + dw Route22Text3 + +Route22Text1: ; 5117b (14:517b) + db $08 ; asm + ld a, [$d7eb] + bit 5, a + jr z, .asm_a88cf ; 0x51181 + ld hl, Route22Text_511b2 + call PrintText + jr .asm_48088 ; 0x51189 +.asm_a88cf ; 0x5118b + ld hl, Route22Text_511ad + call PrintText +.asm_48088 ; 0x51191 + jp TextScriptEnd + +Route22Text2: ; 51194 (14:5194) + db $08 ; asm + ld a, [$d7eb] + bit 6, a + jr z, .asm_58c0a ; 0x5119a + ld hl, Route22Text_511c6 + call PrintText + jr .asm_673ee ; 0x511a2 +.asm_58c0a ; 0x511a4 + ld hl, Route22Text_511c1 + call PrintText +.asm_673ee ; 0x511aa + jp TextScriptEnd + +Route22Text_511ad: ; 511ad (14:51ad) + TX_FAR _Route22Text_511ad + db "@" + +Route22Text_511b2: ; 511b2 (14:51b2) + TX_FAR _Route22Text_511b2 + db "@" + +Route22Text_511b7: ; 511b7 (14:51b7) + TX_FAR _Route22Text_511b7 + db "@" + +Route22Text_511bc: ; 511bc (14:51bc) + TX_FAR _Route22Text_511bc + db "@" + +Route22Text_511c1: ; 511c1 (14:51c1) + TX_FAR _Route22Text_511c1 + db "@" + +Route22Text_511c6: ; 511c6 (14:51c6) + TX_FAR _Route22Text_511c6 + db "@" + +Route22Text_511cb: ; 511cb (14:51cb) + TX_FAR _Route22Text_511cb + db "@" + +Route22Text_511d0: ; 511d0 (14:51d0) + TX_FAR _Route22Text_511d0 + db "@" + +Route22Text3: ; 511d5 (14:51d5) + TX_FAR _Route22Text3 + db "@" diff --git a/scripts/route22gate.asm b/scripts/route22gate.asm new file mode 100755 index 00000000..4ce9e1d8 --- /dev/null +++ b/scripts/route22gate.asm @@ -0,0 +1,92 @@ +Route22GateScript: ; 1e683 (7:6683) + call EnableAutoTextBoxDrawing + ld hl, Route22GateScriptPointers + ld a, [W_ROUTE22GATECURSCRIPT] + call CallFunctionInTable + ld a, [W_YCOORD] + cp $4 + ld a, $22 + jr c, .asm_1e69a ; 0x1e696 $2 + ld a, $21 +.asm_1e69a + ld [$d365], a + ret + +Route22GateScriptPointers: ; 1e69e (7:669e) + dw Route22GateScript0 + dw Route22GateScript1 + dw Route22GateScript2 + +Route22GateScript0: ; 1e6a4 (7:66a4) + ld hl, Route22GateScriptCoords + call ArePlayerCoordsInArray + ret nc + xor a + ld [H_CURRENTPRESSEDBUTTONS], a + ld a, $1 + ld [$ff8c], a + jp DisplayTextID + +Route22GateScriptCoords: ; 1e6b5 (7:66b5) + db 2,4 + db 2,5 + db $ff + +Route22GateScript_1e6ba: ; 1e6ba (7:66ba) + ld a, $1 + ld [$cd38], a + ld a, $80 + ld [$ccd3], a + ld [$c109], a + ld [wJoypadForbiddenButtonsMask], a + jp Func_3486 + +Route22GateScript1: ; 1e6cd (7:66cd) + ld a, [$cd38] + and a + ret nz + xor a + ld [wJoypadForbiddenButtonsMask], a + call Delay3 + ld a, $0 + ld [W_ROUTE22GATECURSCRIPT], a +Route22GateScript2: ; 1e6de (7:66de) + ret + +Route22GateTextPointers: ; 1e6df (7:66df) + dw Route22GateText1 + +Route22GateText1: ; 1e6e1 (7:66e1) + db $8 + ld a, [W_OBTAINEDBADGES] + bit 0, a + jr nz, .asm_8a809 ; 0x1e6e7 $d + ld hl, Route22GateText_1e704 + call PrintText + call Route22GateScript_1e6ba + ld a, $1 + jr .asm_20f7e ; 0x1e6f4 $8 +.asm_8a809 ; 0x1e6f6 + ld hl, Route22GateText_1e71a + call PrintText + ld a, $2 +.asm_20f7e ; 0x1e6fe + ld [W_ROUTE22GATECURSCRIPT], a + jp TextScriptEnd + +Route22GateText_1e704: ; 1e704 (7:6704) + TX_FAR _Route22GateText_1e704 ; 0x8cfbb + db $8 + ld a, (SFX_02_51 - SFX_Headers_02) / 3 + call PlaySoundWaitForCurrent + call WaitForSoundToFinish + ld hl, Route22GateText_1e715 ; $6715 + ret + +Route22GateText_1e715: ; 1e715 (7:6715) + TX_FAR _Route22GateText_1e715 + db "@" + +Route22GateText_1e71a: ; 1e71a (7:671a) + TX_FAR _Route22GateText_1e71a ; 0x8d03e + db $0B, "@" diff --git a/scripts/route23.asm b/scripts/route23.asm new file mode 100755 index 00000000..aca5efb7 --- /dev/null +++ b/scripts/route23.asm @@ -0,0 +1,245 @@ +Route23Script: ; 511da (14:51da) + call Route23Script_511e9 + call EnableAutoTextBoxDrawing + ld hl, Route23ScriptPointers + ld a, [W_ROUTE23CURSCRIPT] + jp CallFunctionInTable + +Route23Script_511e9: ; 511e9 (14:51e9) + ld hl, $d126 + bit 6, [hl] + res 6, [hl] + ret z + ld hl, $d7ee + res 0, [hl] + res 7, [hl] + ld hl, $d813 + res 0, [hl] + res 6, [hl] + ld a, $7a + ld [$cc4d], a + ld a, $15 + call Predef ; indirect jump to AddMissableObject (f1c8 (3:71c8)) + ld a, $60 + ld [$cc4d], a + ld a, $11 + jp Predef ; indirect jump to RemoveMissableObject (f1d7 (3:71d7)) + +Route23ScriptPointers: ; 51213 (14:5213) + dw Route23Script0 + dw Route23Script1 + dw Route23Script2 + +Route23Script0: ; 51219 (14:5219) + ld hl, YCoordsData_51255 ; $5255 + ld a, [W_YCOORD] + ld b, a + ld e, $0 + ld c, $7 +.asm_51224 + ld a, [hli] + cp $ff + ret z + inc e + dec c + cp b + jr nz, .asm_51224 ; 0x5122b $f7 + cp $23 + jr nz, .asm_51237 ; 0x5122f $6 + ld a, [W_XCOORD] + cp $e + ret nc +.asm_51237 + ld a, e + ld [$ff8c], a + ld a, c + ld [$cd3d], a + ld b, $2 + ld hl, $d7ed + ld a, $10 + call Predef + ld a, c + and a + ret nz + call Route23Script_5125d + call DisplayTextID + xor a + ld [H_CURRENTPRESSEDBUTTONS], a + ret + +YCoordsData_51255: ; 51255 (14:5255) + db $23,$38,$55,$60,$69,$77,$88,$FF + +Route23Script_5125d: ; 5125d (14:525d) + ld hl, BadgeTextPointers ; $5276 + ld a, [wWhichTrade] ; $cd3d + ld c, a + ld b, $0 + add hl, bc + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + ld de, $cd6d +.asm_5126e + ld a, [hli] + ld [de], a + inc de + cp $50 + jr nz, .asm_5126e + ret + +BadgeTextPointers: ; 51276 (14:5276) + dw CascadeBadgeText + dw ThunderBadgeText + dw RainbowBadgeText + dw SoulBadgeText + dw MarshBadgeText + dw VolcanoBadgeText + dw EarthBadgeText + +EarthBadgeText: ; 51284 (14:5284) + db "EARTHBADGE@" + +VolcanoBadgeText: ; 5128f (14:528f) + db "VOLCANOBADGE@" + +MarshBadgeText: ; 5129c (14:529c) + db "MARSHBADGE@" + +SoulBadgeText: ; 512a7 (14:52a7) + db "SOULBADGE@" + +RainbowBadgeText: ; 512b1 (14:52b1) + db "RAINBOWBADGE@" + +ThunderBadgeText: ; 512be (14:52be) + db "THUNDERBADGE@" + +CascadeBadgeText: ; 512cb (14:52cb) + db "CASCADEBADGE@" + +Route23Script_512d8: ; 512d8 (14:52d8) + ld a, $1 + ld [$cd38], a + ld a, $80 + ld [$ccd3], a + xor a + ld [$c109], a + ld [wJoypadForbiddenButtonsMask], a + jp Func_3486 + +Route23Script1: ; 512ec (14:52ec) + ld a, [$cd38] + and a + ret nz +Route23Script2: ; 512f1 (14:52f1) + ld a, $0 + ld [W_ROUTE23CURSCRIPT], a + ret + +Route23TextPointers: ; 512f7 (14:52f7) + dw Route23Text1 + dw Route23Text2 + dw Route23Text3 + dw Route23Text4 + dw Route23Text5 + dw Route23Text6 + dw Route23Text7 + dw Route23Text8 + +Route23Text1: ; 51307 (14:5307) + db $08 ; asm + ld a, $6 + call Route23Script_51346 + jp TextScriptEnd + +Route23Text2: ; 51310 (14:5310) + db $08 ; asm + ld a, $5 + call Route23Script_51346 + jp TextScriptEnd + +Route23Text3: ; 51319 (14:5319) + db $08 ; asm + ld a, $4 + call Route23Script_51346 + jp TextScriptEnd + +Route23Text4: ; 51322 (14:5322) + db $08 ; asm + ld a, $3 + call Route23Script_51346 + jp TextScriptEnd + +Route23Text5: ; 5132b (14:532b) + db $08 ; asm + ld a, $2 + call Route23Script_51346 + jp TextScriptEnd + +Route23Text6: ; 51334 (14:5334) + db $08 ; asm + ld a, $1 + call Route23Script_51346 + jp TextScriptEnd + +Route23Text7: ; 5133d (14:533d) + db $8 + ld a, $0 + call Route23Script_51346 + jp TextScriptEnd + +Route23Script_51346: ; 51346 (14:5346) + ld [wWhichTrade], a ; $cd3d + call Route23Script_5125d + ld a, [wWhichTrade] ; $cd3d + inc a + ld c, a + ld b, $2 + ld hl, W_OBTAINEDBADGES + ld a, $10 + call Predef ; indirect jump to HandleBitArray (f666 (3:7666)) + ld a, c + and a + jr nz, .asm_5136e + ld hl, VictoryRoadGuardText1 + call PrintText + call Route23Script_512d8 + ld a, $1 + ld [W_ROUTE23CURSCRIPT], a + ret +.asm_5136e + ld hl, VictoryRoadGuardText2 + call PrintText + ld a, [wWhichTrade] ; $cd3d + ld c, a + ld b, $1 + ld hl, $d7ed + ld a, $10 + call Predef ; indirect jump to HandleBitArray (f666 (3:7666)) + ld a, $2 + ld [W_ROUTE23CURSCRIPT], a + ret + +Route23Script_51388: ; 51388 (14:5388) + ld hl, VictoryRoadGuardText2 + jp PrintText + +VictoryRoadGuardText1: ; 5138e (14:538e) + TX_FAR _VictoryRoadGuardText1 + db $08 ; asm + ld a, (SFX_02_51 - SFX_Headers_02) / 3 + call PlaySoundWaitForCurrent + call WaitForSoundToFinish + jp TextScriptEnd + +VictoryRoadGuardText2: ; 5139e (14:539e) + TX_FAR _VictoryRoadGuardText2 + db $b + TX_FAR _VictoryRoadGuardText_513a3 + db "@" + +Route23Text8: ; 513a8 (14:53a8) + TX_FAR _Route23Text8 + db "@" diff --git a/scripts/route24.asm b/scripts/route24.asm new file mode 100755 index 00000000..0e77c6f7 --- /dev/null +++ b/scripts/route24.asm @@ -0,0 +1,326 @@ +Route24Script: ; 513ad (14:53ad) + call EnableAutoTextBoxDrawing + ld hl, Route24TrainerHeaders + ld de, Route24ScriptPointers + ld a, [W_ROUTE24CURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_ROUTE24CURSCRIPT], a + ret + +Route24Script_513c0: ; 513c0 (14:53c0) + xor a + ld [wJoypadForbiddenButtonsMask], a + ld [W_ROUTE24CURSCRIPT], a + ld [W_CURMAPSCRIPT], a + ret + +Route24ScriptPointers: ; 513cb (14:53cb) + dw Route24Script0 + dw Func_324c + dw EndTrainerBattle + dw Route24Script3 + dw Route24Script4 + +Route24Script0: ; 513d5 (14:53d5) + ld a, [$d7ef] + bit 0, a + jp nz, CheckFightingMapTrainers + ld hl, CoordsData_5140e ; $540e + call ArePlayerCoordsInArray + jp nc, CheckFightingMapTrainers + xor a + ld [H_CURRENTPRESSEDBUTTONS], a + ld a, $1 + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + call DisplayTextID + ld hl, $d7f0 + bit 1, [hl] + res 1, [hl] + ret z + ld a, $80 + ld [$ccd3], a + ld a, $1 + ld [$cd38], a + call Func_3486 + ld a, $4 + ld [W_ROUTE24CURSCRIPT], a + ld [W_CURMAPSCRIPT], a + ret + +CoordsData_5140e: ; 5140e (14:540e) + db $0F,$0A,$FF + +Route24Script4: ; 51411 (14:5411) + ld a, [$cd38] + and a + ret nz + call Delay3 + ld a, $0 + ld [W_ROUTE24CURSCRIPT], a + ld [W_CURMAPSCRIPT], a + ret + +Route24Script3: ; 51422 (14:5422) + ld a, [W_ISINBATTLE] ; $d057 + cp $ff + jp z, Route24Script_513c0 + call UpdateSprites + ld a, $f0 + ld [wJoypadForbiddenButtonsMask], a + ld hl, $d7ef + set 1, [hl] + ld a, $1 + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + call DisplayTextID + xor a + ld [wJoypadForbiddenButtonsMask], a + ld a, $0 + ld [W_ROUTE24CURSCRIPT], a + ld [W_CURMAPSCRIPT], a + ret + +Route24TextPointers: ; 5144b (14:544b) + dw Route24Text1 + dw Route24Text2 + dw Route24Text3 + dw Route24Text4 + dw Route24Text5 + dw Route24Text6 + dw Route24Text7 + dw Predef5CText + +Route24TrainerHeaders: ; 5145b (14:545b) +Route24TrainerHeader0: ; 5145b (14:545b) + db $2 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7ef ; flag's byte + dw Route24BattleText1 ; 0x5571 TextBeforeBattle + dw Route24AfterBattleText1 ; 0x557b TextAfterBattle + dw Route24EndBattleText1 ; 0x5576 TextEndBattle + dw Route24EndBattleText1 ; 0x5576 TextEndBattle + +Route24TrainerHeader2: ; 51467 (14:5467) + db $3 ; flag's bit + db ($1 << 4) ; trainer's view range + dw $d7ef ; flag's byte + dw Route24BattleText2 ; 0x5580 TextBeforeBattle + dw Route24AfterBattleText2 ; 0x558a TextAfterBattle + dw Route24EndBattleText2 ; 0x5585 TextEndBattle + dw Route24EndBattleText2 ; 0x5585 TextEndBattle + +Route24TrainerHeader3: ; 51473 (14:5473) + db $4 ; flag's bit + db ($1 << 4) ; trainer's view range + dw $d7ef ; flag's byte + dw Route24BattleText3 ; 0x558f TextBeforeBattle + dw Route24AfterBattleText3 ; 0x5599 TextAfterBattle + dw Route24EndBattleText3 ; 0x5594 TextEndBattle + dw Route24EndBattleText3 ; 0x5594 TextEndBattle + +Route24TrainerHeader4: ; 5147f (14:547f) + db $5 ; flag's bit + db ($1 << 4) ; trainer's view range + dw $d7ef ; flag's byte + dw Route24BattleText4 ; 0x559e TextBeforeBattle + dw Route24AfterBattleText4 ; 0x55a8 TextAfterBattle + dw Route24EndBattleText4 ; 0x55a3 TextEndBattle + dw Route24EndBattleText4 ; 0x55a3 TextEndBattle + +Route24TrainerHeader5: ; 5148b (14:548b) + db $6 ; flag's bit + db ($1 << 4) ; trainer's view range + dw $d7ef ; flag's byte + dw Route24BattleText5 ; 0x55ad TextBeforeBattle + dw Route24AfterBattleText5 ; 0x55b7 TextAfterBattle + dw Route24EndBattleText5 ; 0x55b2 TextEndBattle + dw Route24EndBattleText5 ; 0x55b2 TextEndBattle + +Route24TrainerHeader6: ; 51497 (14:5497) + db $7 ; flag's bit + db ($1 << 4) ; trainer's view range + dw $d7ef ; flag's byte + dw Route24BattleText6 ; 0x55bc TextBeforeBattle + dw Route24AfterBattleText6 ; 0x55c6 TextAfterBattle + dw Route24EndBattleText6 ; 0x55c1 TextEndBattle + dw Route24EndBattleText6 ; 0x55c1 TextEndBattle + + db $ff + +Route24Text1: ; 514a4 (14:54a4) + db $8 + ld hl, $d7f0 + res 1, [hl] + ld a, [$d7ef] + bit 0, a + jr nz, .asm_a03f5 ; 0x514af $48 + ld hl, Route24Text_51510 + call PrintText + ld bc, (NUGGET << 8) | 1 + call GiveItem + jr nc, .BagFull + ld hl, $d7ef + set 0, [hl] + ld hl, Route24Text_5151a + call PrintText + ld hl, Route24Text_51526 + call PrintText + ld hl, $d72d + set 6, [hl] + set 7, [hl] + ld hl, Route24Text_5152b + ld de, Route24Text_5152b + call PreBattleSaveRegisters + ld a, [$ff8c] + ld [$cf13], a + call EngageMapTrainer + call InitBattleEnemyParameters + xor a + ld [H_CURRENTPRESSEDBUTTONS], a + ld a, $3 + ld [W_ROUTE24CURSCRIPT], a + ld [W_CURMAPSCRIPT], a + jp TextScriptEnd +.asm_a03f5 ; 0x514f9 + ld hl, Route24Text_51530 + call PrintText + jp TextScriptEnd +.BagFull + ld hl, Route24Text_51521 + call PrintText + ld hl, $d7f0 + set 1, [hl] + jp TextScriptEnd + +Route24Text_51510: ; 51510 (14:5510) + TX_FAR _Route24Text_51510 ; 0x92721 + db $0B + TX_FAR _Route24Text_51515 ; 0x92755 + db "@" + +Route24Text_5151a: ; 5151a (14:551a) + TX_FAR _Route24Text_5151a ; 0x92779 + db $0B, $6, "@" + +Route24Text_51521: ; 51521 (14:5521) + TX_FAR _Route24Text_51521 + db "@" + +Route24Text_51526: ; 51526 (14:5526) + TX_FAR _Route24Text_51526 + db "@" + +Route24Text_5152b: ; 5152b (14:552b) + TX_FAR _Route24Text_5152b + db "@" + +Route24Text_51530: ; 51530 (14:5530) + TX_FAR _Route24Text_51530 + db "@" + +Route24Text2: ; 51535 (14:5535) + db $08 ; asm + ld hl, Route24TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +Route24Text3: ; 5153f (14:553f) + db $08 ; asm + ld hl, Route24TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +Route24Text4: ; 51549 (14:5549) + db $08 ; asm + ld hl, Route24TrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +Route24Text5: ; 51553 (14:5553) + db $08 ; asm + ld hl, Route24TrainerHeader4 + call TalkToTrainer + jp TextScriptEnd + +Route24Text6: ; 5155d (14:555d) + db $08 ; asm + ld hl, Route24TrainerHeader5 + call TalkToTrainer + jp TextScriptEnd + +Route24Text7: ; 51567 (14:5567) + db $08 ; asm + ld hl, Route24TrainerHeader6 + call TalkToTrainer + jp TextScriptEnd + +Route24BattleText1: ; 51571 (14:5571) + TX_FAR _Route24BattleText1 + db "@" + +Route24EndBattleText1: ; 51576 (14:5576) + TX_FAR _Route24EndBattleText1 + db "@" + +Route24AfterBattleText1: ; 5157b (14:557b) + TX_FAR _Route24AfterBattleText1 + db "@" + +Route24BattleText2: ; 51580 (14:5580) + TX_FAR _Route24BattleText2 + db "@" + +Route24EndBattleText2: ; 51585 (14:5585) + TX_FAR _Route24EndBattleText2 + db "@" + +Route24AfterBattleText2: ; 5158a (14:558a) + TX_FAR _Route24AfterBattleText2 + db "@" + +Route24BattleText3: ; 5158f (14:558f) + TX_FAR _Route24BattleText3 + db "@" + +Route24EndBattleText3: ; 51594 (14:5594) + TX_FAR _Route24EndBattleText3 + db "@" + +Route24AfterBattleText3: ; 51599 (14:5599) + TX_FAR _Route24AfterBattleText3 + db "@" + +Route24BattleText4: ; 5159e (14:559e) + TX_FAR _Route24BattleText4 + db "@" + +Route24EndBattleText4: ; 515a3 (14:55a3) + TX_FAR _Route24EndBattleText4 + db "@" + +Route24AfterBattleText4: ; 515a8 (14:55a8) + TX_FAR _Route24AfterBattleText4 + db "@" + +Route24BattleText5: ; 515ad (14:55ad) + TX_FAR _Route24BattleText5 + db "@" + +Route24EndBattleText5: ; 515b2 (14:55b2) + TX_FAR _Route24EndBattleText5 + db "@" + +Route24AfterBattleText5: ; 515b7 (14:55b7) + TX_FAR _Route24AfterBattleText5 + db "@" + +Route24BattleText6: ; 515bc (14:55bc) + TX_FAR _Route24BattleText6 + db "@" + +Route24EndBattleText6: ; 515c1 (14:55c1) + TX_FAR _Route24EndBattleText6 + db "@" + +Route24AfterBattleText6: ; 515c6 (14:55c6) + TX_FAR _Route24AfterBattleText6 + db "@" diff --git a/scripts/route25.asm b/scripts/route25.asm new file mode 100755 index 00000000..7c5543c7 --- /dev/null +++ b/scripts/route25.asm @@ -0,0 +1,309 @@ +Route25Script: ; 515cb (14:55cb) + call Route25Script_515e1 + call EnableAutoTextBoxDrawing + ld hl, Route25TrainerHeaders + ld de, Route25ScriptPointers + ld a, [W_ROUTE25CURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_ROUTE25CURSCRIPT], a + ret + +Route25Script_515e1: ; 515e1 (14:55e1) + ld hl, $d126 + bit 6, [hl] + res 6, [hl] + ret z + ld hl, $d7f2 + bit 7, [hl] + ret nz + bit 5, [hl] + jr nz, .asm_515ff + res 6, [hl] + ld a, $61 + ld [$cc4d], a + ld a, $15 + jp Predef ; indirect jump to AddMissableObject (f1c8 (3:71c8)) +.asm_515ff + bit 4, [hl] + ret z + set 7, [hl] + ld a, $24 + ld [$cc4d], a + ld a, $11 + call Predef ; indirect jump to RemoveMissableObject (f1d7 (3:71d7)) + ld a, $62 + ld [$cc4d], a + ld a, $11 + call Predef ; indirect jump to RemoveMissableObject (f1d7 (3:71d7)) + ld a, $63 + ld [$cc4d], a + ld a, $15 + jp Predef ; indirect jump to AddMissableObject (f1c8 (3:71c8)) + +Route25ScriptPointers: ; 51622 (14:5622) + dw CheckFightingMapTrainers + dw Func_324c + dw EndTrainerBattle + +Route25TextPointers: ; 51628 (14:5628) + dw Route25Text1 + dw Route25Text2 + dw Route25Text3 + dw Route25Text4 + dw Route25Text5 + dw Route25Text6 + dw Route25Text7 + dw Route25Text8 + dw Route25Text9 + dw Predef5CText + dw Route25Text11 + +Route25TrainerHeaders: ; 5163e (14:563e) +Route25TrainerHeader0: ; 5163e (14:563e) + db $1 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7f1 ; flag's byte + dw Route25BattleText1 ; 0x5705 TextBeforeBattle + dw Route25AfterBattleText1 ; 0x570f TextAfterBattle + dw Route25EndBattleText1 ; 0x570a TextEndBattle + dw Route25EndBattleText1 ; 0x570a TextEndBattle + +Route25TrainerHeader2: ; 5164a (14:564a) + db $2 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7f1 ; flag's byte + dw Route25BattleText2 ; 0x5714 TextBeforeBattle + dw Route25AfterBattleText2 ; 0x571e TextAfterBattle + dw Route25EndBattleText2 ; 0x5719 TextEndBattle + dw Route25EndBattleText2 ; 0x5719 TextEndBattle + +Route25TrainerHeader3: ; 51656 (14:5656) + db $3 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7f1 ; flag's byte + dw Route25BattleText3 ; 0x5723 TextBeforeBattle + dw Route25AfterBattleText3 ; 0x572d TextAfterBattle + dw Route25EndBattleText3 ; 0x5728 TextEndBattle + dw Route25EndBattleText3 ; 0x5728 TextEndBattle + +Route25TrainerHeader4: ; 51662 (14:5662) + db $4 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7f1 ; flag's byte + dw Route25BattleText4 ; 0x5732 TextBeforeBattle + dw Route25AfterBattleText4 ; 0x573c TextAfterBattle + dw Route25EndBattleText4 ; 0x5737 TextEndBattle + dw Route25EndBattleText4 ; 0x5737 TextEndBattle + +Route25TrainerHeader5: ; 5166e (14:566e) + db $5 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7f1 ; flag's byte + dw Route25BattleText5 ; 0x5741 TextBeforeBattle + dw Route25AfterBattleText5 ; 0x574b TextAfterBattle + dw Route25EndBattleText5 ; 0x5746 TextEndBattle + dw Route25EndBattleText5 ; 0x5746 TextEndBattle + +Route25TrainerHeader6: ; 5167a (14:567a) + db $6 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7f1 ; flag's byte + dw Route25BattleText6 ; 0x5750 TextBeforeBattle + dw Route25AfterBattleText6 ; 0x575a TextAfterBattle + dw Route25EndBattleText6 ; 0x5755 TextEndBattle + dw Route25EndBattleText6 ; 0x5755 TextEndBattle + +Route25TrainerHeader7: ; 51686 (14:5686) + db $7 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7f1 ; flag's byte + dw Route25BattleText7 ; 0x575f TextBeforeBattle + dw Route25AfterBattleText7 ; 0x5769 TextAfterBattle + dw Route25EndBattleText7 ; 0x5764 TextEndBattle + dw Route25EndBattleText7 ; 0x5764 TextEndBattle + +Route25TrainerHeader8: ; 51692 (14:5692) + db $8 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7f1 ; flag's byte + dw Route25BattleText8 ; 0x576e TextBeforeBattle + dw Route25AfterBattleText8 ; 0x5778 TextAfterBattle + dw Route25EndBattleText8 ; 0x5773 TextEndBattle + dw Route25EndBattleText8 ; 0x5773 TextEndBattle + +Route25TrainerHeader9: ; 5169e (14:569e) + db $9 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7f1 ; flag's byte + dw Route25BattleText9 ; 0x577d TextBeforeBattle + dw Route25AfterBattleText9 ; 0x5787 TextAfterBattle + dw Route25EndBattleText9 ; 0x5782 TextEndBattle + dw Route25EndBattleText9 ; 0x5782 TextEndBattle + + db $ff + +Route25Text1: ; 516ab (14:56ab) + db $08 ; asm + ld hl, Route25TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +Route25Text2: ; 516b5 (14:56b5) + db $08 ; asm + ld hl, Route25TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +Route25Text3: ; 516bf (14:56bf) + db $08 ; asm + ld hl, Route25TrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +Route25Text4: ; 516c9 (14:56c9) + db $08 ; asm + ld hl, Route25TrainerHeader4 + call TalkToTrainer + jp TextScriptEnd + +Route25Text5: ; 516d3 (14:56d3) + db $08 ; asm + ld hl, Route25TrainerHeader5 + call TalkToTrainer + jp TextScriptEnd + +Route25Text6: ; 516dd (14:56dd) + db $08 ; asm + ld hl, Route25TrainerHeader6 + call TalkToTrainer + jp TextScriptEnd + +Route25Text7: ; 516e7 (14:56e7) + db $08 ; asm + ld hl, Route25TrainerHeader7 + call TalkToTrainer + jp TextScriptEnd + +Route25Text8: ; 516f1 (14:56f1) + db $08 ; asm + ld hl, Route25TrainerHeader8 + call TalkToTrainer + jp TextScriptEnd + +Route25Text9: ; 516fb (14:56fb) + db $08 ; asm + ld hl, Route25TrainerHeader9 + call TalkToTrainer + jp TextScriptEnd + +Route25BattleText1: ; 51705 (14:5705) + TX_FAR _Route25BattleText1 + db "@" + +Route25EndBattleText1: ; 5170a (14:570a) + TX_FAR _Route25EndBattleText1 + db "@" + +Route25AfterBattleText1: ; 5170f (14:570f) + TX_FAR _Route25AfterBattleText1 + db "@" + +Route25BattleText2: ; 51714 (14:5714) + TX_FAR _Route25BattleText2 + db "@" + +Route25EndBattleText2: ; 51719 (14:5719) + TX_FAR _Route25EndBattleText2 + db "@" + +Route25AfterBattleText2: ; 5171e (14:571e) + TX_FAR _Route25AfterBattleText2 + db "@" + +Route25BattleText3: ; 51723 (14:5723) + TX_FAR _Route25BattleText3 + db "@" + +Route25EndBattleText3: ; 51728 (14:5728) + TX_FAR _Route25EndBattleText3 + db "@" + +Route25AfterBattleText3: ; 5172d (14:572d) + TX_FAR _Route25AfterBattleText3 + db "@" + +Route25BattleText4: ; 51732 (14:5732) + TX_FAR _Route25BattleText4 + db "@" + +Route25EndBattleText4: ; 51737 (14:5737) + TX_FAR _Route25EndBattleText4 + db "@" + +Route25AfterBattleText4: ; 5173c (14:573c) + TX_FAR _Route25AfterBattleText4 + db "@" + +Route25BattleText5: ; 51741 (14:5741) + TX_FAR _Route25BattleText5 + db "@" + +Route25EndBattleText5: ; 51746 (14:5746) + TX_FAR _Route25EndBattleText5 + db "@" + +Route25AfterBattleText5: ; 5174b (14:574b) + TX_FAR _Route25AfterBattleText5 + db "@" + +Route25BattleText6: ; 51750 (14:5750) + TX_FAR _Route25BattleText6 + db "@" + +Route25EndBattleText6: ; 51755 (14:5755) + TX_FAR _Route25EndBattleText6 + db "@" + +Route25AfterBattleText6: ; 5175a (14:575a) + TX_FAR _Route25AfterBattleText6 + db "@" + +Route25BattleText7: ; 5175f (14:575f) + TX_FAR _Route25BattleText7 + db "@" + +Route25EndBattleText7: ; 51764 (14:5764) + TX_FAR _Route25EndBattleText7 + db "@" + +Route25AfterBattleText7: ; 51769 (14:5769) + TX_FAR _Route25AfterBattleText7 + db "@" + +Route25BattleText8: ; 5176e (14:576e) + TX_FAR _Route25BattleText8 + db "@" + +Route25EndBattleText8: ; 51773 (14:5773) + TX_FAR _Route25EndBattleText8 + db "@" + +Route25AfterBattleText8: ; 51778 (14:5778) + TX_FAR _Route25AfterBattleText8 + db "@" + +Route25BattleText9: ; 5177d (14:577d) + TX_FAR _Route25BattleText9 + db "@" + +Route25EndBattleText9: ; 51782 (14:5782) + TX_FAR _Route25EndBattleText9 + db "@" + +Route25AfterBattleText9: ; 51787 (14:5787) + TX_FAR _Route25AfterBattleText9 + db "@" + +Route25Text11: ; 5178c (14:578c) + TX_FAR _Route25Text11 + db "@" diff --git a/scripts/route2gate.asm b/scripts/route2gate.asm new file mode 100755 index 00000000..9fd8e4bd --- /dev/null +++ b/scripts/route2gate.asm @@ -0,0 +1,42 @@ +Route2GateScript: ; 5d5d4 (17:55d4) + jp EnableAutoTextBoxDrawing + +Route2GateTextPointers: ; 5d5d7 (17:55d7) + dw Route2GateText1 + dw Route2GateText2 + +Route2GateText1: ; 5d5db (17:55db) + db $08 ; asm + ld a, [$d7c2] + bit 0, a + jr nz, .asm_6592c ; 0x5d5e1 + ld a, $a + ldh [$db], a + ld a, $c8 + ldh [$dc], a + ld [$d11e], a + call GetItemName ; $2fcf + ld hl, $cd6d + ld de, $cc5b + ld bc, $000d + call CopyData + ld a, $62 + call Predef + ldh a, [$db] + cp $1 + jr nz, .asm_ad646 ; 0x5d606 + ld hl, $d7c2 + set 0, [hl] +.asm_6592c ; 0x5d60d + ld hl, Route2GateText_5d616 + call PrintText +.asm_ad646 ; 0x5d613 + jp TextScriptEnd + +Route2GateText_5d616: ; 5d616 (17:5616) + TX_FAR _Route2GateText_5d616 + db "@" + +Route2GateText2: ; 5d61b (17:561b) + TX_FAR _Route2GateText2 + db "@" diff --git a/scripts/route2house.asm b/scripts/route2house.asm new file mode 100755 index 00000000..50a058b8 --- /dev/null +++ b/scripts/route2house.asm @@ -0,0 +1,18 @@ +Route2HouseScript: ; 1deed (7:5eed) + jp EnableAutoTextBoxDrawing + +Route2HouseTextPointers: ; 1def0 (7:5ef0) + dw Route2HouseText1 + dw Route2HouseText2 + +Route2HouseText1: ; 1def4 (7:5ef4) + TX_FAR _Route2HouseText1 + db "@" + +Route2HouseText2: ; 1def9 (7:5ef9) + db $08 ; asm + ld a, $1 + ld [wWhichTrade], a + ld a, $54 + call Predef + jp TextScriptEnd diff --git a/scripts/route3.asm b/scripts/route3.asm new file mode 100755 index 00000000..1ff29f5b --- /dev/null +++ b/scripts/route3.asm @@ -0,0 +1,252 @@ +Route3Script: ; 554f8 (15:54f8) + call EnableAutoTextBoxDrawing + ld hl, Route3TrainerHeader0 + ld de, Route3ScriptPointers + ld a, [W_ROUTE3CURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_ROUTE3CURSCRIPT], a + ret + +Route3ScriptPointers: ; 5550b (15:550b) + dw CheckFightingMapTrainers + dw Func_324c + dw EndTrainerBattle + +Route3TextPointers: ; 55511 (15:5511) + dw Route3Text1 + dw Route3Text2 + dw Route3Text3 + dw Route3Text4 + dw Route3Text5 + dw Route3Text6 + dw Route3Text7 + dw Route3Text8 + dw Route3Text9 + dw Route3Text10 + +Route3TrainerHeaders: ; 55525 (15:5525) +Route3TrainerHeader0: ; 55525 (15:5525) + db $2 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7c3 ; flag's byte + dw Route3BattleText1 ; 0x5595 TextBeforeBattle + dw Route3AfterBattleText1 ; 0x559f TextAfterBattle + dw Route3EndBattleText1 ; 0x559a TextEndBattle + dw Route3EndBattleText1 ; 0x559a TextEndBattle + +Route3TrainerHeader2: ; 55531 (15:5531) + db $3 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7c3 ; flag's byte + dw Route3BattleText2 ; 0x55ae TextBeforeBattle + dw Route3AfterBattleText2 ; 0x55b8 TextAfterBattle + dw Route3EndBattleText2 ; 0x55b3 TextEndBattle + dw Route3EndBattleText2 ; 0x55b3 TextEndBattle + +Route3TrainerHeader3: ; 5553d (15:553d) + db $4 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7c3 ; flag's byte + dw Route3BattleText3 ; 0x55c7 TextBeforeBattle + dw Route3AfterBattleText3 ; 0x55d1 TextAfterBattle + dw Route3EndBattleText3 ; 0x55cc TextEndBattle + dw Route3EndBattleText3 ; 0x55cc TextEndBattle + +Route3TrainerHeader4: ; 55549 (15:5549) + db $5 ; flag's bit + db ($1 << 4) ; trainer's view range + dw $d7c3 ; flag's byte + dw Route3BattleText4 ; 0x55e0 TextBeforeBattle + dw Route3AfterBattleText4 ; 0x55ea TextAfterBattle + dw Route3EndBattleText4 ; 0x55e5 TextEndBattle + dw Route3EndBattleText4 ; 0x55e5 TextEndBattle + +Route3TrainerHeader5: ; 55555 (15:5555) + db $6 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7c3 ; flag's byte + dw Route3BattleText5 ; 0x55f9 TextBeforeBattle + dw Route3AfterBattleText5 ; 0x5603 TextAfterBattle + dw Route3EndBattleText5 ; 0x55fe TextEndBattle + dw Route3EndBattleText5 ; 0x55fe TextEndBattle + +Route3TrainerHeader6: ; 55561 (15:5561) + db $7 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7c3 ; flag's byte + dw Route3BattleText6 ; 0x5612 TextBeforeBattle + dw Route3AfterBattleText6 ; 0x561c TextAfterBattle + dw Route3EndBattleText6 ; 0x5617 TextEndBattle + dw Route3EndBattleText6 ; 0x5617 TextEndBattle + +Route3TrainerHeader7: ; 5556d (15:556d) + db $8 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7c3 ; flag's byte + dw Route3BattleText7 ; 0x562b TextBeforeBattle + dw Route3AfterBattleText7 ; 0x5635 TextAfterBattle + dw Route3EndBattleText7 ; 0x5630 TextEndBattle + dw Route3EndBattleText7 ; 0x5630 TextEndBattle + +Route3TrainerHeader8: ; 55579 (15:5579) + db $9 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7c3 ; flag's byte + dw Route3BattleText8 ; 0x5644 TextBeforeBattle + dw Route3AfterBattleText8 ; 0x564e TextAfterBattle + dw Route3EndBattleText8 ; 0x5649 TextEndBattle + dw Route3EndBattleText8 ; 0x5649 TextEndBattle + + db $ff + +Route3Text1: ; 55586 (15:5586) + TX_FAR _Route3Text1 + db "@" + +Route3Text2: ; 5558b (15:558b) + db $08 ; asm + ld hl, Route3TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +Route3BattleText1: ; 55595 (15:5595) + TX_FAR _Route3BattleText1 + db "@" + +Route3EndBattleText1: ; 5559a (15:559a) + TX_FAR _Route3EndBattleText1 + db "@" + +Route3AfterBattleText1: ; 5559f (15:559f) + TX_FAR _Route3AfterBattleText1 + db "@" + +Route3Text3: ; 555a4 (15:55a4) + db $08 ; asm + ld hl, Route3TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +Route3BattleText2: ; 555ae (15:55ae) + TX_FAR _Route3BattleText2 + db "@" + +Route3EndBattleText2: ; 555b3 (15:55b3) + TX_FAR _Route3EndBattleText2 + db "@" + +Route3AfterBattleText2: ; 555b8 (15:55b8) + TX_FAR _Route3AfterBattleText2 + db "@" + +Route3Text4: ; 555bd (15:55bd) + db $08 ; asm + ld hl, Route3TrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +Route3BattleText3: ; 555c7 (15:55c7) + TX_FAR _Route3BattleText3 + db "@" + +Route3EndBattleText3: ; 555cc (15:55cc) + TX_FAR _Route3EndBattleText3 + db "@" + +Route3AfterBattleText3: ; 555d1 (15:55d1) + TX_FAR _Route3AfterBattleText3 + db "@" + +Route3Text5: ; 555d6 (15:55d6) + db $08 ; asm + ld hl, Route3TrainerHeader4 + call TalkToTrainer + jp TextScriptEnd + +Route3BattleText4: ; 555e0 (15:55e0) + TX_FAR _Route3BattleText4 + db "@" + +Route3EndBattleText4: ; 555e5 (15:55e5) + TX_FAR _Route3EndBattleText4 + db "@" + +Route3AfterBattleText4: ; 555ea (15:55ea) + TX_FAR _Route3AfterBattleText4 + db "@" + +Route3Text6: ; 555ef (15:55ef) + db $08 ; asm + ld hl, Route3TrainerHeader5 + call TalkToTrainer + jp TextScriptEnd + +Route3BattleText5: ; 555f9 (15:55f9) + TX_FAR _Route3BattleText5 + db "@" + +Route3EndBattleText5: ; 555fe (15:55fe) + TX_FAR _Route3EndBattleText5 + db "@" + +Route3AfterBattleText5: ; 55603 (15:5603) + TX_FAR _Route3AfterBattleText5 + db "@" + +Route3Text7: ; 55608 (15:5608) + db $08 ; asm + ld hl, Route3TrainerHeader6 + call TalkToTrainer + jp TextScriptEnd + +Route3BattleText6: ; 55612 (15:5612) + TX_FAR _Route3BattleText6 + db "@" + +Route3EndBattleText6: ; 55617 (15:5617) + TX_FAR _Route3EndBattleText6 + db "@" + +Route3AfterBattleText6: ; 5561c (15:561c) + TX_FAR _Route3AfterBattleText6 + db "@" + +Route3Text8: ; 55621 (15:5621) + db $08 ; asm + ld hl, Route3TrainerHeader7 + call TalkToTrainer + jp TextScriptEnd + +Route3BattleText7: ; 5562b (15:562b) + TX_FAR _Route3BattleText7 + db "@" + +Route3EndBattleText7: ; 55630 (15:5630) + TX_FAR _Route3EndBattleText7 + db "@" + +Route3AfterBattleText7: ; 55635 (15:5635) + TX_FAR _Route3AfterBattleText7 + db "@" + +Route3Text9: ; 5563a (15:563a) + db $08 ; asm + ld hl, Route3TrainerHeader8 + call TalkToTrainer + jp TextScriptEnd + +Route3BattleText8: ; 55644 (15:5644) + TX_FAR _Route3BattleText8 + db "@" + +Route3EndBattleText8: ; 55649 (15:5649) + TX_FAR _Route3EndBattleText8 + db "@" + +Route3AfterBattleText8: ; 5564e (15:564e) + TX_FAR _Route3AfterBattleText8 + db "@" + +Route3Text10: ; 55653 (15:5653) + TX_FAR _Route3Text10 + db "@" diff --git a/scripts/route4.asm b/scripts/route4.asm new file mode 100755 index 00000000..69ec7424 --- /dev/null +++ b/scripts/route4.asm @@ -0,0 +1,63 @@ +Route4Script: ; 55658 (15:5658) + call EnableAutoTextBoxDrawing + ld hl, Route4TrainerHeaders + ld de, Route4ScriptPointers + ld a, [W_ROUTE4CURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_ROUTE4CURSCRIPT], a + ret + +Route4ScriptPointers: ; 5566b (15:566b) + dw CheckFightingMapTrainers + dw Func_324c + dw EndTrainerBattle + +Route4TextPointers: ; 55671 (15:5671) + dw Route4Text1 + dw Route4Text2 + dw Predef5CText + dw PokeCenterSignText + dw Route4Text5 + dw Route4Text6 + +Route4TrainerHeaders: ; 5567d (15:567d) +Route4TrainerHeader0: ; 5567d (15:567d) + db $2 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7c5 ; flag's byte + dw Route4BattleText1 ; 0x5699 TextBeforeBattle + dw Route4AfterBattleText1 ; 0x56a3 TextAfterBattle + dw Route4EndBattleText1 ; 0x569e TextEndBattle + dw Route4EndBattleText1 ; 0x569e TextEndBattle + + db $ff + +Route4Text1: ; 5568a (15:568a) + TX_FAR _Route4Text1 + db "@" + +Route4Text2: ; 5568f (15:568f) + db $08 ; asm + ld hl, Route4TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +Route4BattleText1: ; 55699 (15:5699) + TX_FAR _Route4BattleText1 + db "@" + +Route4EndBattleText1: ; 5569e (15:569e) + TX_FAR _Route4EndBattleText1 + db "@" + +Route4AfterBattleText1: ; 556a3 (15:56a3) + TX_FAR _Route4AfterBattleText1 + db "@" + +Route4Text5: ; 556a8 (15:56a8) + TX_FAR _Route4Text5 + db "@" + +Route4Text6: ; 556ad (15:56ad) + TX_FAR _Route4Text6 + db "@" diff --git a/scripts/route5.asm b/scripts/route5.asm new file mode 100755 index 00000000..1fad3939 --- /dev/null +++ b/scripts/route5.asm @@ -0,0 +1,9 @@ +Route5Script: ; 556b2 (15:56b2) + jp EnableAutoTextBoxDrawing + +Route5TextPointers: ; 556b5 (15:56b5) + dw Route5Text1 + +Route5Text1: ; 556b7 (15:56b7) + TX_FAR _Route5Text1 + db "@" diff --git a/scripts/route5gate.asm b/scripts/route5gate.asm new file mode 100755 index 00000000..f6f1eb1a --- /dev/null +++ b/scripts/route5gate.asm @@ -0,0 +1,121 @@ +Route5GateScript: ; 1df33 (7:5f33) + call EnableAutoTextBoxDrawing + ld a, [W_ROUTE5GATECURSCRIPT] + ld hl, Route5GateScriptPointers + jp CallFunctionInTable + +Route5GateScriptPointers: ; 1df3f (7:5f3f) + dw Route5GateScript0 + dw Route5GateScript1 + +Route5GateScript_1df43: ; 1df43 (7:5f43) + ld a, $40 + ld [$ccd3], a + ld a, $1 + ld [$cd38], a + jp Func_3486 + +Route5GateScript0: ; 1df50 (7:5f50) + ld a, [$d728] + bit 6, a + ret nz + ld hl, CoordsData_1df8f + call ArePlayerCoordsInArray + ret nc + ld a, $2 + ld [$d528], a + xor a + ld [H_CURRENTPRESSEDBUTTONS], a + ld b, BANK(RemoveGuardDrink) + ld hl, RemoveGuardDrink + call Bankswitch + ld a, [$ff00+$db] + and a + jr nz, .asm_1df82 ; 0x1df70 $10 + ld a, $2 + ld [$ff00+$8c], a + call DisplayTextID + call Route5GateScript_1df43 + ld a, $1 + ld [W_ROUTE5GATECURSCRIPT], a + ret +.asm_1df82 + ld a, $3 + ld [$ff00+$8c], a + call DisplayTextID + ld hl, $d728 + set 6, [hl] + ret + +CoordsData_1df8f: ; 1df8f (7:5f8f) + db 3,3 + db 3,4 + db $ff + +Route5GateScript1: ; 1df94 (7:5f94) + ld a, [$cd38] + and a + ret nz + call Delay3 + xor a + ld [wJoypadForbiddenButtonsMask], a + ld [W_ROUTE5GATECURSCRIPT], a + ret + +Route5GateTextPointers: ; 1dfa4 (7:5fa4) + dw Route5GateText1 + dw Route5GateText2 + dw Route5GateText3 + +Route8GateText1: ; 1dfaa (7:5faa) +Route7GateText1: ; 1dfaa (7:5faa) +Route6GateText1: ; 1dfaa (7:5faa) +Route5GateText1: ; 1dfaa (7:5faa) + db $8 + ld a, [$d728] + bit 6, a + jr nz, .asm_88856 ; 0x1dfb0 $2c + ld b, BANK(RemoveGuardDrink) + ld hl, RemoveGuardDrink + call Bankswitch + ld a, [$ff00+$db] + and a + jr nz, .asm_768a2 ; 0x1dfbd $11 + ld hl, Route5GateText2 + call PrintText + call Route5GateScript_1df43 + ld a, $1 + ld [W_ROUTE5GATECURSCRIPT], a + jp TextScriptEnd +.asm_768a2 ; 0x1dfd0 + ld hl, Route5GateText3 + call PrintText + ld hl, $d728 + set 6, [hl] + jp TextScriptEnd +.asm_88856 ; 0x1dfde + ld hl, SaffronGateText_1dff6 + call PrintText + jp TextScriptEnd + +Route8GateText2: ; 1dfe7 (7:5fe7) +Route7GateText2: ; 1dfe7 (7:5fe7) +Route6GateText2: ; 1dfe7 (7:5fe7) +Route5GateText2: ; 1dfe7 (7:5fe7) + TX_FAR _SaffronGateText_1dfe7 + db "@" + +Route8GateText3: ; 1dfec (7:5fec) +Route7GateText3: ; 1dfec (7:5fec) +Route6GateText3: ; 1dfec (7:5fec) +Route5GateText3: ; 1dfec (7:5fec) + TX_FAR _SaffronGateText_8aaa9 ; 0x8aaa9 + db $11 + TX_FAR _SaffronGateText_1dff1 ; 0x8aaef + db "@" + +SaffronGateText_1dff6: ; 1dff6 (7:5ff6) + TX_FAR _SaffronGateText_1dff6 + db "@" + + diff --git a/scripts/route6.asm b/scripts/route6.asm new file mode 100755 index 00000000..a1cf52a8 --- /dev/null +++ b/scripts/route6.asm @@ -0,0 +1,187 @@ +Route6Script: ; 590b0 (16:50b0) + call EnableAutoTextBoxDrawing + ld hl, Route6TrainerHeaders + ld de, Route6ScriptPointers + ld a, [W_ROUTE6CURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_ROUTE6CURSCRIPT], a + ret + +Route6ScriptPointers: ; 590c3 (16:50c3) + dw CheckFightingMapTrainers + dw Func_324c + dw EndTrainerBattle + +Route6TextPointers: ; 590c9 (16:50c9) + dw Route6Text1 + dw Route6Text2 + dw Route6Text3 + dw Route6Text4 + dw Route6Text5 + dw Route6Text6 + dw Route6Text7 + +Route6TrainerHeaders: ; 590d7 (16:50d7) +Route6TrainerHeader0: ; 590d7 (16:50d7) + db $1 ; flag's bit + db ($0 << 4) ; trainer's view range + dw $d7c9 ; flag's byte + dw Route6BattleText1 ; 0x512a TextBeforeBattle + dw Route6AfterBattleText1 ; 0x5134 TextAfterBattle + dw Route6EndBattleText1 ; 0x512f TextEndBattle + dw Route6EndBattleText1 ; 0x512f TextEndBattle + +Route6TrainerHeader1: ; 590e3 (16:50e3) + db $2 ; flag's bit + db ($0 << 4) ; trainer's view range + dw $d7c9 ; flag's byte + dw Route6BattleText2 ; 0x5143 TextBeforeBattle + dw Route6AfterBattleText1 ; 0x5134 TextAfterBattle + dw Route6EndBattleText2 ; 0x5148 TextEndBattle + dw Route6EndBattleText2 ; 0x5148 TextEndBattle + +Route6TrainerHeader2: ; 590ef (16:50ef) + db $3 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7c9 ; flag's byte + dw Route6BattleText3 ; 0x5157 TextBeforeBattle + dw Route6AfterBattleText3 ; 0x5161 TextAfterBattle + dw Route6EndBattleText3 ; 0x515c TextEndBattle + dw Route6EndBattleText3 ; 0x515c TextEndBattle + +Route6TrainerHeader3: ; 590fb (16:50fb) + db $4 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7c9 ; flag's byte + dw Route6BattleText4 ; 0x5170 TextBeforeBattle + dw Route6AfterBattleText4 ; 0x517a TextAfterBattle + dw Route6EndBattleText4 ; 0x5175 TextEndBattle + dw Route6EndBattleText4 ; 0x5175 TextEndBattle + +Route6TrainerHeader4: ; 59107 (16:5107) + db $5 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7c9 ; flag's byte + dw Route6BattleText5 ; 0x5189 TextBeforeBattle + dw Route6AfterBattleText5 ; 0x5193 TextAfterBattle + dw Route6EndBattleText5 ; 0x518e TextEndBattle + dw Route6EndBattleText5 ; 0x518e TextEndBattle + +Route6TrainerHeader5: ; 59113 (16:5113) + db $6 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7c9 ; flag's byte + dw Route6BattleText6 ; 0x51a2 TextBeforeBattle + dw Route6AfterBattleText6 ; 0x51ac TextAfterBattle + dw Route6EndBattleText6 ; 0x51a7 TextEndBattle + dw Route6EndBattleText6 ; 0x51a7 TextEndBattle + + db $ff + +Route6Text1: ; 59120 (16:5120) + db $8 + ld hl, Route6TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +Route6BattleText1: ; 5912a (16:512a) + TX_FAR _Route6BattleText1 + db "@" + +Route6EndBattleText1: ; 5912f (16:512f) + TX_FAR _Route6EndBattleText1 + db "@" + +Route6AfterBattleText1: ; 59134 (16:5134) + TX_FAR _Route6AfterBattleText1 + db "@" + +Route6Text2: ; 59139 (16:5139) + db $08 ; asm + ld hl, Route6TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +Route6BattleText2: ; 59143 (16:5143) + TX_FAR _Route6BattleText2 + db "@" + +Route6EndBattleText2: ; 59148 (16:5148) + TX_FAR _Route6EndBattleText2 + db "@" + +Route6Text3: ; 5914d (16:514d) + db $08 ; asm + ld hl, Route6TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +Route6BattleText3: ; 59157 (16:5157) + TX_FAR _Route6BattleText3 + db "@" + +Route6EndBattleText3: ; 5915c (16:515c) + TX_FAR _Route6EndBattleText3 + db "@" + +Route6AfterBattleText3: ; 59161 (16:5161) + TX_FAR _Route6AfterBattleText3 + db "@" + +Route6Text4: ; 59166 (16:5166) + db $08 ; asm + ld hl, Route6TrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +Route6BattleText4: ; 59170 (16:5170) + TX_FAR _Route6BattleText4 + db "@" + +Route6EndBattleText4: ; 59175 (16:5175) + TX_FAR _Route6EndBattleText4 + db "@" + +Route6AfterBattleText4: ; 5917a (16:517a) + TX_FAR _Route6AfterBattleText4 + db "@" + +Route6Text5: ; 5917f (16:517f) + db $08 ; asm + ld hl, Route6TrainerHeader4 + call TalkToTrainer + jp TextScriptEnd + +Route6BattleText5: ; 59189 (16:5189) + TX_FAR _Route6BattleText5 + db "@" + +Route6EndBattleText5: ; 5918e (16:518e) + TX_FAR _Route6EndBattleText5 + db "@" + +Route6AfterBattleText5: ; 59193 (16:5193) + TX_FAR _Route6AfterBattleText5 + db "@" + +Route6Text6: ; 59198 (16:5198) + db $08 ; asm + ld hl, Route6TrainerHeader5 + call TalkToTrainer + jp TextScriptEnd + +Route6BattleText6: ; 591a2 (16:51a2) + TX_FAR _Route6BattleText6 + db "@" + +Route6EndBattleText6: ; 591a7 (16:51a7) + TX_FAR _Route6EndBattleText6 + db "@" + +Route6AfterBattleText6: ; 591ac (16:51ac) + TX_FAR _Route6AfterBattleText6 + db "@" + +Route6Text7: ; 591b1 (16:51b1) + TX_FAR _Route6Text7 + db "@" diff --git a/scripts/route6gate.asm b/scripts/route6gate.asm new file mode 100755 index 00000000..f98c4434 --- /dev/null +++ b/scripts/route6gate.asm @@ -0,0 +1,72 @@ +Route6GateScript: ; 1e03d (7:603d) + call EnableAutoTextBoxDrawing + ld hl, Route6GateScriptPointers + ld a, [W_ROUTE6GATECURSCRIPT] + call CallFunctionInTable + ret + +Route6GateScriptPointers: ; 1e04a (7:604a) + dw Route6GateScript0 + dw Route6GateScript1 + +Route6GateScript0: ; 1e04e (7:604e) + ld a, [$d728] + bit 6, a + ret nz + ld hl, CoordsData_1e08c + call ArePlayerCoordsInArray + ret nc + ld a, $1 + ld [$d528], a + xor a + ld [H_CURRENTPRESSEDBUTTONS], a + ld b, BANK(RemoveGuardDrink) + ld hl, RemoveGuardDrink + call Bankswitch + ld a, [$ffdb] + and a + jr nz, .asm_1e080 ; 0x1e06e $10 + ld a, $2 + ld [$ff8c], a + call DisplayTextID + call Route6GateScript_1e0a1 + ld a, $1 + ld [W_ROUTE6GATECURSCRIPT], a + ret +.asm_1e080 + ld hl, $d728 + set 6, [hl] + ld a, $3 + ld [$ff8c], a + jp DisplayTextID + +CoordsData_1e08c: ; 1e08c (7:608c) + db $02,$03 + db $02,$04,$FF + +Route6GateScript1: ; 1e091 (7:6091) + ld a, [$cd38] + and a + ret nz + call Delay3 + xor a + ld [wJoypadForbiddenButtonsMask], a + ld [W_ROUTE6GATECURSCRIPT], a + ret + +Route6GateScript_1e0a1: ; 1e0a1 (7:60a1) + ld hl, $d730 + set 7, [hl] + ld a, $80 + ld [$ccd3], a + ld a, $1 + ld [$cd38], a + xor a + ld [$c206], a + ld [$cd3b], a + ret + +Route6GateTextPointers: ; 1e0b8 (7:60b8) + dw Route6GateText1 + dw Route6GateText2 + dw Route6GateText3 diff --git a/scripts/route7.asm b/scripts/route7.asm new file mode 100755 index 00000000..484fc539 --- /dev/null +++ b/scripts/route7.asm @@ -0,0 +1,9 @@ +Route7Script: ; 48152 (12:4152) + jp EnableAutoTextBoxDrawing + +Route7TextPointers: ; 48155 (12:4155) + dw Route7Text1 + +Route7Text1: ; 48157 (12:4157) + TX_FAR _Route7Text1 + db "@" diff --git a/scripts/route7gate.asm b/scripts/route7gate.asm new file mode 100755 index 00000000..dba1dadc --- /dev/null +++ b/scripts/route7gate.asm @@ -0,0 +1,75 @@ +Route7GateScript: ; 1e100 (7:6100) + call EnableAutoTextBoxDrawing + ld a, [W_ROUTE7GATECURSCRIPT] + ld hl, Route7GateScriptPointers + call CallFunctionInTable + ret + +Route7GateScriptPointers: ; 1e10d (7:610d) + dw Route7GateScript0 + dw Route7GateScript1 + +Route7GateScript_1e111: ; 1e111 (7:6111) + ld hl, $d730 + set 7, [hl] + ld a, $20 + ld [$ccd3], a + ld a, $1 + ld [$cd38], a + xor a + ld [$c206], a + ld [$cd3b], a + ret + +Route7GateScript0: ; 1e128 (7:6128) + ld a, [$d728] + bit 6, a + ret nz + ld hl, CoordsData_1e167 + call ArePlayerCoordsInArray + ret nc + ld a, $8 + ld [$d528], a + xor a + ld [H_CURRENTPRESSEDBUTTONS], a + ld b, BANK(RemoveGuardDrink) + ld hl, RemoveGuardDrink + call Bankswitch + ld a, [$ffdb] + and a + jr nz, .asm_1e15a ; 0x1e148 $10 + ld a, $2 + ld [$ff8c], a + call DisplayTextID + call Route7GateScript_1e111 + ld a, $1 + ld [W_ROUTE7GATECURSCRIPT], a + ret +.asm_1e15a + ld a, $3 + ld [$ff8c], a + call DisplayTextID + ld hl, $d728 + set 6, [hl] + ret + +CoordsData_1e167: ; 1e167 (7:6167) + db 3,3 + db 4,3 + db $ff + +Route7GateScript1: ; 1e16c (7:616c) + ld a, [$cd38] + and a + ret nz + call Delay3 + xor a + ld [wJoypadForbiddenButtonsMask], a + ld [W_ROUTE7GATECURSCRIPT], a + ld [W_CURMAPSCRIPT], a + ret + +Route7GateTextPointers: ; 1e17f (7:617f) + dw Route7GateText1 + dw Route7GateText2 + dw Route7GateText3 diff --git a/scripts/route8.asm b/scripts/route8.asm new file mode 100755 index 00000000..eebc96ff --- /dev/null +++ b/scripts/route8.asm @@ -0,0 +1,275 @@ +Route8Script: ; 591b6 (16:51b6) + call EnableAutoTextBoxDrawing + ld hl, Route8TrainerHeaders + ld de, Route8ScriptPointers + ld a, [W_ROUTE8CURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_ROUTE8CURSCRIPT], a + ret + +Route8ScriptPointers: ; 591c9 (16:51c9) + dw CheckFightingMapTrainers + dw Func_324c + dw EndTrainerBattle + +Route8TextPointers: ; 591cf (16:51cf) + dw Route8Text1 + dw Route8Text2 + dw Route8Text3 + dw Route8Text4 + dw Route8Text5 + dw Route8Text6 + dw Route8Text7 + dw Route8Text8 + dw Route8Text9 + dw Route8Text10 + +Route8TrainerHeaders: ; 591e3 (16:51e3) +Route8TrainerHeader0: ; 591e3 (16:51e3) + db $1 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7cd ; flag's byte + dw Route8BattleText1 ; 0x525a TextBeforeBattle + dw Route8AfterBattleText1 ; 0x5264 TextAfterBattle + dw Route8EndBattleText1 ; 0x525f TextEndBattle + dw Route8EndBattleText1 ; 0x525f TextEndBattle + +Route8TrainerHeader1: ; 591ef (16:51ef) + db $2 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7cd ; flag's byte + dw Route8BattleText2 ; 0x5273 TextBeforeBattle + dw Route8AfterBattleText2 ; 0x527d TextAfterBattle + dw Route8EndBattleText2 ; 0x5278 TextEndBattle + dw Route8EndBattleText2 ; 0x5278 TextEndBattle + +Route8TrainerHeader2: ; 591fb (16:51fb) + db $3 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7cd ; flag's byte + dw Route8BattleText3 ; 0x528c TextBeforeBattle + dw Route8AfterBattleText3 ; 0x5296 TextAfterBattle + dw Route8EndBattleText3 ; 0x5291 TextEndBattle + dw Route8EndBattleText3 ; 0x5291 TextEndBattle + +Route8TrainerHeader3: ; 59207 (16:5207) + db $4 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7cd ; flag's byte + dw Route8BattleText4 ; 0x52a5 TextBeforeBattle + dw Route8AfterBattleText4 ; 0x52af TextAfterBattle + dw Route8EndBattleText4 ; 0x52aa TextEndBattle + dw Route8EndBattleText4 ; 0x52aa TextEndBattle + +Route8TrainerHeader4: ; 59213 (16:5213) + db $5 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7cd ; flag's byte + dw Route8BattleText5 ; 0x52be TextBeforeBattle + dw Route8AfterBattleText5 ; 0x52c8 TextAfterBattle + dw Route8EndBattleText5 ; 0x52c3 TextEndBattle + dw Route8EndBattleText5 ; 0x52c3 TextEndBattle + +Route8TrainerHeader5: ; 5921f (16:521f) + db $6 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7cd ; flag's byte + dw Route8BattleText6 ; 0x52d7 TextBeforeBattle + dw Route8AfterBattleText6 ; 0x52e1 TextAfterBattle + dw Route8EndBattleText6 ; 0x52dc TextEndBattle + dw Route8EndBattleText6 ; 0x52dc TextEndBattle + +Route8TrainerHeader6: ; 5922b (16:522b) + db $7 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7cd ; flag's byte + dw Route8BattleText7 ; 0x52f0 TextBeforeBattle + dw Route8AfterBattleText7 ; 0x52fa TextAfterBattle + dw Route8EndBattleText7 ; 0x52f5 TextEndBattle + dw Route8EndBattleText7 ; 0x52f5 TextEndBattle + +Route8TrainerHeader7: ; 59237 (16:5237) + db $8 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7cd ; flag's byte + dw Route8BattleText8 ; 0x5309 TextBeforeBattle + dw Route8AfterBattleText8 ; 0x5313 TextAfterBattle + dw Route8EndBattleText8 ; 0x530e TextEndBattle + dw Route8EndBattleText8 ; 0x530e TextEndBattle + +Route8TrainerHeader8: ; 59243 (16:5243) + db $9 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7cd ; flag's byte + dw Route8BattleText9 ; 0x5322 TextBeforeBattle + dw Route8AfterBattleText9 ; 0x532c TextAfterBattle + dw Route8EndBattleText9 ; 0x5327 TextEndBattle + dw Route8EndBattleText9 ; 0x5327 TextEndBattle + + db $ff + +Route8Text1: ; 59250 (16:5250) + db $8 + ld hl, Route8TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +Route8BattleText1: ; 5925a (16:525a) + TX_FAR _Route8BattleText1 + db "@" + +Route8EndBattleText1: ; 5925f (16:525f) + TX_FAR _Route8EndBattleText1 + db "@" + +Route8AfterBattleText1: ; 59264 (16:5264) + TX_FAR _Route8AfterBattleText1 + db "@" + +Route8Text2: ; 59269 (16:5269) + db $08 ; asm + ld hl, Route8TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +Route8BattleText2: ; 59273 (16:5273) + TX_FAR _Route8BattleText2 + db "@" + +Route8EndBattleText2: ; 59278 (16:5278) + TX_FAR _Route8EndBattleText2 + db "@" + +Route8AfterBattleText2: ; 5927d (16:527d) + TX_FAR _Route8AfterBattleText2 + db "@" + +Route8Text3: ; 59282 (16:5282) + db $08 ; asm + ld hl, Route8TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +Route8BattleText3: ; 5928c (16:528c) + TX_FAR _Route8BattleText3 + db "@" + +Route8EndBattleText3: ; 59291 (16:5291) + TX_FAR _Route8EndBattleText3 + db "@" + +Route8AfterBattleText3: ; 59296 (16:5296) + TX_FAR _Route8AfterBattleText3 + db "@" + +Route8Text4: ; 5929b (16:529b) + db $08 ; asm + ld hl, Route8TrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +Route8BattleText4: ; 592a5 (16:52a5) + TX_FAR _Route8BattleText4 + db "@" + +Route8EndBattleText4: ; 592aa (16:52aa) + TX_FAR _Route8EndBattleText4 + db "@" + +Route8AfterBattleText4: ; 592af (16:52af) + TX_FAR _Route8AfterBattleText4 + db "@" + +Route8Text5: ; 592b4 (16:52b4) + db $08 ; asm + ld hl, Route8TrainerHeader4 + call TalkToTrainer + jp TextScriptEnd + +Route8BattleText5: ; 592be (16:52be) + TX_FAR _Route8BattleText5 + db "@" + +Route8EndBattleText5: ; 592c3 (16:52c3) + TX_FAR _Route8EndBattleText5 + db "@" + +Route8AfterBattleText5: ; 592c8 (16:52c8) + TX_FAR _Route8AfterBattleText5 + db "@" + +Route8Text6: ; 592cd (16:52cd) + db $08 ; asm + ld hl, Route8TrainerHeader5 + call TalkToTrainer + jp TextScriptEnd + +Route8BattleText6: ; 592d7 (16:52d7) + TX_FAR _Route8BattleText6 + db "@" + +Route8EndBattleText6: ; 592dc (16:52dc) + TX_FAR _Route8EndBattleText6 + db "@" + +Route8AfterBattleText6: ; 592e1 (16:52e1) + TX_FAR _Route8AfterBattleText6 + db "@" + +Route8Text7: ; 592e6 (16:52e6) + db $08 ; asm + ld hl, Route8TrainerHeader6 + call TalkToTrainer + jp TextScriptEnd + +Route8BattleText7: ; 592f0 (16:52f0) + TX_FAR _Route8BattleText7 + db "@" + +Route8EndBattleText7: ; 592f5 (16:52f5) + TX_FAR _Route8EndBattleText7 + db "@" + +Route8AfterBattleText7: ; 592fa (16:52fa) + TX_FAR _Route8AfterBattleText7 + db "@" + +Route8Text8: ; 592ff (16:52ff) + db $08 ; asm + ld hl, Route8TrainerHeader7 + call TalkToTrainer + jp TextScriptEnd + +Route8BattleText8: ; 59309 (16:5309) + TX_FAR _Route8BattleText8 + db "@" + +Route8EndBattleText8: ; 5930e (16:530e) + TX_FAR _Route8EndBattleText8 + db "@" + +Route8AfterBattleText8: ; 59313 (16:5313) + TX_FAR _Route8AfterBattleText8 + db "@" + +Route8Text9: ; 59318 (16:5318) + db $08 ; asm + ld hl, Route8TrainerHeader8 + call TalkToTrainer + jp TextScriptEnd + +Route8BattleText9: ; 59322 (16:5322) + TX_FAR _Route8BattleText9 + db "@" + +Route8EndBattleText9: ; 59327 (16:5327) + TX_FAR _Route8EndBattleText9 + db "@" + +Route8AfterBattleText9: ; 5932c (16:532c) + TX_FAR _Route8AfterBattleText9 + db "@" + +Route8Text10: ; 59331 (16:5331) + TX_FAR _Route8Text10 + db "@" diff --git a/scripts/route8gate.asm b/scripts/route8gate.asm new file mode 100755 index 00000000..2223b894 --- /dev/null +++ b/scripts/route8gate.asm @@ -0,0 +1,72 @@ +Route8GateScript: ; 1e1c7 (7:61c7) + call EnableAutoTextBoxDrawing + ld hl, Route8GateScriptPointers + ld a, [W_ROUTE8GATECURSCRIPT] + jp CallFunctionInTable + +Route8GateScriptPointers: ; 1e1d3 (7:61d3) + dw Route8GateScript0 + dw Route8GateScript1 + +Route8GateScript_1e1d7: ; 1e1d7 (7:61d7) + ld hl, $d730 + set 7, [hl] + ld a, $10 + ld [$ccd3], a + ld a, $1 + ld [$cd38], a + xor a + ld [$c206], a + ld [$cd3b], a + ret + +Route8GateScript0: ; 1e1ee (7:61ee) + ld a, [$d728] + bit 6, a + ret nz + ld hl, CoordsData_1e22c + call ArePlayerCoordsInArray + ret nc + ld a, $2 + ld [$d528], a + xor a + ld [H_CURRENTPRESSEDBUTTONS], a + ld b, BANK(RemoveGuardDrink) + ld hl, RemoveGuardDrink + call Bankswitch + ld a, [$ffdb] + and a + jr nz, .asm_1e220 ; 0x1e20e $10 + ld a, $2 + ld [$ff8c], a + call DisplayTextID + call Route8GateScript_1e1d7 + ld a, $1 + ld [W_ROUTE8GATECURSCRIPT], a + ret +.asm_1e220 + ld hl, $d728 + set 6, [hl] + ld a, $3 + ld [$ff8c], a + jp DisplayTextID + +CoordsData_1e22c: ; 1e22c (7:622c) + db 3,2 + db 4,2 + db $ff + +Route8GateScript1: ; 1e231 (7:6231) + ld a, [$cd38] + and a + ret nz + call Delay3 + xor a + ld [wJoypadForbiddenButtonsMask], a + ld [W_ROUTE8GATECURSCRIPT], a + ret + +Route8GateTextPointers: ; 1e241 (7:6241) + dw Route8GateText1 + dw Route8GateText2 + dw Route8GateText3 diff --git a/scripts/route9.asm b/scripts/route9.asm new file mode 100755 index 00000000..852c09b2 --- /dev/null +++ b/scripts/route9.asm @@ -0,0 +1,269 @@ +Route9Script: ; 556bc (15:56bc) + call EnableAutoTextBoxDrawing + ld hl, Route9TrainerHeaders + ld de, Route9ScriptPointers + ld a, [W_ROUTE9CURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_ROUTE9CURSCRIPT], a + ret + +Route9ScriptPointers: ; 556cf (15:56cf) + dw CheckFightingMapTrainers + dw Func_324c + dw EndTrainerBattle + +Route9TextPointers: ; 556d5 (15:56d5) + dw Route9Text1 + dw Route9Text2 + dw Route9Text3 + dw Route9Text4 + dw Route9Text5 + dw Route9Text6 + dw Route9Text7 + dw Route9Text8 + dw Route9Text9 + dw Predef5CText + dw Route9Text11 + +Route9TrainerHeaders: ; 556eb (15:56eb) +Route9TrainerHeader0: ; 556eb (15:56eb) + db $1 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7cf ; flag's byte + dw Route9BattleText1 ; 0x5792 TextBeforeBattle + dw Route9AfterBattleText1 ; 0x579c TextAfterBattle + dw Route9EndBattleText1 ; 0x5797 TextEndBattle + dw Route9EndBattleText1 ; 0x5797 TextEndBattle + +Route9TrainerHeader2: ; 556f7 (15:56f7) + db $2 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7cf ; flag's byte + dw Route9BattleText2 ; 0x57a1 TextBeforeBattle + dw Route9AfterBattleText2 ; 0x57ab TextAfterBattle + dw Route9EndBattleText2 ; 0x57a6 TextEndBattle + dw Route9EndBattleText2 ; 0x57a6 TextEndBattle + +Route9TrainerHeader3: ; 55703 (15:5703) + db $3 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7cf ; flag's byte + dw Route9BattleText3 ; 0x57b0 TextBeforeBattle + dw Route9AfterBattleText3 ; 0x57ba TextAfterBattle + dw Route9EndBattleText3 ; 0x57b5 TextEndBattle + dw Route9EndBattleText3 ; 0x57b5 TextEndBattle + +Route9TrainerHeader4: ; 5570f (15:570f) + db $4 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7cf ; flag's byte + dw Route9BattleText4 ; 0x57bf TextBeforeBattle + dw Route9AfterBattleText4 ; 0x57c9 TextAfterBattle + dw Route9EndBattleText4 ; 0x57c4 TextEndBattle + dw Route9EndBattleText4 ; 0x57c4 TextEndBattle + +Route9TrainerHeader5: ; 5571b (15:571b) + db $5 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7cf ; flag's byte + dw Route9BattleText5 ; 0x57ce TextBeforeBattle + dw Route9AfterBattleText5 ; 0x57d8 TextAfterBattle + dw Route9EndBattleText5 ; 0x57d3 TextEndBattle + dw Route9EndBattleText5 ; 0x57d3 TextEndBattle + +Route9TrainerHeader6: ; 55727 (15:5727) + db $6 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7cf ; flag's byte + dw Route9BattleText6 ; 0x57dd TextBeforeBattle + dw Route9AfterBattleText6 ; 0x57e7 TextAfterBattle + dw Route9EndBattleText6 ; 0x57e2 TextEndBattle + dw Route9EndBattleText6 ; 0x57e2 TextEndBattle + +Route9TrainerHeader7: ; 55733 (15:5733) + db $7 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7cf ; flag's byte + dw Route9BattleText7 ; 0x57ec TextBeforeBattle + dw Route9AfterBattleText7 ; 0x57f6 TextAfterBattle + dw Route9EndBattleText7 ; 0x57f1 TextEndBattle + dw Route9EndBattleText7 ; 0x57f1 TextEndBattle + +Route9TrainerHeader8: ; 5573f (15:573f) + db $8 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7cf ; flag's byte + dw Route9BattleText8 ; 0x57fb TextBeforeBattle + dw Route9AfterBattleText8 ; 0x5805 TextAfterBattle + dw Route9EndBattleText8 ; 0x5800 TextEndBattle + dw Route9EndBattleText8 ; 0x5800 TextEndBattle + +Route9TrainerHeader9: ; 5574b (15:574b) + db $9 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d7cf ; flag's byte + dw Route9BattleText9 ; 0x580a TextBeforeBattle + dw Route9AfterBattleText9 ; 0x5814 TextAfterBattle + dw Route9EndBattleText9 ; 0x580f TextEndBattle + dw Route9EndBattleText9 ; 0x580f TextEndBattle + + db $ff + +Route9Text1: ; 55758 (15:5758) + db $8 ; asm + ld hl, Route9TrainerHeader0 + jr asm_8be3d ; 0x5575c $2e + +Route9Text2: ; 5575e (15:575e) + db $8 ; asm + ld hl, Route9TrainerHeader2 + jr asm_8be3d ; 0x55762 $28 + +Route9Text3: ; 55764 (15:5764) + db $8 ; asm + ld hl, Route9TrainerHeader3 + jr asm_8be3d ; 0x55768 $22 + +Route9Text4: ; 5576a (15:576a) + db $8 ; asm + ld hl, Route9TrainerHeader4 + jr asm_8be3d ; 0x5576e $1c + +Route9Text5: ; 55770 (15:5770) + db $8 ; asm + ld hl, Route9TrainerHeader5 + jr asm_8be3d ; 0x55774 $16 + +Route9Text6: ; 55776 (15:5776) + db $8 ; asm + ld hl, Route9TrainerHeader6 + jr asm_8be3d ; 0x5577a $10 + +Route9Text7: ; 5577c (15:577c) + db $8 ; asm + ld hl, Route9TrainerHeader7 + jr asm_8be3d ; 0x55780 $a + +Route9Text8: ; 55782 (15:5782) + db $8 ; asm + ld hl, Route9TrainerHeader8 + jr asm_8be3d ; 0x55786 $4 + +Route9Text9: ; 55788 (15:5788) + db $8 ; asm + ld hl, Route9TrainerHeader9 +asm_8be3d: ; 5578c (15:578c) + call TalkToTrainer + jp TextScriptEnd + +Route9BattleText1: ; 55792 (15:5792) + TX_FAR _Route9BattleText1 + db "@" + +Route9EndBattleText1: ; 55797 (15:5797) + TX_FAR _Route9EndBattleText1 + db "@" + +Route9AfterBattleText1: ; 5579c (15:579c) + TX_FAR _Route9AfterBattleText1 + db "@" + +Route9BattleText2: ; 557a1 (15:57a1) + TX_FAR _Route9BattleText2 + db "@" + +Route9EndBattleText2: ; 557a6 (15:57a6) + TX_FAR _Route9EndBattleText2 + db "@" + +Route9AfterBattleText2: ; 557ab (15:57ab) + TX_FAR _Route9AfterBattleText2 + db "@" + +Route9BattleText3: ; 557b0 (15:57b0) + TX_FAR _Route9BattleText3 + db "@" + +Route9EndBattleText3: ; 557b5 (15:57b5) + TX_FAR _Route9EndBattleText3 + db "@" + +Route9AfterBattleText3: ; 557ba (15:57ba) + TX_FAR _Route9AfterBattleText3 + db "@" + +Route9BattleText4: ; 557bf (15:57bf) + TX_FAR _Route9BattleText4 + db "@" + +Route9EndBattleText4: ; 557c4 (15:57c4) + TX_FAR _Route9EndBattleText4 + db "@" + +Route9AfterBattleText4: ; 557c9 (15:57c9) + TX_FAR _Route9AfterBattleText4 + db "@" + +Route9BattleText5: ; 557ce (15:57ce) + TX_FAR _Route9BattleText5 + db "@" + +Route9EndBattleText5: ; 557d3 (15:57d3) + TX_FAR _Route9EndBattleText5 + db "@" + +Route9AfterBattleText5: ; 557d8 (15:57d8) + TX_FAR _Route9AfterBattleText5 + db "@" + +Route9BattleText6: ; 557dd (15:57dd) + TX_FAR _Route9BattleText6 + db "@" + +Route9EndBattleText6: ; 557e2 (15:57e2) + TX_FAR _Route9EndBattleText6 + db "@" + +Route9AfterBattleText6: ; 557e7 (15:57e7) + TX_FAR _Route9AfterBattleText6 + db "@" + +Route9BattleText7: ; 557ec (15:57ec) + TX_FAR _Route9BattleText7 + db "@" + +Route9EndBattleText7: ; 557f1 (15:57f1) + TX_FAR _Route9EndBattleText7 + db "@" + +Route9AfterBattleText7: ; 557f6 (15:57f6) + TX_FAR _Route9AfterBattleText7 + db "@" + +Route9BattleText8: ; 557fb (15:57fb) + TX_FAR _Route9BattleText8 + db "@" + +Route9EndBattleText8: ; 55800 (15:5800) + TX_FAR _Route9EndBattleText8 + db "@" + +Route9AfterBattleText8: ; 55805 (15:5805) + TX_FAR _Route9AfterBattleText8 + db "@" + +Route9BattleText9: ; 5580a (15:580a) + TX_FAR _Route9BattleText9 + db "@" + +Route9EndBattleText9: ; 5580f (15:580f) + TX_FAR _Route9EndBattleText9 + db "@" + +Route9AfterBattleText9: ; 55814 (15:5814) + TX_FAR _Route9AfterBattleText9 + db "@" + +Route9Text11: ; 55819 (15:5819) + TX_FAR _Route9Text11 + db "@" diff --git a/scripts/safarizonecenter.asm b/scripts/safarizonecenter.asm new file mode 100755 index 00000000..6ff60ec6 --- /dev/null +++ b/scripts/safarizonecenter.asm @@ -0,0 +1,15 @@ +SafariZoneCenterScript: ; 45bb2 (11:5bb2) + jp EnableAutoTextBoxDrawing + +SafariZoneCenterTextPointers: ; 45bb5 (11:5bb5) + dw Predef5CText + dw SafariZoneCenterText2 + dw SafariZoneCenterText3 + +SafariZoneCenterText2: ; 45bbb (11:5bbb) + TX_FAR _SafariZoneCenterText2 + db "@" + +SafariZoneCenterText3: ; 45bc0 (11:5bc0) + TX_FAR _SafariZoneCenterText3 + db "@" diff --git a/scripts/safarizoneeast.asm b/scripts/safarizoneeast.asm new file mode 100755 index 00000000..3e6df139 --- /dev/null +++ b/scripts/safarizoneeast.asm @@ -0,0 +1,23 @@ +SafariZoneEastScript: ; 4586b (11:586b) + jp EnableAutoTextBoxDrawing + +SafariZoneEastTextPointers: ; 4586e (11:586e) + dw Predef5CText + dw Predef5CText + dw Predef5CText + dw Predef5CText + dw SafariZoneEastText5 + dw SafariZoneEastText6 + dw SafariZoneEastText7 + +SafariZoneEastText5: ; 4587c (11:587c) + TX_FAR _SafariZoneEastText5 + db "@" + +SafariZoneEastText6: ; 45881 (11:5881) + TX_FAR _SafariZoneEastText6 + db "@" + +SafariZoneEastText7: ; 45886 (11:5886) + TX_FAR _SafariZoneEastText7 + db "@" diff --git a/scripts/safarizoneentrance.asm b/scripts/safarizoneentrance.asm new file mode 100755 index 00000000..d1bc0d37 --- /dev/null +++ b/scripts/safarizoneentrance.asm @@ -0,0 +1,300 @@ +SafariZoneEntranceScript: ; 751cd (1d:51cd) + call EnableAutoTextBoxDrawing + ld hl, SafariZoneEntranceScriptPointers + ld a, [W_SAFARIZONEENTRANCECURSCRIPT] + jp CallFunctionInTable + +SafariZoneEntranceScriptPointers: ; 751d9 (1d:51d9) + dw SafariZoneEntranceScript0 + dw SafariZoneEntranceScript1 + dw SafariZoneEntranceScript2 + dw SafariZoneEntranceScript3 + dw SafariZoneEntranceScript4 + dw SafariZoneEntranceScript5 + dw SafariZoneEntranceScript6 + +SafariZoneEntranceScript0: ; 751e7 (1d:51e7) + ld hl, CoordsData_75221 + call ArePlayerCoordsInArray + ret nc + ld a, $3 + ld [$ff8c], a + call DisplayTextID + ld a, $ff + ld [wJoypadForbiddenButtonsMask], a + xor a + ld [H_CURRENTPRESSEDBUTTONS], a + ld a, $c + ld [$c109], a + ld a, [$cd3d] + cp $1 + jr z, .asm_7520f ; 0x75207 $6 + ld a, $2 + ld [W_SAFARIZONEENTRANCECURSCRIPT], a + ret +.asm_7520f + ld a, $10 + ld c, $1 + call SafariZoneEntranceScript_752a3 + ld a, $f0 + ld [wJoypadForbiddenButtonsMask], a + ld a, $1 + ld [W_SAFARIZONEENTRANCECURSCRIPT], a + ret + +CoordsData_75221: ; 75221 (1d:5221) + db $02,$03 + db $02,$04 + db $FF + +SafariZoneEntranceScript1: ; 75226 (1d:5226) + call SafariZoneEntranceScript_752b4 + ret nz +SafariZoneEntranceScript2: ; 7522a (1d:522a) + xor a + ld [H_CURRENTPRESSEDBUTTONS], a + ld [wJoypadForbiddenButtonsMask], a + call UpdateSprites + ld a, $4 + ld [$ff8c], a + call DisplayTextID + ld a, $ff + ld [wJoypadForbiddenButtonsMask], a + ret + +SafariZoneEntranceScript3: ; 75240 (1d:5240) + call SafariZoneEntranceScript_752b4 + ret nz + xor a + ld [wJoypadForbiddenButtonsMask], a + ld a, $5 + ld [W_SAFARIZONEENTRANCECURSCRIPT], a + ret + +SafariZoneEntranceScript5: ; 7524e (1d:524e) + ld a, $4 + ld [$d528], a + ld hl, $d790 + bit 6, [hl] + res 6, [hl] + jr z, .asm_7527f ; 0x7525a $23 + res 7, [hl] + call UpdateSprites + ld a, $f0 + ld [wJoypadForbiddenButtonsMask], a + ld a, $6 + ld [$ff8c], a + call DisplayTextID + xor a + ld [$da47], a + ld a, $80 + ld c, $3 + call SafariZoneEntranceScript_752a3 + ld a, $4 + ld [W_SAFARIZONEENTRANCECURSCRIPT], a + jr .asm_75286 ; 0x7527d $7 +.asm_7527f + ld a, $5 + ld [$ff8c], a + call DisplayTextID +.asm_75286 + ret + +SafariZoneEntranceScript4: ; 75287 (1d:5287) + call SafariZoneEntranceScript_752b4 + ret nz + xor a + ld [wJoypadForbiddenButtonsMask], a + ld a, $0 + ld [W_SAFARIZONEENTRANCECURSCRIPT], a + ret + +SafariZoneEntranceScript6: ; 75295 (1d:5295) + call SafariZoneEntranceScript_752b4 + ret nz + call Delay3 + ld a, [$cf0d] + ld [W_SAFARIZONEENTRANCECURSCRIPT], a + ret + +SafariZoneEntranceScript_752a3: ; 752a3 (1d:52a3) + push af + ld b, $0 + ld a, c + ld [$cd38], a + ld hl, $ccd3 + pop af + call FillMemory + jp Func_3486 + +SafariZoneEntranceScript_752b4: ; 752b4 (1d:52b4) + ld a, [$cd38] + and a + ret + +SafariZoneEntranceTextPointers: ; 752b9 (1d:52b9) + dw SafariZoneEntranceText1 + dw SafariZoneEntranceText2 + dw SafariZoneEntranceText3 + dw SafariZoneEntranceText4 + dw SafariZoneEntranceText5 + dw SafariZoneEntranceText6 + +SafariZoneEntranceText3: ; 752c5 (1d:52c5) +SafariZoneEntranceText1: ; 752c5 (1d:52c5) + TX_FAR _SafariZoneEntranceText1 + db "@" + +SafariZoneEntranceText4: ; 752ca (1d:52ca) + TX_FAR SafariZoneEntranceText_9e6e4 ; 0x9e6e4 + db $8 + ld a, $13 + ld [$d125], a + call DisplayTextBoxID + call YesNoChoice + ld a, [$cc26] + and a + jp nz, .asm_75346 + xor a + ld [$ff9f], a + ld a, $5 + ld [$ffa0], a + ld a, $0 + ld [$ffa1], a + call HasEnoughMoney + jr nc, .asm_752f9 ; 0x752ef $8 + ld hl, SafariZoneEntranceText_7536a + call PrintText + jr .asm_7534c ; 0x752f7 $53 +.asm_752f9 + xor a + ld [$cd3d], a + ld a, $5 + ld [$cd3e], a + ld a, $0 + ld [$cd3f], a + ld hl, $cd3f + ld de, $d349 + ld c, $3 + ld a, $c + call Predef + ld a, $13 + ld [$d125], a + call DisplayTextBoxID + ld hl, SafariZoneEntranceText_7535b + call PrintText + ld a, $1e + ld [$da47], a + ld a, 502 / $100 + ld [wSafariSteps], a + ld a, 502 % $100 + ld [wSafariSteps + 1], a + ld a, $40 + ld c, $3 + call SafariZoneEntranceScript_752a3 + ld hl, $d790 + set 7, [hl] + res 6, [hl] + ld a, $3 + ld [W_SAFARIZONEENTRANCECURSCRIPT], a + jr .asm_75358 ; 0x75344 $12 +.asm_75346 + ld hl, SafariZoneEntranceText_75365 + call PrintText +.asm_7534c + ld a, $80 + ld c, $1 + call SafariZoneEntranceScript_752a3 + ld a, $4 + ld [W_SAFARIZONEENTRANCECURSCRIPT], a +.asm_75358 + jp TextScriptEnd + +SafariZoneEntranceText_7535b: ; 7535b (1d:535b) + TX_FAR SafariZoneEntranceText_9e747 ; 0x9e747 + db $0B + +SafariZoneEntranceText_75360: ; 75360 (1d:5360) + TX_FAR _SafariZoneEntranceText_75360 + db "@" + +SafariZoneEntranceText_75365: ; 75365 (1d:5365) + TX_FAR _SafariZoneEntranceText_75365 + db "@" + +SafariZoneEntranceText_7536a: ; 7536a (1d:536a) + TX_FAR _SafariZoneEntranceText_7536a + db "@" + +SafariZoneEntranceText5: ; 7536f (1d:536f) + TX_FAR SafariZoneEntranceText_9e814 ; 0x9e814 + db $8 + call YesNoChoice + ld a, [$cc26] + and a + jr nz, .asm_7539c ; 0x7537b $1f + ld hl, SafariZoneEntranceText_753bb + call PrintText + xor a + ld [$c109], a + ld a, $80 + ld c, $3 + call SafariZoneEntranceScript_752a3 + ld hl, $d790 + res 6, [hl] + res 7, [hl] + ld a, $0 + ld [$cf0d], a + jr .asm_753b3 ; 0x7539a $17 +.asm_7539c + ld hl, SafariZoneEntranceText_753c0 + call PrintText + ld a, $4 + ld [$c109], a + ld a, $40 + ld c, $1 + call SafariZoneEntranceScript_752a3 + ld a, $5 + ld [$cf0d], a +.asm_753b3 + ld a, $6 + ld [W_SAFARIZONEENTRANCECURSCRIPT], a + jp TextScriptEnd + +SafariZoneEntranceText_753bb: ; 753bb (1d:53bb) + TX_FAR _SafariZoneEntranceText_753bb + db "@" + +SafariZoneEntranceText_753c0: ; 753c0 (1d:53c0) + TX_FAR _SafariZoneEntranceText_753c0 + db "@" + +SafariZoneEntranceText6: ; 753c5 (1d:53c5) + TX_FAR _SafariZoneEntranceText_753c5 + db "@" + +SafariZoneEntranceText2: ; 753ca (1d:53ca) + db $08 ; asm + ld hl, SafariZoneEntranceText_753e6 + call PrintText + call YesNoChoice + ld a, [$cc26] + and a + ld hl, SafariZoneEntranceText_753f0 + jr nz, .asm_278a6 ; 0x753db + ld hl, SafariZoneEntranceText_753eb +.asm_278a6 ; 0x753e0 + call PrintText + jp TextScriptEnd + +SafariZoneEntranceText_753e6: ; 753e6 (1d:53e6) + TX_FAR _SafariZoneEntranceText_753e6 + db "@" + +SafariZoneEntranceText_753eb: ; 753eb (1d:53eb) + TX_FAR _SafariZoneEntranceText_753eb + db "@" + +SafariZoneEntranceText_753f0: ; 753f0 (1d:53f0) + TX_FAR _SafariZoneEntranceText_753f0 + db "@" diff --git a/scripts/safarizonenorth.asm b/scripts/safarizonenorth.asm new file mode 100755 index 00000000..74790e76 --- /dev/null +++ b/scripts/safarizonenorth.asm @@ -0,0 +1,31 @@ +SafariZoneNorthScript: ; 459ab (11:59ab) + jp EnableAutoTextBoxDrawing + +SafariZoneNorthTextPointers: ; 459ae (11:59ae) + dw Predef5CText + dw Predef5CText + dw SafariZoneNorthText3 + dw SafariZoneNorthText4 + dw SafariZoneNorthText5 + dw SafariZoneNorthText6 + dw SafariZoneNorthText7 + +SafariZoneNorthText3: ; 459bc (11:59bc) + TX_FAR _SafariZoneNorthText3 + db "@" + +SafariZoneNorthText4: ; 459c1 (11:59c1) + TX_FAR _SafariZoneNorthText4 + db "@" + +SafariZoneNorthText5: ; 459c6 (11:59c6) + TX_FAR _SafariZoneNorthText5 + db "@" + +SafariZoneNorthText6: ; 459cb (11:59cb) + TX_FAR _SafariZoneNorthText6 + db "@" + +SafariZoneNorthText7: ; 459d0 (11:59d0) + TX_FAR _SafariZoneNorthText7 + db "@" diff --git a/scripts/safarizoneresthouse1.asm b/scripts/safarizoneresthouse1.asm new file mode 100755 index 00000000..424714e4 --- /dev/null +++ b/scripts/safarizoneresthouse1.asm @@ -0,0 +1,14 @@ +SafariZoneRestHouse1Script: ; 45ced (11:5ced) + jp EnableAutoTextBoxDrawing + +SafariZoneRestHouse1TextPointers: ; 45cf0 (11:5cf0) + dw SafariZoneRestHouse1Text1 + dw SafariZoneRestHouse1Text2 + +SafariZoneRestHouse1Text1: ; 45cf4 (11:5cf4) + TX_FAR _SafariZoneRestHouse1Text1 + db "@" + +SafariZoneRestHouse1Text2: ; 45cf9 (11:5cf9) + TX_FAR _SafariZoneRestHouse1Text2 + db "@" diff --git a/scripts/safarizoneresthouse2.asm b/scripts/safarizoneresthouse2.asm new file mode 100755 index 00000000..23cd53b2 --- /dev/null +++ b/scripts/safarizoneresthouse2.asm @@ -0,0 +1,20 @@ +SafariZoneRestHouse2Script: ; 45d2a (11:5d2a) + call EnableAutoTextBoxDrawing + ret + +SafariZoneRestHouse2TextPointers: ; 45d2e (11:5d2e) + dw SafariZoneRestHouse2Text1 + dw SafariZoneRestHouse2Text2 + dw SafariZoneRestHouse2Text3 + +SafariZoneRestHouse2Text1: ; 45d34 (11:5d34) + TX_FAR _SafariZoneRestHouse2Text1 + db "@" + +SafariZoneRestHouse2Text2: ; 45d39 (11:5d39) + TX_FAR _SafariZoneRestHouse2Text2 + db "@" + +SafariZoneRestHouse2Text3: ; 45d3e (11:5d3e) + TX_FAR _SafariZoneRestHouse2Text3 + db "@" diff --git a/scripts/safarizoneresthouse3.asm b/scripts/safarizoneresthouse3.asm new file mode 100755 index 00000000..2faa1fbb --- /dev/null +++ b/scripts/safarizoneresthouse3.asm @@ -0,0 +1,20 @@ +SafariZoneRestHouse3Script: ; 45d75 (11:5d75) + call EnableAutoTextBoxDrawing + ret + +SafariZoneRestHouse3TextPointers: ; 45d79 (11:5d79) + dw SafariZoneRestHouse3Text1 + dw SafariZoneRestHouse3Text2 + dw SafariZoneRestHouse3Text3 + +SafariZoneRestHouse3Text1: ; 45d7f (11:5d7f) + TX_FAR _SafariZoneRestHouse3Text1 + db "@" + +SafariZoneRestHouse3Text2: ; 45d84 (11:5d84) + TX_FAR _SafariZoneRestHouse3Text2 + db "@" + +SafariZoneRestHouse3Text3: ; 45d89 (11:5d89) + TX_FAR _SafariZoneRestHouse3Text3 + db "@" diff --git a/scripts/safarizoneresthouse4.asm b/scripts/safarizoneresthouse4.asm new file mode 100755 index 00000000..b645431f --- /dev/null +++ b/scripts/safarizoneresthouse4.asm @@ -0,0 +1,20 @@ +SafariZoneRestHouse4Script: ; 45dc0 (11:5dc0) + call EnableAutoTextBoxDrawing + ret + +SafariZoneRestHouse4TextPointers: ; 45dc4 (11:5dc4) + dw SafariZoneRestHouse4Text1 + dw SafariZoneRestHouse4Text2 + dw SafariZoneRestHouse4Text3 + +SafariZoneRestHouse4Text1: ; 45dca (11:5dca) + TX_FAR _SafariZoneRestHouse4Text1 + db "@" + +SafariZoneRestHouse4Text2: ; 45dcf (11:5dcf) + TX_FAR _SafariZoneRestHouse4Text2 + db "@" + +SafariZoneRestHouse4Text3: ; 45dd4 (11:5dd4) + TX_FAR _SafariZoneRestHouse4Text3 + db "@" diff --git a/scripts/safarizonesecrethouse.asm b/scripts/safarizonesecrethouse.asm new file mode 100755 index 00000000..39b7c393 --- /dev/null +++ b/scripts/safarizonesecrethouse.asm @@ -0,0 +1,46 @@ +SafariZoneSecretHouseScript: ; 4a317 (12:6317) + jp EnableAutoTextBoxDrawing + +SafariZoneSecretHouseTextPointers: ; 4a31a (12:631a) + dw SafariZoneSecretHouseText1 + +SafariZoneSecretHouseText1: ; 4a31c (12:631c) + db $08 ; asm + ld a, [$d857] + bit 0, a + jr nz, .asm_20a9b ; 0x4a322 + ld hl, SafariZoneSecretHouseText_4a350 + call PrintText + ld bc, (HM_03 << 8) | 1 + call GiveItem + jr nc, .BagFull + ld hl, ReceivedHM03Text + call PrintText + ld hl, $d857 + set 0, [hl] + jr .asm_8f1fc ; 0x4a33d +.BagFull + ld hl, HM03NoRoomText + call PrintText + jr .asm_8f1fc ; 0x4a345 +.asm_20a9b ; 0x4a347 + ld hl, HM03ExplanationText + call PrintText +.asm_8f1fc ; 0x4a34d + jp TextScriptEnd + +SafariZoneSecretHouseText_4a350: ; 4a350 (12:6350) + TX_FAR _SecretHouseText_4a350 + db "@" + +ReceivedHM03Text: ; 4a355 (12:6355) + TX_FAR _ReceivedHM03Text + db $0B, "@" + +HM03ExplanationText: ; 4a35b (12:635b) + TX_FAR _HM03ExplanationText + db "@" + +HM03NoRoomText: ; 4a360 (12:6360) + TX_FAR _HM03NoRoomText + db "@" diff --git a/scripts/safarizonewest.asm b/scripts/safarizonewest.asm new file mode 100755 index 00000000..1465af56 --- /dev/null +++ b/scripts/safarizonewest.asm @@ -0,0 +1,28 @@ +SafariZoneWestScript: ; 4a1b5 (12:61b5) + jp EnableAutoTextBoxDrawing + +SafariZoneWestTextPointers: ; 4a1b8 (12:61b8) + dw Predef5CText + dw Predef5CText + dw Predef5CText + dw Predef5CText + dw SafariZoneWestText5 + dw SafariZoneWestText6 + dw SafariZoneWestText7 + dw SafariZoneWestText8 + +SafariZoneWestText5: ; 4a1c8 (12:61c8) + TX_FAR _SafariZoneWestText5 + db "@" + +SafariZoneWestText6: ; 4a1cd (12:61cd) + TX_FAR _SafariZoneWestText6 + db "@" + +SafariZoneWestText7: ; 4a1d2 (12:61d2) + TX_FAR _SafariZoneWestText7 + db "@" + +SafariZoneWestText8: ; 4a1d7 (12:61d7) + TX_FAR _SafariZoneWestText8 + db "@" diff --git a/scripts/saffroncity.asm b/scripts/saffroncity.asm new file mode 100755 index 00000000..d8e7d0c6 --- /dev/null +++ b/scripts/saffroncity.asm @@ -0,0 +1,121 @@ +SaffronCityScript: ; 50c00 (14:4c00) + jp EnableAutoTextBoxDrawing + +SaffronCityTextPointers: ; 50c03 (14:4c03) + dw SaffronCityText1 + dw SaffronCityText2 + dw SaffronCityText3 + dw SaffronCityText4 + dw SaffronCityText5 + dw SaffronCityText6 + dw SaffronCityText7 + dw SaffronCityText8 + dw SaffronCityText9 + dw SaffronCityText10 + dw SaffronCityText11 + dw SaffronCityText12 + dw SaffronCityText13 + dw SaffronCityText14 + dw SaffronCityText15 + dw SaffronCityText16 + dw SaffronCityText17 + dw SaffronCityText18 + dw MartSignText + dw SaffronCityText20 + dw SaffronCityText21 + dw SaffronCityText22 + dw PokeCenterSignText + dw SaffronCityText24 + dw SaffronCityText25 + +SaffronCityText1: ; 50c35 (14:4c35) + TX_FAR _SaffronCityText1 + db "@" + +SaffronCityText2: ; 50c3a (14:4c3a) + TX_FAR _SaffronCityText2 + db "@" + +SaffronCityText3: ; 50c3f (14:4c3f) + TX_FAR _SaffronCityText3 + db "@" + +SaffronCityText4: ; 50c44 (14:4c44) + TX_FAR _SaffronCityText4 + db "@" + +SaffronCityText5: ; 50c49 (14:4c49) + TX_FAR _SaffronCityText5 + db "@" + +SaffronCityText6: ; 50c4e (14:4c4e) + TX_FAR _SaffronCityText6 + db "@" + +SaffronCityText7: ; 50c53 (14:4c53) + TX_FAR _SaffronCityText7 + db "@" + +SaffronCityText8: ; 50c58 (14:4c58) + TX_FAR _SaffronCityText8 + db "@" + +SaffronCityText9: ; 50c5d (14:4c5d) + TX_FAR _SaffronCityText9 + db "@" + +SaffronCityText10: ; 50c62 (14:4c62) + TX_FAR _SaffronCityText10 + db "@" + +SaffronCityText11: ; 50c67 (14:4c67) + TX_FAR _SaffronCityText11 + db "@" + +SaffronCityText12: ; 50c6c (14:4c6c) + TX_FAR _SaffronCityText12 + db $15, "@" + +SaffronCityText13: ; 50c72 (14:4c72) + TX_FAR _SaffronCityText13 + db "@" + +SaffronCityText14: ; 50c77 (14:4c77) + TX_FAR _SaffronCityText14 + db "@" + +SaffronCityText15: ; 50c7c (14:4c7c) + TX_FAR _SaffronCityText15 + db "@" + +SaffronCityText16: ; 50c81 (14:4c81) + TX_FAR _SaffronCityText16 + db "@" + +SaffronCityText17: ; 50c86 (14:4c86) + TX_FAR _SaffronCityText17 + db "@" + +SaffronCityText18: ; 50c8b (14:4c8b) + TX_FAR _SaffronCityText18 + db "@" + +SaffronCityText20: ; 50c90 (14:4c90) + TX_FAR _SaffronCityText20 + db "@" + +SaffronCityText21: ; 50c95 (14:4c95) + TX_FAR _SaffronCityText21 + db "@" + +SaffronCityText22: ; 50c9a (14:4c9a) + TX_FAR _SaffronCityText22 + db "@" + +SaffronCityText24: ; 50c9f (14:4c9f) + TX_FAR _SaffronCityText24 + db "@" + +SaffronCityText25: ; 50ca4 (14:4ca4) + TX_FAR _SaffronCityText25 + db "@" diff --git a/scripts/saffrongym.asm b/scripts/saffrongym.asm new file mode 100755 index 00000000..40482831 --- /dev/null +++ b/scripts/saffrongym.asm @@ -0,0 +1,367 @@ +SaffronGymScript: ; 5d00d (17:500d) + ld hl, $d126 + bit 6, [hl] + res 6, [hl] + call nz, .extra + call EnableAutoTextBoxDrawing + ld hl, SaffronGymTrainerHeader0 + ld de, SaffronGymScriptPointers + ld a, [W_SAFFRONGYMCURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_SAFFRONGYMCURSCRIPT], a + ret + +.extra + ld hl, Gym6CityName ; $5033 + ld de, Gym6LeaderName ; $5040 + jp LoadGymLeaderAndCityName + +Gym6CityName: ; 5d033 (17:5033) + db "SAFFRON CITY@" + +Gym6LeaderName: ; 5d040 (17:5040) + db "SABRINA@" + +SaffronGymText_5d048: ; 5d048 (17:5048) + xor a + ld [wJoypadForbiddenButtonsMask], a + ld [W_SAFFRONGYMCURSCRIPT], a + ld [W_CURMAPSCRIPT], a + ret + +SaffronGymScriptPointers: ; 5d053 (17:5053) + dw CheckFightingMapTrainers + dw Func_324c + dw EndTrainerBattle + dw SaffronGymScript3 + +SaffronGymScript3: ; 5d05b (17:505b) + ld a, [W_ISINBATTLE] ; $d057 + cp $ff + jp z, SaffronGymText_5d048 + ld a, $f0 + ld [wJoypadForbiddenButtonsMask], a + +SaffronGymText_5d068: ; 5d068 (17:5068) + ld a, $a + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + call DisplayTextID + ld hl, $d7b3 + set 1, [hl] + ld bc, (TM_46 << 8) | 1 + call GiveItem + jr nc, .BagFull + ld a, $b + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + call DisplayTextID + ld hl, $d7b3 + set 0, [hl] + jr .asm_5d091 +.BagFull + ld a, $c + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + call DisplayTextID +.asm_5d091 + ld hl, W_OBTAINEDBADGES + set 5, [hl] + ld hl, $d72a + set 5, [hl] + + ; deactivate gym trainers + ld a, [$d7b3] + or %11111100 + ld [$d7b3], a + ld hl, $d7b4 + set 0, [hl] + + jp SaffronGymText_5d048 + +SaffronGymTextPointers: ; 5d0ab (17:50ab) + dw SaffronGymText1 + dw SaffronGymText2 + dw SaffronGymText3 + dw SaffronGymText4 + dw SaffronGymText5 + dw SaffronGymText6 + dw SaffronGymText7 + dw SaffronGymText8 + dw SaffronGymText9 + dw SaffronGymText10 + dw SaffronGymText11 + dw SaffronGymText12 + +SaffronGymTrainerHeaders: ; 5d0c3 (17:50c3) +SaffronGymTrainerHeader0: ; 5d0c3 (17:50c3) + db $2 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7b3 ; flag's byte + dw SaffronGymBattleText1 ; 0x51f0 TextBeforeBattle + dw SaffronGymAfterBattleText1 ; 0x51fa TextAfterBattle + dw SaffronGymEndBattleText1 ; 0x51f5 TextEndBattle + dw SaffronGymEndBattleText1 ; 0x51f5 TextEndBattle + +SaffronGymTrainerHeader1: ; 5d0cf (17:50cf) + db $3 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7b3 ; flag's byte + dw SaffronGymBattleText2 ; 0x51ff TextBeforeBattle + dw SaffronGymAfterBattleText2 ; 0x5209 TextAfterBattle + dw SaffronGymEndBattleText2 ; 0x5204 TextEndBattle + dw SaffronGymEndBattleText2 ; 0x5204 TextEndBattle + +SaffronGymTrainerHeader2: ; 5d0db (17:50db) + db $4 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7b3 ; flag's byte + dw SaffronGymBattleText3 ; 0x520e TextBeforeBattle + dw SaffronGymAfterBattleText3 ; 0x5218 TextAfterBattle + dw SaffronGymEndBattleText3 ; 0x5213 TextEndBattle + dw SaffronGymEndBattleText3 ; 0x5213 TextEndBattle + +SaffronGymTrainerHeader3: ; 5d0e7 (17:50e7) + db $5 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7b3 ; flag's byte + dw SaffronGymBattleText4 ; 0x521d TextBeforeBattle + dw SaffronGymAfterBattleText4 ; 0x5227 TextAfterBattle + dw SaffronGymEndBattleText4 ; 0x5222 TextEndBattle + dw SaffronGymEndBattleText4 ; 0x5222 TextEndBattle + +SaffronGymTrainerHeader4: ; 5d0f3 (17:50f3) + db $6 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7b3 ; flag's byte + dw SaffronGymBattleText5 ; 0x522c TextBeforeBattle + dw SaffronGymAfterBattleText5 ; 0x5236 TextAfterBattle + dw SaffronGymEndBattleText5 ; 0x5231 TextEndBattle + dw SaffronGymEndBattleText5 ; 0x5231 TextEndBattle + +SaffronGymTrainerHeader5: ; 5d0ff (17:50ff) + db $7 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7b3 ; flag's byte + dw SaffronGymBattleText6 ; 0x523b TextBeforeBattle + dw SaffronGymAfterBattleText6 ; 0x5245 TextAfterBattle + dw SaffronGymEndBattleText6 ; 0x5240 TextEndBattle + dw SaffronGymEndBattleText6 ; 0x5240 TextEndBattle + +SaffronGymTrainerHeader6: ; 5d10b (17:510b) + db $8 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7b3 ; flag's byte + dw SaffronGymBattleText7 ; 0x524a TextBeforeBattle + dw SaffronGymAfterBattleText7 ; 0x5254 TextAfterBattle + dw SaffronGymEndBattleText7 ; 0x524f TextEndBattle + dw SaffronGymEndBattleText7 ; 0x524f TextEndBattle + + db $ff + +SaffronGymText1: ; 5d118 (17:5118) + db $08 ; asm + ld a, [$d7b3] + bit 1, a + jr z, .asm_e3544 ; 0x5d11e + bit 0, a + jr nz, .asm_8d2f6 ; 0x5d122 + call z, SaffronGymText_5d068 + call DisableWaitingAfterTextDisplay + jr .asm_34c2c ; 0x5d12a +.asm_8d2f6 ; 0x5d12c + ld hl, SaffronGymText_5d16e + call PrintText + jr .asm_34c2c ; 0x5d132 +.asm_e3544 ; 0x5d134 + ld hl, SaffronGymText_5d162 + call PrintText + ld hl, $d72d + set 6, [hl] + set 7, [hl] + ld hl, SaffronGymText_5d167 + ld de, SaffronGymText_5d167 + call PreBattleSaveRegisters + ldh a, [$8c] + ld [$cf13], a + call EngageMapTrainer + call InitBattleEnemyParameters + ld a, $6 + ld [$d05c], a + ld a, $3 + ld [W_SAFFRONGYMCURSCRIPT], a +.asm_34c2c ; 0x5d15f + jp TextScriptEnd + +SaffronGymText_5d162: ; 5d162 (17:5162) + TX_FAR _SaffronGymText_5d162 + db "@" + +SaffronGymText_5d167: ; 5d167 (17:5167) + TX_FAR _SaffronGymText_5d167 ; 0xa1c73 + db $11 ; play same sound as red giving oak parcel + db $6 ; wait for keypress + db "@" + +SaffronGymText_5d16e: ; 5d16e (17:516e) + TX_FAR _SaffronGymText_5d16e + db "@" + +SaffronGymText10: ; 5d173 (17:5173) + TX_FAR _SaffronGymText_5d173 + db "@" + +SaffronGymText11: ; 5d178 (17:5178) + TX_FAR ReceivedTM46Text + db $b + TX_FAR _TM46ExplanationText + db "@" + +SaffronGymText12: ; 5d182 (17:5182) + TX_FAR _TM46NoRoomText + db "@" + +SaffronGymText2: ; 5d187 (17:5187) + db $08 ; asm + ld hl, SaffronGymTrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +SaffronGymText3: ; 5d191 (17:5191) + db $08 ; asm + ld hl, SaffronGymTrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +SaffronGymText4: ; 5d19b (17:519b) + db $08 ; asm + ld hl, SaffronGymTrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +SaffronGymText5: ; 5d1a5 (17:51a5) + db $08 ; asm + ld hl, SaffronGymTrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +SaffronGymText6: ; 5d1af (17:51af) + db $08 ; asm + ld hl, SaffronGymTrainerHeader4 + call TalkToTrainer + jp TextScriptEnd + +SaffronGymText7: ; 5d1b9 (17:51b9) + db $08 ; asm + ld hl, SaffronGymTrainerHeader5 + call TalkToTrainer + jp TextScriptEnd + +SaffronGymText8: ; 5d1c3 (17:51c3) + db $08 ; asm + ld hl, SaffronGymTrainerHeader6 + call TalkToTrainer + jp TextScriptEnd + +SaffronGymText9: ; 5d1cd (17:51cd) + db $08 ; asm + ld a, [$d7b3] + bit 1, a + jr nz, .asm_13f3c ; 0x5d1d3 + ld hl, SaffronGymText_5d1e6 + call PrintText + jr .asm_e9907 ; 0x5d1db +.asm_13f3c ; 0x5d1dd + ld hl, SaffronGymText_5d1eb + call PrintText +.asm_e9907 ; 0x5d1e3 + jp TextScriptEnd + +SaffronGymText_5d1e6: ; 5d1e6 (17:51e6) + TX_FAR _SaffronGymText_5d1e6 + db "@" + +SaffronGymText_5d1eb: ; 5d1eb (17:51eb) + TX_FAR _SaffronGymText_5d1eb + db "@" + +SaffronGymBattleText1: ; 5d1f0 (17:51f0) + TX_FAR _SaffronGymBattleText1 + db "@" + +SaffronGymEndBattleText1: ; 5d1f5 (17:51f5) + TX_FAR _SaffronGymEndBattleText1 + db "@" + +SaffronGymAfterBattleText1: ; 5d1fa (17:51fa) + TX_FAR _SaffronGymAfterBattleText1 + db "@" + +SaffronGymBattleText2: ; 5d1ff (17:51ff) + TX_FAR _SaffronGymBattleText2 + db "@" + +SaffronGymEndBattleText2: ; 5d204 (17:5204) + TX_FAR _SaffronGymEndBattleText2 + db "@" + +SaffronGymAfterBattleText2: ; 5d209 (17:5209) + TX_FAR _SaffronGymAfterBattleText2 + db "@" + +SaffronGymBattleText3: ; 5d20e (17:520e) + TX_FAR _SaffronGymBattleText3 + db "@" + +SaffronGymEndBattleText3: ; 5d213 (17:5213) + TX_FAR _SaffronGymEndBattleText3 + db "@" + +SaffronGymAfterBattleText3: ; 5d218 (17:5218) + TX_FAR _SaffronGymAfterBattleText3 + db "@" + +SaffronGymBattleText4: ; 5d21d (17:521d) + TX_FAR _SaffronGymBattleText4 + db "@" + +SaffronGymEndBattleText4: ; 5d222 (17:5222) + TX_FAR _SaffronGymEndBattleText4 + db "@" + +SaffronGymAfterBattleText4: ; 5d227 (17:5227) + TX_FAR _SaffronGymAfterBattleText4 + db "@" + +SaffronGymBattleText5: ; 5d22c (17:522c) + TX_FAR _SaffronGymBattleText5 + db "@" + +SaffronGymEndBattleText5: ; 5d231 (17:5231) + TX_FAR _SaffronGymEndBattleText5 + db "@" + +SaffronGymAfterBattleText5: ; 5d236 (17:5236) + TX_FAR _SaffronGymAfterBattleText5 + db "@" + +SaffronGymBattleText6: ; 5d23b (17:523b) + TX_FAR _SaffronGymBattleText6 + db "@" + +SaffronGymEndBattleText6: ; 5d240 (17:5240) + TX_FAR _SaffronGymEndBattleText6 + db "@" + +SaffronGymAfterBattleText6: ; 5d245 (17:5245) + TX_FAR _SaffronGymAfterBattleText6 + db "@" + +SaffronGymBattleText7: ; 5d24a (17:524a) + TX_FAR _SaffronGymBattleText7 + db "@" + +SaffronGymEndBattleText7: ; 5d24f (17:524f) + TX_FAR _SaffronGymEndBattleText7 + db "@" + +SaffronGymAfterBattleText7: ; 5d254 (17:5254) + TX_FAR _SaffronGymAfterBattleText7 + db "@" diff --git a/scripts/saffronhouse1.asm b/scripts/saffronhouse1.asm new file mode 100755 index 00000000..39a70ebf --- /dev/null +++ b/scripts/saffronhouse1.asm @@ -0,0 +1,27 @@ +SaffronHouse1Script: ; 1dddd (7:5ddd) + jp EnableAutoTextBoxDrawing + +SaffronHouse1TextPointers: ; 1dde0 (7:5de0) + dw SaffronHouse1Text1 + dw SaffronHouse1Text2 + dw SaffronHouse1Text3 + dw SaffronHouse1Text4 + +SaffronHouse1Text1: ; 1dde8 (7:5de8) + TX_FAR _SaffronHouse1Text1 + db "@" + +SaffronHouse1Text2: ; 1dded (7:5ded) + TX_FAR _SaffronHouse1Text2 + db $8 + ld a, PIDGEY + call PlayCry + jp TextScriptEnd + +SaffronHouse1Text3: ; 1ddfa (7:5dfa) + TX_FAR _SaffronHouse1Text3 + db "@" + +SaffronHouse1Text4: ; 1ddff (7:5dff) + TX_FAR _SaffronHouse1Text4 + db "@" diff --git a/scripts/saffronhouse2.asm b/scripts/saffronhouse2.asm new file mode 100755 index 00000000..a48ec3f6 --- /dev/null +++ b/scripts/saffronhouse2.asm @@ -0,0 +1,46 @@ +SaffronHouse2Script: ; 1de3c (7:5e3c) + jp EnableAutoTextBoxDrawing + +SaffronHouse2TextPointers: ; 1de3f (7:5e3f) + dw SaffronHouse2Text1 + +SaffronHouse2Text1: ; 1de41 (7:5e41) + db $08 ; asm + ld a, [$d7bd] + bit 0, a + jr nz, .asm_9e72b ; 0x1de47 + ld hl, TM29PreReceiveText + call PrintText + ld bc,(TM_29 << 8) | 1 + call GiveItem + jr nc, .BagFull + ld hl, ReceivedTM29Text + call PrintText + ld hl, $d7bd + set 0, [hl] + jr .asm_fe4e1 ; 0x1de62 +.BagFull + ld hl, TM29NoRoomText + call PrintText + jr .asm_fe4e1 ; 0x1de6a +.asm_9e72b ; 0x1de6c + ld hl, TM29ExplanationText + call PrintText +.asm_fe4e1 ; 0x1de72 + jp TextScriptEnd + +TM29PreReceiveText: ; 1de75 (7:5e75) + TX_FAR _TM29PreReceiveText + db "@" + +ReceivedTM29Text: ; 1de7a (7:5e7a) + TX_FAR _ReceivedTM29Text + db $0B, "@" + +TM29ExplanationText: ; 1de80 (7:5e80) + TX_FAR _TM29ExplanationText + db "@" + +TM29NoRoomText: ; 1de85 (7:5e85) + TX_FAR _TM29NoRoomText + db "@" diff --git a/scripts/saffronmart.asm b/scripts/saffronmart.asm new file mode 100755 index 00000000..9ee1db0e --- /dev/null +++ b/scripts/saffronmart.asm @@ -0,0 +1,15 @@ +SaffronMartScript: ; 5d409 (17:5409) + jp EnableAutoTextBoxDrawing + +SaffronMartTextPointers: ; 5d40c (17:540c) + dw SaffronMartText1 + dw SaffronMartText2 + dw SaffronMartText3 + +SaffronMartText2: ; 5d412 (17:5412) + TX_FAR _SaffronMartText2 + db "@" + +SaffronMartText3: ; 5d417 (17:5417) + TX_FAR _SaffronMartText3 + db "@" diff --git a/scripts/saffronpokecenter.asm b/scripts/saffronpokecenter.asm new file mode 100755 index 00000000..7f3a656a --- /dev/null +++ b/scripts/saffronpokecenter.asm @@ -0,0 +1,23 @@ +SaffronPokecenterScript: ; 5d535 (17:5535) + call Func_22fa + jp EnableAutoTextBoxDrawing + +SaffronPokecenterTextPointers: ; 5d53b (17:553b) + dw SaffronPokecenterText1 + dw SaffronPokecenterText2 + dw SaffronPokecenterText3 + dw SaffronPokecenterText4 + +SaffronPokecenterText1: ; 5d543 (17:5543) + db $ff + +SaffronPokecenterText2: ; 5d544 (17:5544) + TX_FAR _SaffronPokecenterText1 + db "@" + +SaffronPokecenterText3: ; 5d549 (17:5549) + TX_FAR _SaffronPokecenterText3 + db "@" + +SaffronPokecenterText4: ; 5d54e (17:554e) + db $f6 diff --git a/scripts/school.asm b/scripts/school.asm new file mode 100755 index 00000000..57eb58c8 --- /dev/null +++ b/scripts/school.asm @@ -0,0 +1,14 @@ +SchoolScript: ; 1d54c (7:554c) + jp EnableAutoTextBoxDrawing + +SchoolTextPointers: ; 1d54f (7:554f) + dw SchoolText1 + dw SchoolText2 + +SchoolText1: ; 1d553 (7:5553) + TX_FAR _SchoolText1 + db "@" + +SchoolText2: ; 1d558 (7:5558) + TX_FAR _SchoolText2 + db "@" diff --git a/scripts/seafoamislands1.asm b/scripts/seafoamislands1.asm new file mode 100755 index 00000000..3d20a653 --- /dev/null +++ b/scripts/seafoamislands1.asm @@ -0,0 +1,50 @@ +SeafoamIslands1Script: ; 447e9 (11:47e9) + call EnableAutoTextBoxDrawing + ld hl, $d7e7 + set 0, [hl] + ld hl, wFlags_0xcd60 + bit 7, [hl] + res 7, [hl] + jr z, .asm_4483b ; 0x447f8 $41 + ld hl, Seafoam1HolesCoords + call CheckBoulderCoords + ret nc + ld hl, $d7e8 + ld a, [$cd3d] + cp $1 + jr nz, .asm_44819 ; 0x44809 $e + set 6, [hl] + ld a, $d7 + ld [$d079], a + ld a, $d9 + ld [$d07a], a + jr .asm_44825 ; 0x44817 $c +.asm_44819 + set 7, [hl] + ld a, $d8 + ld [$d079], a + ld a, $da + ld [$d07a], a +.asm_44825 + ld a, [$d079] + ld [$cc4d], a + ld a, $11 + call Predef + ld a, [$d07a] + ld [$cc4d], a + ld a, $15 + jp Predef +.asm_4483b + ld a, $9f + ld [$d71d], a + ld hl, Seafoam1HolesCoords + jp Func_46981 + +Seafoam1HolesCoords: ; 44846 (11:4846) + db $06,$11 + db $06,$18 + db $ff + +SeafoamIslands1TextPointers: ; 4484b (11:484b) + dw BoulderText + dw BoulderText diff --git a/scripts/seafoamislands2.asm b/scripts/seafoamislands2.asm new file mode 100755 index 00000000..a20bf497 --- /dev/null +++ b/scripts/seafoamislands2.asm @@ -0,0 +1,48 @@ +SeafoamIslands2Script: ; 46315 (11:6315) + call EnableAutoTextBoxDrawing + ld hl, wFlags_0xcd60 + bit 7, [hl] + res 7, [hl] + jr z, .asm_46362 ; 0x4631f $41 + ld hl, Seafoam2HolesCoords + call CheckBoulderCoords + ret nc + ld hl, $d87f + ld a, [$cd3d] + cp $1 + jr nz, .asm_46340 ; 0x46330 $e + set 0, [hl] + ld a, $d9 + ld [$d079], a + ld a, $db + ld [$d07a], a + jr .asm_4634c ; 0x4633e $c +.asm_46340 + set 1, [hl] + ld a, $da + ld [$d079], a + ld a, $dc + ld [$d07a], a +.asm_4634c + ld a, [$d079] + ld [$cc4d], a + ld a, $11 + call Predef + ld a, [$d07a] + ld [$cc4d], a + ld a, $15 + jp Predef +.asm_46362 + ld a, $a0 + ld [$d71d], a + ld hl, Seafoam2HolesCoords + jp Func_46981 + +Seafoam2HolesCoords: ; 4636d (11:636d) + db $06,$12 + db $06,$17 + db $ff + +SeafoamIslands2TextPointers: ; 46372 (11:6372) + dw BoulderText + dw BoulderText diff --git a/scripts/seafoamislands3.asm b/scripts/seafoamislands3.asm new file mode 100755 index 00000000..a6e00936 --- /dev/null +++ b/scripts/seafoamislands3.asm @@ -0,0 +1,48 @@ +SeafoamIslands3Script: ; 46451 (11:6451) + call EnableAutoTextBoxDrawing + ld hl, wFlags_0xcd60 + bit 7, [hl] + res 7, [hl] + jr z, .asm_4649e ; 0x4645b $41 + ld hl, Seafoam3HolesCoords + call CheckBoulderCoords + ret nc + ld hl, $d880 + ld a, [$cd3d] + cp $1 + jr nz, .asm_4647c ; 0x4646c $e + set 0, [hl] + ld a, $db + ld [$d079], a + ld a, $df + ld [$d07a], a + jr .asm_46488 ; 0x4647a $c +.asm_4647c + set 1, [hl] + ld a, $dc + ld [$d079], a + ld a, $e0 + ld [$d07a], a +.asm_46488 + ld a, [$d079] + ld [$cc4d], a + ld a, $11 + call Predef + ld a, [$d07a] + ld [$cc4d], a + ld a, $15 + jp Predef +.asm_4649e + ld a, $a1 + ld [$d71d], a + ld hl, Seafoam3HolesCoords + jp Func_46981 + +Seafoam3HolesCoords: ; 464a9 (11:64a9) + db $06,$13 + db $06,$16 + db $ff + +SeafoamIslands3TextPointers: ; 464ae (11:64ae) + dw BoulderText + dw BoulderText diff --git a/scripts/seafoamislands4.asm b/scripts/seafoamislands4.asm new file mode 100755 index 00000000..c7be0f44 --- /dev/null +++ b/scripts/seafoamislands4.asm @@ -0,0 +1,148 @@ +SeafoamIslands4Script: ; 4658d (11:658d) + call EnableAutoTextBoxDrawing + ld hl, wFlags_0xcd60 + bit 7, [hl] + res 7, [hl] + jr z, .asm_465dc ; 0x46597 $43 + ld hl, Seafoam4HolesCoords + call CheckBoulderCoords + ret nc + ld hl, $d881 + ld a, [$cd3d] + cp $1 + jr nz, .asm_465b8 ; 0x465a8 $e + set 0, [hl] + ld a, $dd + ld [$d079], a + ld a, $e1 + ld [$d07a], a + jr .asm_465c4 ; 0x465b6 $c +.asm_465b8 + set 1, [hl] + ld a, $de + ld [$d079], a + ld a, $e2 + ld [$d07a], a +.asm_465c4 + ld a, [$d079] + ld [$cc4d], a + ld a, $11 + call Predef + ld a, [$d07a] + ld [$cc4d], a + ld a, $15 + call Predef + jr .asm_465ed ; 0x465da $11 +.asm_465dc + ld a, $a2 + ld [$d71d], a + ld hl, Seafoam4HolesCoords + call Func_46981 + ld a, [$d732] + bit 4, a + ret nz +.asm_465ed + ld hl, SeafoamIslands4ScriptPointers + ld a, [W_SEAFOAMISLANDS4CURSCRIPT] + jp CallFunctionInTable + +Seafoam4HolesCoords: ; 465f6 (11:65f6) + db $10,$03 + db $10,$06 + db $ff + +SeafoamIslands4ScriptPointers: ; 465fb (11:65fb) + dw SeafoamIslands4Script0 + dw SeafoamIslands4Script1 + dw SeafoamIslands4Script2 + dw SeafoamIslands4Script3 + +SeafoamIslands4Script0: ; 46603 (11:6603) + ld a, [$d880] + and $3 + cp $3 + ret z + ld a, [W_YCOORD] + cp $8 + ret nz + ld a, [W_XCOORD] + cp $f + ret nz + ld hl, $ccd3 + ld de, RLEMovement46632 + call DecodeRLEList + dec a + ld [$cd38], a + call Func_3486 + ld hl, W_FLAGS_D733 + set 2, [hl] + ld a, $1 + ld [W_SEAFOAMISLANDS4CURSCRIPT], a + ret + +RLEMovement46632: ; 46632 (11:6632) + db $80,6 + db $10,5 + db $80,3 + db $ff + +SeafoamIslands4Script1: ; 46639 (11:6639) + ld a, [$cd38] + and a + ret nz + ld a, $0 + ld [W_SEAFOAMISLANDS4CURSCRIPT], a + ret + +SeafoamIslands4Script2: ; 46644 (11:6644) + ld a, [$d880] + and $3 + cp $3 + ret z + ld a, [W_XCOORD] + cp $12 + jr z, .asm_4665e + cp $13 + ld a, $0 + jr nz, .asm_4667b + ld de, RLEData_4667f + jr .asm_46661 +.asm_4665e + ld de, RLEData_46688 +.asm_46661 + ld hl, $ccd3 + call DecodeRLEList + dec a + ld [$cd38], a + xor a + ld [$c206], a + ld hl, $d730 + set 7, [hl] + ld hl, W_FLAGS_D733 + set 2, [hl] + ld a, $3 +.asm_4667b + ld [W_SEAFOAMISLANDS4CURSCRIPT], a + ret + +RLEData_4667f: ; 4667f (11:667f) + db $80,$06,$10,$02,$80,$04,$20,$01,$FF + +RLEData_46688: ; 46688 (11:6688) + db $80,$06,$10,$02,$80,$04,$FF + +SeafoamIslands4Script3: ; 4668f (11:668f) + ld a, [$cd38] + and a + ret nz + ld a, $0 + ld [W_SEAFOAMISLANDS4CURSCRIPT], a + ret + +SeafoamIslands4TextPointers: ; 4669a (11:669a) + dw BoulderText + dw BoulderText + dw BoulderText + dw BoulderText + dw BoulderText + dw BoulderText diff --git a/scripts/seafoamislands5.asm b/scripts/seafoamislands5.asm new file mode 100755 index 00000000..153a1bb6 --- /dev/null +++ b/scripts/seafoamislands5.asm @@ -0,0 +1,178 @@ +SeafoamIslands5Script: ; 46799 (11:6799) + call EnableAutoTextBoxDrawing + ld a, [W_SEAFOAMISLANDS5CURSCRIPT] + ld hl, SeafoamIslands5ScriptPointers + jp CallFunctionInTable + +SeafoamIslands5Script_467a5: ; 467a5 (11:67a5) + xor a + ld [W_SEAFOAMISLANDS5CURSCRIPT], a + ld [wJoypadForbiddenButtonsMask], a + ret + +SeafoamIslands5ScriptPointers: ; 467ad (11:67ad) + dw SeafoamIslands5Script0 + dw SeafoamIslands5Script1 + dw SeafoamIslands5Script2 + dw SeafoamIslands5Script3 + dw SeafoamIslands5Script4 + +SeafoamIslands5Script4: ; 467b7 (11:67b7) + ld a, [W_ISINBATTLE] + cp $ff + jr z, SeafoamIslands5Script_467a5 + call EndTrainerBattle + ld a, $0 + ld [W_SEAFOAMISLANDS5CURSCRIPT], a + ret + +SeafoamIslands5Script0: ; 467c7 (11:67c7) + ld a, [$d880] + and $3 + cp $3 + ret z + ld hl, CoordsData_467fe + call ArePlayerCoordsInArray + ret nc + ld a, [$cd3d] + cp $3 + jr nc, .asm_467e6 + ld a, $40 + ld [$ccd4], a + ld a, $2 + jr .asm_467e8 +.asm_467e6 + ld a, $1 +.asm_467e8 + ld [$cd38], a + ld a, $40 + ld [$ccd3], a + call Func_3486 + ld hl, W_FLAGS_D733 + res 2, [hl] + ld a, $1 + ld [W_SEAFOAMISLANDS5CURSCRIPT], a + ret + +CoordsData_467fe: ; 467fe (11:67fe) + db $11,$14 + db $11,$15 + db $10,$14 + db $10,$15 + db $FF + +SeafoamIslands5Script1: ; 46807 (11:6807) + ld a, [$cd38] + and a + ret nz + xor a + ld [wJoypadForbiddenButtonsMask], a + ld a, $0 + ld [W_SEAFOAMISLANDS5CURSCRIPT], a + ret + +SeafoamIslands5Script2: ; 46816 (11:6816) + ld a, [$d881] + and $3 + cp $3 + ld a, $0 + jr z, .asm_46849 + ld hl, CoordsData_4684d + call ArePlayerCoordsInArray + ld a, $0 + jr nc, .asm_46849 + ld a, [$cd3d] + cp $1 + jr nz, .asm_46837 + ld de, RLEMovementData_46859 + jr .asm_4683a +.asm_46837 + ld de, RLEMovementData_46852 +.asm_4683a + ld hl, $ccd3 + call DecodeRLEList + dec a + ld [$cd38], a + call Func_3486 + ld a, $3 +.asm_46849 + ld [W_SEAFOAMISLANDS5CURSCRIPT], a + ret + +CoordsData_4684d: ; 4684d (11:684d) + db $0E,$04 + db $0E,$05 + db $FF + +RLEMovementData_46852: ; 46852 (11:6852) + db $40,$03 + db $10,$02 + db $40,$01 + db $FF + +RLEMovementData_46859: ; 46859 (11:6859) + db $40,$03 + db $10,$03 + db $40,$01 + db $FF + +SeafoamIslands5Script3: ; 46860 (11:6860) + ld a, [$cd38] + ld b, a + cp $1 + call z, SeaFoamIslands5Script_46872 + ld a, b + and a + ret nz + ld a, $0 + ld [W_SEAFOAMISLANDS5CURSCRIPT], a + ret + +SeaFoamIslands5Script_46872: ; 46872 (11:6872) + xor a + ld [$d700], a + ld [$d11a], a + jp ForceBikeOrSurf + +SeafoamIslands5TextPointers: ; 4687c (11:687c) + dw BoulderText + dw BoulderText + dw SeafoamIslands5Text3 + dw SeafoamIslands5Text4 + dw SeafoamIslands5Text5 + +SeafoamIslands5TrainerHeaders: ; 46886 (11:6886) +SeafoamIslands5TrainerHeader0: ; 46886 (11:6886) + db $2 ; flag's bit + db ($0 << 4) ; trainer's view range + dw $d882 ; flag's byte + dw SeafoamIslands5BattleText2 ; 0x68a2 TextBeforeBattle + dw SeafoamIslands5BattleText2 ; 0x68a2 TextAfterBattle + dw SeafoamIslands5BattleText2 ; 0x68a2 TextEndBattle + dw SeafoamIslands5BattleText2 ; 0x68a2 TextEndBattle + + db $ff + +SeafoamIslands5Text3: ; 46893 (11:6893) + db $08 ; asm + ld hl, SeafoamIslands5TrainerHeader0 + call TalkToTrainer + ld a, $4 + ld [W_SEAFOAMISLANDS5CURSCRIPT], a + jp TextScriptEnd + +SeafoamIslands5BattleText2: ; 468a2 (11:68a2) + TX_FAR _SeafoamIslands5BattleText2 + db $8 + ld a, ARTICUNO + call PlayCry + call WaitForSoundToFinish + jp TextScriptEnd + +SeafoamIslands5Text4: ; 468b2 (11:68b2) + TX_FAR _SeafoamIslands5Text4 + db "@" + +SeafoamIslands5Text5: ; 468b7 (11:68b7) + TX_FAR _SeafoamIslands5Text5 + db "@" diff --git a/scripts/silphco1.asm b/scripts/silphco1.asm new file mode 100755 index 00000000..64f93cdc --- /dev/null +++ b/scripts/silphco1.asm @@ -0,0 +1,20 @@ +SilphCo1Script: ; 5d44e (17:544e) + call EnableAutoTextBoxDrawing + ld a, [$d838] + bit 7, a + ret z + ld hl, $d7b9 + bit 7, [hl] + set 7, [hl] + ret nz + ld a, $4c + ld [$cc4d], a + ld a, $15 + jp Predef + +SilphCo1TextPointers: ; 5d469 (17:5469) + dw SilphCo1Text1 + +SilphCo1Text1: ; 5d46b (17:546b) + TX_FAR _SilphCo1Text1 + db "@" diff --git a/scripts/silphco10.asm b/scripts/silphco10.asm new file mode 100755 index 00000000..ede60acc --- /dev/null +++ b/scripts/silphco10.asm @@ -0,0 +1,126 @@ +SilphCo10Script: ; 5a139 (16:6139) + call SilphCo10Script_5a14f + call EnableAutoTextBoxDrawing + ld hl, SilphCo10TrainerHeaders + ld de, SilphCo10ScriptPointers + ld a, [W_SILPHCO10CURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_SILPHCO10CURSCRIPT], a + ret + +SilphCo10Script_5a14f: ; 5a14f (16:614f) + ld hl, $d126 + bit 5, [hl] + res 5, [hl] + ret z + ld hl, DataTable_5a173 ; $6173 + call SilphCo2Script_59d43 + call SilphCo10Text_5a176 + ld a, [$d836] + bit 0, a + ret nz + ld a, $54 + ld [$d09f], a + ld bc, $405 + ld a, $17 + jp Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e)) + +DataTable_5a173: ; 5a173 (16:6173) + db $04,$05,$FF + +SilphCo10Text_5a176: ; 5a176 (16:6176) + ld a, [$ffe0] + and a + ret z + ld hl, $d836 + set 0, [hl] + ret + +SilphCo10ScriptPointers: ; 5a180 (16:6180) + dw CheckFightingMapTrainers + dw Func_324c + dw EndTrainerBattle + +SilphCo10TextPointers: ; 5a186 (16:6186) + dw SilphCo10Text1 + dw SilphCo10Text2 + dw SilphCo10Text3 + dw Predef5CText + dw Predef5CText + dw Predef5CText + +SilphCo10TrainerHeaders: ; 5a192 (16:6192) +SilphCo10TrainerHeader0: ; 5a192 (16:6192) + db $1 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d835 ; flag's byte + dw SilphCo10BattleText1 ; 0x61dd TextBeforeBattle + dw SilphCo10AfterBattleText1 ; 0x61e7 TextAfterBattle + dw SilphCo10EndBattleText1 ; 0x61e2 TextEndBattle + dw SilphCo10EndBattleText1 ; 0x61e2 TextEndBattle + +SilphCo10TrainerHeader1: ; 5a19e (16:619e) + db $2 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d835 ; flag's byte + dw SilphCo10BattleText2 ; 0x61ec TextBeforeBattle + dw SilphCo10AfterBattleText2 ; 0x61f6 TextAfterBattle + dw SilphCo10EndBattleText2 ; 0x61f1 TextEndBattle + dw SilphCo10EndBattleText2 ; 0x61f1 TextEndBattle + + db $ff + +SilphCo10Text1: ; 5a1ab (16:61ab) + db $08 ; asm + ld hl, SilphCo10TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +SilphCo10Text2: ; 5a1b5 (16:61b5) + db $08 ; asm + ld hl, SilphCo10TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +SilphCo10Text3: ; 5a1bf (16:61bf) + db $08 ; asm + ld a, [$d838] + bit 7, a + ld hl, SilphCo10Text_5a1d8 + jr nz, .asm_cf85f + ld hl, SilphCo10Text_5a1d3 +.asm_cf85f + call PrintText + jp TextScriptEnd + +SilphCo10Text_5a1d3: ; 5a1d3 (16:61d3) + TX_FAR _SilphCo10Text_5a1d3 + db "@" + +SilphCo10Text_5a1d8: ; 5a1d8 (16:61d8) + TX_FAR _SilphCo10Text_5a1d8 + db "@" + +SilphCo10BattleText1: ; 5a1dd (16:61dd) + TX_FAR _SilphCo10BattleText1 + db "@" + +SilphCo10EndBattleText1: ; 5a1e2 (16:61e2) + TX_FAR _SilphCo10EndBattleText1 + db "@" + +SilphCo10AfterBattleText1: ; 5a1e7 (16:61e7) + TX_FAR _SilphCo10AfterBattleText1 + db "@" + +SilphCo10BattleText2: ; 5a1ec (16:61ec) + TX_FAR _SilphCo10BattleText2 + db "@" + +SilphCo10EndBattleText2: ; 5a1f1 (16:61f1) + TX_FAR _SilphCo10EndBattleText2 + db "@" + +SilphCo10AfterBattleText2: ; 5a1f6 (16:61f6) + TX_FAR _SilphCo10AfterBattleText2 + db "@" diff --git a/scripts/silphco11.asm b/scripts/silphco11.asm new file mode 100755 index 00000000..f24c6774 --- /dev/null +++ b/scripts/silphco11.asm @@ -0,0 +1,369 @@ +SilphCo11Script: ; 620fa (18:60fa) + call SilphCo11Script_62110 + call EnableAutoTextBoxDrawing + ld hl, SilphCo11TrainerHeaders + ld de, SilphCo11ScriptPointers + ld a, [W_SILPHCO11CURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_SILPHCO11CURSCRIPT], a + ret + +SilphCo11Script_62110: ; 62110 (18:6110) + ld hl, $d126 + bit 5, [hl] + res 5, [hl] + ret z + ld hl, DataTable_62134 ; $6134 + call SilphCo11Script_62137 + call SilphCo11Script_62163 + ld a, [$d838] + bit 0, a + ret nz + ld a, $20 + ld [$d09f], a + ld bc, $603 + ld a, $17 + jp Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e)) + +DataTable_62134: ; 62134 (18:6134) + db $06,$03,$FF + +SilphCo11Script_62137: ; 62137 (18:6137) + push hl + ld hl, $d73f + ld a, [hli] + ld b, a + ld a, [hl] + ld c, a + xor a + ld [$ffe0], a + pop hl +.asm_62143 + ld a, [hli] + cp $ff + jr z, .asm_6215f + push hl + ld hl, $ffe0 + inc [hl] + pop hl + cp b + jr z, .asm_62154 + inc hl + jr .asm_62143 +.asm_62154 + ld a, [hli] + cp c + jr nz, .asm_62143 + ld hl, $d73f + xor a + ld [hli], a + ld [hl], a + ret +.asm_6215f + xor a + ld [$ffe0], a + ret + +SilphCo11Script_62163: ; 62163 (18:6163) + ld a, [$ffe0] + and a + ret z + ld hl, $d838 + set 0, [hl] + ret + +SilphCo11Script_6216d: ; 6216d (18:616d) + ld hl, MissableObjectIDs_6219b ; $619b +.asm_62170 + ld a, [hli] + cp $ff + jr z, .asm_62181 + push hl + ld [$cc4d], a + ld a, $11 + call Predef ; indirect jump to RemoveMissableObject (f1d7 (3:71d7)) + pop hl + jr .asm_62170 +.asm_62181 + ld hl, MissableObjectIDs_62194 ; $6194 +.asm_62184 + ld a, [hli] + cp $ff + ret z + push hl + ld [$cc4d], a + ld a, $15 + call Predef ; indirect jump to AddMissableObject (f1c8 (3:71c8)) + pop hl + jr .asm_62184 + +MissableObjectIDs_62194: ; 62194 (18:6194) + db $11,$12,$13,$14,$15,$16,$FF + +MissableObjectIDs_6219b: ; 6219b (18:619b) + db $0A,$0B,$0C,$0D,$0E,$0F,$10,$17 + db $18,$8A,$8B,$8C,$8D,$8E,$8F,$91 + db $92,$93,$97,$98,$99,$9A,$9E,$9F + db $A0,$A3,$A4,$A5,$A6,$AB,$AC,$AD + db $AE,$AF,$B0,$B1,$B2,$B7,$B8,$B9 + db $FF + +SilphCo11Script_621c4: ; 621c4 (18:61c4) + xor a + ld [wJoypadForbiddenButtonsMask], a + +SilphCo11Script_621c8: ; 621c8 (18:61c8) + ld [W_SILPHCO11CURSCRIPT], a + ld [W_CURMAPSCRIPT], a + ret + +SilphCo11ScriptPointers: ; 621cf (18:61cf) + dw SilphCo11Script0 + dw Func_324c + dw EndTrainerBattle + dw SilphCo11Script3 + dw SilphCo11Script4 + dw SilphCo11Script5 + +SilphCo11Script0: ; 621db (18:61db) + ld a, [$d838] + bit 7, a + ret nz + ld hl, CoordsData_62211 ; $6211 + call ArePlayerCoordsInArray + jp nc, CheckFightingMapTrainers + ld a, [wWhichTrade] ; $cd3d + ld [$cf0d], a + xor a + ld [H_CURRENTPRESSEDBUTTONS], a + ld a, $f0 + ld [wJoypadForbiddenButtonsMask], a + ld a, $3 + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + call DisplayTextID + ld a, $3 + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + call SetSpriteMovementBytesToFF + ld de, MovementData_62216 + call MoveSprite + ld a, $3 + jp SilphCo11Script_621c8 + +CoordsData_62211: ; 62211 (18:6211) + db $0D,$06 + db $0C,$07 + db $FF + +MovementData_62216: ; 62216 (18:6216) + db $00,$00,$00,$FF + +SilphCo11Script_6221a: ; 6221a (18:621a) + ld [$d528], a + ld a, $3 + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld a, b + ld [$ff8d], a + jp Func_34a6 + +SilphCo11Script5: ; 62227 (18:6227) + ld a, [W_ISINBATTLE] ; $d057 + cp $ff + jp z, SilphCo11Script_621c4 + ld a, [$cf0d] + cp $1 + jr z, .asm_6223c + ld a, $2 + ld b, $c + jr .asm_62240 +.asm_6223c + ld a, $8 + ld b, $0 +.asm_62240 + call SilphCo11Script_6221a + ld a, $f0 + ld [wJoypadForbiddenButtonsMask], a + ld a, $6 + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + call DisplayTextID + call GBFadeIn1 + call SilphCo11Script_6216d + call UpdateSprites + call Delay3 + call GBFadeOut1 + ld hl, $d838 + set 7, [hl] + xor a + ld [wJoypadForbiddenButtonsMask], a + jp SilphCo11Script_621c8 + +SilphCo11Script3: ; 6226a (18:626a) + ld a, [$d730] + bit 0, a + ret nz + ld a, $3 + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + call SetSpriteMovementBytesToFF + ld a, [$cf0d] + cp $1 + jr z, .asm_62284 + ld a, $2 + ld b, $c + jr .asm_62288 +.asm_62284 + ld a, $8 + ld b, $0 +.asm_62288 + call SilphCo11Script_6221a + call Delay3 + ld a, $4 + jp SilphCo11Script_621c8 + +SilphCo11Script4: ; 62293 (18:6293) + ld hl, $d72d + set 6, [hl] + set 7, [hl] + ld hl, SilphCo10Text_62330 ; $6330 + ld de, SilphCo10Text_62330 ; $6330 + call PreBattleSaveRegisters + ld a, [H_DOWNARROWBLINKCNT2] ; $ff8c + ld [$cf13], a + call EngageMapTrainer + call InitBattleEnemyParameters + xor a + ld [wJoypadForbiddenButtonsMask], a + ld a, $5 + jp SilphCo11Script_621c8 + +SilphCo11TextPointers: ; 622b7 (18:62b7) + dw SilphCo11Text1 + dw SilphCo11Text2 + dw SilphCo11Text3 + dw SilphCo11Text4 + dw SilphCo11Text5 + dw SilphCo11Text6 + +SilphCo11TrainerHeaders: ; 622c3 (18:62c3) +SilphCo11TrainerHeader0: ; 622c3 (18:62c3) + db $4 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d837 ; flag's byte + dw SilphCo11BattleText1 ; 0x6344 TextBeforeBattle + dw SilphCo11AfterBattleText1 ; 0x634e TextAfterBattle + dw SilphCo11EndBattleText1 ; 0x6349 TextEndBattle + dw SilphCo11EndBattleText1 ; 0x6349 TextEndBattle + +SilphCo11TrainerHeader1: ; 622cf (18:62cf) + db $5 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d837 ; flag's byte + dw SilphCo11BattleText2 ; 0x635d TextBeforeBattle + dw SilphCo11AfterBattleText2 ; 0x6367 TextAfterBattle + dw SilphCo11EndBattleText2 ; 0x6362 TextEndBattle + dw SilphCo11EndBattleText2 ; 0x6362 TextEndBattle + + db $ff + +SilphCo11Text1: ; 622dc (18:62dc) + db $08 ; asm + ld a, [$d838] + bit 5, a + jp nz, .asm_62308 + ld hl, SilphCoPresidentText + call PrintText + ld bc, (MASTER_BALL << 8) | 1 + call GiveItem + jr nc, .BagFull + ld hl, ReceivedSilphCoMasterBallText + call PrintText + ld hl, $d838 + set 5, [hl] + jr .asm_fd405 ; 0x622fe +.BagFull + ld hl, SilphCoMasterBallNoRoomText + call PrintText + jr .asm_fd405 ; 0x62306 +.asm_62308 ; 0x62308 + ld hl, SilphCo10Text_6231c + call PrintText +.asm_fd405 ; 0x6230e + jp TextScriptEnd + +SilphCoPresidentText: ; 62311 (18:6311) + TX_FAR _SilphCoPresidentText + db "@" + +ReceivedSilphCoMasterBallText: ; 62316 (18:6316) + TX_FAR _ReceivedSilphCoMasterBallText + db $11, "@" + +SilphCo10Text_6231c: ; 6231c (18:631c) + TX_FAR _SilphCo10Text_6231c + db "@" + +SilphCoMasterBallNoRoomText: ; 62321 (18:6321) + TX_FAR _SilphCoMasterBallNoRoomText + db "@" + +SilphCo11Text2: ; 62326 (18:6326) + TX_FAR _SilphCo11Text2 + db "@" + +SilphCo11Text3: ; 6232b (18:632b) + TX_FAR _SilphCo11Text3 + db "@" + +SilphCo10Text_62330: ; 62330 (18:6330) + TX_FAR _SilphCo10Text_62330 + db "@" + +SilphCo11Text6: ; 62335 (18:6335) + TX_FAR _SilphCo10Text_62335 + db "@" + +SilphCo11Text4: ; 6233a (18:633a) + db $08 ; asm + ld hl, SilphCo11TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +SilphCo11BattleText1: ; 62344 (18:6344) + TX_FAR _SilphCo11BattleText1 + db "@" + +SilphCo11EndBattleText1: ; 62349 (18:6349) + TX_FAR _SilphCo11EndBattleText1 + db "@" + +SilphCo11AfterBattleText1: ; 6234e (18:634e) + TX_FAR _SilphCo11AfterBattleText1 + db "@" + +SilphCo11Text5: ; 62353 (18:6353) + db $08 ; asm + ld hl, SilphCo11TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +SilphCo11BattleText2: ; 6235d (18:635d) + TX_FAR _SilphCo11BattleText2 + db "@" + +SilphCo11EndBattleText2: ; 62362 (18:6362) + TX_FAR _SilphCo11EndBattleText2 + db "@" + +SilphCo11AfterBattleText2: ; 62367 (18:6367) + TX_FAR _SilphCo11AfterBattleText2 + db "@" + +SilphCo10Text_6236c: ; 6236c (18:636c) + db $8 + ld hl, SilphCo10Text_6237b + call PrintText + ld a, PORYGON + call DisplayPokedex + jp TextScriptEnd + +SilphCo10Text_6237b: ; 6237b (18:637b) + TX_FAR _SilphCo10Text_6237b + db "@" diff --git a/scripts/silphco2.asm b/scripts/silphco2.asm new file mode 100755 index 00000000..da59cc4c --- /dev/null +++ b/scripts/silphco2.asm @@ -0,0 +1,248 @@ +SilphCo2Script: ; 59cf1 (16:5cf1) + call SilphCo2Script_59d07 + call EnableAutoTextBoxDrawing + ld hl, SilphCo2TrainerHeaders + ld de, SilphCo2ScriptPointers + ld a, [W_SILPHCO2CURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_SILPHCO2CURSCRIPT], a + ret + +SilphCo2Script_59d07: ; 59d07 (16:5d07) + ld hl, $d126 + bit 5, [hl] + res 5, [hl] + ret z + ld hl, DataTable_59d3e + call SilphCo2Script_59d43 + call SilphCo2Script_59d6f + ld a, [$d826] + bit 5, a + jr nz, .asm_59d2e + push af + ld a, $54 + ld [$d09f], a + ld bc, $0202 + ld a, $17 + call Predef + pop af +.asm_59d2e + bit 6, a + ret nz + ld a, $54 + ld [$d09f], a + ld bc, $0502 + ld a, $17 + jp Predef + +DataTable_59d3e: ; 59d3e (16:5d3e) + db $02,$02,$05,$02,$FF + +SilphCo2Script_59d43: ; 59d43 (16:5d43) + push hl + ld hl, $d73f + ld a, [hli] + ld b, a + ld a, [hl] + ld c, a + xor a + ld [$ffe0], a + pop hl +.asm_59d4f + ld a, [hli] + cp $ff + jr z, .asm_59d6b + push hl + ld hl, $ffe0 + inc [hl] + pop hl + cp b + jr z, .asm_59d60 + inc hl + jr .asm_59d4f +.asm_59d60 + ld a, [hli] + cp c + jr nz, .asm_59d4f + ld hl, $d73f + xor a + ld [hli], a + ld [hl], a + ret +.asm_59d6b + xor a + ld [$ffe0], a + ret + +SilphCo2Script_59d6f: ; 59d6f (16:5d6f) + ld hl, $d826 + ld a, [$ffe0] + and a + ret z + cp $1 + jr nz, .asm_59d7d + set 5, [hl] + ret +.asm_59d7d + set 6, [hl] + ret + +SilphCo2ScriptPointers: ; 59d80 (16:5d80) + dw CheckFightingMapTrainers + dw Func_324c + dw EndTrainerBattle + +SilphCo2TextPointers: ; 59d86 (16:5d86) + dw SilphCo2Text1 + dw SilphCo2Text2 + dw SilphCo2Text3 + dw SilphCo2Text4 + dw SilphCo2Text5 + +SilphCo2TrainerHeaders: ; 59d90 (16:5d90) +SilphCo2TrainerHeader0: ; 59d90 (16:5d90) + db $2 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d825 ; flag's byte + dw SilphCo2BattleText1 ; 0x5e2a TextBeforeBattle + dw SilphCo2AfterBattleText1 ; 0x5e34 TextAfterBattle + dw SilphCo2EndBattleText1 ; 0x5e2f TextEndBattle + dw SilphCo2EndBattleText1 ; 0x5e2f TextEndBattle + +SilphCo2TrainerHeader1: ; 59d9c (16:5d9c) + db $3 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d825 ; flag's byte + dw SilphCo2BattleText2 ; 0x5e39 TextBeforeBattle + dw SilphCo2AfterBattleText2 ; 0x5e43 TextAfterBattle + dw SilphCo2EndBattleText2 ; 0x5e3e TextEndBattle + dw SilphCo2EndBattleText2 ; 0x5e3e TextEndBattle + +SilphCo2TrainerHeader2: ; 59da8 (16:5da8) + db $4 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d825 ; flag's byte + dw SilphCo2BattleText3 ; 0x5e48 TextBeforeBattle + dw SilphCo2AfterBattleText3 ; 0x5e52 TextAfterBattle + dw SilphCo2EndBattleText3 ; 0x5e4d TextEndBattle + dw SilphCo2EndBattleText3 ; 0x5e4d TextEndBattle + +SilphCo2TrainerHeader3: ; 59db4 (16:5db4) + db $5 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d825 ; flag's byte + dw SilphCo2BattleText4 ; 0x5e57 TextBeforeBattle + dw SilphCo2AfterBattleText4 ; 0x5e61 TextAfterBattle + dw SilphCo2EndBattleText4 ; 0x5e5c TextEndBattle + dw SilphCo2EndBattleText4 ; 0x5e5c TextEndBattle + + db $ff + +SilphCo2Text1: ; 59dc1 (16:5dc1) + db $08 ; asm + ld a, [$d826] + bit 7, a + jr nz, asm_b8a0d ; 0x59dc7 + ld hl, SilphCo2Text_59ded + call PrintText + ld bc, (TM_36 << 8) | 1 + call GiveItem + ld hl, TM36NoRoomText + jr nc, asm_2c1e0 ; 0x59dd8 + ld hl, $d826 + set 7, [hl] + ld hl, ReceivedTM36Text + jr asm_2c1e0 ; 0x59de2 +asm_b8a0d ; 0x59de4 + ld hl, TM36ExplanationText +asm_2c1e0 ; 0x59de7 + call PrintText + jp TextScriptEnd + +SilphCo2Text_59ded: ; 59ded (16:5ded) + TX_FAR _SilphCo2Text_59ded + db "@" + +ReceivedTM36Text: ; 59df2 (16:5df2) + TX_FAR _ReceivedTM36Text + db $0B, "@" + +TM36ExplanationText: ; 59df8 (16:5df8) + TX_FAR _TM36ExplanationText + db "@" + +TM36NoRoomText: ; 59dfd (16:5dfd) + TX_FAR _TM36NoRoomText + db "@" + +SilphCo2Text2: ; 59e02 (16:5e02) + db $08 ; asm + ld hl, SilphCo2TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +SilphCo2Text3: ; 59e0c (16:5e0c) + db $08 ; asm + ld hl, SilphCo2TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +SilphCo2Text4: ; 59e16 (16:5e16) + db $08 ; asm + ld hl, SilphCo2TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +SilphCo2Text5: ; 59e20 (16:5e20) + db $08 ; asm + ld hl, SilphCo2TrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +SilphCo2BattleText1: ; 59e2a (16:5e2a) + TX_FAR _SilphCo2BattleText1 + db "@" + +SilphCo2EndBattleText1: ; 59e2f (16:5e2f) + TX_FAR _SilphCo2EndBattleText1 + db "@" + +SilphCo2AfterBattleText1: ; 59e34 (16:5e34) + TX_FAR _SilphCo2AfterBattleText1 + db "@" + +SilphCo2BattleText2: ; 59e39 (16:5e39) + TX_FAR _SilphCo2BattleText2 + db "@" + +SilphCo2EndBattleText2: ; 59e3e (16:5e3e) + TX_FAR _SilphCo2EndBattleText2 + db "@" + +SilphCo2AfterBattleText2: ; 59e43 (16:5e43) + TX_FAR _SilphCo2AfterBattleText2 + db "@" + +SilphCo2BattleText3: ; 59e48 (16:5e48) + TX_FAR _SilphCo2BattleText3 + db "@" + +SilphCo2EndBattleText3: ; 59e4d (16:5e4d) + TX_FAR _SilphCo2EndBattleText3 + db "@" + +SilphCo2AfterBattleText3: ; 59e52 (16:5e52) + TX_FAR _SilphCo2AfterBattleText3 + db "@" + +SilphCo2BattleText4: ; 59e57 (16:5e57) + TX_FAR _SilphCo2BattleText4 + db "@" + +SilphCo2EndBattleText4: ; 59e5c (16:5e5c) + TX_FAR _SilphCo2EndBattleText4 + db "@" + +SilphCo2AfterBattleText4: ; 59e61 (16:5e61) + TX_FAR _SilphCo2AfterBattleText4 + db "@" diff --git a/scripts/silphco3.asm b/scripts/silphco3.asm new file mode 100755 index 00000000..a7ba1bee --- /dev/null +++ b/scripts/silphco3.asm @@ -0,0 +1,139 @@ +SilphCo3Script: ; 59f5b (16:5f5b) + call SilphCo3Script_59f71 + call EnableAutoTextBoxDrawing + ld hl, SilphCo3TrainerHeaders + ld de, SilphCo3ScriptPointers + ld a, [W_SILPHCO3CURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_SILPHCO3CURSCRIPT], a + ret + +SilphCo3Script_59f71: ; 59f71 (16:5f71) + ld hl, $d126 + bit 5, [hl] + res 5, [hl] + ret z + ld hl, DataTable_59fa8 ; $5fa8 + call SilphCo2Script_59d43 + call SilphCo3Script_59fad + ld a, [$d828] + bit 0, a + jr nz, .asm_59f98 + push af + ld a, $5f + ld [$d09f], a + ld bc, $404 + ld a, $17 + call Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e)) + pop af +.asm_59f98 + bit 1, a + ret nz + ld a, $5f + ld [$d09f], a + ld bc, $408 + ld a, $17 + jp Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e)) + +DataTable_59fa8: ; 59fa8 (16:5fa8) + db $04,$04,$04,$08,$FF + +SilphCo3Script_59fad: ; 59fad (16:5fad) + ld hl, $d828 + ld a, [$ffe0] + and a + ret z + cp $1 + jr nz, .asm_59fbb + set 0, [hl] + ret +.asm_59fbb + set 1, [hl] + ret + +SilphCo3ScriptPointers: ; 59fbe (16:5fbe) + dw CheckFightingMapTrainers + dw Func_324c + dw EndTrainerBattle + +SilphCo3TextPointers: ; 59fc4 (16:5fc4) + dw SilphCo3Text1 + dw SilphCo3Text2 + dw SilphCo3Text3 + dw Predef5CText + +SilphCo3TrainerHeaders: ; 59fcc (16:5fcc) +SilphCo3TrainerHeader0: ; 59fcc (16:5fcc) + db $2 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d827 ; flag's byte + dw SilphCo3BattleText1 ; 0x600d TextBeforeBattle + dw SilphCo3AfterBattleText1 ; 0x6017 TextAfterBattle + dw SilphCo3EndBattleText1 ; 0x6012 TextEndBattle + dw SilphCo3EndBattleText1 ; 0x6012 TextEndBattle + +SilphCo3TrainerHeader1: ; 59fd8 (16:5fd8) + db $3 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d827 ; flag's byte + dw SilphCo3BattleText2 ; 0x6026 TextBeforeBattle + dw SilphCo3AfterBattleText2 ; 0x6030 TextAfterBattle + dw SilphCo3EndBattleText2 ; 0x602b TextEndBattle + dw SilphCo3EndBattleText2 ; 0x602b TextEndBattle + + db $ff + +SilphCo3Text1: ; 59fe5 (16:5fe5) + db $08 ; asm + ld a, [$d838] + bit 7, a + ld hl, SilphCo3Text_59ffe + jr nz, asm_8c56f ; 0x59fee + ld hl, SilphCo3Text_59ff9 +asm_8c56f ; 0x59ff3 + call PrintText + jp TextScriptEnd + +SilphCo3Text_59ff9: ; 59ff9 (16:5ff9) + TX_FAR _SilphCo3Text_59ff9 + db "@" + +SilphCo3Text_59ffe: ; 59ffe (16:5ffe) + TX_FAR _SilphCo3Text_59ffe + db "@" + +SilphCo3Text2: ; 5a003 (16:6003) + db $08 ; asm + ld hl, SilphCo3TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +SilphCo3BattleText1: ; 5a00d (16:600d) + TX_FAR _SilphCo3BattleText1 + db "@" + +SilphCo3EndBattleText1: ; 5a012 (16:6012) + TX_FAR _SilphCo3EndBattleText1 + db "@" + +SilphCo3AfterBattleText1: ; 5a017 (16:6017) + TX_FAR _SilphCo3AfterBattleText1 + db "@" + +SilphCo3Text3: ; 5a01c (16:601c) + db $08 ; asm + ld hl, SilphCo3TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +SilphCo3BattleText2: ; 5a026 (16:6026) + TX_FAR _SilphCo3BattleText2 + db "@" + +SilphCo3EndBattleText2: ; 5a02b (16:602b) + TX_FAR _SilphCo3EndBattleText2 + db "@" + +SilphCo3AfterBattleText2: ; 5a030 (16:6030) + TX_FAR _SilphCo3AfterBattleText2 + db "@" diff --git a/scripts/silphco4.asm b/scripts/silphco4.asm new file mode 100755 index 00000000..1777ff8c --- /dev/null +++ b/scripts/silphco4.asm @@ -0,0 +1,201 @@ +SilphCo4Script: ; 19d0b (6:5d0b) + call SilphCo4Script_19d21 + call EnableAutoTextBoxDrawing + ld hl, SilphCo4TrainerHeaders + ld de, SilphCo4ScriptPointers + ld a, [W_SILPHCO4CURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_SILPHCO4CURSCRIPT], a + ret + +SilphCo4Script_19d21: ; 19d21 (6:5d21) + ld hl, $d126 + bit 5, [hl] + res 5, [hl] + ret z + ld hl, SilphCo4Data19d58 + call SilphCo4Script_19d5d + call SilphCo4Script_19d89 + ld a, [$d82a] + bit 0, a + jr nz, .asm_19d48 + push af + ld a, $54 + ld [$d09f], a + ld bc, $0602 + ld a, $17 + call Predef + pop af +.asm_19d48 + bit 1, a + ret nz + ld a, $54 + ld [$d09f], a + ld bc, $0406 + ld a, $17 + jp Predef + +SilphCo4Data19d58: ; 19d58 (6:5d58) + db $06, $02, $04, $06, $ff + +SilphCo4Script_19d5d: ; 19d5d (6:5d5d) + push hl + ld hl, $d73f + ld a, [hli] + ld b, a + ld a, [hl] + ld c, a + xor a + ld [$ffe0], a + pop hl +.asm_19d69 + ld a, [hli] + cp $ff + jr z, .asm_19d85 ; 0x19d6c $17 + push hl + ld hl, $ffe0 + inc [hl] + pop hl + cp b + jr z, .asm_19d7a ; 0x19d75 $3 + inc hl + jr .asm_19d69 ; 0x19d78 $ef +.asm_19d7a + ld a, [hli] + cp c + jr nz, .asm_19d69 ; 0x19d7c $eb + ld hl, $d73f + xor a + ld [hli], a + ld [hl], a + ret +.asm_19d85 + xor a + ld [$ffe0], a + ret + +SilphCo4Script_19d89: ; 19d89 (6:5d89) + ld hl, $d82a + ld a, [$ffe0] + and a + ret z + cp $1 + jr nz, .asm_19d97 ; 0x19d92 $3 + set 0, [hl] + ret +.asm_19d97 + set 1, [hl] + ret + +SilphCo4ScriptPointers: ; 19d9a (6:5d9a) + dw CheckFightingMapTrainers + dw Func_324c + dw EndTrainerBattle + +SilphCo4TextPointers: ; 19da0 (6:5da0) + dw SilphCo4Text1 + dw SilphCo4Text2 + dw SilphCo4Text3 + dw SilphCo4Text4 + dw Predef5CText + dw Predef5CText + dw Predef5CText + +SilphCo4TrainerHeaders: ; 19dae (6:5dae) +SilphCo4TrainerHeader0: ; 19dae (6:5dae) + db $2 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d829 ; flag's byte + dw SilphCo4BattleText2 ; 0x5df4 TextBeforeBattle + dw SilphCo4AfterBattleText2 ; 0x5dfe TextAfterBattle + dw SilphCo4EndBattleText2 ; 0x5df9 TextEndBattle + dw SilphCo4EndBattleText2 ; 0x5df9 TextEndBattle + +SilphCo4TrainerHeader2: ; 19dba (6:5dba) + db $3 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d829 ; flag's byte + dw SilphCo4BattleText3 ; 0x5e0d TextBeforeBattle + dw SilphCo4AfterBattleText3 ; 0x5e17 TextAfterBattle + dw SilphCo4EndBattleText3 ; 0x5e12 TextEndBattle + dw SilphCo4EndBattleText3 ; 0x5e12 TextEndBattle + +SilphCo4TrainerHeader3: ; 19dc6 (6:5dc6) + db $4 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d829 ; flag's byte + dw SilphCo4BattleText4 ; 0x5e26 TextBeforeBattle + dw SilphCo4AfterBattleText4 ; 0x5e30 TextAfterBattle + dw SilphCo4EndBattleText4 ; 0x5e2b TextEndBattle + dw SilphCo4EndBattleText4 ; 0x5e2b TextEndBattle + + db $ff + +SilphCo4Text1: ; 19dd3 (6:5dd3) + db $08 ; asm + ld hl, SilphCo4Text_19de0 + ld de, SilphCo4Text_19de5 + call SilphCo6Script_1a22f + jp TextScriptEnd + +SilphCo4Text_19de0: ; 19de0 (6:5de0) + TX_FAR _SilphCo4Text_19de0 + db "@" + +SilphCo4Text_19de5: ; 19de5 (6:5de5) + TX_FAR _SilphCo4Text_19de5 + db "@" + +SilphCo4Text2: ; 19dea (6:5dea) + db $08 ; asm + ld hl, SilphCo4TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +SilphCo4BattleText2: ; 19df4 (6:5df4) + TX_FAR _SilphCo4BattleText2 + db "@" + +SilphCo4EndBattleText2: ; 19df9 (6:5df9) + TX_FAR _SilphCo4EndBattleText2 + db "@" + +SilphCo4AfterBattleText2: ; 19dfe (6:5dfe) + TX_FAR _SilphCo4AfterBattleText2 + db "@" + +SilphCo4Text3: ; 19e03 (6:5e03) + db $08 ; asm + ld hl, SilphCo4TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +SilphCo4BattleText3: ; 19e0d (6:5e0d) + TX_FAR _SilphCo4BattleText3 + db "@" + +SilphCo4EndBattleText3: ; 19e12 (6:5e12) + TX_FAR _SilphCo4EndBattleText3 + db "@" + +SilphCo4AfterBattleText3: ; 19e17 (6:5e17) + TX_FAR _SilphCo4AfterBattleText3 + db "@" + +SilphCo4Text4: ; 19e1c (6:5e1c) + db $08 ; asm + ld hl, SilphCo4TrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +SilphCo4BattleText4: ; 19e26 (6:5e26) + TX_FAR _SilphCo4BattleText4 + db "@" + +SilphCo4EndBattleText4: ; 19e2b (6:5e2b) + TX_FAR _SilphCo4EndBattleText4 + db "@" + +SilphCo4AfterBattleText4: ; 19e30 (6:5e30) + TX_FAR _SilphCo4AfterBattleText4 + db "@" diff --git a/scripts/silphco5.asm b/scripts/silphco5.asm new file mode 100755 index 00000000..c4efc16b --- /dev/null +++ b/scripts/silphco5.asm @@ -0,0 +1,223 @@ +SilphCo5Script: ; 19f37 (6:5f37) + call SilphCo5Script_19f4d + call EnableAutoTextBoxDrawing + ld hl, SilphCo5TrainerHeaders + ld de, SilphCo5ScriptPointers + ld a, [W_SILPHCO5CURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_SILPHCO5CURSCRIPT], a + ret + +SilphCo5Script_19f4d: ; 19f4d (6:5f4d) + ld hl, $d126 + bit 5, [hl] + res 5, [hl] + ret z + ld hl, SilphCo5Coords + call SilphCo4Script_19d5d + call SilphCo5Script_19f9e + ld a, [$d82c] + bit 0, a + jr nz, .asm_19f74 ; 0x19f63 $f + push af + ld a, $5f + ld [$d09f], a + ld bc, $0203 + ld a, $17 + call Predef + pop af +.asm_19f74 + bit 1, a + jr nz, .asm_19f87 ; 0x19f76 $f + push af + ld a, $5f + ld [$d09f], a + ld bc, $0603 + ld a, $17 + call Predef + pop af +.asm_19f87 + bit 2, a + ret nz + ld a, $5f + ld [$d09f], a + ld bc, $0507 + ld a, $17 + jp Predef + +SilphCo5Coords: ; 19f97 (6:5f97) ; coords? + db $02, $03, $06, $03, $05, $07, $ff + +SilphCo5Script_19f9e: ; 19f9e (6:5f9e) + ld hl, $d82c + ld a, [$ffe0] + and a + ret z + cp $1 + jr nz, .asm_19fac ; 0x19fa7 $3 + set 0, [hl] + ret +.asm_19fac + cp $2 + jr nz, .asm_19fb3 ; 0x19fae $3 + set 1, [hl] + ret +.asm_19fb3 + set 2, [hl] + ret + +SilphCo5ScriptPointers: ; 19fb6 (6:5fb6) + dw CheckFightingMapTrainers + dw Func_324c + dw EndTrainerBattle + +SilphCo5TextPointers: ; 19fbc (6:5fbc) + dw SilphCo5Text1 + dw SilphCo5Text2 + dw SilphCo5Text3 + dw SilphCo5Text4 + dw SilphCo5Text5 + dw Predef5CText + dw Predef5CText + dw Predef5CText + dw SilphCo5Text9 + dw SilphCo5Text10 + dw SilphCo5Text11 + +SilphCo5TrainerHeaders: ; 19fd2 (6:5fd2) +Silphco5TrainerHeader0: ; 19fd2 (6:5fd2) + db $2 ; flag's bit + db ($1 << 4) ; trainer's view range + dw $d82b ; flag's byte + dw SilphCo5BattleText2 ; 0x6024 TextBeforeBattle + dw SilphCo5AfterBattleText2 ; 0x602e TextAfterBattle + dw SilphCo5EndBattleText2 ; 0x6029 TextEndBattle + dw SilphCo5EndBattleText2 ; 0x6029 TextEndBattle + +Silphco5TrainerHeader2: ; 19fde (6:5fde) + db $3 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d82b ; flag's byte + dw SilphCo5BattleText3 ; 0x603d TextBeforeBattle + dw SilphCo5AfterBattleText3 ; 0x6047 TextAfterBattle + dw SilphCo5EndBattleText3 ; 0x6042 TextEndBattle + dw SilphCo5EndBattleText3 ; 0x6042 TextEndBattle + +Silphco5TrainerHeader3: ; 19fea (6:5fea) + db $4 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d82b ; flag's byte + dw SilphCo5BattleText4 ; 0x6056 TextBeforeBattle + dw SilphCo5AfterBattleText4 ; 0x6060 TextAfterBattle + dw SilphCo5EndBattleText4 ; 0x605b TextEndBattle + dw SilphCo5EndBattleText4 ; 0x605b TextEndBattle + +Silphco5TrainerHeader4: ; 19ff6 (6:5ff6) + db $5 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d82b ; flag's byte + dw SilphCo5BattleText5 ; 0x606f TextBeforeBattle + dw SilphCo5AfterBattleText5 ; 0x6079 TextAfterBattle + dw SilphCo5EndBattleText5 ; 0x6074 TextEndBattle + dw SilphCo5EndBattleText5 ; 0x6074 TextEndBattle + + db $ff + +SilphCo5Text1: ; 1a003 (6:6003) + db $08 ; asm + ld hl, SilphCo5Text_1a010 + ld de, SilphCo5Text_1a015 + call SilphCo6Script_1a22f + jp TextScriptEnd + +SilphCo5Text_1a010: ; 1a010 (6:6010) + TX_FAR _SilphCo5Text_1a010 + db "@" + +SilphCo5Text_1a015: ; 1a015 (6:6015) + TX_FAR _SilphCo5Text_1a015 + db "@" + +SilphCo5Text2: ; 1a01a (6:601a) + db $08 ; asm + ld hl, Silphco5TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +SilphCo5BattleText2: ; 1a024 (6:6024) + TX_FAR _SilphCo5BattleText2 + db "@" + +SilphCo5EndBattleText2: ; 1a029 (6:6029) + TX_FAR _SilphCo5EndBattleText2 + db "@" + +SilphCo5AfterBattleText2: ; 1a02e (6:602e) + TX_FAR _SilphCo5AfterBattleText2 + db "@" + +SilphCo5Text3: ; 1a033 (6:6033) + db $08 ; asm + ld hl, Silphco5TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +SilphCo5BattleText3: ; 1a03d (6:603d) + TX_FAR _SilphCo5BattleText3 + db "@" + +SilphCo5EndBattleText3: ; 1a042 (6:6042) + TX_FAR _SilphCo5EndBattleText3 + db "@" + +SilphCo5AfterBattleText3: ; 1a047 (6:6047) + TX_FAR _SilphCo5AfterBattleText3 + db "@" + +SilphCo5Text4: ; 1a04c (6:604c) + db $08 ; asm + ld hl, Silphco5TrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +SilphCo5BattleText4: ; 1a056 (6:6056) + TX_FAR _SilphCo5BattleText4 + db "@" + +SilphCo5EndBattleText4: ; 1a05b (6:605b) + TX_FAR _SilphCo5EndBattleText4 + db "@" + +SilphCo5AfterBattleText4: ; 1a060 (6:6060) + TX_FAR _SilphCo5AfterBattleText4 + db "@" + +SilphCo5Text5: ; 1a065 (6:6065) + db $08 ; asm + ld hl, Silphco5TrainerHeader4 + call TalkToTrainer + jp TextScriptEnd + +SilphCo5BattleText5: ; 1a06f (6:606f) + TX_FAR _SilphCo5BattleText5 + db "@" + +SilphCo5EndBattleText5: ; 1a074 (6:6074) + TX_FAR _SilphCo5EndBattleText5 + db "@" + +SilphCo5AfterBattleText5: ; 1a079 (6:6079) + TX_FAR _SilphCo5AfterBattleText5 + db "@" + +SilphCo5Text9: ; 1a07e (6:607e) + TX_FAR _SilphCo5Text9 + db "@" + +SilphCo5Text10: ; 1a083 (6:6083) + TX_FAR _SilphCo5Text10 + db "@" + +SilphCo5Text11: ; 1a088 (6:6088) + TX_FAR _SilphCo5Text11 + db "@" diff --git a/scripts/silphco6.asm b/scripts/silphco6.asm new file mode 100755 index 00000000..2b5b7ebf --- /dev/null +++ b/scripts/silphco6.asm @@ -0,0 +1,225 @@ +SilphCo6Script: ; 1a1a9 (6:61a9) + call SilphCo6Script_1a1bf + call EnableAutoTextBoxDrawing + ld hl, SilphCo6TrainerHeaders + ld de, SilphCo6ScriptPointers + ld a, [W_SILPHCO6CURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_SILPHCO6CURSCRIPT], a + ret + +SilphCo6Script_1a1bf: ; 1a1bf (6:61bf) + ld hl, $d126 + bit 5, [hl] + res 5, [hl] + ret z + ld hl, SilphCo6Coords1 + call SilphCo4Script_19d5d + call SilphCo6Script_1a1e6 + ld a, [$d82e] + bit 7, a + ret nz + ld a, $5f + ld [$d09f], a + ld bc, $0602 + ld a, $17 + jp Predef + +SilphCo6Coords1: ; 1a1e3 (6:61e3) + db $06, $02 + db $ff + +SilphCo6Script_1a1e6: ; 1a1e6 (6:61e6) + ld a, [$ffe0] + and a + ret z + ld hl, $d82e + set 7, [hl] + ret + +SilphCo6ScriptPointers: ; 1a1f0 (6:61f0) + dw CheckFightingMapTrainers + dw Func_324c + dw EndTrainerBattle + +SilphCo6TextPointers: ; 1a1f6 (6:61f6) + dw SilphCo6Text1 + dw SilphCo6Text2 + dw SilphCo6Text3 + dw SilphCo6Text4 + dw SilphCo6Text5 + dw SilphCo6Text6 + dw SilphCo6Text7 + dw SilphCo6Text8 + dw Predef5CText + dw Predef5CText + +SilphCo6TrainerHeaders: ; 1a20a (6:620a) +SilphCo6TrainerHeader0: ; 1a20a (6:620a) + db $6 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d82d ; flag's byte + dw SilphCo6BattleText2 ; 0x62ba TextBeforeBattle + dw SilphCo6AfterBattleText2 ; 0x62c4 TextAfterBattle + dw SilphCo6EndBattleText2 ; 0x62bf TextEndBattle + dw SilphCo6EndBattleText2 ; 0x62bf TextEndBattle + +SilphCo6TrainerHeader2: ; 1a216 (6:6216) + db $7 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d82d ; flag's byte + dw SilphCo6BattleText3 ; 0x62d3 TextBeforeBattle + dw SilphCo6AfterBattleText3 ; 0x62dd TextAfterBattle + dw SilphCo6EndBattleText3 ; 0x62d8 TextEndBattle + dw SilphCo6EndBattleText3 ; 0x62d8 TextEndBattle + +SilphCo6TrainerHeader3: ; 1a222 (6:6222) + db $8 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d82d ; flag's byte + dw SilphCo6BattleText4 ; 0x62ec TextBeforeBattle + dw SilphCo6AfterBattleText4 ; 0x62f6 TextAfterBattle + dw SilphCo6EndBattleText4 ; 0x62f1 TextEndBattle + dw SilphCo6EndBattleText4 ; 0x62f1 TextEndBattle + + db $ff + +SilphCo6Script_1a22f: ; 1a22f (6:622f) + ld a, [$d838] + bit 7, a + jr nz, .asm_1a238 ; 0x1a234 $2 + jr .asm_1a23a ; 0x1a236 $2 +.asm_1a238 + ld h, d + ld l, e +.asm_1a23a + jp PrintText + +SilphCo6Text1: ; 1a23d (6:623d) + db $08 ; asm + ld hl, SilphCo6Text_1a24a + ld de, SilphCo6Text_1a24f + call SilphCo6Script_1a22f + jp TextScriptEnd + +SilphCo6Text_1a24a: ; 1a24a (6:624a) + TX_FAR _SilphCo6Text_1a24a + db "@" + +SilphCo6Text_1a24f: ; 1a24f (6:624f) + TX_FAR _SilphCo6Text_1a24f + db "@" + +SilphCo6Text2: ; 1a254 (6:6254) + db $08 ; asm + ld hl, SilphCo6Text_1a261 + ld de, SilphCo6Text_1a266 + call SilphCo6Script_1a22f + jp TextScriptEnd + +SilphCo6Text_1a261: ; 1a261 (6:6261) + TX_FAR _SilphCo6Text_1a261 + db "@" + +SilphCo6Text_1a266: ; 1a266 (6:6266) + TX_FAR _SilphCo6Text_1a266 + db "@" + +SilphCo6Text3: ; 1a26b (6:626b) + db $08 ; asm + ld hl, SilphCo6Text_1a278 + ld de, SilphCo6Text_1a27d + call SilphCo6Script_1a22f + jp TextScriptEnd + +SilphCo6Text_1a278: ; 1a278 (6:6278) + TX_FAR _SilphCo6Text_1a278 + db "@" + +SilphCo6Text_1a27d: ; 1a27d (6:627d) + TX_FAR _SilphCo6Text_1a27d + db "@" + +SilphCo6Text4: ; 1a282 (6:6282) + db $08 ; asm + ld hl, SilphCo6Text_1a28f + ld de, SilphCo6Text_1a294 + call SilphCo6Script_1a22f + jp TextScriptEnd + +SilphCo6Text_1a28f: ; 1a28f (6:628f) + TX_FAR _SilphCo6Text_1a28f + db "@" + +SilphCo6Text_1a294: ; 1a294 (6:6294) + TX_FAR _SilphCo6Text_1a294 + db "@" + +SilphCo6Text5: ; 1a299 (6:6299) + db $08 ; asm + ld hl, SilphCo6Text_1a2a6 + ld de, SilphCo6Text_1a2ab + call SilphCo6Script_1a22f + jp TextScriptEnd + +SilphCo6Text_1a2a6: ; 1a2a6 (6:62a6) + TX_FAR _SilphCo6Text_1a2a6 + db "@" + +SilphCo6Text_1a2ab: ; 1a2ab (6:62ab) + TX_FAR _SilphCo6Text_1a2ab + db "@" + +SilphCo6Text6: ; 1a2b0 (6:62b0) + db $08 ; asm + ld hl, SilphCo6TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +SilphCo6BattleText2: ; 1a2ba (6:62ba) + TX_FAR _SilphCo6BattleText2 + db "@" + +SilphCo6EndBattleText2: ; 1a2bf (6:62bf) + TX_FAR _SilphCo6EndBattleText2 + db "@" + +SilphCo6AfterBattleText2: ; 1a2c4 (6:62c4) + TX_FAR _SilphCo6AfterBattleText2 + db "@" + +SilphCo6Text7: ; 1a2c9 (6:62c9) + db $08 ; asm + ld hl, SilphCo6TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +SilphCo6BattleText3: ; 1a2d3 (6:62d3) + TX_FAR _SilphCo6BattleText3 + db "@" + +SilphCo6EndBattleText3: ; 1a2d8 (6:62d8) + TX_FAR _SilphCo6EndBattleText3 + db "@" + +SilphCo6AfterBattleText3: ; 1a2dd (6:62dd) + TX_FAR _SilphCo6AfterBattleText3 + db "@" + +SilphCo6Text8: ; 1a2e2 (6:62e2) + db $08 ; asm + ld hl, SilphCo6TrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +SilphCo6BattleText4: ; 1a2ec (6:62ec) + TX_FAR _SilphCo6BattleText4 + db "@" + +SilphCo6EndBattleText4: ; 1a2f1 (6:62f1) + TX_FAR _SilphCo6EndBattleText4 + db "@" + +SilphCo6AfterBattleText4: ; 1a2f6 (6:62f6) + TX_FAR _SilphCo6AfterBattleText4 + db "@" diff --git a/scripts/silphco7.asm b/scripts/silphco7.asm new file mode 100755 index 00000000..dfd139c0 --- /dev/null +++ b/scripts/silphco7.asm @@ -0,0 +1,525 @@ +SilphCo7Script: ; 51b61 (14:5b61) + call SilphCo7Script_51b77 + call EnableAutoTextBoxDrawing + ld hl, SilphCo7TrainerHeaders + ld de, SilphCo7ScriptPointers + ld a, [W_SILPHCO7CURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_SILPHCO7CURSCRIPT], a + ret + +SilphCo7Script_51b77: ; 51b77 (14:5b77) + ld hl, $d126 + bit 5, [hl] + res 5, [hl] + ret z + ld hl, DataTable_51bc1 ; $5bc1 + call SilphCo7Text_51bc8 + call SilphCo7Text_51bf4 + ld a, [$d830] + bit 4, a + jr nz, .asm_51b9e + push af + ld a, $54 + ld [$d09f], a + ld bc, $305 + ld a, $17 + call Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e)) + pop af +.asm_51b9e + bit 5, a + jr nz, .asm_51bb1 + push af + ld a, $54 + ld [$d09f], a + ld bc, $20a + ld a, $17 + call Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e)) + pop af +.asm_51bb1 + bit 6, a + ret nz + ld a, $54 + ld [$d09f], a + ld bc, $60a + ld a, $17 + jp Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e)) + +DataTable_51bc1: ; 51bc1 (14:5bc1) + db $03,$05,$02,$0A,$06,$0A,$FF + +SilphCo7Text_51bc8: ; 51bc8 (14:5bc8) + push hl + ld hl, $d73f + ld a, [hli] + ld b, a + ld a, [hl] + ld c, a + xor a + ld [$ffe0], a + pop hl +.asm_51bd4 + ld a, [hli] + cp $ff + jr z, .asm_51bf0 + push hl + ld hl, $ffe0 + inc [hl] + pop hl + cp b + jr z, .asm_51be5 + inc hl + jr .asm_51bd4 +.asm_51be5 + ld a, [hli] + cp c + jr nz, .asm_51bd4 + ld hl, $d73f + xor a + ld [hli], a + ld [hl], a + ret +.asm_51bf0 + xor a + ld [$ffe0], a + ret + +SilphCo7Text_51bf4: ; 51bf4 (14:5bf4) + ld hl, $d830 + ld a, [$ffe0] + and a + ret z + cp $1 + jr nz, .asm_51c02 + set 4, [hl] + ret +.asm_51c02 + cp $2 + jr nz, .asm_51c09 + set 5, [hl] + ret +.asm_51c09 + set 6, [hl] + ret + +SilphCo7Text_51c0c: ; 51c0c (14:5c0c) + xor a + ld [wJoypadForbiddenButtonsMask], a + +SilphCo7Text_51c10: ; 51c10 (14:5c10) + ld [W_SILPHCO7CURSCRIPT], a + ld [W_CURMAPSCRIPT], a + ret + +SilphCo7ScriptPointers: ; 51c17 (14:5c17) + dw SilphCo7Script0 + dw Func_324c + dw EndTrainerBattle + dw SilphCo7Script3 + dw SilphCo7Script4 + dw SilphCo7Script5 + +SilphCo7Script0: ; 51c23 (14:5c23) + ld a, [$d82f] + bit 0, a + jp nz, CheckFightingMapTrainers + ld hl, CoordsData_51c78 + call ArePlayerCoordsInArray + jp nc, CheckFightingMapTrainers + xor a + ld [H_CURRENTPRESSEDBUTTONS], a + ld a, $f0 + ld [wJoypadForbiddenButtonsMask], a + ld a, $4 + ld [$d528], a + ld a, $ff + ld [$c0ee], a + call PlaySound + ld c, BANK(Music_MeetRival) + ld a, MUSIC_MEET_RIVAL + call PlayMusic + ld a, $9 + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + call DisplayTextID + ld a, $9 + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + call SetSpriteMovementBytesToFF + ld de, MovementData_51c7d + ld a, [wWhichTrade] ; $cd3d + ld [$cf0d], a + cp $1 + jr z, .asm_51c6c + inc de +.asm_51c6c + ld a, $9 + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + call MoveSprite + ld a, $3 + jp SilphCo7Text_51c10 + +CoordsData_51c78: ; 51c78 (14:5c78) + db $02,$03 + db $03,$03 + db $FF + +MovementData_51c7d: ; 51c7d (14:5c7d) + db $40,$40,$40,$40,$FF + +SilphCo7Script3: ; 51c82 (14:5c82) + ld a, [$d730] + bit 0, a + ret nz + xor a + ld [wJoypadForbiddenButtonsMask], a + ld a, $d + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + call DisplayTextID + call Delay3 + ld hl, $d72d + set 6, [hl] + set 7, [hl] + ld hl, SilphCo7Text14 ; $5ec8 + ld de, SilphCo7Text_51ecd ; $5ecd + call PreBattleSaveRegisters + ld a, SONY2 + $c8 + ld [W_CUROPPONENT], a ; $d059 + ld a, [W_RIVALSTARTER] ; $d715 + cp SQUIRTLE + jr nz, .asm_51cb6 + ld a, $7 + jr .asm_51cc0 +.asm_51cb6 + cp BULBASAUR + jr nz, .asm_51cbe + ld a, $8 + jr .asm_51cc0 +.asm_51cbe + ld a, $9 +.asm_51cc0 + ld [W_TRAINERNO], a ; $d05d + ld a, $4 + jp SilphCo7Text_51c10 + +SilphCo7Script4: ; 51cc8 (14:5cc8) + ld a, [W_ISINBATTLE] ; $d057 + cp $ff + jp z, SilphCo7Text_51c0c + ld a, $f0 + ld [wJoypadForbiddenButtonsMask], a + ld hl, $d82f + set 0, [hl] + ld a, $4 + ld [$d528], a + ld a, $9 + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + ld a, $4 + ld [$ff8d], a + call Func_34a6 + ld a, $f + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + call DisplayTextID + ld a, $ff + ld [$c0ee], a + call PlaySound + ld b, BANK(Music_RivalAlternateStart) + ld hl, Music_RivalAlternateStart + call Bankswitch + ld de, MovementData_51d1d + ld a, [$cf0d] + cp $1 + jr nz, .asm_51d0e + ld de, MovementData_51d1a +.asm_51d0e + ld a, $9 + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + call MoveSprite + ld a, $5 + jp SilphCo7Text_51c10 + +MovementData_51d1a: ; 51d1a (14:5d1a) + db $C0,$C0,$FF + +MovementData_51d1d: ; 51d1d (14:5d1d) + db $80,$40,$40,$C0,$C0,$C0,$00,$FF + +SilphCo7Script5: ; 51d25 (14:5d25) + ld a, [$d730] + bit 0, a + ret nz + ld a, $a7 + ld [$cc4d], a + ld a, $11 + call Predef ; indirect jump to RemoveMissableObject (f1d7 (3:71d7)) + call Func_2307 + xor a + ld [wJoypadForbiddenButtonsMask], a + jp SilphCo7Text_51c10 + +SilphCo7TextPointers: ; 51d3f (14:5d3f) + dw SilphCo7Text1 + dw SilphCo7Text2 + dw SilphCo7Text3 + dw SilphCo7Text4 + dw SilphCo7Text5 + dw SilphCo7Text6 + dw SilphCo7Text7 + dw SilphCo7Text8 + dw SilphCo7Text9 + dw Predef5CText + dw Predef5CText + dw Predef5CText + dw SilphCo7Text13 + dw SilphCo7Text14 + dw SilphCo7Text15 + +SilphCo7TrainerHeaders: ; 51d5d (14:5d5d) +SilphCo7TrainerHeader0: ; 51d5d (14:5d5d) + db $5 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d82f ; flag's byte + dw SilphCo7BattleText1 ; 0x5e5a TextBeforeBattle + dw SilphCo7AfterBattleText1 ; 0x5e64 TextAfterBattle + dw SilphCo7EndBattleText1 ; 0x5e5f TextEndBattle + dw SilphCo7EndBattleText1 ; 0x5e5f TextEndBattle + +SilphCo7TrainerHeader2: ; 51d69 (14:5d69) + db $6 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d82f ; flag's byte + dw SilphCo7BattleText2 ; 0x5e73 TextBeforeBattle + dw SilphCo7AfterBattleText2 ; 0x5e7d TextAfterBattle + dw SilphCo7EndBattleText2 ; 0x5e78 TextEndBattle + dw SilphCo7EndBattleText2 ; 0x5e78 TextEndBattle + +SilphCo7TrainerHeader3: ; 51d75 (14:5d75) + db $7 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d82f ; flag's byte + dw SilphCo7BattleText3 ; 0x5e8c TextBeforeBattle + dw SilphCo7AfterBattleText3 ; 0x5e96 TextAfterBattle + dw SilphCo7EndBattleText3 ; 0x5e91 TextEndBattle + dw SilphCo7EndBattleText3 ; 0x5e91 TextEndBattle + +SilphCo7TrainerHeader4: ; 51d81 (14:5d81) + db $8 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d82f ; flag's byte + dw SilphCo7BattleText4 ; 0x5ea5 TextBeforeBattle + dw SilphCo7AfterBattleText4 ; 0x5eaf TextAfterBattle + dw SilphCo7EndBattleText4 ; 0x5eaa TextEndBattle + dw SilphCo7EndBattleText4 ; 0x5eaa TextEndBattle + + db $ff + +SilphCo7Text1: +; lapras guy + db $08 ; asm + ld a, [$d72e] + bit 0, a ; got lapras? + jr z, .givelapras + ld a, [$d838] + bit 7, a ; saved silph? + jr nz, .savedsilph + ld hl, .LaprasGuyText + call PrintText + jr .done +.givelapras + ld hl, .MeetLaprasGuyText + call PrintText + ld bc, (LAPRAS << 8) | 15 + call GivePokemon + jr nc, .done + ld a, [$ccd3] + and a + call z, WaitForTextScrollButtonPress + call EnableAutoTextBoxDrawing + ld hl, .HeresYourLaprasText + call PrintText + ld hl, $d72e + set 0, [hl] + jr .done +.savedsilph + ld hl, .LaprasGuySavedText + call PrintText +.done + jp TextScriptEnd + +.MeetLaprasGuyText + TX_FAR _MeetLaprasGuyText + db "@" + +.HeresYourLaprasText + TX_FAR _HeresYourLaprasText + db "@" + +.LaprasGuyText + TX_FAR _LaprasGuyText + db "@" + +.LaprasGuySavedText + TX_FAR _LaprasGuySavedText + db "@" + +SilphCo7Text2: + db $8 + ld a, [$d838] + bit 7, a ; saved silph? + jr nz, .savedsilph + ld hl, .rockettext + call PrintText + jr .done +.savedsilph + ld hl, .savedtext + call PrintText +.done + jp TextScriptEnd + +.rockettext + TX_FAR _SilphCo7Text_51e00 + db "@" + +.savedtext + TX_FAR _CanceledMasterBallText + db "@" + +SilphCo7Text3: + db $08 ; asm + ld a, [$d838] + bit 7, a ; saved silph? + jr nz, .savedsilph + ld hl, .rockettext + call PrintText + jr .done +.savedsilph + ld hl, .savedtext + call PrintText +.done + jp TextScriptEnd + +.rockettext + TX_FAR _SilphCo7Text_51e23 + db "@" + +.savedtext + TX_FAR _SilphCo7Text_51e28 + db "@" + +SilphCo7Text4: + db $08 ; asm + ld a, [$d838] + bit 7, a ; saved silph? + jr nz, .savedsilph + ld hl, .rockettext + call PrintText + jr .done +.savedsilph + ld hl, .savedtext + call PrintText +.done + jp TextScriptEnd + +.rockettext + TX_FAR _SilphCo7Text_51e46 + db "@" + +.savedtext + TX_FAR _SilphCo7Text_51e4b + db "@" + +SilphCo7Text5: ; 51e50 (14:5e50) + db $08 ; asm + ld hl, SilphCo7TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +SilphCo7BattleText1: ; 51e5a (14:5e5a) + TX_FAR _SilphCo7BattleText1 + db "@" + +SilphCo7EndBattleText1: ; 51e5f (14:5e5f) + TX_FAR _SilphCo7EndBattleText1 + db "@" + +SilphCo7AfterBattleText1: ; 51e64 (14:5e64) + TX_FAR _SilphCo7AfterBattleText1 + db "@" + +SilphCo7Text6: ; 51e69 (14:5e69) + db $08 ; asm + ld hl, SilphCo7TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +SilphCo7BattleText2: ; 51e73 (14:5e73) + TX_FAR _SilphCo7BattleText2 + db "@" + +SilphCo7EndBattleText2: ; 51e78 (14:5e78) + TX_FAR _SilphCo7EndBattleText2 + db "@" + +SilphCo7AfterBattleText2: ; 51e7d (14:5e7d) + TX_FAR _SilphCo7AfterBattleText2 + db "@" + +SilphCo7Text7: ; 51e82 (14:5e82) + db $08 ; asm + ld hl, SilphCo7TrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +SilphCo7BattleText3: ; 51e8c (14:5e8c) + TX_FAR _SilphCo7BattleText3 + db "@" + +SilphCo7EndBattleText3: ; 51e91 (14:5e91) + TX_FAR _SilphCo7EndBattleText3 + db "@" + +SilphCo7AfterBattleText3: ; 51e96 (14:5e96) + TX_FAR _SilphCo7AfterBattleText3 + db "@" + +SilphCo7Text8: ; 51e9b (14:5e9b) + db $08 ; asm + ld hl, SilphCo7TrainerHeader4 + call TalkToTrainer + jp TextScriptEnd + +SilphCo7BattleText4: ; 51ea5 (14:5ea5) + TX_FAR _SilphCo7BattleText4 + db "@" + +SilphCo7EndBattleText4: ; 51eaa (14:5eaa) + TX_FAR _SilphCo7EndBattleText4 + db "@" + +SilphCo7AfterBattleText4: ; 51eaf (14:5eaf) + TX_FAR _SilphCo7AfterBattleText4 + db "@" + +SilphCo7Text9: ; 51eb4 (14:5eb4) + db $08 ; asm + ld hl, SilphCo7Text_51ebe + call PrintText + jp TextScriptEnd + +SilphCo7Text_51ebe: ; 51ebe (14:5ebe) + TX_FAR _SilphCo7Text_51ebe + db "@" + +SilphCo7Text13: ; 51ec3 (14:5ec3) + TX_FAR _SilphCo7Text_51ec3 + db "@" + +SilphCo7Text14: ; 51ec8 (14:5ec8) + TX_FAR _SilphCo7Text_51ec8 + db "@" + +SilphCo7Text_51ecd: ; 51ecd (14:5ecd) + TX_FAR _SilphCo7Text_51ecd + db "@" + +SilphCo7Text15: ; 51ed2 (14:5ed2) + TX_FAR _SilphCo7Text_51ed2 + db "@" diff --git a/scripts/silphco8.asm b/scripts/silphco8.asm new file mode 100755 index 00000000..19cae4ac --- /dev/null +++ b/scripts/silphco8.asm @@ -0,0 +1,187 @@ +SilphCo8Script: ; 56504 (15:6504) + call SilphCo8Script_5651a + call EnableAutoTextBoxDrawing + ld hl, SilphCo8TrainerHeader0 + ld de, SilphCo8ScriptPointers + ld a, [W_SILPHCO8CURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_SILPHCO8CURSCRIPT], a + ret + +SilphCo8Script_5651a: ; 5651a (15:651a) + ld hl, $d126 + bit 5, [hl] + res 5, [hl] + ret z + ld hl, DataTable_5653e ; $653e + call SilphCo8Script_56541 + call SilphCo8Script_5656d + ld a, [$d832] + bit 0, a + ret nz + ld a, $5f + ld [$d09f], a + ld bc, $403 + ld a, $17 + jp Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e)) + +DataTable_5653e: ; 5653e (15:653e) + db $04,$03,$FF + +SilphCo8Script_56541: ; 56541 (15:6541) + push hl + ld hl, $d73f + ld a, [hli] + ld b, a + ld a, [hl] + ld c, a + xor a + ld [$ffe0], a + pop hl +.asm_5654d + ld a, [hli] + cp $ff + jr z, .asm_56569 + push hl + ld hl, $ffe0 + inc [hl] + pop hl + cp b + jr z, .asm_5655e + inc hl + jr .asm_5654d +.asm_5655e + ld a, [hli] + cp c + jr nz, .asm_5654d + ld hl, $d73f + xor a + ld [hli], a + ld [hl], a + ret +.asm_56569 + xor a + ld [$ffe0], a + ret + +SilphCo8Script_5656d: ; 5656d (15:656d) + ld a, [$ffe0] + and a + ret z + ld hl, $d832 + set 0, [hl] + ret + +SilphCo8ScriptPointers: ; 56577 (15:6577) + dw CheckFightingMapTrainers + dw Func_324c + dw EndTrainerBattle + +SilphCo8TextPointers: ; 5657d (15:657d) + dw SilphCo8Text1 + dw SilphCo8Text2 + dw SilphCo8Text3 + dw SilphCo8Text4 + +SilphCo8TrainerHeaders: ; 56585 (15:6585) +SilphCo8TrainerHeader0: ; 56585 (15:6585) + db $2 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d831 ; flag's byte + dw SilphCo8BattleText1 ; 0x65e6 TextBeforeBattle + dw SilphCo8AfterBattleText1 ; 0x65f0 TextAfterBattle + dw SilphCo8EndBattleText1 ; 0x65eb TextEndBattle + dw SilphCo8EndBattleText1 ; 0x65eb TextEndBattle + +SilphCo8TrainerHeader1: ; 56591 (15:6591) + db $3 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d831 ; flag's byte + dw SilphCo8BattleText2 ; 0x65f5 TextBeforeBattle + dw SilphCo8AfterBattleText2 ; 0x65ff TextAfterBattle + dw SilphCo8EndBattleText2 ; 0x65fa TextEndBattle + dw SilphCo8EndBattleText2 ; 0x65fa TextEndBattle + +SilphCo8TrainerHeader2: ; 5659d (15:659d) + db $4 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d831 ; flag's byte + dw SilphCo8BattleText3 ; 0x6604 TextBeforeBattle + dw SilphCo8AfterBattleText3 ; 0x660e TextAfterBattle + dw SilphCo8EndBattleText3 ; 0x6609 TextEndBattle + dw SilphCo8EndBattleText3 ; 0x6609 TextEndBattle + + db $ff + +SilphCo8Text1: ; 565aa (15:65aa) + db $08 ; asm + ld a, [$d838] + bit 7, a + ld hl, SilphCo8Text_565c3 + jr nz, asm_a468f ; 0x565b3 + ld hl, SilphCo8Text_565be +asm_a468f ; 0x565b8 + call PrintText + jp TextScriptEnd + +SilphCo8Text_565be: ; 565be (15:65be) + TX_FAR _SilphCo8Text_565be + db "@" + +SilphCo8Text_565c3: ; 565c3 (15:65c3) + TX_FAR _SilphCo8Text_565c3 + db "@" + +SilphCo8Text2: ; 565c8 (15:65c8) + db $08 ; asm + ld hl, SilphCo8TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +SilphCo8Text3: ; 565d2 (15:65d2) + db $08 ; asm + ld hl, SilphCo8TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +SilphCo8Text4: ; 565dc (15:65dc) + db $08 ; asm + ld hl, SilphCo8TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +SilphCo8BattleText1: ; 565e6 (15:65e6) + TX_FAR _SilphCo8BattleText1 + db "@" + +SilphCo8EndBattleText1: ; 565eb (15:65eb) + TX_FAR _SilphCo8EndBattleText1 + db "@" + +SilphCo8AfterBattleText1: ; 565f0 (15:65f0) + TX_FAR _SilphCo8AfterBattleText1 + db "@" + +SilphCo8BattleText2: ; 565f5 (15:65f5) + TX_FAR _SilphCo8BattleText2 + db "@" + +SilphCo8EndBattleText2: ; 565fa (15:65fa) + TX_FAR _SilphCo8EndBattleText2 + db "@" + +SilphCo8AfterBattleText2: ; 565ff (15:65ff) + TX_FAR _SilphCo8AfterBattleText2 + db "@" + +SilphCo8BattleText3: ; 56604 (15:6604) + TX_FAR _SilphCo8BattleText3 + db "@" + +SilphCo8EndBattleText3: ; 56609 (15:6609) + TX_FAR _SilphCo8EndBattleText3 + db "@" + +SilphCo8AfterBattleText3: ; 5660e (15:660e) + TX_FAR _SilphCo8AfterBattleText3 + db "@" diff --git a/scripts/silphco9.asm b/scripts/silphco9.asm new file mode 100755 index 00000000..ee6e6fdc --- /dev/null +++ b/scripts/silphco9.asm @@ -0,0 +1,248 @@ +SilphCo9Script: ; 5d7bb (17:57bb) + call SilphCo9Script_5d7d1 + call EnableAutoTextBoxDrawing + ld hl, SilphCo9TrainerHeaders + ld de, SilphCo9ScriptPointers + ld a, [W_SILPHCO9CURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_SILPHCO9CURSCRIPT], a + ret + +SilphCo9Script_5d7d1: ; 5d7d1 (17:57d1) + ld hl, $d126 + bit 5, [hl] + res 5, [hl] + ret z + ld hl, DataTable_5d82e ; $582e + call SilphCo9Script_5d837 + call SilphCo9Script_5d863 + ld a, [$d834] + bit 0, a + jr nz, .asm_5d7f8 + push af + ld a, $5f + ld [$d09f], a + ld bc, $401 + ld a, $17 + call Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e)) + pop af +.asm_5d7f8 + bit 1, a + jr nz, .asm_5d80b + push af + ld a, $54 + ld [$d09f], a + ld bc, $209 + ld a, $17 + call Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e)) + pop af +.asm_5d80b + bit 2, a + jr nz, .asm_5d81e + push af + ld a, $54 + ld [$d09f], a + ld bc, $509 + ld a, $17 + call Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e)) + pop af +.asm_5d81e + bit 3, a + ret nz + ld a, $5f + ld [$d09f], a + ld bc, $605 + ld a, $17 + jp Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e)) + +DataTable_5d82e: ; 5d82e (17:582e) + db $04,$01,$02,$09,$05,$09,$06,$05,$FF + +SilphCo9Script_5d837: ; 5d837 (17:5837) + push hl + ld hl, $d73f + ld a, [hli] + ld b, a + ld a, [hl] + ld c, a + xor a + ld [$ffe0], a + pop hl +.asm_5d843 + ld a, [hli] + cp $ff + jr z, .asm_5d85f + push hl + ld hl, $ffe0 + inc [hl] + pop hl + cp b + jr z, .asm_5d854 + inc hl + jr .asm_5d843 +.asm_5d854 + ld a, [hli] + cp c + jr nz, .asm_5d843 + ld hl, $d73f + xor a + ld [hli], a + ld [hl], a + ret +.asm_5d85f + xor a + ld [$ffe0], a + ret + +SilphCo9Script_5d863: ; 5d863 (17:5863) + ld hl, $d834 + ld a, [$ffe0] + and a + ret z + cp $1 + jr nz, .asm_5d871 + set 0, [hl] + ret +.asm_5d871 + cp $2 + jr nz, .asm_5d878 + set 1, [hl] + ret +.asm_5d878 + cp $3 + jr nz, .asm_5d87f + set 2, [hl] + ret +.asm_5d87f + cp $4 + ret nz + set 3, [hl] + ret + +SilphCo9ScriptPointers: ; 5d885 (17:5885) + dw CheckFightingMapTrainers + dw Func_324c + dw EndTrainerBattle + +SilphCo9TextPointers: ; 5d88b (17:588b) + dw SilphCo9Text1 + dw SilphCo9Text2 + dw SilphCo9Text3 + dw SilphCo9Text4 + +SilphCo9TrainerHeaders: ; 5d893 (17:5893) +SilphCo9TrainerHeader0: ; 5d893 (17:5893) + db $2 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d833 ; flag's byte + dw SilphCo9BattleText1 ; 0x5912 TextBeforeBattle + dw SilphCo9AfterBattleText1 ; 0x591c TextAfterBattle + dw SilphCo9EndBattleText1 ; 0x5917 TextEndBattle + dw SilphCo9EndBattleText1 ; 0x5917 TextEndBattle + +SilphCo9TrainerHeader1: ; 5d89f (17:589f) + db $3 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d833 ; flag's byte + dw SilphCo9BattleText2 ; 0x5921 TextBeforeBattle + dw SilphCo9AfterBattleText2 ; 0x592b TextAfterBattle + dw SilphCo9EndBattleText2 ; 0x5926 TextEndBattle + dw SilphCo9EndBattleText2 ; 0x5926 TextEndBattle + +SilphCo9TrainerHeader2: ; 5d8ab (17:58ab) + db $4 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d833 ; flag's byte + dw SilphCo9BattleText3 ; 0x5930 TextBeforeBattle + dw SilphCo9AfterBattleText3 ; 0x593a TextAfterBattle + dw SilphCo9EndBattleText3 ; 0x5935 TextEndBattle + dw SilphCo9EndBattleText3 ; 0x5935 TextEndBattle + + db $ff + +SilphCo9Text1: ; 5d8b8 (17:58b8) + db $08 ; asm + ld a, [$d838] + bit 7, a + jr nz, .asm_a14c3 ; 0x5d8be + ld hl, SilphCo9Text_5d8e5 + call PrintText + ld a, $7 + call Predef + call GBFadeOut2 + call Delay3 + call GBFadeIn2 + ld hl, SilphCo9Text_5d8ea + call PrintText + jr .asm_b6e28 ; 0x5d8da +.asm_a14c3 ; 0x5d8dc + ld hl, SilphCo9Text_5d8ef + call PrintText +.asm_b6e28 ; 0x5d8e2 + jp TextScriptEnd + +SilphCo9Text_5d8e5: ; 5d8e5 (17:58e5) + TX_FAR _SilphCo9Text_5d8e5 + db "@" + +SilphCo9Text_5d8ea: ; 5d8ea (17:58ea) + TX_FAR _SilphCo9Text_5d8ea + db "@" + +SilphCo9Text_5d8ef: ; 5d8ef (17:58ef) + TX_FAR _SilphCo9Text_5d8ef + db "@" + +SilphCo9Text2: ; 5d8f4 (17:58f4) + db $08 ; asm + ld hl, SilphCo9TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +SilphCo9Text3: ; 5d8fe (17:58fe) + db $08 ; asm + ld hl, SilphCo9TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +SilphCo9Text4: ; 5d908 (17:5908) + db $08 ; asm + ld hl, SilphCo9TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +SilphCo9BattleText1: ; 5d912 (17:5912) + TX_FAR _SilphCo9BattleText1 + db "@" + +SilphCo9EndBattleText1: ; 5d917 (17:5917) + TX_FAR _SilphCo9EndBattleText1 + db "@" + +SilphCo9AfterBattleText1: ; 5d91c (17:591c) + TX_FAR _SilphCo9AfterBattleText1 + db "@" + +SilphCo9BattleText2: ; 5d921 (17:5921) + TX_FAR _SilphCo9BattleText2 + db "@" + +SilphCo9EndBattleText2: ; 5d926 (17:5926) + TX_FAR _SilphCo9EndBattleText2 + db "@" + +SilphCo9AfterBattleText2: ; 5d92b (17:592b) + TX_FAR _SilphCo9AfterBattleText2 + db "@" + +SilphCo9BattleText3: ; 5d930 (17:5930) + TX_FAR _SilphCo9BattleText3 + db "@" + +SilphCo9EndBattleText3: ; 5d935 (17:5935) + TX_FAR _SilphCo9EndBattleText3 + db "@" + +SilphCo9AfterBattleText3: ; 5d93a (17:593a) + TX_FAR _SilphCo9AfterBattleText3 + db "@" diff --git a/scripts/silphcoelevator.asm b/scripts/silphcoelevator.asm new file mode 100755 index 00000000..7986de3d --- /dev/null +++ b/scripts/silphcoelevator.asm @@ -0,0 +1,80 @@ +SilphCoElevatorScript: ; 457c0 (11:57c0) + ld hl, $d126 + bit 5, [hl] + res 5, [hl] + push hl + call nz, SilphCoElevatorScript_457dc + pop hl + bit 7, [hl] + res 7, [hl] + call nz, SilphCoElevatorScript_45827 + xor a + ld [$cf0c], a + inc a + ld [$cc3c], a + ret + +SilphCoElevatorScript_457dc: ; 457dc (11:57dc) + ld hl, $d3af + ld a, [$d73b] + ld b, a + ld a, [$d73c] + ld c, a + call SilphCoElevatorScript_457ea + +SilphCoElevatorScript_457ea: ; 457ea (11:57ea) + inc hl + inc hl + ld a, b + ld [hli], a + ld a, c + ld [hli], a + ret + +SilphCoElevatorScript_457f1: ; 457f1 (11:57f1) + ld hl, SilphCoElavatorFloors ; $5804 + call LoadItemList + ld hl, SilphCoElevatorWarpMaps ; $5811 + ld de, $cc5b + ld bc, $16 + call CopyData + ret + +SilphCoElavatorFloors: ; 45804 (11:45804) + db $0B ; num elements in list + db $56, $57, $58, $59, $5A, $5B, $5C, $5D, $5E, $5F, $60 ; "1F", "2F", "3F", "4F", ... , "11F" + db $FF ; terminator + +SilphCoElevatorWarpMaps: ; 45811 (11:45811) +; first byte is warp number +; second byte is map number +; These specify where the player goes after getting out of the elevator. + db $03, SILPH_CO_1F + db $02, SILPH_CO_2F + db $02, SILPH_CO_3F + db $02, SILPH_CO_4F + db $02, SILPH_CO_5F + db $02, SILPH_CO_6F + db $02, SILPH_CO_7F + db $02, SILPH_CO_8F + db $02, SILPH_CO_9F + db $02, SILPH_CO_10F + db $01, SILPH_CO_11F + +SilphCoElevatorScript_45827: ; 45827 (11:5827) + call Delay3 + ld b, BANK(ShakeElevator) + ld hl, ShakeElevator + call Bankswitch + ret + +SilphCoElevatorTextPointers: ; 45833 (11:5833) + dw SilphCoElevatorText1 + +SilphCoElevatorText1: ; 45835 (11:5835) + db $08 ; asm + call SilphCoElevatorScript_457f1 + ld hl, SilphCoElevatorWarpMaps ; $5811 + ld a, $61 + call Predef + jp TextScriptEnd diff --git a/scripts/ssanne1.asm b/scripts/ssanne1.asm new file mode 100755 index 00000000..4814dfe9 --- /dev/null +++ b/scripts/ssanne1.asm @@ -0,0 +1,15 @@ +SSAnne1Script: ; 61265 (18:5265) + call EnableAutoTextBoxDrawing + ret + +SSAnne1TextPointers: ; 61269 (18:5269) + dw SSAnne1Text1 + dw SSAnne1Text2 + +SSAnne1Text1: ; 6126d (18:526d) + TX_FAR _SSAnne1Text1 + db "@" + +SSAnne1Text2: ; 61272 (18:5272) + TX_FAR _SSAnne1Text2 + db "@" diff --git a/scripts/ssanne10.asm b/scripts/ssanne10.asm new file mode 100755 index 00000000..eaef6de3 --- /dev/null +++ b/scripts/ssanne10.asm @@ -0,0 +1,202 @@ +SSAnne10Script: ; 61d55 (18:5d55) + call EnableAutoTextBoxDrawing + ld hl, SSAnne10TrainerHeaders + ld de, SSAnne10ScriptPointers + ld a, [W_SSANNE10CURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_SSANNE10CURSCRIPT], a + ret + +SSAnne10ScriptPointers: ; 61d68 (18:5d68) + dw CheckFightingMapTrainers + dw Func_324c + dw EndTrainerBattle + +SSAnne10TextPointers: ; 61d6e (18:5d6e) + dw SSAnne10Text1 + dw SSAnne10Text2 + dw SSAnne10Text3 + dw SSAnne10Text4 + dw SSAnne10Text5 + dw SSAnne10Text6 + dw SSAnne10Text7 + dw SSAnne10Text8 + dw Predef5CText + dw Predef5CText + dw Predef5CText + +SSAnne10TrainerHeaders: ; 61d84 (18:5d84) +SSAnne10TrainerHeader0: ; 61d84 (18:5d84) + db $1 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d809 ; flag's byte + dw SSAnne10BattleText1 ; 0x5e16 TextBeforeBattle + dw SSAnne10AfterBattleText1 ; 0x5e20 TextAfterBattle + dw SSAnne10EndBattleText1 ; 0x5e1b TextEndBattle + dw SSAnne10EndBattleText1 ; 0x5e1b TextEndBattle + +SSAnne10TrainerHeader1: ; 61d90 (18:5d90) + db $2 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d809 ; flag's byte + dw SSAnne10BattleText2 ; 0x5e25 TextBeforeBattle + dw SSAnne10AfterBattleText2 ; 0x5e2f TextAfterBattle + dw SSAnne10EndBattleText2 ; 0x5e2a TextEndBattle + dw SSAnne10EndBattleText2 ; 0x5e2a TextEndBattle + +SSAnne10TrainerHeader2: ; 61d9c (18:5d9c) + db $3 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d809 ; flag's byte + dw SSAnne10BattleText3 ; 0x5e34 TextBeforeBattle + dw SSAnne10AfterBattleText3 ; 0x5e3e TextAfterBattle + dw SSAnne10EndBattleText3 ; 0x5e39 TextEndBattle + dw SSAnne10EndBattleText3 ; 0x5e39 TextEndBattle + +SSAnne10TrainerHeader3: ; 61da8 (18:5da8) + db $4 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d809 ; flag's byte + dw SSAnne10BattleText4 ; 0x5e43 TextBeforeBattle + dw SSAnne10AfterBattleText4 ; 0x5e4d TextAfterBattle + dw SSAnne10EndBattleText4 ; 0x5e48 TextEndBattle + dw SSAnne10EndBattleText4 ; 0x5e48 TextEndBattle + +SSAnne10TrainerHeader4: ; 61db4 (18:5db4) + db $5 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d809 ; flag's byte + dw SSAnne10BattleText5 ; 0x5e52 TextBeforeBattle + dw SSAnne10AfterBattleText5 ; 0x5e5c TextAfterBattle + dw SSAnne10EndBattleText5 ; 0x5e57 TextEndBattle + dw SSAnne10EndBattleText5 ; 0x5e57 TextEndBattle + +SSAnne10TrainerHeader5: ; 61dc0 (18:5dc0) + db $6 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d809 ; flag's byte + dw SSAnne10BattleText6 ; 0x5e61 TextBeforeBattle + dw SSAnne10AfterBattleText6 ; 0x5e6b TextAfterBattle + dw SSAnne10EndBattleText6 ; 0x5e66 TextEndBattle + dw SSAnne10EndBattleText6 ; 0x5e66 TextEndBattle + + db $ff + +SSAnne10Text1: ; 61dcd (18:5dcd) + db $08 ; asm + ld hl, SSAnne10TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +SSAnne10Text2: ; 61dd7 (18:5dd7) + db $08 ; asm + ld hl, SSAnne10TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +SSAnne10Text3: ; 61de1 (18:5de1) + db $08 ; asm + ld hl, SSAnne10TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +SSAnne10Text4: ; 61deb (18:5deb) + db $08 ; asm + ld hl, SSAnne10TrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +SSAnne10Text5: ; 61df5 (18:5df5) + db $08 ; asm + ld hl, SSAnne10TrainerHeader4 + call TalkToTrainer + jp TextScriptEnd + +SSAnne10Text6: ; 61dff (18:5dff) + db $08 ; asm + ld hl, SSAnne10TrainerHeader5 + call TalkToTrainer + jp TextScriptEnd + +SSAnne10Text8: ; 61e09 (18:5e09) + TX_FAR _SSAnne10Text8 + db $8 ; 0x61e0d + ld a, MACHOKE + call PlayCry + jp TextScriptEnd + +SSAnne10BattleText1: ; 61e16 (18:5e16) + TX_FAR _SSAnne10BattleText1 + db "@" + +SSAnne10EndBattleText1: ; 61e1b (18:5e1b) + TX_FAR _SSAnne10EndBattleText1 + db "@" + +SSAnne10AfterBattleText1: ; 61e20 (18:5e20) + TX_FAR _SSAnne10AfterBattleText1 + db "@" + +SSAnne10BattleText2: ; 61e25 (18:5e25) + TX_FAR _SSAnne10BattleText2 + db "@" + +SSAnne10EndBattleText2: ; 61e2a (18:5e2a) + TX_FAR _SSAnne10EndBattleText2 + db "@" + +SSAnne10AfterBattleText2: ; 61e2f (18:5e2f) + TX_FAR _SSAnne10AfterBattleText2 + db "@" + +SSAnne10BattleText3: ; 61e34 (18:5e34) + TX_FAR _SSAnne10BattleText3 + db "@" + +SSAnne10EndBattleText3: ; 61e39 (18:5e39) + TX_FAR _SSAnne10EndBattleText3 + db "@" + +SSAnne10AfterBattleText3: ; 61e3e (18:5e3e) + TX_FAR _SSAnne10AfterBattleText3 + db "@" + +SSAnne10BattleText4: ; 61e43 (18:5e43) + TX_FAR _SSAnne10BattleText4 + db "@" + +SSAnne10EndBattleText4: ; 61e48 (18:5e48) + TX_FAR _SSAnne10EndBattleText4 + db "@" + +SSAnne10AfterBattleText4: ; 61e4d (18:5e4d) + TX_FAR _SSAnne10AfterBattleText4 + db "@" + +SSAnne10BattleText5: ; 61e52 (18:5e52) + TX_FAR _SSAnne10BattleText5 + db "@" + +SSAnne10EndBattleText5: ; 61e57 (18:5e57) + TX_FAR _SSAnne10EndBattleText5 + db "@" + +SSAnne10AfterBattleText5: ; 61e5c (18:5e5c) + TX_FAR _SSAnne10AfterBattleText5 + db "@" + +SSAnne10BattleText6: ; 61e61 (18:5e61) + TX_FAR _SSAnne10BattleText6 + db "@" + +SSAnne10EndBattleText6: ; 61e66 (18:5e66) + TX_FAR _SSAnne10EndBattleText6 + db "@" + +SSAnne10AfterBattleText6: ; 61e6b (18:5e6b) + TX_FAR _SSAnne10AfterBattleText6 + db "@" + +SSAnne10Text7: ; 61e70 (18:5e70) + TX_FAR _SSAnne10Text7 + db "@" diff --git a/scripts/ssanne2.asm b/scripts/ssanne2.asm new file mode 100755 index 00000000..6405a173 --- /dev/null +++ b/scripts/ssanne2.asm @@ -0,0 +1,210 @@ +SSAnne2Script: ; 6139f (18:539f) + call EnableAutoTextBoxDrawing + ld hl, SSAnne2ScriptPointers + ld a, [W_SSANNE2CURSCRIPT] + jp CallFunctionInTable + +SSAnne2Script_613ab: ; 613ab (18:53ab) + xor a + ld [wJoypadForbiddenButtonsMask], a + ld [W_SSANNE2CURSCRIPT], a + ret + +SSAnne2ScriptPointers: ; 613b3 (18:53b3) + dw SSAnne2Script0 + dw SSAnne2Script1 + dw SSAnne2Script2 + dw SSAnne2Script3 + dw SSAnne2Script4 + +SSAnne2Script4: ; 613bd (18:53bd) + ret + +SSAnne2Script0: ; 613be (18:53be) + ld hl, CoordsData_61411 ; $5411 + call ArePlayerCoordsInArray + ret nc + ld a, $ff + ld [$c0ee], a + call PlaySound + ld c, BANK(Music_MeetRival) + ld a, MUSIC_MEET_RIVAL + call PlayMusic + ld a, [$cd3d] + ld [$ffdb], a + ld a, $71 + ld [$cc4d], a + ld a, $15 + call Predef + call Delay3 + ld a, $2 + ld [$ff8c], a + call SetSpriteMovementBytesToFF + xor a + ld [H_CURRENTPRESSEDBUTTONS], a + ld a, $f0 + ld [wJoypadForbiddenButtonsMask], a + ld a, [$ffdb] + cp $2 + jr nz, .asm_61400 ; 0x613f9 $5 + ld de, MovementData_6140c + jr .asm_61403 ; 0x613fe $3 +.asm_61400 + ld de, MovementData_6140d +.asm_61403 + call MoveSprite + ld a, $1 + ld [W_SSANNE2CURSCRIPT], a + ret + +MovementData_6140c: ; 6140c (18:540c) + db $00 + +MovementData_6140d: ; 6140d (18:540d) + db $00,$00,$00,$FF + +CoordsData_61411: ; 61411 (18:5411) + db $08,$24,$08,$25,$FF + +SSAnne2Script_61416: ; 61416 (18:5416) + ld a, [W_XCOORD] ; $d362 + cp $25 + jr nz, .asm_61426 + ld a, $2 + ld [$d528], a + ld a, $c + jr .asm_61427 +.asm_61426 + xor a +.asm_61427 + ld [$ff8d], a + ld a, $2 + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + jp Func_34a6 + +SSAnne2Script1: ; 61430 (18:5430) + ld a, [$d730] + bit 0, a + ret nz + call SSAnne2Script_61416 + xor a + ld [wJoypadForbiddenButtonsMask], a + ld a, $2 + ld [$ff8c], a + call DisplayTextID + call Delay3 + ld a, SONY2 + $c8 + ld [W_CUROPPONENT], a + + ; select which team to use during the encounter + ld a, [W_RIVALSTARTER] + cp SQUIRTLE + jr nz, .NotSquirtle ; 0x61451 $4 + ld a, $1 + jr .done +.NotSquirtle + cp BULBASAUR + jr nz, .Charmander ; 0x61459 $4 + ld a, $2 + jr .done +.Charmander + ld a, $3 +.done + ld [W_TRAINERNO], a + + call SSAnne2Script_61416 + ld a, $2 + ld [W_SSANNE2CURSCRIPT], a + ret + +SSAnne2Script2: ; 6146d (18:546d) + ld a, [$d057] + cp $ff + jp z, SSAnne2Script_613ab + call SSAnne2Script_61416 + ld a, $f0 + ld [wJoypadForbiddenButtonsMask], a + ld a, $3 + ld [$ff8c], a + call DisplayTextID + ld a, $2 + ld [$ff8c], a + call SetSpriteMovementBytesToFF + ld a, [W_XCOORD] + cp $25 + jr nz, .asm_61497 ; 0x61490 $5 + ld de, MovementData_614b9 + jr .asm_6149a ; 0x61495 $3 +.asm_61497 + ld de, MovementData_614b7 +.asm_6149a + ld a, $2 + ld [$ff8c], a + call MoveSprite + ld a, $ff + ld [$c0ee], a + call PlaySound + ld b, BANK(Music_RivalAlternateStart) + ld hl, Music_RivalAlternateStart + call Bankswitch + ld a, $3 + ld [W_SSANNE2CURSCRIPT], a + ret + +MovementData_614b7: ; 614b7 (18:54b7) + db $C0,$00 + +MovementData_614b9: ; 614b9 (18:54b9) + db $00,$00,$00,$00,$FF + +SSAnne2Script3: ; 614be (18:54be) + ld a, [$d730] + bit 0, a + ret nz + xor a + ld [wJoypadForbiddenButtonsMask], a + ld a, $71 + ld [$cc4d], a + ld a, $11 + call Predef + call Func_2307 + ld a, $4 + ld [W_SSANNE2CURSCRIPT], a + ret + +SSAnne2TextPointers: ; 614db (18:54db) + dw SSAnne2Text1 + dw SSAnne2Text2 + dw SSAnne2Text3 + +SSAnne2Text1: ; 614e1 (18:54e1) + TX_FAR _SSAnne2Text1 + db "@" + +SSAnne2Text2: ; 614e6 (18:54e6) + db $8 + ld hl, SSAnneRivalBeforeBattleText + call PrintText + ld hl, $d72d + set 6, [hl] + set 7, [hl] + ld hl, SSAnneRivalDefeatedText + ld de, SSAnneRivalWonText + call PreBattleSaveRegisters + jp TextScriptEnd + +SSAnneRivalBeforeBattleText: ; 61500 (18:5500) + TX_FAR _SSAnneRivalBeforeBattleText + db "@" + +SSAnneRivalDefeatedText: ; 61505 (18:5505) + TX_FAR _SSAnneRivalDefeatedText + db "@" + +SSAnneRivalWonText: ; 6150a (18:550a) + TX_FAR _SSAnneRivalWonText + db "@" + +SSAnne2Text3: ; 6150f (18:550f) + TX_FAR _SSAnneRivalCaptainText + db "@" diff --git a/scripts/ssanne3.asm b/scripts/ssanne3.asm new file mode 100755 index 00000000..56cbdd9c --- /dev/null +++ b/scripts/ssanne3.asm @@ -0,0 +1,9 @@ +SSAnne3Script: ; 44932 (11:4932) + jp EnableAutoTextBoxDrawing + +SSAnne3TextPointers: ; 44935 (11:4935) + dw SSAnne3Text1 + +SSAnne3Text1: ; 44937 (11:4937) + TX_FAR _SSAnne3Text1 + db "@" diff --git a/scripts/ssanne4.asm b/scripts/ssanne4.asm new file mode 100755 index 00000000..6cc0e7b9 --- /dev/null +++ b/scripts/ssanne4.asm @@ -0,0 +1,5 @@ +SSAnne4Script: ; 6162e (18:562e) + jp EnableAutoTextBoxDrawing + +SSAnne4TextPointers: ; 61631 (18:5631) + db "@" diff --git a/scripts/ssanne5.asm b/scripts/ssanne5.asm new file mode 100755 index 00000000..034dd26a --- /dev/null +++ b/scripts/ssanne5.asm @@ -0,0 +1,89 @@ +SSAnne5Script: ; 616ae (18:56ae) + call EnableAutoTextBoxDrawing + ld hl, SSAnne5TrainerHeader0 ; $56d1 + ld de, SSAnne5ScriptPointers + ld a, [W_SSANNE5CURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_SSANNE5CURSCRIPT], a + ret + +SSAnne5ScriptPointers: ; 616c1 (18:56c1) + dw CheckFightingMapTrainers + dw Func_324c + dw EndTrainerBattle + +SSAnne5TextPointers: ; 616c7 (18:56c7) + dw SSAnne5Text1 + dw SSAnne5Text2 + dw SSAnne5Text3 + dw SSAnne5Text4 + dw SSAnne5Text5 + +SSAnne5TrainerHeaders: ; 616d1 (18:56d1) +SSAnne5TrainerHeader0: ; 616d1 (18:56d1) + db $4 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7ff ; flag's byte + dw SSAnne5BattleText1 ; 0x5703 TextBeforeBattle + dw SSAnne5AfterBattleText1 ; 0x570d TextAfterBattle + dw SSAnne5EndBattleText1 ; 0x5708 TextEndBattle + dw SSAnne5EndBattleText1 ; 0x5708 TextEndBattle + +SSAnne5TrainerHeader1: ; 616dd (18:56dd) + db $5 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7ff ; flag's byte + dw SSAnne5BattleText2 ; 0x571c TextBeforeBattle + dw SSAnne5AfterBattleText2 ; 0x5726 TextAfterBattle + dw SSAnne5EndBattleText2 ; 0x5721 TextEndBattle + dw SSAnne5EndBattleText2 ; 0x5721 TextEndBattle + + db $ff + +SSAnne5Text1: ; 616ea (18:56ea) + TX_FAR _SSAnne5Text1 + db "@" + +SSAnne5Text2: ; 616ef (18:56ef) + TX_FAR _SSAnne5Text2 + db "@" + +SSAnne5Text3: ; 616f4 (18:56f4) + TX_FAR _SSAnne5Text3 + db "@" + +SSAnne5Text4: ; 616f9 (18:56f9) + db $08 ; asm + ld hl, SSAnne5TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +SSAnne5BattleText1: ; 61703 (18:5703) + TX_FAR _SSAnne5BattleText1 + db "@" + +SSAnne5EndBattleText1: ; 61708 (18:5708) + TX_FAR _SSAnne5EndBattleText1 + db "@" + +SSAnne5AfterBattleText1: ; 6170d (18:570d) + TX_FAR _SSAnne5AfterBattleText1 + db "@" + +SSAnne5Text5: ; 61712 (18:5712) + db $08 ; asm + ld hl, SSAnne5TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +SSAnne5BattleText2: ; 6171c (18:571c) + TX_FAR _SSAnne5BattleText2 + db "@" + +SSAnne5EndBattleText2: ; 61721 (18:5721) + TX_FAR _SSAnne5EndBattleText2 + db "@" + +SSAnne5AfterBattleText2: ; 61726 (18:5726) + TX_FAR _SSAnne5AfterBattleText2 + db "@" diff --git a/scripts/ssanne6.asm b/scripts/ssanne6.asm new file mode 100755 index 00000000..d3ec191f --- /dev/null +++ b/scripts/ssanne6.asm @@ -0,0 +1,72 @@ +SSAnne6Script: ; 617b3 (18:57b3) + call EnableAutoTextBoxDrawing + ret + +SSAnne6TextPointers: ; 617b7 (18:57b7) + dw SSAnne6Text1 + dw SSAnne6Text2 + dw SSAnne6Text3 + dw SSAnne6Text4 + dw SSAnne6Text5 + dw SSAnne6Text6 + dw SSAnne6Text7 + +SSAnne6Text1: ; 617c5 (18:57c5) + TX_FAR _SSAnne6Text1 + db "@" + +SSAnne6Text2: ; 617ca (18:57ca) + TX_FAR _SSAnne6Text2 + db "@" + +SSAnne6Text3: ; 617cf (18:57cf) + TX_FAR _SSAnne6Text3 + db "@" + +SSAnne6Text4: ; 617d4 (18:57d4) + TX_FAR _SSAnne6Text4 + db "@" + +SSAnne6Text5: ; 617d9 (18:57d9) + TX_FAR _SSAnne6Text5 + db "@" + +SSAnne6Text6: ; 617de (18:57de) + TX_FAR _SSAnne6Text6 + db "@" + +SSAnne6Text7: ; 617e3 (18:57e3) + db $08 ; asm + ld hl, SSAnne6Text_61807 + call PrintText + ldh a, [$d3] + bit 7, a + jr z, .asm_93eb1 ; 0x617ee + ld hl, SSAnne6Text_6180c + jr .asm_63292 ; 0x617f3 +.asm_93eb1 ; 0x617f5 + bit 4, a + jr z, .asm_7436c ; 0x617f7 + ld hl, SSAnne6Text_61811 + jr .asm_63292 ; 0x617fc +.asm_7436c ; 0x617fe + ld hl, SSAnne6Text_61816 +.asm_63292 ; 0x61801 + call PrintText + jp TextScriptEnd + +SSAnne6Text_61807: ; 61807 (18:5807) + TX_FAR _SSAnne6Text_61807 + db "@" + +SSAnne6Text_6180c: ; 6180c (18:580c) + TX_FAR _SSAnne6Text_6180c + db "@" + +SSAnne6Text_61811: ; 61811 (18:5811) + TX_FAR _SSAnne6Text_61811 + db "@" + +SSAnne6Text_61816: ; 61816 (18:5816) + TX_FAR _SSAnne6Text_61816 + db "@" diff --git a/scripts/ssanne7.asm b/scripts/ssanne7.asm new file mode 100755 index 00000000..8e88417f --- /dev/null +++ b/scripts/ssanne7.asm @@ -0,0 +1,96 @@ +SSAnne7Script: ; 61895 (18:5895) + call SSAnne7Script_6189b + jp EnableAutoTextBoxDrawing + +SSAnne7Script_6189b: ; 6189b (18:589b) + ld a, [$d803] + bit 1, a + ret nz + ld hl, $d72d + set 5, [hl] + ret + +SSAnne7TextPointers: ; 618a7 (18:58a7) + dw SSAnne7Text1 + dw SSAnne7Text2 + dw SSAnne7Text3 + +SSAnne7Text1: ; 618ad (18:58ad) + db $08 ; asm + ld a, [$d803] + bit 0, a + jr nz, .asm_797c4 ; 0x618b3 + ld hl, SSAnne7RubText + call PrintText + ld hl, ReceivingHM01Text + call PrintText + ld bc, (HM_01 << 8) | 1 + call GiveItem + jr nc, .BagFull + ld hl, ReceivedHM01Text + call PrintText + ld hl, $d803 + set 0, [hl] + jr .asm_0faf5 ; 0x618d4 +.BagFull + ld hl, HM01NoRoomText + call PrintText + ld hl, $d72d + set 5, [hl] + jr .asm_0faf5 ; 0x618e1 +.asm_797c4 ; 0x618e3 + ld hl, SSAnne7Text_61932 + call PrintText +.asm_0faf5 ; 0x618e9 + jp TextScriptEnd + +SSAnne7RubText: ; 618ec (18:58ec) + TX_FAR _SSAnne7RubText + db $8 + ld a, [$c0ef] + cp $1f + ld [$c0f0], a + jr nz, .asm_61908 ; 0x618f9 $d + ld a, $ff + ld [$c0ee], a + call PlaySound + ld a, Bank(Func_9876) + ld [$c0ef], a +.asm_61908 + ld a, MUSIC_PKMN_HEALED + ld [$c0ee], a + call PlaySound +.asm_61910 + ld a, [$c026] + cp MUSIC_PKMN_HEALED + jr z, .asm_61910 ; 0x61915 $f9 + call Func_2307 + ld hl, $d803 + set 1, [hl] + ld hl, $d72d + res 5, [hl] + jp TextScriptEnd + +ReceivingHM01Text: ; 61927 (18:5927) + TX_FAR _ReceivingHM01Text + db "@" + +ReceivedHM01Text: ; 6192c (18:592c) + TX_FAR _ReceivedHM01Text + db $11, "@" + +SSAnne7Text_61932: ; 61932 (18:5932) + TX_FAR _SSAnne7Text_61932 + db "@" + +HM01NoRoomText: ; 61937 (18:5937) + TX_FAR _HM01NoRoomText + db "@" + +SSAnne7Text2: ; 6193c (18:593c) + TX_FAR _SSAnne7Text2 + db "@" + +SSAnne7Text3: ; 61941 (18:5941) + TX_FAR _SSAnne7Text3 + db "@" diff --git a/scripts/ssanne8.asm b/scripts/ssanne8.asm new file mode 100755 index 00000000..31feb058 --- /dev/null +++ b/scripts/ssanne8.asm @@ -0,0 +1,164 @@ +SSAnne8Script: ; 61976 (18:5976) + call EnableAutoTextBoxDrawing + ld hl, SSAnne8TrainerHeaders + ld de, SSAnne8ScriptPointers + ld a, [W_SSANNE8CURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_SSANNE8CURSCRIPT], a + ret + +SSAnne8ScriptPointers: ; 61989 (18:5989) + dw CheckFightingMapTrainers + dw Func_324c + dw EndTrainerBattle + +SSAnne8TextPointers: ; 6198f (18:598f) + dw SSAnne8Text1 + dw SSAnne8Text2 + dw SSAnne8Text3 + dw SSAnne8Text4 + dw SSAnne8Text5 + dw SSAnne8Text6 + dw SSAnne8Text7 + dw SSAnne8Text8 + dw SSAnne8Text9 + dw Predef5CText + dw SSAnne8Text11 + +SSAnne8TrainerHeaders: ; 619a5 (18:59a5) +SSAnne8TrainerHeader0: ; 619a5 (18:59a5) + db $1 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d805 ; flag's byte + dw SSAnne8BattleText1 ; 0x5a0b TextBeforeBattle + dw SSAnne8AfterBattleText1 ; 0x5a15 TextAfterBattle + dw SSAnne8EndBattleText1 ; 0x5a10 TextEndBattle + dw SSAnne8EndBattleText1 ; 0x5a10 TextEndBattle + +SSAnne8TrainerHeader1: ; 619b1 (18:59b1) + db $2 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d805 ; flag's byte + dw SSAnne8BattleText2 ; 0x5a1a TextBeforeBattle + dw SSAnne8AfterBattleText2 ; 0x5a24 TextAfterBattle + dw SSAnne8EndBattleText2 ; 0x5a1f TextEndBattle + dw SSAnne8EndBattleText2 ; 0x5a1f TextEndBattle + +SSAnne8TrainerHeader2: ; 619bd (18:59bd) + db $3 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d805 ; flag's byte + dw SSAnne8BattleText3 ; 0x5a29 TextBeforeBattle + dw SSAnne8AfterBattleText3 ; 0x5a33 TextAfterBattle + dw SSAnne8EndBattleText3 ; 0x5a2e TextEndBattle + dw SSAnne8EndBattleText3 ; 0x5a2e TextEndBattle + +SSAnne8TrainerHeader3: ; 619c9 (18:59c9) + db $4 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d805 ; flag's byte + dw SSAnne8BattleText4 ; 0x5a38 TextBeforeBattle + dw SSAnne8AfterBattleText4 ; 0x5a42 TextAfterBattle + dw SSAnne8EndBattleText4 ; 0x5a3d TextEndBattle + dw SSAnne8EndBattleText4 ; 0x5a3d TextEndBattle + + db $ff + +SSAnne8Text1: ; 619d6 (18:59d6) + db $08 ; asm + ld hl, SSAnne8TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +SSAnne8Text2: ; 619e0 (18:59e0) + db $08 ; asm + ld hl, SSAnne8TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +SSAnne8Text3: ; 619ea (18:59ea) + db $08 ; asm + ld hl, SSAnne8TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +SSAnne8Text4: ; 619f4 (18:59f4) + db $08 ; asm + ld hl, SSAnne8TrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +SSAnne8Text8: ; 619fe (18:59fe) + TX_FAR _SSAnne8Text8 + db $08 ; asm + ld a, WIGGLYTUFF + call PlayCry + jp TextScriptEnd + +SSAnne8BattleText1: ; 61a0b (18:5a0b) + TX_FAR _SSAnne8BattleText1 + db "@" + +SSAnne8EndBattleText1: ; 61a10 (18:5a10) + TX_FAR _SSAnne8EndBattleText1 + db "@" + +SSAnne8AfterBattleText1: ; 61a15 (18:5a15) + TX_FAR _SSAnne8AfterBattleText1 + db "@" + +SSAnne8BattleText2: ; 61a1a (18:5a1a) + TX_FAR _SSAnne8BattleText2 + db "@" + +SSAnne8EndBattleText2: ; 61a1f (18:5a1f) + TX_FAR _SSAnne8EndBattleText2 + db "@" + +SSAnne8Text_61a24: ; 61a24 (18:5a24) + TX_FAR _SSAnne8Text_61a24 + db "@" + +SSAnne8BattleText3: ; 61a29 (18:5a29) + TX_FAR _SSAnne8BattleText3 + db "@" + +SSAnne8EndBattleText3: ; 61a2e (18:5a2e) + TX_FAR _SSAnne8EndBattleText3 + db "@" + +SSAnne8AfterBattleText3: ; 61a33 (18:5a33) + TX_FAR _SSAnne8AfterBattleText3 + db "@" + +SSAnne8BattleText4: ; 61a38 (18:5a38) + TX_FAR _SSAnne8BattleText4 + db "@" + +SSAnne8EndBattleText4: ; 61a3d (18:5a3d) + TX_FAR _SSAnne8EndBattleText4 + db "@" + +SSAnne8AfterBattleText4: ; 61a42 (18:5a42) + TX_FAR _SSAnne8AfterBattleText4 + db "@" + +SSAnne8Text5: ; 61a47 (18:5a47) + TX_FAR _SSAnne8Text5 + db "@" + +SSAnne8Text6: ; 61a4c (18:5a4c) + TX_FAR _SSAnne8Text6 + db "@" + +SSAnne8Text7: ; 61a51 (18:5a51) + TX_FAR _SSAnne8Text7 + db "@" + +SSAnne8Text9: ; 61a56 (18:5a56) + TX_FAR _SSAnne8Text9 + db "@" + +SSAnne8Text11: ; 61a5b (18:5a5b) + TX_FAR _SSAnne8Text11 + db "@" diff --git a/scripts/ssanne9.asm b/scripts/ssanne9.asm new file mode 100755 index 00000000..9b055e3f --- /dev/null +++ b/scripts/ssanne9.asm @@ -0,0 +1,216 @@ +SSAnne9Script: ; 61b4b (18:5b4b) + ld a, $1 + ld [$cf0c], a + xor a + ld [$cc3c], a + ld hl, SSAnne9TrainerHeaders + ld de, SSAnne9ScriptPointers + ld a, [W_SSANNE9CURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_SSANNE9CURSCRIPT], a + ret + +SSAnne9ScriptPointers: ; 61b64 (18:5b64) + dw CheckFightingMapTrainers + dw Func_324c + dw EndTrainerBattle + +SSAnne9TextPointers: ; 61b6a (18:5b6a) + dw SSAnne9Text1 + dw SSAnne9Text2 + dw SSAnne9Text3 + dw SSAnne9Text4 + dw SSAnne9Text5 + dw Predef5CText + dw SSAnne9Text7 + dw SSAnne9Text8 + dw Predef5CText + dw SSAnne9Text10 + dw SSAnne9Text11 + dw SSAnne9Text12 + dw SSAnne9Text13 + +SSAnne9TrainerHeaders: ; 61b84 (18:5b84) +SSAnne9TrainerHeader0: ; 61b84 (18:5b84) + db $1 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d807 ; flag's byte + dw SSAnne9BattleText1 ; 0x5c51 TextBeforeBattle + dw SSAnne9AfterBattleText1 ; 0x5c5b TextAfterBattle + dw SSAnne9EndBattleText1 ; 0x5c56 TextEndBattle + dw SSAnne9EndBattleText1 ; 0x5c56 TextEndBattle + +SSAnne9TrainerHeader1: ; 61b90 (18:5b90) + db $2 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d807 ; flag's byte + dw SSAnne9BattleText2 ; 0x5c60 TextBeforeBattle + dw SSAnne9AfterBattleText2 ; 0x5c6a TextAfterBattle + dw SSAnne9EndBattleText2 ; 0x5c65 TextEndBattle + dw SSAnne9EndBattleText2 ; 0x5c65 TextEndBattle + +SSAnne9TrainerHeader2: ; 61b9c (18:5b9c) + db $3 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d807 ; flag's byte + dw SSAnne9BattleText3 ; 0x5c6f TextBeforeBattle + dw SSAnne9AfterBattleText3 ; 0x5c79 TextAfterBattle + dw SSAnne9EndBattleText3 ; 0x5c74 TextEndBattle + dw SSAnne9EndBattleText3 ; 0x5c74 TextEndBattle + +SSAnne9TrainerHeader3: ; 61ba8 (18:5ba8) + db $4 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d807 ; flag's byte + dw SSAnne9BattleText4 ; 0x5c7e TextBeforeBattle + dw SSAnne9AfterBattleText4 ; 0x5c88 TextAfterBattle + dw SSAnne9EndBattleText4 ; 0x5c83 TextEndBattle + dw SSAnne9EndBattleText4 ; 0x5c83 TextEndBattle + + db $ff + +SSAnne9Text1: ; 61bb5 (18:5bb5) + db $08 ; asm + ld hl, SSAnne9TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +SSAnne9Text2: ; 61bbf (18:5bbf) + db $08 ; asm + ld hl, SSAnne9TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +SSAnne9Text3: ; 61bc9 (18:5bc9) + db $08 ; asm + ld hl, SSAnne9TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +SSAnne9Text4: ; 61bd3 (18:5bd3) + db $08 ; asm + ld hl, SSAnne9TrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +SSAnne9Text5: ; 61bdd (18:5bdd) + db $08 ; asm + call SaveScreenTilesToBuffer1 + ld hl, SSAnne9Text_61bf2 + call PrintText + call LoadScreenTilesFromBuffer1 + ld a, SNORLAX + call DisplayPokedex + jp TextScriptEnd + +SSAnne9Text_61bf2: ; 61bf2 (18:5bf2) + TX_FAR _SSAnne9Text_61bf2 + db "@" + +SSAnne9Text7: ; 61bf7 (18:5bf7) + db $08 ; asm + ld hl, SSAnne9Text_61c01 + call PrintText + jp TextScriptEnd + +SSAnne9Text_61c01: ; 61c01 (18:5c01) + TX_FAR _SSAnne9Text_61c01 + db "@" + +SSAnne9Text8: ; 61c06 (18:5c06) + db $08 ; asm + ld hl, SSAnne9Text_61c10 + call PrintText + jp TextScriptEnd + +SSAnne9Text_61c10: ; 61c10 (18:5c10) + TX_FAR _SSAnne9Text_61c10 + db "@" + +SSAnne9Text10: ; 61c15 (18:5c15) + db $08 ; asm + ld hl, SSAnne9Text_61c1f + call PrintText + jp TextScriptEnd + +SSAnne9Text_61c1f: ; 61c1f (18:5c1f) + TX_FAR _SSAnne9Text_61c1f + db "@" + +SSAnne9Text11: ; 61c24 (18:5c24) + db $08 ; asm + ld hl, SSAnne9Text_61c2e + call PrintText + jp TextScriptEnd + +SSAnne9Text_61c2e: ; 61c2e (18:5c2e) + TX_FAR _SSAnne9Text_61c2e + db "@" + +SSAnne9Text12: ; 61c33 (18:5c33) + db $08 ; asm + ld hl, SSAnne9Text_61c3d + call PrintText + jp TextScriptEnd + +SSAnne9Text_61c3d: ; 61c3d (18:5c3d) + TX_FAR _SSAnne9Text_61c3d + db "@" + +SSAnne9Text13: ; 61c42 (18:5c42) + db $08 ; asm + ld hl, SSAnne9Text_61c4c + call PrintText + jp TextScriptEnd + +SSAnne9Text_61c4c: ; 61c4c (18:5c4c) + TX_FAR _SSAnne9Text_61c4c + db "@" + +SSAnne9BattleText1: ; 61c51 (18:5c51) + TX_FAR _SSAnne9BattleText1 + db "@" + +SSAnne9EndBattleText1: ; 61c56 (18:5c56) + TX_FAR _SSAnne9EndBattleText1 + db "@" + +SSAnne9AfterBattleText1: ; 61c5b (18:5c5b) + TX_FAR _SSAnne9AfterBattleText1 + db "@" + +SSAnne9BattleText2: ; 61c60 (18:5c60) + TX_FAR _SSAnne9BattleText2 + db "@" + +SSAnne9EndBattleText2: ; 61c65 (18:5c65) + TX_FAR _SSAnne9EndBattleText2 + db "@" + +SSAnne9AfterBattleText2: ; 61c6a (18:5c6a) + TX_FAR _SSAnne9AfterBattleText2 + db "@" + +SSAnne9BattleText3: ; 61c6f (18:5c6f) + TX_FAR _SSAnne9BattleText3 + db "@" + +SSAnne9EndBattleText3: ; 61c74 (18:5c74) + TX_FAR _SSAnne9EndBattleText3 + db "@" + +SSAnne9AfterBattleText3: ; 61c79 (18:5c79) + TX_FAR _SSAnne9AfterBattleText3 + db "@" + +SSAnne9BattleText4: ; 61c7e (18:5c7e) + TX_FAR _SSAnne9BattleText4 + db "@" + +SSAnne9EndBattleText4: ; 61c83 (18:5c83) + TX_FAR _SSAnne9EndBattleText4 + db "@" + +SSAnne9AfterBattleText4: ; 61c88 (18:5c88) + TX_FAR _SSAnne9AfterBattleText4 + db "@" diff --git a/scripts/tradecenterm.asm b/scripts/tradecenterm.asm new file mode 100755 index 00000000..662a1df7 --- /dev/null +++ b/scripts/tradecenterm.asm @@ -0,0 +1,9 @@ +TradeCenterMScript: ; 4fd7d (13:7d7d) + jp BattleCenterMScript + +TradeCenterMTextPointers: ; 4fd80 (13:7d80) + dw TradeCenterMText1 + +TradeCenterMText1: ; 4fd82 (13:7d82) + TX_FAR _TradeCenterMText1 + db "@" diff --git a/scripts/undergroundpathentranceroute5.asm b/scripts/undergroundpathentranceroute5.asm new file mode 100755 index 00000000..ad05dfe6 --- /dev/null +++ b/scripts/undergroundpathentranceroute5.asm @@ -0,0 +1,19 @@ +UndergroundPathEntranceRoute5Script: ; 5d6a9 (17:56a9) + ld a, $10 + ld [$d365], a + ret + +UndergroundPathEntranceRoute5_5d6af: ; 5d6af (17:56af) + db "@" + +UndergroundPathEntranceRoute5TextPointers: ; 5d6b0 (17:56b0) + dw UndergroundPathEntranceRoute5Text1 + +UndergroundPathEntranceRoute5Text1: ; 5d6b2 (17:56b2) + db $08 ; asm + ld a, $9 + ld [wWhichTrade], a + ld a, $54 + call Predef + ld hl, UndergroundPathEntranceRoute5_5d6af + ret diff --git a/scripts/undergroundpathentranceroute6.asm b/scripts/undergroundpathentranceroute6.asm new file mode 100755 index 00000000..afefd187 --- /dev/null +++ b/scripts/undergroundpathentranceroute6.asm @@ -0,0 +1,11 @@ +UndergroundPathEntranceRoute6Script: ; 5d6ef (17:56ef) + ld a, $11 + ld [$d365], a + jp EnableAutoTextBoxDrawing + +UndergroundPathEntranceRoute6TextPointers: ; 5d6f7 (17:56f7) + dw UndergroundPathEntranceRoute6Text1 + +UndergroundPathEntranceRoute6Text1: ; 5d6f9 (17:56f9) + TX_FAR _UndergrdTunnelEntRoute6Text1 + db "@" diff --git a/scripts/undergroundpathentranceroute7.asm b/scripts/undergroundpathentranceroute7.asm new file mode 100755 index 00000000..5dd10a4e --- /dev/null +++ b/scripts/undergroundpathentranceroute7.asm @@ -0,0 +1,11 @@ +UndergroundPathEntranceRoute7Script: ; 5d72c (17:572c) + ld a, $12 + ld [$d365], a + jp EnableAutoTextBoxDrawing + +UndergroundPathEntranceRoute7TextPointers: ; 5d734 (17:5734) + dw UndergroundPathEntranceRoute7Text1 + +UndergroundPathEntranceRoute7Text1: ; 5d736 (17:5736) + TX_FAR _UndergroundPathEntRoute7Text1 + db "@" diff --git a/scripts/undergroundpathentranceroute7copy.asm b/scripts/undergroundpathentranceroute7copy.asm new file mode 100755 index 00000000..845e5674 --- /dev/null +++ b/scripts/undergroundpathentranceroute7copy.asm @@ -0,0 +1,24 @@ +UndergroundPathEntranceRoute7CopyScript: ; 5d769 (17:5769) + ld a, $12 + ld [$d365], a + ret + +UndergroundPathEntranceRoute7CopyTextPointers: ; 5d76f (17:576f) + dw UnnamedText_5d773 + dw UnnamedText_5d77d + +UnnamedText_5d773: ; 5d773 (17:5773) + TX_FAR _UnnamedText_5d773 + db "@" + +UnnamedText_5d778: ; 5d778 (17:5778) + TX_FAR _UnnamedText_5d778 + db "@" + +UnnamedText_5d77d: ; 5d77d (17:577d) + TX_FAR _UnnamedText_5d77d + db "@" + +UnnamedText_5d782: ; 5d782 (17:5782) + TX_FAR _UnnamedText_5d782 + db "@" diff --git a/scripts/undergroundpathentranceroute8.asm b/scripts/undergroundpathentranceroute8.asm new file mode 100755 index 00000000..d777b24b --- /dev/null +++ b/scripts/undergroundpathentranceroute8.asm @@ -0,0 +1,11 @@ +UndergroundPathEntranceRoute8Script: ; 1e289 (7:6289) + ld a, $13 + ld [$d365], a + jp EnableAutoTextBoxDrawing + +UndergroundPathEntranceRoute8TextPointers: ; 1e291 (7:6291) + dw UndergroundPathEntranceRoute8Text1 + +UndergroundPathEntranceRoute8Text1: ; 1e293 (7:6293) + TX_FAR _UndergroundPathEntRoute8Text1 + db "@" diff --git a/scripts/undergroundpathns.asm b/scripts/undergroundpathns.asm new file mode 100755 index 00000000..96bf82a6 --- /dev/null +++ b/scripts/undergroundpathns.asm @@ -0,0 +1,5 @@ +UndergroundPathNSScript: ; 61f26 (18:5f26) + jp EnableAutoTextBoxDrawing + +UndergroundPathNSTextPointers: ; 61f29 (18:5f29) + db "@" diff --git a/scripts/undergroundpathwe.asm b/scripts/undergroundpathwe.asm new file mode 100755 index 00000000..f7e3755e --- /dev/null +++ b/scripts/undergroundpathwe.asm @@ -0,0 +1,5 @@ +UndergroundPathWEScript: ; 61f4a (18:5f4a) + jp EnableAutoTextBoxDrawing + +UndergroundPathWETextPointers: ; 61f4d (18:5f4d) + db "@" diff --git a/scripts/unknowndungeon1.asm b/scripts/unknowndungeon1.asm new file mode 100755 index 00000000..008a7bd7 --- /dev/null +++ b/scripts/unknowndungeon1.asm @@ -0,0 +1,7 @@ +UnknownDungeon1Script: ; 74d0c (1d:4d0c) + jp EnableAutoTextBoxDrawing + +UnknownDungeon1TextPointers: ; 74d0f (1d:4d0f) + dw Predef5CText + dw Predef5CText + dw Predef5CText diff --git a/scripts/unknowndungeon2.asm b/scripts/unknowndungeon2.asm new file mode 100755 index 00000000..c8249b27 --- /dev/null +++ b/scripts/unknowndungeon2.asm @@ -0,0 +1,7 @@ +UnknownDungeon2Script: ; 45e0b (11:5e0b) + jp EnableAutoTextBoxDrawing + +UnknownDungeon2TextPointers: ; 45e0e (11:5e0e) + dw Predef5CText + dw Predef5CText + dw Predef5CText diff --git a/scripts/unknowndungeon3.asm b/scripts/unknowndungeon3.asm new file mode 100755 index 00000000..b765ef56 --- /dev/null +++ b/scripts/unknowndungeon3.asm @@ -0,0 +1,44 @@ +UnknownDungeon3Script: ; 45ef0 (11:5ef0) + call EnableAutoTextBoxDrawing + ld hl, UnknownDungeon3TrainerHeaders + ld de, UnknownDungeon3ScriptPointers + ld a, [W_UNKNOWNDUNGEON3CURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_UNKNOWNDUNGEON3CURSCRIPT], a + ret + +UnknownDungeon3ScriptPointers: ; 45f03 (11:5f03) + dw CheckFightingMapTrainers + dw Func_324c + dw EndTrainerBattle + +UnknownDungeon3TextPointers: ; 45f09 (11:5f09) + dw UnknownDungeon3Text1 + dw Predef5CText + dw Predef5CText + +UnknownDungeon3TrainerHeaders: ; 45f0f (11:5f0f) +UnknownDungeon3TrainerHeader0: ; 45f0f (11:5f0f) + db $1 ; flag's bit + db ($0 << 4) ; trainer's view range + dw $d85f ; flag's byte + dw UnknownDungeon3MewtwoText ; 0x5f26 TextBeforeBattle + dw UnknownDungeon3MewtwoText ; 0x5f26 TextAfterBattle + dw UnknownDungeon3MewtwoText ; 0x5f26 TextEndBattle + dw UnknownDungeon3MewtwoText ; 0x5f26 TextEndBattle + + db $ff + +UnknownDungeon3Text1: ; 45f1c (11:5f1c) + db $08 ; asm + ld hl, UnknownDungeon3TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +UnknownDungeon3MewtwoText: ; 45f26 (11:5f26) + TX_FAR _UnknownDungeon3MewtwoText + db $8 + ld a, MEWTWO + call PlayCry + call WaitForSoundToFinish + jp TextScriptEnd diff --git a/scripts/vermilioncity.asm b/scripts/vermilioncity.asm new file mode 100755 index 00000000..3f582dba --- /dev/null +++ b/scripts/vermilioncity.asm @@ -0,0 +1,263 @@ +VermilionCityScript: ; 197a1 (6:57a1) + call EnableAutoTextBoxDrawing + ld hl, $d126 + bit 6, [hl] + res 6, [hl] + push hl + call nz, VermilionCityScript_197cb + pop hl + bit 5, [hl] + res 5, [hl] + call nz, VermilionCityScript_197c0 + ld hl, VermilionCityScriptPointers + ld a, [W_VERMILIONCITYCURSCRIPT] + jp CallFunctionInTable + +VermilionCityScript_197c0: ; 197c0 (6:57c0) + call GenRandom + ld a, [$ffd4] + and $e + ld [$d743], a + ret + +VermilionCityScript_197cb: ; 197cb (6:57cb) + ld hl, $d803 + bit 2, [hl] + ret z + bit 3, [hl] + set 3, [hl] + ret nz + ld a, $2 + ld [W_VERMILIONCITYCURSCRIPT], a + ret + +VermilionCityScriptPointers: ; 197dc (6:57dc) + dw VermilionCityScript0 + dw VermilionCityScript1 + dw VermilionCityScript2 + dw VermilionCityScript3 + dw VermilionCityScript4 + +VermilionCityScript0: ; 197e6 (6:57e6) + ld a, [$c109] + and a + ret nz + ld hl, CoordsData_19823 + call ArePlayerCoordsInArray + ret nc + xor a + ld [H_CURRENTPRESSEDBUTTONS], a + ld [$cf0d], a + ld a, $3 + ld [$ff8c], a + call DisplayTextID + ld a, [$d803] + bit 2, a + jr nz, .asm_19810 ; 0x19804 $a + ld b, $3f + ld a, $1c + call Predef + ld a, b + and a + ret nz +.asm_19810 + ld a, $40 + ld [$ccd3], a + ld a, $1 + ld [$cd38], a + call Func_3486 + ld a, $1 + ld [W_VERMILIONCITYCURSCRIPT], a + ret + +CoordsData_19823: ; 19823 (6:5823) + db $1e,$12 + db $ff + +VermilionCityScript4: ; 19826 (6:5826) + ld hl, CoordsData_19823 + call ArePlayerCoordsInArray + ret c + ld a, $0 + ld [W_VERMILIONCITYCURSCRIPT], a + ret + +VermilionCityScript2: ; 19833 (6:5833) + ld a, $ff + ld [wJoypadForbiddenButtonsMask], a + ld a, $40 + ld [$ccd3], a + ld [$ccd4], a + ld a, $2 + ld [$cd38], a + call Func_3486 + ld a, $3 + ld [W_VERMILIONCITYCURSCRIPT], a + ret + +VermilionCityScript3: ; 1984e (6:584e) + ld a, [$cd38] + and a + ret nz + xor a + ld [wJoypadForbiddenButtonsMask], a + ld [H_CURRENTPRESSEDBUTTONS], a + ld a, $0 + ld [W_VERMILIONCITYCURSCRIPT], a + ret + +VermilionCityScript1: ; 1985f (6:585f) + ld a, [$cd38] + and a + ret nz + ld c, $a + call DelayFrames + ld a, $0 + ld [W_VERMILIONCITYCURSCRIPT], a + ret + +VermilionCityTextPointers: ; 1986f (6:586f) + dw VermilionCityText1 + dw VermilionCityText2 + dw VermilionCityText3 + dw VermilionCityText4 + dw VermilionCityText5 + dw VermilionCityText6 + dw VermilionCityText7 + dw VermilionCityText8 + dw MartSignText + dw PokeCenterSignText + dw VermilionCityText11 + dw VermilionCityText12 + dw VermilionCityText13 + +VermilionCityText1: ; 19889 (6:5889) + TX_FAR _VermilionCityText1 + db "@" + +VermilionCityText2: ; 1988e (6:588e) + db $08 ; asm + ld a, [$d803] + bit 2, a + jr nz, .asm_359bd ; 0x19894 + ld hl, VermilionCityText_198a7 + call PrintText + jr .asm_735d9 ; 0x1989c +.asm_359bd ; 0x1989e + ld hl, VermilionCityText_198ac + call PrintText +.asm_735d9 ; 0x198a4 + jp TextScriptEnd + +VermilionCityText_198a7: ; 198a7 (6:58a7) + TX_FAR _VermilionCityText_198a7 + db "@" + +VermilionCityText_198ac: ; 198ac (6:58ac) + TX_FAR _VermilionCityText_198ac + db "@" + +VermilionCityText3: ; 198b1 (6:58b1) + db $08 ; asm + ld a, [$d803] + bit 2, a + jr nz, .asm_3e0e9 ; 0x198b7 + ld a, [$c109] + cp $c + jr z, .asm_07af3 ; 0x198be + ld hl, VermilionCityCoords1 + call ArePlayerCoordsInArray + jr nc, .asm_57b73 ; 0x198c6 +.asm_07af3 ; 0x198c8 + ld hl, SSAnneWelcomeText4 + call PrintText + jr .asm_79bd1 ; 0x198ce +.asm_57b73 ; 0x198d0 + ld hl, SSAnneWelcomeText9 + call PrintText + ld b, S_S__TICKET + ld a, $1c + call Predef + ld a, b + and a + jr nz, .asm_0419b ; 0x198df + ld hl, SSAnneNoTicketText + call PrintText + jr .asm_79bd1 ; 0x198e7 +.asm_0419b ; 0x198e9 + ld hl, SSAnneFlashedTicketText + call PrintText + ld a, $4 + ld [W_VERMILIONCITYCURSCRIPT], a + jr .asm_79bd1 ; 0x198f4 +.asm_3e0e9 ; 0x198f6 + ld hl, SSAnneNotHereText + call PrintText +.asm_79bd1 ; 0x198fc + jp TextScriptEnd + +VermilionCityCoords1: ; 198ff (6:58ff) + db $1d,$13 + db $1f,$13 + db $ff + +SSAnneWelcomeText4: ; 19904 (6:5904) + TX_FAR _SSAnneWelcomeText4 + db "@" + +SSAnneWelcomeText9: ; 19909 (6:5909) + TX_FAR _SSAnneWelcomeText9 + db "@" + +SSAnneFlashedTicketText: ; 1990e (6:590e) + TX_FAR _SSAnneFlashedTicketText + db "@" + +SSAnneNoTicketText: ; 19913 (6:5913) + TX_FAR _SSAnneNoTicketText + db "@" + +SSAnneNotHereText: ; 19918 (6:5918) + TX_FAR _SSAnneNotHereText + db "@" + +VermilionCityText4: ; 1991d (6:591d) + TX_FAR _VermilionCityText4 + db "@" + +VermilionCityText5: ; 19922 (6:5922) + TX_FAR _VermilionCityText5 + db $08 ; asm + ld a, MACHOP + call PlayCry + call WaitForSoundToFinish + ld hl, VermilionCityText14 ; $5933 + ret + +VermilionCityText14: ; 19933 (6:5933) + TX_FAR _VermilionCityText14 + db "@" + +VermilionCityText6: ; 19938 (6:5938) + TX_FAR _VermilionCityText6 + db "@" + +VermilionCityText7: ; 1993d (6:593d) + TX_FAR _VermilionCityText7 + db "@" + +VermilionCityText8: ; 19942 (6:5942) + TX_FAR _VermilionCityText8 + db "@" + +VermilionCityText11: ; 19947 (6:5947) + TX_FAR _VermilionCityText11 + db "@" + +VermilionCityText12: ; 1994c (6:594c) + TX_FAR _VermilionCityText12 + db "@" + +VermilionCityText13: ; 19951 (6:5951) + TX_FAR _VermilionCityText13 + db "@" diff --git a/scripts/vermiliondock.asm b/scripts/vermiliondock.asm new file mode 100755 index 00000000..2e07e408 --- /dev/null +++ b/scripts/vermiliondock.asm @@ -0,0 +1,210 @@ +VermilionDockScript: ; 1db52 (7:5b52) + call EnableAutoTextBoxDrawing + ld hl, $d803 + bit 4, [hl] + jr nz, .asm_1db8d ; 0x1db5a $31 + bit 0, [hl] + ret z + ld a, [$d42f] + cp $1 + ret nz + bit 2, [hl] + jp z, VermilionDock_1db9b + set 4, [hl] + call Delay3 + ld hl, $d730 + set 7, [hl] + ld hl, $ccd3 + ld a, $40 + ld [hli], a + ld [hli], a + ld [hl], a + ld a, $3 + ld [$cd38], a + xor a + ld [$c206], a + ld [$cd3b], a + dec a + ld [wJoypadForbiddenButtonsMask], a + ret +.asm_1db8d + bit 5, [hl] + ret nz + ld a, [$cd38] + and a + ret nz + ld [wJoypadForbiddenButtonsMask], a + set 5, [hl] + ret + +VermilionDock_1db9b: ; 1db9b (7:5b9b) + set 2, [hl] + ld a, $ff + ld [wJoypadForbiddenButtonsMask], a + ld [$c0ee], a + call PlaySound + ld c, BANK(Music_Surfing) + ld a, MUSIC_SURFING + call PlayMusic + ld b, BANK(LoadSmokeTileFourTimes) + ld hl, LoadSmokeTileFourTimes + call Bankswitch + xor a + ld [$c102], a + ld c, $78 + call DelayFrames + ld b, $9c + call CopyScreenTileBufferToVRAM + FuncCoord 0, 10 ; $c468 + ld hl, Coord + ld bc, $0078 + ld a, $14 + call FillMemory + ld a, $1 + ld [$ffba], a + call Delay3 + xor a + ld [$ffba], a + ld [$cd3d], a + ld [$ff49], a + ld a, $58 + ld [$cd3e], a + ld hl, $d526 + ld c, [hl] + inc hl + ld b, [hl] + push bc + push hl + ld a, (SFX_02_54 - SFX_Headers_02) / 3 + call PlaySoundWaitForCurrent + ld a, $ff + ld [$cfcb], a + ld d, $0 + ld e, $8 +.asm_1dbfa + ld hl, $0002 + add hl, bc + ld a, l + ld [$d526], a + ld a, h + ld [$d527], a + push hl + push de + call ScheduleEastColumnRedraw + call VermilionDock_1dc59 + pop de + ld b, $10 +.asm_1dc11 + call VermilionDock_1dc42 + ld c, $8 +.asm_1dc16 + call VermilionDock_1dc7c + dec c + jr nz, .asm_1dc16 ; 0x1dc1a $fa + inc d + dec b + jr nz, .asm_1dc11 ; 0x1dc1e $f1 + pop bc + dec e + jr nz, .asm_1dbfa ; 0x1dc22 $d6 + xor a + ld [$ff4a], a + ld [$ffb0], a + call VermilionDock_1dc94 + ld a, $90 + ld [$ffb0], a + ld a, $1 + ld [$cfcb], a + pop hl + pop bc + ld [hl], b + dec hl + ld [hl], c + call LoadPlayerSpriteGraphics + ld hl, $d3ae + dec [hl] + ret + +VermilionDock_1dc42: ; 1dc42 (7:5c42) + push bc + push de + ld hl, $c311 + ld a, [$cd3d] + swap a + ld c, a + ld de, $0004 +.asm_1dc50 + inc [hl] + inc [hl] + add hl, de + dec c + jr nz, .asm_1dc50 ; 0x1dc54 $fa + pop de + pop bc + ret + +VermilionDock_1dc59: ; 1dc59 (7:5c59) + ld a, [$cd3e] + sub $10 + ld [$cd3e], a + ld c, a + ld b, $64 + ld a, [$cd3d] + inc a + ld [$cd3d], a + ld a, $1 + ld de, VermilionDockOAMBlock + call WriteOAMBlock + ret + +VermilionDockOAMBlock: ; 1dc74 (7:5c74) + db $fc, $10 + db $fd, $10 + db $fe, $10 + db $ff, $10 + +VermilionDock_1dc7c: ; 1dc7c (7:5c7c) + ld h, d + ld l, $50 + call .asm_1dc86 + ld h, $0 + ld l, $80 +.asm_1dc86 + ld a, [$ff44] + cp l + jr nz, .asm_1dc86 ; 0x1dc89 $fb + ld a, h + ld [$ff43], a +.asm_1dc8e + ld a, [$ff44] + cp h + jr z, .asm_1dc8e ; 0x1dc91 $fb + ret + +VermilionDock_1dc94: ; 1dc94 (7:5c94) + ld hl, $cc5b + ld bc, $00b4 + ld a, $14 + call FillMemory + ld hl, $9940 + ld de, $cc5b + ld bc, $000c + call CopyVideoData + ld hl, $c754 + ld a, $d + ld [hli], a + ld [hli], a + ld [hli], a + ld [hl], a + ld a, (SFX_02_54 - SFX_Headers_02) / 3 + call PlaySound + ld c, $78 + call DelayFrames + ret + +VermilionDockTextPointers: ; 1dcbf (7:5cbf) + dw VermilionDockText1 + +VermilionDockText1: ; 1dcc1 (7:5cc1) + TX_FAR _VermilionDockText1 + db "@" diff --git a/scripts/vermiliongym.asm b/scripts/vermiliongym.asm new file mode 100755 index 00000000..de3678dd --- /dev/null +++ b/scripts/vermiliongym.asm @@ -0,0 +1,275 @@ +VermilionGymScript: ; 5ca26 (17:4a26) + ld hl, $d126 + bit 5, [hl] + res 5, [hl] + push hl + call nz, VermilionGymScript_5ca4c + pop hl + bit 6, [hl] + res 6, [hl] + call nz, VermilionGymScript_5ca6d + call EnableAutoTextBoxDrawing + ld hl, VermilionGymTrainerHeader0 + ld de, VermilionGymScriptPointers + ld a, [W_VERMILIONGYMCURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_VERMILIONGYMCURSCRIPT], a + ret + +VermilionGymScript_5ca4c: ; 5ca4c (17:4a4c) + ld hl, Gym3CityName ; $4a55 + ld de, Gym3LeaderName ; $4a64 + jp LoadGymLeaderAndCityName + +Gym3CityName: ; 5ca55 (17:4a55) + db "VERMILION CITY@" + +Gym3LeaderName: ; 5ca64 (17:4a64) + db "LT.SURGE@" + +VermilionGymScript_5ca6d: ; 5ca6d (17:4a6d) + ld a, [$d773] + bit 0, a + jr nz, .asm_5ca78 + ld a, $24 + jr .asm_5ca7f +.asm_5ca78 + ld a, (SFX_02_57 - SFX_Headers_02) / 3 + call PlaySound + ld a, $5 +.asm_5ca7f + ld [$d09f], a + ld bc, $202 + ld a, $17 + jp Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e)) + +VermilionGymScript_5ca8a: ; 5ca8a (17:4a8a) + xor a + ld [wJoypadForbiddenButtonsMask], a + ld [W_VERMILIONGYMCURSCRIPT], a + ld [W_CURMAPSCRIPT], a + ret + +VermilionGymScriptPointers: ; 5ca95 (17:4a95) + dw CheckFightingMapTrainers + dw Func_324c + dw EndTrainerBattle + dw VermilionGymScript3 + +VermilionGymScript3: ; 5ca9d (17:4a9d) + ld a, [W_ISINBATTLE] ; $d057 + cp $ff + jp z, VermilionGymScript_5ca8a + ld a, $f0 + ld [wJoypadForbiddenButtonsMask], a + +VermilionGymScript_5caaa: ; 5caaa (17:4aaa) + ld a, $6 + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + call DisplayTextID + ld hl, $d773 + set 7, [hl] + ld bc, (TM_24 << 8) | 1 + call GiveItem + jr nc, .BagFull + ld a, $7 + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + call DisplayTextID + ld hl, $d773 + set 6, [hl] + jr .asm_5cad3 +.BagFull + ld a, $8 + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + call DisplayTextID +.asm_5cad3 + ld hl, W_OBTAINEDBADGES + set 2, [hl] + ld hl, $d72a + set 2, [hl] + + ; deactivate gym trainers + ld a, [$d773] + or %00011100 + ld [$d773], a + + jp VermilionGymScript_5ca8a + +VermilionGymTextPointers: ; 5cae8 (17:4ae8) + dw VermilionGymText1 + dw VermilionGymText2 + dw VermilionGymText3 + dw VermilionGymText4 + dw VermilionGymText5 + dw VermilionGymText6 + dw VermilionGymText7 + dw VermilionGymText8 + +VermilionGymTrainerHeaders: ; 5caf8 (17:4af8) +VermilionGymTrainerHeader0: ; 5caf8 (17:4af8) + db $2 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d773 ; flag's byte + dw VermilionGymBattleText1 ; 0x4b9a TextBeforeBattle + dw VermilionGymAfterBattleText1 ; 0x4ba4 TextAfterBattle + dw VermilionGymEndBattleText1 ; 0x4b9f TextEndBattle + dw VermilionGymEndBattleText1 ; 0x4b9f TextEndBattle + +VermilionGymTrainerHeader1: ; 5cb04 (17:4b04) + db $3 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d773 ; flag's byte + dw VermilionGymBattleText2 ; 0x4bb3 TextBeforeBattle + dw VermilionGymAfterBattleText2 ; 0x4bbd TextAfterBattle + dw VermilionGymEndBattleText2 ; 0x4bb8 TextEndBattle + dw VermilionGymEndBattleText2 ; 0x4bb8 TextEndBattle + +VermilionGymTrainerHeader2: ; 5cb10 (17:4b10) + db $4 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d773 ; flag's byte + dw VermilionGymBattleText3 ; 0x4bcc TextBeforeBattle + dw VermilionGymAfterBattleText3 ; 0x4bd6 TextAfterBattle + dw VermilionGymEndBattleText3 ; 0x4bd1 TextEndBattle + dw VermilionGymEndBattleText3 ; 0x4bd1 TextEndBattle + + db $ff + +VermilionGymText1: ; 5cb1d (17:4b1d) + db $08 ; asm + ld a, [$d773] + bit 7, a + jr z, .asm_7cc29 ; 0x5cb23 + bit 6, a + jr nz, .asm_41203 ; 0x5cb27 + call z, VermilionGymScript_5caaa + call DisableWaitingAfterTextDisplay + jr .asm_23621 ; 0x5cb2f +.asm_41203 ; 0x5cb31 + ld hl, VermilionGymText_5cb72 + call PrintText + jr .asm_23621 ; 0x5cb37 +.asm_7cc29 ; 0x5cb39 + ld hl, VermilionGymText_5cb6d + call PrintText + ld hl, $d72d + set 6, [hl] + set 7, [hl] + ld hl, ReceivedThunderbadgeText + ld de, ReceivedThunderbadgeText + call PreBattleSaveRegisters + ldh a, [$8c] + ld [$cf13], a + call EngageMapTrainer + call InitBattleEnemyParameters + ld a, $3 + ld [$d05c], a + xor a + ldh [$b4], a + ld a, $3 + ld [W_VERMILIONGYMCURSCRIPT], a + ld [W_CURMAPSCRIPT], a +.asm_23621 ; 0x5cb6a + jp TextScriptEnd + +VermilionGymText_5cb6d: ; 5cb6d (17:4b6d) + TX_FAR _VermilionGymText_5cb6d + db "@" + +VermilionGymText_5cb72: ; 5cb72 (17:4b72) + TX_FAR _VermilionGymText_5cb72 + db "@" + +VermilionGymText6: ; 5cb77 (17:4b77) + TX_FAR _VermilionGymText_5cb77 + db "@" + +VermilionGymText7: ; 5cb7c (17:4b7c) + TX_FAR _ReceivedTM24Text + db $11 + TX_FAR _TM24ExplanationText + db "@" + +VermilionGymText8: ; 5cb86 (17:4b86) + TX_FAR _TM24NoRoomText + db "@" + +ReceivedThunderbadgeText: ; 5cb8b (17:4b8b) + TX_FAR _ReceivedThunderbadgeText + db "@" + +VermilionGymText2: ; 5cb90 (17:4b90) + db $08 ; asm + ld hl, VermilionGymTrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +VermilionGymBattleText1: ; 5cb9a (17:4b9a) + TX_FAR _VermilionGymBattleText1 + db "@" + +VermilionGymEndBattleText1: ; 5cb9f (17:4b9f) + TX_FAR _VermilionGymEndBattleText1 + db "@" + +VermilionGymAfterBattleText1: ; 5cba4 (17:4ba4) + TX_FAR _VermilionGymAfterBattleText1 + db "@" + +VermilionGymText3: ; 5cba9 (17:4ba9) + db $08 ; asm + ld hl, VermilionGymTrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +VermilionGymBattleText2: ; 5cbb3 (17:4bb3) + TX_FAR _VermilionGymBattleText2 + db "@" + +VermilionGymEndBattleText2: ; 5cbb8 (17:4bb8) + TX_FAR _VermilionGymEndBattleText2 + db "@" + +VermilionGymAfterBattleText2: ; 5cbbd (17:4bbd) + TX_FAR _VermilionGymAfterBattleText2 + db "@" + +VermilionGymText4: ; 5cbc2 (17:4bc2) + db $08 ; asm + ld hl, VermilionGymTrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +VermilionGymBattleText3: ; 5cbcc (17:4bcc) + TX_FAR _VermilionGymBattleText3 + db "@" + +VermilionGymEndBattleText3: ; 5cbd1 (17:4bd1) + TX_FAR _VermilionGymEndBattleText3 + db "@" + +VermilionGymAfterBattleText3: ; 5cbd6 (17:4bd6) + TX_FAR _VermilionGymAfterBattleText3 + db "@" + +VermilionGymText5: ; 5cbdb (17:4bdb) + db $08 ; asm + ld a, [$d72a] + bit 2, a + jr nz, .asm_13b67 ; 0x5cbe1 + ld hl, VermilionGymText_5cbf4 + call PrintText + jr .asm_c2b38 ; 0x5cbe9 +.asm_13b67 ; 0x5cbeb + ld hl, VermilionGymText_5cbf9 + call PrintText +.asm_c2b38 ; 0x5cbf1 + jp TextScriptEnd + +VermilionGymText_5cbf4: ; 5cbf4 (17:4bf4) + TX_FAR _VermilionGymText_5cbf4 + db "@" + +VermilionGymText_5cbf9: ; 5cbf9 (17:4bf9) + TX_FAR _VermilionGymText_5cbf9 + db "@" diff --git a/scripts/vermilionhouse1.asm b/scripts/vermilionhouse1.asm new file mode 100755 index 00000000..4ead1af7 --- /dev/null +++ b/scripts/vermilionhouse1.asm @@ -0,0 +1,24 @@ +VermilionHouse1Script: ; 1dafc (7:5afc) + call EnableAutoTextBoxDrawing + ret + +VermilionHouse1TextPointers: ; 1db00 (7:5b00) + dw VermilionHouse1Text1 + dw VermilionHouse1Text2 + dw VermilionHouse1Text3 + +VermilionHouse1Text1: ; 1db06 (7:5b06) + TX_FAR _VermilionHouse1Text1 + db "@" + +VermilionHouse1Text2: ; 1db0b (7:5b0b) + TX_FAR _VermilionHouse1Text2 + db $08 ; asm + ld a, PIDGEY + call PlayCry + call WaitForSoundToFinish + jp TextScriptEnd + +VermilionHouse1Text3: ; 1db1b (7:5b1b) + TX_FAR _VermilionHouse1Text3 + db "@" diff --git a/scripts/vermilionhouse2.asm b/scripts/vermilionhouse2.asm new file mode 100755 index 00000000..9efb8200 --- /dev/null +++ b/scripts/vermilionhouse2.asm @@ -0,0 +1,57 @@ +VermilionHouse2Script: ; 56070 (15:6070) + jp EnableAutoTextBoxDrawing + +VermilionHouse2TextPointers: ; 56073 (15:6073) + dw VermilionHouse2Text1 + +VermilionHouse2Text1: ; 56075 (15:6075) + db $08 ; asm + ld a, [$d728] + bit 3, a + jr nz, .asm_03ef5 + ld hl, VermilionHouse2Text_560b1 + call PrintText + call YesNoChoice + ld a, [$cc26] + and a + jr nz, .asm_eb1b7 + ld bc, (OLD_ROD << 8) | 1 + call GiveItem + jr nc, .BagFull + ld hl, $d728 + set 3, [hl] + ld hl, VermilionHouse2Text_560b6 + jr .asm_5dd95 +.BagFull + ld hl, VermilionHouse2Text_560ca + jr .asm_5dd95 +.asm_eb1b7 + ld hl, VermilionHouse2Text_560c0 + jr .asm_5dd95 +.asm_03ef5 + ld hl, VermilionHouse2Text_560c5 +.asm_5dd95 + call PrintText + jp TextScriptEnd + +VermilionHouse2Text_560b1: ; 560b1 (15:60b1) + TX_FAR _VermilionHouse2Text_560b1 + db "@" + +VermilionHouse2Text_560b6: ; 560b6 (15:60b6) + TX_FAR _VermilionHouse2Text_560b6 ; 0x9c554 + db $0B + TX_FAR _VermilionHouse2Text_560bb ; 0x9c5a4 + db "@" + +VermilionHouse2Text_560c0: ; 560c0 (15:60c0) + TX_FAR _VermilionHouse2Text_560c0 + db "@" + +VermilionHouse2Text_560c5: ; 560c5 (15:60c5) + TX_FAR _VermilionHouse2Text_560c5 + db "@" + +VermilionHouse2Text_560ca: ; 560ca (15:60ca) + TX_FAR _VermilionHouse2Text_560ca + db "@" diff --git a/scripts/vermilionhouse3.asm b/scripts/vermilionhouse3.asm new file mode 100755 index 00000000..b6bceeea --- /dev/null +++ b/scripts/vermilionhouse3.asm @@ -0,0 +1,13 @@ +VermilionHouse3Script: ; 19c12 (6:5c12) + jp EnableAutoTextBoxDrawing + +VermilionHouse3TextPointers: ; 19c15 (6:5c15) + dw VermilionHouse3Text1 + +VermilionHouse3Text1: ; 19c17 (6:5c17) + db $08 ; asm + ld a, $4 + ld [wWhichTrade], a + ld a, $54 + call Predef + jp TextScriptEnd diff --git a/scripts/vermilionmart.asm b/scripts/vermilionmart.asm new file mode 100755 index 00000000..921e7852 --- /dev/null +++ b/scripts/vermilionmart.asm @@ -0,0 +1,15 @@ +VermilionMartScript: ; 5c9e1 (17:49e1) + jp EnableAutoTextBoxDrawing + +VermilionMartTextPointers: ; 5c9e4 (17:49e4) + dw VermilionMartText1 + dw VermilionMartText2 + dw VermilionMartText3 + +VermilionMartText2: ; 5c9ea (17:49ea) + TX_FAR _VermilionMartText2 + db "@" + +VermilionMartText3: ; 5c9ef (17:49ef) + TX_FAR _VermilionMartText3 + db "@" diff --git a/scripts/vermilionpokecenter.asm b/scripts/vermilionpokecenter.asm new file mode 100755 index 00000000..00d139f5 --- /dev/null +++ b/scripts/vermilionpokecenter.asm @@ -0,0 +1,23 @@ +VermilionPokecenterScript: ; 5c98f (17:498f) + call Func_22fa + jp EnableAutoTextBoxDrawing + +VermilionPokecenterTextPointers: ; 5c995 (17:4995) + dw VermilionPokecenterText1 + dw VermilionPokecenterText2 + dw VermilionPokecenterText3 + dw VermilionPokecenterText4 + +VermilionPokecenterText1: ; 5c99d (17:499d) + db $ff + +VermilionPokecenterText2: ; 5c99e (17:499e) + TX_FAR _VermilionPokecenterText1 + db "@" + +VermilionPokecenterText3: ; 5c9a3 (17:49a3) + TX_FAR _VermilionPokecenterText3 + db "@" + +VermilionPokecenterText4: ; 5c9a8 (17:49a8) + db $f6 diff --git a/scripts/victoryroad1.asm b/scripts/victoryroad1.asm new file mode 100755 index 00000000..b9b946ad --- /dev/null +++ b/scripts/victoryroad1.asm @@ -0,0 +1,108 @@ +VictoryRoad1Script: ; 5da0a (17:5a0a) + ld hl, $d126 + bit 5, [hl] + res 5, [hl] + call nz, .next + call EnableAutoTextBoxDrawing + ld hl, VictoryRoad1TrainerHeaders + ld de, VictoryRoad1ScriptPointers + ld a, [W_VICTORYROAD1CURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_VICTORYROAD1CURSCRIPT], a + ret +.next + ld a, [$d869] + bit 7, a + ret z + ld a, $1d + ld [$d09f], a + ld bc, $604 + ld a, $17 + jp Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e)) + +VictoryRoad1ScriptPointers: ; 5da3a (17:5a3a) + dw VictoryRoad1Script0 + dw Func_324c + dw EndTrainerBattle + +VictoryRoad1Script0: ; 5da40 (17:5a40) + ld a, [$d869] + bit 7, a + jp nz, CheckFightingMapTrainers + ld hl, CoordsData_5da5c ; $5a5c + call CheckBoulderCoords + jp nc, CheckFightingMapTrainers + ld hl, $d126 + set 5, [hl] + ld hl, $d869 + set 7, [hl] + ret + +CoordsData_5da5c: ; 5da5c (17:5a5c) + db $0D,$11,$FF + +VictoryRoad1TextPointers: ; 5da5f (17:5a5f) + dw VictoryRoad1Text1 + dw VictoryRoad1Text2 + dw Predef5CText + dw Predef5CText + dw BoulderText + dw BoulderText + dw BoulderText + +VictoryRoad1TrainerHeaders: ; 5da6d (17:5a6d) +VictoryRoad1TrainerHeader0: ; 5da6d (17:5a6d) + db $1 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d869 ; flag's byte + dw VictoryRoad1BattleText1 ; 0x5a9a TextBeforeBattle + dw VictoryRoad1AfterBattleText1 ; 0x5aa4 TextAfterBattle + dw VictoryRoad1EndBattleText1 ; 0x5a9f TextEndBattle + dw VictoryRoad1EndBattleText1 ; 0x5a9f TextEndBattle + +VictoryRoad1TrainerHeader1: ; 5da79 (17:5a79) + db $2 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d869 ; flag's byte + dw VictoryRoad1BattleText2 ; 0x5aa9 TextBeforeBattle + dw VictoryRoad1AfterBattleText2 ; 0x5ab3 TextAfterBattle + dw VictoryRoad1EndBattleText2 ; 0x5aae TextEndBattle + dw VictoryRoad1EndBattleText2 ; 0x5aae TextEndBattle + + db $ff + +VictoryRoad1Text1: ; 5da86 (17:5a86) + db $08 ; asm + ld hl, VictoryRoad1TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +VictoryRoad1Text2: ; 5da90 (17:5a90) + db $08 ; asm + ld hl, VictoryRoad1TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +VictoryRoad1BattleText1: ; 5da9a (17:5a9a) + TX_FAR _VictoryRoad1BattleText1 + db "@" + +VictoryRoad1EndBattleText1: ; 5da9f (17:5a9f) + TX_FAR _VictoryRoad1EndBattleText1 + db "@" + +VictoryRoad1AfterBattleText1: ; 5daa4 (17:5aa4) + TX_FAR _VictoryRoad1AfterBattleText1 + db "@" + +VictoryRoad1BattleText2: ; 5daa9 (17:5aa9) + TX_FAR _VictoryRoad1BattleText2 + db "@" + +VictoryRoad1EndBattleText2: ; 5daae (17:5aae) + TX_FAR _VictoryRoad1EndBattleText2 + db "@" + +VictoryRoad1AfterBattleText2: ; 5dab3 (17:5ab3) + TX_FAR _VictoryRoad1AfterBattleText2 + db "@" diff --git a/scripts/victoryroad2.asm b/scripts/victoryroad2.asm new file mode 100755 index 00000000..6270a858 --- /dev/null +++ b/scripts/victoryroad2.asm @@ -0,0 +1,248 @@ +VictoryRoad2Script: ; 5179d (14:579d) + ld hl, $d126 + bit 6, [hl] + res 6, [hl] + call nz, VictoryRoad2Script_517c4 + ld hl, $d126 + bit 5, [hl] + res 5, [hl] + call nz, VictoryRoad2Script_517c9 + call EnableAutoTextBoxDrawing + ld hl, VictoryRoad2TrainerHeaders + ld de, VictoryRoad2ScriptPointers + ld a, [W_VICTORYROAD2CURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_VICTORYROAD2CURSCRIPT], a + ret + +VictoryRoad2Script_517c4: ; 517c4 (14:57c4) + ld hl, $d869 + res 7, [hl] + +VictoryRoad2Script_517c9: ; 517c9 (14:57c9) + ld a, [$d7ee] + bit 0, a + jr z, .asm_517da + push af + ld a, $15 + ld bc, $403 + call VictoryRoad2Script_517e2 + pop af +.asm_517da + bit 7, a + ret z + ld a, $1d + ld bc, $70b + +VictoryRoad2Script_517e2: ; 517e2 (14:57e2) + ld [$d09f], a + ld a, $17 + call Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e)) + ret + +VictoryRoad2ScriptPointers: ; 517eb (14:57eb) + dw VictoryRoad2Script0 + dw Func_324c + dw EndTrainerBattle + +VictoryRoad2Script0: ; 517f1 (14:57f1) + ld hl, CoordsData_51816 ; $5816 + call CheckBoulderCoords + jp nc, CheckFightingMapTrainers + ld hl, $d7ee + ld a, [wWhichTrade] ; $cd3d + cp $2 + jr z, .asm_5180b + bit 0, [hl] + set 0, [hl] + ret nz + jr .asm_51810 +.asm_5180b + bit 7, [hl] + set 7, [hl] + ret nz +.asm_51810 + ld hl, $d126 + set 5, [hl] + ret + +CoordsData_51816: ; 51816 (14:5816) + db $10,$01 + db $10,$09 + db $FF + +VictoryRoad2TextPointers: ; 5181b (14:581b) + dw VictoryRoad2Text1 + dw VictoryRoad2Text2 + dw VictoryRoad2Text3 + dw VictoryRoad2Text4 + dw VictoryRoad2Text5 + dw VictoryRoad2Text6 + dw Predef5CText + dw Predef5CText + dw Predef5CText + dw Predef5CText + dw BoulderText + dw BoulderText + dw BoulderText + +VictoryRoad2TrainerHeaders: ; 51835 (14:5835) +VictoryRoad2TrainerHeader0: ; 51835 (14:5835) + db $1 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7ee ; flag's byte + dw VictoryRoad2BattleText1 ; 0x58ca TextBeforeBattle + dw VictoryRoad2AfterBattleText1 ; 0x58d4 TextAfterBattle + dw VictoryRoad2EndBattleText1 ; 0x58cf TextEndBattle + dw VictoryRoad2EndBattleText1 ; 0x58cf TextEndBattle + +VictoryRoad2TrainerHeader2: ; 51841 (14:5841) + db $2 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7ee ; flag's byte + dw VictoryRoad2BattleText2 ; 0x58d9 TextBeforeBattle + dw VictoryRoad2AfterBattleText2 ; 0x58e3 TextAfterBattle + dw VictoryRoad2EndBattleText2 ; 0x58de TextEndBattle + dw VictoryRoad2EndBattleText2 ; 0x58de TextEndBattle + +VictoryRoad2TrainerHeader3: ; 5184d (14:584d) + db $3 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7ee ; flag's byte + dw VictoryRoad2BattleText3 ; 0x58e8 TextBeforeBattle + dw VictoryRoad2AfterBattleText3 ; 0x58f2 TextAfterBattle + dw VictoryRoad2EndBattleText3 ; 0x58ed TextEndBattle + dw VictoryRoad2EndBattleText3 ; 0x58ed TextEndBattle + +VictoryRoad2TrainerHeader4: ; 51859 (14:5859) + db $4 ; flag's bit + db ($1 << 4) ; trainer's view range + dw $d7ee ; flag's byte + dw VictoryRoad2BattleText4 ; 0x58f7 TextBeforeBattle + dw VictoryRoad2AfterBattleText4 ; 0x5901 TextAfterBattle + dw VictoryRoad2EndBattleText4 ; 0x58fc TextEndBattle + dw VictoryRoad2EndBattleText4 ; 0x58fc TextEndBattle + +VictoryRoad2TrainerHeader5: ; 51865 (14:5865) + db $5 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d7ee ; flag's byte + dw VictoryRoad2BattleText5 ; 0x5906 TextBeforeBattle + dw VictoryRoad2AfterBattleText5 ; 0x5910 TextAfterBattle + dw VictoryRoad2EndBattleText5 ; 0x590b TextEndBattle + dw VictoryRoad2EndBattleText5 ; 0x590b TextEndBattle + +VictoryRoad2TrainerHeader6: ; 51871 (14:5871) + db $6 ; flag's bit + db ($0 << 4) ; trainer's view range + dw $d7ee ; flag's byte + dw VictoryRoad2BattleText6 ; 0x58ba TextBeforeBattle + dw VictoryRoad2BattleText6 ; 0x58ba TextAfterBattle + dw VictoryRoad2BattleText6 ; 0x58ba TextEndBattle + dw VictoryRoad2BattleText6 ; 0x58ba TextEndBattle + + db $ff + +VictoryRoad2Text1: ; 5187e (14:587e) + db $08 ; asm + ld hl, VictoryRoad2TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +VictoryRoad2Text2: ; 51888 (14:5888) + db $08 ; asm + ld hl, VictoryRoad2TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +VictoryRoad2Text3: ; 51892 (14:5892) + db $08 ; asm + ld hl, VictoryRoad2TrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +VictoryRoad2Text4: ; 5189c (14:589c) + db $08 ; asm + ld hl, VictoryRoad2TrainerHeader4 + call TalkToTrainer + jp TextScriptEnd + +VictoryRoad2Text5: ; 518a6 (14:58a6) + db $08 ; asm + ld hl, VictoryRoad2TrainerHeader5 + call TalkToTrainer + jp TextScriptEnd + +VictoryRoad2Text6: ; 518b0 (14:58b0) + db $08 ; asm + ld hl, VictoryRoad2TrainerHeader6 + call TalkToTrainer + jp TextScriptEnd + +VictoryRoad2BattleText6: ; 518ba (14:58ba) + TX_FAR _VictoryRoad2BattleText6 + db $8 + ld a, MOLTRES + call PlayCry + call WaitForSoundToFinish + jp TextScriptEnd + +VictoryRoad2BattleText1: ; 518ca (14:58ca) + TX_FAR _VictoryRoad2BattleText1 + db "@" + +VictoryRoad2EndBattleText1: ; 518cf (14:58cf) + TX_FAR _VictoryRoad2EndBattleText1 + db "@" + +VictoryRoad2AfterBattleText1: ; 518d4 (14:58d4) + TX_FAR _VictoryRoad2AfterBattleText1 + db "@" + +VictoryRoad2BattleText2: ; 518d9 (14:58d9) + TX_FAR _VictoryRoad2BattleText2 + db "@" + +VictoryRoad2EndBattleText2: ; 518de (14:58de) + TX_FAR _VictoryRoad2EndBattleText2 + db "@" + +VictoryRoad2AfterBattleText2: ; 518e3 (14:58e3) + TX_FAR _VictoryRoad2AfterBattleText2 + db "@" + +VictoryRoad2BattleText3: ; 518e8 (14:58e8) + TX_FAR _VictoryRoad2BattleText3 + db "@" + +VictoryRoad2EndBattleText3: ; 518ed (14:58ed) + TX_FAR _VictoryRoad2EndBattleText3 + db "@" + +VictoryRoad2AfterBattleText3: ; 518f2 (14:58f2) + TX_FAR _VictoryRoad2AfterBattleText3 + db "@" + +VictoryRoad2BattleText4: ; 518f7 (14:58f7) + TX_FAR _VictoryRoad2BattleText4 + db "@" + +VictoryRoad2EndBattleText4: ; 518fc (14:58fc) + TX_FAR _VictoryRoad2EndBattleText4 + db "@" + +VictoryRoad2AfterBattleText4: ; 51901 (14:5901) + TX_FAR _VictoryRoad2AfterBattleText4 + db "@" + +VictoryRoad2BattleText5: ; 51906 (14:5906) + TX_FAR _VictoryRoad2BattleText5 + db "@" + +VictoryRoad2EndBattleText5: ; 5190b (14:590b) + TX_FAR _VictoryRoad2EndBattleText5 + db "@" + +VictoryRoad2AfterBattleText5: ; 51910 (14:5910) + TX_FAR _VictoryRoad2AfterBattleText5 + db "@" diff --git a/scripts/victoryroad3.asm b/scripts/victoryroad3.asm new file mode 100755 index 00000000..f2e08ca4 --- /dev/null +++ b/scripts/victoryroad3.asm @@ -0,0 +1,205 @@ +VictoryRoad3Script: ; 44980 (11:4980) + call VictoryRoad3Script_44996 + call EnableAutoTextBoxDrawing + ld hl, VictoryRoad3TrainerHeaders + ld de, VictoryRoad3ScriptPointers + ld a, [W_VICTORYROAD3CURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_VICTORYROAD3CURSCRIPT], a + ret + +VictoryRoad3Script_44996: ; 44996 (11:4996) + ld hl, $d126 + bit 5, [hl] + res 5, [hl] + ret z + ld hl, $d813 + bit 0, [hl] + ret z + ld a, $1d + ld [$d09f], a + ld bc, $503 + ld a, $17 + jp Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e)) + +VictoryRoad3ScriptPointers: ; 449b1 (11:49b1) + dw VictoryRoad3Script0 + dw Func_324c + dw EndTrainerBattle + +VictoryRoad3Script0: ; 449b7 (11:49b7) + ld hl, wFlags_0xcd60 + bit 7, [hl] + res 7, [hl] + jp z, .asm_449fe + ld hl, .coordsData_449f9 ; $49f9 + call CheckBoulderCoords + jp nc, .asm_449fe + ld a, [wWhichTrade] ; $cd3d + cp $1 + jr nz, .asm_449dc + ld hl, $d126 + set 5, [hl] + ld hl, $d813 + set 0, [hl] + ret +.asm_449dc + ld hl, $d813 + bit 6, [hl] + set 6, [hl] + jr nz, .asm_449fe + ld a, $7a + ld [$cc4d], a + ld a, $11 + call Predef ; indirect jump to RemoveMissableObject (f1d7 (3:71d7)) + ld a, $60 + ld [$cc4d], a + ld a, $15 + jp Predef ; indirect jump to AddMissableObject (f1c8 (3:71c8)) + +.coordsData_449f9: ; 449f9 (11:49f9) + db $05,$03 + db $0F,$17 + db $FF + +.asm_449fe + ld a, $c2 + ld [$d71d], a + ld hl, .coordsData_449f9 ; $49f9 + call Func_46981 + ld a, [wWhichTrade] ; $cd3d + cp $1 + jr nz, .asm_44a1b + ld hl, $d72d + res 4, [hl] + ld hl, $d732 + res 4, [hl] + ret +.asm_44a1b + ld a, [$d72d] + bit 4, a + jp z, CheckFightingMapTrainers + ret + +VictoryRoad3TextPointers: ; 44a24 (11:4a24) + dw VictoryRoad3Text1 + dw VictoryRoad3Text2 + dw VictoryRoad3Text3 + dw VictoryRoad3Text4 + dw Predef5CText + dw Predef5CText + dw BoulderText + dw BoulderText + dw BoulderText + dw BoulderText + +VictoryRoad3TrainerHeaders: ; 44a38 (11:4a38) +VictoryRoad3TrainerHeader0: ; 44a38 (11:4a38) + db $1 ; flag's bit + db ($1 << 4) ; trainer's view range + dw $d813 ; flag's byte + dw VictoryRoad3BattleText2 ; 0x4a91 TextBeforeBattle + dw VictoryRoad3AfterBattleText2 ; 0x4a9b TextAfterBattle + dw VictoryRoad3EndBattleText2 ; 0x4a96 TextEndBattle + dw VictoryRoad3EndBattleText2 ; 0x4a96 TextEndBattle + +VictoryRoad3TrainerHeader2: ; 44a44 (11:4a44) + db $2 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d813 ; flag's byte + dw VictoryRoad3BattleText3 ; 0x4aa0 TextBeforeBattle + dw VictoryRoad3AfterBattleText3 ; 0x4aaa TextAfterBattle + dw VictoryRoad3EndBattleText3 ; 0x4aa5 TextEndBattle + dw VictoryRoad3EndBattleText3 ; 0x4aa5 TextEndBattle + +VictoryRoad3TrainerHeader3: ; 44a50 (11:4a50) + db $3 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d813 ; flag's byte + dw VictoryRoad3BattleText4 ; 0x4aaf TextBeforeBattle + dw VictoryRoad3AfterBattleText4 ; 0x4ab9 TextAfterBattle + dw VictoryRoad3EndBattleText4 ; 0x4ab4 TextEndBattle + dw VictoryRoad3EndBattleText4 ; 0x4ab4 TextEndBattle + +VictoryRoad3TrainerHeader4: ; 44a5c (11:4a5c) + db $4 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d813 ; flag's byte + dw VictoryRoad3BattleText5 ; 0x4abe TextBeforeBattle + dw VictoryRoad3AfterBattleText5 ; 0x4ac8 TextAfterBattle + dw VictoryRoad3EndBattleText5 ; 0x4ac3 TextEndBattle + dw VictoryRoad3EndBattleText5 ; 0x4ac3 TextEndBattle + + db $ff + +VictoryRoad3Text1: ; 44a69 (11:4a69) + db $08 ; asm + ld hl, VictoryRoad3TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +VictoryRoad3Text2: ; 44a73 (11:4a73) + db $08 ; asm + ld hl, VictoryRoad3TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +VictoryRoad3Text3: ; 44a7d (11:4a7d) + db $08 ; asm + ld hl, VictoryRoad3TrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +VictoryRoad3Text4: ; 44a87 (11:4a87) + db $08 ; asm + ld hl, VictoryRoad3TrainerHeader4 + call TalkToTrainer + jp TextScriptEnd + +VictoryRoad3BattleText2: ; 44a91 (11:4a91) + TX_FAR _VictoryRoad3BattleText2 + db "@" + +VictoryRoad3EndBattleText2: ; 44a96 (11:4a96) + TX_FAR _VictoryRoad3EndBattleText2 + db "@" + +VictoryRoad3AfterBattleText2: ; 44a9b (11:4a9b) + TX_FAR _VictoryRoad3AfterBattleText2 + db "@" + +VictoryRoad3BattleText3: ; 44aa0 (11:4aa0) + TX_FAR _VictoryRoad3BattleText3 + db "@" + +VictoryRoad3EndBattleText3: ; 44aa5 (11:4aa5) + TX_FAR _VictoryRoad3EndBattleText3 + db "@" + +VictoryRoad3AfterBattleText3: ; 44aaa (11:4aaa) + TX_FAR _VictoryRoad3AfterBattleText3 + db "@" + +VictoryRoad3BattleText4: ; 44aaf (11:4aaf) + TX_FAR _VictoryRoad3BattleText4 + db "@" + +VictoryRoad3EndBattleText4: ; 44ab4 (11:4ab4) + TX_FAR _VictoryRoad3EndBattleText4 + db "@" + +VictoryRoad3AfterBattleText4: ; 44ab9 (11:4ab9) + TX_FAR _VictoryRoad3AfterBattleText4 + db "@" + +VictoryRoad3BattleText5: ; 44abe (11:4abe) + TX_FAR _VictoryRoad3BattleText5 + db "@" + +VictoryRoad3EndBattleText5: ; 44ac3 (11:4ac3) + TX_FAR _VictoryRoad3EndBattleText5 + db "@" + +VictoryRoad3AfterBattleText5: ; 44ac8 (11:4ac8) + TX_FAR _VictoryRoad3AfterBattleText5 + db "@" diff --git a/scripts/viridiancity.asm b/scripts/viridiancity.asm new file mode 100755 index 00000000..4bb04ba7 --- /dev/null +++ b/scripts/viridiancity.asm @@ -0,0 +1,333 @@ +ViridianCityScript: ; 18ff1 (6:4ff1) + call EnableAutoTextBoxDrawing + ld hl, ViridianCityScriptPointers + ld a, [W_VIRIDIANCITYCURSCRIPT] + jp CallFunctionInTable + +ViridianCityScriptPointers: ; 18ffd (6:4ffd) + dw ViridianCityScript0 + dw ViridianCityScript1 + dw ViridianCityScript2 + dw ViridianCityScript3 + +ViridianCityScript0: ; 19005 (6:5005) + call ViridianCityScript_1900b + jp ViridianCityScript_1903d + +ViridianCityScript_1900b: ; 1900b (6:500b) + ld a, [$d74c] + bit 0, a + ret nz + ld a, [W_OBTAINEDBADGES] + cp %01111111 + jr nz, .asm_1901e ; 0x19016 $6 + ld hl, $d74c + set 0, [hl] + ret +.asm_1901e + ld a, [W_YCOORD] + cp $8 + ret nz + ld a, [W_XCOORD] + cp $20 + ret nz + ld a, $e + ld [$ff8c], a + call DisplayTextID + xor a + ld [H_CURRENTPRESSEDBUTTONS], a + call ViridianCityScript_190cf + ld a, $3 + ld [W_VIRIDIANCITYCURSCRIPT], a + ret + +ViridianCityScript_1903d: ; 1903d (6:503d) + ld a, [$d74b] + bit 5, a + ret nz + ld a, [W_YCOORD] + cp $9 + ret nz + ld a, [W_XCOORD] + cp $13 + ret nz + ld a, $5 + ld [$ff8c], a + call DisplayTextID + xor a + ld [H_CURRENTPRESSEDBUTTONS], a + call ViridianCityScript_190cf + ld a, $3 + ld [W_VIRIDIANCITYCURSCRIPT], a + ret + +ViridianCityScript1: ; 19062 (6:5062) + ld a, [$c134] + ld [$ffeb], a + ld a, [$c136] + ld [$ffec], a + ld a, [$c234] + ld [$ffed], a + ld a, [$c235] + ld [$ffee], a + xor a + ld [wListScrollOffset], a + + ; set up battle for Old Man + ld a, $1 + ld [W_BATTLETYPE], a + ld a, 5 + ld [W_CURENEMYLVL], a + ld a, WEEDLE + ld [W_CUROPPONENT], a + ld a, $2 + ld [W_VIRIDIANCITYCURSCRIPT], a + ret + +ViridianCityScript2: ; 1908f (6:508f) + ld a, [$ffeb] + ld [$c134], a + ld a, [$ffec] + ld [$c136], a + ld a, [$ffed] + ld [$c234], a + ld a, [$ffee] + ld [$c235], a + call UpdateSprites + call Delay3 + xor a + ld [wJoypadForbiddenButtonsMask], a + ld a, $f + ld [$ff8c], a + call DisplayTextID + xor a + ld [W_BATTLETYPE], a + ld [wJoypadForbiddenButtonsMask], a + ld a, $0 + ld [W_VIRIDIANCITYCURSCRIPT], a + ret + +ViridianCityScript3: ; 190c1 (6:50c1) + ld a, [$cd38] + and a + ret nz + call Delay3 + ld a, 0 + ld [W_VIRIDIANCITYCURSCRIPT], a + ret + +ViridianCityScript_190cf: ; 190cf (6:50cf) + call Func_3486 + ld a, $1 + ld [$cd38], a + ld a, $80 + ld [$ccd3], a + xor a + ld [$c109], a + ld [wJoypadForbiddenButtonsMask], a + ret + +ViridianCityTextPointers: ; 190e4 (6:50e4) + dw ViridianCityText1 + dw ViridianCityText2 + dw ViridianCityText3 + dw ViridianCityText4 + dw ViridianCityText5 + dw ViridianCityText6 + dw ViridianCityText7 + dw ViridianCityText8 + dw ViridianCityText9 + dw ViridianCityText10 + dw MartSignText + dw PokeCenterSignText + dw ViridianCityText13 + dw ViridianCityText14 + dw ViridianCityText15 + +ViridianCityText1: ; 19102 (6:5102) + TX_FAR _ViridianCityText1 + db "@" + +ViridianCityText2: ; 19107 (6:5107) + db $08 ; asm + ld a, [W_OBTAINEDBADGES] + cp %01111111 + ld hl, ViridianCityText_19127 + jr z, .asm_ae9fe ; 0x19110 + ld a, [$d751] + bit 1, a + jr nz, .asm_ae9fe ; 0x19117 + ld hl, ViridianCityText_19122 +.asm_ae9fe ; 0x1911c + call PrintText + jp TextScriptEnd + +ViridianCityText_19122: ; 19122 (6:5122) + TX_FAR _ViridianCityText_19122 + db "@" + +ViridianCityText_19127: ; 19127 (6:5127) + TX_FAR _ViridianCityText_19127 + db "@" + +ViridianCityText3: ; 1912c (6:512c) + db $08 ; asm + ld hl, ViridianCityText_1914d + call PrintText + call YesNoChoice + ld a, [$cc26] + and a + jr nz, .asm_6dfea ; 0x1913a + ld hl, ViridianCityText_19157 + call PrintText + jr .asm_d611f ; 0x19142 +.asm_6dfea ; 0x19144 + ld hl, ViridianCityText_19152 + call PrintText +.asm_d611f ; 0x1914a + jp TextScriptEnd + +ViridianCityText_1914d: ; 1914d (6:514d) + TX_FAR _ViridianCityText_1914d + db "@" + +ViridianCityText_19152: ; 19152 (6:5152) + TX_FAR _ViridianCityText_19152 + db "@" + +ViridianCityText_19157: ; 19157 (6:5157) + TX_FAR _ViridianCityText_19157 + db "@" + +ViridianCityText4: ; 1915c (6:515c) + db $08 ; asm + ld a, [$d74b] + bit 5, a + jr nz, .asm_83894 ; 0x19162 + ld hl, ViridianCityText_19175 + call PrintText + jr .asm_700a6 ; 0x1916a +.asm_83894 ; 0x1916c + ld hl, ViridianCityText_1917a + call PrintText +.asm_700a6 ; 0x19172 + jp TextScriptEnd + +ViridianCityText_19175: ; 19175 (6:5175) + TX_FAR _ViridianCityText_19175 + db "@" + +ViridianCityText_1917a: ; 1917a (6:517a) + TX_FAR _ViridianCityText_1917a + db "@" + +ViridianCityText5: ; 1917f (6:517f) + db $08 ; asm + ld hl, ViridianCityText_19191 + call PrintText + call ViridianCityScript_190cf + ld a, $3 + ld [W_VIRIDIANCITYCURSCRIPT], a + jp TextScriptEnd + +ViridianCityText_19191: ; 19191 (6:5191) + TX_FAR _ViridianCityText_19191 + db "@" + +ViridianCityText6: ; 19196 (6:5196) + db $08 ; asm + ld a, [$d74c] + bit 1, a + jr nz, .asm_4e5a0 ; 0x1919c + ld hl, ViridianCityText_191ca + call PrintText + ld bc, (TM_42 << 8) | 1 + call GiveItem + jr nc, .BagFull + ld hl, ReceivedTM42Text + call PrintText + ld hl, $d74c + set 1, [hl] + jr .asm_3c73c ; 0x191b7 +.BagFull + ld hl, TM42NoRoomText + call PrintText + jr .asm_3c73c ; 0x191bf +.asm_4e5a0 ; 0x191c1 + ld hl, TM42Explanation + call PrintText +.asm_3c73c ; 0x191c7 + jp TextScriptEnd + +ViridianCityText_191ca: ; 191ca (6:51ca) + TX_FAR _ViridianCityText_191ca + db "@" + +ReceivedTM42Text: ; 191cf (6:51cf) + TX_FAR _ReceivedTM42Text + db $10, "@" + +TM42Explanation: ; 191d5 (6:51d5) + TX_FAR _TM42Explanation + db "@" + +TM42NoRoomText: ; 191da (6:51da) + TX_FAR _TM42NoRoomText + db "@" + +ViridianCityText7: ; 191df (6:51df) + db $08 ; asm + ld hl, ViridianCityText_1920a + call PrintText + ld c, $2 + call DelayFrames + call YesNoChoice + ld a, [$cc26] + and a + jr z, .asm_42f68 ; 0x191f2 + ld hl, ViridianCityText_1920f + call PrintText + ld a, $1 + ld [W_VIRIDIANCITYCURSCRIPT], a + jr .asm_2413a ; 0x191ff +.asm_42f68 ; 0x19201 + ld hl, ViridianCityText_19214 + call PrintText +.asm_2413a ; 0x19207 + jp TextScriptEnd + +ViridianCityText_1920a: ; 1920a (6:520a) + TX_FAR _ViridianCityText_1920a + db "@" + +ViridianCityText_1920f: ; 1920f (6:520f) + TX_FAR _ViridianCityText_1920f + db "@" + +ViridianCityText_19214: ; 19214 (6:5214) + TX_FAR _ViridianCityText_19214 + db "@" + +ViridianCityText15: ; 19219 (6:5219) + TX_FAR _ViridianCityText_19219 + db "@" + +ViridianCityText8: ; 1921e (6:521e) + TX_FAR _ViridianCityText8 + db "@" + +ViridianCityText9: ; 19223 (6:5223) + TX_FAR _ViridianCityText9 + db "@" + +ViridianCityText10: ; 19228 (6:5228) + TX_FAR _ViridianCityText10 + db "@" + +ViridianCityText13: ; 1922d (6:522d) + TX_FAR _ViridianCityText13 + db "@" + +ViridianCityText14: ; 19232 (6:5232) + TX_FAR _ViridianCityText14 + db "@" diff --git a/scripts/viridianforest.asm b/scripts/viridianforest.asm new file mode 100755 index 00000000..4e55733b --- /dev/null +++ b/scripts/viridianforest.asm @@ -0,0 +1,145 @@ +ViridianForestScript: ; 6110d (18:510d) + call EnableAutoTextBoxDrawing + ld hl, ViridianForestTrainerHeaders + ld de, ViridianForestScriptPointers + ld a, [W_VIRIDIANFORESTCURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_VIRIDIANFORESTCURSCRIPT], a + ret + +ViridianForestScriptPointers: ; 61120 (18:5120) + dw CheckFightingMapTrainers + dw Func_324c + dw EndTrainerBattle + +ViridianForestTextPointers: ; 61126 (18:5126) + dw ViridianForestText1 + dw ViridianForestText2 + dw ViridianForestText3 + dw ViridianForestText4 + dw Predef5CText + dw Predef5CText + dw Predef5CText + dw ViridianForestText8 + dw ViridianForestText9 + dw ViridianForestText10 + dw ViridianForestText11 + dw ViridianForestText12 + dw ViridianForestText13 + dw ViridianForestText14 + +ViridianForestTrainerHeaders: ; 61142 (18:5142) +ViridianForestTrainerHeader0: ; 61142 (18:5142) + db $2 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7f3 ; flag's byte + dw ViridianForestBattleText1 ; 0x518a TextBeforeBattle + dw ViridianForestAfterBattleText1 ; 0x5194 TextAfterBattle + dw ViridianForestEndBattleText1 ; 0x518f TextEndBattle + dw ViridianForestEndBattleText1 ; 0x518f TextEndBattle + +ViridianForestTrainerHeader1: ; 6114e (18:514e) + db $3 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d7f3 ; flag's byte + dw ViridianForestBattleText2 ; 0x5199 TextBeforeBattle + dw ViridianForestAfterBattleText2 ; 0x51a3 TextAfterBattle + dw ViridianForestEndBattleText2 ; 0x519e TextEndBattle + dw ViridianForestEndBattleText2 ; 0x519e TextEndBattle + +ViridianForestTrainerHeader2: ; 6115a (18:515a) + db $4 ; flag's bit + db ($1 << 4) ; trainer's view range + dw $d7f3 ; flag's byte + dw ViridianForestBattleText3 ; 0x51a8 TextBeforeBattle + dw ViridianForestAfterBattleText3 ; 0x51b2 TextAfterBattle + dw ViridianForestEndBattleText3 ; 0x51ad TextEndBattle + dw ViridianForestEndBattleText3 ; 0x51ad TextEndBattle + + db $ff + +ViridianForestText1: ; 61167 (18:5167) + TX_FAR _ViridianForestText1 + db "@" + +ViridianForestText2: ; 6116c (18:516c) + db $08 ; asm + ld hl, ViridianForestTrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +ViridianForestText3: ; 61176 (18:5176) + db $08 ; asm + ld hl, ViridianForestTrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +ViridianForestText4: ; 61180 (18:5180) + db $08 ; asm + ld hl, ViridianForestTrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +ViridianForestBattleText1: ; 6118a (18:518a) + TX_FAR _ViridianForestBattleText1 + db "@" + +ViridianForestEndBattleText1: ; 6118f (18:518f) + TX_FAR _ViridianForestEndBattleText1 + db "@" + +ViridianForestAfterBattleText1: ; 61194 (18:5194) + TX_FAR _ViridianFrstAfterBattleText1 + db "@" + +ViridianForestBattleText2: ; 61199 (18:5199) + TX_FAR _ViridianForestBattleText2 + db "@" + +ViridianForestEndBattleText2: ; 6119e (18:519e) + TX_FAR _ViridianForestEndBattleText2 + db "@" + +ViridianForestAfterBattleText2: ; 611a3 (18:51a3) + TX_FAR _ViridianFrstAfterBattleText2 + db "@" + +ViridianForestBattleText3: ; 611a8 (18:51a8) + TX_FAR _ViridianForestBattleText3 + db "@" + +ViridianForestEndBattleText3: ; 611ad (18:51ad) + TX_FAR _ViridianForestEndBattleText3 + db "@" + +ViridianForestAfterBattleText3: ; 611b2 (18:51b2) + TX_FAR _ViridianFrstAfterBattleText3 + db "@" + +ViridianForestText8: ; 611b7 (18:51b7) + TX_FAR _ViridianForestText8 + db "@" + +ViridianForestText9: ; 611bc (18:51bc) + TX_FAR _ViridianForestText9 + db "@" + +ViridianForestText10: ; 611c1 (18:51c1) + TX_FAR _ViridianForestText10 + db "@" + +ViridianForestText11: ; 611c6 (18:51c6) + TX_FAR _ViridianForestText11 + db "@" + +ViridianForestText12: ; 611cb (18:51cb) + TX_FAR _ViridianForestText12 + db "@" + +ViridianForestText13: ; 611d0 (18:51d0) + TX_FAR _ViridianForestText13 + db "@" + +ViridianForestText14: ; 611d5 (18:51d5) + TX_FAR _ViridianForestText14 + db "@" diff --git a/scripts/viridianforestentrance.asm b/scripts/viridianforestentrance.asm new file mode 100755 index 00000000..14b6cf49 --- /dev/null +++ b/scripts/viridianforestentrance.asm @@ -0,0 +1,14 @@ +ViridianForestEntranceScript: ; 5d65c (17:565c) + jp EnableAutoTextBoxDrawing + +ViridianForestEntranceTextPointers: ; 5d65f (17:565f) + dw ViridianForestEntranceText1 + dw ViridianForestEntranceText2 + +ViridianForestEntranceText1: ; 5d663 (17:5663) + TX_FAR _ViridianForestEntranceText1 + db "@" + +ViridianForestEntranceText2: ; 5d668 (17:5668) + TX_FAR _ViridianForestEntranceText2 + db "@" diff --git a/scripts/viridianforestexit.asm b/scripts/viridianforestexit.asm new file mode 100755 index 00000000..0d4d4b29 --- /dev/null +++ b/scripts/viridianforestexit.asm @@ -0,0 +1,14 @@ +ViridianForestExitScript: ; 5d587 (17:5587) + jp EnableAutoTextBoxDrawing + +ViridianForestExitTextPointers: ; 5d58a (17:558a) + dw ViridianForestExitText1 + dw ViridianForestExitText2 + +ViridianForestExitText1: ; 5d58e (17:558e) + TX_FAR _ViridianForestExitText1 + db "@" + +ViridianForestExitText2: ; 5d593 (17:5593) + TX_FAR _ViridianForestExitText2 + db "@" diff --git a/scripts/viridiangym.asm b/scripts/viridiangym.asm new file mode 100755 index 00000000..0f042339 --- /dev/null +++ b/scripts/viridiangym.asm @@ -0,0 +1,514 @@ +ViridianGymScript: ; 748a3 (1d:48a3) + ld hl, Gym8CityName + ld de, Gym8LeaderName + call LoadGymLeaderAndCityName + call EnableAutoTextBoxDrawing + ld hl, ViridianGymTrainerHeaders + ld de, ViridianGymScriptPointers + ld a, [W_VIRIDIANGYMCURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_VIRIDIANGYMCURSCRIPT], a + ret + +Gym8CityName: ; 748bf (1d:48bf) + db "VIRIDIAN CITY@" +Gym8LeaderName: ; 748cd (1d:48cd) + db "GIOVANNI@" + +ViridianGymScript_748d6: ; 748d6 (1d:48d6) + xor a + ld [wJoypadForbiddenButtonsMask], a + ld [W_VIRIDIANGYMCURSCRIPT], a + ld [W_CURMAPSCRIPT], a + ret + +ViridianGymScriptPointers: ; 748e1 (1d:48e1) + dw ViridianGymScript0 + dw Func_324c + dw EndTrainerBattle + dw ViridianGymScript3 + dw ViridianGymScript4 + +ViridianGymScript0: ; 748eb (1d:48eb) + ld a, [W_YCOORD] ; $d361 + ld b, a + ld a, [W_XCOORD] ; $d362 + ld c, a + ld hl, ViridianGymArrowTilePlayerMovement + call Func_3442 + cp $ff + jp z, CheckFightingMapTrainers + call Func_3486 + ld hl, $d736 + set 7, [hl] + ld a, (SFX_02_52 - SFX_Headers_02) / 3 + call PlaySound + ld a, $ff + ld [wJoypadForbiddenButtonsMask], a + ld a, $4 + ld [W_CURMAPSCRIPT], a + ret + +;format: +;db y,x +;dw pointer to movement +ViridianGymArrowTilePlayerMovement: ; 74916 (1d:4916) + db $b,$13 + dw ViridianGymArrowMovement1 + db $1,$13 + dw ViridianGymArrowMovement2 + db $2,$12 + dw ViridianGymArrowMovement3 + db $2,$b + dw ViridianGymArrowMovement4 + db $a,$10 + dw ViridianGymArrowMovement5 + db $6,$4 + dw ViridianGymArrowMovement6 + db $d,$5 + dw ViridianGymArrowMovement7 + db $e,$4 + dw ViridianGymArrowMovement8 + db $f,$0 + dw ViridianGymArrowMovement9 + db $f,$1 + dw ViridianGymArrowMovement10 + db $10,$d + dw ViridianGymArrowMovement11 + db $11,$d + dw ViridianGymArrowMovement12 + db $FF + +;format: direction, count +;right: $10 +;left: $20 +;up: $40 +;down: $80 +ViridianGymArrowMovement1: ; 74947 (1d:4947) + db $40,$09,$FF + +ViridianGymArrowMovement2: ; 7494a (1d:494a) + db $20,$08,$FF + +ViridianGymArrowMovement3: ; 7494d (1d:494d) + db $80,$09,$FF + +ViridianGymArrowMovement4: ; 74950 (1d:4950) + db $10,$06,$FF + +ViridianGymArrowMovement5: ; 74953 (1d:4953) + db $80,$02,$FF + +ViridianGymArrowMovement6: ; 74956 (1d:4956) + db $80,$07,$FF + +ViridianGymArrowMovement7: ; 74959 (1d:4959) + db $10,$08,$FF + +ViridianGymArrowMovement8: ; 7495c (1d:495c) + db $10,$09,$FF + +ViridianGymArrowMovement9: ; 7495f (1d:495f) + db $40,$08,$FF + +ViridianGymArrowMovement10: ; 74962 (1d:4962) + db $40,$06,$FF + +ViridianGymArrowMovement11: ; 74965 (1d:4965) + db $20,$06,$FF + +ViridianGymArrowMovement12: ; 74968 (1d:4968) + db $20,$0C,$FF + +ViridianGymScript4: ; 7496b (1d:496b) + ld a, [$cd38] + and a + jr nz, .asm_74980 + xor a + ld [wJoypadForbiddenButtonsMask], a + ld hl, $d736 + res 7, [hl] + ld a, $0 + ld [W_CURMAPSCRIPT], a + ret +.asm_74980 + ld b, BANK(LoadSpinnerArrowTiles) + ld hl, LoadSpinnerArrowTiles + jp Bankswitch + +ViridianGymScript3: ; 74988 (1d:4988) + ld a, [W_ISINBATTLE] ; $d057 + cp $ff + jp z, ViridianGymScript_748d6 + ld a, $f0 + ld [wJoypadForbiddenButtonsMask], a +ViridianGymScript3_74995: ; 74995 (1d:4995) + ld a, $c + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + call DisplayTextID + ld hl, $d751 + set 1, [hl] + ld bc, (TM_27 << 8) | 1 + call GiveItem + jr nc, .BagFull + ld a, $d + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + call DisplayTextID + ld hl, $d751 + set 0, [hl] + jr .asm_749be +.BagFull + ld a, $e + ld [H_DOWNARROWBLINKCNT2], a ; $ff8c + call DisplayTextID +.asm_749be + ld hl, W_OBTAINEDBADGES + set 7, [hl] + ld hl, $d72a + set 7, [hl] + + ; deactivate gym trainers + ld a, [$d751] + or %11111100 + ld [$d751], a + ld a, [$d752] + or %00000011 + ld [$d752], a + + ld a, $23 + ld [$cc4d], a + ld a, $15 + call Predef ; indirect jump to AddMissableObject (f1c8 (3:71c8)) + ld hl, $d7eb + set 1, [hl] + set 7, [hl] + jp ViridianGymScript_748d6 + +ViridianGymTextPointers: ; 749ec (1d:49ec) + dw ViridianGymText1 + dw ViridianGymText2 + dw ViridianGymText3 + dw ViridianGymText4 + dw ViridianGymText5 + dw ViridianGymText6 + dw ViridianGymText7 + dw ViridianGymText8 + dw ViridianGymText9 + dw ViridianGymText10 + dw Predef5CText + dw ViridianGymText12 + dw ViridianGymText13 + dw ViridianGymText14 + +ViridianGymTrainerHeaders: ; 74a08 (1d:4a08) +ViridianGymTrainerHeader0: ; 74a08 (1d:4a08) + db $2 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d751 ; flag's byte + dw ViridianGymBattleText1 ; 0x4afd TextBeforeBattle + dw ViridianGymAfterBattleText1 ; 0x4b07 TextAfterBattle + dw ViridianGymEndBattleText1 ; 0x4b02 TextEndBattle + dw ViridianGymEndBattleText1 ; 0x4b02 TextEndBattle + +ViridianGymTrainerHeader1: ; 74a14 (1d:4a14) + db $3 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d751 ; flag's byte + dw ViridianGymBattleText2 ; 0x4b16 TextBeforeBattle + dw ViridianGymAfterBattleText2 ; 0x4b20 TextAfterBattle + dw ViridianGymEndBattleText2 ; 0x4b1b TextEndBattle + dw ViridianGymEndBattleText2 ; 0x4b1b TextEndBattle + +ViridianGymTrainerHeader2: ; 74a20 (1d:4a20) + db $4 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d751 ; flag's byte + dw ViridianGymBattleText3 ; 0x4b2f TextBeforeBattle + dw ViridianGymAfterBattleText3 ; 0x4b39 TextAfterBattle + dw ViridianGymEndBattleText3 ; 0x4b34 TextEndBattle + dw ViridianGymEndBattleText3 ; 0x4b34 TextEndBattle + +ViridianGymTrainerHeader3: ; 74a2c (1d:4a2c) + db $5 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d751 ; flag's byte + dw ViridianGymBattleText4 ; 0x4b48 TextBeforeBattle + dw ViridianGymAfterBattleText4 ; 0x4b52 TextAfterBattle + dw ViridianGymEndBattleText4 ; 0x4b4d TextEndBattle + dw ViridianGymEndBattleText4 ; 0x4b4d TextEndBattle + +ViridianGymTrainerHeader4: ; 74a38 (1d:4a38) + db $6 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d751 ; flag's byte + dw ViridianGymBattleText5 ; 0x4b61 TextBeforeBattle + dw ViridianGymAfterBattleText5 ; 0x4b6b TextAfterBattle + dw ViridianGymEndBattleText5 ; 0x4b66 TextEndBattle + dw ViridianGymEndBattleText5 ; 0x4b66 TextEndBattle + +ViridianGymTrainerHeader5: ; 74a44 (1d:4a44) + db $7 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d751 ; flag's byte + dw ViridianGymBattleText6 ; 0x4b7a TextBeforeBattle + dw ViridianGymAfterBattleText6 ; 0x4b84 TextAfterBattle + dw ViridianGymEndBattleText6 ; 0x4b7f TextEndBattle + dw ViridianGymEndBattleText6 ; 0x4b7f TextEndBattle + +ViridianGymTrainerHeader6: ; 74a50 (1d:4a50) + db $8 ; flag's bit + db ($3 << 4) ; trainer's view range + dw $d751 ; flag's byte + dw ViridianGymBattleText7 ; 0x4b93 TextBeforeBattle + dw ViridianGymAfterBattleText7 ; 0x4b9d TextAfterBattle + dw ViridianGymEndBattleText7 ; 0x4b98 TextEndBattle + dw ViridianGymEndBattleText7 ; 0x4b98 TextEndBattle + +ViridianGymTrainerHeader7: ; 74a5c (1d:4a5c) + db $9 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d751 ; flag's byte + dw ViridianGymBattleText8 ; 0x4bac TextBeforeBattle + dw ViridianGymAfterBattleText8 ; 0x4bb6 TextAfterBattle + dw ViridianGymEndBattleText8 ; 0x4bb1 TextEndBattle + dw ViridianGymEndBattleText8 ; 0x4bb1 TextEndBattle + + db $ff + +ViridianGymText1: ; 74a69 (1d:4a69) + db $08 ; asm + ld a, [$d751] + bit 1, a + jr z, .asm_6de66 ; 0x74a6f + bit 0, a + jr nz, .asm_9fc95 ; 0x74a73 + call z, ViridianGymScript3_74995 + call DisableWaitingAfterTextDisplay + jr .asm_6dff7 ; 0x74a7b +.asm_9fc95 ; 0x74a7d + ld a, $1 + ld [$cc3c], a + ld hl, ViridianGymText_74ad9 + call PrintText + call GBFadeIn1 + ld a, $32 + ld [$cc4d], a + ld a, $11 + call Predef + call UpdateSprites + call Delay3 + call GBFadeOut1 + jr .asm_6dff7 ; 0x74a9e +.asm_6de66 ; 0x74aa0 + ld hl, ViridianGymText_74ace + call PrintText + ld hl, $d72d + set 6, [hl] + set 7, [hl] + ld hl, ViridianGymText_74ad3 + ld de, ViridianGymText_74ad3 + call PreBattleSaveRegisters + ldh a, [$8c] + ld [$cf13], a + call EngageMapTrainer + call InitBattleEnemyParameters + ld a, $8 + ld [$d05c], a + ld a, $3 + ld [W_VIRIDIANGYMCURSCRIPT], a +.asm_6dff7 ; 0x74acb + jp TextScriptEnd + +ViridianGymText_74ace: ; 74ace (1d:4ace) + TX_FAR _ViridianGymText_74ace + db "@" + +ViridianGymText_74ad3: ; 74ad3 (1d:4ad3) + TX_FAR _ViridianGymText_74ad3 + db $0b, "@" + +ViridianGymText_74ad9: ; 74ad9 (1d:4ad9) + TX_FAR _ViridianGymText_74ad9 + db $0d, "@" + +ViridianGymText12: ; 74adf (1d:4adf) + TX_FAR _ViridianGymText12 + db "@" + +ViridianGymText13: ; 74ae4 (1d:4ae4) + TX_FAR _ReceivedTM27Text + db $0b + +TM27ExplanationText: ; 74ae9 (1d:4ae9) + TX_FAR _TM27ExplanationText + db "@" + +ViridianGymText14: ; 74aee (1d:4aee) + TX_FAR _TM27NoRoomText + db "@" + +ViridianGymText2: ; 74af3 (1d:4af3) + db $08 ; asm + ld hl, ViridianGymTrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +ViridianGymBattleText1: ; 74afd (1d:4afd) + TX_FAR _ViridianGymBattleText1 + db "@" + +ViridianGymEndBattleText1: ; 74b02 (1d:4b02) + TX_FAR _ViridianGymEndBattleText1 + db "@" + +ViridianGymAfterBattleText1: ; 74b07 (1d:4b07) + TX_FAR _ViridianGymAfterBattleText1 + db "@" + +ViridianGymText3: ; 74b0c (1d:4b0c) + db $08 ; asm + ld hl, ViridianGymTrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +ViridianGymBattleText2: ; 74b16 (1d:4b16) + TX_FAR _ViridianGymBattleText2 + db "@" + +ViridianGymEndBattleText2: ; 74b1b (1d:4b1b) + TX_FAR _ViridianGymEndBattleText2 + db "@" + +ViridianGymAfterBattleText2: ; 74b20 (1d:4b20) + TX_FAR _ViridianGymAfterBattleText2 + db "@" + +ViridianGymText4: ; 74b25 (1d:4b25) + db $08 ; asm + ld hl, ViridianGymTrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +ViridianGymBattleText3: ; 74b2f (1d:4b2f) + TX_FAR _ViridianGymBattleText3 + db "@" + +ViridianGymEndBattleText3: ; 74b34 (1d:4b34) + TX_FAR _ViridianGymEndBattleText3 + db "@" + +ViridianGymAfterBattleText3: ; 74b39 (1d:4b39) + TX_FAR _ViridianGymAfterBattleText3 + db "@" + +ViridianGymText5: ; 74b3e (1d:4b3e) + db $08 ; asm + ld hl, ViridianGymTrainerHeader3 + call TalkToTrainer + jp TextScriptEnd + +ViridianGymBattleText4: ; 74b48 (1d:4b48) + TX_FAR _ViridianGymBattleText4 + db "@" + +ViridianGymEndBattleText4: ; 74b4d (1d:4b4d) + TX_FAR _ViridianGymEndBattleText4 + db "@" + +ViridianGymAfterBattleText4: ; 74b52 (1d:4b52) + TX_FAR _ViridianGymAfterBattleText4 + db "@" + +ViridianGymText6: ; 74b57 (1d:4b57) + db $08 ; asm + ld hl, ViridianGymTrainerHeader4 + call TalkToTrainer + jp TextScriptEnd + +ViridianGymBattleText5: ; 74b61 (1d:4b61) + TX_FAR _ViridianGymBattleText5 + db "@" + +ViridianGymEndBattleText5: ; 74b66 (1d:4b66) + TX_FAR _ViridianGymEndBattleText5 + db "@" + +ViridianGymAfterBattleText5: ; 74b6b (1d:4b6b) + TX_FAR _ViridianGymAfterBattleText5 + db "@" + +ViridianGymText7: ; 74b70 (1d:4b70) + db $08 ; asm + ld hl, ViridianGymTrainerHeader5 + call TalkToTrainer + jp TextScriptEnd + +ViridianGymBattleText6: ; 74b7a (1d:4b7a) + TX_FAR _ViridianGymBattleText6 + db "@" + +ViridianGymEndBattleText6: ; 74b7f (1d:4b7f) + TX_FAR _ViridianGymEndBattleText6 + db "@" + +ViridianGymAfterBattleText6: ; 74b84 (1d:4b84) + TX_FAR _ViridianGymAfterBattleText6 + db "@" + +ViridianGymText8: ; 74b89 (1d:4b89) + db $08 ; asm + ld hl, ViridianGymTrainerHeader6 + call TalkToTrainer + jp TextScriptEnd + +ViridianGymBattleText7: ; 74b93 (1d:4b93) + TX_FAR _ViridianGymBattleText7 + db "@" + +ViridianGymEndBattleText7: ; 74b98 (1d:4b98) + TX_FAR _ViridianGymEndBattleText7 + db "@" + +ViridianGymAfterBattleText7: ; 74b9d (1d:4b9d) + TX_FAR _ViridianGymAfterBattleText7 + db "@" + +ViridianGymText9: ; 74ba2 (1d:4ba2) + db $08 ; asm + ld hl, ViridianGymTrainerHeader7 + call TalkToTrainer + jp TextScriptEnd + +ViridianGymBattleText8: ; 74bac (1d:4bac) + TX_FAR _ViridianGymBattleText8 + db "@" + +ViridianGymEndBattleText8: ; 74bb1 (1d:4bb1) + TX_FAR _ViridianGymEndBattleText8 + db "@" + +ViridianGymAfterBattleText8: ; 74bb6 (1d:4bb6) + TX_FAR _ViridianGymAfterBattleText8 + db "@" + +ViridianGymText10: ; 74bbb (1d:4bbb) + db $08 ; asm + ld a, [$d751] + bit 1, a + jr nz, .asm_1abd1 ; 0x74bc1 + ld hl, ViridianGymText_74bd4 + call PrintText + jr .asm_6064d ; 0x74bc9 +.asm_1abd1 ; 0x74bcb + ld hl, ViridianGymText_74bd9 + call PrintText +.asm_6064d ; 0x74bd1 + jp TextScriptEnd + +ViridianGymText_74bd4: ; 74bd4 (1d:4bd4) + TX_FAR _ViridianGymText_74bd4 + db "@" + +ViridianGymText_74bd9: ; 74bd9 (1d:4bd9) + TX_FAR _ViridianGymText_74bd9 + db "@" diff --git a/scripts/viridianhouse.asm b/scripts/viridianhouse.asm new file mode 100755 index 00000000..ab8b6786 --- /dev/null +++ b/scripts/viridianhouse.asm @@ -0,0 +1,33 @@ +ViridianHouseScript: ; 1d58a (7:558a) + jp EnableAutoTextBoxDrawing + +ViridianHouseTextPointers: ; 1d58d (7:558d) + dw ViridianHouseText1 + dw ViridianHouseText2 + dw ViridianHouseText3 + dw ViridianHouseText4 + +ViridianHouseText1: ; 1d595 (7:5595) + TX_FAR _ViridianHouseText1 + db "@" + +ViridianHouseText2: ; 1d59a (7:559a) + TX_FAR _ViridianHouseText2 + db "@" + +ViridianHouseText3: ; 1d59f (7:559f) + db $08 ; asm + ld hl, ViridianHouseText_1d5b1 + call PrintText + ld a, SPEAROW + call PlayCry + call WaitForSoundToFinish + jp TextScriptEnd + +ViridianHouseText_1d5b1: ; 1d5b1 (7:55b1) + TX_FAR _ViridianHouseText_1d5b1 + db "@" + +ViridianHouseText4: ; 1d5b6 (7:55b6) + TX_FAR _ViridianHouseText4 + db "@" diff --git a/scripts/viridianmart.asm b/scripts/viridianmart.asm new file mode 100755 index 00000000..1c53a5a3 --- /dev/null +++ b/scripts/viridianmart.asm @@ -0,0 +1,95 @@ +ViridianMartScript: ; 1d46e (7:546e) + call ViridianMartScript_1d47d + call EnableAutoTextBoxDrawing + ld hl, ViridianMartScriptPointers + ld a, [W_VIRIDIANMARKETCURSCRIPT] + jp CallFunctionInTable + +ViridianMartScript_1d47d: ; 1d47d (7:547d) + ld a, [$d74e] + bit 0, a + jr nz, .asm_1d489 ; 0x1d482 $5 + ld hl, ViridianMartTextPointers ; $54e0 + jr .asm_1d48c ; 0x1d487 $3 +.asm_1d489 + ld hl, ViridianMartTextPointers + $a ; $54ea ; starts at ViridianMartText6 +.asm_1d48c + ld a, l + ld [W_MAPTEXTPTR], a + ld a, h + ld [W_MAPTEXTPTR+1], a + ret + +ViridianMartScriptPointers: ; 1d495 (7:5495) + dw ViridianMartScript0 + dw ViridianMartScript1 + dw ViridianMartScript2 + +ViridianMartScript0: ; 1d49b (7:549b) + call UpdateSprites + ld a, $4 + ld [$ff8c], a + call DisplayTextID + ld hl, $ccd3 + ld de, RLEMovement1d4bb + call DecodeRLEList + dec a + ld [$cd38], a + call Func_3486 + ld a, $1 + ld [W_VIRIDIANMARKETCURSCRIPT], a + ret + +RLEMovement1d4bb: ; 1d4bb (7:54bb) + db $20, $01 + db $40, $02 + db $ff + +ViridianMartScript1: ; 1d4c0 (7:54c0) + ld a, [$cd38] + and a + ret nz + call Delay3 + ld a, $5 + ld [$ff8c], a + call DisplayTextID + ld bc, (OAKS_PARCEL << 8) + 1 + call GiveItem + ld hl, $d74e + set 1, [hl] + ld a, $2 + ld [W_VIRIDIANMARKETCURSCRIPT], a + ; fallthrough +ViridianMartScript2: ; 1d4df (7:54df) + ret + +ViridianMartTextPointers: ; 1d4e0 (7:54e0) + dw ViridianMartText1 + dw ViridianMartText2 + dw ViridianMartText3 + dw ViridianMartText4 + dw ViridianMartText5 + dw ViridianMartText6 + dw ViridianMartText2 + dw ViridianMartText3 + +ViridianMartText1: ; 1d4f0 (7:54f0) + TX_FAR _ViridianMartText1 + db "@" + +ViridianMartText4: ; 1d4f5 (7:54f5) + TX_FAR _ViridianMartText4 + db "@" + +ViridianMartText5: ; 1d4fa (7:54fa) + TX_FAR ViridianMartParcelQuestText + db $11 + db "@" + +ViridianMartText2: ; 1d500 (7:5500) + TX_FAR _ViridianMartText2 + db "@" + +ViridianMartText3: ; 1d505 (7:5505) + TX_FAR _ViridianMartText3 + db "@" diff --git a/scripts/viridianpokecenter.asm b/scripts/viridianpokecenter.asm new file mode 100755 index 00000000..08371ce3 --- /dev/null +++ b/scripts/viridianpokecenter.asm @@ -0,0 +1,23 @@ +ViridianPokeCenterScript: ; 4425d (11:425d) + call Func_22fa + jp EnableAutoTextBoxDrawing + +ViridianPokecenterTextPointers: ; 44263 (11:4263) + dw ViridianPokeCenterText1 + dw ViridianPokeCenterText2 + dw ViridianPokeCenterText3 + dw ViridianPokeCenterText4 + +ViridianPokeCenterText1: ; 4426b (11:426b) + db $ff + +ViridianPokeCenterText2: ; 4426c (11:426c) + TX_FAR _ViridianPokeCenterText1 + db "@" + +ViridianPokeCenterText3: ; 44271 (11:4271) + TX_FAR _ViridianPokeCenterText3 + db "@" + +ViridianPokeCenterText4: ; 44276 (11:4276) + db $f6 diff --git a/text/maps/bike_shop.asm b/text/maps/bike_shop.asm index 8cfbd4fc..5f2c3f45 100644 --- a/text/maps/bike_shop.asm +++ b/text/maps/bike_shop.asm @@ -1,4 +1,4 @@ -_UnnamedText_1d810:: ; 98e03 (26:4e03) +_BikeShopText_1d810:: ; 98e03 (26:4e03) text "Hi! Welcome to" line "our BIKE SHOP." @@ -6,17 +6,17 @@ _UnnamedText_1d810:: ; 98e03 (26:4e03) line "the BIKE for you!" prompt -_UnnamedText_1d815:: ; 98e45 (26:4e45) +_BikeShopText_1d815:: ; 98e45 (26:4e45) text "It's a cool BIKE!" line "Do you want it?" done -_UnnamedText_1d81a:: ; 98e67 (26:4e67) +_BikeShopText_1d81a:: ; 98e67 (26:4e67) text "Sorry! You can't" line "afford it!" prompt -_UnnamedText_1d81f:: ; 98e83 (26:4e83) +_BikeShopText_1d81f:: ; 98e83 (26:4e83) text "Oh, that's..." para "A BIKE VOUCHER!" @@ -24,17 +24,17 @@ _UnnamedText_1d81f:: ; 98e83 (26:4e83) para "OK! Here you go!" prompt -_UnnamedText_1d824:: ; 98eb2 (26:4eb2) +_BikeShopText_1d824:: ; 98eb2 (26:4eb2) text $52, " exchanged" line "the BIKE VOUCHER" cont "for a BICYCLE.@@" -_UnnamedText_1d82a:: ; 98ee0 (26:4ee0) +_BikeShopText_1d82a:: ; 98ee0 (26:4ee0) text "Come back again" line "some time!" done -_UnnamedText_1d82f:: ; 98efc (26:4efc) +_BikeShopText_1d82f:: ; 98efc (26:4efc) text "How do you like" line "your new BICYCLE?" @@ -43,12 +43,12 @@ _UnnamedText_1d82f:: ; 98efc (26:4efc) cont "and in caves!" done -_UnnamedText_1d834:: ; 98f4d (26:4f4d) +_BikeShopText_1d834:: ; 98f4d (26:4f4d) text "You better make" line "room for this!" done -_UnnamedText_1d843:: ; 98f6d (26:4f6d) +_BikeShopText_1d843:: ; 98f6d (26:4f6d) text "A plain city BIKE" line "is good enough" cont "for me!" @@ -58,13 +58,13 @@ _UnnamedText_1d843:: ; 98f6d (26:4f6d) cont "on an MTB!" done -_UnnamedText_1d85c:: ; 98fc1 (26:4fc1) +_BikeShopText_1d85c:: ; 98fc1 (26:4fc1) text "These BIKEs are" line "cool, but they're" cont "way expensive!" done -_UnnamedText_1d861:: ; 98ff2 (26:4ff2) +_BikeShopText_1d861:: ; 98ff2 (26:4ff2) text "Wow. Your BIKE is" line "really cool!" done diff --git a/text/maps/bills_house.asm b/text/maps/bills_house.asm index 87a8d794..24062b5d 100644 --- a/text/maps/bills_house.asm +++ b/text/maps/bills_house.asm @@ -1,4 +1,4 @@ -_UnnamedText_1e865:: ; 8d267 (23:5267) +_BillsHouseText_1e865:: ; 8d267 (23:5267) text "Hiya! I'm a" line "#MON..." cont "...No I'm not!" @@ -19,7 +19,7 @@ _UnnamedText_1e865:: ; 8d267 (23:5267) line "Help me out here!" done -_UnnamedText_1e86a:: ; 8d345 (23:5345) +_BillsHouseText_1e86a:: ; 8d345 (23:5345) text "When I'm in the" line "TELEPORTER, go to" cont "my PC and run the" @@ -27,7 +27,7 @@ _UnnamedText_1e86a:: ; 8d345 (23:5345) cont "System!" done -_UnnamedText_1e86f:: ; 8d391 (23:5391) +_BillsHouseText_1e86f:: ; 8d391 (23:5391) text "No!? Come on, you" line "gotta help a guy" cont "in deep trouble!" @@ -64,7 +64,7 @@ _SSTicketNoRoomText:: ; 8d4b0 (23:54b0) line "much stuff, bud!" done -_UnnamedText_1e8cb:: ; 8d4d0 (23:54d0) +_BillsHouseText_1e8cb:: ; 8d4d0 (23:54d0) text "That cruise ship," line "S.S.ANNE, is in" cont "VERMILION CITY." @@ -79,7 +79,7 @@ _UnnamedText_1e8cb:: ; 8d4d0 (23:54d0) cont "instead of me?" done -_UnnamedText_1e8da:: ; 8d57f (23:557f) +_BillsHouseText_1e8da:: ; 8d57f (23:557f) text "BILL: Look, bud," line "just check out" cont "some of my rare" diff --git a/text/maps/celadon_dept_store_roof.asm b/text/maps/celadon_dept_store_roof.asm index 474f8550..3d83317f 100644 --- a/text/maps/celadon_dept_store_roof.asm +++ b/text/maps/celadon_dept_store_roof.asm @@ -1,9 +1,9 @@ -_UnnamedText_484ee:: ; 9cbb5 (27:4bb5) +_CeladonMartRoofText_484ee:: ; 9cbb5 (27:4bb5) text "Give her which" line "drink?" done -_UnnamedText_484f3:: ; 9cbcc (27:4bcc) +_CeladonMartRoofText_484f3:: ; 9cbcc (27:4bcc) text "Yay!" para "FRESH WATER!" @@ -13,13 +13,13 @@ _UnnamedText_484f3:: ; 9cbcc (27:4bcc) para "You can have this" line "from me!@@" -_UnnamedText_484f9:: ; 9cc06 (27:4c06) +_CeladonMartRoofText_484f9:: ; 9cc06 (27:4c06) text $52, " received" line "@" TX_RAM $cf4b text "!@@" -_UnnamedText_484fe:: ; 9cc1a (27:4c1a) +_CeladonMartRoofText_484fe:: ; 9cc1a (27:4c1a) db $0 para "@" TX_RAM $cf4b @@ -29,7 +29,7 @@ _UnnamedText_484fe:: ; 9cc1a (27:4c1a) para "It can freeze the" line "target sometimes!@@" -_UnnamedText_48504:: ; 9cc5a (27:4c5a) +_CeladonMartRoofText_48504:: ; 9cc5a (27:4c5a) text "Yay!" para "SODA POP!" @@ -39,13 +39,13 @@ _UnnamedText_48504:: ; 9cc5a (27:4c5a) para "You can have this" line "from me!@@" -_UnnamedText_4850a:: ; 9cc91 (27:4c91) +_CeladonMartRoofText_4850a:: ; 9cc91 (27:4c91) text $52, " received" line "@" TX_RAM $cf4b text "!@@" -_UnnamedText_4850f:: ; 9cca5 (27:4ca5) +_CeladonMartRoofText_4850f:: ; 9cca5 (27:4ca5) db $0 para "@" TX_RAM $cf4b @@ -55,7 +55,7 @@ _UnnamedText_4850f:: ; 9cca5 (27:4ca5) para "It can spook the" line "target sometimes!@@" -_UnnamedText_48515:: ; 9cce6 (27:4ce6) +_CeladonMartRoofText_48515:: ; 9cce6 (27:4ce6) text "Yay!" para "LEMONADE!" @@ -69,16 +69,16 @@ _ReceivedTM49Text:: ; 9cd1d (27:4d1d) text $52, " received" line "TM49!@@" -_UnnamedText_48520:: ; 9cd30 (27:4d30) +_CeladonMartRoofText_48520:: ; 9cd30 (27:4d30) db $0 para "TM49 contains" line "TRI ATTACK!@@" -_UnnamedText_48526:: ; 9cd4d (27:4d4d) +_CeladonMartRoofText_48526:: ; 9cd4d (27:4d4d) text "You don't have" line "space for this!@@" -_UnnamedText_4852c:: ; 9cd6d (27:4d6d) +_CeladonMartRoofText_4852c:: ; 9cd6d (27:4d6d) text "No thank you!" line "I'm not thirsty" cont "after all!@@" @@ -93,7 +93,7 @@ _CeladonMartRoofText1:: ; 9cd97 (27:4d97) cont "drives me nuts!" done -_UnnamedText_48598:: ; 9cdee (27:4dee) +_CeladonMartRoofText_48598:: ; 9cdee (27:4dee) text "I'm thirsty!" line "I want something" cont "to drink!" diff --git a/text/maps/celadon_diner.asm b/text/maps/celadon_diner.asm index d6536c49..ee27fadd 100644 --- a/text/maps/celadon_diner.asm +++ b/text/maps/celadon_diner.asm @@ -26,7 +26,7 @@ _CeladonDinerText4:: ; 9dfc9 (27:5fc9) cont "at the slots." done -_UnnamedText_491a7:: ; 9e003 (27:6003) +_CeladonDinerText_491a7:: ; 9e003 (27:6003) text "Go ahead! Laugh!" para "I'm flat out" @@ -52,7 +52,7 @@ _CoinCaseNoRoomText:: ; 9e090 (27:6090) line "this!" done -_UnnamedText_491b7:: ; 9e0a5 (27:60a5) +_CeladonDinerText_491b7:: ; 9e0a5 (27:60a5) text "I always thought" line "I was going to" cont "win it back..." diff --git a/text/maps/celadon_game_corner.asm b/text/maps/celadon_game_corner.asm index c842e964..c08a81b1 100644 --- a/text/maps/celadon_game_corner.asm +++ b/text/maps/celadon_game_corner.asm @@ -7,7 +7,7 @@ _CeladonGameCornerText1:: ; 9d8d5 (27:58d5) cont "next door." done -_UnnamedText_48d22:: ; 9d91a (27:591a) +_CeladonGameCornerText_48d22:: ; 9d91a (27:591a) text "Welcome to ROCKET" line "GAME CORNER!" @@ -19,27 +19,27 @@ _UnnamedText_48d22:: ; 9d91a (27:591a) cont "like some?" done -_UnnamedText_48d27:: ; 9d984 (27:5984) +_CeladonGameCornerText_48d27:: ; 9d984 (27:5984) text "Thanks! Here are" line "your 50 coins!" done -_UnnamedText_48d2c:: ; 9d9a5 (27:59a5) +_CeladonGameCornerText_48d2c:: ; 9d9a5 (27:59a5) text "No? Please come" line "play sometime!" done -_UnnamedText_48d31:: ; 9d9c5 (27:59c5) +_CeladonGameCornerText_48d31:: ; 9d9c5 (27:59c5) text "You can't afford" line "the coins!" done -_UnnamedText_48d36:: ; 9d9e1 (27:59e1) +_CeladonGameCornerText_48d36:: ; 9d9e1 (27:59e1) text "Oops! Your COIN" line "CASE is full." done -_UnnamedText_48d3b:: ; 9da00 (27:5a00) +_CeladonGameCornerText_48d3b:: ; 9da00 (27:5a00) text "You don't have a" line "COIN CASE!" done @@ -58,7 +58,7 @@ _CeladonGameCornerText4:: ; 9da61 (27:5a61) cont "different odds." done -_UnnamedText_48d9c:: ; 9da8e (27:5a8e) +_CeladonGameCornerText_48d9c:: ; 9da8e (27:5a8e) text "Kid, do you want" line "to play?" prompt @@ -67,12 +67,12 @@ _Received10CoinsText:: ; 9daa9 (27:5aa9) text $52, " received" line "10 coins!@@" -_UnnamedText_48da7:: ; 9dac0 (27:5ac0) +_CeladonGameCornerText_48da7:: ; 9dac0 (27:5ac0) text "You don't need my" line "coins!" done -_UnnamedText_48dac:: ; 9dad9 (27:5ad9) +_CeladonGameCornerText_48dac:: ; 9dad9 (27:5ad9) text "Wins seem to come" line "and go." done @@ -82,7 +82,7 @@ _CeladonGameCornerText6:: ; 9daf4 (27:5af4) line "wonderful time!" done -_UnnamedText_48dca:: ; 9db11 (27:5b11) +_CeladonGameCornerText_48dca:: ; 9db11 (27:5b11) text "Hey!" para "You have better" @@ -99,7 +99,7 @@ _UnnamedText_48dca:: ; 9db11 (27:5b11) cont "be fooled!" done -_UnnamedText_48dcf:: ; 9dbac (27:5bac) +_CeladonGameCornerText_48dcf:: ; 9dbac (27:5bac) text "They offer rare" line "#MON that can" cont "be exchanged for" @@ -115,7 +115,7 @@ _CeladonGameCornerText8:: ; 9dc06 (27:5c06) cont "get hooked!" done -_UnnamedText_48e26:: ; 9dc33 (27:5c33) +_CeladonGameCornerText_48e26:: ; 9dc33 (27:5c33) text "What's up? Want" line "some coins?" prompt @@ -124,63 +124,63 @@ _Received20CoinsText:: ; 9dc4f (27:5c4f) text $52, " received" line "20 coins!@@" -_UnnamedText_48e31:: ; 9dc66 (27:5c66) +_CeladonGameCornerText_48e31:: ; 9dc66 (27:5c66) text "You have lots of" line "coins!" done -_UnnamedText_48e36:: ; 9dc7f (27:5c7f) +_CeladonGameCornerText_48e36:: ; 9dc7f (27:5c7f) text "Darn! I need more" line "coins for the" cont "#MON I want!" done -_UnnamedText_48e88:: ; 9dcad (27:5cad) +_CeladonGameCornerText_48e88:: ; 9dcad (27:5cad) text "Hey, what? You're" line "throwing me off!" cont "Here are some" cont "coins, shoo!" prompt -_UnnamedText_48e8d:: ; 9dceb (27:5ceb) +_CeladonGameCornerText_48e8d:: ; 9dceb (27:5ceb) text $52, " received" line "20 coins!@@" -_UnnamedText_48e93:: ; 9dd02 (27:5d02) +_CeladonGameCornerText_48e93:: ; 9dd02 (27:5d02) text "You've got your" line "own coins!" done -_UnnamedText_48e98:: ; 9dd1d (27:5d1d) +_CeladonGameCornerText_48e98:: ; 9dd1d (27:5d1d) text "The trick is to" line "watch the reels" cont "closely!" done -_UnnamedText_48ece:: ; 9dd47 (27:5d47) +_CeladonGameCornerText_48ece:: ; 9dd47 (27:5d47) text "I'm guarding this" line "poster!" cont "Go away, or else!" done -_UnnamedText_48ed3:: ; 9dd73 (27:5d73) +_CeladonGameCornerText_48ed3:: ; 9dd73 (27:5d73) text "Dang!" prompt -_UnnamedText_48ed8:: ; 9dd7a (27:5d7a) +_CeladonGameCornerText_48ed8:: ; 9dd7a (27:5d7a) text "Our hideout might" line "be discovered! I" cont "better tell BOSS!" done -_UnnamedText_48f09:: ; 9ddb0 (27:5db0) +_CeladonGameCornerText_48f09:: ; 9ddb0 (27:5db0) text "Hey!" para "A switch behind" line "the poster!?" cont "Let's push it!@@" -_UnnamedText_48f19:: ; 9dde2 (27:5de2) +_CeladonGameCornerText_48f19:: ; 9dde2 (27:5de2) text "Oops! Forgot the" line "COIN CASE!" done diff --git a/text/maps/celadon_gym.asm b/text/maps/celadon_gym.asm index d607e376..e377365e 100644 --- a/text/maps/celadon_gym.asm +++ b/text/maps/celadon_gym.asm @@ -1,4 +1,4 @@ -_UnnamedText_48a5e:: ; 9d28f (27:528f) +_CeladonGymText_48a5e:: ; 9d28f (27:528f) text "Hello. Lovely" line "weather isn't it?" cont "It's so pleasant." @@ -25,7 +25,7 @@ _UnnamedText_48a5e:: ; 9d28f (27:528f) line "shall not lose." done -_UnnamedText_48a63:: ; 9d3c2 (27:53c2) +_CeladonGymText_48a63:: ; 9d3c2 (27:53c2) text "Oh!" line "I concede defeat." @@ -36,7 +36,7 @@ _UnnamedText_48a63:: ; 9d3c2 (27:53c2) line "the RAINBOWBADGE." prompt -_UnnamedText_48a68:: ; 9d418 (27:5418) +_CeladonGymText_48a68:: ; 9d418 (27:5418) text "You are cataloging" line "#MON? I must" cont "say I'm impressed." @@ -47,7 +47,7 @@ _UnnamedText_48a68:: ; 9d418 (27:5418) cont "unattractive." done -_UnnamedText_48a6d:: ; 9d481 (27:5481) +_CeladonGymText9:: ; 9d481 (27:5481) text "The RAINBOWBADGE" line "will make #MON" cont "up to L50 obey." diff --git a/text/maps/cerulean_badge_house.asm b/text/maps/cerulean_badge_house.asm index 2368cf1c..cc0be659 100644 --- a/text/maps/cerulean_badge_house.asm +++ b/text/maps/cerulean_badge_house.asm @@ -1,4 +1,4 @@ -_UnnamedText_74e77:: ; 990c9 (26:50c9) +_CeruleanHouse2Text_74e77:: ; 990c9 (26:50c9) text "#MON BADGEs" line "are owned only by" cont "skilled trainers." @@ -10,7 +10,7 @@ _UnnamedText_74e77:: ; 990c9 (26:50c9) line "amazing secrets!" prompt -_UnnamedText_74e7c:: ; 9913a (26:513a) +_CeruleanHouse2Text_74e7c:: ; 9913a (26:513a) text "Now then..." para "Which of the 8" @@ -18,12 +18,12 @@ _UnnamedText_74e7c:: ; 9913a (26:513a) cont "describe?" done -_UnnamedText_74e81:: ; 99170 (26:5170) +_CeruleanHouse2Text_74e81:: ; 99170 (26:5170) text "Come visit me any" line "time you wish." done -_UnnamedText_74e96:: ; 99192 (26:5192) +_CeruleanHouse2Text_74e96:: ; 99192 (26:5192) text "The ATTACK of all" line "#MON increases" cont "a little bit." @@ -33,7 +33,7 @@ _UnnamedText_74e96:: ; 99192 (26:5192) cont "time you desire." prompt -_UnnamedText_74e9b:: ; 991f2 (26:51f2) +_CeruleanHouse2Text_74e9b:: ; 991f2 (26:51f2) text "#MON up to L30" line "will obey you." @@ -45,7 +45,7 @@ _UnnamedText_74e9b:: ; 991f2 (26:51f2) cont "of battle." prompt -_UnnamedText_74ea0:: ; 9925d (26:525d) +_CeruleanHouse2Text_74ea0:: ; 9925d (26:525d) text "The SPEED of all" line "#MON increases" cont "a little bit." @@ -55,7 +55,7 @@ _UnnamedText_74ea0:: ; 9925d (26:525d) cont "of battle." prompt -_UnnamedText_74ea5:: ; 992b8 (26:52b8) +_CeruleanHouse2Text_74ea5:: ; 992b8 (26:52b8) text "#MON up to L50" line "will obey you." @@ -67,7 +67,7 @@ _UnnamedText_74ea5:: ; 992b8 (26:52b8) cont "side of battle." prompt -_UnnamedText_74eaa:: ; 9932a (26:532a) +_CeruleanHouse2Text_74eaa:: ; 9932a (26:532a) text "The DEFENSE of all" line "#MON increases" cont "a little bit." @@ -77,7 +77,7 @@ _UnnamedText_74eaa:: ; 9932a (26:532a) cont "of battle." prompt -_UnnamedText_74eaf:: ; 99388 (26:5388) +_CeruleanHouse2Text_74eaf:: ; 99388 (26:5388) text "#MON up to L70" line "will obey you." @@ -85,13 +85,13 @@ _UnnamedText_74eaf:: ; 99388 (26:5388) line "become unruly!" prompt -_UnnamedText_74eb4:: ; 993c7 (26:53c7) +_CeruleanHouse2Text_74eb4:: ; 993c7 (26:53c7) text "Your #MON's" line "SPECIAL abilities" cont "increase a bit." prompt -_UnnamedText_74eb9:: ; 993f5 (26:53f5) +_CeruleanHouse2Text_74eb9:: ; 993f5 (26:53f5) text "All #MON will" line "obey you!" prompt diff --git a/text/maps/cerulean_city.asm b/text/maps/cerulean_city.asm index 5f9e2d7d..1daf3166 100644 --- a/text/maps/cerulean_city.asm +++ b/text/maps/cerulean_city.asm @@ -1,4 +1,4 @@ -_UnnamedText_19668:: ; a4d2b (29:4d2b) +_CeruleanCityText_19668:: ; a4d2b (29:4d2b) text $53, ": Yo!" line $52, "!" @@ -16,19 +16,19 @@ _UnnamedText_19668:: ; a4d2b (29:4d2b) cont $52, "!" done -_UnnamedText_1966d:: ; a4dbe (29:4dbe) +_CeruleanCityText_1966d:: ; a4dbe (29:4dbe) text "Hey!" line "Take it easy!" cont "You won already!" prompt -_UnnamedText_19672:: ; a4de3 (29:4de3) +_CeruleanCityText_19672:: ; a4de3 (29:4de3) text "Heh!" line "You're no match" cont "for my genius!" prompt -_UnnamedText_19677:: ; a4e07 (29:4e07) +_CeruleanCityText_19677:: ; a4e07 (29:4e07) text $53, ": Hey," line "guess what?" @@ -58,7 +58,7 @@ _UnnamedText_19677:: ; a4e07 (29:4e07) cont "Smell ya later!" done -_UnnamedText_196d9:: ; a4f27 (29:4f27) +_CeruleanCityText_196d9:: ; a4f27 (29:4f27) text "Hey! Stay out!" line "It's not your" cont "yard! Huh? Me?" @@ -85,13 +85,13 @@ _TM28NoRoomText:: ; a4fb3 (29:4fb3) line "I give it to you!" done -_UnnamedText_196ee:: ; a4feb (29:4feb) +_CeruleanCityText_196ee:: ; a4feb (29:4feb) text "Stop!" line "I give up! I'll" cont "leave quietly!" prompt -_UnnamedText_196f3:: ; a5010 (29:5010) +_CeruleanCityText_196f3:: ; a5010 (29:5010) text "OK! I'll return" line "the TM I stole!" prompt @@ -133,20 +133,20 @@ _CeruleanCityText6:: ; a50f6 (29:50f6) cont "with the ROCKETs!" done -_UnnamedText_19730:: ; a5188 (29:5188) +_CeruleanCityText_19730:: ; a5188 (29:5188) text "OK! SLOWBRO!" line "Use SONICBOOM!" cont "Come on, SLOWBRO" cont "pay attention!" done -_UnnamedText_19735:: ; a51c5 (29:51c5) +_CeruleanCityText_19735:: ; a51c5 (29:51c5) text "SLOWBRO punch!" line "No! You blew it" cont "again!" done -_UnnamedText_1973a:: ; a51ec (29:51ec) +_CeruleanCityText_1973a:: ; a51ec (29:51ec) text "SLOWBRO, WITHDRAW!" line "No! That's wrong!" @@ -159,22 +159,22 @@ _UnnamedText_1973a:: ; a51ec (29:51ec) cont "as a trainer!" done -_UnnamedText_1976f:: ; a526b (29:526b) +_CeruleanCityText_1976f:: ; a526b (29:526b) text "SLOWBRO took a" line "snooze..." done -_UnnamedText_19774:: ; a5285 (29:5285) +_CeruleanCityText_19774:: ; a5285 (29:5285) text "SLOWBRO is" line "loafing around..." done -_UnnamedText_19779:: ; a52a3 (29:52a3) +_CeruleanCityText_19779:: ; a52a3 (29:52a3) text "SLOWBRO turned" line "away..." done -_UnnamedText_1977e:: ; a52bb (29:52bb) +_CeruleanCityText_1977e:: ; a52bb (29:52bb) text "SLOWBRO" line "ignored orders..." done diff --git a/text/maps/cerulean_gym.asm b/text/maps/cerulean_gym.asm index 59ff424c..b0d2d3d1 100644 --- a/text/maps/cerulean_gym.asm +++ b/text/maps/cerulean_gym.asm @@ -1,4 +1,4 @@ -_UnnamedText_5c7be:: ; 989c1 (26:49c1) +_CeruleanGymText_5c7be:: ; 989c1 (26:49c1) text "Hi, you're a new" line "face!" @@ -17,7 +17,7 @@ _UnnamedText_5c7be:: ; 989c1 (26:49c1) cont "#MON!" done -_UnnamedText_5c7c3:: ; 98a7b (26:4a7b) +_CeruleanGymText_5c7c3:: ; 98a7b (26:4a7b) text "TM11 teaches" line "BUBBLEBEAM!" @@ -25,7 +25,7 @@ _UnnamedText_5c7c3:: ; 98a7b (26:4a7b) line "aquatic #MON!" done -_UnnamedText_5c7c8:: ; 98ab0 (26:4ab0) +_CeruleanGymText_5c7c8:: ; 98ab0 (26:4ab0) text "The CASCADEBADGE" line "makes all #MON" cont "up to L30 obey!" @@ -49,12 +49,12 @@ _ReceivedTM11Text:: ; 98b7d (26:4b7d) text $52, " received" line "TM11!@@" -_UnnamedText_5c7d3:: ; 98b90 (26:4b90) +_CeruleanGymText_5c7d3:: ; 98b90 (26:4b90) text "You better make" line "room for this!" done -_UnnamedText_5c7d8:: ; 98bb0 (26:4bb0) +_CeruleanGymText_5c7d8:: ; 98bb0 (26:4bb0) text "Wow!" line "You're too much!" @@ -103,7 +103,7 @@ _CeruleanGymAfterBattleText2:: ; 98cc4 (26:4cc4) line "someone like you!" done -_UnnamedText_5c82a:: ; 98d0a (26:4d0a) +_CeruleanGymText_5c82a:: ; 98d0a (26:4d0a) text "Yo! Champ in" line "making!" @@ -121,7 +121,7 @@ _UnnamedText_5c82a:: ; 98d0a (26:4d0a) line "electricity!" done -_UnnamedText_5c82f:: ; 98db0 (26:4db0) +_CeruleanGymText_5c82f:: ; 98db0 (26:4db0) text "You beat MISTY!" line "What'd I tell ya?" diff --git a/text/maps/cerulean_trashed_house.asm b/text/maps/cerulean_trashed_house.asm index b8334bc4..83f87cb8 100644 --- a/text/maps/cerulean_trashed_house.asm +++ b/text/maps/cerulean_trashed_house.asm @@ -1,4 +1,4 @@ -_UnnamedText_1d6ab:: ; 9875c (26:475c) +_CeruleanTrashedText_1d6ab:: ; 9875c (26:475c) text "Those miserable" line "ROCKETs!" @@ -14,7 +14,7 @@ _UnnamedText_1d6ab:: ; 9875c (26:475c) line "bundle, it did!" done -_UnnamedText_1d6b0:: ; 987e2 (26:47e2) +_CeruleanTrashedText_1d6b0:: ; 987e2 (26:47e2) text "I figure what's" line "lost is lost!" diff --git a/text/maps/champion.asm b/text/maps/champion.asm index 87b93300..259d530b 100644 --- a/text/maps/champion.asm +++ b/text/maps/champion.asm @@ -1,4 +1,4 @@ -_UnnamedText_760f4:: ; 860e1 (21:60e1) +_GaryText_760f4:: ; 860e1 (21:60e1) text $53, ": Hey!" para "I was looking" @@ -35,7 +35,7 @@ _UnnamedText_760f4:: ; 860e1 (21:60e1) cont "in the world!" done -_UnnamedText_760f9:: ; 8623b (21:623b) +_GaryText_760f9:: ; 8623b (21:623b) text "NO!" line "That can't be!" cont "You beat my best!" @@ -49,7 +49,7 @@ _UnnamedText_760f9:: ; 8623b (21:623b) cont "It's not fair!" prompt -_UnnamedText_760fe:: ; 862b4 (21:62b4) +_GaryText_760fe:: ; 862b4 (21:62b4) text "Hahaha!" line "I won, I won!" @@ -65,7 +65,7 @@ _UnnamedText_760fe:: ; 862b4 (21:62b4) line "Hahaha!" prompt -_UnnamedText_76103:: ; 8632f (21:632f) +_GaryText_76103:: ; 8632f (21:632f) text "Why?" line "Why did I lose?" @@ -85,7 +85,7 @@ _GaryText2:: ; 863c1 (21:63c1) text "OAK: ", $52, "!" done -_UnnamedText_76120:: ; 863ca (21:63ca) +_GaryText_76120:: ; 863ca (21:63ca) text "OAK: So, you won!" line "Congratulations!" cont "You're the new" @@ -103,7 +103,7 @@ _UnnamedText_76120:: ; 863ca (21:63ca) line "come of age!" done -_UnnamedText_76125:: ; 86463 (21:6463) +_GaryText_76125:: ; 86463 (21:6463) text "OAK: ", $53, "! I'm" line "disappointed!" @@ -129,7 +129,7 @@ _UnnamedText_76125:: ; 86463 (21:6463) cont "a champ again!" done -_UnnamedText_7612a:: ; 86567 (21:6567) +_GaryText_7612a:: ; 86567 (21:6567) text "OAK: ", $52, "!" para "You understand" diff --git a/text/maps/cinnabar_gym.asm b/text/maps/cinnabar_gym.asm index adf6f535..4d8f796e 100644 --- a/text/maps/cinnabar_gym.asm +++ b/text/maps/cinnabar_gym.asm @@ -65,18 +65,18 @@ _TM38NoRoomText:: ; a0a1e (28:4a1e) line "gift!" done -_UnnamedText_7595f:: ; a0a36 (28:4a36) +_CinnabarGymText_7595f:: ; a0a36 (28:4a36) text "Do you know how" line "hot #MON fire" cont "breath can get?" done -_UnnamedText_75964:: ; a0a65 (28:4a65) +_CinnabarGymText_75964:: ; a0a65 (28:4a65) text "Yow!" line "Hot, hot, hot!" prompt -_UnnamedText_75969:: ; a0a7a (28:4a7a) +_CinnabarGymText_75969:: ; a0a7a (28:4a7a) text "Fire, or to be" line "more precise," cont "combustion..." @@ -85,66 +85,66 @@ _UnnamedText_75969:: ; a0a7a (28:4a7a) line "blah..." done -_UnnamedText_75994:: ; a0ac0 (28:4ac0) +_CinnabarGymText_75994:: ; a0ac0 (28:4ac0) text "I was a thief, but" line "I became straight" cont "as a trainer!" done -_UnnamedText_75999:: ; a0af4 (28:4af4) +_CinnabarGymText_75999:: ; a0af4 (28:4af4) text "I" line "surrender!" prompt -_UnnamedText_7599e:: ; a0b02 (28:4b02) +_CinnabarGymText_7599e:: ; a0b02 (28:4b02) text "I can't help" line "stealing other" cont "people's #MON!" done -_UnnamedText_759c9:: ; a0b2c (28:4b2c) +_CinnabarGymText_759c9:: ; a0b2c (28:4b2c) text "You can't win!" line "I have studied" cont "#MON totally!" done -_UnnamedText_759ce:: ; a0b58 (28:4b58) +_CinnabarGymText_759ce:: ; a0b58 (28:4b58) text "Waah!" line "My studies!" prompt -_UnnamedText_759d3:: ; a0b6b (28:4b6b) +_CinnabarGymText_759d3:: ; a0b6b (28:4b6b) text "My theories are" line "too complicated" cont "for you!" done -_UnnamedText_759fe:: ; a0b95 (28:4b95) +_CinnabarGymText_759fe:: ; a0b95 (28:4b95) text "I just like using" line "fire #MON!" done -_UnnamedText_75a03:: ; a0bb3 (28:4bb3) +_CinnabarGymText_75a03:: ; a0bb3 (28:4bb3) text "Too hot" line "to handle!" prompt -_UnnamedText_75a08:: ; a0bc7 (28:4bc7) +_CinnabarGymText_75a08:: ; a0bc7 (28:4bc7) text "I wish there was" line "a thief #MON!" cont "I'd use that!" done -_UnnamedText_75a33:: ; a0bf4 (28:4bf4) +_CinnabarGymText_75a33:: ; a0bf4 (28:4bf4) text "I know why BLAINE" line "became a trainer!" done -_UnnamedText_75a38:: ; a0c19 (28:4c19) +_CinnabarGymText_75a38:: ; a0c19 (28:4c19) text "Ow!" prompt -_UnnamedText_75a3d:: ; a0c1e (28:4c1e) +_CinnabarGymText_75a3d:: ; a0c1e (28:4c1e) text "BLAINE was lost" line "in the mountains" cont "when a fiery bird" @@ -155,40 +155,40 @@ _UnnamedText_75a3d:: ; a0c1e (28:4c1e) cont "his way down!" done -_UnnamedText_75a68:: ; a0c90 (28:4c90) +_CinnabarGymText_75a68:: ; a0c90 (28:4c90) text "I've been to many" line "GYMs, but this is" cont "my favorite!" done -_UnnamedText_75a6d:: ; a0cc1 (28:4cc1) +_CinnabarGymText_75a6d:: ; a0cc1 (28:4cc1) text "Yowza!" line "Too hot!" prompt -_UnnamedText_75a72:: ; a0cd2 (28:4cd2) +_CinnabarGymText_75a72:: ; a0cd2 (28:4cd2) text "Us fire #MON" line "fans like PONYTA" cont "and NINETALES!" done -_UnnamedText_75a9d:: ; a0d00 (28:4d00) +_CinnabarGymText_75a9d:: ; a0d00 (28:4d00) text "Fire is weak" line "against H2O!" done -_UnnamedText_75aa2:: ; a0d1b (28:4d1b) +_CinnabarGymText_75aa2:: ; a0d1b (28:4d1b) text "Oh!" line "Snuffed out!" prompt -_UnnamedText_75aa7:: ; a0d2d (28:4d2d) +_CinnabarGymText_75aa7:: ; a0d2d (28:4d2d) text "Water beats fire!" line "But, fire melts" cont "ice #MON!" done -_UnnamedText_75ac2:: ; a0d5a (28:4d5a) +_CinnabarGymText_75ac2:: ; a0d5a (28:4d5a) text "Yo! Champ in" line "making!" @@ -203,7 +203,7 @@ _UnnamedText_75ac2:: ; a0d5a (28:4d5a) line "some BURN HEALs!" done -_UnnamedText_75ac7:: ; a0dd9 (28:4dd9) +_CinnabarGymText_75ac7:: ; a0dd9 (28:4dd9) text $52, "! You beat" line "that fire brand!" done diff --git a/text/maps/cinnabar_lab_fossil_room.asm b/text/maps/cinnabar_lab_fossil_room.asm index 63d56bad..3e544bd6 100644 --- a/text/maps/cinnabar_lab_fossil_room.asm +++ b/text/maps/cinnabar_lab_fossil_room.asm @@ -1,4 +1,4 @@ -_UnnamedText_75dc6:: ; a10e8 (28:50e8) +_Lab4Text_75dc6:: ; a10e8 (28:50e8) text "Hiya!" para "I am important" @@ -11,11 +11,11 @@ _UnnamedText_75dc6:: ; a10e8 (28:50e8) line "fossil for me?" prompt -_UnnamedText_75dcb:: ; a1145 (28:5145) +_Lab4Text_75dcb:: ; a1145 (28:5145) text "No! Is too bad!" done -_UnnamedText_75dd0:: ; a1156 (28:5156) +_Lab4Text_75dd0:: ; a1156 (28:5156) text "I take a little" line "time!" @@ -23,7 +23,7 @@ _UnnamedText_75dd0:: ; a1156 (28:5156) line "little while!" done -_UnnamedText_75dd5:: ; a118d (28:518d) +_Lab4Text_75dd5:: ; a118d (28:518d) text "Where were you?" para "Your fossil is" @@ -35,7 +35,7 @@ _UnnamedText_75dd5:: ; a118d (28:518d) line "like I think!" prompt -_UnnamedText_610ae:: ; a11d6 (28:51d6) +_Lab4Text_610ae:: ; a11d6 (28:51d6) text "Oh! That is" line "@" TX_RAM $cd6d @@ -54,7 +54,7 @@ _UnnamedText_610ae:: ; a11d6 (28:51d6) cont "again!" done -_UnnamedText_610b3:: ; a1259 (28:5259) +_Lab4Text_610b3:: ; a1259 (28:5259) text "So! You hurry and" line "give me that!" @@ -64,7 +64,7 @@ _UnnamedText_610b3:: ; a1259 (28:5259) text "!" prompt -_UnnamedText_610b8:: ; a128f (28:528f) +_Lab4Text_610b8:: ; a128f (28:528f) text "I take a little" line "time!" @@ -72,7 +72,7 @@ _UnnamedText_610b8:: ; a128f (28:528f) line "little while!" done -_UnnamedText_610bd:: ; a12c6 (28:52c6) +_Lab4Text_610bd:: ; a12c6 (28:52c6) text "Aiyah! You come" line "again!" done diff --git a/text/maps/copycats_house_2f.asm b/text/maps/copycats_house_2f.asm index c818f034..502f7611 100644 --- a/text/maps/copycats_house_2f.asm +++ b/text/maps/copycats_house_2f.asm @@ -1,4 +1,4 @@ -_UnnamedText_5ccd4:: ; a15ad (28:55ad) +_CopycatsHouse2FText_5ccd4:: ; a15ad (28:55ad) text $52, ": Hi! Do" line "you like #MON?" @@ -79,7 +79,7 @@ _CopycatsHouse2FText6:: ; a17be (28:57be) cont "on his head!" done -_UnnamedText_5cd17:: ; a17ef (28:57ef) +_CopycatsHouse2FText_5cd17:: ; a17ef (28:57ef) text "..." para "My Secrets!" @@ -91,7 +91,7 @@ _UnnamedText_5cd17:: ; a17ef (28:57ef) cont "CLEFAIRY!" done -_UnnamedText_5cd1c:: ; a1842 (28:5842) +_CopycatsHouse2FText_5cd1c:: ; a1842 (28:5842) text "Huh? Can't see!" done diff --git a/text/maps/daycare_1.asm b/text/maps/daycare_1.asm index 6a0c08fe..1743cbc3 100644 --- a/text/maps/daycare_1.asm +++ b/text/maps/daycare_1.asm @@ -1,16 +1,16 @@ -_UnnamedText_5640f:: ; 8ab95 (22:6b95) +_DayCareMText_5640f:: ; 8ab95 (22:6b95) text "I run a DAYCARE." line "Would you like me" cont "to raise one of" cont "your #MON?" done -_UnnamedText_56414:: ; 8abd4 (22:6bd4) +_DayCareMText_56414:: ; 8abd4 (22:6bd4) text "Which #MON" line "should I raise?" prompt -_UnnamedText_56419:: ; 8abf0 (22:6bf0) +_DayCareMText_56419:: ; 8abf0 (22:6bf0) text "Fine, I'll look" line "after @" TX_RAM $cd6d @@ -18,12 +18,12 @@ _UnnamedText_56419:: ; 8abf0 (22:6bf0) cont "for a while." prompt -_UnnamedText_5641e:: ; 8ac19 (22:6c19) +_DayCareMText_5641e:: ; 8ac19 (22:6c19) text "Come see me in" line "a while." done -_UnnamedText_56423:: ; 8ac32 (22:6c32) +_DayCareMText_56423:: ; 8ac32 (22:6c32) text "Your @" TX_RAM $cd6d db $0 @@ -32,14 +32,14 @@ _UnnamedText_56423:: ; 8ac32 (22:6c32) para "By level, it's" line "grown by @" -UnnamedText_8ac67:: ; 8ac67 (22:6c67) +DayCareMText_8ac67:: ; 8ac67 (22:6c67) TX_NUM $cd3e,$1,$3 text "!" para "Aren't I great?" prompt -_UnnamedText_56428:: ; 8ac7d (22:6c7d) +_DayCareMText_56428:: ; 8ac7d (22:6c7d) text "You owe me ¥@" db $2, $3f, $cd, $c2 db $0 @@ -47,14 +47,14 @@ _UnnamedText_56428:: ; 8ac7d (22:6c7d) cont "of this #MON." done -_UnnamedText_5642d:: ; 8acae (22:6cae) +_DayCareMText_5642d:: ; 8acae (22:6cae) text $52, " got" line "@" TX_RAM W_DAYCAREMONNAME text " back!" done -_UnnamedText_56432:: ; 8acc1 (22:6cc1) +_DayCareMText_56432:: ; 8acc1 (22:6cc1) text "Back already?" line "Your @" TX_RAM $cd6d diff --git a/text/maps/daycare_2.asm b/text/maps/daycare_2.asm index 2ee13180..ac9720ba 100644 --- a/text/maps/daycare_2.asm +++ b/text/maps/daycare_2.asm @@ -1,33 +1,33 @@ -_UnnamedText_56437:: ; 8c000 (23:4000) +_DayCareMText_56437:: ; 8c000 (23:4000) text "All right then," line "@@" -_UnnamedText_5643b:: ; 8c013 (23:4013) +_DayCareMText_5643b:: ; 8c013 (23:4013) text "come again." done -_UnnamedText_56440:: ; 8c020 (23:4020) +_DayCareMText_56440:: ; 8c020 (23:4020) text "You have no room" line "for this #MON!" done -_UnnamedText_56445:: ; 8c041 (23:4041) +_DayCareMText_56445:: ; 8c041 (23:4041) text "You only have one" line "#MON with you." done -_UnnamedText_5644a:: ; 8c063 (23:4063) +_DayCareMText_5644a:: ; 8c063 (23:4063) text "I can't accept a" line "#MON that" cont "knows an HM move." done -_UnnamedText_5644f:: ; 8c090 (23:4090) +_DayCareMText_5644f:: ; 8c090 (23:4090) text "Thank you! Here's" line "your #MON!" prompt -_UnnamedText_56454:: ; 8c0ad (23:40ad) +_DayCareMText_56454:: ; 8c0ad (23:40ad) text "Hey, you don't" line "have enough ¥!" done diff --git a/text/maps/fighting_dojo.asm b/text/maps/fighting_dojo.asm index 802f7276..6f01e5fa 100644 --- a/text/maps/fighting_dojo.asm +++ b/text/maps/fighting_dojo.asm @@ -1,4 +1,4 @@ -_UnnamedText_5ce8e:: ; a1852 (28:5852) +_FightingDojoText_5ce8e:: ; a1852 (28:5852) text "Grunt!" para "I am the KARATE" @@ -12,12 +12,12 @@ _UnnamedText_5ce8e:: ; a1852 (28:5852) para "Fwaaa!" done -_UnnamedText_5ce93:: ; a18ba (28:58ba) +_FightingDojoText_5ce93:: ; a18ba (28:58ba) text "Hwa!" line "Arrgh! Beaten!" prompt -_UnnamedText_5ce98:: ; a18cf (28:58cf) +_FightingDojoText_5ce98:: ; a18cf (28:58cf) text "Indeed, I have" line "lost!" @@ -34,7 +34,7 @@ _UnnamedText_5ce98:: ; a18cf (28:58cf) line "one you like!" done -_UnnamedText_5ce9d:: ; a1972 (28:5972) +_FightingDojoText_5ce9d:: ; a1972 (28:5972) text "Ho!" para "Stay and train at" diff --git a/text/maps/fuchsia_city.asm b/text/maps/fuchsia_city.asm index 07909c04..aa35c16d 100644 --- a/text/maps/fuchsia_city.asm +++ b/text/maps/fuchsia_city.asm @@ -114,7 +114,7 @@ _FuchsiaCityKabutoText:: ; a6191 (29:6191) cont "from a fossil." prompt -_UnnamedText_19b2a:: ; a61ca (29:61ca) +_FuchsiaCityText_19b2a:: ; a61ca (29:61ca) text "..." done diff --git a/text/maps/fuchsia_fishing_house.asm b/text/maps/fuchsia_fishing_house.asm index abe94780..5ad09ef0 100644 --- a/text/maps/fuchsia_fishing_house.asm +++ b/text/maps/fuchsia_fishing_house.asm @@ -1,4 +1,4 @@ -_UnnamedText_561bd:: ; a0695 (28:4695) +_FuchsiaHouse3Text_561bd:: ; a0695 (28:4695) text "I'm the FISHING" line "GURU's older" cont "brother!" @@ -10,7 +10,7 @@ _UnnamedText_561bd:: ; a0695 (28:4695) line "fish?" done -_UnnamedText_561c2:: ; a06e8 (28:46e8) +_FuchsiaHouse3Text_561c2:: ; a06e8 (28:46e8) text "Grand! I like" line "your style!" @@ -22,12 +22,12 @@ _UnnamedText_561c2:: ; a06e8 (28:46e8) TX_RAM $cf4b text "!@@" -_UnnamedText_56212:: ; a0737 (28:4737) +_FuchsiaHouse3Text_56212:: ; a0737 (28:4737) text "Oh... That's so" line "disappointing..." done -_UnnamedText_56217:: ; a0758 (28:4758) +_FuchsiaHouse3Text_56217:: ; a0758 (28:4758) text "Hello there," line $52, "!" @@ -35,7 +35,7 @@ _UnnamedText_56217:: ; a0758 (28:4758) line "biting?" done -_UnnamedText_5621c:: ; a0782 (28:4782) +_FuchsiaHouse3Text_5621c:: ; a0782 (28:4782) text "Oh no!" para "You have no room" diff --git a/text/maps/fujis_house.asm b/text/maps/fujis_house.asm index 44d8c601..033777c2 100644 --- a/text/maps/fujis_house.asm +++ b/text/maps/fujis_house.asm @@ -1,16 +1,16 @@ -_UnnamedText_1d8d1:: ; 99e8d (26:5e8d) +_LavenderHouse1Text_1d8d1:: ; 99e8d (26:5e8d) text "That's odd, MR.FUJI" line "isn't here." cont "Where'd he go?" done -_UnnamedText_1d8d6:: ; 99eba (26:5eba) +_LavenderHouse1Text_1d8d6:: ; 99eba (26:5eba) text "MR.FUJI had been" line "praying alone for" cont "CUBONE's mother." done -_UnnamedText_1d8f4:: ; 99eee (26:5eee) +_LavenderHouse1Text_1d8f4:: ; 99eee (26:5eee) text "This is really" line "MR.FUJI's house." @@ -21,7 +21,7 @@ _UnnamedText_1d8f4:: ; 99eee (26:5eee) cont "orphaned #MON!" done -_UnnamedText_1d8f9:: ; 99f4b (26:5f4b) +_LavenderHouse1Text_1d8f9:: ; 99f4b (26:5f4b) text "It's so warm!" line "#MON are so" cont "nice to hug!" @@ -33,7 +33,7 @@ _LavenderHouse1Text3:: ; 99f72 (26:5f72) _LavenderHouse1Text4:: ; 99f85 (26:5f85) text "NIDORINO: Gaoo!@@" -_UnnamedText_1d94c:: ; 99f97 (26:5f97) +_LavenderHouse1Text_1d94c:: ; 99f97 (26:5f97) text "MR.FUJI: ", $52, "." para "Your #DEX quest" diff --git a/text/maps/lavender_house.asm b/text/maps/lavender_house.asm index 444e600a..0ae3a1fe 100644 --- a/text/maps/lavender_house.asm +++ b/text/maps/lavender_house.asm @@ -1,7 +1,7 @@ _LavenderHouse2Text1:: ; 9a238 (26:6238) text "CUBONE: Kyarugoo!@@" -_UnnamedText_1d9dc:: ; 9a24c (26:624c) +_LavenderHouse2Text_1d9dc:: ; 9a24c (26:624c) text "I hate those" line "horrible ROCKETs!" @@ -13,7 +13,7 @@ _UnnamedText_1d9dc:: ; 9a24c (26:624c) cont "from TEAM ROCKET!" done -_UnnamedText_1d9e1:: ; 9a2b9 (26:62b9) +_LavenderHouse2Text_1d9e1:: ; 9a2b9 (26:62b9) text "The GHOST of" line "#MON TOWER is" cont "gone!" diff --git a/text/maps/lavender_mart.asm b/text/maps/lavender_mart.asm index 2438ab22..53ebdae3 100644 --- a/text/maps/lavender_mart.asm +++ b/text/maps/lavender_mart.asm @@ -14,13 +14,13 @@ _LavenderMartText2:: ; 9a104 (26:6104) line "I can get them?" done -_UnnamedText_5c953:: ; 9a1b4 (26:61b4) +_LavenderMart_5c953:: ; 9a1b4 (26:61b4) text "You know REVIVE?" line "It revives any" cont "fainted #MON!" done -_UnnamedText_5c958:: ; 9a1e3 (26:61e3) +_LavenderMart_5c958:: ; 9a1e3 (26:61e3) text "I found a NUGGET" line "in the mountains." diff --git a/text/maps/lavender_town.asm b/text/maps/lavender_town.asm index a12bde55..f6485c6f 100644 --- a/text/maps/lavender_town.asm +++ b/text/maps/lavender_town.asm @@ -1,14 +1,14 @@ -_UnnamedText_4413c:: ; a5482 (29:5482) +_LavenderTownText_4413c:: ; a5482 (29:5482) text "Do you believe in" line "GHOSTs?" done -_UnnamedText_44141:: ; a549d (29:549d) +_LavenderTownText_44141:: ; a549d (29:549d) text "Really? So there" line "are believers..." done -_UnnamedText_44146:: ; a54c0 (29:54c0) +_LavenderTownText_44146:: ; a54c0 (29:54c0) text "Hahaha, I guess" line "not." diff --git a/text/maps/lorelei.asm b/text/maps/lorelei.asm index cb007464..a75b50d9 100644 --- a/text/maps/lorelei.asm +++ b/text/maps/lorelei.asm @@ -36,7 +36,7 @@ _LoreleiAfterBattleText:: ; 866d3 (21:66d3) cont "LEAGUE power!" done -_UnnamedText_7627b:: ; 86729 (21:6729) +_LoreleiText2:: ; 86729 (21:6729) text "Someone's voice:" line "Don't run away!" done diff --git a/text/maps/mansion_2f.asm b/text/maps/mansion_2f.asm index 49e28a19..057e05e2 100644 --- a/text/maps/mansion_2f.asm +++ b/text/maps/mansion_2f.asm @@ -32,17 +32,17 @@ _Mansion2Text4:: ; 85389 (21:5389) cont "#MON, MEW." done -_UnnamedText_520c2:: ; 853c7 (21:53c7) +_Mansion2Text_520c2:: ; 853c7 (21:53c7) text "A secret switch!" para "Press it?" done -_UnnamedText_520c7:: ; 853e3 (21:53e3) +_Mansion2Text_520c7:: ; 853e3 (21:53e3) text "Who wouldn't?" prompt -_UnnamedText_520cc:: ; 853f1 (21:53f1) +_Mansion2Text_520cc:: ; 853f1 (21:53f1) text "Not quite yet!" done diff --git a/text/maps/mt_moon_b1f.asm b/text/maps/mt_moon_b1f.asm index d6d7dd7f..8421fdb0 100644 --- a/text/maps/mt_moon_b1f.asm +++ b/text/maps/mt_moon_b1f.asm @@ -1,4 +1,4 @@ -_UnnamedText_51a48:: ; 8095c (20:495c) +_MtMoonText1:: ; 8095c (20:495c) db $0 done diff --git a/text/maps/mt_moon_b2f.asm b/text/maps/mt_moon_b2f.asm index 6af39872..4088e280 100644 --- a/text/maps/mt_moon_b2f.asm +++ b/text/maps/mt_moon_b2f.asm @@ -1,24 +1,24 @@ -_UnnamedText_49f24:: ; 8095e (20:495e) +_MtMoon3Text_49f24:: ; 8095e (20:495e) text "You want the" line "DOME FOSSIL?" done -_UnnamedText_49f64:: ; 80979 (20:4979) +_MtMoon3Text_49f64:: ; 80979 (20:4979) text "You want the" line "HELIX FOSSIL?" done -_UnnamedText_49f6f:: ; 80995 (20:4995) +_MtMoon3Text_49f6f:: ; 80995 (20:4995) text $52, " got the" line "@" TX_RAM $cf4b text "!@@" -_UnnamedText_49f7f:: ; 809a8 (20:49a8) +_MtMoon3Text_49f7f:: ; 809a8 (20:49a8) text "Look, you've got" line "no room for this.@@" -_UnnamedText_49f85:: ; 809cc (20:49cc) +_MtMoon3Text_49f85:: ; 809cc (20:49cc) text "Hey, stop!" para "I found these" @@ -26,18 +26,18 @@ _UnnamedText_49f85:: ; 809cc (20:49cc) cont "both mine!" done -_UnnamedText_49f8a:: ; 80a01 (20:4a01) +_MtMoon3Text_49f8a:: ; 80a01 (20:4a01) text "OK!" line "I'll share!" prompt -_UnnamedText_49f8f:: ; 80a11 (20:4a11) +_MtMoon3Text_49f8f:: ; 80a11 (20:4a11) text "We'll each take" line "one!" cont "No being greedy!" done -_UnnamedText_49f94:: ; 80a37 (20:4a37) +_MtMoon3Text_49f94:: ; 80a37 (20:4a37) text "Far away, on" line "CINNABAR ISLAND," cont "there's a #MON" @@ -48,7 +48,7 @@ _UnnamedText_49f94:: ; 80a37 (20:4a37) cont "fossils." done -_UnnamedText_49f99:: ; 80a93 (20:4a93) +_MtMoon3Text_49f99:: ; 80a93 (20:4a93) text "All right. Then" line "this is mine!@@" diff --git a/text/maps/mt_moon_pokecenter.asm b/text/maps/mt_moon_pokecenter.asm index 54186253..2ae50a13 100644 --- a/text/maps/mt_moon_pokecenter.asm +++ b/text/maps/mt_moon_pokecenter.asm @@ -16,7 +16,7 @@ _MtMoonPokecenterText3:: ; 8a929 (22:6929) cont "news!" done -_UnnamedText_4935c:: ; 8a976 (22:6976) +_MtMoonPokecenterText_4935c:: ; 8a976 (22:6976) text "MAN: Hello, there!" line "Have I got a deal" cont "just for you!" @@ -27,18 +27,18 @@ _UnnamedText_4935c:: ; 8a976 (22:6976) cont "What do you say?" done -_UnnamedText_49361:: ; 8a9ec (22:69ec) +_MtMoonPokecenterText_49361:: ; 8a9ec (22:69ec) text "No? I'm only" line "doing this as a" cont "favor to you!" done -_UnnamedText_49366:: ; 8aa17 (22:6a17) +_MtMoonPokecenterText_49366:: ; 8aa17 (22:6a17) text "You'll need more" line "money than that!" done -_UnnamedText_4936b:: ; 8aa39 (22:6a39) +_MtMoonPokecenterText_4936b:: ; 8aa39 (22:6a39) text "MAN: Well, I don't" line "give refunds!" done diff --git a/text/maps/museum_1f.asm b/text/maps/museum_1f.asm index 250dd031..f5f847d3 100644 --- a/text/maps/museum_1f.asm +++ b/text/maps/museum_1f.asm @@ -1,8 +1,8 @@ -_UnnamedText_5c21a:: ; 9652c (25:652c) +_Museum1FText_5c21a:: ; 9652c (25:652c) text "Come again!" done -_UnnamedText_5c21f:: ; 96539 (25:6539) +_Museum1FText_5c21f:: ; 96539 (25:6539) text "It's ¥50 for a" line "child's ticket." @@ -10,17 +10,17 @@ _UnnamedText_5c21f:: ; 96539 (25:6539) line "come in?" done -_UnnamedText_5c224:: ; 96572 (25:6572) +_Museum1FText_5c224:: ; 96572 (25:6572) text "Right, ¥50!" line "Thank you!" done -_UnnamedText_5c229:: ; 9658a (25:658a) +_Museum1FText_5c229:: ; 9658a (25:658a) text "You don't have" line "enough money." prompt -_UnnamedText_5c22e:: ; 965a7 (25:65a7) +_Museum1FText_5c22e:: ; 965a7 (25:65a7) text "You can't sneak" line "in the back way!" @@ -29,7 +29,7 @@ _UnnamedText_5c22e:: ; 965a7 (25:65a7) cont "AMBER is?" done -_UnnamedText_5c233:: ; 965f1 (25:65f1) +_Museum1FText_5c233:: ; 965f1 (25:65f1) text "There's a lab" line "somewhere trying" cont "to resurrect" @@ -37,28 +37,28 @@ _UnnamedText_5c233:: ; 965f1 (25:65f1) cont "from AMBER." done -_UnnamedText_5c238:: ; 96636 (25:6636) +_Museum1FText_5c238:: ; 96636 (25:6636) text "AMBER is fossil-" line "ized tree sap." done -_UnnamedText_5c23d:: ; 96657 (25:6657) +_Museum1FText_5c23d:: ; 96657 (25:6657) text "Please go to the" line "other side!" done -_UnnamedText_5c242:: ; 96675 (25:6675) +_Museum1FText_5c242:: ; 96675 (25:6675) text "Take plenty of" line "time to look!" done -_UnnamedText_5c251:: ; 96693 (25:6693) +_Museum1FText_5c251:: ; 96693 (25:6693) text "That is one" line "magnificent" cont "fossil!" done -_UnnamedText_5c28e:: ; 966b4 (25:66b4) +_Museum1FText_5c28e:: ; 966b4 (25:66b4) text "Ssh! I think that" line "this chunk of" cont "AMBER contains" @@ -84,24 +84,24 @@ _ReceivedOldAmberText:: ; 96790 (25:6790) text $52, " received" line "OLD AMBER!@@" -_UnnamedText_5c299:: ; 967a8 (25:67a8) +_Museum1FText_5c299:: ; 967a8 (25:67a8) text "Ssh! Get the OLD" line "AMBER checked!" done -_UnnamedText_5c29e:: ; 967c9 (25:67c9) +_Museum1FText_5c29e:: ; 967c9 (25:67c9) text "You don't have" line "space for this!" done -_UnnamedText_5c2ad:: ; 967e8 (25:67e8) +_Museum1FText_5c2ad:: ; 967e8 (25:67e8) text "We are proud of 2" line "fossils of very" cont "rare, prehistoric" cont "#MON!" done -_UnnamedText_5c2bc:: ; 96823 (25:6823) +_Museum1FText_5c2bc:: ; 96823 (25:6823) text "The AMBER is" line "clear and gold!" done diff --git a/text/maps/name_rater.asm b/text/maps/name_rater.asm index 587ddb7b..c2e0b2ea 100644 --- a/text/maps/name_rater.asm +++ b/text/maps/name_rater.asm @@ -1,4 +1,4 @@ -_UnnamedText_1dab3:: ; 9a308 (26:6308) +_NameRaterText_1dab3:: ; 9a308 (26:6308) text "Hello, hello!" line "I am the official" cont "NAME RATER!" @@ -8,12 +8,12 @@ _UnnamedText_1dab3:: ; 9a308 (26:6308) cont "your #MON?" done -_UnnamedText_1dab8:: ; 9a361 (26:6361) +_NameRaterText_1dab8:: ; 9a361 (26:6361) text "Which #MON" line "should I look at?" prompt -_UnnamedText_1dabd:: ; 9a37f (26:637f) +_NameRaterText_1dabd:: ; 9a37f (26:637f) TX_RAM $cd6d text ", is it?" line "That is a decent" @@ -26,12 +26,12 @@ _UnnamedText_1dabd:: ; 9a37f (26:637f) para "How about it?" done -_UnnamedText_1dac2:: ; 9a3e5 (26:63e5) +_NameRaterText_1dac2:: ; 9a3e5 (26:63e5) text "Fine! What should" line "we name it?" prompt -_UnnamedText_1dac7:: ; 9a404 (26:6404) +_NameRaterText_1dac7:: ; 9a404 (26:6404) text "OK! This #MON" line "has been renamed" cont "@" @@ -42,12 +42,12 @@ _UnnamedText_1dac7:: ; 9a404 (26:6404) line "name than before!" done -_UnnamedText_1dacc:: ; 9a44c (26:644c) +_NameRaterText_1dacc:: ; 9a44c (26:644c) text "Fine! Come any" line "time you like!" done -_UnnamedText_1dad1:: ; 9a46b (26:646b) +_NameRaterText_1dad1:: ; 9a46b (26:646b) TX_RAM $cd6d text ", is it?" line "That is a truly" diff --git a/text/maps/oaks_lab.asm b/text/maps/oaks_lab.asm index 79ae312a..3e10758e 100644 --- a/text/maps/oaks_lab.asm +++ b/text/maps/oaks_lab.asm @@ -59,20 +59,20 @@ _OaksLabLastMonText:: ; 94eb6 (25:4eb6) line "last #MON!" done -_UnnamedText_1d2f0:: ; 94ed2 (25:4ed2) +_OaksLabText_1d2f0:: ; 94ed2 (25:4ed2) text "OAK: Now, ", $52, "," line "which #MON do" cont "you want?" done -_UnnamedText_1d2f5:: ; 94ef8 (25:4ef8) +_OaksLabText_1d2f5:: ; 94ef8 (25:4ef8) text "OAK: If a wild" line "#MON appears," cont "your #MON can" cont "fight against it!" done -_UnnamedText_1d2fa:: ; 94f36 (25:4f36) +_OaksLabText_1d2fa:: ; 94f36 (25:4f36) text "OAK: ", $52, "," line "raise your young" cont "#MON by making" @@ -153,7 +153,7 @@ _OaksLabPleaseVisitText:: ; 9519e (25:519e) cont "coming along." done -_UnnamedText_1d31d:: ; 951e9 (25:51e9) +_OaksLabText_1d31d:: ; 951e9 (25:51e9) text "OAK: Good to see " line "you! How is your " cont "#DEX coming? " @@ -161,7 +161,7 @@ _UnnamedText_1d31d:: ; 951e9 (25:51e9) cont "a look!" prompt -_UnnamedText_1d32c:: ; 95236 (25:5236) +_OaksLabText_1d32c:: ; 95236 (25:5236) text "It's encyclopedia-" line "like, but the" cont "pages are blank!" @@ -171,7 +171,7 @@ _OaksLabText8:: ; 95268 (25:5268) text "?" done -_UnnamedText_1d340:: ; 9526b (25:526b) +_OaksLabText_1d340:: ; 9526b (25:526b) text "PROF.OAK is the" line "authority on" cont "#MON!" @@ -253,14 +253,14 @@ _OaksLabRivalChallengeText:: ; 95477 (25:5477) line "you on!" done -_UnnamedText_1d3be:: ; 954b6 (25:54b6) +_OaksLabText_1d3be:: ; 954b6 (25:54b6) text "WHAT?" line "Unbelievable!" cont "I picked the" cont "wrong #MON!" prompt -_UnnamedText_1d3c3:: ; 954e4 (25:54e4) +_OaksLabText_1d3c3:: ; 954e4 (25:54e4) text $53, ": Yeah! Am" line "I great or what?" prompt @@ -353,12 +353,12 @@ _OaksLabText27:: ; 95741 (25:5741) cont $52, "! Hahaha!" done -_UnnamedText_1d405:: ; 957eb (25:57eb) +_OaksLabText_1d405:: ; 957eb (25:57eb) text "I study #MON as" line "PROF.OAK's AIDE." done -_UnnamedText_441cc:: ; 9580c (25:580c) +_OaksLabText_441cc:: ; 9580c (25:580c) text "#DEX comp-" line "letion is:" @@ -373,41 +373,41 @@ _UnnamedText_441cc:: ; 9580c (25:580c) line "Rating:" prompt -_UnnamedText_44201:: ; 95858 (25:5858) +_OaksLabText_44201:: ; 95858 (25:5858) text "You still have" line "lots to do." cont "Look for #MON" cont "in grassy areas!" done -_UnnamedText_44206:: ; 95893 (25:5893) +_OaksLabText_44206:: ; 95893 (25:5893) text "You're on the" line "right track! " cont "Get a FLASH HM" cont "from my AIDE!" done -_UnnamedText_4420b:: ; 958cc (25:58cc) +_OaksLabText_4420b:: ; 958cc (25:58cc) text "You still need" line "more #MON!" cont "Try to catch" cont "other species!" done -_UnnamedText_44210:: ; 95903 (25:5903) +_OaksLabText_44210:: ; 95903 (25:5903) text "Good, you're" line "trying hard!" cont "Get an ITEMFINDER" cont "from my AIDE!" done -_UnnamedText_44215:: ; 9593d (25:593d) +_OaksLabText_44215:: ; 9593d (25:593d) text "Looking good!" line "Go find my AIDE" cont "when you get 50!" done -_UnnamedText_4421a:: ; 9596d (25:596d) +_OaksLabText_4421a:: ; 9596d (25:596d) text "You finally got at" line "least 50 species!" cont "Be sure to get" @@ -415,62 +415,62 @@ _UnnamedText_4421a:: ; 9596d (25:596d) cont "AIDE!" done -_UnnamedText_4421f:: ; 959b8 (25:59b8) +_OaksLabText_4421f:: ; 959b8 (25:59b8) text "Ho! This is geting" line "even better!" done -_UnnamedText_44224:: ; 959d9 (25:59d9) +_OaksLabText_44224:: ; 959d9 (25:59d9) text "Very good!" line "Go fish for some" cont "marine #MON!" done -_UnnamedText_44229:: ; 95a03 (25:5a03) +_OaksLabText_44229:: ; 95a03 (25:5a03) text "Wonderful!" line "Do you like to" cont "collect things?" done -_UnnamedText_4422e:: ; 95a2e (25:5a2e) +_OaksLabText_4422e:: ; 95a2e (25:5a2e) text "I'm impressed!" line "It must have been" cont "difficult to do!" done -_UnnamedText_44233:: ; 95a60 (25:5a60) +_OaksLabText_44233:: ; 95a60 (25:5a60) text "You finally got at" line "least 100 species!" cont "I can't believe" cont "how good you are!" done -_UnnamedText_44238:: ; 95aa8 (25:5aa8) +_OaksLabText_44238:: ; 95aa8 (25:5aa8) text "You even have the" line "evolved forms of" cont "#MON! Super!" done -_UnnamedText_4423d:: ; 95ad9 (25:5ad9) +_OaksLabText_4423d:: ; 95ad9 (25:5ad9) text "Excellent! Trade" line "with friends to" cont "get some more!" done -_UnnamedText_44242:: ; 95b0a (25:5b0a) +_OaksLabText_44242:: ; 95b0a (25:5b0a) text "Outstanding!" line "You've become a" cont "real pro at this!" done -_UnnamedText_44247:: ; 95b39 (25:5b39) +_OaksLabText_44247:: ; 95b39 (25:5b39) text "I have nothing" line "left to say!" cont "You're the" cont "authority now!" done -_UnnamedText_4424c:: ; 95b6f (25:5b6f) +_OaksLabText_4424c:: ; 95b6f (25:5b6f) text "Your #DEX is" line "entirely complete!" cont "Congratulations!" diff --git a/text/maps/pewter_city.asm b/text/maps/pewter_city.asm index dec2fd79..647832a3 100644 --- a/text/maps/pewter_city.asm +++ b/text/maps/pewter_city.asm @@ -20,18 +20,18 @@ _PewterCityText2:: ; a49e0 (29:49e0) cont "into it!" done -_UnnamedText_193f1:: ; a4a56 (29:4a56) +_PewterCityText_193f1:: ; a4a56 (29:4a56) text "Did you check out" line "the MUSEUM?" done -_UnnamedText_193f6:: ; a4a75 (29:4a75) +_PewterCityText_193f6:: ; a4a75 (29:4a75) text "Weren't those" line "fossils from MT." cont "MOON amazing?" done -_UnnamedText_193fb:: ; a4aa2 (29:4aa2) +_PewterCityText_193fb:: ; a4aa2 (29:4aa2) text "Really?" line "You absolutely" cont "have to go!" @@ -45,24 +45,24 @@ _PewterCityText13:: ; a4ac6 (29:4ac6) cont "See you around!" done -_UnnamedText_19427:: ; a4b14 (29:4b14) +_PewterCityText_19427:: ; a4b14 (29:4b14) text "Psssst!" line "Do you know what" cont "I'm doing?" done -_UnnamedText_1942c:: ; a4b38 (29:4b38) +_PewterCityText_1942c:: ; a4b38 (29:4b38) text "That's right!" line "It's hard work!" done -_UnnamedText_19431:: ; a4b55 (29:4b55) +_PewterCityText_19431:: ; a4b55 (29:4b55) text "I'm spraying REPEL" line "to keep #MON" cont "out of my garden!" done -_UnnamedText_1945d:: ; a4b87 (29:4b87) +_PewterCityText_1945d:: ; a4b87 (29:4b87) text "You're a trainer" line "right? BROCK's" cont "looking for new" @@ -70,7 +70,7 @@ _UnnamedText_1945d:: ; a4b87 (29:4b87) cont "Follow me!" done -_UnnamedText_19462:: ; a4bce (29:4bce) +_PewterCityText_19462:: ; a4bce (29:4bce) text "If you have the" line "right stuff, go" cont "take on BROCK!" diff --git a/text/maps/pewter_gym_1.asm b/text/maps/pewter_gym_1.asm index 83174271..9f3a1213 100644 --- a/text/maps/pewter_gym_1.asm +++ b/text/maps/pewter_gym_1.asm @@ -1,4 +1,4 @@ -_UnnamedText_5c49e:: ; 9697a (25:697a) +_PewterGymText_5c49e:: ; 9697a (25:697a) text "I'm BROCK!" line "I'm PEWTER's GYM" cont "LEADER!" diff --git a/text/maps/pewter_gym_2.asm b/text/maps/pewter_gym_2.asm index d82d5e14..a503f755 100644 --- a/text/maps/pewter_gym_2.asm +++ b/text/maps/pewter_gym_2.asm @@ -1,4 +1,4 @@ -_UnnamedText_5c4a3:: ; 98000 (26:4000) +_PewterGymText_5c4a3:: ; 98000 (26:4000) text "There are all" line "kinds of trainers" cont "in the world!" @@ -49,7 +49,7 @@ _TM34NoRoomText:: ; 981ab (26:41ab) line "room for this!" done -_UnnamedText_5c4bc:: ; 981c9 (26:41c9) +_PewterGymText_5c4bc:: ; 981c9 (26:41c9) text "I took" line "you for granted." @@ -60,7 +60,7 @@ _UnnamedText_5c4bc:: ; 981c9 (26:41c9) para $52, " received" line "the BOULDERBADGE!@@" -_UnnamedText_5c4c1:: ; 98232 (26:4232) +_PewterGymText_5c4c1:: ; 98232 (26:4232) db $0 para "That's an official" line "#MON LEAGUE" @@ -98,7 +98,7 @@ _PewterGymAfterBattleText1:: ; 98325 (26:4325) cont "as BROCK!" done -_UnnamedText_5c515:: ; 98351 (26:4351) +_PewterGymText_5c515:: ; 98351 (26:4351) text "Hiya! I can tell" line "you have what it" cont "takes to become a" @@ -112,12 +112,12 @@ _UnnamedText_5c515:: ; 98351 (26:4351) line "to the top!" done -_UnnamedText_5c51a:: ; 983dc (26:43dc) +_PewterGymText_5c51a:: ; 983dc (26:43dc) text "All right! Let's" line "get happening!" prompt -_UnnamedText_5c51f:: ; 983fc (26:43fc) +_PewterGymText_5c51f:: ; 983fc (26:43fc) text "The 1st #MON" line "out in a match is" cont "at the top of the" @@ -129,13 +129,13 @@ _UnnamedText_5c51f:: ; 983fc (26:43fc) cont "made easier!" done -_UnnamedText_5c524:: ; 98476 (26:4476) +_PewterGymText_5c524:: ; 98476 (26:4476) text "It's a free" line "service! Let's" cont "get happening!" prompt -_UnnamedText_5c529:: ; 9849f (26:449f) +_PewterGymText_5c529:: ; 9849f (26:449f) text "Just as I thought!" line "You're #MON" cont "champ material!" diff --git a/text/maps/pewter_mart.asm b/text/maps/pewter_mart.asm index f98c72e7..a33974db 100644 --- a/text/maps/pewter_mart.asm +++ b/text/maps/pewter_mart.asm @@ -1,4 +1,4 @@ -_UnnamedText_74cc6:: ; 985ac (26:45ac) +_PewterMartText_74cc6:: ; 985ac (26:45ac) text "A shady, old man" line "got me to buy" cont "this really weird" @@ -8,7 +8,7 @@ _UnnamedText_74cc6:: ; 985ac (26:45ac) line "and it cost ¥500!" done -_UnnamedText_74cd5:: ; 9860c (26:460c) +_PewterMartText_74cd5:: ; 9860c (26:460c) text "Good things can" line "happen if you" cont "raise #MON" diff --git a/text/maps/pokemon_league_gate.asm b/text/maps/pokemon_league_gate.asm index f3eb1858..cadfea3b 100644 --- a/text/maps/pokemon_league_gate.asm +++ b/text/maps/pokemon_league_gate.asm @@ -1,4 +1,4 @@ -_UnnamedText_1e704:: ; 8cfbb (23:4fbb) +_Route22GateText_1e704:: ; 8cfbb (23:4fbb) text "Only truly skilled" line "trainers are" cont "allowed through." @@ -6,14 +6,14 @@ _UnnamedText_1e704:: ; 8cfbb (23:4fbb) para "You don't have the" line "BOULDERBADGE yet!@@" -_UnnamedText_1e715:: ; 8d012 (23:5012) +_Route22GateText_1e715:: ; 8d012 (23:5012) db $0 para "The rules are" line "rules. I can't" cont "let you pass." done -_UnnamedText_1e71a:: ; 8d03e (23:503e) +_Route22GateText_1e71a:: ; 8d03e (23:503e) text "Oh! That is the" line "BOULDERBADGE!" cont "Go right ahead!@@" diff --git a/text/maps/pokemon_tower_2f.asm b/text/maps/pokemon_tower_2f.asm index 4a0dbc9f..6a33e085 100644 --- a/text/maps/pokemon_tower_2f.asm +++ b/text/maps/pokemon_tower_2f.asm @@ -1,4 +1,4 @@ -_UnnamedText_6062d:: ; 9957b (26:557b) +_PokemonTower2Text_6062d:: ; 9957b (26:557b) text $53, ": Hey," line $52, "! What" cont "brings you here?" @@ -10,7 +10,7 @@ _UnnamedText_6062d:: ; 9957b (26:557b) cont "Let's go, pal!" done -_UnnamedText_60632:: ; 995e5 (26:55e5) +_PokemonTower2Text_60632:: ; 995e5 (26:55e5) text "What?" line "You stinker!" @@ -18,7 +18,7 @@ _UnnamedText_60632:: ; 995e5 (26:55e5) line "you too!" prompt -_UnnamedText_60637:: ; 99614 (26:5614) +_PokemonTower2Text_60637:: ; 99614 (26:5614) text $53, ": Well," line "look at all your" cont "wimpy #MON!" @@ -27,7 +27,7 @@ _UnnamedText_60637:: ; 99614 (26:5614) line "bit more!" prompt -_UnnamedText_6063c:: ; 99657 (26:5657) +_PokemonTower2Text_6063c:: ; 99657 (26:5657) text "How's your #DEX" line "coming, pal?" cont "I just caught a" diff --git a/text/maps/pokemon_tower_5f.asm b/text/maps/pokemon_tower_5f.asm index e6592bbe..95ce2f4b 100644 --- a/text/maps/pokemon_tower_5f.asm +++ b/text/maps/pokemon_tower_5f.asm @@ -62,7 +62,7 @@ _PokemonTower5AfterBattleText4:: ; 99a5e (26:5a5e) cont "my training!" done -_UnnamedText_60a43:: ; 99a8b (26:5a8b) +_PokemonTower5Text7:: ; 99a8b (26:5a8b) text "Entered purified," line "protected zone!" diff --git a/text/maps/pokemon_tower_6f.asm b/text/maps/pokemon_tower_6f.asm index 052a1514..08eb6b1a 100644 --- a/text/maps/pokemon_tower_6f.asm +++ b/text/maps/pokemon_tower_6f.asm @@ -1,10 +1,10 @@ -_UnnamedText_60c1f:: ; 99ac8 (26:5ac8) +_PokemonTower2Text_60c1f:: ; 99ac8 (26:5ac8) text "The GHOST was the" line "restless soul of" cont "CUBONE's mother!" done -_UnnamedText_60c24:: ; 99afc (26:5afc) +_PokemonTower2Text_60c24:: ; 99afc (26:5afc) text "The mother's soul" line "was calmed." @@ -55,7 +55,7 @@ _PokemonTower6AfterBattleText3:: ; 99beb (26:5beb) line "here?" done -_UnnamedText_60c56:: ; 99c01 (26:5c01) +_PokemonTower6Text6:: ; 99c01 (26:5c01) text "Be gone..." line "Intruders..." done diff --git a/text/maps/pokemon_tower_7f.asm b/text/maps/pokemon_tower_7f.asm index 311a1d54..235fc218 100644 --- a/text/maps/pokemon_tower_7f.asm +++ b/text/maps/pokemon_tower_7f.asm @@ -1,4 +1,4 @@ -_UnnamedText_60ec4:: ; 99c1a (26:5c1a) +_PokemonTower7Text_60ec4:: ; 99c1a (26:5c1a) text "MR.FUJI: Heh? You" line "came to save me?" diff --git a/text/maps/rocket_hideout_b4f.asm b/text/maps/rocket_hideout_b4f.asm index adbabe22..ecf01ec8 100644 --- a/text/maps/rocket_hideout_b4f.asm +++ b/text/maps/rocket_hideout_b4f.asm @@ -1,15 +1,15 @@ -_UnnamedText_4557a:: ; 8223e (20:623e) +_RocketHideout4Text_4557a:: ; 8223e (20:623e) text "So! I must say, I" line "am impressed you" cont "got here!" done -_UnnamedText_4557f:: ; 8226c (20:626c) +_RocketHideout4Text_4557f:: ; 8226c (20:626c) text "WHAT!" line "This cannot be!" prompt -_UnnamedText_45584:: ; 82283 (20:6283) +_RocketHideout4Text_45584:: ; 82283 (20:6283) text "I see that you" line "raise #MON" cont "with utmost care." @@ -68,7 +68,7 @@ _RocketHideout4EndBattleText4:: ; 82413 (20:6413) text "No!" prompt -_UnnamedText_455ec:: ; 82418 (20:6418) +_RocketHideout4Text_455ec:: ; 82418 (20:6418) text "Oh no! I dropped" line "the LIFT KEY!" done diff --git a/text/maps/rocket_hideout_elevator.asm b/text/maps/rocket_hideout_elevator.asm index 7b96f860..12fbad6d 100644 --- a/text/maps/rocket_hideout_elevator.asm +++ b/text/maps/rocket_hideout_elevator.asm @@ -1,4 +1,4 @@ -_UnnamedText_4578b:: ; 82438 (20:6438) +_RocketElevatorText_4578b:: ; 82438 (20:6438) text "It appears to" line "need a key.@@" diff --git a/text/maps/route_1.asm b/text/maps/route_1.asm index 9dfc35d0..c7db4d1c 100644 --- a/text/maps/route_1.asm +++ b/text/maps/route_1.asm @@ -12,19 +12,19 @@ _Route1ViridianMartSampleText:: ; 8d5bf (23:55bf) cont "Here you go!" prompt -_UnnamedText_1cae8:: ; 8d643 (23:5643) +_Route1Text_1cae8:: ; 8d643 (23:5643) text $52, " got" line "@" TX_RAM $cf4b text "!@@" -_UnnamedText_1caee:: ; 8d652 (23:5652) +_Route1Text_1caee:: ; 8d652 (23:5652) text "We also carry" line "# BALLs for" cont "catching #MON!" done -_UnnamedText_1caf3:: ; 8d67c (23:567c) +_Route1Text_1caf3:: ; 8d67c (23:567c) text "You have too much" line "stuff with you!" done diff --git a/text/maps/route_11_gate_upstairs.asm b/text/maps/route_11_gate_upstairs.asm index 9b329892..70c463ec 100644 --- a/text/maps/route_11_gate_upstairs.asm +++ b/text/maps/route_11_gate_upstairs.asm @@ -1,4 +1,4 @@ -_UnnamedText_494a3:: ; 8c689 (23:4689) +_Route11GateUpstairsText_494a3:: ; 8c689 (23:4689) text "There are items on" line "the ground that" cont "can't be seen." @@ -28,7 +28,7 @@ _BinocularsNoSnorlaxText:: line "view!" done -_UnnamedText_494d5:: ; 8c78b (23:478b) +_Route11GateUpstairsText_494d5:: ; 8c78b (23:478b) text "Looked into the" line "binoculars." diff --git a/text/maps/route_12.asm b/text/maps/route_12.asm index ae48ef25..ef71d279 100644 --- a/text/maps/route_12.asm +++ b/text/maps/route_12.asm @@ -3,14 +3,14 @@ _Route12Text1:: ; 9009e (24:409e) line "blocks the way!" done -_UnnamedText_596eb:: ; 900bf (24:40bf) +_Route12Text13:: ; 900bf (24:40bf) text "SNORLAX woke up!" para "It attacked in a" line "grumpy rage!" done -_UnnamedText_596f0:: ; 900ef (24:40ef) +_Route12Text14:: ; 900ef (24:40ef) text "SNORLAX calmed" line "down! With a big" cont "yawn, it returned" diff --git a/text/maps/route_12_gate_upstairs.asm b/text/maps/route_12_gate_upstairs.asm index e31e392c..3d22e389 100644 --- a/text/maps/route_12_gate_upstairs.asm +++ b/text/maps/route_12_gate_upstairs.asm @@ -27,14 +27,14 @@ _TM39NoRoomText:: ; 8c93c (23:493c) line "room for this." done -_UnnamedText_495b8:: ; 8c95a (23:495a) +_Route12GateUpstairsText_495b8:: ; 8c95a (23:495a) text "Looked into the" line "binoculars." para "A man fishing!" done -_UnnamedText_495c4:: ; 8c986 (23:4986) +_Route12GateUpstairsText_495c4:: ; 8c986 (23:4986) text "Looked into the" line "binoculars." diff --git a/text/maps/route_12_house.asm b/text/maps/route_12_house.asm index f15e0041..ed645a01 100644 --- a/text/maps/route_12_house.asm +++ b/text/maps/route_12_house.asm @@ -1,4 +1,4 @@ -_UnnamedText_564c0:: ; 8c9b3 (23:49b3) +_Route12HouseText_564c0:: ; 8c9b3 (23:49b3) text "I'm the FISHING" line "GURU's brother!" @@ -9,7 +9,7 @@ _UnnamedText_564c0:: ; 8c9b3 (23:49b3) line "fish?" done -_UnnamedText_564c5:: ; 8ca00 (23:4a00) +_Route12HouseText_564c5:: ; 8ca00 (23:4a00) text "Grand! I like" line "your style!" @@ -21,7 +21,7 @@ _UnnamedText_564c5:: ; 8ca00 (23:4a00) TX_RAM $cf4b text "!@@" -_UnnamedText_564ca:: ; 8ca4f (23:4a4f) +_Route12HouseText_564ca:: ; 8ca4f (23:4a4f) db $0 para "Fishing is a way" line "of life!" @@ -32,12 +32,12 @@ _UnnamedText_564ca:: ; 8ca4f (23:4a4f) cont "one!" done -_UnnamedText_564cf:: ; 8caa1 (23:4aa1) +_Route12HouseText_564cf:: ; 8caa1 (23:4aa1) text "Oh... That's so" line "disappointing..." done -_UnnamedText_564d4:: ; 8cac2 (23:4ac2) +_Route12HouseText_564d4:: ; 8cac2 (23:4ac2) text "Hello there," line $52, "!" @@ -51,7 +51,7 @@ _UnnamedText_564d4:: ; 8cac2 (23:4ac2) line "wherever you can!" done -_UnnamedText_564d9:: ; 8cb38 (23:4b38) +_Route12HouseText_564d9:: ; 8cb38 (23:4b38) text "Oh no!" para "I had a gift for" diff --git a/text/maps/route_15_gate_upstairs.asm b/text/maps/route_15_gate_upstairs.asm index df57afda..7207ecdf 100644 --- a/text/maps/route_15_gate_upstairs.asm +++ b/text/maps/route_15_gate_upstairs.asm @@ -1,4 +1,4 @@ -_UnnamedText_4968c:: ; 8cbac (23:4bac) +_Route15GateUpstairsText_4968c:: ; 8cbac (23:4bac) text "EXP.ALL gives" line "EXP points to all" cont "the #MON with" @@ -15,7 +15,7 @@ _UnnamedText_4968c:: ; 8cbac (23:4bac) cont "store it via PC." done -_UnnamedText_49698:: ; 8cc65 (23:4c65) +_Route15GateUpstairsText_49698:: ; 8cc65 (23:4c65) text "Looked into the" line "binoculars." diff --git a/text/maps/route_16.asm b/text/maps/route_16.asm index b46275f0..d98aaa12 100644 --- a/text/maps/route_16.asm +++ b/text/maps/route_16.asm @@ -95,14 +95,14 @@ _Route16Text7:: ; 91287 (24:5287) line "blocks the way!" done -_UnnamedText_59ab3:: ; 912a8 (24:52a8) +_Route16Text10:: ; 912a8 (24:52a8) text "SNORLAX woke up!" para "It attacked in a" line "grumpy rage!" done -_UnnamedText_59ab8:: ; 912d8 (24:52d8) +_Route16Text11:: ; 912d8 (24:52d8) text "With a big yawn," line "SNORLAX returned" cont "to the mountains!" diff --git a/text/maps/route_16_gate.asm b/text/maps/route_16_gate.asm index 22ac6788..2d3d5c62 100644 --- a/text/maps/route_16_gate.asm +++ b/text/maps/route_16_gate.asm @@ -1,17 +1,17 @@ -_UnnamedText_49777:: ; 8cca0 (23:4ca0) +_Route16GateText_49777:: ; 8cca0 (23:4ca0) text "No pedestrians" line "are allowed on" cont "CYCLING ROAD!" done -_UnnamedText_4977c:: ; 8cccd (23:4ccd) +_Route16GateText_4977c:: ; 8cccd (23:4ccd) text "CYCLING ROAD is a" line "downhill course" cont "by the sea. It's" cont "a great ride." done -_UnnamedText_49781:: ; 8cd0e (23:4d0e) +_Route16GateText_49781:: ; 8cd0e (23:4d0e) text "Excuse me! Wait" line "up please!" done diff --git a/text/maps/route_16_gate_upstairs.asm b/text/maps/route_16_gate_upstairs.asm index d4f1b32a..26767654 100644 --- a/text/maps/route_16_gate_upstairs.asm +++ b/text/maps/route_16_gate_upstairs.asm @@ -1,15 +1,15 @@ -_UnnamedText_49820:: ; 8cd49 (23:4d49) +_Route16GateUpstairsText_49820:: ; 8cd49 (23:4d49) text "I'm going for a" line "ride with my girl" cont "friend!" done -_UnnamedText_4982f:: ; 8cd73 (23:4d73) +_Route16GateUpstairsText_4982f:: ; 8cd73 (23:4d73) text "We're going" line "riding together!" done -_UnnamedText_4983b:: ; 8cd90 (23:4d90) +_Route16GateUpstairsText_4983b:: ; 8cd90 (23:4d90) text "Looked into the" line "binoculars." @@ -17,7 +17,7 @@ _UnnamedText_4983b:: ; 8cd90 (23:4d90) line "STORE!" done -_UnnamedText_49847:: ; 8cdc6 (23:4dc6) +_Route16GateUpstairsText_49847:: ; 8cdc6 (23:4dc6) text "Looked into the" line "binoculars." diff --git a/text/maps/route_16_house.asm b/text/maps/route_16_house.asm index 05b24865..c3099049 100644 --- a/text/maps/route_16_house.asm +++ b/text/maps/route_16_house.asm @@ -26,7 +26,7 @@ _HM02NoRoomText:: ; 8cebe (23:4ebe) line "room for this." done -_UnnamedText_1e652:: ; 8cee0 (23:4ee0) +_Route16HouseText_1e652:: ; 8cee0 (23:4ee0) text "FEAROW: Kyueen!" done diff --git a/text/maps/route_18_gate.asm b/text/maps/route_18_gate.asm index 9da68ac9..0298465d 100644 --- a/text/maps/route_18_gate.asm +++ b/text/maps/route_18_gate.asm @@ -1,15 +1,15 @@ -_UnnamedText_49928:: ; 8cef1 (23:4ef1) +_Route18GateText_49928:: ; 8cef1 (23:4ef1) text "You need a BICYCLE" line "for CYCLING ROAD!" done -_UnnamedText_4992d:: ; 8cf17 (23:4f17) +_Route18GateText_4992d:: ; 8cf17 (23:4f17) text "CYCLING ROAD is" line "all uphill from" cont "here." done -_UnnamedText_49932:: ; 8cf3e (23:4f3e) +_Route18GateText_49932:: ; 8cf3e (23:4f3e) text "Excuse me!" done diff --git a/text/maps/route_18_gate_upstairs.asm b/text/maps/route_18_gate_upstairs.asm index 3061ec56..59b92e6a 100644 --- a/text/maps/route_18_gate_upstairs.asm +++ b/text/maps/route_18_gate_upstairs.asm @@ -1,4 +1,4 @@ -_UnnamedText_49993:: ; 8cf4a (23:4f4a) +_Route18GateUpstairsText_49993:: ; 8cf4a (23:4f4a) text "Looked into the" line "binoculars." @@ -6,7 +6,7 @@ _UnnamedText_49993:: ; 8cf4a (23:4f4a) line "the west!" done -_UnnamedText_4999f:: ; 8cf83 (23:4f83) +_Route18GateUpstairsText_4999f:: ; 8cf83 (23:4f83) text "Looked into the" line "binoculars." diff --git a/text/maps/route_22.asm b/text/maps/route_22.asm index 7222bc5e..6a23f425 100644 --- a/text/maps/route_22.asm +++ b/text/maps/route_22.asm @@ -1,4 +1,4 @@ -_UnnamedText_511ad:: ; 922cd (24:62cd) +_Route22Text_511ad:: ; 922cd (24:62cd) text $53, ": Hey!" line $52, "!" @@ -17,7 +17,7 @@ _UnnamedText_511ad:: ; 922cd (24:62cd) cont "get any stronger?" done -_UnnamedText_511b2:: ; 9236f (24:636f) +_Route22Text_511b2:: ; 9236f (24:636f) text "I heard #MON" line "LEAGUE has many" cont "tough trainers!" @@ -31,13 +31,13 @@ _UnnamedText_511b2:: ; 9236f (24:636f) cont "a move on!" done -_UnnamedText_511b7:: ; 923f4 (24:63f4) +_Route22Text_511b7:: ; 923f4 (24:63f4) text "Awww!" line "You just lucked" cont "out!" prompt -_UnnamedText_511bc:: ; 92410 (24:6410) +_Route22Text_511bc:: ; 92410 (24:6410) text $53, ": What?" line "Why do I have 2" cont "#MON?" @@ -46,7 +46,7 @@ _UnnamedText_511bc:: ; 92410 (24:6410) cont "some more too!" prompt -_UnnamedText_511c1:: ; 92450 (24:6450) +_Route22Text_511c1:: ; 92450 (24:6450) text $53, ": What?" line $52, "! What a" cont "surprise to see" @@ -67,7 +67,7 @@ _UnnamedText_511c1:: ; 92450 (24:6450) para "Come on!" done -_UnnamedText_511c6:: ; 92506 (24:6506) +_Route22Text_511c6:: ; 92506 (24:6506) text "That loosened me" line "up! I'm ready for" cont "#MON LEAGUE!" @@ -80,14 +80,14 @@ _UnnamedText_511c6:: ; 92506 (24:6506) cont "here. Smell ya!" done -_UnnamedText_511cb:: ; 92583 (24:6583) +_Route22Text_511cb:: ; 92583 (24:6583) text "What!?" para "I was just" line "careless!" prompt -_UnnamedText_511d0:: ; 925a0 (24:65a0) +_Route22Text_511d0:: ; 925a0 (24:65a0) text $53, ": Hahaha!" line $52, "! That's" cont "your best? You're" diff --git a/text/maps/route_23.asm b/text/maps/route_23.asm index 7b6219a8..30b8e003 100644 --- a/text/maps/route_23.asm +++ b/text/maps/route_23.asm @@ -26,7 +26,7 @@ _VictoryRoadGuardText2:: ; 92696 (24:6696) TX_RAM $cd6d text "!@@" -_UnnamedText_513a3:: ; 926dd (24:66dd) +_VictoryRoadGuardText_513a3:: ; 926dd (24:66dd) db $0 para "OK then! Please," line "go right ahead!" diff --git a/text/maps/route_24_1.asm b/text/maps/route_24_1.asm index 4049e5f0..ec32744d 100644 --- a/text/maps/route_24_1.asm +++ b/text/maps/route_24_1.asm @@ -1,26 +1,26 @@ -_UnnamedText_51510:: ; 92721 (24:6721) +_Route24Text_51510:: ; 92721 (24:6721) text "Congratulations!" line "You beat our 5" cont "contest trainers!@@" -_UnnamedText_51515:: ; 92755 (24:6755) +_Route24Text_51515:: ; 92755 (24:6755) db $0 para "You just earned a" line "fabulous prize!" prompt -_UnnamedText_5151a:: ; 92779 (24:6779) +_Route24Text_5151a:: ; 92779 (24:6779) text $52, " received" line "a @" TX_RAM $cf4b text "!@@" -_UnnamedText_51521:: ; 9278f (24:678f) +_Route24Text_51521:: ; 9278f (24:678f) text "You don't have" line "any room!" done -_UnnamedText_51526:: ; 927a8 (24:67a8) +_Route24Text_51526:: ; 927a8 (24:67a8) text "By the way, would" line "you like to join" cont "TEAM ROCKET?" @@ -46,12 +46,12 @@ _UnnamedText_51526:: ; 927a8 (24:67a8) cont "refuse!" done -_UnnamedText_5152b:: ; 9288a (24:688a) +_Route24Text_5152b:: ; 9288a (24:688a) text "Arrgh!" line "You are good!" prompt -_UnnamedText_51530:: ; 928a0 (24:68a0) +_Route24Text_51530:: ; 928a0 (24:68a0) text "With your ability," line "you could become" cont "a top leader in" diff --git a/text/maps/route_2_gate.asm b/text/maps/route_2_gate.asm index 6c2ba168..e8337a1f 100644 --- a/text/maps/route_2_gate.asm +++ b/text/maps/route_2_gate.asm @@ -1,4 +1,4 @@ -_UnnamedText_5d616:: ; 8a7fc (22:67fc) +_Route2GateText_5d616:: ; 8a7fc (22:67fc) text "The HM FLASH" line "lights even the" cont "darkest dungeons." diff --git a/text/maps/safari_zone_entrance.asm b/text/maps/safari_zone_entrance.asm index 76c61b20..119d2301 100644 --- a/text/maps/safari_zone_entrance.asm +++ b/text/maps/safari_zone_entrance.asm @@ -3,7 +3,7 @@ _SafariZoneEntranceText1:: ; 9e6c7 (27:66c7) line "SAFARI ZONE!" done -UnnamedText_9e6e4:: ; 9e6e4 (27:66e4) +SafariZoneEntranceText_9e6e4:: ; 9e6e4 (27:66e4) text "For just ¥500," line "you can catch all" cont "the #MON you" @@ -12,7 +12,7 @@ UnnamedText_9e6e4:: ; 9e6e4 (27:66e4) para "Would you like to" line "join the hunt?@@" -UnnamedText_9e747:: ; 9e747 (27:6747) +SafariZoneEntranceText_9e747:: ; 9e747 (27:6747) text "That'll be ¥500" line "please!" @@ -23,7 +23,7 @@ UnnamedText_9e747:: ; 9e747 (27:6747) para $52, " received" line "30 SAFARI BALLs!@@" -_UnnamedText_75360:: ; 9e79f (27:679f) +_SafariZoneEntranceText_75360:: ; 9e79f (27:679f) db $0 para "We'll call you on" line "the PA when you" @@ -31,41 +31,41 @@ _UnnamedText_75360:: ; 9e79f (27:679f) cont "or SAFARI BALLs!" done -_UnnamedText_75365:: ; 9e7e3 (27:67e3) +_SafariZoneEntranceText_75365:: ; 9e7e3 (27:67e3) text "OK! Please come" line "again!" done -_UnnamedText_7536a:: ; 9e7fb (27:67fb) +_SafariZoneEntranceText_7536a:: ; 9e7fb (27:67fb) text "Oops! Not enough" line "money!" done -UnnamedText_9e814:: ; 9e814 (27:6814) +SafariZoneEntranceText_9e814:: ; 9e814 (27:6814) text "Leaving early?@@" -_UnnamedText_753bb:: ; 9e825 (27:6825) +_SafariZoneEntranceText_753bb:: ; 9e825 (27:6825) text "Please return any" line "SAFARI BALLs you" cont "have left." done -_UnnamedText_753c0:: ; 9e854 (27:6854) +_SafariZoneEntranceText_753c0:: ; 9e854 (27:6854) text "Good Luck!" done -_UnnamedText_753c5:: ; 9e860 (27:6860) +_SafariZoneEntranceText_753c5:: ; 9e860 (27:6860) text "Did you get a" line "good haul?" cont "Come again!" done -_UnnamedText_753e6:: ; 9e886 (27:6886) +_SafariZoneEntranceText_753e6:: ; 9e886 (27:6886) text "Hi! Is it your" line "first time here?" done -_UnnamedText_753eb:: ; 9e8a7 (27:68a7) +_SafariZoneEntranceText_753eb:: ; 9e8a7 (27:68a7) text "SAFARI ZONE has 4" line "zones in it." @@ -87,7 +87,7 @@ _UnnamedText_753eb:: ; 9e8a7 (27:68a7) cont "new #MON!" done -_UnnamedText_753f0:: ; 9e993 (27:6993) +_SafariZoneEntranceText_753f0:: ; 9e993 (27:6993) text "Sorry, you're a" line "regular here!" done diff --git a/text/maps/safari_zone_secret_house.asm b/text/maps/safari_zone_secret_house.asm index 0d9511e2..b7b391be 100644 --- a/text/maps/safari_zone_secret_house.asm +++ b/text/maps/safari_zone_secret_house.asm @@ -1,4 +1,4 @@ -_UnnamedText_4a350:: ; 858a4 (21:58a4) +_SecretHouseText_4a350:: ; 858a4 (21:58a4) text "Ah! Finally!" para "You're the first" diff --git a/text/maps/saffron_gates.asm b/text/maps/saffron_gates.asm index f084334c..0212a7dd 100644 --- a/text/maps/saffron_gates.asm +++ b/text/maps/saffron_gates.asm @@ -1,4 +1,4 @@ -_UnnamedText_1dfe7:: ; 8aa5c (22:6a5c) +_SaffronGateText_1dfe7:: ; 8aa5c (22:6a5c) text "I'm on guard duty." line "Gee, I'm thirsty," cont "though!" @@ -7,7 +7,7 @@ _UnnamedText_1dfe7:: ; 8aa5c (22:6a5c) line "the road's closed." done -_UnnamedText_8aaa9:: ; 8aaa9 (22:6aa9) +_SaffronGateText_8aaa9:: ; 8aaa9 (22:6aa9) text "Whoa, boy!" line "I'm parched!" cont "..." @@ -15,7 +15,7 @@ _UnnamedText_8aaa9:: ; 8aaa9 (22:6aa9) cont "this drink?" cont "Gee, thanks!@@" -_UnnamedText_1dff1:: ; 8aaef (22:6aef) +_SaffronGateText_1dff1:: ; 8aaef (22:6aef) db $0 para "..." line "Glug glug..." @@ -30,7 +30,7 @@ _UnnamedText_1dff1:: ; 8aaef (22:6aef) cont "the other guards!" done -_UnnamedText_1dff6:: ; 8ab74 (22:6b74) +_SaffronGateText_1dff6:: ; 8ab74 (22:6b74) text "Hi, thanks for" line "the cool drinks!" done diff --git a/text/maps/saffron_gym.asm b/text/maps/saffron_gym.asm index c2426eeb..d85e1b1a 100644 --- a/text/maps/saffron_gym.asm +++ b/text/maps/saffron_gym.asm @@ -1,4 +1,4 @@ -_UnnamedText_5d162:: ; a1bb4 (28:5bb4) +_SaffronGymText_5d162:: ; a1bb4 (28:5bb4) text "I had a vision of" line "your arrival!" @@ -16,7 +16,7 @@ _UnnamedText_5d162:: ; a1bb4 (28:5bb4) cont "you my powers!" done -_UnnamedText_5d167:: ; a1c73 (28:5c73) +_SaffronGymText_5d167:: ; a1c73 (28:5c73) text "I'm" line "shocked!" cont "But, a loss is a" @@ -29,14 +29,14 @@ _UnnamedText_5d167:: ; a1c73 (28:5c73) para "You earned the" line "MARSHBADGE!@@" -_UnnamedText_5d16e:: ; a1cdc (28:5cdc) +_SaffronGymText_5d16e:: ; a1cdc (28:5cdc) text "Everyone has" line "psychic power!" cont "People just don't" cont "realize it!" done -_UnnamedText_5d173:: ; a1d16 (28:5d16) +_SaffronGymText_5d173:: ; a1d16 (28:5d16) text "The MARSHBADGE" line "makes #MON up" cont "to L70 obey you!" @@ -71,7 +71,7 @@ _TM46NoRoomText:: ; a1e25 (28:5e25) line "of other items!" done -_UnnamedText_5d1e6:: ; a1e48 (28:5e48) +_SaffronGymText_5d1e6:: ; a1e48 (28:5e48) text "Yo! Champ in" line "making!" @@ -88,7 +88,7 @@ _UnnamedText_5d1e6:: ; a1e48 (28:5e48) cont "even aim a punch!" done -_UnnamedText_5d1eb:: ; a1ef0 (28:5ef0) +_SaffronGymText_5d1eb:: ; a1ef0 (28:5ef0) text "Psychic power," line "huh?" diff --git a/text/maps/silph_co_10f.asm b/text/maps/silph_co_10f.asm index 6c9727de..a5a3877e 100644 --- a/text/maps/silph_co_10f.asm +++ b/text/maps/silph_co_10f.asm @@ -1,9 +1,9 @@ -_UnnamedText_5a1d3:: ; 84d8d (21:4d8d) +_SilphCo10Text_5a1d3:: ; 84d8d (21:4d8d) text "Waaaaa!" cont "I'm scared!" done -_UnnamedText_5a1d8:: ; 84da1 (21:4da1) +_SilphCo10Text_5a1d8:: ; 84da1 (21:4da1) text "Please keep quiet" line "about my crying!" done diff --git a/text/maps/silph_co_11f.asm b/text/maps/silph_co_11f.asm index 0158a7ca..fdfcd313 100644 --- a/text/maps/silph_co_11f.asm +++ b/text/maps/silph_co_11f.asm @@ -25,7 +25,7 @@ _ReceivedSilphCoMasterBallText:: ; 84f63 (21:4f63) TX_RAM $cf4b text "!@@" -_UnnamedText_6231c:: ; 84f74 (21:4f74) +_SilphCo10Text_6231c:: ; 84f74 (21:4f74) text "PRESIDENT: You" line "can't buy that" cont "anywhere!" @@ -74,12 +74,12 @@ _SilphCo11Text3:: ; 85075 (21:5075) line "world of pain!" done -_UnnamedText_62330:: ; 85119 (21:5119) +_SilphCo10Text_62330:: ; 85119 (21:5119) text "Arrgh!!" line "I lost again!?" prompt -_UnnamedText_62335:: ; 85131 (21:5131) +_SilphCo10Text_62335:: ; 85131 (21:5131) text "Blast it all!" line "You ruined our" cont "plans for SILPH!" @@ -128,7 +128,7 @@ _SilphCo11AfterBattleText2:: ; 8526a (21:526a) cont "#MON tough!" done -_UnnamedText_6237b:: ; 8529a (21:529a) +_SilphCo10Text_6237b:: ; 8529a (21:529a) text "The monitor has" line "#MON on it!" done diff --git a/text/maps/silph_co_2f.asm b/text/maps/silph_co_2f.asm index a7535af6..b8924ef1 100644 --- a/text/maps/silph_co_2f.asm +++ b/text/maps/silph_co_2f.asm @@ -1,4 +1,4 @@ -_UnnamedText_59ded:: ; 82454 (20:6454) +_SilphCo2Text_59ded:: ; 82454 (20:6454) text "Eeek!" line "No! Stop! Help!" diff --git a/text/maps/silph_co_3f.asm b/text/maps/silph_co_3f.asm index 34116b5a..25d68018 100644 --- a/text/maps/silph_co_3f.asm +++ b/text/maps/silph_co_3f.asm @@ -1,9 +1,9 @@ -_UnnamedText_59ff9:: ; 826b9 (20:66b9) +_SilphCo3Text_59ff9:: ; 826b9 (20:66b9) text "I work for SILPH." line "What should I do?" done -_UnnamedText_59ffe:: ; 826de (20:66de) +_SilphCo3Text_59ffe:: ; 826de (20:66de) text $52, "! You and" line "your #MON" cont "saved us!" diff --git a/text/maps/silph_co_4f.asm b/text/maps/silph_co_4f.asm index 452a05a8..309da28c 100644 --- a/text/maps/silph_co_4f.asm +++ b/text/maps/silph_co_4f.asm @@ -1,9 +1,9 @@ -_UnnamedText_19de0:: ; 827e4 (20:67e4) +_SilphCo4Text_19de0:: ; 827e4 (20:67e4) text "Sssh! Can't you" line "see I'm hiding?" done -_UnnamedText_19de5:: ; 82803 (20:6803) +_SilphCo4Text_19de5:: ; 82803 (20:6803) text "Huh? TEAM ROCKET" line "is gone?" done diff --git a/text/maps/silph_co_5f_1.asm b/text/maps/silph_co_5f_1.asm index f37a5cd7..8a406e67 100644 --- a/text/maps/silph_co_5f_1.asm +++ b/text/maps/silph_co_5f_1.asm @@ -1,11 +1,11 @@ -_UnnamedText_1a010:: ; 82936 (20:6936) +_SilphCo5Text_1a010:: ; 82936 (20:6936) text "TEAM ROCKET is" line "in an uproar over" cont "some intruder." cont "That's you right?" done -_UnnamedText_1a015:: ; 82978 (20:6978) +_SilphCo5Text_1a015:: ; 82978 (20:6978) text "TEAM ROCKET took" line "off! You're our" cont "hero! Thank you!" diff --git a/text/maps/silph_co_6f.asm b/text/maps/silph_co_6f.asm index 5f74da46..b3bf71b6 100644 --- a/text/maps/silph_co_6f.asm +++ b/text/maps/silph_co_6f.asm @@ -1,55 +1,55 @@ -_UnnamedText_1a24a:: ; 84176 (21:4176) +_SilphCo6Text_1a24a:: ; 84176 (21:4176) text "The ROCKETs came" line "and took over the" cont "building!" done -_UnnamedText_1a24f:: ; 841a4 (21:41a4) +_SilphCo6Text_1a24f:: ; 841a4 (21:41a4) text "Well, better get" line "back to work!" done -_UnnamedText_1a261:: ; 841c4 (21:41c4) +_SilphCo6Text_1a261:: ; 841c4 (21:41c4) text "Oh dear, oh dear." line "Help me please!" done -_UnnamedText_1a266:: ; 841e7 (21:41e7) +_SilphCo6Text_1a266:: ; 841e7 (21:41e7) text "We got engaged!" line "Heheh!" done -_UnnamedText_1a278:: ; 841ff (21:41ff) +_SilphCo6Text_1a278:: ; 841ff (21:41ff) text "Look at him! He's" line "such a coward!" done -_UnnamedText_1a27d:: ; 84220 (21:4220) +_SilphCo6Text_1a27d:: ; 84220 (21:4220) text "I feel so sorry" line "for him, I have" cont "to marry him!" done -_UnnamedText_1a28f:: ; 8424f (21:424f) +_SilphCo6Text_1a28f:: ; 8424f (21:424f) text "TEAM ROCKET is" line "trying to conquer" cont "the world with" cont "#MON!" done -_UnnamedText_1a294:: ; 84286 (21:4286) +_SilphCo6Text_1a294:: ; 84286 (21:4286) text "TEAM ROCKET ran" line "because of you!" done -_UnnamedText_1a2a6:: ; 842a7 (21:42a7) +_SilphCo6Text_1a2a6:: ; 842a7 (21:42a7) text "They must have" line "targeted SILPH" cont "for our #MON" cont "products." done -_UnnamedText_1a2ab:: ; 842dd (21:42dd) +_SilphCo6Text_1a2ab:: ; 842dd (21:42dd) text "Come work for" line "SILPH when you" cont "get older!" diff --git a/text/maps/silph_co_7f.asm b/text/maps/silph_co_7f.asm index 4fca7b90..b3c92aaf 100644 --- a/text/maps/silph_co_7f.asm +++ b/text/maps/silph_co_7f.asm @@ -39,7 +39,7 @@ _LaprasGuySavedText:: line "Thank you!" done -_UnnamedText_51e00:: +_SilphCo7Text_51e00:: text "TEAM ROCKET was" line "after the MASTER" cont "BALL which will" @@ -53,27 +53,27 @@ _CanceledMasterBallText:: cont "of TEAM ROCKET." done -_UnnamedText_51e23:: +_SilphCo7Text_51e23:: text "It would be bad" line "if TEAM ROCKET" cont "took over SILPH" cont "or our #MON!" done -_UnnamedText_51e28:: +_SilphCo7Text_51e28:: text "Wow! You chased" line "off TEAM ROCKET" cont "all by yourself?" done -_UnnamedText_51e46:: +_SilphCo7Text_51e46:: text "You! It's really" line "dangerous here!" cont "You came to save" cont "me? You can't!" done -_UnnamedText_51e4b:: +_SilphCo7Text_51e4b:: text "Safe at last!" line "Oh thank you!" done @@ -144,3 +144,67 @@ _SilphCo7AfterBattleText4:: ; 84861 (21:4861) cont "gets ticked off!" done +_SilphCo7Text_51ebe:: ; 8488d (21:488d) + text $53, ": What" + line "kept you ", $52, "?" + done + +_SilphCo7Text_51ec3:: ; 848a2 (21:48a2) + text $53, ": Hahaha!" + line "I thought you'd" + cont "turn up if I" + cont "waited here!" + + para "I guess TEAM" + line "ROCKET slowed you" + cont "down! Not that I" + cont "care!" + + para "I saw you in" + line "SAFFRON, so I" + cont "decided to see if" + cont "you got better!" + done + +_SilphCo7Text_51ec8:: ; 8494a (21:494a) + text "Oh ho!" + line "So, you are ready" + cont "for BOSS ROCKET!" + prompt + +_SilphCo7Text_51ecd:: ; 84975 (21:4975) + text $53, ": How can" + line "I put this?" + + para "You're not good" + line "enough to play" + cont "with us big boys!" + prompt + +_SilphCo7Text_51ed2:: ; 849bd (21:49bd) + text "Well, ", $52, "!" + + para "I'm moving on up" + line "and ahead!" + + para "By checking my" + line "#DEX, I'm" + cont "starting to see" + cont "what's strong and" + cont "how they evolve!" + + para "I'm going to the" + line "#MON LEAGUE" + cont "to boot out the" + cont "ELITE FOUR!" + + para "I'll become the" + line "world's most" + cont "powerful trainer!" + + para $52, ", well" + line "good luck to you!" + cont "Don't sweat it!" + cont "Smell ya!" + done + diff --git a/text/maps/silph_co_8f.asm b/text/maps/silph_co_8f.asm index 657e45cd..900e134f 100644 --- a/text/maps/silph_co_8f.asm +++ b/text/maps/silph_co_8f.asm @@ -1,73 +1,9 @@ -_UnnamedText_51ebe:: ; 8488d (21:488d) - text $53, ": What" - line "kept you ", $52, "?" - done - -_UnnamedText_51ec3:: ; 848a2 (21:48a2) - text $53, ": Hahaha!" - line "I thought you'd" - cont "turn up if I" - cont "waited here!" - - para "I guess TEAM" - line "ROCKET slowed you" - cont "down! Not that I" - cont "care!" - - para "I saw you in" - line "SAFFRON, so I" - cont "decided to see if" - cont "you got better!" - done - -_UnnamedText_51ec8:: ; 8494a (21:494a) - text "Oh ho!" - line "So, you are ready" - cont "for BOSS ROCKET!" - prompt - -_UnnamedText_51ecd:: ; 84975 (21:4975) - text $53, ": How can" - line "I put this?" - - para "You're not good" - line "enough to play" - cont "with us big boys!" - prompt - -_UnnamedText_51ed2:: ; 849bd (21:49bd) - text "Well, ", $52, "!" - - para "I'm moving on up" - line "and ahead!" - - para "By checking my" - line "#DEX, I'm" - cont "starting to see" - cont "what's strong and" - cont "how they evolve!" - - para "I'm going to the" - line "#MON LEAGUE" - cont "to boot out the" - cont "ELITE FOUR!" - - para "I'll become the" - line "world's most" - cont "powerful trainer!" - - para $52, ", well" - line "good luck to you!" - cont "Don't sweat it!" - cont "Smell ya!" - done - -_UnnamedText_565be:: ; 84ac4 (21:4ac4) +_SilphCo8Text_565be:: ; 84ac4 (21:4ac4) text "I wonder if SILPH" line "is finished..." done -_UnnamedText_565c3:: ; 84ae6 (21:4ae6) +_SilphCo8Text_565c3:: ; 84ae6 (21:4ae6) text "Thanks for saving" line "us!" done diff --git a/text/maps/silph_co_9f.asm b/text/maps/silph_co_9f.asm index e59c911b..6854b081 100644 --- a/text/maps/silph_co_9f.asm +++ b/text/maps/silph_co_9f.asm @@ -1,14 +1,14 @@ -_UnnamedText_5d8e5:: ; 84c0b (21:4c0b) +_SilphCo9Text_5d8e5:: ; 84c0b (21:4c0b) text "You look tired!" line "You should take a" cont "quick nap!" prompt -_UnnamedText_5d8ea:: ; 84c39 (21:4c39) +_SilphCo9Text_5d8ea:: ; 84c39 (21:4c39) text "Don't give up!" done -_UnnamedText_5d8ef:: ; 84c48 (21:4c48) +_SilphCo9Text_5d8ef:: ; 84c48 (21:4c48) text "Thank you so" line "much!" done diff --git a/text/maps/ss_anne_5.asm b/text/maps/ss_anne_5.asm index 7b95f50d..2fdc5dd8 100644 --- a/text/maps/ss_anne_5.asm +++ b/text/maps/ss_anne_5.asm @@ -16,35 +16,35 @@ _SSAnne5Text3:: ; 80fda (20:4fda) line "get some air." done -_SSAnneBattleText1:: ; 8100b (20:500b) +_SSAnne5BattleText1:: ; 8100b (20:500b) text "Hey matey!" para "Let's do a little" line "jig!" done -_SSAnneEndBattleText1:: ; 8102d (20:502d) +_SSAnne5EndBattleText1:: ; 8102d (20:502d) text "You're" line "impressive!" prompt -_SSAnneAfterBattleText1:: ; 81040 (20:5040) +_SSAnne5AfterBattleText1:: ; 81040 (20:5040) text "How many kinds of" line "#MON do you" cont "think there are?" done -_SSAnneBattleText2:: ; 81070 (20:5070) +_SSAnne5BattleText2:: ; 81070 (20:5070) text "Ahoy there!" line "Are you seasick?" done -_SSAnneEndBattleText2:: ; 8108e (20:508e) +_SSAnne5EndBattleText2:: ; 8108e (20:508e) text "I was" line "just careless!" prompt -_SSAnneAfterBattleText2:: ; 810a4 (20:50a4) +_SSAnne5AfterBattleText2:: ; 810a4 (20:50a4) text "My Pa said there" line "are 100 kinds of" cont "#MON. I think" diff --git a/text/maps/ss_anne_6.asm b/text/maps/ss_anne_6.asm index f93e0378..5909c8b9 100644 --- a/text/maps/ss_anne_6.asm +++ b/text/maps/ss_anne_6.asm @@ -39,14 +39,14 @@ _SSAnne6Text6:: ; 811c9 (20:51c9) cont "Snivel..." done -_UnnamedText_61807:: ; 81203 (20:5203) +_SSAnne6Text_61807:: ; 81203 (20:5203) text "Er-hem! Indeed I" line "am le CHEF!" para "Le main course is" prompt -_UnnamedText_6180c:: ; 81233 (20:5233) +_SSAnne6Text_6180c:: ; 81233 (20:5233) text "Salmon du Salad!" para "Les guests may" @@ -54,14 +54,14 @@ _UnnamedText_6180c:: ; 81233 (20:5233) cont "again, however!" done -_UnnamedText_61811:: ; 81273 (20:5273) +_SSAnne6Text_61811:: ; 81273 (20:5273) text "Eels au Barbecue!" para "Les guests will" line "mutiny, I fear." done -_UnnamedText_61816:: ; 812a6 (20:52a6) +_SSAnne6Text_61816:: ; 812a6 (20:52a6) text "Prime Beef Steak!" para "But, have I enough" diff --git a/text/maps/ss_anne_7.asm b/text/maps/ss_anne_7.asm index 39b1ad70..9e87cdf5 100644 --- a/text/maps/ss_anne_7.asm +++ b/text/maps/ss_anne_7.asm @@ -36,7 +36,7 @@ _ReceivedHM01Text:: ; 8140d (20:540d) TX_RAM $cf4b text "!@@" -_UnnamedText_61932:: ; 8141c (20:541c) +_SSAnne7Text_61932:: ; 8141c (20:541c) text "CAPTAIN: Whew!" para "Now that I'm not" diff --git a/text/maps/ss_anne_8.asm b/text/maps/ss_anne_8.asm index 30d1614d..5087c34f 100644 --- a/text/maps/ss_anne_8.asm +++ b/text/maps/ss_anne_8.asm @@ -30,7 +30,7 @@ _SSAnne8EndBattleText2:: ; 81582 (20:5582) line "You rude child!" prompt -_UnnamedText_61a24:: ; 8159a (20:559a) +_SSAnne8Text_61a24:: ; 8159a (20:559a) text "I wish to be left" line "alone! Get out!" done diff --git a/text/maps/ss_anne_9.asm b/text/maps/ss_anne_9.asm index 79bc8cbf..e133fc2c 100644 --- a/text/maps/ss_anne_9.asm +++ b/text/maps/ss_anne_9.asm @@ -1,4 +1,4 @@ -_UnnamedText_61bf2:: ; 81799 (20:5799) +_SSAnne9Text_61bf2:: ; 81799 (20:5799) text "In all my travels" line "I've never seen" cont "any #MON sleep" @@ -8,19 +8,19 @@ _UnnamedText_61bf2:: ; 81799 (20:5799) line "like this!" prompt -_UnnamedText_61c01:: ; 817f5 (20:57f5) +_SSAnne9Text_61c01:: ; 817f5 (20:57f5) text "Ah yes, I have" line "seen some #MON" cont "ferry people" cont "across the water!" done -_UnnamedText_61c10:: ; 81833 (20:5833) +_SSAnne9Text_61c10:: ; 81833 (20:5833) text "#MON can CUT" line "down small bushes." done -_UnnamedText_61c1f:: ; 81854 (20:5854) +_SSAnne9Text_61c1f:: ; 81854 (20:5854) text "Have you gone to" line "the SAFARI ZONE" cont "in FUCHSIA CITY?" @@ -29,19 +29,19 @@ _UnnamedText_61c1f:: ; 81854 (20:5854) line "kinds of #MON!!" done -_UnnamedText_61c2e:: ; 818a8 (20:58a8) +_SSAnne9Text_61c2e:: ; 818a8 (20:58a8) text "Me and my Daddy" line "think the SAFARI" cont "ZONE is awesome!" done -_UnnamedText_61c3d:: ; 818db (20:58db) +_SSAnne9Text_61c3d:: ; 818db (20:58db) text "The CAPTAIN looked" line "really sick and" cont "pale!" done -_UnnamedText_61c4c:: ; 81905 (20:5905) +_SSAnne9Text_61c4c:: ; 81905 (20:5905) text "I hear many people" line "get seasick!" done diff --git a/text/maps/vermilion_city.asm b/text/maps/vermilion_city.asm index 48cfa399..9c27bf64 100644 --- a/text/maps/vermilion_city.asm +++ b/text/maps/vermilion_city.asm @@ -7,13 +7,13 @@ _VermilionCityText1:: ; a5668 (29:5668) cont "toxic sludge!" done -_UnnamedText_198a7:: ; a56b5 (29:56b5) +_VermilionCityText_198a7:: ; a56b5 (29:56b5) text "Did you see S.S." line "ANNE moored in" cont "the harbor?" done -_UnnamedText_198ac:: ; a56e2 (29:56e2) +_VermilionCityText_198ac:: ; a56e2 (29:56e2) text "So, S.S.ANNE has" line "departed!" diff --git a/text/maps/vermilion_fishing_house.asm b/text/maps/vermilion_fishing_house.asm index 76b5c209..5ed59033 100644 --- a/text/maps/vermilion_fishing_house.asm +++ b/text/maps/vermilion_fishing_house.asm @@ -1,4 +1,4 @@ -_UnnamedText_560b1:: ; 9c510 (27:4510) +_VermilionHouse2Text_560b1:: ; 9c510 (27:4510) text "I'm the FISHING" line "GURU!" @@ -9,7 +9,7 @@ _UnnamedText_560b1:: ; 9c510 (27:4510) line "fish?" done -_UnnamedText_560b6:: ; 9c554 (27:4554) +_VermilionHouse2Text_560b6:: ; 9c554 (27:4554) text "Grand! I like" line "your style!" @@ -21,7 +21,7 @@ _UnnamedText_560b6:: ; 9c554 (27:4554) TX_RAM $cf4b text "!@@" -_UnnamedText_560bb:: ; 9c5a4 (27:45a4) +_VermilionHouse2Text_560bb:: ; 9c5a4 (27:45a4) db $0 para "Fishing is a way" line "of life!" @@ -32,12 +32,12 @@ _UnnamedText_560bb:: ; 9c5a4 (27:45a4) cont "one, young one!" done -_UnnamedText_560c0:: ; 9c601 (27:4601) +_VermilionHouse2Text_560c0:: ; 9c601 (27:4601) text "Oh... That's so" line "disappointing..." done -_UnnamedText_560c5:: ; 9c622 (27:4622) +_VermilionHouse2Text_560c5:: ; 9c622 (27:4622) text "Hello there," line $52, "!" @@ -45,7 +45,7 @@ _UnnamedText_560c5:: ; 9c622 (27:4622) line "biting?" done -_UnnamedText_560ca:: ; 9c64c (27:464c) +_VermilionHouse2Text_560ca:: ; 9c64c (27:464c) text "Oh no!" para "You have no room" diff --git a/text/maps/vermilion_gym_1.asm b/text/maps/vermilion_gym_1.asm index 29807bcb..10868bd4 100644 --- a/text/maps/vermilion_gym_1.asm +++ b/text/maps/vermilion_gym_1.asm @@ -1,4 +1,4 @@ -_UnnamedText_5cb6d:: ; 9aaa5 (26:6aa5) +_VermilionGymText_5cb6d:: ; 9aaa5 (26:6aa5) text "Hey, kid! What do" line "you think you're" cont "doing here?" diff --git a/text/maps/vermilion_gym_2.asm b/text/maps/vermilion_gym_2.asm index 8b40d630..28304f37 100644 --- a/text/maps/vermilion_gym_2.asm +++ b/text/maps/vermilion_gym_2.asm @@ -1,4 +1,4 @@ -_UnnamedText_5cb72:: ; 9c000 (27:4000) +_VermilionGymText_5cb72:: ; 9c000 (27:4000) text "A little word of" line "advice, kid!" @@ -10,7 +10,7 @@ _UnnamedText_5cb72:: ; 9c000 (27:4000) cont "type #MON!" done -_UnnamedText_5cb77:: ; 9c069 (27:4069) +_VermilionGymText_5cb77:: ; 9c069 (27:4069) text "The THUNDERBADGE" line "cranks up your" cont "#MON's SPEED!" @@ -111,7 +111,7 @@ _VermilionGymAfterBattleText3:: ; 9c2c0 (27:42c0) cont "next to it!" done -_UnnamedText_5cbf4:: ; 9c32b (27:432b) +_VermilionGymText_5cbf4:: ; 9c32b (27:432b) text "Yo! Champ in" line "making!" @@ -137,7 +137,7 @@ _UnnamedText_5cbf4:: ; 9c32b (27:432b) cont "get to him!" done -_UnnamedText_5cbf9:: ; 9c429 (27:4429) +_VermilionGymText_5cbf9:: ; 9c429 (27:4429) text "Whew! That match" line "was electric!" done diff --git a/text/maps/viridian_city.asm b/text/maps/viridian_city.asm index a2a15caf..7ff2d71d 100644 --- a/text/maps/viridian_city.asm +++ b/text/maps/viridian_city.asm @@ -9,7 +9,7 @@ _ViridianCityText1:: ; a43cc (29:43cc) cont "time, anywhere!" done -_UnnamedText_19122:: ; a4437 (29:4437) +_ViridianCityText_19122:: ; a4437 (29:4437) text "This #MON GYM" line "is always closed." @@ -17,23 +17,23 @@ _UnnamedText_19122:: ; a4437 (29:4437) line "LEADER is?" done -_UnnamedText_19127:: ; a4474 (29:4474) +_ViridianCityText_19127:: ; a4474 (29:4474) text "VIRIDIAN GYM's" line "LEADER returned!" done -_UnnamedText_1914d:: ; a4494 (29:4494) +_ViridianCityText_1914d:: ; a4494 (29:4494) text "You want to know" line "about the 2 kinds" cont "of caterpillar" cont "#MON?" done -_UnnamedText_19152:: ; a44cd (29:44cd) +_ViridianCityText_19152:: ; a44cd (29:44cd) text "Oh, OK then!" done -_UnnamedText_19157:: ; a44db (29:44db) +_ViridianCityText_19157:: ; a44db (29:44db) text "CATERPIE has no" line "poison, but" cont "WEEDLE does." @@ -42,14 +42,14 @@ _UnnamedText_19157:: ; a44db (29:44db) line "POISON STING!" done -_UnnamedText_19175:: ; a4525 (29:4525) +_ViridianCityText_19175:: ; a4525 (29:4525) text "Oh Grandpa! Don't" line "be so mean!" cont "He hasn't had his" cont "coffee yet." done -_UnnamedText_1917a:: ; a4560 (29:4560) +_ViridianCityText_1917a:: ; a4560 (29:4560) text "When I go shop in" line "PEWTER CITY, I" cont "have to take the" @@ -57,7 +57,7 @@ _UnnamedText_1917a:: ; a4560 (29:4560) cont "VIRIDIAN FOREST." done -_UnnamedText_19191:: ; a45b5 (29:45b5) +_ViridianCityText_19191:: ; a45b5 (29:45b5) text "You can't go" line "through here!" @@ -65,7 +65,7 @@ _UnnamedText_19191:: ; a45b5 (29:45b5) line "property!" done -_UnnamedText_191ca:: ; a45ea (29:45ea) +_ViridianCityText_191ca:: ; a45ea (29:45ea) text "Yawn!" line "I must have dozed" cont "off in the sun." @@ -97,7 +97,7 @@ _TM42NoRoomText:: ; a46d7 (29:46d7) line "stuff already." done -_UnnamedText_1920a:: ; a46f9 (29:46f9) +_ViridianCityText_1920a:: ; a46f9 (29:46f9) text "Ahh, I've had my" line "coffee now and I" cont "feel great!" @@ -109,7 +109,7 @@ _UnnamedText_1920a:: ; a46f9 (29:46f9) line "hurry?" done -_UnnamedText_1920f:: ; a4754 (29:4754) +_ViridianCityText_1920f:: ; a4754 (29:4754) text "I see you're using" line "a #DEX." @@ -126,12 +126,12 @@ _UnnamedText_1920f:: ; a4754 (29:4754) line "how to then." done -_UnnamedText_19214:: ; a47e6 (29:47e6) +_ViridianCityText_19214:: ; a47e6 (29:47e6) text "Time is money..." line "Go along then." done -_UnnamedText_19219:: ; a4807 (29:4807) +_ViridianCityText_19219:: ; a4807 (29:4807) text "First, you need" line "to weaken the" cont "target #MON." diff --git a/text/maps/viridian_gym.asm b/text/maps/viridian_gym.asm index 73904f7c..e1828c32 100644 --- a/text/maps/viridian_gym.asm +++ b/text/maps/viridian_gym.asm @@ -1,4 +1,4 @@ -_UnnamedText_74ace:: ; 95e09 (25:5e09) +_ViridianGymText_74ace:: ; 95e09 (25:5e09) text "Fwahahaha! This is" line "my hideout!" @@ -18,7 +18,7 @@ _UnnamedText_74ace:: ; 95e09 (25:5e09) cont "greatest trainer!" done -_UnnamedText_74ad3:: ; 95ed5 (25:5ed5) +_ViridianGymText_74ad3:: ; 95ed5 (25:5ed5) text "Ha!" line "That was a truly" cont "intense fight!" @@ -26,7 +26,7 @@ _UnnamedText_74ad3:: ; 95ed5 (25:5ed5) cont "As proof, here is" cont "the EARTHBADGE!@@" -_UnnamedText_74ad9:: ; 95f2b (25:5f2b) +_ViridianGymText_74ad9:: ; 95f2b (25:5f2b) text "Having lost, I" line "cannot face my" cont "underlings!" @@ -211,7 +211,7 @@ _ViridianGymAfterBattleText8:: ; 96412 (25:6412) cont "our GYM LEADER!" done -_UnnamedText_74bd4:: ; 96451 (25:6451) +_ViridianGymText_74bd4:: ; 96451 (25:6451) text "Yo! Champ in" line "making!" @@ -229,7 +229,7 @@ _UnnamedText_74bd4:: ; 96451 (25:6451) cont "#MON!" done -_UnnamedText_74bd9:: ; 964fb (25:64fb) +_ViridianGymText_74bd9:: ; 964fb (25:64fb) text "Blow me away!" line "GIOVANNI was the" cont "GYM LEADER here?" diff --git a/text/maps/viridian_house.asm b/text/maps/viridian_house.asm index ca382c0a..eec10c59 100644 --- a/text/maps/viridian_house.asm +++ b/text/maps/viridian_house.asm @@ -13,7 +13,7 @@ _ViridianHouseText2:: ; 95dc7 (25:5dc7) line "#MON too." done -_UnnamedText_1d5b1:: ; 95de1 (25:5de1) +_ViridianHouseText_1d5b1:: ; 95de1 (25:5de1) text "SPEARY: Tetweet!" done diff --git a/text/maps/wardens_house.asm b/text/maps/wardens_house.asm index 349c0c65..d5834483 100644 --- a/text/maps/wardens_house.asm +++ b/text/maps/wardens_house.asm @@ -72,12 +72,12 @@ _HM04NoRoomText:: ; 9e67a (27:667a) line "stuffed full!" done -_UnnamedText_75176:: ; 9e696 (27:6696) +_FuchsiaHouse2Text_75176:: ; 9e696 (27:6696) text "#MON photos" line "and fossils." done -_UnnamedText_7517b:: ; 9e6b0 (27:66b0) +_FuchsiaHouse2Text_7517b:: ; 9e6b0 (27:66b0) text "Old #MON" line "merchandise." done |