diff --git a/game/rooms/room07/alarm_cone.png b/game/rooms/room07/alarm_cone.png new file mode 100644 index 00000000..db06b625 Binary files /dev/null and b/game/rooms/room07/alarm_cone.png differ diff --git a/game/rooms/room07/elevator_door.png b/game/rooms/room07/elevator_door.png new file mode 100644 index 00000000..dad08f6b Binary files /dev/null and b/game/rooms/room07/elevator_door.png differ diff --git a/game/rooms/room07/elevator_edge.png b/game/rooms/room07/elevator_edge.png new file mode 100644 index 00000000..07a2bb97 Binary files /dev/null and b/game/rooms/room07/elevator_edge.png differ diff --git a/game/rooms/room07/esc/alarm_cone_floor_1.esc b/game/rooms/room07/esc/alarm_cone_floor_1.esc new file mode 100644 index 00000000..5e4e65f0 --- /dev/null +++ b/game/rooms/room07/esc/alarm_cone_floor_1.esc @@ -0,0 +1,5 @@ +:trigger_in +set_state r7_alarm_cone_floor_1 camera_triggered + +:trigger_out +set_state r7_alarm_cone_floor_1 camera_not_triggered diff --git a/game/rooms/room07/esc/alarm_cone_floor_2.esc b/game/rooms/room07/esc/alarm_cone_floor_2.esc new file mode 100644 index 00000000..ff399c3c --- /dev/null +++ b/game/rooms/room07/esc/alarm_cone_floor_2.esc @@ -0,0 +1,5 @@ +:trigger_in + + +:trigger_out +set_state r7_alarm_cone_floor_2 camera_triggered diff --git a/game/rooms/room07/esc/button_follow.esc b/game/rooms/room07/esc/button_follow.esc deleted file mode 100755 index 1ff9bd39..00000000 --- a/game/rooms/room07/esc/button_follow.esc +++ /dev/null @@ -1,7 +0,0 @@ -:look -say player "That button makes the camera target me." - -:use -camera_set_limits 0 -camera_set_target 0 player - diff --git a/game/rooms/room07/esc/button_push.esc b/game/rooms/room07/esc/button_push.esc index a99cebc6..d3e6bd79 100755 --- a/game/rooms/room07/esc/button_push.esc +++ b/game/rooms/room07/esc/button_push.esc @@ -1,7 +1,11 @@ :look -say player "That button triggers a camera push effect." +say player "That button uses camera_push to point the camera at the object r7_lower_stairs." :use -camera_push r7_object2 1 LINEAR -wait 3 -camera_push player 1 LINEAR +# Disable input so all steps run without interruption +accept_input NONE +camera_push r7_lower_stairs 1 LINEAR +wait 2 +camera_set_target 1 player +# Re-enable user input +accept_input ALL diff --git a/game/rooms/room07/esc/button_set_pos.esc b/game/rooms/room07/esc/button_set_pos.esc index 934b0fb6..2ea8a971 100755 --- a/game/rooms/room07/esc/button_set_pos.esc +++ b/game/rooms/room07/esc/button_set_pos.esc @@ -1,12 +1,17 @@ :look -say player "That button triggers a camera set_pos effect." +say player "That button uses camera_set_pos to point the camera at coordinates (1200,800)." :use -camera_set_limits 2 -camera_set_pos 500 150 150 -wait 6 - +# Disable input so all steps run without interruption +accept_input NONE +# Note that camera_set_pos puts the camera centre at a different location depending on +# the camera's limits +camera_set_limits 1 +camera_set_pos 0 1200 800 +wait 2 camera_set_limits 0 - -camera_set_target 0 player - +camera_set_pos 0 1200 800 +wait 2 +camera_set_target 1 player +# Re-enable user input +accept_input ALL diff --git a/game/rooms/room07/esc/button_shift.esc b/game/rooms/room07/esc/button_shift.esc index daa44627..498f49b6 100755 --- a/game/rooms/room07/esc/button_shift.esc +++ b/game/rooms/room07/esc/button_shift.esc @@ -1,7 +1,11 @@ :look -say player "That button triggers a camera shift effect." +say player "That button uses camera_shift to move the camera by (1000,-400) pixels." :use -camera_shift 700 0 5 LINEAR -wait 1 - +# Disable input so all steps run without interruption +accept_input NONE +camera_shift 1000 -400 2 LINEAR +wait 3 +camera_set_target 1 player +# Re-enable user input +accept_input ALL \ No newline at end of file diff --git a/game/rooms/room07/esc/button_zoom.esc b/game/rooms/room07/esc/button_zoom.esc index 5961aa9d..ed12c6b6 100755 --- a/game/rooms/room07/esc/button_zoom.esc +++ b/game/rooms/room07/esc/button_zoom.esc @@ -2,9 +2,13 @@ say player "That button triggers a camera zoom effect." :use -camera_set_zoom 1.3 2 -wait 3 -camera_set_zoom 0.5 2 -wait 3 -camera_set_zoom 1 0 - +# Disable input so all steps run without interruption +accept_input NONE +camera_set_zoom 1.3 1 +wait 2 +camera_set_zoom 0.5 1 +wait 2 +camera_set_zoom 1 1 +camera_set_target 0 player +# Re-enable user input +accept_input ALL diff --git a/game/rooms/room07/esc/lift_button_floor_1.esc b/game/rooms/room07/esc/lift_button_floor_1.esc new file mode 100644 index 00000000..87bead8e --- /dev/null +++ b/game/rooms/room07/esc/lift_button_floor_1.esc @@ -0,0 +1,14 @@ +:use +> [eq lift_floor 2] + say r7_lift_door_floor_2 "Ding!" + # Animate the lift changing floors + # Could use set_state for the animation, but then the 2nd "Ding" plays too early as + # the animation needs to block + anim_block r7_lift lift_floor_2_to_1_no_player + # This variable is used so the button knows whether to change the lift floor or not + set_global lift_floor 1 + say r7_lift_door_floor_1 "Ding!" + stop +> [eq lift_floor 1] + say player "The lift is already on level 1." + stop diff --git a/game/rooms/room07/esc/lift_button_floor_2.esc b/game/rooms/room07/esc/lift_button_floor_2.esc new file mode 100644 index 00000000..b4263757 --- /dev/null +++ b/game/rooms/room07/esc/lift_button_floor_2.esc @@ -0,0 +1,14 @@ +:use +> [eq lift_floor 1] + say r7_lift_door_floor_1 "Ding!" + # Animate the lift changing floors + # Could use set_state for the animation, but then the 2nd "Ding" plays too early as + # the animation needs to block + anim_block r7_lift lift_floor_1_to_2_no_player + # This variable is used so the button knows whether to change the lift floor or not + set_global lift_floor 2 + say r7_lift_door_floor_2 "Ding!" + stop +> [eq lift_floor 2] + say player "The lift is already on level 2." + stop diff --git a/game/rooms/room07/esc/lift_door_floor_1.esc b/game/rooms/room07/esc/lift_door_floor_1.esc new file mode 100644 index 00000000..ec427ceb --- /dev/null +++ b/game/rooms/room07/esc/lift_door_floor_1.esc @@ -0,0 +1,23 @@ +:use +> [eq lift_floor 2] + say player "The lift is on another floor." + stop +> [eq lift_floor 1] + # Disable user input + accept_input NONE + # Move the player a long way as there isn't currently a "hide player" command + teleport_pos player 5000 5000 + set_angle player 180 + camera_set_limits 2 + camera_push r7_lift_door_floor_2 3 + anim_block r7_lift lift_floor_1_to_2_with_player + teleport player r7_lift_door_floor_2 + say r7_lift_door_floor_2 "Ding!" + # Focus the camera on the player again + camera_set_target 0 player + enable_terrain upper_platform + # Enable user input again + accept_input ALL + # Keep track of the lift floor so the button can work out whether to summon the lift + set_global lift_floor 2 + stop diff --git a/game/rooms/room07/esc/lift_door_floor_2.esc b/game/rooms/room07/esc/lift_door_floor_2.esc new file mode 100644 index 00000000..f06a5a87 --- /dev/null +++ b/game/rooms/room07/esc/lift_door_floor_2.esc @@ -0,0 +1,23 @@ +:use +> [eq lift_floor 1] + say player "The lift is on another floor." + stop +> [eq lift_floor 2] + # Disable user input + accept_input NONE + # Move the player a long way as there isn't currently a "hide player" command + teleport_pos player 5000 5000 + set_angle player 180 + camera_set_limits 2 + camera_push r7_lift_door_floor_1 3 + anim_block r7_lift lift_floor_2_to_1_with_player + teleport player r7_lift_door_floor_1 + say r7_lift_door_floor_1 "Ding!" + # Focus the camera on the player again + camera_set_target 0 player + enable_terrain lower_platform + # Enable user input again + accept_input ALL + # Keep track of the lift floor so the button can work out whether to summon the lift + set_global lift_floor 1 + stop \ No newline at end of file diff --git a/game/rooms/room07/esc/lower_stairs.esc b/game/rooms/room07/esc/lower_stairs.esc index 917b4fde..2c8e6e7d 100755 --- a/game/rooms/room07/esc/lower_stairs.esc +++ b/game/rooms/room07/esc/lower_stairs.esc @@ -1,13 +1,16 @@ :exit_scene +# Disable user input or else clicking while this is running might result in +# a floor change but the enable terrain command might not get run +accept_input NONE say player "movin up" teleport player r7_upper_stairs set_angle player 270 camera_set_limits 2 -camera_push r7_upper_stairs 1 LINEAR -wait 1 - camera_set_target 0 player +wait 1 camera_set_limits 1 enable_terrain upper_platform +# Reenable player interaction +accept_input ALL \ No newline at end of file diff --git a/game/rooms/room07/esc/room07.esc b/game/rooms/room07/esc/room07.esc index a549397b..cfbe0c4b 100644 --- a/game/rooms/room07/esc/room07.esc +++ b/game/rooms/room07/esc/room07.esc @@ -1,10 +1,13 @@ +:ready +# Set which floor the lift is open on for the first visit to the room only. +set_global lift_floor 1 :setup - -set_state r7_button_push button_repaired true -set_state r7_button_shift button_repaired true -set_state r7_button_follow button_repaired true -set_state r7_button_zoom button_repaired true +set_state r7_alarm_cone_floor_1 camera_not_triggered true +set_state r7_alarm_cone_floor_2 camera_not_triggered true +set_state r7_lift lift_floor_2_to_1_no_player true +camera_set_target 0 player +camera_set_limits 0 > [eq ESC_LAST_SCENE room6] teleport player r7_l_exit diff --git a/game/rooms/room07/esc/trigger_left.esc b/game/rooms/room07/esc/trigger_left.esc deleted file mode 100755 index 8b729508..00000000 --- a/game/rooms/room07/esc/trigger_left.esc +++ /dev/null @@ -1,4 +0,0 @@ -:trigger_in -set_state r7_light_left red - -:trigger_out diff --git a/game/rooms/room07/esc/trigger_right.esc b/game/rooms/room07/esc/trigger_right.esc deleted file mode 100755 index 8e71fa1b..00000000 --- a/game/rooms/room07/esc/trigger_right.esc +++ /dev/null @@ -1,5 +0,0 @@ -:trigger_in -set_state r7_light_right green - -:trigger_out -set_state r7_light_right red diff --git a/game/rooms/room07/esc/upper_stairs.esc b/game/rooms/room07/esc/upper_stairs.esc index 093ba499..a948e5f7 100755 --- a/game/rooms/room07/esc/upper_stairs.esc +++ b/game/rooms/room07/esc/upper_stairs.esc @@ -1,23 +1,16 @@ :exit_scene +# Disable user input or else clicking while this is running might result in +# a floor change but the enable terrain command might not get run +accept_input NONE say player "movin down" - -#camera_push player 1 LINEAR -#camera_set_drag_margin_enabled bool bool -#camera_set_pos real int int -#camera_set_target real -#camera_set_zoom real -#camera_set_zoom_height int -#camera_shift int int - - teleport player r7_lower_stairs set_angle player 270 camera_set_limits 2 -camera_push player 1 LINEAR -wait 1 - camera_set_target 0 player +wait 1 camera_set_limits 0 enable_terrain lower_platform +# Reenable player interaction +accept_input ALL \ No newline at end of file diff --git a/game/rooms/room07/room07.tscn b/game/rooms/room07/room07.tscn index 59de39cc..521d38ff 100644 --- a/game/rooms/room07/room07.tscn +++ b/game/rooms/room07/room07.tscn @@ -1,34 +1,22 @@ -[gd_scene load_steps=17 format=2] +[gd_scene load_steps=26 format=2] [ext_resource path="res://addons/escoria-core/game/core-scripts/esc_terrain.gd" type="Script" id=1] -[ext_resource path="res://game/rooms/room07/background.tscn" type="PackedScene" id=2] -[ext_resource path="res://game/items/escitems/button.tscn" type="PackedScene" id=3] +[ext_resource path="res://addons/escoria-core/game/core-scripts/esc_background.gd" type="Script" id=2] [ext_resource path="res://game/characters/mark/mark.tscn" type="PackedScene" id=4] [ext_resource path="res://game/fonts/caslonantique.tres" type="DynamicFont" id=5] [ext_resource path="res://addons/escoria-core/game/core-scripts/esc_room.gd" type="Script" id=6] [ext_resource path="res://addons/escoria-core/game/core-scripts/esc_item.gd" type="Script" id=7] [ext_resource path="res://addons/escoria-core/game/core-scripts/esc_location.gd" type="Script" id=8] +[ext_resource path="res://game/rooms/room07/room7background.png" type="Texture" id=9] +[ext_resource path="res://game/rooms/room07/alarm_cone.png" type="Texture" id=10] +[ext_resource path="res://game/rooms/room07/elevator_edge.png" type="Texture" id=11] +[ext_resource path="res://game/rooms/room07/elevator_door.png" type="Texture" id=12] +[ext_resource path="res://game/characters/mark/png/mark.png" type="Texture" id=13] -[sub_resource type="NavigationPolygon" id=1] -vertices = PoolVector2Array( 1976.63, 640.557, 1987.95, 588.863, 2070.07, 622.872, 2066.3, 799.721, 1015.72, 626.818, 1956.81, 616.096, -9.16094, 803.802, -6.44019, 711.297, 911.239, 554.152, 991.239, 554.152, 858.566, 628.405, 741.099, 620.468, 84.5821, 654.06, 3.15687, 646.051, 59.2201, 628.698, 129.634, 615.792 ) -polygons = [ PoolIntArray( 0, 1, 2, 3 ), PoolIntArray( 4, 5, 0, 3, 6, 7 ), PoolIntArray( 8, 9, 4, 10 ), PoolIntArray( 10, 4, 7 ), PoolIntArray( 11, 10, 7, 12 ), PoolIntArray( 7, 13, 14, 12 ), PoolIntArray( 11, 12, 15 ) ] -outlines = [ PoolVector2Array( -6.44019, 711.297, 3.15687, 646.051, 59.2201, 628.698, 84.5821, 654.06, 129.634, 615.792, 741.099, 620.468, 858.566, 628.405, 911.239, 554.152, 991.239, 554.152, 1015.72, 626.818, 1956.81, 616.096, 1976.63, 640.557, 1987.95, 588.863, 2070.07, 622.872, 2066.3, 799.721, -9.16094, 803.802 ) ] - -[sub_resource type="NavigationPolygon" id=2] -vertices = PoolVector2Array( 2031.55, -451.45, 135.719, -939.662, 287.172, -941.444, 1235.09, -777.519, 2027.99, -629.63, 1390.1, -752.574, 1343.78, -834.537, 1425.74, -843.446, 1448.12, -803.5 ) -polygons = [ PoolIntArray( 0, 1, 2, 3, 4 ), PoolIntArray( 5, 4, 3 ), PoolIntArray( 5, 3, 6, 7, 8 ) ] -outlines = [ PoolVector2Array( 2027.99, -629.63, 1390.1, -752.574, 1448.12, -803.5, 1425.74, -843.446, 1343.78, -834.537, 1235.09, -777.519, 287.172, -941.444, 135.719, -939.662, 2031.55, -451.45 ) ] - -[sub_resource type="RectangleShape2D" id=3] -extents = Vector2( 79.0288, 129.758 ) - -[sub_resource type="CircleShape2D" id=4] -radius = 35.4361 - -[sub_resource type="Animation" id=5] -resource_name = "green" +[sub_resource type="Animation" id=12] +length = 0.001 tracks/0/type = "value" -tracks/0/path = NodePath("Polygon2D:color") +tracks/0/path = NodePath(".:position") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/imported = false @@ -37,13 +25,587 @@ tracks/0/keys = { "times": PoolRealArray( 0 ), "transitions": PoolRealArray( 1 ), "update": 0, -"values": [ Color( 0.0313726, 0.996078, 0, 1 ) ] +"values": [ Vector2( 1391, 812 ) ] +} +tracks/1/type = "value" +tracks/1/path = NodePath("lift_door_r:position") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ Vector2( 119, 148.5 ) ] +} +tracks/2/type = "value" +tracks/2/path = NodePath("elevator_body:position") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ Vector2( 79, 149 ) ] +} +tracks/3/type = "bezier" +tracks/3/path = NodePath("lift_door_r:position:x") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/keys = { +"points": PoolRealArray( 119, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0 ) +} +tracks/4/type = "bezier" +tracks/4/path = NodePath("lift_door_r:position:y") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/keys = { +"points": PoolRealArray( 148.5, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0 ) +} +tracks/5/type = "bezier" +tracks/5/path = NodePath("lift_door_l:position:x") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/keys = { +"points": PoolRealArray( 39, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0 ) +} +tracks/6/type = "bezier" +tracks/6/path = NodePath("lift_door_l:position:y") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/keys = { +"points": PoolRealArray( 148.5, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0 ) +} +tracks/7/type = "value" +tracks/7/path = NodePath("lift_door_l:scale") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/imported = false +tracks/7/enabled = true +tracks/7/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ Vector2( 1, -1 ) ] +} +tracks/8/type = "bezier" +tracks/8/path = NodePath(".:position:x") +tracks/8/interp = 1 +tracks/8/loop_wrap = true +tracks/8/imported = false +tracks/8/enabled = true +tracks/8/keys = { +"points": PoolRealArray( 1391, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0 ) +} +tracks/9/type = "bezier" +tracks/9/path = NodePath(".:position:y") +tracks/9/interp = 1 +tracks/9/loop_wrap = true +tracks/9/imported = false +tracks/9/enabled = true +tracks/9/keys = { +"points": PoolRealArray( 812, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0 ) +} +tracks/10/type = "bezier" +tracks/10/path = NodePath("../door_1_floor_1:position:x") +tracks/10/interp = 1 +tracks/10/loop_wrap = true +tracks/10/imported = false +tracks/10/enabled = true +tracks/10/keys = { +"points": PoolRealArray( 1510, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0 ) +} +tracks/11/type = "bezier" +tracks/11/path = NodePath("../door_1_floor_1:position:y") +tracks/11/interp = 1 +tracks/11/loop_wrap = true +tracks/11/imported = false +tracks/11/enabled = true +tracks/11/keys = { +"points": PoolRealArray( 960, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0 ) +} +tracks/12/type = "bezier" +tracks/12/path = NodePath("../door_2_floor_1:position:x") +tracks/12/interp = 1 +tracks/12/loop_wrap = true +tracks/12/imported = false +tracks/12/enabled = true +tracks/12/keys = { +"points": PoolRealArray( 1430, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0 ) +} +tracks/13/type = "bezier" +tracks/13/path = NodePath("../door_2_floor_1:position:y") +tracks/13/interp = 1 +tracks/13/loop_wrap = true +tracks/13/imported = false +tracks/13/enabled = true +tracks/13/keys = { +"points": PoolRealArray( 960, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0 ) +} +tracks/14/type = "bezier" +tracks/14/path = NodePath("../door_2_floor_2:position:x") +tracks/14/interp = 1 +tracks/14/loop_wrap = true +tracks/14/imported = false +tracks/14/enabled = true +tracks/14/keys = { +"points": PoolRealArray( 1431, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0 ) +} +tracks/15/type = "bezier" +tracks/15/path = NodePath("../door_2_floor_2:position:y") +tracks/15/interp = 1 +tracks/15/loop_wrap = true +tracks/15/imported = false +tracks/15/enabled = true +tracks/15/keys = { +"points": PoolRealArray( 251, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0 ) +} +tracks/16/type = "bezier" +tracks/16/path = NodePath("../door_1_floor_2:position:x") +tracks/16/interp = 1 +tracks/16/loop_wrap = true +tracks/16/imported = false +tracks/16/enabled = true +tracks/16/keys = { +"points": PoolRealArray( 1510, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0 ) +} +tracks/17/type = "bezier" +tracks/17/path = NodePath("../door_1_floor_2:position:y") +tracks/17/interp = 1 +tracks/17/loop_wrap = true +tracks/17/imported = false +tracks/17/enabled = true +tracks/17/keys = { +"points": PoolRealArray( 251, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0 ) +} +tracks/18/type = "value" +tracks/18/path = NodePath("player_in_lift_sprite:visible") +tracks/18/interp = 1 +tracks/18/loop_wrap = true +tracks/18/imported = false +tracks/18/enabled = true +tracks/18/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ false ] } -[sub_resource type="Animation" id=6] -resource_name = "red" +[sub_resource type="Animation" id=14] +resource_name = "lift_floor_1_to_2_no_player" +length = 5.5 +tracks/0/type = "bezier" +tracks/0/path = NodePath(".:position:y") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"points": PoolRealArray( 812, -0.25, 0, 0.25, 0, 812, -0.25, 0, 0.25, 0, 812, -0.25, 0, 1.2, -4.05182, 102, -1.5, 1.57617, 0.25, 0 ), +"times": PoolRealArray( 0, 0.5, 2, 3.5 ) +} +tracks/1/type = "bezier" +tracks/1/path = NodePath("lift_door_r:position:x") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"points": PoolRealArray( 198, -0.25, 0, 0.5, 0.00619507, 198, -0.25, 0, 0.5, 0.00619507, 119, -0.7, 0.000434875, 0.25, 0, 119, -0.25, 0, 0.25, 0, 119, -0.25, 0, 0.25, 0, 119, -0.25, 0, 0.25, 0, 198, -0.9, 0.00012207, 0.25, 0 ), +"times": PoolRealArray( 0, 0.5, 1.5, 2, 3.5, 4, 5 ) +} +tracks/2/type = "bezier" +tracks/2/path = NodePath("lift_door_l:position:x") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/keys = { +"points": PoolRealArray( -40, -0.25, 0, 0.5, 0.00728989, -40, -0.25, 0, 0.5, 0.00728989, 39, -0.7, 0.000236511, 0.25, 0, 39, -0.25, 0, 0.25, 0, 39, -0.25, 0, 0.3, -0.00482178, 39, -0.25, 0, 0.3, 0.000236511, -40, -0.8, -0.00528717, 0.25, 0 ), +"times": PoolRealArray( 0, 0.5, 1.5, 2, 3.5, 4, 5 ) +} +tracks/3/type = "bezier" +tracks/3/path = NodePath("../door_1_floor_1:position:x") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/keys = { +"points": PoolRealArray( 1589, -0.25, 0, 0.25, 0, 1510, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1 ) +} +tracks/4/type = "bezier" +tracks/4/path = NodePath("../door_2_floor_1:position:x") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/keys = { +"points": PoolRealArray( 1351, -0.25, 0, 0.25, 0, 1430, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1 ) +} +tracks/5/type = "bezier" +tracks/5/path = NodePath("../door_2_floor_2:position:x") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/keys = { +"points": PoolRealArray( 1431, -0.25, 0, 0.25, 0, 1431, -0.25, 0, 0.25, 0, 1351, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 4.5, 5.5 ) +} +tracks/6/type = "bezier" +tracks/6/path = NodePath("../door_1_floor_2:position:x") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/keys = { +"points": PoolRealArray( 1510, -0.25, 0, 0.25, 0, 1510, -0.25, 0, 0.25, 0, 1588, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 4.5, 5.5 ) +} +tracks/7/type = "value" +tracks/7/path = NodePath("player_in_lift_sprite:visible") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/imported = false +tracks/7/enabled = true +tracks/7/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ false ] +} + +[sub_resource type="Animation" id=18] +resource_name = "lift_floor_1_to_2_with_player" +length = 5.5 +tracks/0/type = "bezier" +tracks/0/path = NodePath(".:position:y") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"points": PoolRealArray( 812, -0.25, 0, 0.25, 0, 812, -0.25, 0, 0.25, 0, 812, -0.25, 0, 1.2, -4.05182, 102, -1.5, 1.57617, 0.25, 0 ), +"times": PoolRealArray( 0, 0.5, 2, 3.5 ) +} +tracks/1/type = "bezier" +tracks/1/path = NodePath("lift_door_r:position:x") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"points": PoolRealArray( 198, -0.25, 0, 0.5, 0.00619507, 198, -0.25, 0, 0.5, 0.00619507, 119, -0.7, 0.000434875, 0.25, 0, 119, -0.25, 0, 0.25, 0, 119, -0.25, 0, 0.25, 0, 119, -0.25, 0, 0.25, 0, 198, -0.9, 0.00012207, 0.25, 0 ), +"times": PoolRealArray( 0, 0.5, 1.5, 2, 3.5, 4, 5 ) +} +tracks/2/type = "bezier" +tracks/2/path = NodePath("lift_door_l:position:x") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/keys = { +"points": PoolRealArray( -40, -0.25, 0, 0.5, 0.00728989, -40, -0.25, 0, 0.5, 0.00728989, 39, -0.7, 0.000236511, 0.25, 0, 39, -0.25, 0, 0.25, 0, 39, -0.25, 0, 0.3, -0.00482178, 39, -0.25, 0, 0.3, 0.000236511, -40, -0.8, -0.00528717, 0.25, 0 ), +"times": PoolRealArray( 0, 0.5, 1.5, 2, 3.5, 4, 5 ) +} +tracks/3/type = "bezier" +tracks/3/path = NodePath("../door_1_floor_1:position:x") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/keys = { +"points": PoolRealArray( 1589, -0.25, 0, 0.25, 0, 1510, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1 ) +} +tracks/4/type = "bezier" +tracks/4/path = NodePath("../door_2_floor_1:position:x") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/keys = { +"points": PoolRealArray( 1351, -0.25, 0, 0.25, 0, 1430, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1 ) +} +tracks/5/type = "bezier" +tracks/5/path = NodePath("../door_2_floor_2:position:x") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/keys = { +"points": PoolRealArray( 1431, -0.25, 0, 0.25, 0, 1431, -0.25, 0, 0.25, 0, 1351, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 4.5, 5.5 ) +} +tracks/6/type = "bezier" +tracks/6/path = NodePath("../door_1_floor_2:position:x") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/keys = { +"points": PoolRealArray( 1510, -0.25, 0, 0.25, 0, 1510, -0.25, 0, 0.25, 0, 1588, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 4.5, 5.5 ) +} +tracks/7/type = "value" +tracks/7/path = NodePath("player_in_lift_sprite:visible") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/imported = false +tracks/7/enabled = true +tracks/7/keys = { +"times": PoolRealArray( 0, 5.5 ), +"transitions": PoolRealArray( 1, 1 ), +"update": 1, +"values": [ true, false ] +} + +[sub_resource type="Animation" id=15] +resource_name = "lift_floor_2_to_1_no_player" +length = 5.5 +tracks/0/type = "bezier" +tracks/0/path = NodePath(".:position:y") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"points": PoolRealArray( 102, -0.25, 0, 0.25, 0, 102, -0.25, 0, 0.25, 0, 102, -0.2, -2.05635, 1.5, 1.52682, 812, -1.2, 0.00787354, 0.3, 0.00787354, 812, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.5, 2, 3.5, 5 ) +} +tracks/1/type = "bezier" +tracks/1/path = NodePath("lift_door_r:position:x") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"points": PoolRealArray( 198, -0.895961, 0.331177, 1, 0.00241089, 198, -0.895961, 0.331177, 1, 0.00241089, 119, -0.25, 0, 0.25, 0, 119, -0.2, 0.00127411, 0.7, -0.000419617, 119, -0.2, 0.00127411, 0.7, -0.00211334, 198, -0.5, -0.00366211, 0.2, -0.00364685 ), +"times": PoolRealArray( 0, 0.5, 1.5, 3.5, 4, 5 ) +} +tracks/2/type = "bezier" +tracks/2/path = NodePath("lift_door_l:position:x") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/keys = { +"points": PoolRealArray( -40, -0.8, 0.569336, 0.8, -0.00188828, -40, -0.8, 0.569336, 0.8, -0.00188828, 39, -0.25, 0, 0.3, 0.00193787, 39, -0.2, 0.00193787, 0.7, 0.00193787, 39, -0.2, 0.00193787, 0.7, -0.000499725, -40, -0.5, -0.00188828, 0.2, -0.00188828 ), +"times": PoolRealArray( 0, 0.5, 1.5, 3.5, 4, 5 ) +} +tracks/3/type = "bezier" +tracks/3/path = NodePath("../door_1_floor_2:position:x") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/keys = { +"points": PoolRealArray( 1588, -0.25, 0, 0.25, 0, 1510, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1 ) +} +tracks/4/type = "bezier" +tracks/4/path = NodePath("../door_2_floor_2:position:x") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/keys = { +"points": PoolRealArray( 1351, -0.25, 0, 0.25, 0, 1430, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1 ) +} +tracks/5/type = "bezier" +tracks/5/path = NodePath("../door_1_floor_1:position:x") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/keys = { +"points": PoolRealArray( 1510, -0.25, 0, 0.25, 0, 1510, -0.25, 0, 0.25, 0, 1588, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 4.5, 5.5 ) +} +tracks/6/type = "bezier" +tracks/6/path = NodePath("../door_2_floor_1:position:x") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/keys = { +"points": PoolRealArray( 1430, -0.25, 0, 0.25, 0, 1430, -0.25, 0, 0.25, 0, 1352, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 4.5, 5.5 ) +} +tracks/7/type = "value" +tracks/7/path = NodePath("player_in_lift_sprite:visible") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/imported = false +tracks/7/enabled = true +tracks/7/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ false ] +} + +[sub_resource type="Animation" id=19] +resource_name = "lift_floor_2_to_1_with_player" +length = 5.5 +tracks/0/type = "bezier" +tracks/0/path = NodePath(".:position:y") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"points": PoolRealArray( 102, -0.25, 0, 0.25, 0, 102, -0.25, 0, 0.25, 0, 102, -0.2, -2.05635, 1.5, 1.52682, 812, -1.2, 0.00787354, 0.3, 0.00787354, 812, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 0.5, 2, 3.5, 5 ) +} +tracks/1/type = "bezier" +tracks/1/path = NodePath("lift_door_r:position:x") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"points": PoolRealArray( 198, -0.895961, 0.331177, 1, 0.00241089, 198, -0.895961, 0.331177, 1, 0.00241089, 119, -0.25, 0, 0.25, 0, 119, -0.2, 0.00127411, 0.7, -0.000419617, 119, -0.2, 0.00127411, 0.7, -0.00211334, 198, -0.5, -0.00366211, 0.2, -0.00364685 ), +"times": PoolRealArray( 0, 0.5, 1.5, 3.5, 4, 5 ) +} +tracks/2/type = "bezier" +tracks/2/path = NodePath("lift_door_l:position:x") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/keys = { +"points": PoolRealArray( -40, -0.8, 0.569336, 0.8, -0.00188828, -40, -0.8, 0.569336, 0.8, -0.00188828, 39, -0.25, 0, 0.3, 0.00193787, 39, -0.2, 0.00193787, 0.7, 0.00193787, 39, -0.2, 0.00193787, 0.7, -0.000499725, -40, -0.5, -0.00188828, 0.2, -0.00188828 ), +"times": PoolRealArray( 0, 0.5, 1.5, 3.5, 4, 5 ) +} +tracks/3/type = "bezier" +tracks/3/path = NodePath("../door_1_floor_2:position:x") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/keys = { +"points": PoolRealArray( 1588, -0.25, 0, 0.25, 0, 1510, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1 ) +} +tracks/4/type = "bezier" +tracks/4/path = NodePath("../door_2_floor_2:position:x") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/keys = { +"points": PoolRealArray( 1351, -0.25, 0, 0.25, 0, 1430, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 1 ) +} +tracks/5/type = "bezier" +tracks/5/path = NodePath("../door_1_floor_1:position:x") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/keys = { +"points": PoolRealArray( 1510, -0.25, 0, 0.25, 0, 1510, -0.25, 0, 0.25, 0, 1588, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 4.5, 5.5 ) +} +tracks/6/type = "bezier" +tracks/6/path = NodePath("../door_2_floor_1:position:x") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/keys = { +"points": PoolRealArray( 1430, -0.25, 0, 0.25, 0, 1430, -0.25, 0, 0.25, 0, 1352, -0.25, 0, 0.25, 0 ), +"times": PoolRealArray( 0, 4.5, 5.5 ) +} +tracks/7/type = "value" +tracks/7/path = NodePath("player_in_lift_sprite:visible") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/imported = false +tracks/7/enabled = true +tracks/7/keys = { +"times": PoolRealArray( 0, 5.5 ), +"transitions": PoolRealArray( 1, 1 ), +"update": 1, +"values": [ true, false ] +} + +[sub_resource type="NavigationPolygon" id=1] +vertices = PoolVector2Array( 2161.27, 3.52002, 2166.27, -45.48, 2237.27, 3.52002, 2237.27, 150.52, 6.26837, -11.48, 73.2684, -50.48, 76.2684, 11.52, 3.26837, 147.52, 127.268, -36.48, 1852.27, -39.48, 1954.27, -36.48, 1855.27, -76.48, 1954.27, -76.48, 2104.27, -36.48 ) +polygons = [ PoolIntArray( 0, 1, 2, 3 ), PoolIntArray( 4, 5, 6, 7 ), PoolIntArray( 3, 7, 6, 8, 9, 10 ), PoolIntArray( 11, 12, 10, 9 ), PoolIntArray( 3, 10, 13, 0 ) ] +outlines = [ PoolVector2Array( 127.268, -36.48, 1852.27, -39.48, 1855.27, -76.48, 1954.27, -76.48, 1954.27, -36.48, 2104.27, -36.48, 2161.27, 3.52002, 2166.27, -45.48, 2237.27, 3.52002, 2237.27, 150.52, 3.26837, 147.52, 6.26837, -11.48, 73.2684, -50.48, 76.2684, 11.52 ) ] + +[sub_resource type="NavigationPolygon" id=2] +vertices = PoolVector2Array( 2237, -827.26, 14, -822.26, 14, -932.26, 144, -1011.26, 1844, -1005.26, 2240, -926.26, 1844, -1020.26, 1968, -1022.26, 1974, -1005.26, 2126, -1008.26 ) +polygons = [ PoolIntArray( 0, 1, 2, 3, 4, 5 ), PoolIntArray( 4, 6, 7, 8 ), PoolIntArray( 5, 4, 8 ), PoolIntArray( 5, 8, 9 ) ] +outlines = [ PoolVector2Array( 2237, -827.26, 2240, -926.26, 2126, -1008.26, 1974, -1005.26, 1968, -1022.26, 1844, -1020.26, 1844, -1005.26, 144, -1011.26, 14, -932.26, 14, -822.26 ) ] + +[sub_resource type="Animation" id=9] +length = 0.001 tracks/0/type = "value" -tracks/0/path = NodePath("Polygon2D:color") +tracks/0/path = NodePath("AlarmCone:modulate") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ Color( 1, 1, 1, 1 ) ] +} + +[sub_resource type="Animation" id=10] +resource_name = "camera_not_triggered" +length = 0.1 +tracks/0/type = "value" +tracks/0/path = NodePath("AlarmCone:modulate") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ Color( 1, 1, 1, 1 ) ] +} + +[sub_resource type="Animation" id=11] +resource_name = "camera_triggered" +length = 0.1 +tracks/0/type = "value" +tracks/0/path = NodePath("AlarmCone:modulate") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/imported = false @@ -55,10 +617,10 @@ tracks/0/keys = { "values": [ Color( 1, 0, 0, 1 ) ] } -[sub_resource type="Animation" id=7] -resource_name = "green" +[sub_resource type="Animation" id=20] +length = 0.001 tracks/0/type = "value" -tracks/0/path = NodePath("Polygon2D:color") +tracks/0/path = NodePath("AlarmCone:modulate") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/imported = false @@ -67,13 +629,30 @@ tracks/0/keys = { "times": PoolRealArray( 0 ), "transitions": PoolRealArray( 1 ), "update": 0, -"values": [ Color( 0.0313726, 0.996078, 0, 1 ) ] +"values": [ Color( 1, 1, 1, 1 ) ] } -[sub_resource type="Animation" id=8] -resource_name = "red" +[sub_resource type="Animation" id=21] +resource_name = "camera_not_triggered" +length = 0.1 tracks/0/type = "value" -tracks/0/path = NodePath("Polygon2D:color") +tracks/0/path = NodePath("AlarmCone:modulate") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ Color( 1, 1, 1, 1 ) ] +} + +[sub_resource type="Animation" id=22] +resource_name = "camera_triggered" +length = 0.1 +tracks/0/type = "value" +tracks/0/path = NodePath("AlarmCone:modulate") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/imported = false @@ -86,6 +665,7 @@ tracks/0/keys = { } [node name="room7" type="Node2D"] +position = Vector2( 1, 0 ) script = ExtResource( 6 ) __meta__ = { "_edit_vertical_guides_": [ ] @@ -93,28 +673,124 @@ __meta__ = { global_id = "room7" esc_script = "res://game/rooms/room07/esc/room07.esc" player_scene = ExtResource( 4 ) -camera_limits = [ Rect2( 0, 1350, 2098, 800 ), Rect2( 0, 0, 2098, 1050 ), Rect2( 0, 0, 2098, 2150 ) ] +camera_limits = [ Rect2( 0, 600, 2260, 1000 ), Rect2( 0, 0, 2260, 1000 ), Rect2( 0, 0, 2260, 2000 ) ] editor_debug_mode = 1 -[node name="background" parent="." instance=ExtResource( 2 )] -margin_right = 2098.0 -margin_bottom = 1961.0 +[node name="lift_shaft" type="Polygon2D" parent="."] +color = Color( 0, 0, 0, 1 ) +polygon = PoolVector2Array( 1377, 61, 1562, 61, 1568, 1127, 1370, 1127 ) -[node name="room_label_1" type="Label" parent="background"] -margin_right = 40.0 -margin_bottom = 14.0 -custom_fonts/font = ExtResource( 5 ) -text = "ROOM 7 - upstairs" +[node name="lift" type="Area2D" parent="."] +pause_mode = 1 +script = ExtResource( 7 ) +global_id = "r7_lift" +is_interactive = false +inventory_texture = ExtResource( 12 ) +dialog_color = Color( 1, 1, 1, 1 ) +animations = null + +[node name="lift" type="Node2D" parent="lift"] +position = Vector2( 1391, 812 ) + +[node name="elevator_body" type="Sprite" parent="lift/lift"] +position = Vector2( 79, 149 ) +texture = ExtResource( 11 ) + +[node name="player_in_lift_sprite" type="Sprite" parent="lift/lift"] +visible = false +position = Vector2( 82, 148 ) +scale = Vector2( 4, 4 ) +texture = ExtResource( 13 ) +hframes = 21 + +[node name="lift_door_r" type="Sprite" parent="lift/lift"] +position = Vector2( 119, 148.5 ) +texture = ExtResource( 12 ) + +[node name="lift_door_l" type="Sprite" parent="lift/lift"] +position = Vector2( 39, 148.5 ) +rotation = -3.14159 +scale = Vector2( 1, -1 ) +texture = ExtResource( 12 ) + +[node name="AnimationPlayer" type="AnimationPlayer" parent="lift"] +root_node = NodePath("../lift") +anims/RESET = SubResource( 12 ) +anims/lift_floor_1_to_2_no_player = SubResource( 14 ) +anims/lift_floor_1_to_2_with_player = SubResource( 18 ) +anims/lift_floor_2_to_1_no_player = SubResource( 15 ) +anims/lift_floor_2_to_1_with_player = SubResource( 19 ) + +[node name="door_1_floor_2" type="Sprite" parent="lift"] +position = Vector2( 1510, 251 ) +texture = ExtResource( 12 ) + +[node name="door_2_floor_2" type="Sprite" parent="lift"] +position = Vector2( 1431, 251 ) +scale = Vector2( -1, 1 ) +texture = ExtResource( 12 ) + +[node name="door_1_floor_1" type="Sprite" parent="lift"] +position = Vector2( 1510, 960 ) +texture = ExtResource( 12 ) + +[node name="door_2_floor_1" type="Sprite" parent="lift"] +position = Vector2( 1430, 960 ) +scale = Vector2( -1, 1 ) +texture = ExtResource( 12 ) + +[node name="ESCBackground" type="TextureRect" parent="."] +margin_right = 2260.0 +margin_bottom = 1600.0 +mouse_filter = 2 +texture = ExtResource( 9 ) +script = ExtResource( 2 ) __meta__ = { "_edit_use_anchors_": false } -[node name="room_label_2" type="Label" parent="background"] -margin_top = 1354.53 -margin_right = 136.0 -margin_bottom = 1368.53 +[node name="room_label" type="Label" parent="ESCBackground"] +margin_left = 7.0 +margin_top = 3.0 +margin_right = 89.0 +margin_bottom = 24.0 +custom_colors/font_color = Color( 0, 0, 0, 1 ) custom_fonts/font = ExtResource( 5 ) -text = "ROOM 7 - downstairs" +text = "ROOM 7 upper floor" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="room_label2" type="Label" parent="ESCBackground"] +margin_left = 10.0 +margin_top = 628.0 +margin_right = 182.0 +margin_bottom = 649.0 +custom_colors/font_color = Color( 0, 0, 0, 1 ) +custom_fonts/font = ExtResource( 5 ) +text = "ROOM 7 lower floor" +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="room_label3" type="Label" parent="ESCBackground"] +margin_left = 275.0 +margin_top = 681.0 +margin_right = 989.0 +margin_bottom = 885.0 +custom_colors/font_color = Color( 0, 0, 0, 1 ) +custom_fonts/font = ExtResource( 5 ) +text = "camera_push : This will point the camera at a specific location. +camera_shift : Moves the camera by an amount of pixels in x and y relative to the current location +camera_zoom : Adjust the zoom level relative to the initial camera zoom +camera_set_pos : Moves the camera to an absolute position. Notice how you get two different + results based on the camera limits that are defined in the room definition. +camera_set_target : This tells the camera to follow a specific item or player as they move. + The buttons for all the above will do a camera_set_target at the end to make + sure the player is visible for playing the level." +__meta__ = { +"_edit_use_anchors_": false +} [node name="walkable_area" type="Navigation2D" parent="."] script = ExtResource( 1 ) @@ -148,10 +824,10 @@ dialog_color = Color( 1, 1, 1, 1 ) animations = null [node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Hotspots/l_exit"] -polygon = PoolVector2Array( 0.328762, 440.897, 1.85199, 119.926, 85.9517, 74.6212, 87.1409, 377.869 ) +polygon = PoolVector2Array( 9, -245.59, 5, -555.59, 107, -597.59, 111, -309.59 ) [node name="Position2D" type="Position2D" parent="Hotspots/l_exit"] -position = Vector2( 37.4521, 392.045 ) +position = Vector2( 51, -279.59 ) script = ExtResource( 8 ) [node name="r_exit" type="Area2D" parent="Hotspots"] @@ -170,51 +846,18 @@ dialog_color = Color( 1, 1, 1, 1 ) animations = null [node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Hotspots/r_exit"] -polygon = PoolVector2Array( 1982.34, 349.116, 1980.1, 46.0513, 2081.12, 86.4599, 2075, 394 ) +polygon = PoolVector2Array( 2150, -303.59, 2150, -601.59, 2258, -554.59, 2253, -241.59 ) [node name="Position2D" type="Position2D" parent="Hotspots/r_exit"] -position = Vector2( 2038.8, 347.193 ) +position = Vector2( 2209, -272.59 ) script = ExtResource( 8 ) __meta__ = { "_editor_description_": "" } -[node name="object_1" type="Area2D" parent="Hotspots"] -pause_mode = 1 -position = Vector2( 358.099, -1195.07 ) -script = ExtResource( 7 ) -global_id = "r7_object_1" -dialog_color = Color( 1, 1, 1, 1 ) -animations = null - -[node name="Line2D" type="Line2D" parent="Hotspots/object_1"] -position = Vector2( 0, 1345.52 ) -points = PoolVector2Array( 398.738, 142.591, 518.947, 64.809, 516.118, 275.527 ) - -[node name="CollisionShape2D" type="CollisionShape2D" parent="Hotspots/object_1"] -position = Vector2( 460.841, 1515.95 ) -shape = SubResource( 3 ) - -[node name="object2" type="Area2D" parent="Hotspots"] -pause_mode = 1 -position = Vector2( 1770.63, 1358.99 ) -script = ExtResource( 7 ) -__meta__ = { -"_editor_description_": "" -} -global_id = "r7_object2" -dialog_color = Color( 1, 1, 1, 1 ) -animations = null - -[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Hotspots/object2"] -polygon = PoolVector2Array( -112.101, 14.6226, -103.122, 288.503, 130.35, 286.258, 125.861, 16.8675 ) - -[node name="Line2D" type="Line2D" parent="Hotspots/object2"] -points = PoolVector2Array( -74.0056, 70.7457, 2.32182, 28.0921, 89.8739, 77.4804, -82.9853, 268.299, 110.078, 261.564 ) - [node name="lower_stairs" type="Area2D" parent="Hotspots"] pause_mode = 1 -position = Vector2( 0, 1409.59 ) +position = Vector2( 1906, 1096 ) script = ExtResource( 7 ) __meta__ = { "_editor_description_": "" @@ -222,14 +865,17 @@ __meta__ = { global_id = "r7_lower_stairs" esc_script = "res://game/rooms/room07/esc/lower_stairs.esc" is_exit = true +tooltip_name = "stairs" +default_action = "walk" dialog_color = Color( 1, 1, 1, 1 ) animations = null [node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Hotspots/lower_stairs"] -polygon = PoolVector2Array( 831.375, 344.577, 829.788, 19.1602, 1058.37, 19.1602, 1052.02, 347.752 ) +position = Vector2( -1908, 314 ) +polygon = PoolVector2Array( 1819, -309.59, 1820, -598, 2000, -598, 2000, -311 ) [node name="Position2D" type="Position2D" parent="Hotspots/lower_stairs"] -position = Vector2( 953.985, 315.526 ) +position = Vector2( 1, 0 ) script = ExtResource( 8 ) [node name="upper_stairs" type="Area2D" parent="Hotspots"] @@ -240,172 +886,163 @@ global_id = "r7_upper_stairs" esc_script = "res://game/rooms/room07/esc/upper_stairs.esc" is_exit = true tooltip_name = "Stairs" +default_action = "walk" dialog_color = Color( 1, 1, 1, 1 ) animations = null [node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Hotspots/upper_stairs"] position = Vector2( -1334.92, 936.565 ) -polygon = PoolVector2Array( 1221.86, -804.627, 1220.52, -1158.36, 1450.46, -1134.88, 1454.12, -757.908 ) +polygon = PoolVector2Array( 1805.28, -1020.59, 1806.28, -1304.59, 1982.28, -1304.59, 1983.28, -1019.59 ) [node name="Position2D" type="Position2D" parent="Hotspots/upper_stairs"] -position = Vector2( 27.5337, 131.767 ) +position = Vector2( 558.36, -82.026 ) script = ExtResource( 8 ) -[node name="button_camera_push" parent="Hotspots" instance=ExtResource( 3 )] -position = Vector2( -167.43, 1463.23 ) +[node name="button_camera_push" type="Area2D" parent="Hotspots"] +pause_mode = 1 +script = ExtResource( 7 ) global_id = "r7_button_push" esc_script = "res://game/rooms/room07/esc/button_push.esc" +tooltip_name = "button" +default_action = "use" +dialog_color = Color( 1, 1, 1, 1 ) +animations = null -[node name="Position2D" type="Position2D" parent="Hotspots/button_camera_push"] -position = Vector2( 343.048, 300.613 ) -script = ExtResource( 8 ) -__meta__ = { -"_editor_description_": "" -} +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Hotspots/button_camera_push"] +polygon = PoolVector2Array( 299, 954, 335, 954, 335, 992, 299, 992 ) [node name="Label" type="Label" parent="Hotspots/button_camera_push"] -margin_left = 304.871 -margin_top = 97.219 -margin_right = 384.871 -margin_bottom = 113.219 +margin_left = 262.0 +margin_top = 993.0 +margin_right = 457.0 +margin_bottom = 1038.0 custom_fonts/font = ExtResource( 5 ) text = "Camera_push" __meta__ = { "_edit_use_anchors_": false } -[node name="button_camera_shift" parent="Hotspots" instance=ExtResource( 3 )] -position = Vector2( 9.393, 1464.03 ) -global_id = "r7_button_shift" -esc_script = "res://game/rooms/room07/esc/button_shift.esc" - -[node name="Position2D" type="Position2D" parent="Hotspots/button_camera_shift"] -position = Vector2( 350.258, 301.616 ) +[node name="ESCLocation" type="Position2D" parent="Hotspots/button_camera_push"] +position = Vector2( 314, 1108 ) script = ExtResource( 8 ) +[node name="button_camera_shift" type="Area2D" parent="Hotspots"] +pause_mode = 1 +position = Vector2( 125, 0 ) +script = ExtResource( 7 ) +global_id = "r7_button_shift" +esc_script = "res://game/rooms/room07/esc/button_shift.esc" +tooltip_name = "button" +default_action = "use" +dialog_color = Color( 1, 1, 1, 1 ) +animations = null + +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Hotspots/button_camera_shift"] +polygon = PoolVector2Array( 299, 954, 335, 954, 335, 992, 299, 992 ) + [node name="Label" type="Label" parent="Hotspots/button_camera_shift"] -margin_left = 305.626 -margin_top = 97.515 -margin_right = 387.626 -margin_bottom = 113.515 +margin_left = 262.0 +margin_top = 993.0 +margin_right = 457.0 +margin_bottom = 1038.0 custom_fonts/font = ExtResource( 5 ) text = "Camera_shift" __meta__ = { "_edit_use_anchors_": false } -[node name="button_camera_follow" parent="Hotspots" instance=ExtResource( 3 )] -position = Vector2( 172.527, 1464.03 ) -global_id = "r7_button_follow" -esc_script = "res://game/rooms/room07/esc/button_follow.esc" - -[node name="Position2D" type="Position2D" parent="Hotspots/button_camera_follow"] -position = Vector2( 350.258, 301.616 ) +[node name="ESCLocation" type="Position2D" parent="Hotspots/button_camera_shift"] +position = Vector2( 311, 1108 ) script = ExtResource( 8 ) -[node name="Label" type="Label" parent="Hotspots/button_camera_follow"] -margin_left = 305.626 -margin_top = 97.515 -margin_right = 387.626 -margin_bottom = 113.515 -custom_fonts/font = ExtResource( 5 ) -text = "Camera_follow" -__meta__ = { -"_edit_use_anchors_": false -} - -[node name="button_camera_zoom" parent="Hotspots" instance=ExtResource( 3 )] -position = Vector2( 332.527, 1464.03 ) +[node name="button_camera_zoom" type="Area2D" parent="Hotspots"] +pause_mode = 1 +position = Vector2( 250, 0 ) +script = ExtResource( 7 ) global_id = "r7_button_zoom" esc_script = "res://game/rooms/room07/esc/button_zoom.esc" +tooltip_name = "button" +default_action = "use" +dialog_color = Color( 1, 1, 1, 1 ) +animations = null -[node name="Position2D" type="Position2D" parent="Hotspots/button_camera_zoom"] -position = Vector2( 350.258, 301.616 ) -script = ExtResource( 8 ) +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Hotspots/button_camera_zoom"] +polygon = PoolVector2Array( 299, 954, 335, 954, 335, 992, 299, 992 ) [node name="Label" type="Label" parent="Hotspots/button_camera_zoom"] -margin_left = 305.626 -margin_top = 97.515 -margin_right = 387.626 -margin_bottom = 113.515 +margin_left = 262.0 +margin_top = 993.0 +margin_right = 457.0 +margin_bottom = 1038.0 custom_fonts/font = ExtResource( 5 ) text = "Camera_zoom" __meta__ = { "_edit_use_anchors_": false } -[node name="button_camera_set_pos" parent="Hotspots" instance=ExtResource( 3 )] -position = Vector2( 910.482, 1464.03 ) -global_id = "r7_button_set_pos" -esc_script = "res://game/rooms/room07/esc/button_set_pos.esc" - -[node name="Position2D" type="Position2D" parent="Hotspots/button_camera_set_pos"] -position = Vector2( 350.258, 301.616 ) +[node name="ESCLocation" type="Position2D" parent="Hotspots/button_camera_zoom"] +position = Vector2( 316, 1108 ) script = ExtResource( 8 ) +[node name="button_camera_set_pos" type="Area2D" parent="Hotspots"] +pause_mode = 1 +position = Vector2( 375, 0 ) +script = ExtResource( 7 ) +global_id = "r7_button_set_pos" +esc_script = "res://game/rooms/room07/esc/button_set_pos.esc" +tooltip_name = "button" +default_action = "use" +dialog_color = Color( 1, 1, 1, 1 ) +animations = null + +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Hotspots/button_camera_set_pos"] +polygon = PoolVector2Array( 299, 954, 335, 954, 335, 992, 299, 992 ) + [node name="Label" type="Label" parent="Hotspots/button_camera_set_pos"] -margin_left = 292.919 -margin_top = 96.8108 -margin_right = 390.919 -margin_bottom = 112.811 +margin_left = 262.0 +margin_top = 993.0 +margin_right = 457.0 +margin_bottom = 1038.0 custom_fonts/font = ExtResource( 5 ) text = "Camera_set_pos" __meta__ = { "_edit_use_anchors_": false } -[node name="trigger_left" type="Area2D" parent="Hotspots"] +[node name="ESCLocation" type="Position2D" parent="Hotspots/button_camera_set_pos"] +position = Vector2( 315, 1108 ) +script = ExtResource( 8 ) + +[node name="alarm_cone_floor1" type="Area2D" parent="Hotspots"] pause_mode = 1 +script = ExtResource( 7 ) +global_id = "r7_alarm_cone_floor_1" +esc_script = "res://game/rooms/room07/esc/alarm_cone_floor_1.esc" +is_trigger = true +is_interactive = false +player_orients_on_arrival = false +inventory_texture = ExtResource( 10 ) +dialog_color = Color( 1, 1, 1, 1 ) +animations = null + +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Hotspots/alarm_cone_floor1"] position = Vector2( 406, 0 ) -script = ExtResource( 7 ) -global_id = "trigger_left" -esc_script = "res://game/rooms/room07/esc/trigger_left.esc" -is_trigger = true -is_interactive = false -player_orients_on_arrival = false -dialog_color = Color( 1, 1, 1, 1 ) -animations = null +polygon = PoolVector2Array( 598, 1100, 776, 1101, 833, 1300, 541, 1300 ) -[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Hotspots/trigger_left"] -polygon = PoolVector2Array( 724.356, 1944.36, 716.865, 1752.57, 800.77, 1752.57, 814.254, 1942.86 ) +[node name="AlarmCone" type="Sprite" parent="Hotspots/alarm_cone_floor1"] +position = Vector2( 1093, 1055 ) +texture = ExtResource( 10 ) -[node name="Label" type="Label" parent="Hotspots/trigger_left"] -margin_left = 672.764 -margin_top = 1705.64 -margin_right = 812.764 -margin_bottom = 1740.64 -custom_fonts/font = ExtResource( 5 ) -text = "This trigger is activated -once if player walks on it" -__meta__ = { -"_edit_use_anchors_": false -} +[node name="AnimationPlayer" type="AnimationPlayer" parent="Hotspots/alarm_cone_floor1"] +anims/RESET = SubResource( 9 ) +anims/camera_not_triggered = SubResource( 10 ) +anims/camera_triggered = SubResource( 11 ) -[node name="Line2D" type="Line2D" parent="Hotspots/trigger_left"] -points = PoolVector2Array( 718.237, 1756.04, 724.544, 1950.34, 815.761, 1947.51, 801.579, 1756.32, 719.359, 1756.32 ) -width = 2.0 - -[node name="trigger_right" type="Area2D" parent="Hotspots"] -pause_mode = 1 -position = Vector2( 220, 0 ) -script = ExtResource( 7 ) -global_id = "trigger_right" -esc_script = "res://game/rooms/room07/esc/trigger_right.esc" -is_trigger = true -is_interactive = false -player_orients_on_arrival = false -dialog_color = Color( 1, 1, 1, 1 ) -animations = null - -[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Hotspots/trigger_right"] -position = Vector2( 372.68, 4.12805 ) -polygon = PoolVector2Array( 724.356, 1944.36, 716.865, 1752.57, 800.77, 1752.57, 814.254, 1942.86 ) - -[node name="Label" type="Label" parent="Hotspots/trigger_right"] -margin_left = 1068.46 -margin_top = 1707.64 -margin_right = 1218.46 -margin_bottom = 1742.64 +[node name="Label" type="Label" parent="Hotspots/alarm_cone_floor1"] +margin_left = 999.0 +margin_top = 1237.0 +margin_right = 1194.0 +margin_bottom = 1282.0 custom_fonts/font = ExtResource( 5 ) text = "This trigger activates when player walks in AND out" @@ -413,54 +1050,123 @@ __meta__ = { "_edit_use_anchors_": false } -[node name="Line2D" type="Line2D" parent="Hotspots/trigger_right"] -points = PoolVector2Array( 1089.37, 1757.17, 1097.85, 1949.99, 1187.37, 1947.87, 1174.21, 1755.79, 1090.78, 1756.18 ) -width = 2.0 - -[node name="light_left" type="Area2D" parent="Hotspots"] +[node name="alarm_cone_floor2" type="Area2D" parent="Hotspots"] pause_mode = 1 -position = Vector2( 412, 0 ) script = ExtResource( 7 ) -global_id = "r7_light_left" +global_id = "r7_alarm_cone_floor_2" +esc_script = "res://game/rooms/room07/esc/alarm_cone_floor_2.esc" +is_trigger = true is_interactive = false +player_orients_on_arrival = false +inventory_texture = ExtResource( 10 ) dialog_color = Color( 1, 1, 1, 1 ) animations = null -[node name="Polygon2D" type="Polygon2D" parent="Hotspots/light_left"] -color = Color( 0.0313726, 0.996078, 0, 1 ) -polygon = PoolVector2Array( 718.946, 1494.91, 709.047, 1518.24, 717.885, 1540.16, 740.837, 1551.8, 764.908, 1541.57, 774.1, 1519.65, 763.847, 1494.2, 742.336, 1484.38 ) +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Hotspots/alarm_cone_floor2"] +position = Vector2( 428, -694 ) +polygon = PoolVector2Array( 577, 1085, 753, 1085, 811, 1285, 519, 1286 ) -[node name="CollisionShape2D" type="CollisionShape2D" parent="Hotspots/light_left"] -position = Vector2( 742.194, 1518.8 ) -shape = SubResource( 4 ) +[node name="AlarmCone" type="Sprite" parent="Hotspots/alarm_cone_floor2"] +position = Vector2( 1093, 346 ) +texture = ExtResource( 10 ) -[node name="AnimationPlayer" type="AnimationPlayer" parent="Hotspots/light_left"] -anims/green = SubResource( 5 ) -anims/red = SubResource( 6 ) +[node name="AnimationPlayer" type="AnimationPlayer" parent="Hotspots/alarm_cone_floor2"] +anims/RESET = SubResource( 20 ) +anims/camera_not_triggered = SubResource( 21 ) +anims/camera_triggered = SubResource( 22 ) -[node name="light_right" type="Area2D" parent="Hotspots"] -pause_mode = 1 -position = Vector2( 613.333, -1.13 ) -script = ExtResource( 7 ) -global_id = "r7_light_right" -is_interactive = false -dialog_color = Color( 1, 1, 1, 1 ) -animations = null - -[node name="Polygon2D" type="Polygon2D" parent="Hotspots/light_right"] -color = Color( 1, 0, 0, 1 ) -polygon = PoolVector2Array( 718.946, 1494.91, 709.047, 1518.24, 717.885, 1540.16, 740.837, 1551.8, 764.908, 1541.57, 774.1, 1519.65, 763.847, 1494.2, 742.336, 1484.38 ) - -[node name="CollisionShape2D" type="CollisionShape2D" parent="Hotspots/light_right"] -position = Vector2( 742.194, 1518.8 ) -shape = SubResource( 4 ) - -[node name="AnimationPlayer" type="AnimationPlayer" parent="Hotspots/light_right"] -anims/green = SubResource( 7 ) -anims/red = SubResource( 8 ) +[node name="Label" type="Label" parent="Hotspots/alarm_cone_floor2"] +margin_left = 982.0 +margin_top = 540.0 +margin_right = 1177.0 +margin_bottom = 585.0 +custom_fonts/font = ExtResource( 5 ) +text = "This trigger activates when + player walks out only" +__meta__ = { +"_edit_use_anchors_": false +} [node name="player_start" type="Position2D" parent="."] -position = Vector2( 76.7617, 1847.24 ) +position = Vector2( 1655, 1132 ) script = ExtResource( 8 ) global_id = "r7_player_start" is_start_location = true + +[node name="lift_button_floor_1" type="Area2D" parent="."] +pause_mode = 1 +script = ExtResource( 7 ) +global_id = "r7_lift_button_floor_1" +esc_script = "res://game/rooms/room07/esc/lift_button_floor_1.esc" +tooltip_name = "Lift Button" +default_action = "use" +dialog_color = Color( 1, 1, 1, 1 ) +animations = null + +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="lift_button_floor_1"] +polygon = PoolVector2Array( 1311, 954, 1347, 954, 1347, 992, 1311, 992 ) + +[node name="ESCLocation" type="Position2D" parent="lift_button_floor_1"] +position = Vector2( 1329, 1119 ) +script = ExtResource( 8 ) + +[node name="lift_button_floor_2" type="Area2D" parent="."] +pause_mode = 1 +script = ExtResource( 7 ) +global_id = "r7_lift_button_floor_2" +esc_script = "res://game/rooms/room07/esc/lift_button_floor_2.esc" +tooltip_name = "Lift Button" +default_action = "use" +dialog_color = Color( 1, 1, 1, 1 ) +animations = null + +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="lift_button_floor_2"] +polygon = PoolVector2Array( 1311, 245, 1347, 245, 1347, 283, 1311, 283 ) + +[node name="ESCLocation" type="Position2D" parent="lift_button_floor_2"] +position = Vector2( 1331, 420 ) +script = ExtResource( 8 ) + +[node name="lift_door_floor_1" type="Area2D" parent="."] +pause_mode = 1 +script = ExtResource( 7 ) +global_id = "r7_lift_door_floor_1" +esc_script = "res://game/rooms/room07/esc/lift_door_floor_1.esc" +tooltip_name = "lift" +default_action = "use" +dialog_color = Color( 1, 1, 1, 1 ) +camera_node = NodePath("camera_node") +animations = null + +[node name="ESCLocation" type="Position2D" parent="lift_door_floor_1"] +position = Vector2( 1470, 1100 ) +script = ExtResource( 8 ) + +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="lift_door_floor_1"] +polygon = PoolVector2Array( 1391, 815, 1551, 812, 1551, 1098, 1394, 1101 ) + +[node name="camera_node" type="Position2D" parent="lift_door_floor_1"] +position = Vector2( 1468, 1103 ) +script = ExtResource( 8 ) + +[node name="lift_door_floor_2" type="Area2D" parent="."] +pause_mode = 1 +script = ExtResource( 7 ) +global_id = "r7_lift_door_floor_2" +esc_script = "res://game/rooms/room07/esc/lift_door_floor_2.esc" +tooltip_name = "lift" +default_action = "use" +dialog_color = Color( 1, 1, 1, 1 ) +camera_node = NodePath("camera_node") +animations = null + +[node name="ESCLocation" type="Position2D" parent="lift_door_floor_2"] +position = Vector2( 1472, 398 ) +script = ExtResource( 8 ) + +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="lift_door_floor_2"] +polygon = PoolVector2Array( 1389, 100, 1551, 103, 1551, 390, 1392, 390 ) + +[node name="camera_node" type="Position2D" parent="lift_door_floor_2"] +position = Vector2( 1471, 398 ) +script = ExtResource( 8 ) diff --git a/game/rooms/room07/room7background.png b/game/rooms/room07/room7background.png new file mode 100644 index 00000000..d59a33cd Binary files /dev/null and b/game/rooms/room07/room7background.png differ