summaryrefslogtreecommitdiff
path: root/scripts/celadongym.asm
diff options
context:
space:
mode:
authorU-Fish-PC\Daniel <corrnondacqb@yahoo.com>2014-05-18 14:19:10 -0400
committerU-Fish-PC\Daniel <corrnondacqb@yahoo.com>2014-05-18 14:19:10 -0400
commit24c01b09bb2b617812bd826d1cf9ab5e3ec6a023 (patch)
tree07d2ed81b23de081f2003d9f8d50170344dd5ada /scripts/celadongym.asm
parent4e4e72d02a5a202daea3a73363d2a4c3ba34e724 (diff)
Pull map scripts out of main.asm
Diffstat (limited to 'scripts/celadongym.asm')
-rwxr-xr-xscripts/celadongym.asm343
1 files changed, 343 insertions, 0 deletions
diff --git a/scripts/celadongym.asm b/scripts/celadongym.asm
new file mode 100755
index 00000000..67102fb7
--- /dev/null
+++ b/scripts/celadongym.asm
@@ -0,0 +1,343 @@
+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 "@"