summaryrefslogtreecommitdiff
path: root/scripts/pewtergym.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/pewtergym.asm
parent4e4e72d02a5a202daea3a73363d2a4c3ba34e724 (diff)
Pull map scripts out of main.asm
Diffstat (limited to 'scripts/pewtergym.asm')
-rwxr-xr-xscripts/pewtergym.asm237
1 files changed, 237 insertions, 0 deletions
diff --git a/scripts/pewtergym.asm b/scripts/pewtergym.asm
new file mode 100755
index 00000000..2ba001d4
--- /dev/null
+++ b/scripts/pewtergym.asm
@@ -0,0 +1,237 @@
+PewterGymScript: ; 5c387 (17:4387)
+ ld hl, $d126
+ bit 6, [hl]
+ res 6, [hl]
+ call nz, PewterGymScript_5c3a4
+ call EnableAutoTextBoxDrawing
+ ld hl, PewterGymTrainerHeaders
+ ld de, PewterGymScriptPointers
+ ld a, [W_PEWTERGYMCURSCRIPT]
+ call ExecuteCurMapScriptInTable
+ ld [W_PEWTERGYMCURSCRIPT], a
+ ret
+
+PewterGymScript_5c3a4: ; 5c3a4 (17:43a4)
+ ld hl, Gym1CityName ; $43ad
+ ld de, Gym1LeaderName ; $43b9
+ jp LoadGymLeaderAndCityName
+
+Gym1CityName: ; 5c3ad (17:43ad)
+ db "PEWTER CITY@"
+
+Gym1LeaderName: ; 5c3b9 (17:43b9)
+ db "BROCK@"
+
+PewterGymScript_5c3bf: ; 5c3bf (17:43bf)
+ xor a
+ ld [wJoypadForbiddenButtonsMask], a
+ ld [W_PEWTERGYMCURSCRIPT], a
+ ld [W_CURMAPSCRIPT], a
+ ret
+
+PewterGymScriptPointers: ; 5c3ca (17:43ca)
+ dw CheckFightingMapTrainers
+ dw Func_324c
+ dw EndTrainerBattle
+ dw PewterGymScript3
+
+PewterGymScript3: ; 5c3d2 (17:43d2)
+ ld a, [W_ISINBATTLE] ; $d057
+ cp $ff
+ jp z, PewterGymScript_5c3bf
+ ld a, $f0
+ ld [wJoypadForbiddenButtonsMask], a
+
+PewterGymScript_5c3df: ; 5c3df (17:43df)
+ ld a, $4
+ ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
+ call DisplayTextID
+ ld hl, $d755
+ set 7, [hl]
+ ld bc, (TM_34 << 8) | 1
+ call GiveItem
+ jr nc, .BagFull
+ ld a, $5
+ ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
+ call DisplayTextID
+ ld hl, $d755
+ set 6, [hl]
+ jr .asm_5c408
+.BagFull
+ ld a, $6
+ ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
+ call DisplayTextID
+.asm_5c408
+ ld hl, W_OBTAINEDBADGES
+ set 0, [hl]
+ ld hl, $d72a
+ set 0, [hl]
+
+ ld a, $4
+ ld [$cc4d], a
+ ld a, $11
+ call Predef ; indirect jump to RemoveMissableObject (f1d7 (3:71d7))
+ ld a, $22
+ ld [$cc4d], a
+ ld a, $11
+ call Predef ; indirect jump to RemoveMissableObject (f1d7 (3:71d7))
+
+ ld hl, $d7eb
+ res 0, [hl]
+ res 7, [hl]
+
+ ; deactivate gym trainers
+ ld hl, $d755
+ set 2, [hl]
+
+ jp PewterGymScript_5c3bf
+
+PewterGymTextPointers: ; 5c435 (17:4435)
+ dw PewterGymText1
+ dw PewterGymText2
+ dw PewterGymText3
+ dw PewterGymText4
+ dw PewterGymText5
+ dw PewterGymText6
+
+PewterGymTrainerHeaders: ; 5c441 (17:4441)
+PewterGymTrainerHeader0: ; 5c441 (17:4441)
+ db $2 ; flag's bit
+ db ($5 << 4) ; trainer's view range
+ dw $d755 ; flag's byte
+ dw PewterGymBattleText1 ; 0x44d0 TextBeforeBattle
+ dw PewterGymAfterBattleText1 ; 0x44da TextAfterBattle
+ dw PewterGymEndBattleText1 ; 0x44d5 TextEndBattle
+ dw PewterGymEndBattleText1 ; 0x44d5 TextEndBattle
+
+ db $ff
+
+PewterGymText1: ; 5c44e (17:444e)
+ db $08 ; asm
+ ld a, [$d755]
+ bit 7, a
+ jr z, .asm_4a735 ; 0x5c454
+ bit 6, a
+ jr nz, .asm_ff7d0 ; 0x5c458
+ call z, PewterGymScript_5c3df
+ call DisableWaitingAfterTextDisplay
+ jr .asm_e0ffb ; 0x5c460
+.asm_ff7d0 ; 0x5c462
+ ld hl, PewterGymText_5c4a3
+ call PrintText
+ jr .asm_e0ffb ; 0x5c468
+.asm_4a735 ; 0x5c46a
+ ld hl, PewterGymText_5c49e
+ call PrintText
+ ld hl, $d72d
+ set 6, [hl]
+ set 7, [hl]
+ ld hl, PewterGymText_5c4bc
+ ld de, PewterGymText_5c4bc
+ call PreBattleSaveRegisters
+ ldh a, [$8c]
+ ld [$cf13], a
+ call EngageMapTrainer
+ call InitBattleEnemyParameters
+ ld a, $1
+ ld [$d05c], a
+ xor a
+ ldh [$b4], a
+ ld a, $3
+ ld [W_PEWTERGYMCURSCRIPT], a
+ ld [W_CURMAPSCRIPT], a
+.asm_e0ffb ; 0x5c49b
+ jp TextScriptEnd
+
+PewterGymText_5c49e: ; 5c49e (17:449e)
+ TX_FAR _PewterGymText_5c49e
+ db "@"
+
+PewterGymText_5c4a3: ; 5c4a3 (17:44a3)
+ TX_FAR _PewterGymText_5c4a3
+ db "@"
+
+PewterGymText4: ; 5c4a8 (17:44a8)
+ TX_FAR _TM34PreReceiveText
+ db "@"
+
+PewterGymText5: ; 5c4ad (17:44ad)
+ TX_FAR _ReceivedTM34Text
+ db $0B
+ TX_FAR _TM34ExplanationText
+ db "@"
+
+PewterGymText6: ; 5c4b7 (17:44b7)
+ TX_FAR _TM34NoRoomText
+ db "@"
+
+PewterGymText_5c4bc: ; 5c4bc (17:44bc)
+ TX_FAR _PewterGymText_5c4bc
+ db $0B
+ TX_FAR _PewterGymText_5c4c1
+ db "@"
+
+PewterGymText2: ; 5c4c6 (17:44c6)
+ db $08 ; asm
+ ld hl, PewterGymTrainerHeader0
+ call TalkToTrainer
+ jp TextScriptEnd
+
+PewterGymBattleText1: ; 5c4d0 (17:44d0)
+ TX_FAR _PewterGymBattleText1
+ db "@"
+
+PewterGymEndBattleText1: ; 5c4d5 (17:44d5)
+ TX_FAR _PewterGymEndBattleText1
+ db "@"
+
+PewterGymAfterBattleText1: ; 5c4da (17:44da)
+ TX_FAR _PewterGymAfterBattleText1
+ db "@"
+
+PewterGymText3: ; 5c4df (17:44df)
+ db $08 ; asm
+ ld a, [$d72a]
+ bit 0, a
+ jr nz, .asm_71369 ; 0x5c4e5
+ ld hl, PewterGymText_5c515
+ call PrintText
+ call YesNoChoice
+ ld a, [$cc26]
+ and a
+ jr nz, .asm_6123a ; 0x5c4f4
+ ld hl, PewterGymText_5c51a
+ call PrintText
+ jr .asm_d1578 ; 0x5c4fc
+.asm_6123a ; 0x5c4fe
+ ld hl, PewterGymText_5c524
+ call PrintText
+.asm_d1578 ; 0x5c504
+ ld hl, PewterGymText_5c51f
+ call PrintText
+ jr .asm_07013 ; 0x5c50a
+.asm_71369 ; 0x5c50c
+ ld hl, PewterGymText_5c529
+ call PrintText
+.asm_07013 ; 0x5c512
+ jp TextScriptEnd
+
+PewterGymText_5c515: ; 5c515 (17:4515)
+ TX_FAR _PewterGymText_5c515
+ db "@"
+
+PewterGymText_5c51a: ; 5c51a (17:451a)
+ TX_FAR _PewterGymText_5c51a
+ db "@"
+
+PewterGymText_5c51f: ; 5c51f (17:451f)
+ TX_FAR _PewterGymText_5c51f
+ db "@"
+
+PewterGymText_5c524: ; 5c524 (17:4524)
+ TX_FAR _PewterGymText_5c524
+ db "@"
+
+PewterGymText_5c529: ; 5c529 (17:4529)
+ TX_FAR _PewterGymText_5c529
+ db "@"