summaryrefslogtreecommitdiff
path: root/scripts/Route20.asm
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/Route20.asm')
-rwxr-xr-xscripts/Route20.asm353
1 files changed, 353 insertions, 0 deletions
diff --git a/scripts/Route20.asm b/scripts/Route20.asm
new file mode 100755
index 00000000..081a723e
--- /dev/null
+++ b/scripts/Route20.asm
@@ -0,0 +1,353 @@
+Route20_Script:
+ CheckAndResetEvent EVENT_IN_SEAFOAM_ISLANDS
+ call nz, Route20Script_50cc6
+ call EnableAutoTextBoxDrawing
+ ld hl, Route20TrainerHeader0
+ ld de, Route20_ScriptPointers
+ ld a, [wRoute20CurScript]
+ call ExecuteCurMapScriptInTable
+ ld [wRoute20CurScript], a
+ ret
+
+Route20Script_50cc6:
+ CheckBothEventsSet EVENT_SEAFOAM3_BOULDER1_DOWN_HOLE, EVENT_SEAFOAM3_BOULDER2_DOWN_HOLE
+ jr z, .asm_50cef
+ ld a, HS_SEAFOAM_ISLANDS_1F_BOULDER_1
+ call Route20Script_50d0c
+ ld a, HS_SEAFOAM_ISLANDS_1F_BOULDER_2
+ call Route20Script_50d0c
+ ld hl, .MissableObjectIDs
+.asm_50cdc
+ ld a, [hli]
+ cp $ff
+ jr z, .asm_50cef
+ push hl
+ call Route20Script_50d14
+ pop hl
+ jr .asm_50cdc
+
+.MissableObjectIDs:
+ db HS_SEAFOAM_ISLANDS_B1F_BOULDER_1
+ db HS_SEAFOAM_ISLANDS_B1F_BOULDER_2
+ db HS_SEAFOAM_ISLANDS_B2F_BOULDER_1
+ db HS_SEAFOAM_ISLANDS_B2F_BOULDER_2
+ db HS_SEAFOAM_ISLANDS_B3F_BOULDER_3
+ db HS_SEAFOAM_ISLANDS_B3F_BOULDER_4
+ db $FF
+
+.asm_50cef
+ CheckBothEventsSet EVENT_SEAFOAM4_BOULDER1_DOWN_HOLE, EVENT_SEAFOAM4_BOULDER2_DOWN_HOLE
+ ret z
+ ld a, HS_SEAFOAM_ISLANDS_B3F_BOULDER_1
+ call Route20Script_50d0c
+ ld a, HS_SEAFOAM_ISLANDS_B3F_BOULDER_2
+ call Route20Script_50d0c
+ ld a, HS_SEAFOAM_ISLANDS_B4F_BOULDER_1
+ call Route20Script_50d14
+ ld a, HS_SEAFOAM_ISLANDS_B4F_BOULDER_2
+ call Route20Script_50d14
+ ret
+
+Route20Script_50d0c:
+ ld [wMissableObjectIndex], a
+ predef_jump ShowObject
+
+Route20Script_50d14:
+ ld [wMissableObjectIndex], a
+ predef_jump HideObject
+
+Route20_ScriptPointers:
+ dw CheckFightingMapTrainers
+ dw DisplayEnemyTrainerTextAndStartBattle
+ dw EndTrainerBattle
+
+Route20_TextPointers:
+ dw Route20Text1
+ dw Route20Text2
+ dw Route20Text3
+ dw Route20Text4
+ dw Route20Text5
+ dw Route20Text6
+ dw Route20Text7
+ dw Route20Text8
+ dw Route20Text9
+ dw Route20Text10
+ dw Route20Text11
+ dw Route20Text12
+
+Route20TrainerHeader0:
+ dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_0
+ db ($4 << 4) ; trainer's view range
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_9, 1
+ dw Route20BattleText10 ; TextBeforeBattle
+ dw Route20AfterBattleText10 ; TextAfterBattle
+ dw Route20EndBattleText10 ; TextEndBattle
+ dw Route20EndBattleText10 ; TextEndBattle
+
+ db $ff
+
+Route20Text1:
+ TX_ASM
+ ld hl, Route20TrainerHeader0
+ call TalkToTrainer
+ jp TextScriptEnd
+
+Route20Text2:
+ TX_ASM
+ ld hl, Route20TrainerHeader1
+ call TalkToTrainer
+ jp TextScriptEnd
+
+Route20Text3:
+ TX_ASM
+ ld hl, Route20TrainerHeader2
+ call TalkToTrainer
+ jp TextScriptEnd
+
+Route20Text4:
+ TX_ASM
+ ld hl, Route20TrainerHeader3
+ call TalkToTrainer
+ jp TextScriptEnd
+
+Route20Text5:
+ TX_ASM
+ ld hl, Route20TrainerHeader4
+ call TalkToTrainer
+ jp TextScriptEnd
+
+Route20Text6:
+ TX_ASM
+ ld hl, Route20TrainerHeader5
+ call TalkToTrainer
+ jp TextScriptEnd
+
+Route20Text7:
+ TX_ASM
+ ld hl, Route20TrainerHeader6
+ call TalkToTrainer
+ jp TextScriptEnd
+
+Route20Text8:
+ TX_ASM
+ ld hl, Route20TrainerHeader7
+ call TalkToTrainer
+ jp TextScriptEnd
+
+Route20Text9:
+ TX_ASM
+ ld hl, Route20TrainerHeader8
+ call TalkToTrainer
+ jp TextScriptEnd
+
+Route20Text10:
+ TX_ASM
+ ld hl, Route20TrainerHeader9
+ call TalkToTrainer
+ jp TextScriptEnd
+
+Route20BattleText1:
+ TX_FAR _Route20BattleText1
+ db "@"
+
+Route20EndBattleText1:
+ TX_FAR _Route20EndBattleText1
+ db "@"
+
+Route20AfterBattleText1:
+ TX_FAR _Route20AfterBattleText1
+ db "@"
+
+Route20BattleText2:
+ TX_FAR _Route20BattleText2
+ db "@"
+
+Route20EndBattleText2:
+ TX_FAR _Route20EndBattleText2
+ db "@"
+
+Route20AfterBattleText2:
+ TX_FAR _Route20AfterBattleText2
+ db "@"
+
+Route20BattleText3:
+ TX_FAR _Route20BattleText3
+ db "@"
+
+Route20EndBattleText3:
+ TX_FAR _Route20EndBattleText3
+ db "@"
+
+Route20AfterBattleText3:
+ TX_FAR _Route20AfterBattleText3
+ db "@"
+
+Route20BattleText4:
+ TX_FAR _Route20BattleText4
+ db "@"
+
+Route20EndBattleText4:
+ TX_FAR _Route20EndBattleText4
+ db "@"
+
+Route20AfterBattleText4:
+ TX_FAR _Route20AfterBattleText4
+ db "@"
+
+Route20BattleText5:
+ TX_FAR _Route20BattleText5
+ db "@"
+
+Route20EndBattleText5:
+ TX_FAR _Route20EndBattleText5
+ db "@"
+
+Route20AfterBattleText5:
+ TX_FAR _Route20AfterBattleText5
+ db "@"
+
+Route20BattleText6:
+ TX_FAR _Route20BattleText6
+ db "@"
+
+Route20EndBattleText6:
+ TX_FAR _Route20EndBattleText6
+ db "@"
+
+Route20AfterBattleText6:
+ TX_FAR _Route20AfterBattleText6
+ db "@"
+
+Route20BattleText7:
+ TX_FAR _Route20BattleText7
+ db "@"
+
+Route20EndBattleText7:
+ TX_FAR _Route20EndBattleText7
+ db "@"
+
+Route20AfterBattleText7:
+ TX_FAR _Route20AfterBattleText7
+ db "@"
+
+Route20BattleText8:
+ TX_FAR _Route20BattleText8
+ db "@"
+
+Route20EndBattleText8:
+ TX_FAR _Route20EndBattleText8
+ db "@"
+
+Route20AfterBattleText8:
+ TX_FAR _Route20AfterBattleText8
+ db "@"
+
+Route20BattleText9:
+ TX_FAR _Route20BattleText9
+ db "@"
+
+Route20EndBattleText9:
+ TX_FAR _Route20EndBattleText9
+ db "@"
+
+Route20AfterBattleText9:
+ TX_FAR _Route20AfterBattleText9
+ db "@"
+
+Route20BattleText10:
+ TX_FAR _Route20BattleText10
+ db "@"
+
+Route20EndBattleText10:
+ TX_FAR _Route20EndBattleText10
+ db "@"
+
+Route20AfterBattleText10:
+ TX_FAR _Route20AfterBattleText10
+ db "@"
+
+Route20Text12:
+Route20Text11:
+ TX_FAR _Route20Text11
+ db "@"