pokered/scripts/route12.asm
2016-06-11 17:24:04 -07:00

289 lines
5.9 KiB
NASM
Executable file

Route12Script:
call EnableAutoTextBoxDrawing
ld hl, Route12TrainerHeaders
ld de, Route12ScriptPointers
ld a, [wRoute12CurScript]
call ExecuteCurMapScriptInTable
ld [wRoute12CurScript], a
ret
Route12Script_59606:
xor a
ld [wJoyIgnore], a
ld [wRoute12CurScript], a
ld [wCurMapScript], a
ret
Route12ScriptPointers:
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
Route12TextPointers:
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
Route12TrainerHeaders:
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 "@"