summaryrefslogtreecommitdiff
path: root/scripts/saffrongym.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/saffrongym.asm
parent4e4e72d02a5a202daea3a73363d2a4c3ba34e724 (diff)
Pull map scripts out of main.asm
Diffstat (limited to 'scripts/saffrongym.asm')
-rwxr-xr-xscripts/saffrongym.asm367
1 files changed, 367 insertions, 0 deletions
diff --git a/scripts/saffrongym.asm b/scripts/saffrongym.asm
new file mode 100755
index 00000000..40482831
--- /dev/null
+++ b/scripts/saffrongym.asm
@@ -0,0 +1,367 @@
+SaffronGymScript: ; 5d00d (17:500d)
+ ld hl, $d126
+ bit 6, [hl]
+ res 6, [hl]
+ call nz, .extra
+ call EnableAutoTextBoxDrawing
+ ld hl, SaffronGymTrainerHeader0
+ ld de, SaffronGymScriptPointers
+ ld a, [W_SAFFRONGYMCURSCRIPT]
+ call ExecuteCurMapScriptInTable
+ ld [W_SAFFRONGYMCURSCRIPT], a
+ ret
+
+.extra
+ ld hl, Gym6CityName ; $5033
+ ld de, Gym6LeaderName ; $5040
+ jp LoadGymLeaderAndCityName
+
+Gym6CityName: ; 5d033 (17:5033)
+ db "SAFFRON CITY@"
+
+Gym6LeaderName: ; 5d040 (17:5040)
+ db "SABRINA@"
+
+SaffronGymText_5d048: ; 5d048 (17:5048)
+ xor a
+ ld [wJoypadForbiddenButtonsMask], a
+ ld [W_SAFFRONGYMCURSCRIPT], a
+ ld [W_CURMAPSCRIPT], a
+ ret
+
+SaffronGymScriptPointers: ; 5d053 (17:5053)
+ dw CheckFightingMapTrainers
+ dw Func_324c
+ dw EndTrainerBattle
+ dw SaffronGymScript3
+
+SaffronGymScript3: ; 5d05b (17:505b)
+ ld a, [W_ISINBATTLE] ; $d057
+ cp $ff
+ jp z, SaffronGymText_5d048
+ ld a, $f0
+ ld [wJoypadForbiddenButtonsMask], a
+
+SaffronGymText_5d068: ; 5d068 (17:5068)
+ ld a, $a
+ ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
+ call DisplayTextID
+ ld hl, $d7b3
+ set 1, [hl]
+ ld bc, (TM_46 << 8) | 1
+ call GiveItem
+ jr nc, .BagFull
+ ld a, $b
+ ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
+ call DisplayTextID
+ ld hl, $d7b3
+ set 0, [hl]
+ jr .asm_5d091
+.BagFull
+ ld a, $c
+ ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
+ call DisplayTextID
+.asm_5d091
+ ld hl, W_OBTAINEDBADGES
+ set 5, [hl]
+ ld hl, $d72a
+ set 5, [hl]
+
+ ; deactivate gym trainers
+ ld a, [$d7b3]
+ or %11111100
+ ld [$d7b3], a
+ ld hl, $d7b4
+ set 0, [hl]
+
+ jp SaffronGymText_5d048
+
+SaffronGymTextPointers: ; 5d0ab (17:50ab)
+ dw SaffronGymText1
+ dw SaffronGymText2
+ dw SaffronGymText3
+ dw SaffronGymText4
+ dw SaffronGymText5
+ dw SaffronGymText6
+ dw SaffronGymText7
+ dw SaffronGymText8
+ dw SaffronGymText9
+ dw SaffronGymText10
+ dw SaffronGymText11
+ dw SaffronGymText12
+
+SaffronGymTrainerHeaders: ; 5d0c3 (17:50c3)
+SaffronGymTrainerHeader0: ; 5d0c3 (17:50c3)
+ db $2 ; flag's bit
+ db ($3 << 4) ; trainer's view range
+ dw $d7b3 ; flag's byte
+ dw SaffronGymBattleText1 ; 0x51f0 TextBeforeBattle
+ dw SaffronGymAfterBattleText1 ; 0x51fa TextAfterBattle
+ dw SaffronGymEndBattleText1 ; 0x51f5 TextEndBattle
+ dw SaffronGymEndBattleText1 ; 0x51f5 TextEndBattle
+
+SaffronGymTrainerHeader1: ; 5d0cf (17:50cf)
+ db $3 ; flag's bit
+ db ($3 << 4) ; trainer's view range
+ dw $d7b3 ; flag's byte
+ dw SaffronGymBattleText2 ; 0x51ff TextBeforeBattle
+ dw SaffronGymAfterBattleText2 ; 0x5209 TextAfterBattle
+ dw SaffronGymEndBattleText2 ; 0x5204 TextEndBattle
+ dw SaffronGymEndBattleText2 ; 0x5204 TextEndBattle
+
+SaffronGymTrainerHeader2: ; 5d0db (17:50db)
+ db $4 ; flag's bit
+ db ($3 << 4) ; trainer's view range
+ dw $d7b3 ; flag's byte
+ dw SaffronGymBattleText3 ; 0x520e TextBeforeBattle
+ dw SaffronGymAfterBattleText3 ; 0x5218 TextAfterBattle
+ dw SaffronGymEndBattleText3 ; 0x5213 TextEndBattle
+ dw SaffronGymEndBattleText3 ; 0x5213 TextEndBattle
+
+SaffronGymTrainerHeader3: ; 5d0e7 (17:50e7)
+ db $5 ; flag's bit
+ db ($3 << 4) ; trainer's view range
+ dw $d7b3 ; flag's byte
+ dw SaffronGymBattleText4 ; 0x521d TextBeforeBattle
+ dw SaffronGymAfterBattleText4 ; 0x5227 TextAfterBattle
+ dw SaffronGymEndBattleText4 ; 0x5222 TextEndBattle
+ dw SaffronGymEndBattleText4 ; 0x5222 TextEndBattle
+
+SaffronGymTrainerHeader4: ; 5d0f3 (17:50f3)
+ db $6 ; flag's bit
+ db ($3 << 4) ; trainer's view range
+ dw $d7b3 ; flag's byte
+ dw SaffronGymBattleText5 ; 0x522c TextBeforeBattle
+ dw SaffronGymAfterBattleText5 ; 0x5236 TextAfterBattle
+ dw SaffronGymEndBattleText5 ; 0x5231 TextEndBattle
+ dw SaffronGymEndBattleText5 ; 0x5231 TextEndBattle
+
+SaffronGymTrainerHeader5: ; 5d0ff (17:50ff)
+ db $7 ; flag's bit
+ db ($3 << 4) ; trainer's view range
+ dw $d7b3 ; flag's byte
+ dw SaffronGymBattleText6 ; 0x523b TextBeforeBattle
+ dw SaffronGymAfterBattleText6 ; 0x5245 TextAfterBattle
+ dw SaffronGymEndBattleText6 ; 0x5240 TextEndBattle
+ dw SaffronGymEndBattleText6 ; 0x5240 TextEndBattle
+
+SaffronGymTrainerHeader6: ; 5d10b (17:510b)
+ db $8 ; flag's bit
+ db ($3 << 4) ; trainer's view range
+ dw $d7b3 ; flag's byte
+ dw SaffronGymBattleText7 ; 0x524a TextBeforeBattle
+ dw SaffronGymAfterBattleText7 ; 0x5254 TextAfterBattle
+ dw SaffronGymEndBattleText7 ; 0x524f TextEndBattle
+ dw SaffronGymEndBattleText7 ; 0x524f TextEndBattle
+
+ db $ff
+
+SaffronGymText1: ; 5d118 (17:5118)
+ db $08 ; asm
+ ld a, [$d7b3]
+ bit 1, a
+ jr z, .asm_e3544 ; 0x5d11e
+ bit 0, a
+ jr nz, .asm_8d2f6 ; 0x5d122
+ call z, SaffronGymText_5d068
+ call DisableWaitingAfterTextDisplay
+ jr .asm_34c2c ; 0x5d12a
+.asm_8d2f6 ; 0x5d12c
+ ld hl, SaffronGymText_5d16e
+ call PrintText
+ jr .asm_34c2c ; 0x5d132
+.asm_e3544 ; 0x5d134
+ ld hl, SaffronGymText_5d162
+ call PrintText
+ ld hl, $d72d
+ set 6, [hl]
+ set 7, [hl]
+ ld hl, SaffronGymText_5d167
+ ld de, SaffronGymText_5d167
+ call PreBattleSaveRegisters
+ ldh a, [$8c]
+ ld [$cf13], a
+ call EngageMapTrainer
+ call InitBattleEnemyParameters
+ ld a, $6
+ ld [$d05c], a
+ ld a, $3
+ ld [W_SAFFRONGYMCURSCRIPT], a
+.asm_34c2c ; 0x5d15f
+ jp TextScriptEnd
+
+SaffronGymText_5d162: ; 5d162 (17:5162)
+ TX_FAR _SaffronGymText_5d162
+ db "@"
+
+SaffronGymText_5d167: ; 5d167 (17:5167)
+ TX_FAR _SaffronGymText_5d167 ; 0xa1c73
+ db $11 ; play same sound as red giving oak parcel
+ db $6 ; wait for keypress
+ db "@"
+
+SaffronGymText_5d16e: ; 5d16e (17:516e)
+ TX_FAR _SaffronGymText_5d16e
+ db "@"
+
+SaffronGymText10: ; 5d173 (17:5173)
+ TX_FAR _SaffronGymText_5d173
+ db "@"
+
+SaffronGymText11: ; 5d178 (17:5178)
+ TX_FAR ReceivedTM46Text
+ db $b
+ TX_FAR _TM46ExplanationText
+ db "@"
+
+SaffronGymText12: ; 5d182 (17:5182)
+ TX_FAR _TM46NoRoomText
+ db "@"
+
+SaffronGymText2: ; 5d187 (17:5187)
+ db $08 ; asm
+ ld hl, SaffronGymTrainerHeader0
+ call TalkToTrainer
+ jp TextScriptEnd
+
+SaffronGymText3: ; 5d191 (17:5191)
+ db $08 ; asm
+ ld hl, SaffronGymTrainerHeader1
+ call TalkToTrainer
+ jp TextScriptEnd
+
+SaffronGymText4: ; 5d19b (17:519b)
+ db $08 ; asm
+ ld hl, SaffronGymTrainerHeader2
+ call TalkToTrainer
+ jp TextScriptEnd
+
+SaffronGymText5: ; 5d1a5 (17:51a5)
+ db $08 ; asm
+ ld hl, SaffronGymTrainerHeader3
+ call TalkToTrainer
+ jp TextScriptEnd
+
+SaffronGymText6: ; 5d1af (17:51af)
+ db $08 ; asm
+ ld hl, SaffronGymTrainerHeader4
+ call TalkToTrainer
+ jp TextScriptEnd
+
+SaffronGymText7: ; 5d1b9 (17:51b9)
+ db $08 ; asm
+ ld hl, SaffronGymTrainerHeader5
+ call TalkToTrainer
+ jp TextScriptEnd
+
+SaffronGymText8: ; 5d1c3 (17:51c3)
+ db $08 ; asm
+ ld hl, SaffronGymTrainerHeader6
+ call TalkToTrainer
+ jp TextScriptEnd
+
+SaffronGymText9: ; 5d1cd (17:51cd)
+ db $08 ; asm
+ ld a, [$d7b3]
+ bit 1, a
+ jr nz, .asm_13f3c ; 0x5d1d3
+ ld hl, SaffronGymText_5d1e6
+ call PrintText
+ jr .asm_e9907 ; 0x5d1db
+.asm_13f3c ; 0x5d1dd
+ ld hl, SaffronGymText_5d1eb
+ call PrintText
+.asm_e9907 ; 0x5d1e3
+ jp TextScriptEnd
+
+SaffronGymText_5d1e6: ; 5d1e6 (17:51e6)
+ TX_FAR _SaffronGymText_5d1e6
+ db "@"
+
+SaffronGymText_5d1eb: ; 5d1eb (17:51eb)
+ TX_FAR _SaffronGymText_5d1eb
+ db "@"
+
+SaffronGymBattleText1: ; 5d1f0 (17:51f0)
+ TX_FAR _SaffronGymBattleText1
+ db "@"
+
+SaffronGymEndBattleText1: ; 5d1f5 (17:51f5)
+ TX_FAR _SaffronGymEndBattleText1
+ db "@"
+
+SaffronGymAfterBattleText1: ; 5d1fa (17:51fa)
+ TX_FAR _SaffronGymAfterBattleText1
+ db "@"
+
+SaffronGymBattleText2: ; 5d1ff (17:51ff)
+ TX_FAR _SaffronGymBattleText2
+ db "@"
+
+SaffronGymEndBattleText2: ; 5d204 (17:5204)
+ TX_FAR _SaffronGymEndBattleText2
+ db "@"
+
+SaffronGymAfterBattleText2: ; 5d209 (17:5209)
+ TX_FAR _SaffronGymAfterBattleText2
+ db "@"
+
+SaffronGymBattleText3: ; 5d20e (17:520e)
+ TX_FAR _SaffronGymBattleText3
+ db "@"
+
+SaffronGymEndBattleText3: ; 5d213 (17:5213)
+ TX_FAR _SaffronGymEndBattleText3
+ db "@"
+
+SaffronGymAfterBattleText3: ; 5d218 (17:5218)
+ TX_FAR _SaffronGymAfterBattleText3
+ db "@"
+
+SaffronGymBattleText4: ; 5d21d (17:521d)
+ TX_FAR _SaffronGymBattleText4
+ db "@"
+
+SaffronGymEndBattleText4: ; 5d222 (17:5222)
+ TX_FAR _SaffronGymEndBattleText4
+ db "@"
+
+SaffronGymAfterBattleText4: ; 5d227 (17:5227)
+ TX_FAR _SaffronGymAfterBattleText4
+ db "@"
+
+SaffronGymBattleText5: ; 5d22c (17:522c)
+ TX_FAR _SaffronGymBattleText5
+ db "@"
+
+SaffronGymEndBattleText5: ; 5d231 (17:5231)
+ TX_FAR _SaffronGymEndBattleText5
+ db "@"
+
+SaffronGymAfterBattleText5: ; 5d236 (17:5236)
+ TX_FAR _SaffronGymAfterBattleText5
+ db "@"
+
+SaffronGymBattleText6: ; 5d23b (17:523b)
+ TX_FAR _SaffronGymBattleText6
+ db "@"
+
+SaffronGymEndBattleText6: ; 5d240 (17:5240)
+ TX_FAR _SaffronGymEndBattleText6
+ db "@"
+
+SaffronGymAfterBattleText6: ; 5d245 (17:5245)
+ TX_FAR _SaffronGymAfterBattleText6
+ db "@"
+
+SaffronGymBattleText7: ; 5d24a (17:524a)
+ TX_FAR _SaffronGymBattleText7
+ db "@"
+
+SaffronGymEndBattleText7: ; 5d24f (17:524f)
+ TX_FAR _SaffronGymEndBattleText7
+ db "@"
+
+SaffronGymAfterBattleText7: ; 5d254 (17:5254)
+ TX_FAR _SaffronGymAfterBattleText7
+ db "@"