summaryrefslogtreecommitdiff
path: root/scripts/silphco7.asm
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/silphco7.asm')
-rwxr-xr-xscripts/silphco7.asm312
1 files changed, 160 insertions, 152 deletions
diff --git a/scripts/silphco7.asm b/scripts/silphco7.asm
index 23eb795c..b211c8a9 100755
--- a/scripts/silphco7.asm
+++ b/scripts/silphco7.asm
@@ -1,51 +1,53 @@
-SilphCo7Script: ; 51b61 (14:5b61)
+SilphCo7Script:
call SilphCo7Script_51b77
call EnableAutoTextBoxDrawing
- ld hl, SilphCo7TrainerHeaders
+ ld hl, SilphCo7TrainerHeader0
ld de, SilphCo7ScriptPointers
- ld a, [W_SILPHCO7CURSCRIPT]
+ ld a, [wSilphCo7CurScript]
call ExecuteCurMapScriptInTable
- ld [W_SILPHCO7CURSCRIPT], a
+ ld [wSilphCo7CurScript], a
ret
-SilphCo7Script_51b77: ; 51b77 (14:5b77)
- ld hl, wd126
+SilphCo7Script_51b77:
+ ld hl, wCurrentMapScriptFlags
bit 5, [hl]
res 5, [hl]
ret z
- ld hl, DataTable_51bc1 ; $5bc1
+ ld hl, SilphCo7GateCoords
call SilphCo7Text_51bc8
call SilphCo7Text_51bf4
- ld a, [wd830]
- bit 4, a
+ CheckEvent EVENT_SILPH_CO_7_UNLOCKED_DOOR1
jr nz, .asm_51b9e
push af
ld a, $54
- ld [wd09f], a
- ld bc, $305
+ ld [wNewTileBlockID], a
+ lb bc, 3, 5
predef ReplaceTileBlock
pop af
.asm_51b9e
- bit 5, a
+ CheckEventAfterBranchReuseA EVENT_SILPH_CO_7_UNLOCKED_DOOR2, EVENT_SILPH_CO_7_UNLOCKED_DOOR1
jr nz, .asm_51bb1
push af
ld a, $54
- ld [wd09f], a
- ld bc, $20a
+ ld [wNewTileBlockID], a
+ lb bc, 2, 10
predef ReplaceTileBlock
pop af
.asm_51bb1
- bit 6, a
+ CheckEventAfterBranchReuseA EVENT_SILPH_CO_7_UNLOCKED_DOOR3, EVENT_SILPH_CO_7_UNLOCKED_DOOR2
ret nz
ld a, $54
- ld [wd09f], a
- ld bc, $60a
+ ld [wNewTileBlockID], a
+ lb bc, 6, 10
predef_jump ReplaceTileBlock
-DataTable_51bc1: ; 51bc1 (14:5bc1)
- db $03,$05,$02,$0A,$06,$0A,$FF
+SilphCo7GateCoords:
+ db $03,$05
+ db $02,$0A
+ db $06,$0A
+ db $FF
-SilphCo7Text_51bc8: ; 51bc8 (14:5bc8)
+SilphCo7Text_51bc8:
push hl
ld hl, wCardKeyDoorY
ld a, [hli]
@@ -81,34 +83,34 @@ SilphCo7Text_51bc8: ; 51bc8 (14:5bc8)
ld [$ffe0], a
ret
-SilphCo7Text_51bf4: ; 51bf4 (14:5bf4)
- ld hl, wd830
+SilphCo7Text_51bf4:
+ EventFlagAddress hl, EVENT_SILPH_CO_7_UNLOCKED_DOOR1
ld a, [$ffe0]
and a
ret z
cp $1
- jr nz, .asm_51c02
- set 4, [hl]
+ jr nz, .next1
+ SetEventReuseHL EVENT_SILPH_CO_7_UNLOCKED_DOOR1
ret
-.asm_51c02
+.next1
cp $2
- jr nz, .asm_51c09
- set 5, [hl]
+ jr nz, .next2
+ SetEventAfterBranchReuseHL EVENT_SILPH_CO_7_UNLOCKED_DOOR2, EVENT_SILPH_CO_7_UNLOCKED_DOOR1
ret
-.asm_51c09
- set 6, [hl]
+.next2
+ SetEventAfterBranchReuseHL EVENT_SILPH_CO_7_UNLOCKED_DOOR3, EVENT_SILPH_CO_7_UNLOCKED_DOOR1
ret
-SilphCo7Text_51c0c: ; 51c0c (14:5c0c)
+SilphCo7Text_51c0c:
xor a
ld [wJoyIgnore], a
-SilphCo7Text_51c10: ; 51c10 (14:5c10)
- ld [W_SILPHCO7CURSCRIPT], a
- ld [W_CURMAPSCRIPT], a
+SilphCo7Text_51c10:
+ ld [wSilphCo7CurScript], a
+ ld [wCurMapScript], a
ret
-SilphCo7ScriptPointers: ; 51c17 (14:5c17)
+SilphCo7ScriptPointers:
dw SilphCo7Script0
dw DisplayEnemyTrainerTextAndStartBattle
dw EndTrainerBattle
@@ -116,9 +118,8 @@ SilphCo7ScriptPointers: ; 51c17 (14:5c17)
dw SilphCo7Script4
dw SilphCo7Script5
-SilphCo7Script0: ; 51c23 (14:5c23)
- ld a, [wd82f]
- bit 0, a
+SilphCo7Script0:
+ CheckEvent EVENT_BEAT_SILPH_CO_RIVAL
jp nz, CheckFightingMapTrainers
ld hl, CoordsData_51c78
call ArePlayerCoordsInArray
@@ -127,60 +128,64 @@ SilphCo7Script0: ; 51c23 (14:5c23)
ld [hJoyHeld], a
ld a, $f0
ld [wJoyIgnore], a
- ld a, $4
- ld [wd528], a
+ ld a, PLAYER_DIR_DOWN
+ ld [wPlayerMovingDirection], a
ld a, $ff
- ld [wc0ee], a
+ ld [wNewSoundID], a
call PlaySound
ld c, BANK(Music_MeetRival)
ld a, MUSIC_MEET_RIVAL
call PlayMusic
ld a, $9
- ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
+ ld [hSpriteIndexOrTextID], a
call DisplayTextID
ld a, $9
- ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
+ ld [H_SPRITEINDEX], a
call SetSpriteMovementBytesToFF
ld de, MovementData_51c7d
- ld a, [wWhichTrade] ; wWhichTrade
+ ld a, [wCoordIndex]
ld [wcf0d], a
cp $1
jr z, .asm_51c6c
inc de
.asm_51c6c
ld a, $9
- ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
+ ld [H_SPRITEINDEX], a
call MoveSprite
ld a, $3
jp SilphCo7Text_51c10
-CoordsData_51c78: ; 51c78 (14:5c78)
+CoordsData_51c78:
db $02,$03
db $03,$03
db $FF
-MovementData_51c7d: ; 51c7d (14:5c7d)
- db $40,$40,$40,$40,$FF
+MovementData_51c7d:
+ db NPC_MOVEMENT_UP
+ db NPC_MOVEMENT_UP
+ db NPC_MOVEMENT_UP
+ db NPC_MOVEMENT_UP
+ db $FF
-SilphCo7Script3: ; 51c82 (14:5c82)
+SilphCo7Script3:
ld a, [wd730]
bit 0, a
ret nz
xor a
ld [wJoyIgnore], a
ld a, $d
- ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
+ ld [hSpriteIndexOrTextID], a
call DisplayTextID
call Delay3
ld hl, wd72d
set 6, [hl]
set 7, [hl]
- ld hl, SilphCo7Text14 ; $5ec8
- ld de, SilphCo7Text_51ecd ; $5ecd
+ ld hl, SilphCo7Text14
+ ld de, SilphCo7Text_51ecd
call SaveEndBattleTextPointers
- ld a, SONY2 + $c8
- ld [W_CUROPPONENT], a ; wd059
- ld a, [W_RIVALSTARTER] ; wd715
+ ld a, OPP_SONY2
+ ld [wCurOpponent], a
+ ld a, [wRivalStarter]
cp STARTER2
jr nz, .asm_51cb6
ld a, $7
@@ -193,30 +198,29 @@ SilphCo7Script3: ; 51c82 (14:5c82)
.asm_51cbe
ld a, $9
.asm_51cc0
- ld [W_TRAINERNO], a ; wd05d
+ ld [wTrainerNo], a
ld a, $4
jp SilphCo7Text_51c10
-SilphCo7Script4: ; 51cc8 (14:5cc8)
- ld a, [W_ISINBATTLE] ; W_ISINBATTLE
+SilphCo7Script4:
+ ld a, [wIsInBattle]
cp $ff
jp z, SilphCo7Text_51c0c
ld a, $f0
ld [wJoyIgnore], a
- ld hl, wd82f
- set 0, [hl]
- ld a, $4
- ld [wd528], a
+ SetEvent EVENT_BEAT_SILPH_CO_RIVAL
+ ld a, PLAYER_DIR_DOWN
+ ld [wPlayerMovingDirection], a
ld a, $9
- ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
- ld a, $4
- ld [$ff8d], a
+ ld [H_SPRITEINDEX], a
+ ld a, SPRITE_FACING_UP
+ ld [hSpriteFacingDirection], a
call SetSpriteFacingDirectionAndDelay
ld a, $f
- ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
+ ld [hSpriteIndexOrTextID], a
call DisplayTextID
ld a, $ff
- ld [wc0ee], a
+ ld [wNewSoundID], a
call PlaySound
callba Music_RivalAlternateStart
ld de, MovementData_51d1d
@@ -226,30 +230,39 @@ SilphCo7Script4: ; 51cc8 (14:5cc8)
ld de, MovementData_51d1a
.asm_51d0e
ld a, $9
- ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
+ ld [H_SPRITEINDEX], a
call MoveSprite
ld a, $5
jp SilphCo7Text_51c10
-MovementData_51d1a: ; 51d1a (14:5d1a)
- db $C0,$C0,$FF
+MovementData_51d1a:
+ db NPC_MOVEMENT_RIGHT
+ db NPC_MOVEMENT_RIGHT
+ db $FF
-MovementData_51d1d: ; 51d1d (14:5d1d)
- db $80,$40,$40,$C0,$C0,$C0,$00,$FF
+MovementData_51d1d:
+ db NPC_MOVEMENT_LEFT
+ db NPC_MOVEMENT_UP
+ db NPC_MOVEMENT_UP
+ db NPC_MOVEMENT_RIGHT
+ db NPC_MOVEMENT_RIGHT
+ db NPC_MOVEMENT_RIGHT
+ db NPC_MOVEMENT_DOWN
+ db $FF
-SilphCo7Script5: ; 51d25 (14:5d25)
+SilphCo7Script5:
ld a, [wd730]
bit 0, a
ret nz
ld a, HS_SILPH_CO_7F_RIVAL
- ld [wcc4d], a
+ ld [wMissableObjectIndex], a
predef HideObject
call PlayDefaultMusic
xor a
ld [wJoyIgnore], a
jp SilphCo7Text_51c10
-SilphCo7TextPointers: ; 51d3f (14:5d3f)
+SilphCo7TextPointers:
dw SilphCo7Text1
dw SilphCo7Text2
dw SilphCo7Text3
@@ -259,60 +272,58 @@ SilphCo7TextPointers: ; 51d3f (14:5d3f)
dw SilphCo7Text7
dw SilphCo7Text8
dw SilphCo7Text9
- dw Predef5CText
- dw Predef5CText
- dw Predef5CText
+ dw PickUpItemText
+ dw PickUpItemText
+ dw PickUpItemText
dw SilphCo7Text13
dw SilphCo7Text14
dw SilphCo7Text15
-SilphCo7TrainerHeaders: ; 51d5d (14:5d5d)
-SilphCo7TrainerHeader0: ; 51d5d (14:5d5d)
- db $5 ; flag's bit
+SilphCo7TrainerHeader0:
+ dbEventFlagBit EVENT_BEAT_SILPH_CO_7F_TRAINER_0
db ($2 << 4) ; trainer's view range
- dw wd82f ; flag's byte
- dw SilphCo7BattleText1 ; 0x5e5a TextBeforeBattle
- dw SilphCo7AfterBattleText1 ; 0x5e64 TextAfterBattle
- dw SilphCo7EndBattleText1 ; 0x5e5f TextEndBattle
- dw SilphCo7EndBattleText1 ; 0x5e5f TextEndBattle
-
-SilphCo7TrainerHeader2: ; 51d69 (14:5d69)
- db $6 ; flag's bit
+ dwEventFlagAddress EVENT_BEAT_SILPH_CO_7F_TRAINER_0
+ dw SilphCo7BattleText1 ; TextBeforeBattle
+ dw SilphCo7AfterBattleText1 ; TextAfterBattle
+ dw SilphCo7EndBattleText1 ; TextEndBattle
+ dw SilphCo7EndBattleText1 ; TextEndBattle
+
+SilphCo7TrainerHeader1:
+ dbEventFlagBit EVENT_BEAT_SILPH_CO_7F_TRAINER_1
db ($3 << 4) ; trainer's view range
- dw wd82f ; flag's byte
- dw SilphCo7BattleText2 ; 0x5e73 TextBeforeBattle
- dw SilphCo7AfterBattleText2 ; 0x5e7d TextAfterBattle
- dw SilphCo7EndBattleText2 ; 0x5e78 TextEndBattle
- dw SilphCo7EndBattleText2 ; 0x5e78 TextEndBattle
-
-SilphCo7TrainerHeader3: ; 51d75 (14:5d75)
- db $7 ; flag's bit
+ dwEventFlagAddress EVENT_BEAT_SILPH_CO_7F_TRAINER_1
+ dw SilphCo7BattleText2 ; TextBeforeBattle
+ dw SilphCo7AfterBattleText2 ; TextAfterBattle
+ dw SilphCo7EndBattleText2 ; TextEndBattle
+ dw SilphCo7EndBattleText2 ; TextEndBattle
+
+SilphCo7TrainerHeader2:
+ dbEventFlagBit EVENT_BEAT_SILPH_CO_7F_TRAINER_2
db ($3 << 4) ; trainer's view range
- dw wd82f ; flag's byte
- dw SilphCo7BattleText3 ; 0x5e8c TextBeforeBattle
- dw SilphCo7AfterBattleText3 ; 0x5e96 TextAfterBattle
- dw SilphCo7EndBattleText3 ; 0x5e91 TextEndBattle
- dw SilphCo7EndBattleText3 ; 0x5e91 TextEndBattle
-
-SilphCo7TrainerHeader4: ; 51d81 (14:5d81)
- db $8 ; flag's bit
+ dwEventFlagAddress EVENT_BEAT_SILPH_CO_7F_TRAINER_2
+ dw SilphCo7BattleText3 ; TextBeforeBattle
+ dw SilphCo7AfterBattleText3 ; TextAfterBattle
+ dw SilphCo7EndBattleText3 ; TextEndBattle
+ dw SilphCo7EndBattleText3 ; TextEndBattle
+
+SilphCo7TrainerHeader3:
+ dbEventFlagBit EVENT_BEAT_SILPH_CO_7F_TRAINER_3, 1
db ($4 << 4) ; trainer's view range
- dw wd82f ; flag's byte
- dw SilphCo7BattleText4 ; 0x5ea5 TextBeforeBattle
- dw SilphCo7AfterBattleText4 ; 0x5eaf TextAfterBattle
- dw SilphCo7EndBattleText4 ; 0x5eaa TextEndBattle
- dw SilphCo7EndBattleText4 ; 0x5eaa TextEndBattle
+ dwEventFlagAddress EVENT_BEAT_SILPH_CO_7F_TRAINER_3, 1
+ dw SilphCo7BattleText4 ; TextBeforeBattle
+ dw SilphCo7AfterBattleText4 ; TextAfterBattle
+ dw SilphCo7EndBattleText4 ; TextEndBattle
+ dw SilphCo7EndBattleText4 ; TextEndBattle
db $ff
SilphCo7Text1:
; lapras guy
- db $08 ; asm
+ TX_ASM
ld a, [wd72e]
bit 0, a ; got lapras?
jr z, .givelapras
- ld a, [wd838]
- bit 7, a ; saved silph?
+ CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI
jr nz, .savedsilph
ld hl, .LaprasGuyText
call PrintText
@@ -320,7 +331,7 @@ SilphCo7Text1:
.givelapras
ld hl, .MeetLaprasGuyText
call PrintText
- ld bc, (LAPRAS << 8) | 15
+ lb bc, LAPRAS, 15
call GivePokemon
jr nc, .done
ld a, [wSimulatedJoypadStatesEnd]
@@ -355,9 +366,8 @@ SilphCo7Text1:
db "@"
SilphCo7Text2:
- db $8
- ld a, [wd838]
- bit 7, a ; saved silph?
+ TX_ASM
+ CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI
jr nz, .savedsilph
ld hl, .rockettext
call PrintText
@@ -377,9 +387,8 @@ SilphCo7Text2:
db "@"
SilphCo7Text3:
- db $08 ; asm
- ld a, [wd838]
- bit 7, a ; saved silph?
+ TX_ASM
+ CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI
jr nz, .savedsilph
ld hl, .rockettext
call PrintText
@@ -399,9 +408,8 @@ SilphCo7Text3:
db "@"
SilphCo7Text4:
- db $08 ; asm
- ld a, [wd838]
- bit 7, a ; saved silph?
+ TX_ASM
+ CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI
jr nz, .savedsilph
ld hl, .rockettext
call PrintText
@@ -420,100 +428,100 @@ SilphCo7Text4:
TX_FAR _SilphCo7Text_51e4b
db "@"
-SilphCo7Text5: ; 51e50 (14:5e50)
- db $08 ; asm
+SilphCo7Text5:
+ TX_ASM
ld hl, SilphCo7TrainerHeader0
call TalkToTrainer
jp TextScriptEnd
-SilphCo7BattleText1: ; 51e5a (14:5e5a)
+SilphCo7BattleText1:
TX_FAR _SilphCo7BattleText1
db "@"
-SilphCo7EndBattleText1: ; 51e5f (14:5e5f)
+SilphCo7EndBattleText1:
TX_FAR _SilphCo7EndBattleText1
db "@"
-SilphCo7AfterBattleText1: ; 51e64 (14:5e64)
+SilphCo7AfterBattleText1:
TX_FAR _SilphCo7AfterBattleText1
db "@"
-SilphCo7Text6: ; 51e69 (14:5e69)
- db $08 ; asm
- ld hl, SilphCo7TrainerHeader2
+SilphCo7Text6:
+ TX_ASM
+ ld hl, SilphCo7TrainerHeader1
call TalkToTrainer
jp TextScriptEnd
-SilphCo7BattleText2: ; 51e73 (14:5e73)
+SilphCo7BattleText2:
TX_FAR _SilphCo7BattleText2
db "@"
-SilphCo7EndBattleText2: ; 51e78 (14:5e78)
+SilphCo7EndBattleText2:
TX_FAR _SilphCo7EndBattleText2
db "@"
-SilphCo7AfterBattleText2: ; 51e7d (14:5e7d)
+SilphCo7AfterBattleText2:
TX_FAR _SilphCo7AfterBattleText2
db "@"
-SilphCo7Text7: ; 51e82 (14:5e82)
- db $08 ; asm
- ld hl, SilphCo7TrainerHeader3
+SilphCo7Text7:
+ TX_ASM
+ ld hl, SilphCo7TrainerHeader2
call TalkToTrainer
jp TextScriptEnd
-SilphCo7BattleText3: ; 51e8c (14:5e8c)
+SilphCo7BattleText3:
TX_FAR _SilphCo7BattleText3
db "@"
-SilphCo7EndBattleText3: ; 51e91 (14:5e91)
+SilphCo7EndBattleText3:
TX_FAR _SilphCo7EndBattleText3
db "@"
-SilphCo7AfterBattleText3: ; 51e96 (14:5e96)
+SilphCo7AfterBattleText3:
TX_FAR _SilphCo7AfterBattleText3
db "@"
-SilphCo7Text8: ; 51e9b (14:5e9b)
- db $08 ; asm
- ld hl, SilphCo7TrainerHeader4
+SilphCo7Text8:
+ TX_ASM
+ ld hl, SilphCo7TrainerHeader3
call TalkToTrainer
jp TextScriptEnd
-SilphCo7BattleText4: ; 51ea5 (14:5ea5)
+SilphCo7BattleText4:
TX_FAR _SilphCo7BattleText4
db "@"
-SilphCo7EndBattleText4: ; 51eaa (14:5eaa)
+SilphCo7EndBattleText4:
TX_FAR _SilphCo7EndBattleText4
db "@"
-SilphCo7AfterBattleText4: ; 51eaf (14:5eaf)
+SilphCo7AfterBattleText4:
TX_FAR _SilphCo7AfterBattleText4
db "@"
-SilphCo7Text9: ; 51eb4 (14:5eb4)
- db $08 ; asm
+SilphCo7Text9:
+ TX_ASM
ld hl, SilphCo7Text_51ebe
call PrintText
jp TextScriptEnd
-SilphCo7Text_51ebe: ; 51ebe (14:5ebe)
+SilphCo7Text_51ebe:
TX_FAR _SilphCo7Text_51ebe
db "@"
-SilphCo7Text13: ; 51ec3 (14:5ec3)
+SilphCo7Text13:
TX_FAR _SilphCo7Text_51ec3
db "@"
-SilphCo7Text14: ; 51ec8 (14:5ec8)
+SilphCo7Text14:
TX_FAR _SilphCo7Text_51ec8
db "@"
-SilphCo7Text_51ecd: ; 51ecd (14:5ecd)
+SilphCo7Text_51ecd:
TX_FAR _SilphCo7Text_51ecd
db "@"
-SilphCo7Text15: ; 51ed2 (14:5ed2)
+SilphCo7Text15:
TX_FAR _SilphCo7Text_51ed2
db "@"