pokered/scripts/saffrongym.asm

360 lines
7.5 KiB
NASM
Raw Normal View History

2016-06-12 00:24:04 +00:00
SaffronGymScript:
2016-01-03 19:17:10 +00:00
ld hl, wCurrentMapScriptFlags
2014-05-18 18:19:10 +00:00
bit 6, [hl]
res 6, [hl]
call nz, .extra
call EnableAutoTextBoxDrawing
ld hl, SaffronGymTrainerHeader0
ld de, SaffronGymScriptPointers
2015-08-31 02:38:41 +00:00
ld a, [wSaffronGymCurScript]
2014-05-18 18:19:10 +00:00
call ExecuteCurMapScriptInTable
2015-08-31 02:38:41 +00:00
ld [wSaffronGymCurScript], a
2014-05-18 18:19:10 +00:00
ret
.extra
ld hl, Gym6CityName
ld de, Gym6LeaderName
2014-05-18 18:19:10 +00:00
jp LoadGymLeaderAndCityName
2016-06-12 00:24:04 +00:00
Gym6CityName:
2014-05-18 18:19:10 +00:00
db "SAFFRON CITY@"
2016-06-12 00:24:04 +00:00
Gym6LeaderName:
2014-05-18 18:19:10 +00:00
db "SABRINA@"
2016-06-12 00:24:04 +00:00
SaffronGymText_5d048:
2014-05-18 18:19:10 +00:00
xor a
2014-05-25 17:51:53 +00:00
ld [wJoyIgnore], a
2015-08-31 02:38:41 +00:00
ld [wSaffronGymCurScript], a
ld [wCurMapScript], a
2014-05-18 18:19:10 +00:00
ret
2016-06-12 00:24:04 +00:00
SaffronGymScriptPointers:
2014-05-18 18:19:10 +00:00
dw CheckFightingMapTrainers
2014-09-14 18:29:18 +00:00
dw DisplayEnemyTrainerTextAndStartBattle
2014-05-18 18:19:10 +00:00
dw EndTrainerBattle
dw SaffronGymScript3
2016-06-12 00:24:04 +00:00
SaffronGymScript3:
2015-08-31 02:38:41 +00:00
ld a, [wIsInBattle]
2014-05-18 18:19:10 +00:00
cp $ff
jp z, SaffronGymText_5d048
ld a, $f0
2014-05-25 17:51:53 +00:00
ld [wJoyIgnore], a
2014-05-18 18:19:10 +00:00
2016-06-12 00:24:04 +00:00
SaffronGymText_5d068:
2014-05-18 18:19:10 +00:00
ld a, $a
2015-07-18 15:17:29 +00:00
ld [hSpriteIndexOrTextID], a
2014-05-18 18:19:10 +00:00
call DisplayTextID
2015-07-21 02:41:23 +00:00
SetEvent EVENT_BEAT_SABRINA
2015-08-05 21:20:29 +00:00
lb bc, TM_46, 1
2014-05-18 18:19:10 +00:00
call GiveItem
jr nc, .BagFull
ld a, $b
2015-07-18 15:17:29 +00:00
ld [hSpriteIndexOrTextID], a
2014-05-18 18:19:10 +00:00
call DisplayTextID
2015-07-21 02:41:23 +00:00
SetEvent EVENT_GOT_TM46
2014-05-18 18:19:10 +00:00
jr .asm_5d091
.BagFull
ld a, $c
2015-07-18 15:17:29 +00:00
ld [hSpriteIndexOrTextID], a
2014-05-18 18:19:10 +00:00
call DisplayTextID
.asm_5d091
2015-08-31 02:38:41 +00:00
ld hl, wObtainedBadges
2014-05-18 18:19:10 +00:00
set 5, [hl]
2015-07-26 02:26:54 +00:00
ld hl, wBeatGymFlags
2014-05-18 18:19:10 +00:00
set 5, [hl]
; deactivate gym trainers
2015-07-21 01:32:02 +00:00
SetEventRange EVENT_BEAT_SAFFRON_GYM_TRAINER_0, EVENT_BEAT_SAFFRON_GYM_TRAINER_6
2014-05-18 18:19:10 +00:00
jp SaffronGymText_5d048
2016-06-12 00:24:04 +00:00
SaffronGymTextPointers:
2014-05-18 18:19:10 +00:00
dw SaffronGymText1
dw SaffronGymText2
dw SaffronGymText3
dw SaffronGymText4
dw SaffronGymText5
dw SaffronGymText6
dw SaffronGymText7
dw SaffronGymText8
dw SaffronGymText9
dw SaffronGymText10
dw SaffronGymText11
dw SaffronGymText12
2016-06-12 00:24:04 +00:00
SaffronGymTrainerHeaders:
SaffronGymTrainerHeader0:
2015-07-21 01:32:02 +00:00
dbEventFlagBit EVENT_BEAT_SAFFRON_GYM_TRAINER_0
2014-05-18 18:19:10 +00:00
db ($3 << 4) ; trainer's view range
2015-07-21 01:32:02 +00:00
dwEventFlagAddress EVENT_BEAT_SAFFRON_GYM_TRAINER_0
dw SaffronGymBattleText1 ; TextBeforeBattle
dw SaffronGymAfterBattleText1 ; TextAfterBattle
dw SaffronGymEndBattleText1 ; TextEndBattle
dw SaffronGymEndBattleText1 ; TextEndBattle
2014-05-18 18:19:10 +00:00
2016-06-12 00:24:04 +00:00
SaffronGymTrainerHeader1:
2015-07-21 01:32:02 +00:00
dbEventFlagBit EVENT_BEAT_SAFFRON_GYM_TRAINER_1
2014-05-18 18:19:10 +00:00
db ($3 << 4) ; trainer's view range
2015-07-21 01:32:02 +00:00
dwEventFlagAddress EVENT_BEAT_SAFFRON_GYM_TRAINER_1
dw SaffronGymBattleText2 ; TextBeforeBattle
dw SaffronGymAfterBattleText2 ; TextAfterBattle
dw SaffronGymEndBattleText2 ; TextEndBattle
dw SaffronGymEndBattleText2 ; TextEndBattle
2014-05-18 18:19:10 +00:00
2016-06-12 00:24:04 +00:00
SaffronGymTrainerHeader2:
2015-07-21 01:32:02 +00:00
dbEventFlagBit EVENT_BEAT_SAFFRON_GYM_TRAINER_2
2014-05-18 18:19:10 +00:00
db ($3 << 4) ; trainer's view range
2015-07-21 01:32:02 +00:00
dwEventFlagAddress EVENT_BEAT_SAFFRON_GYM_TRAINER_2
dw SaffronGymBattleText3 ; TextBeforeBattle
dw SaffronGymAfterBattleText3 ; TextAfterBattle
dw SaffronGymEndBattleText3 ; TextEndBattle
dw SaffronGymEndBattleText3 ; TextEndBattle
2014-05-18 18:19:10 +00:00
2016-06-12 00:24:04 +00:00
SaffronGymTrainerHeader3:
2015-07-21 01:32:02 +00:00
dbEventFlagBit EVENT_BEAT_SAFFRON_GYM_TRAINER_3
2014-05-18 18:19:10 +00:00
db ($3 << 4) ; trainer's view range
2015-07-21 01:32:02 +00:00
dwEventFlagAddress EVENT_BEAT_SAFFRON_GYM_TRAINER_3
dw SaffronGymBattleText4 ; TextBeforeBattle
dw SaffronGymAfterBattleText4 ; TextAfterBattle
dw SaffronGymEndBattleText4 ; TextEndBattle
dw SaffronGymEndBattleText4 ; TextEndBattle
2014-05-18 18:19:10 +00:00
2016-06-12 00:24:04 +00:00
SaffronGymTrainerHeader4:
2015-07-21 01:32:02 +00:00
dbEventFlagBit EVENT_BEAT_SAFFRON_GYM_TRAINER_4
2014-05-18 18:19:10 +00:00
db ($3 << 4) ; trainer's view range
2015-07-21 01:32:02 +00:00
dwEventFlagAddress EVENT_BEAT_SAFFRON_GYM_TRAINER_4
dw SaffronGymBattleText5 ; TextBeforeBattle
dw SaffronGymAfterBattleText5 ; TextAfterBattle
dw SaffronGymEndBattleText5 ; TextEndBattle
dw SaffronGymEndBattleText5 ; TextEndBattle
2014-05-18 18:19:10 +00:00
2016-06-12 00:24:04 +00:00
SaffronGymTrainerHeader5:
2015-07-21 01:32:02 +00:00
dbEventFlagBit EVENT_BEAT_SAFFRON_GYM_TRAINER_5
2014-05-18 18:19:10 +00:00
db ($3 << 4) ; trainer's view range
2015-07-21 01:32:02 +00:00
dwEventFlagAddress EVENT_BEAT_SAFFRON_GYM_TRAINER_5
dw SaffronGymBattleText6 ; TextBeforeBattle
dw SaffronGymAfterBattleText6 ; TextAfterBattle
dw SaffronGymEndBattleText6 ; TextEndBattle
dw SaffronGymEndBattleText6 ; TextEndBattle
2014-05-18 18:19:10 +00:00
2016-06-12 00:24:04 +00:00
SaffronGymTrainerHeader6:
2015-07-21 01:32:02 +00:00
dbEventFlagBit EVENT_BEAT_SAFFRON_GYM_TRAINER_6, 1
2014-05-18 18:19:10 +00:00
db ($3 << 4) ; trainer's view range
2015-07-21 01:32:02 +00:00
dwEventFlagAddress EVENT_BEAT_SAFFRON_GYM_TRAINER_6, 1
dw SaffronGymBattleText7 ; TextBeforeBattle
dw SaffronGymAfterBattleText7 ; TextAfterBattle
dw SaffronGymEndBattleText7 ; TextEndBattle
dw SaffronGymEndBattleText7 ; TextEndBattle
2014-05-18 18:19:10 +00:00
db $ff
2016-06-12 00:24:04 +00:00
SaffronGymText1:
2015-07-03 19:58:50 +00:00
TX_ASM
2015-07-21 02:41:23 +00:00
CheckEvent EVENT_BEAT_SABRINA
jr z, .asm_5d134
2015-07-21 02:41:23 +00:00
CheckEventReuseA EVENT_GOT_TM46
jr nz, .asm_5d12c
2014-05-18 18:19:10 +00:00
call z, SaffronGymText_5d068
call DisableWaitingAfterTextDisplay
jr .asm_5d15f
.asm_5d12c
2014-05-18 18:19:10 +00:00
ld hl, SaffronGymText_5d16e
call PrintText
jr .asm_5d15f
.asm_5d134
2014-05-18 18:19:10 +00:00
ld hl, SaffronGymText_5d162
call PrintText
ld hl, wd72d
2014-05-18 18:19:10 +00:00
set 6, [hl]
set 7, [hl]
ld hl, SaffronGymText_5d167
ld de, SaffronGymText_5d167
2014-09-14 18:29:18 +00:00
call SaveEndBattleTextPointers
2015-07-03 20:13:35 +00:00
ld a, [H_SPRITEINDEX]
2014-09-13 07:50:56 +00:00
ld [wSpriteIndex], a
2014-05-18 18:19:10 +00:00
call EngageMapTrainer
call InitBattleEnemyParameters
ld a, $6
2015-08-31 02:38:41 +00:00
ld [wGymLeaderNo], a
2014-05-18 18:19:10 +00:00
ld a, $3
2015-08-31 02:38:41 +00:00
ld [wSaffronGymCurScript], a
.asm_5d15f
2014-05-18 18:19:10 +00:00
jp TextScriptEnd
2016-06-12 00:24:04 +00:00
SaffronGymText_5d162:
2014-05-18 18:19:10 +00:00
TX_FAR _SaffronGymText_5d162
db "@"
2016-06-12 00:24:04 +00:00
SaffronGymText_5d167:
TX_FAR _SaffronGymText_5d167
2014-05-18 18:19:10 +00:00
db $11 ; play same sound as red giving oak parcel
db $6 ; wait for keypress
db "@"
2016-06-12 00:24:04 +00:00
SaffronGymText_5d16e:
2014-05-18 18:19:10 +00:00
TX_FAR _SaffronGymText_5d16e
db "@"
2016-06-12 00:24:04 +00:00
SaffronGymText10:
2014-05-18 18:19:10 +00:00
TX_FAR _SaffronGymText_5d173
db "@"
2016-06-12 00:24:04 +00:00
SaffronGymText11:
2014-05-18 18:19:10 +00:00
TX_FAR ReceivedTM46Text
db $b
TX_FAR _TM46ExplanationText
db "@"
2016-06-12 00:24:04 +00:00
SaffronGymText12:
2014-05-18 18:19:10 +00:00
TX_FAR _TM46NoRoomText
db "@"
2016-06-12 00:24:04 +00:00
SaffronGymText2:
2015-07-03 19:58:50 +00:00
TX_ASM
2014-05-18 18:19:10 +00:00
ld hl, SaffronGymTrainerHeader0
call TalkToTrainer
jp TextScriptEnd
2016-06-12 00:24:04 +00:00
SaffronGymText3:
2015-07-03 19:58:50 +00:00
TX_ASM
2014-05-18 18:19:10 +00:00
ld hl, SaffronGymTrainerHeader1
call TalkToTrainer
jp TextScriptEnd
2016-06-12 00:24:04 +00:00
SaffronGymText4:
2015-07-03 19:58:50 +00:00
TX_ASM
2014-05-18 18:19:10 +00:00
ld hl, SaffronGymTrainerHeader2
call TalkToTrainer
jp TextScriptEnd
2016-06-12 00:24:04 +00:00
SaffronGymText5:
2015-07-03 19:58:50 +00:00
TX_ASM
2014-05-18 18:19:10 +00:00
ld hl, SaffronGymTrainerHeader3
call TalkToTrainer
jp TextScriptEnd
2016-06-12 00:24:04 +00:00
SaffronGymText6:
2015-07-03 19:58:50 +00:00
TX_ASM
2014-05-18 18:19:10 +00:00
ld hl, SaffronGymTrainerHeader4
call TalkToTrainer
jp TextScriptEnd
2016-06-12 00:24:04 +00:00
SaffronGymText7:
2015-07-03 19:58:50 +00:00
TX_ASM
2014-05-18 18:19:10 +00:00
ld hl, SaffronGymTrainerHeader5
call TalkToTrainer
jp TextScriptEnd
2016-06-12 00:24:04 +00:00
SaffronGymText8:
2015-07-03 19:58:50 +00:00
TX_ASM
2014-05-18 18:19:10 +00:00
ld hl, SaffronGymTrainerHeader6
call TalkToTrainer
jp TextScriptEnd
2016-06-12 00:24:04 +00:00
SaffronGymText9:
2015-07-03 19:58:50 +00:00
TX_ASM
2015-07-21 02:41:23 +00:00
CheckEvent EVENT_BEAT_SABRINA
jr nz, .asm_5d1dd
2014-05-18 18:19:10 +00:00
ld hl, SaffronGymText_5d1e6
call PrintText
jr .asm_5d1e3
.asm_5d1dd
2014-05-18 18:19:10 +00:00
ld hl, SaffronGymText_5d1eb
call PrintText
.asm_5d1e3
2014-05-18 18:19:10 +00:00
jp TextScriptEnd
2016-06-12 00:24:04 +00:00
SaffronGymText_5d1e6:
2014-05-18 18:19:10 +00:00
TX_FAR _SaffronGymText_5d1e6
db "@"
2016-06-12 00:24:04 +00:00
SaffronGymText_5d1eb:
2014-05-18 18:19:10 +00:00
TX_FAR _SaffronGymText_5d1eb
db "@"
2016-06-12 00:24:04 +00:00
SaffronGymBattleText1:
2014-05-18 18:19:10 +00:00
TX_FAR _SaffronGymBattleText1
db "@"
2016-06-12 00:24:04 +00:00
SaffronGymEndBattleText1:
2014-05-18 18:19:10 +00:00
TX_FAR _SaffronGymEndBattleText1
db "@"
2016-06-12 00:24:04 +00:00
SaffronGymAfterBattleText1:
2014-05-18 18:19:10 +00:00
TX_FAR _SaffronGymAfterBattleText1
db "@"
2016-06-12 00:24:04 +00:00
SaffronGymBattleText2:
2014-05-18 18:19:10 +00:00
TX_FAR _SaffronGymBattleText2
db "@"
2016-06-12 00:24:04 +00:00
SaffronGymEndBattleText2:
2014-05-18 18:19:10 +00:00
TX_FAR _SaffronGymEndBattleText2
db "@"
2016-06-12 00:24:04 +00:00
SaffronGymAfterBattleText2:
2014-05-18 18:19:10 +00:00
TX_FAR _SaffronGymAfterBattleText2
db "@"
2016-06-12 00:24:04 +00:00
SaffronGymBattleText3:
2014-05-18 18:19:10 +00:00
TX_FAR _SaffronGymBattleText3
db "@"
2016-06-12 00:24:04 +00:00
SaffronGymEndBattleText3:
2014-05-18 18:19:10 +00:00
TX_FAR _SaffronGymEndBattleText3
db "@"
2016-06-12 00:24:04 +00:00
SaffronGymAfterBattleText3:
2014-05-18 18:19:10 +00:00
TX_FAR _SaffronGymAfterBattleText3
db "@"
2016-06-12 00:24:04 +00:00
SaffronGymBattleText4:
2014-05-18 18:19:10 +00:00
TX_FAR _SaffronGymBattleText4
db "@"
2016-06-12 00:24:04 +00:00
SaffronGymEndBattleText4:
2014-05-18 18:19:10 +00:00
TX_FAR _SaffronGymEndBattleText4
db "@"
2016-06-12 00:24:04 +00:00
SaffronGymAfterBattleText4:
2014-05-18 18:19:10 +00:00
TX_FAR _SaffronGymAfterBattleText4
db "@"
2016-06-12 00:24:04 +00:00
SaffronGymBattleText5:
2014-05-18 18:19:10 +00:00
TX_FAR _SaffronGymBattleText5
db "@"
2016-06-12 00:24:04 +00:00
SaffronGymEndBattleText5:
2014-05-18 18:19:10 +00:00
TX_FAR _SaffronGymEndBattleText5
db "@"
2016-06-12 00:24:04 +00:00
SaffronGymAfterBattleText5:
2014-05-18 18:19:10 +00:00
TX_FAR _SaffronGymAfterBattleText5
db "@"
2016-06-12 00:24:04 +00:00
SaffronGymBattleText6:
2014-05-18 18:19:10 +00:00
TX_FAR _SaffronGymBattleText6
db "@"
2016-06-12 00:24:04 +00:00
SaffronGymEndBattleText6:
2014-05-18 18:19:10 +00:00
TX_FAR _SaffronGymEndBattleText6
db "@"
2016-06-12 00:24:04 +00:00
SaffronGymAfterBattleText6:
2014-05-18 18:19:10 +00:00
TX_FAR _SaffronGymAfterBattleText6
db "@"
2016-06-12 00:24:04 +00:00
SaffronGymBattleText7:
2014-05-18 18:19:10 +00:00
TX_FAR _SaffronGymBattleText7
db "@"
2016-06-12 00:24:04 +00:00
SaffronGymEndBattleText7:
2014-05-18 18:19:10 +00:00
TX_FAR _SaffronGymEndBattleText7
db "@"
2016-06-12 00:24:04 +00:00
SaffronGymAfterBattleText7:
2014-05-18 18:19:10 +00:00
TX_FAR _SaffronGymAfterBattleText7
db "@"