123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229 |
- PewterGymScript:
- ld hl, wCurrentMapScriptFlags
- bit 6, [hl]
- res 6, [hl]
- call nz, PewterGymScript_5c3a4
- call EnableAutoTextBoxDrawing
- ld hl, PewterGymTrainerHeader0
- ld de, PewterGymScriptPointers
- ld a, [wPewterGymCurScript]
- call ExecuteCurMapScriptInTable
- ld [wPewterGymCurScript], a
- ret
- PewterGymScript_5c3a4:
- ld hl, Gym1CityName
- ld de, Gym1LeaderName
- jp LoadGymLeaderAndCityName
- Gym1CityName:
- db "PEWTER CITY@"
- Gym1LeaderName:
- db "BROCK@"
- PewterGymScript_5c3bf:
- xor a
- ld [wJoyIgnore], a
- ld [wPewterGymCurScript], a
- ld [wCurMapScript], a
- ret
- PewterGymScriptPointers:
- dw CheckFightingMapTrainers
- dw DisplayEnemyTrainerTextAndStartBattle
- dw EndTrainerBattle
- dw PewterGymScript3
- PewterGymScript3:
- ld a, [wIsInBattle]
- cp $ff
- jp z, PewterGymScript_5c3bf
- ld a, $f0
- ld [wJoyIgnore], a
- PewterGymScript_5c3df:
- ld a, $4
- ld [hSpriteIndexOrTextID], a
- call DisplayTextID
- SetEvent EVENT_BEAT_BROCK
- lb bc, TM_34, 1
- call GiveItem
- jr nc, .BagFull
- ld a, $5
- ld [hSpriteIndexOrTextID], a
- call DisplayTextID
- SetEvent EVENT_GOT_TM34
- jr .asm_5c408
- .BagFull
- ld a, $6
- ld [hSpriteIndexOrTextID], a
- call DisplayTextID
- .asm_5c408
- ld hl, wObtainedBadges
- set 0, [hl]
- ld hl, wBeatGymFlags
- set 0, [hl]
- ld a, HS_GYM_GUY
- ld [wMissableObjectIndex], a
- predef HideObject
- ld a, HS_ROUTE_22_RIVAL_1
- ld [wMissableObjectIndex], a
- predef HideObject
- ResetEvents EVENT_1ST_ROUTE22_RIVAL_BATTLE, EVENT_ROUTE22_RIVAL_WANTS_BATTLE
- ; deactivate gym trainers
- SetEvent EVENT_BEAT_PEWTER_GYM_TRAINER_0
- jp PewterGymScript_5c3bf
- PewterGymTextPointers:
- dw PewterGymText1
- dw PewterGymText2
- dw PewterGymText3
- dw PewterGymText4
- dw PewterGymText5
- dw PewterGymText6
- PewterGymTrainerHeader0:
- dbEventFlagBit EVENT_BEAT_PEWTER_GYM_TRAINER_0
- db ($5 << 4) ; trainer's view range
- dwEventFlagAddress EVENT_BEAT_PEWTER_GYM_TRAINER_0
- dw PewterGymBattleText1 ; TextBeforeBattle
- dw PewterGymAfterBattleText1 ; TextAfterBattle
- dw PewterGymEndBattleText1 ; TextEndBattle
- dw PewterGymEndBattleText1 ; TextEndBattle
- db $ff
- PewterGymText1:
- TX_ASM
- CheckEvent EVENT_BEAT_BROCK
- jr z, .asm_5c46a
- CheckEventReuseA EVENT_GOT_TM34
- jr nz, .asm_5c462
- call z, PewterGymScript_5c3df
- call DisableWaitingAfterTextDisplay
- jr .asm_5c49b
- .asm_5c462
- ld hl, PewterGymText_5c4a3
- call PrintText
- jr .asm_5c49b
- .asm_5c46a
- ld hl, PewterGymText_5c49e
- call PrintText
- ld hl, wd72d
- set 6, [hl]
- set 7, [hl]
- ld hl, PewterGymText_5c4bc
- ld de, PewterGymText_5c4bc
- call SaveEndBattleTextPointers
- ld a, [H_SPRITEINDEX]
- ld [wSpriteIndex], a
- call EngageMapTrainer
- call InitBattleEnemyParameters
- ld a, $1
- ld [wGymLeaderNo], a
- xor a
- ld [hJoyHeld], a
- ld a, $3
- ld [wPewterGymCurScript], a
- ld [wCurMapScript], a
- .asm_5c49b
- jp TextScriptEnd
- PewterGymText_5c49e:
- TX_FAR _PewterGymText_5c49e
- db "@"
- PewterGymText_5c4a3:
- TX_FAR _PewterGymText_5c4a3
- db "@"
- PewterGymText4:
- TX_FAR _TM34PreReceiveText
- db "@"
- PewterGymText5:
- TX_FAR _ReceivedTM34Text
- TX_SFX_ITEM_1
- TX_FAR _TM34ExplanationText
- db "@"
- PewterGymText6:
- TX_FAR _TM34NoRoomText
- db "@"
- PewterGymText_5c4bc:
- TX_FAR _PewterGymText_5c4bc
- TX_SFX_LEVEL_UP ; probably supposed to play SFX_GET_ITEM_1 but the wrong music bank is loaded
- TX_FAR _PewterGymText_5c4c1
- db "@"
- PewterGymText2:
- TX_ASM
- ld hl, PewterGymTrainerHeader0
- call TalkToTrainer
- jp TextScriptEnd
- PewterGymBattleText1:
- TX_FAR _PewterGymBattleText1
- db "@"
- PewterGymEndBattleText1:
- TX_FAR _PewterGymEndBattleText1
- db "@"
- PewterGymAfterBattleText1:
- TX_FAR _PewterGymAfterBattleText1
- db "@"
- PewterGymText3:
- TX_ASM
- ld a, [wBeatGymFlags]
- bit 0, a
- jr nz, .asm_5c50c
- ld hl, PewterGymText_5c515
- call PrintText
- call YesNoChoice
- ld a, [wCurrentMenuItem]
- and a
- jr nz, .asm_5c4fe
- ld hl, PewterGymText_5c51a
- call PrintText
- jr .asm_5c504
- .asm_5c4fe
- ld hl, PewterGymText_5c524
- call PrintText
- .asm_5c504
- ld hl, PewterGymText_5c51f
- call PrintText
- jr .asm_5c512
- .asm_5c50c
- ld hl, PewterGymText_5c529
- call PrintText
- .asm_5c512
- jp TextScriptEnd
- PewterGymText_5c515:
- TX_FAR _PewterGymText_5c515
- db "@"
- PewterGymText_5c51a:
- TX_FAR _PewterGymText_5c51a
- db "@"
- PewterGymText_5c51f:
- TX_FAR _PewterGymText_5c51f
- db "@"
- PewterGymText_5c524:
- TX_FAR _PewterGymText_5c524
- db "@"
- PewterGymText_5c529:
- TX_FAR _PewterGymText_5c529
- db "@"
|