70 lines
2.4 KiB
Plaintext
70 lines
2.4 KiB
Plaintext
# THIS ROOMS FEATURES AN OPEN BRIDGE WITH A ***BROKEN*** BUTTON TO USE IN ORDER TO OPEN
|
|
|
|
|
|
:setup
|
|
|
|
# If the room hasn't been visited previously, open the bridge and break the button
|
|
> [!room3_visited]
|
|
set_global room3_visited true
|
|
# Mark the bridge as open
|
|
set_global r3_bridge_closed false
|
|
# Set a global for the button state so we can write test logic for it
|
|
# This will start the animation with the check in the "ready:" state below.
|
|
set_global r3_button_broken true
|
|
|
|
> [r3_bridge_closed]
|
|
# Make set_state IMMEDIATE to reach the final frame immediately
|
|
set_state r3_bridge bridge_close true
|
|
enable_terrain bridge_closed
|
|
set_interactive r3_right_platform false
|
|
set_interactive r3_r_exit true
|
|
# We use a custom function to enable the collision polygon on the door
|
|
# to enable it to work as a door once the bridge is closed.
|
|
# You'll find the script in room3/Hotspots/r_door/door_enabler
|
|
custom r3_r_exit door_enabler enable_door
|
|
|
|
> [eq ESC_LAST_SCENE room2]
|
|
teleport player r3_l_exit
|
|
# Set player look down
|
|
set_angle player 180
|
|
# > [r3_button_broken]
|
|
# set_state r3_button button_broken
|
|
stop
|
|
|
|
> [eq ESC_LAST_SCENE room4]
|
|
# Set the bridge closed and button fixed or else you cant get back to the left hand side
|
|
# if you started the game in room 4
|
|
set_global r3_bridge_closed true
|
|
set_global r3_button_broken false
|
|
|
|
# Turn off the button's smoke animation
|
|
#set_state r3_button button_repaired true
|
|
|
|
teleport player r3_r_exit
|
|
# Set the bridge state which will also run the bridge closing animation
|
|
set_state r3_bridge bridge_close true
|
|
# Enable the whole room terrain so the player can walk across the whole room
|
|
enable_terrain bridge_closed
|
|
# Don't make the right platform a separate object you can click. This is only valid when
|
|
# the bridge is open
|
|
set_interactive r3_right_platform false
|
|
set_interactive r3_r_exit true
|
|
# We use a custom function to enable the collision polygon on the door
|
|
# to enable it to work as a door once the bridge is closed.
|
|
custom r3_r_exit door_enabler enable_door
|
|
# Set player look left
|
|
set_angle player 270
|
|
stop
|
|
|
|
:ready
|
|
> [r3_button_broken]
|
|
# Mark the button as broken and play the smoke animation
|
|
set_state r3_button button_broken
|
|
> [!r3_button_broken]
|
|
# Turn off the button's smoke animation
|
|
set_state r3_button button_repaired true
|
|
> [r3_bridge_closed]
|
|
# This is for when you close the bridge then go back to room 2
|
|
# Set the bridge closed
|
|
|
|
set_global r3_bridge_closed true |