diff options
Diffstat (limited to 'scripts/route20.asm')
-rwxr-xr-x | scripts/route20.asm | 313 |
1 files changed, 153 insertions, 160 deletions
diff --git a/scripts/route20.asm b/scripts/route20.asm index 4ef57e23..53ff5e55 100755 --- a/scripts/route20.asm +++ b/scripts/route20.asm @@ -1,26 +1,22 @@ -Route20Script: ; 50ca9 (14:4ca9) - ld hl, wd7e7 - bit 0, [hl] - res 0, [hl] +Route20Script: + CheckAndResetEvent EVENT_IN_SEAFOAM_ISLANDS call nz, Route20Script_50cc6 call EnableAutoTextBoxDrawing - ld hl, Route20TrainerHeader0 ; $4d3a + ld hl, Route20TrainerHeader0 ld de, Route20ScriptPointers - ld a, [W_ROUTE20CURSCRIPT] + ld a, [wRoute20CurScript] call ExecuteCurMapScriptInTable - ld [W_ROUTE20CURSCRIPT], a + ld [wRoute20CurScript], a ret -Route20Script_50cc6: ; 50cc6 (14:4cc6) - ld a, [wd880] - and $3 - cp $3 +Route20Script_50cc6: + CheckBothEventsSet EVENT_SEAFOAM3_BOULDER1_DOWN_HOLE, EVENT_SEAFOAM3_BOULDER2_DOWN_HOLE jr z, .asm_50cef - ld a, $d7 + ld a, HS_SEAFOAM_ISLANDS_1_BOULDER_1 call Route20Script_50d0c - ld a, $d8 + ld a, HS_SEAFOAM_ISLANDS_1_BOULDER_2 call Route20Script_50d0c - ld hl, .MissableObjectIDs ; $4ce8 + ld hl, .MissableObjectIDs .asm_50cdc ld a, [hli] cp $ff @@ -30,7 +26,7 @@ Route20Script_50cc6: ; 50cc6 (14:4cc6) pop hl jr .asm_50cdc -.MissableObjectIDs: ; 50ce8 (14:4ce8) +.MissableObjectIDs: db HS_SEAFOAM_ISLANDS_2_BOULDER_1 db HS_SEAFOAM_ISLANDS_2_BOULDER_2 db HS_SEAFOAM_ISLANDS_3_BOULDER_1 @@ -40,9 +36,7 @@ Route20Script_50cc6: ; 50cc6 (14:4cc6) db $FF .asm_50cef - ld a, [wd881] - and $3 - cp $3 + CheckBothEventsSet EVENT_SEAFOAM4_BOULDER1_DOWN_HOLE, EVENT_SEAFOAM4_BOULDER2_DOWN_HOLE ret z ld a, HS_SEAFOAM_ISLANDS_4_BOULDER_1 call Route20Script_50d0c @@ -54,20 +48,20 @@ Route20Script_50cc6: ; 50cc6 (14:4cc6) call Route20Script_50d14 ret -Route20Script_50d0c: ; 50d0c (14:4d0c) - ld [wcc4d], a +Route20Script_50d0c: + ld [wMissableObjectIndex], a predef_jump ShowObject -Route20Script_50d14: ; 50d14 (14:4d14) - ld [wcc4d], a +Route20Script_50d14: + ld [wMissableObjectIndex], a predef_jump HideObject -Route20ScriptPointers: ; 50d1c (14:4d1c) +Route20ScriptPointers: dw CheckFightingMapTrainers dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle -Route20TextPointers: ; 50d22 (14:4d22) +Route20TextPointers: dw Route20Text1 dw Route20Text2 dw Route20Text3 @@ -81,280 +75,279 @@ Route20TextPointers: ; 50d22 (14:4d22) dw Route20Text11 dw Route20Text12 -Route20TrainerHeaders: ; 50d3a (14:4d3a) -Route20TrainerHeader0: ; 50d3a (14:4d3a) - db $1 ; flag's bit +Route20TrainerHeader0: + dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_0 db ($4 << 4) ; trainer's view range - dw wd7e7 ; 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 + dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_0 + dw Route20BattleText1 ; TextBeforeBattle + dw Route20AfterBattleText1 ; TextAfterBattle + dw Route20EndBattleText1 ; TextEndBattle + dw Route20EndBattleText1 ; TextEndBattle + +Route20TrainerHeader1: + dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_1 db ($4 << 4) ; trainer's view range - dw wd7e7 ; 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 + dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_1 + dw Route20BattleText2 ; TextBeforeBattle + dw Route20AfterBattleText2 ; TextAfterBattle + dw Route20EndBattleText2 ; TextEndBattle + dw Route20EndBattleText2 ; TextEndBattle + +Route20TrainerHeader2: + dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_2 db ($2 << 4) ; trainer's view range - dw wd7e7 ; 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 + dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_2 + dw Route20BattleText3 ; TextBeforeBattle + dw Route20AfterBattleText3 ; TextAfterBattle + dw Route20EndBattleText3 ; TextEndBattle + dw Route20EndBattleText3 ; TextEndBattle + +Route20TrainerHeader3: + dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_3 db ($4 << 4) ; trainer's view range - dw wd7e7 ; 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 + dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_3 + dw Route20BattleText4 ; TextBeforeBattle + dw Route20AfterBattleText4 ; TextAfterBattle + dw Route20EndBattleText4 ; TextEndBattle + dw Route20EndBattleText4 ; TextEndBattle + +Route20TrainerHeader4: + dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_4 db ($3 << 4) ; trainer's view range - dw wd7e7 ; 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 + dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_4 + dw Route20BattleText5 ; TextBeforeBattle + dw Route20AfterBattleText5 ; TextAfterBattle + dw Route20EndBattleText5 ; TextEndBattle + dw Route20EndBattleText5 ; TextEndBattle + +Route20TrainerHeader5: + dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_5 db ($4 << 4) ; trainer's view range - dw wd7e7 ; 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 + dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_5 + dw Route20BattleText6 ; TextBeforeBattle + dw Route20AfterBattleText6 ; TextAfterBattle + dw Route20EndBattleText6 ; TextEndBattle + dw Route20EndBattleText6 ; TextEndBattle + +Route20TrainerHeader6: + dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_6 db ($2 << 4) ; trainer's view range - dw wd7e7 ; 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 + dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_6 + dw Route20BattleText7 ; TextBeforeBattle + dw Route20AfterBattleText7 ; TextAfterBattle + dw Route20EndBattleText7 ; TextEndBattle + dw Route20EndBattleText7 ; TextEndBattle + +Route20TrainerHeader7: + dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_7, 1 db ($4 << 4) ; trainer's view range - dw wd7e7 ; 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 + dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_7, 1 + dw Route20BattleText8 ; TextBeforeBattle + dw Route20AfterBattleText8 ; TextAfterBattle + dw Route20EndBattleText8 ; TextEndBattle + dw Route20EndBattleText8 ; TextEndBattle + +Route20TrainerHeader8: + dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_8, 1 db ($3 << 4) ; trainer's view range - dw wd7e7 ; 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 + dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_8, 1 + dw Route20BattleText9 ; TextBeforeBattle + dw Route20AfterBattleText9 ; TextAfterBattle + dw Route20EndBattleText9 ; TextEndBattle + dw Route20EndBattleText9 ; TextEndBattle + +Route20TrainerHeader9: + dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_9, 1 db ($4 << 4) ; trainer's view range - dw wd7e7 ; flag's byte - dw Route20BattleText10 ; 0x4e9e TextBeforeBattle - dw Route20AfterBattleText10 ; 0x4ea8 TextAfterBattle - dw Route20EndBattleText10 ; 0x4ea3 TextEndBattle - dw Route20EndBattleText10 ; 0x4ea3 TextEndBattle + dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_9, 1 + dw Route20BattleText10 ; TextBeforeBattle + dw Route20AfterBattleText10 ; TextAfterBattle + dw Route20EndBattleText10 ; TextEndBattle + dw Route20EndBattleText10 ; TextEndBattle db $ff -Route20Text1: ; 50db3 (14:4db3) - db $08 ; asm +Route20Text1: + TX_ASM ld hl, Route20TrainerHeader0 call TalkToTrainer jp TextScriptEnd -Route20Text2: ; 50dbd (14:4dbd) - db $08 ; asm +Route20Text2: + TX_ASM + ld hl, Route20TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +Route20Text3: + TX_ASM ld hl, Route20TrainerHeader2 call TalkToTrainer jp TextScriptEnd -Route20Text3: ; 50dc7 (14:4dc7) - db $08 ; asm +Route20Text4: + TX_ASM ld hl, Route20TrainerHeader3 call TalkToTrainer jp TextScriptEnd -Route20Text4: ; 50dd1 (14:4dd1) - db $08 ; asm +Route20Text5: + TX_ASM ld hl, Route20TrainerHeader4 call TalkToTrainer jp TextScriptEnd -Route20Text5: ; 50ddb (14:4ddb) - db $08 ; asm +Route20Text6: + TX_ASM ld hl, Route20TrainerHeader5 call TalkToTrainer jp TextScriptEnd -Route20Text6: ; 50de5 (14:4de5) - db $08 ; asm +Route20Text7: + TX_ASM ld hl, Route20TrainerHeader6 call TalkToTrainer jp TextScriptEnd -Route20Text7: ; 50def (14:4def) - db $08 ; asm +Route20Text8: + TX_ASM ld hl, Route20TrainerHeader7 call TalkToTrainer jp TextScriptEnd -Route20Text8: ; 50df9 (14:4df9) - db $08 ; asm +Route20Text9: + TX_ASM ld hl, Route20TrainerHeader8 call TalkToTrainer jp TextScriptEnd -Route20Text9: ; 50e03 (14:4e03) - db $08 ; asm +Route20Text10: + TX_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) +Route20BattleText1: TX_FAR _Route20BattleText1 db "@" -Route20EndBattleText1: ; 50e1c (14:4e1c) +Route20EndBattleText1: TX_FAR _Route20EndBattleText1 db "@" -Route20AfterBattleText1: ; 50e21 (14:4e21) +Route20AfterBattleText1: TX_FAR _Route20AfterBattleText1 db "@" -Route20BattleText2: ; 50e26 (14:4e26) +Route20BattleText2: TX_FAR _Route20BattleText2 db "@" -Route20EndBattleText2: ; 50e2b (14:4e2b) +Route20EndBattleText2: TX_FAR _Route20EndBattleText2 db "@" -Route20AfterBattleText2: ; 50e30 (14:4e30) +Route20AfterBattleText2: TX_FAR _Route20AfterBattleText2 db "@" -Route20BattleText3: ; 50e35 (14:4e35) +Route20BattleText3: TX_FAR _Route20BattleText3 db "@" -Route20EndBattleText3: ; 50e3a (14:4e3a) +Route20EndBattleText3: TX_FAR _Route20EndBattleText3 db "@" -Route20AfterBattleText3: ; 50e3f (14:4e3f) +Route20AfterBattleText3: TX_FAR _Route20AfterBattleText3 db "@" -Route20BattleText4: ; 50e44 (14:4e44) +Route20BattleText4: TX_FAR _Route20BattleText4 db "@" -Route20EndBattleText4: ; 50e49 (14:4e49) +Route20EndBattleText4: TX_FAR _Route20EndBattleText4 db "@" -Route20AfterBattleText4: ; 50e4e (14:4e4e) +Route20AfterBattleText4: TX_FAR _Route20AfterBattleText4 db "@" -Route20BattleText5: ; 50e53 (14:4e53) +Route20BattleText5: TX_FAR _Route20BattleText5 db "@" -Route20EndBattleText5: ; 50e58 (14:4e58) +Route20EndBattleText5: TX_FAR _Route20EndBattleText5 db "@" -Route20AfterBattleText5: ; 50e5d (14:4e5d) +Route20AfterBattleText5: TX_FAR _Route20AfterBattleText5 db "@" -Route20BattleText6: ; 50e62 (14:4e62) +Route20BattleText6: TX_FAR _Route20BattleText6 db "@" -Route20EndBattleText6: ; 50e67 (14:4e67) +Route20EndBattleText6: TX_FAR _Route20EndBattleText6 db "@" -Route20AfterBattleText6: ; 50e6c (14:4e6c) +Route20AfterBattleText6: TX_FAR _Route20AfterBattleText6 db "@" -Route20BattleText7: ; 50e71 (14:4e71) +Route20BattleText7: TX_FAR _Route20BattleText7 db "@" -Route20EndBattleText7: ; 50e76 (14:4e76) +Route20EndBattleText7: TX_FAR _Route20EndBattleText7 db "@" -Route20AfterBattleText7: ; 50e7b (14:4e7b) +Route20AfterBattleText7: TX_FAR _Route20AfterBattleText7 db "@" -Route20BattleText8: ; 50e80 (14:4e80) +Route20BattleText8: TX_FAR _Route20BattleText8 db "@" -Route20EndBattleText8: ; 50e85 (14:4e85) +Route20EndBattleText8: TX_FAR _Route20EndBattleText8 db "@" -Route20AfterBattleText8: ; 50e8a (14:4e8a) +Route20AfterBattleText8: TX_FAR _Route20AfterBattleText8 db "@" -Route20BattleText9: ; 50e8f (14:4e8f) +Route20BattleText9: TX_FAR _Route20BattleText9 db "@" -Route20EndBattleText9: ; 50e94 (14:4e94) +Route20EndBattleText9: TX_FAR _Route20EndBattleText9 db "@" -Route20AfterBattleText9: ; 50e99 (14:4e99) +Route20AfterBattleText9: TX_FAR _Route20AfterBattleText9 db "@" -Route20BattleText10: ; 50e9e (14:4e9e) +Route20BattleText10: TX_FAR _Route20BattleText10 db "@" -Route20EndBattleText10: ; 50ea3 (14:4ea3) +Route20EndBattleText10: TX_FAR _Route20EndBattleText10 db "@" -Route20AfterBattleText10: ; 50ea8 (14:4ea8) +Route20AfterBattleText10: TX_FAR _Route20AfterBattleText10 db "@" -Route20Text12: ; 50ead (14:4ead) -Route20Text11: ; 50ead (14:4ead) +Route20Text12: +Route20Text11: TX_FAR _Route20Text11 db "@" |