pokered/scripts/celadongym.asm

336 lines
7.1 KiB
NASM
Raw Normal View History

2016-06-12 00:24:04 +00:00
CeladonGymScript:
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, CeladonGymScript_48927
call EnableAutoTextBoxDrawing
ld hl, CeladonGymTrainerHeader0
2014-05-18 18:19:10 +00:00
ld de, CeladonGymScriptPointers
2015-08-31 02:38:41 +00:00
ld a, [wCeladonGymCurScript]
2014-05-18 18:19:10 +00:00
call ExecuteCurMapScriptInTable
2015-08-31 02:38:41 +00:00
ld [wCeladonGymCurScript], a
2014-05-18 18:19:10 +00:00
ret
2016-06-12 00:24:04 +00:00
CeladonGymScript_48927:
ld hl, Gym4CityName
ld de, Gym4LeaderName
2014-05-18 18:19:10 +00:00
jp LoadGymLeaderAndCityName
2016-06-12 00:24:04 +00:00
Gym4CityName:
2014-05-18 18:19:10 +00:00
db "CELADON CITY@"
2016-06-12 00:24:04 +00:00
Gym4LeaderName:
2014-05-18 18:19:10 +00:00
db "ERIKA@"
2016-06-12 00:24:04 +00:00
CeladonGymText_48943:
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 [wCeladonGymCurScript], a
ld [wCurMapScript], a
2014-05-18 18:19:10 +00:00
ret
2016-06-12 00:24:04 +00:00
CeladonGymScriptPointers:
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 CeladonGymScript3
2016-06-12 00:24:04 +00:00
CeladonGymScript3:
2015-08-31 02:38:41 +00:00
ld a, [wIsInBattle]
2014-05-18 18:19:10 +00:00
cp $ff
jp z, CeladonGymText_48943
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
CeladonGymText_48963:
2014-05-18 18:19:10 +00:00
ld a, $9
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_ERIKA
2015-08-05 21:20:29 +00:00
lb bc, TM_21, 1
2014-05-18 18:19:10 +00:00
call GiveItem
jr nc, .BagFull
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_GOT_TM21
2014-05-18 18:19:10 +00:00
jr .asm_4898c
.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
.asm_4898c
2015-08-31 02:38:41 +00:00
ld hl, wObtainedBadges
2014-05-18 18:19:10 +00:00
set 3, [hl]
2015-07-26 02:26:54 +00:00
ld hl, wBeatGymFlags
2014-05-18 18:19:10 +00:00
set 3, [hl]
; deactivate gym trainers
SetEventRange EVENT_BEAT_CELADON_GYM_TRAINER_0, EVENT_BEAT_CELADON_GYM_TRAINER_6
2014-05-18 18:19:10 +00:00
jp CeladonGymText_48943
2016-06-12 00:24:04 +00:00
CeladonGymTextPointers:
2014-05-18 18:19:10 +00:00
dw CeladonGymText1
dw CeladonGymText2
dw CeladonGymText3
dw CeladonGymText4
dw CeladonGymText5
dw CeladonGymText6
dw CeladonGymText7
dw CeladonGymText8
dw CeladonGymText9
dw TM21Text
dw TM21NoRoomText
2016-06-12 00:24:04 +00:00
CeladonGymTrainerHeader0:
2015-07-21 01:32:02 +00:00
dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_0
2014-05-18 18:19:10 +00:00
db ($2 << 4) ; trainer's view range
2015-07-21 01:32:02 +00:00
dwEventFlagAddress EVENT_BEAT_CELADON_GYM_TRAINER_0
dw CeladonGymBattleText2 ; TextBeforeBattle
dw CeladonGymAfterBattleText2 ; TextAfterBattle
dw CeladonGymEndBattleText2 ; TextEndBattle
dw CeladonGymEndBattleText2 ; TextEndBattle
2014-05-18 18:19:10 +00:00
CeladonGymTrainerHeader1:
dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_1
2014-05-18 18:19:10 +00:00
db ($2 << 4) ; trainer's view range
dwEventFlagAddress EVENT_BEAT_CELADON_GYM_TRAINER_1
dw CeladonGymBattleText3 ; TextBeforeBattle
dw CeladonGymAfterBattleText3 ; TextAfterBattle
dw CeladonGymEndBattleText3 ; TextEndBattle
dw CeladonGymEndBattleText3 ; TextEndBattle
2014-05-18 18:19:10 +00:00
CeladonGymTrainerHeader2:
dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_2
2014-05-18 18:19:10 +00:00
db ($4 << 4) ; trainer's view range
dwEventFlagAddress EVENT_BEAT_CELADON_GYM_TRAINER_2
dw CeladonGymBattleText4 ; TextBeforeBattle
dw CeladonGymAfterBattleText4 ; TextAfterBattle
dw CeladonGymEndBattleText4 ; TextEndBattle
dw CeladonGymEndBattleText4 ; TextEndBattle
2014-05-18 18:19:10 +00:00
CeladonGymTrainerHeader3:
dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_3
2014-05-18 18:19:10 +00:00
db ($4 << 4) ; trainer's view range
dwEventFlagAddress EVENT_BEAT_CELADON_GYM_TRAINER_3
dw CeladonGymBattleText5 ; TextBeforeBattle
dw CeladonGymAfterBattleText5 ; TextAfterBattle
dw CeladonGymEndBattleText5 ; TextEndBattle
dw CeladonGymEndBattleText5 ; TextEndBattle
2014-05-18 18:19:10 +00:00
CeladonGymTrainerHeader4:
dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_4
2014-05-18 18:19:10 +00:00
db ($2 << 4) ; trainer's view range
dwEventFlagAddress EVENT_BEAT_CELADON_GYM_TRAINER_4
dw CeladonGymBattleText6 ; TextBeforeBattle
dw CeladonGymAfterBattleText6 ; TextAfterBattle
dw CeladonGymEndBattleText6 ; TextEndBattle
dw CeladonGymEndBattleText6 ; TextEndBattle
2014-05-18 18:19:10 +00:00
CeladonGymTrainerHeader5:
dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_5
2014-05-18 18:19:10 +00:00
db ($2 << 4) ; trainer's view range
dwEventFlagAddress EVENT_BEAT_CELADON_GYM_TRAINER_5
dw CeladonGymBattleText7 ; TextBeforeBattle
dw CeladonGymAfterBattleText7 ; TextAfterBattle
dw CeladonGymEndBattleText7 ; TextEndBattle
dw CeladonGymEndBattleText7 ; TextEndBattle
2014-05-18 18:19:10 +00:00
CeladonGymTrainerHeader6:
dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_6, 1
2014-05-18 18:19:10 +00:00
db ($3 << 4) ; trainer's view range
dwEventFlagAddress EVENT_BEAT_CELADON_GYM_TRAINER_6, 1
dw CeladonGymBattleText8 ; TextBeforeBattle
dw CeladonGymAfterBattleText8 ; TextAfterBattle
dw CeladonGymEndBattleText8 ; TextEndBattle
dw CeladonGymEndBattleText8 ; TextEndBattle
2014-05-18 18:19:10 +00:00
db $ff
2016-06-12 00:24:04 +00:00
CeladonGymText1:
2015-07-03 19:58:50 +00:00
TX_ASM
2015-07-21 02:41:23 +00:00
CheckEvent EVENT_BEAT_ERIKA
jr z, .asm_48a2d
2015-07-21 02:41:23 +00:00
CheckEventReuseA EVENT_GOT_TM21
jr nz, .asm_48a25
2014-05-18 18:19:10 +00:00
call z, CeladonGymText_48963
call DisableWaitingAfterTextDisplay
jr .asm_48a5b
.asm_48a25
2014-05-18 18:19:10 +00:00
ld hl, CeladonGymText_48a68
call PrintText
jr .asm_48a5b
.asm_48a2d
2014-05-18 18:19:10 +00:00
ld hl, CeladonGymText_48a5e
call PrintText
ld hl, wd72d
2014-05-18 18:19:10 +00:00
set 6, [hl]
set 7, [hl]
ld hl, CeladonGymText_48a63
ld de, CeladonGymText_48a63
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, $4
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 [wCeladonGymCurScript], a
ld [wCurMapScript], a
.asm_48a5b
2014-05-18 18:19:10 +00:00
jp TextScriptEnd
2016-06-12 00:24:04 +00:00
CeladonGymText_48a5e:
2014-05-18 18:19:10 +00:00
TX_FAR _CeladonGymText_48a5e
db "@"
2016-06-12 00:24:04 +00:00
CeladonGymText_48a63:
2014-05-18 18:19:10 +00:00
TX_FAR _CeladonGymText_48a63
db "@"
2016-06-12 00:24:04 +00:00
CeladonGymText_48a68:
2014-05-18 18:19:10 +00:00
TX_FAR _CeladonGymText_48a68
db "@"
2016-06-12 00:24:04 +00:00
CeladonGymText9:
2014-05-18 18:19:10 +00:00
TX_FAR _CeladonGymText9
db "@"
2016-06-12 00:24:04 +00:00
TM21Text:
2014-05-18 18:19:10 +00:00
TX_FAR _ReceivedTM21Text
2016-07-18 06:17:03 +00:00
TX_SFX_ITEM_1
2014-05-18 18:19:10 +00:00
TX_FAR _TM21ExplanationText
db "@"
2016-06-12 00:24:04 +00:00
TM21NoRoomText:
2014-05-18 18:19:10 +00:00
TX_FAR _TM21NoRoomText
db "@"
2016-06-12 00:24:04 +00:00
CeladonGymText2:
2015-07-03 19:58:50 +00:00
TX_ASM
2014-05-18 18:19:10 +00:00
ld hl, CeladonGymTrainerHeader0
call TalkToTrainer
jp TextScriptEnd
2016-06-12 00:24:04 +00:00
CeladonGymBattleText2:
2014-05-18 18:19:10 +00:00
TX_FAR _CeladonGymBattleText2
db "@"
2016-06-12 00:24:04 +00:00
CeladonGymEndBattleText2:
2014-05-18 18:19:10 +00:00
TX_FAR _CeladonGymEndBattleText2
db "@"
2016-06-12 00:24:04 +00:00
CeladonGymAfterBattleText2:
2014-05-18 18:19:10 +00:00
TX_FAR _CeladonGymAfterBattleText2
db "@"
2016-06-12 00:24:04 +00:00
CeladonGymText3:
2015-07-03 19:58:50 +00:00
TX_ASM
ld hl, CeladonGymTrainerHeader1
2014-05-18 18:19:10 +00:00
call TalkToTrainer
jp TextScriptEnd
2016-06-12 00:24:04 +00:00
CeladonGymBattleText3:
2014-05-18 18:19:10 +00:00
TX_FAR _CeladonGymBattleText3
db "@"
2016-06-12 00:24:04 +00:00
CeladonGymEndBattleText3:
2014-05-18 18:19:10 +00:00
TX_FAR _CeladonGymEndBattleText3
db "@"
2016-06-12 00:24:04 +00:00
CeladonGymAfterBattleText3:
2014-05-18 18:19:10 +00:00
TX_FAR _CeladonGymAfterBattleText3
db "@"
2016-06-12 00:24:04 +00:00
CeladonGymText4:
2015-07-03 19:58:50 +00:00
TX_ASM
ld hl, CeladonGymTrainerHeader2
2014-05-18 18:19:10 +00:00
call TalkToTrainer
jp TextScriptEnd
2016-06-12 00:24:04 +00:00
CeladonGymBattleText4:
2014-05-18 18:19:10 +00:00
TX_FAR _CeladonGymBattleText4
db "@"
2016-06-12 00:24:04 +00:00
CeladonGymEndBattleText4:
2014-05-18 18:19:10 +00:00
TX_FAR _CeladonGymEndBattleText4
db "@"
2016-06-12 00:24:04 +00:00
CeladonGymAfterBattleText4:
2014-05-18 18:19:10 +00:00
TX_FAR _CeladonGymAfterBattleText4
db "@"
2016-06-12 00:24:04 +00:00
CeladonGymText5:
2015-07-03 19:58:50 +00:00
TX_ASM
ld hl, CeladonGymTrainerHeader3
2014-05-18 18:19:10 +00:00
call TalkToTrainer
jp TextScriptEnd
2016-06-12 00:24:04 +00:00
CeladonGymBattleText5:
2014-05-18 18:19:10 +00:00
TX_FAR _CeladonGymBattleText5
db "@"
2016-06-12 00:24:04 +00:00
CeladonGymEndBattleText5:
2014-05-18 18:19:10 +00:00
TX_FAR _CeladonGymEndBattleText5
db "@"
2016-06-12 00:24:04 +00:00
CeladonGymAfterBattleText5:
2014-05-18 18:19:10 +00:00
TX_FAR _CeladonGymAfterBattleText5
db "@"
2016-06-12 00:24:04 +00:00
CeladonGymText6:
2015-07-03 19:58:50 +00:00
TX_ASM
ld hl, CeladonGymTrainerHeader4
2014-05-18 18:19:10 +00:00
call TalkToTrainer
jp TextScriptEnd
2016-06-12 00:24:04 +00:00
CeladonGymBattleText6:
2014-05-18 18:19:10 +00:00
TX_FAR _CeladonGymBattleText6
db "@"
2016-06-12 00:24:04 +00:00
CeladonGymEndBattleText6:
2014-05-18 18:19:10 +00:00
TX_FAR _CeladonGymEndBattleText6
db "@"
2016-06-12 00:24:04 +00:00
CeladonGymAfterBattleText6:
2014-05-18 18:19:10 +00:00
TX_FAR _CeladonGymAfterBattleText6
db "@"
2016-06-12 00:24:04 +00:00
CeladonGymText7:
2015-07-03 19:58:50 +00:00
TX_ASM
ld hl, CeladonGymTrainerHeader5
2014-05-18 18:19:10 +00:00
call TalkToTrainer
jp TextScriptEnd
2016-06-12 00:24:04 +00:00
CeladonGymBattleText7:
2014-05-18 18:19:10 +00:00
TX_FAR _CeladonGymBattleText7
db "@"
2016-06-12 00:24:04 +00:00
CeladonGymEndBattleText7:
2014-05-18 18:19:10 +00:00
TX_FAR _CeladonGymEndBattleText7
db "@"
2016-06-12 00:24:04 +00:00
CeladonGymAfterBattleText7:
2014-05-18 18:19:10 +00:00
TX_FAR _CeladonGymAfterBattleText7
db "@"
2016-06-12 00:24:04 +00:00
CeladonGymText8:
2015-07-03 19:58:50 +00:00
TX_ASM
ld hl, CeladonGymTrainerHeader6
2014-05-18 18:19:10 +00:00
call TalkToTrainer
jp TextScriptEnd
2016-06-12 00:24:04 +00:00
CeladonGymBattleText8:
2014-05-18 18:19:10 +00:00
TX_FAR _CeladonGymBattleText8
db "@"
2016-06-12 00:24:04 +00:00
CeladonGymEndBattleText8:
2014-05-18 18:19:10 +00:00
TX_FAR _CeladonGymEndBattleText8
db "@"
2016-06-12 00:24:04 +00:00
CeladonGymAfterBattleText8:
2014-05-18 18:19:10 +00:00
TX_FAR _CeladonGymAfterBattleText8
db "@"