mirror of
https://github.com/thornAvery/kep-hack.git
synced 2025-11-21 12:25:44 +13:00
Label elite four scripts more completely.
This commit is contained in:
parent
351146024b
commit
1a5a108bdf
|
|
@ -1,5 +1,5 @@
|
||||||
AgathaScript: ; 7642d (1d:642d)
|
AgathaScript: ; 7642d (1d:642d)
|
||||||
call AgathaScript_76443
|
call AgathaShowOrHideExitBlock
|
||||||
call EnableAutoTextBoxDrawing
|
call EnableAutoTextBoxDrawing
|
||||||
ld hl, AgathaTrainerHeaders
|
ld hl, AgathaTrainerHeaders
|
||||||
ld de, AgathaScriptPointers
|
ld de, AgathaScriptPointers
|
||||||
|
|
@ -8,24 +8,24 @@ AgathaScript: ; 7642d (1d:642d)
|
||||||
ld [wAgathaCurScript], a
|
ld [wAgathaCurScript], a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
AgathaScript_76443: ; 76443 (1d:6443)
|
AgathaShowOrHideExitBlock: ; 76443 (1d:6443)
|
||||||
|
; Blocks or clears the exit to the next room.
|
||||||
ld hl, wd126
|
ld hl, wd126
|
||||||
bit 5, [hl]
|
bit 5, [hl]
|
||||||
res 5, [hl]
|
res 5, [hl]
|
||||||
ret z
|
ret z
|
||||||
CheckEvent EVENT_BEAT_AGATHAS_ROOM_TRAINER_0
|
CheckEvent EVENT_BEAT_AGATHAS_ROOM_TRAINER_0
|
||||||
jr z, .asm_76457
|
jr z, .blockExitToNextRoom
|
||||||
ld a, $e
|
ld a, $e
|
||||||
jp AgathaScript_76459
|
jp .setExitBlock
|
||||||
.asm_76457
|
.blockExitToNextRoom
|
||||||
ld a, $3b
|
ld a, $3b
|
||||||
|
.setExitBlock:
|
||||||
AgathaScript_76459: ; 76459 (1d:6459)
|
|
||||||
ld [wNewTileBlockID], a
|
ld [wNewTileBlockID], a
|
||||||
lb bc, 0, 2
|
lb bc, 0, 2
|
||||||
predef_jump ReplaceTileBlock
|
predef_jump ReplaceTileBlock
|
||||||
|
|
||||||
AgathaScript_76464: ; 76464 (1d:6464)
|
ResetAgathaScript: ; 76464 (1d:6464)
|
||||||
xor a
|
xor a
|
||||||
ld [wAgathaCurScript], a
|
ld [wAgathaCurScript], a
|
||||||
ret
|
ret
|
||||||
|
|
@ -40,7 +40,8 @@ AgathaScriptPointers: ; 76469 (1d:6469)
|
||||||
AgathaScript4: ; 76473 (1d:6473)
|
AgathaScript4: ; 76473 (1d:6473)
|
||||||
ret
|
ret
|
||||||
|
|
||||||
AgathaScript_76474: ; 76474 (1d:6474)
|
AgathaScriptWalkIntoRoom: ; 76474 (1d:6474)
|
||||||
|
; Walk six steps upward.
|
||||||
ld hl, wSimulatedJoypadStatesEnd
|
ld hl, wSimulatedJoypadStatesEnd
|
||||||
ld a, D_UP
|
ld a, D_UP
|
||||||
ld [hli], a
|
ld [hli], a
|
||||||
|
|
@ -58,7 +59,7 @@ AgathaScript_76474: ; 76474 (1d:6474)
|
||||||
ret
|
ret
|
||||||
|
|
||||||
AgathaScript0: ; 76490 (1d:6490)
|
AgathaScript0: ; 76490 (1d:6490)
|
||||||
ld hl, CoordsData_764d1
|
ld hl, AgathaEntranceCoords
|
||||||
call ArePlayerCoordsInArray
|
call ArePlayerCoordsInArray
|
||||||
jp nc, CheckFightingMapTrainers
|
jp nc, CheckFightingMapTrainers
|
||||||
xor a
|
xor a
|
||||||
|
|
@ -67,14 +68,14 @@ AgathaScript0: ; 76490 (1d:6490)
|
||||||
ld [wSimulatedJoypadStatesEnd], a
|
ld [wSimulatedJoypadStatesEnd], a
|
||||||
ld [wSimulatedJoypadStatesIndex], a
|
ld [wSimulatedJoypadStatesIndex], a
|
||||||
ld a, [wCoordIndex]
|
ld a, [wCoordIndex]
|
||||||
cp $3
|
cp $3 ; Is player standing one tile above the exit?
|
||||||
jr c, .asm_764b4
|
jr c, .stopPlayerFromLeaving
|
||||||
CheckAndSetEvent EVENT_AUTOWALKED_INTO_AGATHAS_ROOM
|
CheckAndSetEvent EVENT_AUTOWALKED_INTO_AGATHAS_ROOM
|
||||||
jr z, AgathaScript_76474
|
jr z, AgathaScriptWalkIntoRoom
|
||||||
.asm_764b4
|
.stopPlayerFromLeaving
|
||||||
ld a, $2
|
ld a, $2
|
||||||
ld [hSpriteIndexOrTextID], a
|
ld [hSpriteIndexOrTextID], a
|
||||||
call DisplayTextID
|
call DisplayTextID ; "Don't run away!"
|
||||||
ld a, D_UP
|
ld a, D_UP
|
||||||
ld [wSimulatedJoypadStatesEnd], a
|
ld [wSimulatedJoypadStatesEnd], a
|
||||||
ld a, $1
|
ld a, $1
|
||||||
|
|
@ -85,7 +86,7 @@ AgathaScript0: ; 76490 (1d:6490)
|
||||||
ld [wCurMapScript], a
|
ld [wCurMapScript], a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
CoordsData_764d1: ; 764d1 (1d:64d1)
|
AgathaEntranceCoords: ; 764d1 (1d:64d1)
|
||||||
db $0A,$04
|
db $0A,$04
|
||||||
db $0A,$05
|
db $0A,$05
|
||||||
db $0B,$04
|
db $0B,$04
|
||||||
|
|
@ -107,7 +108,7 @@ AgathaScript2: ; 764ed (1d:64ed)
|
||||||
call EndTrainerBattle
|
call EndTrainerBattle
|
||||||
ld a, [wIsInBattle]
|
ld a, [wIsInBattle]
|
||||||
cp $ff
|
cp $ff
|
||||||
jp z, AgathaScript_76464
|
jp z, ResetAgathaScript
|
||||||
ld a, $1
|
ld a, $1
|
||||||
ld [hSpriteIndexOrTextID], a
|
ld [hSpriteIndexOrTextID], a
|
||||||
call DisplayTextID
|
call DisplayTextID
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
BrunoScript: ; 762d6 (1d:62d6)
|
BrunoScript: ; 762d6 (1d:62d6)
|
||||||
call BrunoScript_762ec
|
call BrunoShowOrHideExitBlock
|
||||||
call EnableAutoTextBoxDrawing
|
call EnableAutoTextBoxDrawing
|
||||||
ld hl, BrunoTrainerHeaders
|
ld hl, BrunoTrainerHeaders
|
||||||
ld de, BrunoScriptPointers
|
ld de, BrunoScriptPointers
|
||||||
|
|
@ -8,24 +8,24 @@ BrunoScript: ; 762d6 (1d:62d6)
|
||||||
ld [wBrunoCurScript], a
|
ld [wBrunoCurScript], a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
BrunoScript_762ec: ; 762ec (1d:62ec)
|
BrunoShowOrHideExitBlock: ; 762ec (1d:62ec)
|
||||||
|
; Blocks or clears the exit to the next room.
|
||||||
ld hl, wd126
|
ld hl, wd126
|
||||||
bit 5, [hl]
|
bit 5, [hl]
|
||||||
res 5, [hl]
|
res 5, [hl]
|
||||||
ret z
|
ret z
|
||||||
CheckEvent EVENT_BEAT_BRUNOS_ROOM_TRAINER_0
|
CheckEvent EVENT_BEAT_BRUNOS_ROOM_TRAINER_0
|
||||||
jr z, .asm_76300
|
jr z, .blockExitToNextRoom
|
||||||
ld a, $5
|
ld a, $5
|
||||||
jp BrunoScript_76302
|
jp .setExitBlock
|
||||||
.asm_76300
|
.blockExitToNextRoom
|
||||||
ld a, $24
|
ld a, $24
|
||||||
|
.setExitBlock
|
||||||
BrunoScript_76302: ; 76302 (1d:6302)
|
|
||||||
ld [wNewTileBlockID], a
|
ld [wNewTileBlockID], a
|
||||||
lb bc, 0, 2
|
lb bc, 0, 2
|
||||||
predef_jump ReplaceTileBlock
|
predef_jump ReplaceTileBlock
|
||||||
|
|
||||||
BrunoScript_7630d: ; 7630d (1d:630d)
|
ResetBrunoScript: ; 7630d (1d:630d)
|
||||||
xor a
|
xor a
|
||||||
ld [wBrunoCurScript], a
|
ld [wBrunoCurScript], a
|
||||||
ret
|
ret
|
||||||
|
|
@ -40,7 +40,8 @@ BrunoScriptPointers: ; 76312 (1d:6312)
|
||||||
BrunoScript4: ; 7631c (1d:631c)
|
BrunoScript4: ; 7631c (1d:631c)
|
||||||
ret
|
ret
|
||||||
|
|
||||||
BrunoScript_7631d: ; 7631d (1d:631d)
|
BrunoScriptWalkIntoRoom: ; 7631d (1d:631d)
|
||||||
|
; Walk six steps upward.
|
||||||
ld hl, wSimulatedJoypadStatesEnd
|
ld hl, wSimulatedJoypadStatesEnd
|
||||||
ld a, D_UP
|
ld a, D_UP
|
||||||
ld [hli], a
|
ld [hli], a
|
||||||
|
|
@ -58,7 +59,7 @@ BrunoScript_7631d: ; 7631d (1d:631d)
|
||||||
ret
|
ret
|
||||||
|
|
||||||
BrunoScript0: ; 76339 (1d:6339)
|
BrunoScript0: ; 76339 (1d:6339)
|
||||||
ld hl, CoordsData_7637a
|
ld hl, BrunoEntranceCoords
|
||||||
call ArePlayerCoordsInArray
|
call ArePlayerCoordsInArray
|
||||||
jp nc, CheckFightingMapTrainers
|
jp nc, CheckFightingMapTrainers
|
||||||
xor a
|
xor a
|
||||||
|
|
@ -67,14 +68,14 @@ BrunoScript0: ; 76339 (1d:6339)
|
||||||
ld [wSimulatedJoypadStatesEnd], a
|
ld [wSimulatedJoypadStatesEnd], a
|
||||||
ld [wSimulatedJoypadStatesIndex], a
|
ld [wSimulatedJoypadStatesIndex], a
|
||||||
ld a, [wCoordIndex]
|
ld a, [wCoordIndex]
|
||||||
cp $3
|
cp $3 ; Is player standing one tile above the exit?
|
||||||
jr c, .asm_7635d
|
jr c, .stopPlayerFromLeaving
|
||||||
CheckAndSetEvent EVENT_AUTOWALKED_INTO_BRUNOS_ROOM
|
CheckAndSetEvent EVENT_AUTOWALKED_INTO_BRUNOS_ROOM
|
||||||
jr z, BrunoScript_7631d
|
jr z, BrunoScriptWalkIntoRoom
|
||||||
.asm_7635d
|
.stopPlayerFromLeaving
|
||||||
ld a, $2
|
ld a, $2
|
||||||
ld [hSpriteIndexOrTextID], a
|
ld [hSpriteIndexOrTextID], a
|
||||||
call DisplayTextID
|
call DisplayTextID ; "Don't run away!"
|
||||||
ld a, D_UP
|
ld a, D_UP
|
||||||
ld [wSimulatedJoypadStatesEnd], a
|
ld [wSimulatedJoypadStatesEnd], a
|
||||||
ld a, $1
|
ld a, $1
|
||||||
|
|
@ -85,7 +86,7 @@ BrunoScript0: ; 76339 (1d:6339)
|
||||||
ld [wCurMapScript], a
|
ld [wCurMapScript], a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
CoordsData_7637a: ; 7637a (1d:637a)
|
BrunoEntranceCoords: ; 7637a (1d:637a)
|
||||||
db $0A,$04
|
db $0A,$04
|
||||||
db $0A,$05
|
db $0A,$05
|
||||||
db $0B,$04
|
db $0B,$04
|
||||||
|
|
@ -107,7 +108,7 @@ BrunoScript2: ; 76396 (1d:6396)
|
||||||
call EndTrainerBattle
|
call EndTrainerBattle
|
||||||
ld a, [wIsInBattle]
|
ld a, [wIsInBattle]
|
||||||
cp $ff
|
cp $ff
|
||||||
jp z, BrunoScript_7630d
|
jp z, ResetBrunoScript
|
||||||
ld a, $1
|
ld a, $1
|
||||||
ld [hSpriteIndexOrTextID], a
|
ld [hSpriteIndexOrTextID], a
|
||||||
jp DisplayTextID
|
jp DisplayTextID
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ GaryScript: ; 75f1d (1d:5f1d)
|
||||||
ld a, [wGaryCurScript]
|
ld a, [wGaryCurScript]
|
||||||
jp CallFunctionInTable
|
jp CallFunctionInTable
|
||||||
|
|
||||||
GaryScript_75f29: ; 75f29 (1d:5f29)
|
ResetGaryScript: ; 75f29 (1d:5f29)
|
||||||
xor a
|
xor a
|
||||||
ld [wJoyIgnore], a
|
ld [wJoyIgnore], a
|
||||||
ld [wGaryCurScript], a
|
ld [wGaryCurScript], a
|
||||||
|
|
@ -30,7 +30,7 @@ GaryScript1: ; 75f48 (1d:5f48)
|
||||||
ld a, $ff
|
ld a, $ff
|
||||||
ld [wJoyIgnore], a
|
ld [wJoyIgnore], a
|
||||||
ld hl, wSimulatedJoypadStatesEnd
|
ld hl, wSimulatedJoypadStatesEnd
|
||||||
ld de, RLEMovement75f63
|
ld de, GaryEntrance_RLEMovement
|
||||||
call DecodeRLEList
|
call DecodeRLEList
|
||||||
dec a
|
dec a
|
||||||
ld [wSimulatedJoypadStatesIndex], a
|
ld [wSimulatedJoypadStatesIndex], a
|
||||||
|
|
@ -39,7 +39,7 @@ GaryScript1: ; 75f48 (1d:5f48)
|
||||||
ld [wGaryCurScript], a
|
ld [wGaryCurScript], a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
RLEMovement75f63: ; 75f63 (1d:5f63)
|
GaryEntrance_RLEMovement: ; 75f63 (1d:5f63)
|
||||||
db D_UP,1
|
db D_UP,1
|
||||||
db D_RIGHT,1
|
db D_RIGHT,1
|
||||||
db D_UP,3
|
db D_UP,3
|
||||||
|
|
@ -53,7 +53,7 @@ GaryScript2: ; 75f6a (1d:5f6a)
|
||||||
xor a
|
xor a
|
||||||
ld [wJoyIgnore], a
|
ld [wJoyIgnore], a
|
||||||
ld hl, wOptions
|
ld hl, wOptions
|
||||||
res 7, [hl]
|
res 7, [hl] ; Turn on battle animations to make the battle feel more epic.
|
||||||
ld a, $1
|
ld a, $1
|
||||||
ld [hSpriteIndexOrTextID], a
|
ld [hSpriteIndexOrTextID], a
|
||||||
call DisplayTextID
|
call DisplayTextID
|
||||||
|
|
@ -61,8 +61,8 @@ GaryScript2: ; 75f6a (1d:5f6a)
|
||||||
ld hl, wd72d
|
ld hl, wd72d
|
||||||
set 6, [hl]
|
set 6, [hl]
|
||||||
set 7, [hl]
|
set 7, [hl]
|
||||||
ld hl, GaryText_760f9
|
ld hl, GaryDefeatedText
|
||||||
ld de, GaryText_760fe
|
ld de, GaryVictoryText
|
||||||
call SaveEndBattleTextPointers
|
call SaveEndBattleTextPointers
|
||||||
ld a, OPP_SONY3
|
ld a, OPP_SONY3
|
||||||
ld [wCurOpponent], a
|
ld [wCurOpponent], a
|
||||||
|
|
@ -70,17 +70,17 @@ GaryScript2: ; 75f6a (1d:5f6a)
|
||||||
; select which team to use during the encounter
|
; select which team to use during the encounter
|
||||||
ld a, [wRivalStarter]
|
ld a, [wRivalStarter]
|
||||||
cp STARTER2
|
cp STARTER2
|
||||||
jr nz, .NotSquirtle
|
jr nz, .NotStarter2
|
||||||
ld a, $1
|
ld a, $1
|
||||||
jr .done
|
jr .saveTrainerId
|
||||||
.NotSquirtle
|
.NotStarter2
|
||||||
cp STARTER3
|
cp STARTER3
|
||||||
jr nz, .Charmander
|
jr nz, .NotStarter3
|
||||||
ld a, $2
|
ld a, $2
|
||||||
jr .done
|
jr .saveTrainerId
|
||||||
.Charmander
|
.NotStarter3
|
||||||
ld a, $3
|
ld a, $3
|
||||||
.done
|
.saveTrainerId
|
||||||
ld [wTrainerNo], a
|
ld [wTrainerNo], a
|
||||||
|
|
||||||
xor a
|
xor a
|
||||||
|
|
@ -92,7 +92,7 @@ GaryScript2: ; 75f6a (1d:5f6a)
|
||||||
GaryScript3: ; 75fbb (1d:5fbb)
|
GaryScript3: ; 75fbb (1d:5fbb)
|
||||||
ld a, [wIsInBattle]
|
ld a, [wIsInBattle]
|
||||||
cp $ff
|
cp $ff
|
||||||
jp z, GaryScript_75f29
|
jp z, ResetGaryScript
|
||||||
call UpdateSprites
|
call UpdateSprites
|
||||||
SetEvent EVENT_BEAT_CHAMPION_RIVAL
|
SetEvent EVENT_BEAT_CHAMPION_RIVAL
|
||||||
ld a, $f0
|
ld a, $f0
|
||||||
|
|
@ -115,7 +115,7 @@ GaryScript4: ; 75fe4 (1d:5fe4)
|
||||||
ld a, $2
|
ld a, $2
|
||||||
ld [H_SPRITEINDEX], a
|
ld [H_SPRITEINDEX], a
|
||||||
call SetSpriteMovementBytesToFF
|
call SetSpriteMovementBytesToFF
|
||||||
ld de, MovementData_76014
|
ld de, OakEntranceAfterVictoryMovement
|
||||||
ld a, $2
|
ld a, $2
|
||||||
ld [H_SPRITEINDEX], a
|
ld [H_SPRITEINDEX], a
|
||||||
call MoveSprite
|
call MoveSprite
|
||||||
|
|
@ -126,7 +126,7 @@ GaryScript4: ; 75fe4 (1d:5fe4)
|
||||||
ld [wGaryCurScript], a
|
ld [wGaryCurScript], a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
MovementData_76014: ; 76014 (1d:6014)
|
OakEntranceAfterVictoryMovement: ; 76014 (1d:6014)
|
||||||
db NPC_MOVEMENT_UP
|
db NPC_MOVEMENT_UP
|
||||||
db NPC_MOVEMENT_UP
|
db NPC_MOVEMENT_UP
|
||||||
db NPC_MOVEMENT_UP
|
db NPC_MOVEMENT_UP
|
||||||
|
|
@ -179,7 +179,7 @@ GaryScript7: ; 7605f (1d:605f)
|
||||||
ld a, $5
|
ld a, $5
|
||||||
ld [hSpriteIndexOrTextID], a
|
ld [hSpriteIndexOrTextID], a
|
||||||
call GaryScript_760c8
|
call GaryScript_760c8
|
||||||
ld de, MovementData_76080
|
ld de, OakExitGaryRoomMovement
|
||||||
ld a, $2
|
ld a, $2
|
||||||
ld [H_SPRITEINDEX], a
|
ld [H_SPRITEINDEX], a
|
||||||
call MoveSprite
|
call MoveSprite
|
||||||
|
|
@ -187,7 +187,7 @@ GaryScript7: ; 7605f (1d:605f)
|
||||||
ld [wGaryCurScript], a
|
ld [wGaryCurScript], a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
MovementData_76080: ; 76080 (1d:6080)
|
OakExitGaryRoomMovement: ; 76080 (1d:6080)
|
||||||
db NPC_MOVEMENT_UP
|
db NPC_MOVEMENT_UP
|
||||||
db NPC_MOVEMENT_UP
|
db NPC_MOVEMENT_UP
|
||||||
db $FF
|
db $FF
|
||||||
|
|
@ -207,7 +207,7 @@ GaryScript9: ; 76099 (1d:6099)
|
||||||
ld a, $ff
|
ld a, $ff
|
||||||
ld [wJoyIgnore], a
|
ld [wJoyIgnore], a
|
||||||
ld hl, wSimulatedJoypadStatesEnd
|
ld hl, wSimulatedJoypadStatesEnd
|
||||||
ld de, RLEMovement760b4
|
ld de, WalkToHallOfFame_RLEMovment
|
||||||
call DecodeRLEList
|
call DecodeRLEList
|
||||||
dec a
|
dec a
|
||||||
ld [wSimulatedJoypadStatesIndex], a
|
ld [wSimulatedJoypadStatesIndex], a
|
||||||
|
|
@ -216,7 +216,7 @@ GaryScript9: ; 76099 (1d:6099)
|
||||||
ld [wGaryCurScript], a
|
ld [wGaryCurScript], a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
RLEMovement760b4: ; 760b4 (1d:60b4)
|
WalkToHallOfFame_RLEMovment: ; 760b4 (1d:60b4)
|
||||||
db D_UP,4
|
db D_UP,4
|
||||||
db D_LEFT,1
|
db D_LEFT,1
|
||||||
db $ff
|
db $ff
|
||||||
|
|
@ -249,23 +249,23 @@ GaryTextPointers: ; 760d6 (1d:60d6)
|
||||||
GaryText1: ; 760e0 (1d:60e0)
|
GaryText1: ; 760e0 (1d:60e0)
|
||||||
TX_ASM
|
TX_ASM
|
||||||
CheckEvent EVENT_BEAT_CHAMPION_RIVAL
|
CheckEvent EVENT_BEAT_CHAMPION_RIVAL
|
||||||
ld hl, GaryText_760f4
|
ld hl, GaryChampionIntroText
|
||||||
jr z, .asm_17e9f
|
jr z, .printText
|
||||||
ld hl, GaryText_76103
|
ld hl, GaryText_76103
|
||||||
.asm_17e9f
|
.printText
|
||||||
call PrintText
|
call PrintText
|
||||||
jp TextScriptEnd
|
jp TextScriptEnd
|
||||||
|
|
||||||
GaryText_760f4: ; 760f4 (1d:60f4)
|
GaryChampionIntroText: ; 760f4 (1d:60f4)
|
||||||
TX_FAR _GaryText_760f4
|
TX_FAR _GaryChampionIntroText
|
||||||
db "@"
|
db "@"
|
||||||
|
|
||||||
GaryText_760f9: ; 760f9 (1d:60f9)
|
GaryDefeatedText: ; 760f9 (1d:60f9)
|
||||||
TX_FAR _GaryText_760f9
|
TX_FAR _GaryDefeatedText
|
||||||
db "@"
|
db "@"
|
||||||
|
|
||||||
GaryText_760fe: ; 760fe (1d:60fe)
|
GaryVictoryText: ; 760fe (1d:60fe)
|
||||||
TX_FAR _GaryText_760fe
|
TX_FAR _GaryVictoryText
|
||||||
db "@"
|
db "@"
|
||||||
|
|
||||||
GaryText_76103: ; 76103 (1d:6103)
|
GaryText_76103: ; 76103 (1d:6103)
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
LanceScript: ; 5a2ae (16:62ae)
|
LanceScript: ; 5a2ae (16:62ae)
|
||||||
call LanceScript_5a2c4
|
call LanceShowOrHideEntranceBlocks
|
||||||
call EnableAutoTextBoxDrawing
|
call EnableAutoTextBoxDrawing
|
||||||
ld hl, LanceTrainerHeaders
|
ld hl, LanceTrainerHeaders
|
||||||
ld de, LanceScriptPointers
|
ld de, LanceScriptPointers
|
||||||
|
|
@ -8,34 +8,36 @@ LanceScript: ; 5a2ae (16:62ae)
|
||||||
ld [wLanceCurScript], a
|
ld [wLanceCurScript], a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
LanceScript_5a2c4: ; 5a2c4 (16:62c4)
|
LanceShowOrHideEntranceBlocks: ; 5a2c4 (16:62c4)
|
||||||
ld hl, wd126
|
ld hl, wd126
|
||||||
bit 5, [hl]
|
bit 5, [hl]
|
||||||
res 5, [hl]
|
res 5, [hl]
|
||||||
ret z
|
ret z
|
||||||
CheckEvent EVENT_LANCES_ROOM_LOCK_DOOR
|
CheckEvent EVENT_LANCES_ROOM_LOCK_DOOR
|
||||||
jr nz, .asm_5a2da
|
jr nz, .closeEntrance
|
||||||
|
; open entrance
|
||||||
ld a, $31
|
ld a, $31
|
||||||
ld b, $32
|
ld b, $32
|
||||||
jp LanceScript_5a2de
|
jp LanceSetEntranceBlocks
|
||||||
.asm_5a2da
|
.closeEntrance
|
||||||
ld a, $72
|
ld a, $72
|
||||||
ld b, $73
|
ld b, $73
|
||||||
|
|
||||||
LanceScript_5a2de: ; 5a2de (16:62de)
|
LanceSetEntranceBlocks: ; 5a2de (16:62de)
|
||||||
|
; Replaces the tile blocks so the player can't leave.
|
||||||
push bc
|
push bc
|
||||||
ld [wNewTileBlockID], a
|
ld [wNewTileBlockID], a
|
||||||
lb bc, 6, 2
|
lb bc, 6, 2
|
||||||
call LanceScript_5a2f0
|
call LanceSetEntranceBlock
|
||||||
pop bc
|
pop bc
|
||||||
ld a, b
|
ld a, b
|
||||||
ld [wNewTileBlockID], a
|
ld [wNewTileBlockID], a
|
||||||
lb bc, 6, 3
|
lb bc, 6, 3
|
||||||
|
|
||||||
LanceScript_5a2f0: ; 5a2f0 (16:62f0)
|
LanceSetEntranceBlock: ; 5a2f0 (16:62f0)
|
||||||
predef_jump ReplaceTileBlock
|
predef_jump ReplaceTileBlock
|
||||||
|
|
||||||
LanceScript_5a2f5: ; 5a2f5 (16:62f5)
|
ResetLanceScript: ; 5a2f5 (16:62f5)
|
||||||
xor a
|
xor a
|
||||||
ld [wLanceCurScript], a
|
ld [wLanceCurScript], a
|
||||||
ret
|
ret
|
||||||
|
|
@ -53,29 +55,29 @@ LanceScript4: ; 5a304 (16:6304)
|
||||||
LanceScript0: ; 5a305 (16:6305)
|
LanceScript0: ; 5a305 (16:6305)
|
||||||
CheckEvent EVENT_BEAT_LANCE
|
CheckEvent EVENT_BEAT_LANCE
|
||||||
ret nz
|
ret nz
|
||||||
ld hl, CoordsData_5a33e
|
ld hl, LanceTriggerMovementCoords
|
||||||
call ArePlayerCoordsInArray
|
call ArePlayerCoordsInArray
|
||||||
jp nc, CheckFightingMapTrainers
|
jp nc, CheckFightingMapTrainers
|
||||||
xor a
|
xor a
|
||||||
ld [hJoyHeld], a
|
ld [hJoyHeld], a
|
||||||
ld a, [wCoordIndex]
|
ld a, [wCoordIndex]
|
||||||
cp $3
|
cp $3 ; Is player standing next to Lance's sprite?
|
||||||
jr nc, .asm_5a325
|
jr nc, .notStandingNextToLance
|
||||||
ld a, $1
|
ld a, $1
|
||||||
ld [hSpriteIndexOrTextID], a
|
ld [hSpriteIndexOrTextID], a
|
||||||
jp DisplayTextID
|
jp DisplayTextID
|
||||||
.asm_5a325
|
.notStandingNextToLance
|
||||||
cp $5
|
cp $5 ; Is player standing on the entrance staircase?
|
||||||
jr z, LanceScript_5a35b
|
jr z, WalkToLance
|
||||||
CheckAndSetEvent EVENT_LANCES_ROOM_LOCK_DOOR
|
CheckAndSetEvent EVENT_LANCES_ROOM_LOCK_DOOR
|
||||||
ret nz
|
ret nz
|
||||||
ld hl, wd126
|
ld hl, wd126
|
||||||
set 5, [hl]
|
set 5, [hl]
|
||||||
ld a, SFX_GO_INSIDE
|
ld a, SFX_GO_INSIDE
|
||||||
call PlaySound
|
call PlaySound
|
||||||
jp LanceScript_5a2c4
|
jp LanceShowOrHideEntranceBlocks
|
||||||
|
|
||||||
CoordsData_5a33e: ; 5a33e (16:633e)
|
LanceTriggerMovementCoords: ; 5a33e (16:633e)
|
||||||
db $01,$05
|
db $01,$05
|
||||||
db $02,$06
|
db $02,$06
|
||||||
db $0B,$05
|
db $0B,$05
|
||||||
|
|
@ -87,16 +89,17 @@ LanceScript2: ; 5a349 (16:6349)
|
||||||
call EndTrainerBattle
|
call EndTrainerBattle
|
||||||
ld a, [wIsInBattle]
|
ld a, [wIsInBattle]
|
||||||
cp $ff
|
cp $ff
|
||||||
jp z, LanceScript_5a2f5
|
jp z, ResetLanceScript
|
||||||
ld a, $1
|
ld a, $1
|
||||||
ld [hSpriteIndexOrTextID], a
|
ld [hSpriteIndexOrTextID], a
|
||||||
jp DisplayTextID
|
jp DisplayTextID
|
||||||
|
|
||||||
LanceScript_5a35b: ; 5a35b (16:635b)
|
WalkToLance: ; 5a35b (16:635b)
|
||||||
|
; Moves the player down the hallway to Lance's room.
|
||||||
ld a, $ff
|
ld a, $ff
|
||||||
ld [wJoyIgnore], a
|
ld [wJoyIgnore], a
|
||||||
ld hl, wSimulatedJoypadStatesEnd
|
ld hl, wSimulatedJoypadStatesEnd
|
||||||
ld de, RLEList_5a379
|
ld de, WalkToLance_RLEList
|
||||||
call DecodeRLEList
|
call DecodeRLEList
|
||||||
dec a
|
dec a
|
||||||
ld [wSimulatedJoypadStatesIndex], a
|
ld [wSimulatedJoypadStatesIndex], a
|
||||||
|
|
@ -106,7 +109,7 @@ LanceScript_5a35b: ; 5a35b (16:635b)
|
||||||
ld [wCurMapScript], a
|
ld [wCurMapScript], a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
RLEList_5a379: ; 5a379 (16:6379)
|
WalkToLance_RLEList: ; 5a379 (16:6379)
|
||||||
db D_UP, $0C
|
db D_UP, $0C
|
||||||
db D_LEFT, $0C
|
db D_LEFT, $0C
|
||||||
db D_DOWN, $07
|
db D_DOWN, $07
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
LoreleiScript: ; 7617b (1d:617b)
|
LoreleiScript: ; 7617b (1d:617b)
|
||||||
call LoreleiScript_76191
|
call LoreleiShowOrHideExitBlock
|
||||||
call EnableAutoTextBoxDrawing
|
call EnableAutoTextBoxDrawing
|
||||||
ld hl, LoreleiTrainerHeaders
|
ld hl, LoreleiTrainerHeaders
|
||||||
ld de, LoreleiScriptPointers
|
ld de, LoreleiScriptPointers
|
||||||
|
|
@ -8,7 +8,8 @@ LoreleiScript: ; 7617b (1d:617b)
|
||||||
ld [wLoreleiCurScript], a
|
ld [wLoreleiCurScript], a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
LoreleiScript_76191: ; 76191 (1d:6191)
|
LoreleiShowOrHideExitBlock: ; 76191 (1d:6191)
|
||||||
|
; Blocks or clears the exit to the next room.
|
||||||
ld hl, wd126
|
ld hl, wd126
|
||||||
bit 5, [hl]
|
bit 5, [hl]
|
||||||
res 5, [hl]
|
res 5, [hl]
|
||||||
|
|
@ -16,17 +17,17 @@ LoreleiScript_76191: ; 76191 (1d:6191)
|
||||||
ld hl, wBeatLorelei
|
ld hl, wBeatLorelei
|
||||||
set 1, [hl]
|
set 1, [hl]
|
||||||
CheckEvent EVENT_BEAT_LORELEIS_ROOM_TRAINER_0
|
CheckEvent EVENT_BEAT_LORELEIS_ROOM_TRAINER_0
|
||||||
jr z, .asm_761a9
|
jr z, .blockExitToNextRoom
|
||||||
ld a, $5
|
ld a, $5
|
||||||
jr .asm_761ab
|
jr .setExitBlock
|
||||||
.asm_761a9
|
.blockExitToNextRoom
|
||||||
ld a, $24
|
ld a, $24
|
||||||
.asm_761ab
|
.setExitBlock
|
||||||
ld [wNewTileBlockID], a
|
ld [wNewTileBlockID], a
|
||||||
lb bc, 0, 2
|
lb bc, 0, 2
|
||||||
predef_jump ReplaceTileBlock
|
predef_jump ReplaceTileBlock
|
||||||
|
|
||||||
LoreleiScript_761b6: ; 761b6 (1d:61b6)
|
ResetLoreleiScript: ; 761b6 (1d:61b6)
|
||||||
xor a
|
xor a
|
||||||
ld [wLoreleiCurScript], a
|
ld [wLoreleiCurScript], a
|
||||||
ret
|
ret
|
||||||
|
|
@ -41,7 +42,8 @@ LoreleiScriptPointers: ; 761bb (1d:61bb)
|
||||||
LoreleiScript4: ; 761c5 (1d:61c5)
|
LoreleiScript4: ; 761c5 (1d:61c5)
|
||||||
ret
|
ret
|
||||||
|
|
||||||
LoreleiScript_761c6: ; 761c6 (1d:61c6)
|
LoreleiScriptWalkIntoRoom: ; 761c6 (1d:61c6)
|
||||||
|
; Walk six steps upward.
|
||||||
ld hl, wSimulatedJoypadStatesEnd
|
ld hl, wSimulatedJoypadStatesEnd
|
||||||
ld a, D_UP
|
ld a, D_UP
|
||||||
ld [hli], a
|
ld [hli], a
|
||||||
|
|
@ -59,7 +61,7 @@ LoreleiScript_761c6: ; 761c6 (1d:61c6)
|
||||||
ret
|
ret
|
||||||
|
|
||||||
LoreleiScript0: ; 761e2 (1d:61e2)
|
LoreleiScript0: ; 761e2 (1d:61e2)
|
||||||
ld hl, CoordsData_76223
|
ld hl, LoreleiEntranceCoords
|
||||||
call ArePlayerCoordsInArray
|
call ArePlayerCoordsInArray
|
||||||
jp nc, CheckFightingMapTrainers
|
jp nc, CheckFightingMapTrainers
|
||||||
xor a
|
xor a
|
||||||
|
|
@ -68,14 +70,14 @@ LoreleiScript0: ; 761e2 (1d:61e2)
|
||||||
ld [wSimulatedJoypadStatesEnd], a
|
ld [wSimulatedJoypadStatesEnd], a
|
||||||
ld [wSimulatedJoypadStatesIndex], a
|
ld [wSimulatedJoypadStatesIndex], a
|
||||||
ld a, [wCoordIndex]
|
ld a, [wCoordIndex]
|
||||||
cp $3
|
cp $3 ; Is player standing one tile above the exit?
|
||||||
jr c, .asm_76206
|
jr c, .stopPlayerFromLeaving
|
||||||
CheckAndSetEvent EVENT_AUTOWALKED_INTO_LORELEIS_ROOM
|
CheckAndSetEvent EVENT_AUTOWALKED_INTO_LORELEIS_ROOM
|
||||||
jr z, LoreleiScript_761c6
|
jr z, LoreleiScriptWalkIntoRoom
|
||||||
.asm_76206
|
.stopPlayerFromLeaving
|
||||||
ld a, $2
|
ld a, $2
|
||||||
ld [hSpriteIndexOrTextID], a
|
ld [hSpriteIndexOrTextID], a
|
||||||
call DisplayTextID
|
call DisplayTextID ; "Don't run away!"
|
||||||
ld a, D_UP
|
ld a, D_UP
|
||||||
ld [wSimulatedJoypadStatesEnd], a
|
ld [wSimulatedJoypadStatesEnd], a
|
||||||
ld a, $1
|
ld a, $1
|
||||||
|
|
@ -86,7 +88,7 @@ LoreleiScript0: ; 761e2 (1d:61e2)
|
||||||
ld [wCurMapScript], a
|
ld [wCurMapScript], a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
CoordsData_76223: ; 76223 (1d:6223)
|
LoreleiEntranceCoords: ; 76223 (1d:6223)
|
||||||
db $0A,$04
|
db $0A,$04
|
||||||
db $0A,$05
|
db $0A,$05
|
||||||
db $0B,$04
|
db $0B,$04
|
||||||
|
|
@ -103,11 +105,12 @@ LoreleiScript3: ; 7622c (1d:622c)
|
||||||
ld [wLoreleiCurScript], a
|
ld [wLoreleiCurScript], a
|
||||||
ld [wCurMapScript], a
|
ld [wCurMapScript], a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
LoreleiScript2: ; 7623f (1d:623f)
|
LoreleiScript2: ; 7623f (1d:623f)
|
||||||
call EndTrainerBattle
|
call EndTrainerBattle
|
||||||
ld a, [wIsInBattle]
|
ld a, [wIsInBattle]
|
||||||
cp $ff
|
cp $ff
|
||||||
jp z, LoreleiScript_761b6
|
jp z, ResetLoreleiScript
|
||||||
ld a, $1
|
ld a, $1
|
||||||
ld [hSpriteIndexOrTextID], a
|
ld [hSpriteIndexOrTextID], a
|
||||||
jp DisplayTextID
|
jp DisplayTextID
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
_GaryText_760f4::
|
_GaryChampionIntroText::
|
||||||
text $53, ": Hey!"
|
text $53, ": Hey!"
|
||||||
|
|
||||||
para "I was looking"
|
para "I was looking"
|
||||||
|
|
@ -35,7 +35,7 @@ _GaryText_760f4::
|
||||||
cont "in the world!"
|
cont "in the world!"
|
||||||
done
|
done
|
||||||
|
|
||||||
_GaryText_760f9::
|
_GaryDefeatedText::
|
||||||
text "NO!"
|
text "NO!"
|
||||||
line "That can't be!"
|
line "That can't be!"
|
||||||
cont "You beat my best!"
|
cont "You beat my best!"
|
||||||
|
|
@ -49,7 +49,7 @@ _GaryText_760f9::
|
||||||
cont "It's not fair!"
|
cont "It's not fair!"
|
||||||
prompt
|
prompt
|
||||||
|
|
||||||
_GaryText_760fe::
|
_GaryVictoryText::
|
||||||
text "Hahaha!"
|
text "Hahaha!"
|
||||||
line "I won, I won!"
|
line "I won, I won!"
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue