123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336 |
- CeladonGymScript:
- ld hl, wCurrentMapScriptFlags
- bit 6, [hl]
- res 6, [hl]
- call nz, CeladonGymScript_48927
- call EnableAutoTextBoxDrawing
- ld hl, CeladonGymTrainerHeader0
- ld de, CeladonGymScriptPointers
- ld a, [wCeladonGymCurScript]
- call ExecuteCurMapScriptInTable
- ld [wCeladonGymCurScript], a
- ret
- CeladonGymScript_48927:
- ld hl, Gym4CityName
- ld de, Gym4LeaderName
- jp LoadGymLeaderAndCityName
- Gym4CityName:
- db "CELADON CITY@"
- Gym4LeaderName:
- db "ERIKA@"
- CeladonGymText_48943:
- xor a
- ld [wJoyIgnore], a
- ld [wCeladonGymCurScript], a
- ld [wCurMapScript], a
- ret
- CeladonGymScriptPointers:
- dw CheckFightingMapTrainers
- dw DisplayEnemyTrainerTextAndStartBattle
- dw EndTrainerBattle
- dw CeladonGymScript3
- CeladonGymScript3:
- ld a, [wIsInBattle]
- cp $ff
- jp z, CeladonGymText_48943
- ld a, $f0
- ld [wJoyIgnore], a
- CeladonGymText_48963:
- ld a, $9
- ld [hSpriteIndexOrTextID], a
- call DisplayTextID
- SetEvent EVENT_BEAT_ERIKA
- lb bc, TM_21, 1
- call GiveItem
- jr nc, .BagFull
- ld a, $a
- ld [hSpriteIndexOrTextID], a
- call DisplayTextID
- SetEvent EVENT_GOT_TM21
- jr .asm_4898c
- .BagFull
- ld a, $b
- ld [hSpriteIndexOrTextID], a
- call DisplayTextID
- .asm_4898c
- ld hl, wObtainedBadges
- set 3, [hl]
- ld hl, wBeatGymFlags
- set 3, [hl]
- ; deactivate gym trainers
- SetEventRange EVENT_BEAT_CELADON_GYM_TRAINER_0, EVENT_BEAT_CELADON_GYM_TRAINER_6
- jp CeladonGymText_48943
- CeladonGymTextPointers:
- dw CeladonGymText1
- dw CeladonGymText2
- dw CeladonGymText3
- dw CeladonGymText4
- dw CeladonGymText5
- dw CeladonGymText6
- dw CeladonGymText7
- dw CeladonGymText8
- dw CeladonGymText9
- dw TM21Text
- dw TM21NoRoomText
- CeladonGymTrainerHeader0:
- dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_0
- db ($2 << 4) ; trainer's view range
- dwEventFlagAddress EVENT_BEAT_CELADON_GYM_TRAINER_0
- dw CeladonGymBattleText2 ; TextBeforeBattle
- dw CeladonGymAfterBattleText2 ; TextAfterBattle
- dw CeladonGymEndBattleText2 ; TextEndBattle
- dw CeladonGymEndBattleText2 ; TextEndBattle
- CeladonGymTrainerHeader1:
- dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_1
- 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
- CeladonGymTrainerHeader2:
- dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_2
- 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
- CeladonGymTrainerHeader3:
- dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_3
- 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
- CeladonGymTrainerHeader4:
- dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_4
- 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
- CeladonGymTrainerHeader5:
- dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_5
- 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
- CeladonGymTrainerHeader6:
- dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_6, 1
- 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
- db $ff
- CeladonGymText1:
- TX_ASM
- CheckEvent EVENT_BEAT_ERIKA
- jr z, .asm_48a2d
- CheckEventReuseA EVENT_GOT_TM21
- jr nz, .asm_48a25
- call z, CeladonGymText_48963
- call DisableWaitingAfterTextDisplay
- jr .asm_48a5b
- .asm_48a25
- ld hl, CeladonGymText_48a68
- call PrintText
- jr .asm_48a5b
- .asm_48a2d
- ld hl, CeladonGymText_48a5e
- call PrintText
- ld hl, wd72d
- set 6, [hl]
- set 7, [hl]
- ld hl, CeladonGymText_48a63
- ld de, CeladonGymText_48a63
- call SaveEndBattleTextPointers
- ld a, [H_SPRITEINDEX]
- ld [wSpriteIndex], a
- call EngageMapTrainer
- call InitBattleEnemyParameters
- ld a, $4
- ld [wGymLeaderNo], a
- ld a, $3
- ld [wCeladonGymCurScript], a
- ld [wCurMapScript], a
- .asm_48a5b
- jp TextScriptEnd
- CeladonGymText_48a5e:
- TX_FAR _CeladonGymText_48a5e
- db "@"
- CeladonGymText_48a63:
- TX_FAR _CeladonGymText_48a63
- db "@"
- CeladonGymText_48a68:
- TX_FAR _CeladonGymText_48a68
- db "@"
- CeladonGymText9:
- TX_FAR _CeladonGymText9
- db "@"
- TM21Text:
- TX_FAR _ReceivedTM21Text
- TX_SFX_ITEM_1
- TX_FAR _TM21ExplanationText
- db "@"
- TM21NoRoomText:
- TX_FAR _TM21NoRoomText
- db "@"
- CeladonGymText2:
- TX_ASM
- ld hl, CeladonGymTrainerHeader0
- call TalkToTrainer
- jp TextScriptEnd
- CeladonGymBattleText2:
- TX_FAR _CeladonGymBattleText2
- db "@"
- CeladonGymEndBattleText2:
- TX_FAR _CeladonGymEndBattleText2
- db "@"
- CeladonGymAfterBattleText2:
- TX_FAR _CeladonGymAfterBattleText2
- db "@"
- CeladonGymText3:
- TX_ASM
- ld hl, CeladonGymTrainerHeader1
- call TalkToTrainer
- jp TextScriptEnd
- CeladonGymBattleText3:
- TX_FAR _CeladonGymBattleText3
- db "@"
- CeladonGymEndBattleText3:
- TX_FAR _CeladonGymEndBattleText3
- db "@"
- CeladonGymAfterBattleText3:
- TX_FAR _CeladonGymAfterBattleText3
- db "@"
- CeladonGymText4:
- TX_ASM
- ld hl, CeladonGymTrainerHeader2
- call TalkToTrainer
- jp TextScriptEnd
- CeladonGymBattleText4:
- TX_FAR _CeladonGymBattleText4
- db "@"
- CeladonGymEndBattleText4:
- TX_FAR _CeladonGymEndBattleText4
- db "@"
- CeladonGymAfterBattleText4:
- TX_FAR _CeladonGymAfterBattleText4
- db "@"
- CeladonGymText5:
- TX_ASM
- ld hl, CeladonGymTrainerHeader3
- call TalkToTrainer
- jp TextScriptEnd
- CeladonGymBattleText5:
- TX_FAR _CeladonGymBattleText5
- db "@"
- CeladonGymEndBattleText5:
- TX_FAR _CeladonGymEndBattleText5
- db "@"
- CeladonGymAfterBattleText5:
- TX_FAR _CeladonGymAfterBattleText5
- db "@"
- CeladonGymText6:
- TX_ASM
- ld hl, CeladonGymTrainerHeader4
- call TalkToTrainer
- jp TextScriptEnd
- CeladonGymBattleText6:
- TX_FAR _CeladonGymBattleText6
- db "@"
- CeladonGymEndBattleText6:
- TX_FAR _CeladonGymEndBattleText6
- db "@"
- CeladonGymAfterBattleText6:
- TX_FAR _CeladonGymAfterBattleText6
- db "@"
- CeladonGymText7:
- TX_ASM
- ld hl, CeladonGymTrainerHeader5
- call TalkToTrainer
- jp TextScriptEnd
- CeladonGymBattleText7:
- TX_FAR _CeladonGymBattleText7
- db "@"
- CeladonGymEndBattleText7:
- TX_FAR _CeladonGymEndBattleText7
- db "@"
- CeladonGymAfterBattleText7:
- TX_FAR _CeladonGymAfterBattleText7
- db "@"
- CeladonGymText8:
- TX_ASM
- ld hl, CeladonGymTrainerHeader6
- call TalkToTrainer
- jp TextScriptEnd
- CeladonGymBattleText8:
- TX_FAR _CeladonGymBattleText8
- db "@"
- CeladonGymEndBattleText8:
- TX_FAR _CeladonGymEndBattleText8
- db "@"
- CeladonGymAfterBattleText8:
- TX_FAR _CeladonGymAfterBattleText8
- db "@"
|