summaryrefslogtreecommitdiff
path: root/scripts/lorelei.asm
diff options
context:
space:
mode:
authorpikalaxalt <PikalaxALT@gmail.com>2016-06-11 20:37:15 -0400
committerpikalaxalt <PikalaxALT@gmail.com>2016-06-11 20:37:15 -0400
commitf5983c0f813d3d908b6016db3ed866e4ca9437dc (patch)
treed6888723f443557ce45c9a00d873caa5e7a8930e /scripts/lorelei.asm
parent041c4f28a3c35e31329222769534942439b70f29 (diff)
parent401d6e7f36e86aa246a2c0591195e1f0f01e879f (diff)
Merge branch 'master' of github.com:pret/pokeyellow
Diffstat (limited to 'scripts/lorelei.asm')
-rwxr-xr-xscripts/lorelei.asm83
1 files changed, 43 insertions, 40 deletions
diff --git a/scripts/lorelei.asm b/scripts/lorelei.asm
index d50fc1dc..60be524d 100755
--- a/scripts/lorelei.asm
+++ b/scripts/lorelei.asm
@@ -1,47 +1,49 @@
-LoreleiScript: ; 7617b (1d:617b)
- call LoreleiScript_76191
+LoreleiScript:
+ 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: ; 76191 (1d:6191)
- 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: ; 761b6 (1d:61b6)
+ResetLoreleiScript:
xor a
- ld [W_LORELEICURSCRIPT], a
+ ld [wLoreleiCurScript], a
ret
-LoreleiScriptPointers: ; 761bb (1d:61bb)
+LoreleiScriptPointers:
dw LoreleiScript0
dw DisplayEnemyTrainerTextAndStartBattle
dw LoreleiScript2
dw LoreleiScript3
dw LoreleiScript4
-LoreleiScript4: ; 761c5 (1d:61c5)
+LoreleiScript4:
ret
-LoreleiScript_761c6: ; 761c6 (1d:61c6)
+LoreleiScriptWalkIntoRoom:
+; Walk six steps upward.
ld hl, wSimulatedJoypadStatesEnd
ld a, D_UP
ld [hli], a
@@ -54,12 +56,12 @@ LoreleiScript_761c6: ; 761c6 (1d:61c6)
ld [wSimulatedJoypadStatesIndex], a
call StartSimulatingJoypadStates
ld a, $3
- ld [W_LORELEICURSCRIPT], a
- ld [W_CURMAPSCRIPT], a
+ ld [wLoreleiCurScript], a
+ ld [wCurMapScript], a
ret
-LoreleiScript0: ; 761e2 (1d:61e2)
- ld hl, CoordsData_76223
+LoreleiScript0:
+ ld hl, LoreleiEntranceCoords
call ArePlayerCoordsInArray
jp nc, CheckFightingMapTrainers
xor a
@@ -68,56 +70,57 @@ LoreleiScript0: ; 761e2 (1d:61e2)
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: ; 76223 (1d:6223)
+LoreleiEntranceCoords:
db $0A,$04
db $0A,$05
db $0B,$04
db $0B,$05
db $FF
-LoreleiScript3: ; 7622c (1d:622c)
+LoreleiScript3:
ld a, [wSimulatedJoypadStatesIndex]
and a
ret nz
call Delay3
xor a
ld [wJoyIgnore], a
- ld [W_LORELEICURSCRIPT], a
- ld [W_CURMAPSCRIPT], a
+ ld [wLoreleiCurScript], a
+ ld [wCurMapScript], a
ret
-LoreleiScript2: ; 7623f (1d:623f)
+
+LoreleiScript2:
call EndTrainerBattle
ld a, [wIsInBattle]
cp $ff
- jp z, LoreleiScript_761b6
+ jp z, ResetLoreleiScript
ld a, $1
ld [hSpriteIndexOrTextID], a
jp DisplayTextID
-LoreleiTextPointers: ; 76251 (1d:6251)
+LoreleiTextPointers:
dw LoreleiText1
dw LoreleiDontRunAwayText
-LoreleiTrainerHeaders: ; 76255 (1d:6255)
-LoreleiTrainerHeader0: ; 76255 (1d:6255)
+LoreleiTrainerHeaders:
+LoreleiTrainerHeader0:
dbEventFlagBit EVENT_BEAT_LORELEIS_ROOM_TRAINER_0
db ($0 << 4) ; trainer's view range
dwEventFlagAddress EVENT_BEAT_LORELEIS_ROOM_TRAINER_0
@@ -128,24 +131,24 @@ LoreleiTrainerHeader0: ; 76255 (1d:6255)
db $ff
-LoreleiText1: ; 76262 (1d:6262)
+LoreleiText1:
TX_ASM
ld hl, LoreleiTrainerHeader0
call TalkToTrainer
jp TextScriptEnd
-LoreleiBeforeBattleText: ; 7626c (1d:626c)
+LoreleiBeforeBattleText:
TX_FAR _LoreleiBeforeBattleText
db "@"
-LoreleiEndBattleText: ; 76271 (1d:6271)
+LoreleiEndBattleText:
TX_FAR _LoreleiEndBattleText
db "@"
-LoreleiAfterBattleText: ; 76276 (1d:6276)
+LoreleiAfterBattleText:
TX_FAR _LoreleiAfterBattleText
db "@"
-LoreleiDontRunAwayText: ; 7627b (1d:627b)
+LoreleiDontRunAwayText:
TX_FAR _LoreleiDontRunAwayText
db "@"