summaryrefslogtreecommitdiff
path: root/scripts/lorelei.asm
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/lorelei.asm')
-rwxr-xr-xscripts/lorelei.asm55
1 files changed, 29 insertions, 26 deletions
diff --git a/scripts/lorelei.asm b/scripts/lorelei.asm
index d85dc192..60be524d 100755
--- a/scripts/lorelei.asm
+++ b/scripts/lorelei.asm
@@ -1,34 +1,35 @@
LoreleiScript:
- call LoreleiScript_76191
+ call LoreleiShowOrHideExitBlock
call EnableAutoTextBoxDrawing
ld hl, LoreleiTrainerHeaders
ld de, LoreleiScriptPointers
- ld a, [W_LORELEICURSCRIPT]
+ ld a, [wLoreleiCurScript]
call ExecuteCurMapScriptInTable
- ld [W_LORELEICURSCRIPT], a
+ ld [wLoreleiCurScript], a
ret
-LoreleiScript_76191:
- ld hl, wd126
+LoreleiShowOrHideExitBlock:
+; Blocks or clears the exit to the next room.
+ ld hl, wCurrentMapScriptFlags
bit 5, [hl]
res 5, [hl]
ret z
ld hl, wBeatLorelei
set 1, [hl]
CheckEvent EVENT_BEAT_LORELEIS_ROOM_TRAINER_0
- jr z, .asm_761a9
+ jr z, .blockExitToNextRoom
ld a, $5
- jr .asm_761ab
-.asm_761a9
+ jr .setExitBlock
+.blockExitToNextRoom
ld a, $24
-.asm_761ab
+.setExitBlock
ld [wNewTileBlockID], a
lb bc, 0, 2
predef_jump ReplaceTileBlock
-LoreleiScript_761b6:
+ResetLoreleiScript:
xor a
- ld [W_LORELEICURSCRIPT], a
+ ld [wLoreleiCurScript], a
ret
LoreleiScriptPointers:
@@ -41,7 +42,8 @@ LoreleiScriptPointers:
LoreleiScript4:
ret
-LoreleiScript_761c6:
+LoreleiScriptWalkIntoRoom:
+; Walk six steps upward.
ld hl, wSimulatedJoypadStatesEnd
ld a, D_UP
ld [hli], a
@@ -54,12 +56,12 @@ LoreleiScript_761c6:
ld [wSimulatedJoypadStatesIndex], a
call StartSimulatingJoypadStates
ld a, $3
- ld [W_LORELEICURSCRIPT], a
- ld [W_CURMAPSCRIPT], a
+ ld [wLoreleiCurScript], a
+ ld [wCurMapScript], a
ret
LoreleiScript0:
- ld hl, CoordsData_76223
+ ld hl, LoreleiEntranceCoords
call ArePlayerCoordsInArray
jp nc, CheckFightingMapTrainers
xor a
@@ -68,25 +70,25 @@ LoreleiScript0:
ld [wSimulatedJoypadStatesEnd], a
ld [wSimulatedJoypadStatesIndex], a
ld a, [wCoordIndex]
- cp $3
- jr c, .asm_76206
+ cp $3 ; Is player standing one tile above the exit?
+ jr c, .stopPlayerFromLeaving
CheckAndSetEvent EVENT_AUTOWALKED_INTO_LORELEIS_ROOM
- jr z, LoreleiScript_761c6
-.asm_76206
+ jr z, LoreleiScriptWalkIntoRoom
+.stopPlayerFromLeaving
ld a, $2
ld [hSpriteIndexOrTextID], a
- call DisplayTextID
+ call DisplayTextID ; "Don't run away!"
ld a, D_UP
ld [wSimulatedJoypadStatesEnd], a
ld a, $1
ld [wSimulatedJoypadStatesIndex], a
call StartSimulatingJoypadStates
ld a, $3
- ld [W_LORELEICURSCRIPT], a
- ld [W_CURMAPSCRIPT], a
+ ld [wLoreleiCurScript], a
+ ld [wCurMapScript], a
ret
-CoordsData_76223:
+LoreleiEntranceCoords:
db $0A,$04
db $0A,$05
db $0B,$04
@@ -100,14 +102,15 @@ LoreleiScript3:
call Delay3
xor a
ld [wJoyIgnore], a
- ld [W_LORELEICURSCRIPT], a
- ld [W_CURMAPSCRIPT], a
+ ld [wLoreleiCurScript], a
+ ld [wCurMapScript], a
ret
+
LoreleiScript2:
call EndTrainerBattle
ld a, [wIsInBattle]
cp $ff
- jp z, LoreleiScript_761b6
+ jp z, ResetLoreleiScript
ld a, $1
ld [hSpriteIndexOrTextID], a
jp DisplayTextID