pokered/scripts/celadongym.asm

344 lines
7.9 KiB
NASM
Raw Normal View History

2014-05-18 18:19:10 +00:00
CeladonGymScript: ; 4890a (12:490a)
ld hl, $d126
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 ; $4930
ld de, Gym4LeaderName ; $493d
jp LoadGymLeaderAndCityName
Gym4CityName: ; 48930 (12:4930)
db "CELADON CITY@"
Gym4LeaderName: ; 4893d (12:493d)
db "ERIKA@"
CeladonGymText_48943: ; 48943 (12:4943)
xor a
ld [wJoypadForbiddenButtonsMask], a
ld [W_CELADONGYMCURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
CeladonGymScriptPointers: ; 4894e (12:494e)
dw CheckFightingMapTrainers
dw Func_324c
dw EndTrainerBattle
dw CeladonGymScript3
CeladonGymScript3: ; 48956 (12:4956)
ld a, [W_ISINBATTLE] ; $d057
cp $ff
jp z, CeladonGymText_48943
ld a, $f0
ld [wJoypadForbiddenButtonsMask], a
CeladonGymText_48963: ; 48963 (12:4963)
ld a, $9
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
call DisplayTextID
ld hl, $d77c
set 1, [hl]
ld bc, (TM_21 << 8) | 1
call GiveItem
jr nc, .BagFull
ld a, $a
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
call DisplayTextID
ld hl, $d77c
set 0, [hl]
jr .asm_4898c
.BagFull
ld a, $b
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
call DisplayTextID
.asm_4898c
ld hl, W_OBTAINEDBADGES
set 3, [hl]
ld hl, $d72a
set 3, [hl]
; deactivate gym trainers
ld a, [$d77c]
or %11111100
ld [$d77c], a
ld hl, $d77d
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 $d77c ; flag's byte
dw CeladonGymBattleText2 ; 0x4a8b TextBeforeBattle
dw CeladonGymAfterBattleText2 ; 0x4a95 TextAfterBattle
dw CeladonGymEndBattleText2 ; 0x4a90 TextEndBattle
dw CeladonGymEndBattleText2 ; 0x4a90 TextEndBattle
CeladonGymTrainerHeader2: ; 489c8 (12:49c8)
db $3 ; flag's bit
db ($2 << 4) ; trainer's view range
dw $d77c ; flag's byte
dw CeladonGymBattleText3 ; 0x4aa4 TextBeforeBattle
dw CeladonGymAfterBattleText3 ; 0x4aae TextAfterBattle
dw CeladonGymEndBattleText3 ; 0x4aa9 TextEndBattle
dw CeladonGymEndBattleText3 ; 0x4aa9 TextEndBattle
CeladonGymTrainerHeader3: ; 489d4 (12:49d4)
db $4 ; flag's bit
db ($4 << 4) ; trainer's view range
dw $d77c ; flag's byte
dw CeladonGymBattleText4 ; 0x4abd TextBeforeBattle
dw CeladonGymAfterBattleText4 ; 0x4ac7 TextAfterBattle
dw CeladonGymEndBattleText4 ; 0x4ac2 TextEndBattle
dw CeladonGymEndBattleText4 ; 0x4ac2 TextEndBattle
CeladonGymTrainerHeader4: ; 489e0 (12:49e0)
db $5 ; flag's bit
db ($4 << 4) ; trainer's view range
dw $d77c ; flag's byte
dw CeladonGymBattleText5 ; 0x4ad6 TextBeforeBattle
dw CeladonGymAfterBattleText5 ; 0x4ae0 TextAfterBattle
dw CeladonGymEndBattleText5 ; 0x4adb TextEndBattle
dw CeladonGymEndBattleText5 ; 0x4adb TextEndBattle
CeladonGymTrainerHeader5: ; 489ec (12:49ec)
db $6 ; flag's bit
db ($2 << 4) ; trainer's view range
dw $d77c ; flag's byte
dw CeladonGymBattleText6 ; 0x4aef TextBeforeBattle
dw CeladonGymAfterBattleText6 ; 0x4af9 TextAfterBattle
dw CeladonGymEndBattleText6 ; 0x4af4 TextEndBattle
dw CeladonGymEndBattleText6 ; 0x4af4 TextEndBattle
CeladonGymTrainerHeader6: ; 489f8 (12:49f8)
db $7 ; flag's bit
db ($2 << 4) ; trainer's view range
dw $d77c ; flag's byte
dw CeladonGymBattleText7 ; 0x4b08 TextBeforeBattle
dw CeladonGymAfterBattleText7 ; 0x4b12 TextAfterBattle
dw CeladonGymEndBattleText7 ; 0x4b0d TextEndBattle
dw CeladonGymEndBattleText7 ; 0x4b0d TextEndBattle
CeladonGymTrainerHeader7: ; 48a04 (12:4a04)
db $8 ; flag's bit
db ($3 << 4) ; trainer's view range
dw $d77c ; flag's byte
dw CeladonGymBattleText8 ; 0x4b21 TextBeforeBattle
dw CeladonGymAfterBattleText8 ; 0x4b2b TextAfterBattle
dw CeladonGymEndBattleText8 ; 0x4b26 TextEndBattle
dw CeladonGymEndBattleText8 ; 0x4b26 TextEndBattle
db $ff
CeladonGymText1: ; 48a11 (12:4a11)
db $08 ; asm
ld a, [$d77c]
bit 1, a
jr z, .asm_16064 ; 0x48a17
bit 0, a
jr nz, .asm_3b22c ; 0x48a1b
call z, CeladonGymText_48963
call DisableWaitingAfterTextDisplay
jr .asm_96252 ; 0x48a23
.asm_3b22c ; 0x48a25
ld hl, CeladonGymText_48a68
call PrintText
jr .asm_96252 ; 0x48a2b
.asm_16064 ; 0x48a2d
ld hl, CeladonGymText_48a5e
call PrintText
ld hl, $d72d
set 6, [hl]
set 7, [hl]
ld hl, CeladonGymText_48a63
ld de, CeladonGymText_48a63
call PreBattleSaveRegisters
ldh a, [$8c]
ld [$cf13], a
call EngageMapTrainer
call InitBattleEnemyParameters
ld a, $4
ld [$d05c], a
ld a, $3
ld [W_CELADONGYMCURSCRIPT], a
ld [W_CURMAPSCRIPT], a
.asm_96252 ; 0x48a5b
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)
db $08 ; 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)
db $08 ; 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)
db $08 ; 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)
db $08 ; 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)
db $08 ; 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)
db $08 ; 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)
db $08 ; 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 "@"