summaryrefslogtreecommitdiff
path: root/scripts/saffrongym.asm
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/saffrongym.asm')
-rwxr-xr-xscripts/saffrongym.asm305
1 files changed, 148 insertions, 157 deletions
diff --git a/scripts/saffrongym.asm b/scripts/saffrongym.asm
index 7c2eb559..cbf935e7 100755
--- a/scripts/saffrongym.asm
+++ b/scripts/saffrongym.asm
@@ -1,82 +1,76 @@
-SaffronGymScript: ; 5d00d (17:500d)
- ld hl, wd126
+SaffronGymScript:
+ ld hl, wCurrentMapScriptFlags
bit 6, [hl]
res 6, [hl]
call nz, .extra
call EnableAutoTextBoxDrawing
ld hl, SaffronGymTrainerHeader0
ld de, SaffronGymScriptPointers
- ld a, [W_SAFFRONGYMCURSCRIPT]
+ ld a, [wSaffronGymCurScript]
call ExecuteCurMapScriptInTable
- ld [W_SAFFRONGYMCURSCRIPT], a
+ ld [wSaffronGymCurScript], a
ret
.extra
- ld hl, Gym6CityName ; $5033
- ld de, Gym6LeaderName ; $5040
+ ld hl, Gym6CityName
+ ld de, Gym6LeaderName
jp LoadGymLeaderAndCityName
-Gym6CityName: ; 5d033 (17:5033)
+Gym6CityName:
db "SAFFRON CITY@"
-Gym6LeaderName: ; 5d040 (17:5040)
+Gym6LeaderName:
db "SABRINA@"
-SaffronGymText_5d048: ; 5d048 (17:5048)
+SaffronGymText_5d048:
xor a
ld [wJoyIgnore], a
- ld [W_SAFFRONGYMCURSCRIPT], a
- ld [W_CURMAPSCRIPT], a
+ ld [wSaffronGymCurScript], a
+ ld [wCurMapScript], a
ret
-SaffronGymScriptPointers: ; 5d053 (17:5053)
+SaffronGymScriptPointers:
dw CheckFightingMapTrainers
dw DisplayEnemyTrainerTextAndStartBattle
dw EndTrainerBattle
dw SaffronGymScript3
-SaffronGymScript3: ; 5d05b (17:505b)
- ld a, [W_ISINBATTLE] ; W_ISINBATTLE
+SaffronGymScript3:
+ ld a, [wIsInBattle]
cp $ff
jp z, SaffronGymText_5d048
ld a, $f0
ld [wJoyIgnore], a
-SaffronGymText_5d068: ; 5d068 (17:5068)
+SaffronGymText_5d068:
ld a, $a
- ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
+ ld [hSpriteIndexOrTextID], a
call DisplayTextID
- ld hl, wd7b3
- set 1, [hl]
- ld bc, (TM_46 << 8) | 1
+ SetEvent EVENT_BEAT_SABRINA
+ lb bc, TM_46, 1
call GiveItem
jr nc, .BagFull
ld a, $b
- ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
+ ld [hSpriteIndexOrTextID], a
call DisplayTextID
- ld hl, wd7b3
- set 0, [hl]
+ SetEvent EVENT_GOT_TM46
jr .asm_5d091
.BagFull
ld a, $c
- ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
+ ld [hSpriteIndexOrTextID], a
call DisplayTextID
.asm_5d091
- ld hl, W_OBTAINEDBADGES
+ ld hl, wObtainedBadges
set 5, [hl]
- ld hl, wd72a
+ ld hl, wBeatGymFlags
set 5, [hl]
; deactivate gym trainers
- ld a, [wd7b3]
- or %11111100
- ld [wd7b3], a
- ld hl, wd7b4
- set 0, [hl]
+ SetEventRange EVENT_BEAT_SAFFRON_GYM_TRAINER_0, EVENT_BEAT_SAFFRON_GYM_TRAINER_6
jp SaffronGymText_5d048
-SaffronGymTextPointers: ; 5d0ab (17:50ab)
+SaffronGymTextPointers:
dw SaffronGymText1
dw SaffronGymText2
dw SaffronGymText3
@@ -90,87 +84,85 @@ SaffronGymTextPointers: ; 5d0ab (17:50ab)
dw SaffronGymText11
dw SaffronGymText12
-SaffronGymTrainerHeaders: ; 5d0c3 (17:50c3)
-SaffronGymTrainerHeader0: ; 5d0c3 (17:50c3)
- db $2 ; flag's bit
+SaffronGymTrainerHeader0:
+ dbEventFlagBit EVENT_BEAT_SAFFRON_GYM_TRAINER_0
db ($3 << 4) ; trainer's view range
- dw wd7b3 ; 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
+ dwEventFlagAddress EVENT_BEAT_SAFFRON_GYM_TRAINER_0
+ dw SaffronGymBattleText1 ; TextBeforeBattle
+ dw SaffronGymAfterBattleText1 ; TextAfterBattle
+ dw SaffronGymEndBattleText1 ; TextEndBattle
+ dw SaffronGymEndBattleText1 ; TextEndBattle
+
+SaffronGymTrainerHeader1:
+ dbEventFlagBit EVENT_BEAT_SAFFRON_GYM_TRAINER_1
db ($3 << 4) ; trainer's view range
- dw wd7b3 ; 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
+ dwEventFlagAddress EVENT_BEAT_SAFFRON_GYM_TRAINER_1
+ dw SaffronGymBattleText2 ; TextBeforeBattle
+ dw SaffronGymAfterBattleText2 ; TextAfterBattle
+ dw SaffronGymEndBattleText2 ; TextEndBattle
+ dw SaffronGymEndBattleText2 ; TextEndBattle
+
+SaffronGymTrainerHeader2:
+ dbEventFlagBit EVENT_BEAT_SAFFRON_GYM_TRAINER_2
db ($3 << 4) ; trainer's view range
- dw wd7b3 ; 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
+ dwEventFlagAddress EVENT_BEAT_SAFFRON_GYM_TRAINER_2
+ dw SaffronGymBattleText3 ; TextBeforeBattle
+ dw SaffronGymAfterBattleText3 ; TextAfterBattle
+ dw SaffronGymEndBattleText3 ; TextEndBattle
+ dw SaffronGymEndBattleText3 ; TextEndBattle
+
+SaffronGymTrainerHeader3:
+ dbEventFlagBit EVENT_BEAT_SAFFRON_GYM_TRAINER_3
db ($3 << 4) ; trainer's view range
- dw wd7b3 ; 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
+ dwEventFlagAddress EVENT_BEAT_SAFFRON_GYM_TRAINER_3
+ dw SaffronGymBattleText4 ; TextBeforeBattle
+ dw SaffronGymAfterBattleText4 ; TextAfterBattle
+ dw SaffronGymEndBattleText4 ; TextEndBattle
+ dw SaffronGymEndBattleText4 ; TextEndBattle
+
+SaffronGymTrainerHeader4:
+ dbEventFlagBit EVENT_BEAT_SAFFRON_GYM_TRAINER_4
db ($3 << 4) ; trainer's view range
- dw wd7b3 ; 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
+ dwEventFlagAddress EVENT_BEAT_SAFFRON_GYM_TRAINER_4
+ dw SaffronGymBattleText5 ; TextBeforeBattle
+ dw SaffronGymAfterBattleText5 ; TextAfterBattle
+ dw SaffronGymEndBattleText5 ; TextEndBattle
+ dw SaffronGymEndBattleText5 ; TextEndBattle
+
+SaffronGymTrainerHeader5:
+ dbEventFlagBit EVENT_BEAT_SAFFRON_GYM_TRAINER_5
db ($3 << 4) ; trainer's view range
- dw wd7b3 ; 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
+ dwEventFlagAddress EVENT_BEAT_SAFFRON_GYM_TRAINER_5
+ dw SaffronGymBattleText6 ; TextBeforeBattle
+ dw SaffronGymAfterBattleText6 ; TextAfterBattle
+ dw SaffronGymEndBattleText6 ; TextEndBattle
+ dw SaffronGymEndBattleText6 ; TextEndBattle
+
+SaffronGymTrainerHeader6:
+ dbEventFlagBit EVENT_BEAT_SAFFRON_GYM_TRAINER_6, 1
db ($3 << 4) ; trainer's view range
- dw wd7b3 ; flag's byte
- dw SaffronGymBattleText7 ; 0x524a TextBeforeBattle
- dw SaffronGymAfterBattleText7 ; 0x5254 TextAfterBattle
- dw SaffronGymEndBattleText7 ; 0x524f TextEndBattle
- dw SaffronGymEndBattleText7 ; 0x524f TextEndBattle
+ dwEventFlagAddress EVENT_BEAT_SAFFRON_GYM_TRAINER_6, 1
+ dw SaffronGymBattleText7 ; TextBeforeBattle
+ dw SaffronGymAfterBattleText7 ; TextAfterBattle
+ dw SaffronGymEndBattleText7 ; TextEndBattle
+ dw SaffronGymEndBattleText7 ; TextEndBattle
db $ff
-SaffronGymText1: ; 5d118 (17:5118)
- db $08 ; asm
- ld a, [wd7b3]
- bit 1, a
- jr z, .asm_e3544 ; 0x5d11e
- bit 0, a
- jr nz, .asm_8d2f6 ; 0x5d122
+SaffronGymText1:
+ TX_ASM
+ CheckEvent EVENT_BEAT_SABRINA
+ jr z, .asm_5d134
+ CheckEventReuseA EVENT_GOT_TM46
+ jr nz, .asm_5d12c
call z, SaffronGymText_5d068
call DisableWaitingAfterTextDisplay
- jr .asm_34c2c ; 0x5d12a
-.asm_8d2f6 ; 0x5d12c
+ jr .asm_5d15f
+.asm_5d12c
ld hl, SaffronGymText_5d16e
call PrintText
- jr .asm_34c2c ; 0x5d132
-.asm_e3544 ; 0x5d134
+ jr .asm_5d15f
+.asm_5d134
ld hl, SaffronGymText_5d162
call PrintText
ld hl, wd72d
@@ -179,189 +171,188 @@ SaffronGymText1: ; 5d118 (17:5118)
ld hl, SaffronGymText_5d167
ld de, SaffronGymText_5d167
call SaveEndBattleTextPointers
- ldh a, [$8c]
+ ld a, [H_SPRITEINDEX]
ld [wSpriteIndex], a
call EngageMapTrainer
call InitBattleEnemyParameters
ld a, $6
- ld [W_GYMLEADERNO], a
+ ld [wGymLeaderNo], a
ld a, $3
- ld [W_SAFFRONGYMCURSCRIPT], a
-.asm_34c2c ; 0x5d15f
+ ld [wSaffronGymCurScript], a
+.asm_5d15f
jp TextScriptEnd
-SaffronGymText_5d162: ; 5d162 (17:5162)
+SaffronGymText_5d162:
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
+SaffronGymText_5d167:
+ TX_FAR _SaffronGymText_5d167
+ TX_SFX_KEY_ITEM ; actually plays the second channel of SFX_BALL_POOF due to the wrong music bank being loaded
+ TX_BLINK
db "@"
-SaffronGymText_5d16e: ; 5d16e (17:516e)
+SaffronGymText_5d16e:
TX_FAR _SaffronGymText_5d16e
db "@"
-SaffronGymText10: ; 5d173 (17:5173)
+SaffronGymText10:
TX_FAR _SaffronGymText_5d173
db "@"
-SaffronGymText11: ; 5d178 (17:5178)
+SaffronGymText11:
TX_FAR ReceivedTM46Text
- db $b
+ TX_SFX_ITEM_1
TX_FAR _TM46ExplanationText
db "@"
-SaffronGymText12: ; 5d182 (17:5182)
+SaffronGymText12:
TX_FAR _TM46NoRoomText
db "@"
-SaffronGymText2: ; 5d187 (17:5187)
- db $08 ; asm
+SaffronGymText2:
+ TX_ASM
ld hl, SaffronGymTrainerHeader0
call TalkToTrainer
jp TextScriptEnd
-SaffronGymText3: ; 5d191 (17:5191)
- db $08 ; asm
+SaffronGymText3:
+ TX_ASM
ld hl, SaffronGymTrainerHeader1
call TalkToTrainer
jp TextScriptEnd
-SaffronGymText4: ; 5d19b (17:519b)
- db $08 ; asm
+SaffronGymText4:
+ TX_ASM
ld hl, SaffronGymTrainerHeader2
call TalkToTrainer
jp TextScriptEnd
-SaffronGymText5: ; 5d1a5 (17:51a5)
- db $08 ; asm
+SaffronGymText5:
+ TX_ASM
ld hl, SaffronGymTrainerHeader3
call TalkToTrainer
jp TextScriptEnd
-SaffronGymText6: ; 5d1af (17:51af)
- db $08 ; asm
+SaffronGymText6:
+ TX_ASM
ld hl, SaffronGymTrainerHeader4
call TalkToTrainer
jp TextScriptEnd
-SaffronGymText7: ; 5d1b9 (17:51b9)
- db $08 ; asm
+SaffronGymText7:
+ TX_ASM
ld hl, SaffronGymTrainerHeader5
call TalkToTrainer
jp TextScriptEnd
-SaffronGymText8: ; 5d1c3 (17:51c3)
- db $08 ; asm
+SaffronGymText8:
+ TX_ASM
ld hl, SaffronGymTrainerHeader6
call TalkToTrainer
jp TextScriptEnd
-SaffronGymText9: ; 5d1cd (17:51cd)
- db $08 ; asm
- ld a, [wd7b3]
- bit 1, a
- jr nz, .asm_13f3c ; 0x5d1d3
+SaffronGymText9:
+ TX_ASM
+ CheckEvent EVENT_BEAT_SABRINA
+ jr nz, .asm_5d1dd
ld hl, SaffronGymText_5d1e6
call PrintText
- jr .asm_e9907 ; 0x5d1db
-.asm_13f3c ; 0x5d1dd
+ jr .asm_5d1e3
+.asm_5d1dd
ld hl, SaffronGymText_5d1eb
call PrintText
-.asm_e9907 ; 0x5d1e3
+.asm_5d1e3
jp TextScriptEnd
-SaffronGymText_5d1e6: ; 5d1e6 (17:51e6)
+SaffronGymText_5d1e6:
TX_FAR _SaffronGymText_5d1e6
db "@"
-SaffronGymText_5d1eb: ; 5d1eb (17:51eb)
+SaffronGymText_5d1eb:
TX_FAR _SaffronGymText_5d1eb
db "@"
-SaffronGymBattleText1: ; 5d1f0 (17:51f0)
+SaffronGymBattleText1:
TX_FAR _SaffronGymBattleText1
db "@"
-SaffronGymEndBattleText1: ; 5d1f5 (17:51f5)
+SaffronGymEndBattleText1:
TX_FAR _SaffronGymEndBattleText1
db "@"
-SaffronGymAfterBattleText1: ; 5d1fa (17:51fa)
+SaffronGymAfterBattleText1:
TX_FAR _SaffronGymAfterBattleText1
db "@"
-SaffronGymBattleText2: ; 5d1ff (17:51ff)
+SaffronGymBattleText2:
TX_FAR _SaffronGymBattleText2
db "@"
-SaffronGymEndBattleText2: ; 5d204 (17:5204)
+SaffronGymEndBattleText2:
TX_FAR _SaffronGymEndBattleText2
db "@"
-SaffronGymAfterBattleText2: ; 5d209 (17:5209)
+SaffronGymAfterBattleText2:
TX_FAR _SaffronGymAfterBattleText2
db "@"
-SaffronGymBattleText3: ; 5d20e (17:520e)
+SaffronGymBattleText3:
TX_FAR _SaffronGymBattleText3
db "@"
-SaffronGymEndBattleText3: ; 5d213 (17:5213)
+SaffronGymEndBattleText3:
TX_FAR _SaffronGymEndBattleText3
db "@"
-SaffronGymAfterBattleText3: ; 5d218 (17:5218)
+SaffronGymAfterBattleText3:
TX_FAR _SaffronGymAfterBattleText3
db "@"
-SaffronGymBattleText4: ; 5d21d (17:521d)
+SaffronGymBattleText4:
TX_FAR _SaffronGymBattleText4
db "@"
-SaffronGymEndBattleText4: ; 5d222 (17:5222)
+SaffronGymEndBattleText4:
TX_FAR _SaffronGymEndBattleText4
db "@"
-SaffronGymAfterBattleText4: ; 5d227 (17:5227)
+SaffronGymAfterBattleText4:
TX_FAR _SaffronGymAfterBattleText4
db "@"
-SaffronGymBattleText5: ; 5d22c (17:522c)
+SaffronGymBattleText5:
TX_FAR _SaffronGymBattleText5
db "@"
-SaffronGymEndBattleText5: ; 5d231 (17:5231)
+SaffronGymEndBattleText5:
TX_FAR _SaffronGymEndBattleText5
db "@"
-SaffronGymAfterBattleText5: ; 5d236 (17:5236)
+SaffronGymAfterBattleText5:
TX_FAR _SaffronGymAfterBattleText5
db "@"
-SaffronGymBattleText6: ; 5d23b (17:523b)
+SaffronGymBattleText6:
TX_FAR _SaffronGymBattleText6
db "@"
-SaffronGymEndBattleText6: ; 5d240 (17:5240)
+SaffronGymEndBattleText6:
TX_FAR _SaffronGymEndBattleText6
db "@"
-SaffronGymAfterBattleText6: ; 5d245 (17:5245)
+SaffronGymAfterBattleText6:
TX_FAR _SaffronGymAfterBattleText6
db "@"
-SaffronGymBattleText7: ; 5d24a (17:524a)
+SaffronGymBattleText7:
TX_FAR _SaffronGymBattleText7
db "@"
-SaffronGymEndBattleText7: ; 5d24f (17:524f)
+SaffronGymEndBattleText7:
TX_FAR _SaffronGymEndBattleText7
db "@"
-SaffronGymAfterBattleText7: ; 5d254 (17:5254)
+SaffronGymAfterBattleText7:
TX_FAR _SaffronGymAfterBattleText7
db "@"