summaryrefslogtreecommitdiff
path: root/scripts/RocketHideoutElevator.asm
diff options
context:
space:
mode:
authorDaniel Harding <33dannye@gmail.com>2019-01-13 22:38:16 -0600
committerGitHub <noreply@github.com>2019-01-13 22:38:16 -0600
commit725b86ebbec23bd1f53fd60bf0201c904fee951d (patch)
treea37f4d33c5b77635c7ff72b91a73fcd90c4af915 /scripts/RocketHideoutElevator.asm
parent108245cb21abb3abac051b7db84ed6c694192a61 (diff)
parentc7796024590fec48ac79756793c1a6e3b54daf8f (diff)
Merge pull request #196 from Rangi42/polishedmaps
Rename map files, labels, and constants to be consistent and work with Polished Map
Diffstat (limited to 'scripts/RocketHideoutElevator.asm')
-rwxr-xr-xscripts/RocketHideoutElevator.asm85
1 files changed, 85 insertions, 0 deletions
diff --git a/scripts/RocketHideoutElevator.asm b/scripts/RocketHideoutElevator.asm
new file mode 100755
index 00000000..9525db3a
--- /dev/null
+++ b/scripts/RocketHideoutElevator.asm
@@ -0,0 +1,85 @@
+RocketHideoutElevator_Script:
+ ld hl, wCurrentMapScriptFlags
+ bit 5, [hl]
+ res 5, [hl]
+ push hl
+ call nz, RocketHideoutElevatorScript_4572c
+ pop hl
+ bit 7, [hl]
+ res 7, [hl]
+ call nz, RocketHideoutElevatorScript_4575f
+ xor a
+ ld [wAutoTextBoxDrawingControl], a
+ inc a
+ ld [wDoNotWaitForButtonPressAfterDisplayingText], a
+ ret
+
+RocketHideoutElevatorScript_4572c:
+ ld hl, wWarpEntries
+ ld a, [wWarpedFromWhichWarp]
+ ld b, a
+ ld a, [wWarpedFromWhichMap]
+ ld c, a
+ call RocketHideoutElevatorScript_4573a
+
+RocketHideoutElevatorScript_4573a:
+ inc hl
+ inc hl
+ ld a, b
+ ld [hli], a
+ ld a, c
+ ld [hli], a
+ ret
+
+RocketHideoutElevatorScript_45741:
+ ld hl, RocketHideoutElavatorFloors
+ call LoadItemList
+ ld hl, RocketHideoutElevatorWarpMaps
+ ld de, wElevatorWarpMaps
+ ld bc, RocketHideoutElevatorWarpMapsEnd - RocketHideoutElevatorWarpMaps
+ call CopyData
+ ret
+
+RocketHideoutElavatorFloors:
+ db $03 ; num elements in list
+ db FLOOR_B1F
+ db FLOOR_B2F
+ db FLOOR_B4F
+ db $FF ; terminator
+
+RocketHideoutElevatorWarpMaps:
+; first byte is warp number
+; second byte is map number
+; These specify where the player goes after getting out of the elevator.
+ db $04, ROCKET_HIDEOUT_B1F
+ db $04, ROCKET_HIDEOUT_B2F
+ db $02, ROCKET_HIDEOUT_B4F
+RocketHideoutElevatorWarpMapsEnd:
+
+RocketHideoutElevatorScript_4575f:
+ call Delay3
+ callba ShakeElevator
+ ret
+
+RocketHideoutElevator_TextPointers:
+ dw RocketHideoutElevatorText1
+
+RocketHideoutElevatorText1:
+ TX_ASM
+ ld b, LIFT_KEY
+ call IsItemInBag
+ jr z, .asm_45782
+ call RocketHideoutElevatorScript_45741
+ ld hl, RocketHideoutElevatorWarpMaps
+ predef DisplayElevatorFloorMenu
+ jr .asm_45788
+.asm_45782
+ ld hl, RocketHideoutElevatorText_4578b
+ call PrintText
+.asm_45788
+ jp TextScriptEnd
+
+RocketHideoutElevatorText_4578b:
+ TX_FAR _RocketElevatorText_4578b
+ TX_WAIT
+ db "@"