summaryrefslogtreecommitdiff
path: root/scripts/Route12.asm
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/Route12.asm')
-rwxr-xr-xscripts/Route12.asm288
1 files changed, 288 insertions, 0 deletions
diff --git a/scripts/Route12.asm b/scripts/Route12.asm
new file mode 100755
index 00000000..510e7727
--- /dev/null
+++ b/scripts/Route12.asm
@@ -0,0 +1,288 @@
+Route12_Script:
+ call EnableAutoTextBoxDrawing
+ ld hl, Route12TrainerHeader0
+ ld de, Route12_ScriptPointers
+ ld a, [wRoute12CurScript]
+ call ExecuteCurMapScriptInTable
+ ld [wRoute12CurScript], a
+ ret
+
+Route12Script_59606:
+ xor a
+ ld [wJoyIgnore], a
+ ld [wRoute12CurScript], a
+ ld [wCurMapScript], a
+ ret
+
+Route12_ScriptPointers:
+ dw Route12Script0
+ dw DisplayEnemyTrainerTextAndStartBattle
+ dw EndTrainerBattle
+ dw Route12Script3
+
+Route12Script0:
+ CheckEventHL EVENT_BEAT_ROUTE12_SNORLAX
+ jp nz, CheckFightingMapTrainers
+ CheckEventReuseHL EVENT_FIGHT_ROUTE12_SNORLAX
+ ResetEventReuseHL EVENT_FIGHT_ROUTE12_SNORLAX
+ jp z, CheckFightingMapTrainers
+ ld a, $d
+ ld [hSpriteIndexOrTextID], a
+ call DisplayTextID
+ ld a, SNORLAX
+ ld [wCurOpponent], a
+ ld a, 30
+ ld [wCurEnemyLVL], a
+ ld a, HS_ROUTE_12_SNORLAX
+ ld [wMissableObjectIndex], a
+ predef HideObject
+ ld a, $3
+ ld [wRoute12CurScript], a
+ ld [wCurMapScript], a
+ ret
+
+Route12Script3:
+ ld a, [wIsInBattle]
+ cp $ff
+ jr z, Route12Script_59606
+ call UpdateSprites
+ ld a, [wBattleResult]
+ cp $2
+ jr z, .asm_59664
+ ld a, $e
+ ld [hSpriteIndexOrTextID], a
+ call DisplayTextID
+.asm_59664
+ SetEvent EVENT_BEAT_ROUTE12_SNORLAX
+ call Delay3
+ ld a, $0
+ ld [wRoute12CurScript], a
+ ld [wCurMapScript], a
+ ret
+
+Route12_TextPointers:
+ dw Route12Text1
+ dw Route12Text2
+ dw Route12Text3
+ dw Route12Text4
+ dw Route12Text5
+ dw Route12Text6
+ dw Route12Text7
+ dw Route12Text8
+ dw PickUpItemText
+ dw PickUpItemText
+ dw Route12Text11
+ dw Route12Text12
+ dw Route12Text13
+ dw Route12Text14
+
+Route12TrainerHeader0:
+ dbEventFlagBit EVENT_BEAT_ROUTE_12_TRAINER_0
+ db ($4 << 4) ; trainer's view range
+ dwEventFlagAddress EVENT_BEAT_ROUTE_12_TRAINER_0
+ dw Route12BattleText1 ; TextBeforeBattle
+ dw Route12AfterBattleText1 ; TextAfterBattle
+ dw Route12EndBattleText1 ; TextEndBattle
+ dw Route12EndBattleText1 ; TextEndBattle
+
+Route12TrainerHeader1:
+ dbEventFlagBit EVENT_BEAT_ROUTE_12_TRAINER_1
+ db ($4 << 4) ; trainer's view range
+ dwEventFlagAddress EVENT_BEAT_ROUTE_12_TRAINER_1
+ dw Route12BattleText2 ; TextBeforeBattle
+ dw Route12AfterBattleText2 ; TextAfterBattle
+ dw Route12EndBattleText2 ; TextEndBattle
+ dw Route12EndBattleText2 ; TextEndBattle
+
+Route12TrainerHeader2:
+ dbEventFlagBit EVENT_BEAT_ROUTE_12_TRAINER_2
+ db ($4 << 4) ; trainer's view range
+ dwEventFlagAddress EVENT_BEAT_ROUTE_12_TRAINER_2
+ dw Route12BattleText3 ; TextBeforeBattle
+ dw Route12AfterBattleText3 ; TextAfterBattle
+ dw Route12EndBattleText3 ; TextEndBattle
+ dw Route12EndBattleText3 ; TextEndBattle
+
+Route12TrainerHeader3:
+ dbEventFlagBit EVENT_BEAT_ROUTE_12_TRAINER_3
+ db ($4 << 4) ; trainer's view range
+ dwEventFlagAddress EVENT_BEAT_ROUTE_12_TRAINER_3
+ dw Route12BattleText4 ; TextBeforeBattle
+ dw Route12AfterBattleText4 ; TextAfterBattle
+ dw Route12EndBattleText4 ; TextEndBattle
+ dw Route12EndBattleText4 ; TextEndBattle
+
+Route12TrainerHeader4:
+ dbEventFlagBit EVENT_BEAT_ROUTE_12_TRAINER_4
+ db ($4 << 4) ; trainer's view range
+ dwEventFlagAddress EVENT_BEAT_ROUTE_12_TRAINER_4
+ dw Route12BattleText5 ; TextBeforeBattle
+ dw Route12AfterBattleText5 ; TextAfterBattle
+ dw Route12EndBattleText5 ; TextEndBattle
+ dw Route12EndBattleText5 ; TextEndBattle
+
+Route12TrainerHeader5:
+ dbEventFlagBit EVENT_BEAT_ROUTE_12_TRAINER_5
+ db ($4 << 4) ; trainer's view range
+ dwEventFlagAddress EVENT_BEAT_ROUTE_12_TRAINER_5
+ dw Route12BattleText6 ; TextBeforeBattle
+ dw Route12AfterBattleText6 ; TextAfterBattle
+ dw Route12EndBattleText6 ; TextEndBattle
+ dw Route12EndBattleText6 ; TextEndBattle
+
+Route12TrainerHeader6:
+ dbEventFlagBit EVENT_BEAT_ROUTE_12_TRAINER_6, 1
+ db ($1 << 4) ; trainer's view range
+ dwEventFlagAddress EVENT_BEAT_ROUTE_12_TRAINER_6, 1
+ dw Route12BattleText7 ; TextBeforeBattle
+ dw Route12AfterBattleText7 ; TextAfterBattle
+ dw Route12EndBattleText7 ; TextEndBattle
+ dw Route12EndBattleText7 ; TextEndBattle
+
+ db $ff
+
+Route12Text1:
+ TX_FAR _Route12Text1
+ db "@"
+
+Route12Text13:
+ TX_FAR _Route12Text13
+ db "@"
+
+Route12Text14:
+ TX_FAR _Route12Text14
+ db "@"
+
+Route12Text2:
+ TX_ASM
+ ld hl, Route12TrainerHeader0
+ call TalkToTrainer
+ jp TextScriptEnd
+
+Route12BattleText1:
+ TX_FAR _Route12BattleText1
+ db "@"
+
+Route12EndBattleText1:
+ TX_FAR _Route12EndBattleText1
+ db "@"
+
+Route12AfterBattleText1:
+ TX_FAR _Route12AfterBattleText1
+ db "@"
+
+Route12Text3:
+ TX_ASM
+ ld hl, Route12TrainerHeader1
+ call TalkToTrainer
+ jp TextScriptEnd
+
+Route12BattleText2:
+ TX_FAR _Route12BattleText2
+ db "@"
+
+Route12EndBattleText2:
+ TX_FAR _Route12EndBattleText2
+ db "@"
+
+Route12AfterBattleText2:
+ TX_FAR _Route12AfterBattleText2
+ db "@"
+
+Route12Text4:
+ TX_ASM
+ ld hl, Route12TrainerHeader2
+ call TalkToTrainer
+ jp TextScriptEnd
+
+Route12BattleText3:
+ TX_FAR _Route12BattleText3
+ db "@"
+
+Route12EndBattleText3:
+ TX_FAR _Route12EndBattleText3
+ db "@"
+
+Route12AfterBattleText3:
+ TX_FAR _Route12AfterBattleText3
+ db "@"
+
+Route12Text5:
+ TX_ASM
+ ld hl, Route12TrainerHeader3
+ call TalkToTrainer
+ jp TextScriptEnd
+
+Route12BattleText4:
+ TX_FAR _Route12BattleText4
+ db "@"
+
+Route12EndBattleText4:
+ TX_FAR _Route12EndBattleText4
+ db "@"
+
+Route12AfterBattleText4:
+ TX_FAR _Route12AfterBattleText4
+ db "@"
+
+Route12Text6:
+ TX_ASM
+ ld hl, Route12TrainerHeader4
+ call TalkToTrainer
+ jp TextScriptEnd
+
+Route12BattleText5:
+ TX_FAR _Route12BattleText5
+ db "@"
+
+Route12EndBattleText5:
+ TX_FAR _Route12EndBattleText5
+ db "@"
+
+Route12AfterBattleText5:
+ TX_FAR _Route12AfterBattleText5
+ db "@"
+
+Route12Text7:
+ TX_ASM
+ ld hl, Route12TrainerHeader5
+ call TalkToTrainer
+ jp TextScriptEnd
+
+Route12BattleText6:
+ TX_FAR _Route12BattleText6
+ db "@"
+
+Route12EndBattleText6:
+ TX_FAR _Route12EndBattleText6
+ db "@"
+
+Route12AfterBattleText6:
+ TX_FAR _Route12AfterBattleText6
+ db "@"
+
+Route12Text8:
+ TX_ASM
+ ld hl, Route12TrainerHeader6
+ call TalkToTrainer
+ jp TextScriptEnd
+
+Route12BattleText7:
+ TX_FAR _Route12BattleText7
+ db "@"
+
+Route12EndBattleText7:
+ TX_FAR _Route12EndBattleText7
+ db "@"
+
+Route12AfterBattleText7:
+ TX_FAR _Route12AfterBattleText7
+ db "@"
+
+Route12Text11:
+ TX_FAR _Route12Text11
+ db "@"
+
+Route12Text12:
+ TX_FAR _Route12Text12
+ db "@"