mirror of
https://github.com/pret/pokered.git
synced 2024-10-23 23:18:23 +00:00
343 lines
7.6 KiB
NASM
Executable file
343 lines
7.6 KiB
NASM
Executable file
CeladonGymScript: ; 4890a (12:490a)
|
|
ld hl, wd126
|
|
bit 6, [hl]
|
|
res 6, [hl]
|
|
call nz, CeladonGymScript_48927
|
|
call EnableAutoTextBoxDrawing
|
|
ld hl, CeladonGymTrainerHeaders
|
|
ld de, CeladonGymScriptPointers
|
|
ld a, [W_CELADONGYMCURSCRIPT]
|
|
call ExecuteCurMapScriptInTable
|
|
ld [W_CELADONGYMCURSCRIPT], a
|
|
ret
|
|
|
|
CeladonGymScript_48927: ; 48927 (12:4927)
|
|
ld hl, Gym4CityName
|
|
ld de, Gym4LeaderName
|
|
jp LoadGymLeaderAndCityName
|
|
|
|
Gym4CityName: ; 48930 (12:4930)
|
|
db "CELADON CITY@"
|
|
|
|
Gym4LeaderName: ; 4893d (12:493d)
|
|
db "ERIKA@"
|
|
|
|
CeladonGymText_48943: ; 48943 (12:4943)
|
|
xor a
|
|
ld [wJoyIgnore], a
|
|
ld [W_CELADONGYMCURSCRIPT], a
|
|
ld [W_CURMAPSCRIPT], a
|
|
ret
|
|
|
|
CeladonGymScriptPointers: ; 4894e (12:494e)
|
|
dw CheckFightingMapTrainers
|
|
dw DisplayEnemyTrainerTextAndStartBattle
|
|
dw EndTrainerBattle
|
|
dw CeladonGymScript3
|
|
|
|
CeladonGymScript3: ; 48956 (12:4956)
|
|
ld a, [W_ISINBATTLE]
|
|
cp $ff
|
|
jp z, CeladonGymText_48943
|
|
ld a, $f0
|
|
ld [wJoyIgnore], a
|
|
|
|
CeladonGymText_48963: ; 48963 (12:4963)
|
|
ld a, $9
|
|
ld [H_DOWNARROWBLINKCNT2], a
|
|
call DisplayTextID
|
|
ld hl, wd77c
|
|
set 1, [hl]
|
|
ld bc, (TM_21 << 8) | 1
|
|
call GiveItem
|
|
jr nc, .BagFull
|
|
ld a, $a
|
|
ld [H_DOWNARROWBLINKCNT2], a
|
|
call DisplayTextID
|
|
ld hl, wd77c
|
|
set 0, [hl]
|
|
jr .asm_4898c
|
|
.BagFull
|
|
ld a, $b
|
|
ld [H_DOWNARROWBLINKCNT2], a
|
|
call DisplayTextID
|
|
.asm_4898c
|
|
ld hl, W_OBTAINEDBADGES
|
|
set 3, [hl]
|
|
ld hl, wd72a
|
|
set 3, [hl]
|
|
|
|
; deactivate gym trainers
|
|
ld a, [wd77c]
|
|
or %11111100
|
|
ld [wd77c], a
|
|
ld hl, wd77d
|
|
set 0, [hl]
|
|
|
|
jp CeladonGymText_48943
|
|
|
|
CeladonGymTextPointers: ; 489a6 (12:49a6)
|
|
dw CeladonGymText1
|
|
dw CeladonGymText2
|
|
dw CeladonGymText3
|
|
dw CeladonGymText4
|
|
dw CeladonGymText5
|
|
dw CeladonGymText6
|
|
dw CeladonGymText7
|
|
dw CeladonGymText8
|
|
dw CeladonGymText9
|
|
dw TM21Text
|
|
dw TM21NoRoomText
|
|
|
|
CeladonGymTrainerHeaders: ; 489bc (12:49bc)
|
|
CeladonGymTrainerHeader0: ; 489bc (12:49bc)
|
|
db $2 ; flag's bit
|
|
db ($2 << 4) ; trainer's view range
|
|
dw wd77c ; flag's byte
|
|
dw CeladonGymBattleText2 ; TextBeforeBattle
|
|
dw CeladonGymAfterBattleText2 ; TextAfterBattle
|
|
dw CeladonGymEndBattleText2 ; TextEndBattle
|
|
dw CeladonGymEndBattleText2 ; TextEndBattle
|
|
|
|
CeladonGymTrainerHeader2: ; 489c8 (12:49c8)
|
|
db $3 ; flag's bit
|
|
db ($2 << 4) ; trainer's view range
|
|
dw wd77c ; flag's byte
|
|
dw CeladonGymBattleText3 ; TextBeforeBattle
|
|
dw CeladonGymAfterBattleText3 ; TextAfterBattle
|
|
dw CeladonGymEndBattleText3 ; TextEndBattle
|
|
dw CeladonGymEndBattleText3 ; TextEndBattle
|
|
|
|
CeladonGymTrainerHeader3: ; 489d4 (12:49d4)
|
|
db $4 ; flag's bit
|
|
db ($4 << 4) ; trainer's view range
|
|
dw wd77c ; flag's byte
|
|
dw CeladonGymBattleText4 ; TextBeforeBattle
|
|
dw CeladonGymAfterBattleText4 ; TextAfterBattle
|
|
dw CeladonGymEndBattleText4 ; TextEndBattle
|
|
dw CeladonGymEndBattleText4 ; TextEndBattle
|
|
|
|
CeladonGymTrainerHeader4: ; 489e0 (12:49e0)
|
|
db $5 ; flag's bit
|
|
db ($4 << 4) ; trainer's view range
|
|
dw wd77c ; flag's byte
|
|
dw CeladonGymBattleText5 ; TextBeforeBattle
|
|
dw CeladonGymAfterBattleText5 ; TextAfterBattle
|
|
dw CeladonGymEndBattleText5 ; TextEndBattle
|
|
dw CeladonGymEndBattleText5 ; TextEndBattle
|
|
|
|
CeladonGymTrainerHeader5: ; 489ec (12:49ec)
|
|
db $6 ; flag's bit
|
|
db ($2 << 4) ; trainer's view range
|
|
dw wd77c ; flag's byte
|
|
dw CeladonGymBattleText6 ; TextBeforeBattle
|
|
dw CeladonGymAfterBattleText6 ; TextAfterBattle
|
|
dw CeladonGymEndBattleText6 ; TextEndBattle
|
|
dw CeladonGymEndBattleText6 ; TextEndBattle
|
|
|
|
CeladonGymTrainerHeader6: ; 489f8 (12:49f8)
|
|
db $7 ; flag's bit
|
|
db ($2 << 4) ; trainer's view range
|
|
dw wd77c ; flag's byte
|
|
dw CeladonGymBattleText7 ; TextBeforeBattle
|
|
dw CeladonGymAfterBattleText7 ; TextAfterBattle
|
|
dw CeladonGymEndBattleText7 ; TextEndBattle
|
|
dw CeladonGymEndBattleText7 ; TextEndBattle
|
|
|
|
CeladonGymTrainerHeader7: ; 48a04 (12:4a04)
|
|
db $8 ; flag's bit
|
|
db ($3 << 4) ; trainer's view range
|
|
dw wd77c ; flag's byte
|
|
dw CeladonGymBattleText8 ; TextBeforeBattle
|
|
dw CeladonGymAfterBattleText8 ; TextAfterBattle
|
|
dw CeladonGymEndBattleText8 ; TextEndBattle
|
|
dw CeladonGymEndBattleText8 ; TextEndBattle
|
|
|
|
db $ff
|
|
|
|
CeladonGymText1: ; 48a11 (12:4a11)
|
|
TX_ASM
|
|
ld a, [wd77c]
|
|
bit 1, a
|
|
jr z, .asm_48a2d
|
|
bit 0, a
|
|
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 [W_GYMLEADERNO], a
|
|
ld a, $3
|
|
ld [W_CELADONGYMCURSCRIPT], a
|
|
ld [W_CURMAPSCRIPT], a
|
|
.asm_48a5b
|
|
jp TextScriptEnd
|
|
|
|
CeladonGymText_48a5e: ; 48a5e (12:4a5e)
|
|
TX_FAR _CeladonGymText_48a5e
|
|
db "@"
|
|
|
|
CeladonGymText_48a63: ; 48a63 (12:4a63)
|
|
TX_FAR _CeladonGymText_48a63
|
|
db "@"
|
|
|
|
CeladonGymText_48a68: ; 48a68 (12:4a68)
|
|
TX_FAR _CeladonGymText_48a68
|
|
db "@"
|
|
|
|
CeladonGymText9: ; 48a6d (12:4a6d)
|
|
TX_FAR _CeladonGymText9
|
|
db "@"
|
|
|
|
TM21Text: ; 48a72 (12:4a72)
|
|
TX_FAR _ReceivedTM21Text
|
|
db $0B
|
|
TX_FAR _TM21ExplanationText
|
|
db "@"
|
|
|
|
TM21NoRoomText: ; 48a7c (12:4a7c)
|
|
TX_FAR _TM21NoRoomText
|
|
db "@"
|
|
|
|
CeladonGymText2: ; 48a81 (12:4a81)
|
|
TX_ASM
|
|
ld hl, CeladonGymTrainerHeader0
|
|
call TalkToTrainer
|
|
jp TextScriptEnd
|
|
|
|
CeladonGymBattleText2: ; 48a8b (12:4a8b)
|
|
TX_FAR _CeladonGymBattleText2
|
|
db "@"
|
|
|
|
CeladonGymEndBattleText2: ; 48a90 (12:4a90)
|
|
TX_FAR _CeladonGymEndBattleText2
|
|
db "@"
|
|
|
|
CeladonGymAfterBattleText2: ; 48a95 (12:4a95)
|
|
TX_FAR _CeladonGymAfterBattleText2
|
|
db "@"
|
|
|
|
CeladonGymText3: ; 48a9a (12:4a9a)
|
|
TX_ASM
|
|
ld hl, CeladonGymTrainerHeader2
|
|
call TalkToTrainer
|
|
jp TextScriptEnd
|
|
|
|
CeladonGymBattleText3: ; 48aa4 (12:4aa4)
|
|
TX_FAR _CeladonGymBattleText3
|
|
db "@"
|
|
|
|
CeladonGymEndBattleText3: ; 48aa9 (12:4aa9)
|
|
TX_FAR _CeladonGymEndBattleText3
|
|
db "@"
|
|
|
|
CeladonGymAfterBattleText3: ; 48aae (12:4aae)
|
|
TX_FAR _CeladonGymAfterBattleText3
|
|
db "@"
|
|
|
|
CeladonGymText4: ; 48ab3 (12:4ab3)
|
|
TX_ASM
|
|
ld hl, CeladonGymTrainerHeader3
|
|
call TalkToTrainer
|
|
jp TextScriptEnd
|
|
|
|
CeladonGymBattleText4: ; 48abd (12:4abd)
|
|
TX_FAR _CeladonGymBattleText4
|
|
db "@"
|
|
|
|
CeladonGymEndBattleText4: ; 48ac2 (12:4ac2)
|
|
TX_FAR _CeladonGymEndBattleText4
|
|
db "@"
|
|
|
|
CeladonGymAfterBattleText4: ; 48ac7 (12:4ac7)
|
|
TX_FAR _CeladonGymAfterBattleText4
|
|
db "@"
|
|
|
|
CeladonGymText5: ; 48acc (12:4acc)
|
|
TX_ASM
|
|
ld hl, CeladonGymTrainerHeader4
|
|
call TalkToTrainer
|
|
jp TextScriptEnd
|
|
|
|
CeladonGymBattleText5: ; 48ad6 (12:4ad6)
|
|
TX_FAR _CeladonGymBattleText5
|
|
db "@"
|
|
|
|
CeladonGymEndBattleText5: ; 48adb (12:4adb)
|
|
TX_FAR _CeladonGymEndBattleText5
|
|
db "@"
|
|
|
|
CeladonGymAfterBattleText5: ; 48ae0 (12:4ae0)
|
|
TX_FAR _CeladonGymAfterBattleText5
|
|
db "@"
|
|
|
|
CeladonGymText6: ; 48ae5 (12:4ae5)
|
|
TX_ASM
|
|
ld hl, CeladonGymTrainerHeader5
|
|
call TalkToTrainer
|
|
jp TextScriptEnd
|
|
|
|
CeladonGymBattleText6: ; 48aef (12:4aef)
|
|
TX_FAR _CeladonGymBattleText6
|
|
db "@"
|
|
|
|
CeladonGymEndBattleText6: ; 48af4 (12:4af4)
|
|
TX_FAR _CeladonGymEndBattleText6
|
|
db "@"
|
|
|
|
CeladonGymAfterBattleText6: ; 48af9 (12:4af9)
|
|
TX_FAR _CeladonGymAfterBattleText6
|
|
db "@"
|
|
|
|
CeladonGymText7: ; 48afe (12:4afe)
|
|
TX_ASM
|
|
ld hl, CeladonGymTrainerHeader6
|
|
call TalkToTrainer
|
|
jp TextScriptEnd
|
|
|
|
CeladonGymBattleText7: ; 48b08 (12:4b08)
|
|
TX_FAR _CeladonGymBattleText7
|
|
db "@"
|
|
|
|
CeladonGymEndBattleText7: ; 48b0d (12:4b0d)
|
|
TX_FAR _CeladonGymEndBattleText7
|
|
db "@"
|
|
|
|
CeladonGymAfterBattleText7: ; 48b12 (12:4b12)
|
|
TX_FAR _CeladonGymAfterBattleText7
|
|
db "@"
|
|
|
|
CeladonGymText8: ; 48b17 (12:4b17)
|
|
TX_ASM
|
|
ld hl, CeladonGymTrainerHeader7
|
|
call TalkToTrainer
|
|
jp TextScriptEnd
|
|
|
|
CeladonGymBattleText8: ; 48b21 (12:4b21)
|
|
TX_FAR _CeladonGymBattleText8
|
|
db "@"
|
|
|
|
CeladonGymEndBattleText8: ; 48b26 (12:4b26)
|
|
TX_FAR _CeladonGymEndBattleText8
|
|
db "@"
|
|
|
|
CeladonGymAfterBattleText8: ; 48b2b (12:4b2b)
|
|
TX_FAR _CeladonGymAfterBattleText8
|
|
db "@"
|