Added "label" command.

Continued room9 puzzle (not finished)
This commit is contained in:
Julian Murgia
2021-02-23 23:10:24 +01:00
parent 38f554b496
commit f743d1089c
16 changed files with 347 additions and 116 deletions

View File

@@ -21,7 +21,3 @@ points = PoolVector2Array( 6.61201, 704.409, 6.61203, 389.558, 87.755, 339.775,
__meta__ = {
"_editor_description_": ""
}
[node name="r_door" type="Line2D" parent="."]
position = Vector2( 0, -267.828 )
points = PoolVector2Array( 1175.07, 620.086, 1171.24, 311.267, 1274.8, 356.87, 1271.64, 671.735, 1188.64, 624.843 )

View File

@@ -1,5 +1,20 @@
# Magical closet: the object is always in the LAST opened closet
:use
> [left_closet_open]
stop
set_global left_closet_open true
inc_global open_closets 1
> [lt open_closets 3]
set_state r9_closet_left open_no_object
stop
> [eq open_closets 3]
set_state r9_closet_left open_object
stop
:open
> [left_closet_open]

View File

@@ -1,5 +1,20 @@
# Magical closet: the object is always in the LAST opened closet
:use
> [middle_closet_open]
stop
set_global middle_closet_open true
inc_global open_closets 1
> [lt open_closets 3]
set_state r9_closet_middle open_no_object
stop
> [eq open_closets 3]
set_state r9_closet_middle open_object
stop
:open
> [middle_closet_open]

View File

@@ -1,5 +1,20 @@
# Magical closet: the object is always in the LAST opened closet
:use
> [right_closet_open]
stop
set_global right_closet_open true
inc_global open_closets 1
> [lt open_closets 3]
set_state r9_closet_right open_no_object
stop
> [eq open_closets 3]
set_state r9_closet_right open_object
stop
:open
> [right_closet_open]

View File

@@ -0,0 +1,2 @@
:exit_scene

4
game/rooms/room9/esc/stand.esc Executable file
View File

@@ -0,0 +1,4 @@
:use r9_bottle
set_state r9_stand set_bottle
set_state r9_right_exit open

View File

@@ -0,0 +1,133 @@
[gd_scene load_steps=4 format=2]
[ext_resource path="res://addons/escoria-core/game/core-scripts/escitem.gd" type="Script" id=1]
[sub_resource type="Animation" id=1]
resource_name = "r_door_close"
tracks/0/type = "value"
tracks/0/path = NodePath("r_door_closed:visible")
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": 1,
"values": [ true ]
}
tracks/1/type = "value"
tracks/1/path = NodePath("r_door_opened:visible")
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": 1,
"values": [ false ]
}
tracks/2/type = "value"
tracks/2/path = NodePath(".:is_exit")
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": 1,
"values": [ false ]
}
tracks/3/type = "value"
tracks/3/path = NodePath(".:default_action")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ "look" ]
}
[sub_resource type="Animation" id=2]
resource_name = "r_door_open"
length = 0.3
tracks/0/type = "value"
tracks/0/path = NodePath("r_door_closed:visible")
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": 1,
"values": [ false ]
}
tracks/1/type = "value"
tracks/1/path = NodePath("r_door_opened:visible")
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": 1,
"values": [ true ]
}
tracks/2/type = "value"
tracks/2/path = NodePath(".:is_exit")
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": 1,
"values": [ true ]
}
tracks/3/type = "value"
tracks/3/path = NodePath(".:default_action")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ "walk" ]
}
[node name="r_door" type="Area2D"]
script = ExtResource( 1 )
global_id = "r9_door"
esc_script = "res://game/rooms/room9/esc/r9_door.esc"
tooltip_name = "Door"
default_action = "look"
dialog_color = Color( 1, 1, 1, 1 )
interact_positions = {
"default": Vector2( 0, 0 )
}
[node name="r_door_closed" type="Polygon2D" parent="."]
color = Color( 0.482353, 0.568627, 1, 1 )
polygon = PoolVector2Array( 1172.3, 44.8186, 1172.3, 348.012, 1273.9, 401.983, 1277.07, 89.2657 )
[node name="r_door_opened" type="Polygon2D" parent="."]
visible = false
color = Color( 0.482353, 0.568627, 1, 1 )
polygon = PoolVector2Array( 1172.3, 44.8186, 1172.3, 348.012, 1029.82, 349.887, 1025.19, 42.1269 )
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
anims/r_door_close = SubResource( 1 )
anims/r_door_open = SubResource( 2 )
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="."]
polygon = PoolVector2Array( 1169.35, 41.7644, 1168.09, 347.925, 1275.18, 407.141, 1278.96, 88.3814 )

View File

@@ -1,4 +1,4 @@
[gd_scene load_steps=10 format=2]
[gd_scene load_steps=13 format=2]
[ext_resource path="res://addons/escoria-core/game/core-scripts/escterrain.gd" type="Script" id=1]
[ext_resource path="res://game/rooms/room9/background.tscn" type="PackedScene" id=2]
@@ -8,12 +8,29 @@
[ext_resource path="res://addons/escoria-core/game/core-scripts/escroom.gd" type="Script" id=6]
[ext_resource path="res://addons/escoria-core/game/core-scripts/escitem.gd" type="Script" id=7]
[ext_resource path="res://game/rooms/room2/button/button.tscn" type="PackedScene" id=8]
[ext_resource path="res://game/rooms/room9/r_door.tscn" type="PackedScene" id=9]
[ext_resource path="res://game/items/textures/genericItem_color_127.png" type="Texture" id=10]
[sub_resource type="NavigationPolygon" id=1]
vertices = PoolVector2Array( 1168.92, 640.557, 1182.53, 588.863, 1269.59, 622.872, 1275.03, 799.721, 1143.08, 613.35, -9.16094, 803.802, -6.44019, 711.297, 846.646, 637.49, 3.15687, 646.051, 59.2201, 628.698, 84.5821, 654.06, 864.626, 613.518, 428.618, 640.487, 386.666, 618.012, 129.634, 615.792 )
polygons = [ PoolIntArray( 0, 1, 2, 3 ), PoolIntArray( 4, 0, 3, 5, 6, 7 ), PoolIntArray( 6, 8, 9, 10 ), PoolIntArray( 7, 11, 4 ), PoolIntArray( 12, 7, 6, 10 ), PoolIntArray( 13, 12, 10, 14 ) ]
outlines = [ PoolVector2Array( -6.44019, 711.297, 3.15687, 646.051, 59.2201, 628.698, 84.5821, 654.06, 129.634, 615.792, 386.666, 618.012, 428.618, 640.487, 846.646, 637.49, 864.626, 613.518, 1143.08, 613.35, 1168.92, 640.557, 1182.53, 588.863, 1269.59, 622.872, 1275.03, 799.721, -9.16094, 803.802 ) ]
[sub_resource type="Animation" id=2]
resource_name = "set_bottle"
tracks/0/type = "value"
tracks/0/path = NodePath("bottle:visible")
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": 1,
"values": [ true ]
}
[node name="room9" type="Node2D"]
script = ExtResource( 6 )
__meta__ = {
@@ -37,6 +54,15 @@ __meta__ = {
[node name="walkable_area" type="Navigation2D" parent="."]
script = ExtResource( 1 )
scales = null
bitmaps_scale = Vector2( 1, 1 )
lightmap = null
player_speed_multiplier = 1.0
player_doubleclick_speed_multiplier = 1.5
lightmap_modulate = Color( 1, 1, 1, 1 )
debug_mode = 1
scale_min = 0.3
scale_max = 1.0
[node name="platform" type="NavigationPolygonInstance" parent="walkable_area"]
position = Vector2( 6.73163, -264.779 )
@@ -53,6 +79,7 @@ global_id = "r9_l_exit"
esc_script = "res://game/rooms/room9/esc/left_exit.esc"
is_exit = true
tooltip_name = "Left exit"
default_action = "walk"
dialog_color = Color( 1, 1, 1, 1 )
interact_positions = {
"default": Vector2( 37.4521, 392.045 )
@@ -64,29 +91,21 @@ polygon = PoolVector2Array( 0.328762, 440.897, 1.85199, 119.926, 85.9517, 74.621
[node name="Position2D" type="Position2D" parent="Hotspots/l_door"]
position = Vector2( 37.4521, 392.045 )
[node name="r_door" type="Area2D" parent="Hotspots"]
position = Vector2( -1, 0 )
script = ExtResource( 7 )
global_id = "r9_r_exit"
is_exit = true
tooltip_name = "Right exit"
dialog_color = Color( 1, 1, 1, 1 )
[node name="r_door" parent="Hotspots" instance=ExtResource( 9 )]
esc_script = "res://game/rooms/room9/esc/right_exit.esc"
interact_positions = {
"default": Vector2( 1224.47, 353.99 )
"default": Vector2( 1198.65, 391.058 )
}
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Hotspots/r_door"]
polygon = PoolVector2Array( 1177.94, 348.61, 1175.95, 45.3759, 1276.06, 92.0953, 1277.95, 399.407 )
[node name="Position2D" type="Position2D" parent="Hotspots/r_door"]
position = Vector2( 1225.47, 353.99 )
position = Vector2( 1198.65, 391.058 )
[node name="r9_closet_left" parent="Hotspots" instance=ExtResource( 5 )]
position = Vector2( 435.233, 64.1518 )
global_id = "r9_closet_left"
esc_script = "res://game/rooms/room9/esc/closet_left.esc"
tooltip_name = "Left closet"
default_action = "open"
default_action = "use"
interact_positions = {
"default": Vector2( 505.158, 383.05 )
}
@@ -99,7 +118,7 @@ position = Vector2( 572.963, 65.2113 )
global_id = "r9_closet_middle"
esc_script = "res://game/rooms/room9/esc/closet_middle.esc"
tooltip_name = "Middle closet"
default_action = "open"
default_action = "use"
interact_positions = {
"default": Vector2( 638.65, 383.05 )
}
@@ -112,7 +131,7 @@ position = Vector2( 710.693, 66.2707 )
global_id = "r9_closet_right"
esc_script = "res://game/rooms/room9/esc/closet_right.esc"
tooltip_name = "Right closet"
default_action = "open"
default_action = "use"
interact_positions = {
"default": Vector2( 775.32, 383.05 )
}
@@ -142,5 +161,36 @@ __meta__ = {
"_edit_use_anchors_": false
}
[node name="stand" type="Area2D" parent="Hotspots"]
position = Vector2( -125.617, 0.8909 )
script = ExtResource( 7 )
global_id = "r9_stand"
esc_script = "res://game/rooms/room9/esc/stand.esc"
tooltip_name = "Stand"
default_action = "look"
use_from_inventory_only = true
dialog_color = Color( 1, 1, 1, 1 )
interact_positions = {
"default": Vector2( -125.617, 0.8909 )
}
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Hotspots/stand"]
polygon = PoolVector2Array( 1086.57, 357.819, 1087.46, 226.857, 1134.68, 228.639, 1133.79, 358.71 )
[node name="Line2D" type="Line2D" parent="Hotspots/stand"]
points = PoolVector2Array( 1103.65, 354.291, 1103.65, 240.701, 1092.07, 236.692, 1090.74, 349.391, 1104.99, 354.736, 1125.48, 354.736, 1125.93, 239.365, 1099.2, 238.474, 1089.85, 234.465, 1115.68, 234.02, 1127.71, 238.919 )
[node name="bottle" type="Sprite" parent="Hotspots/stand"]
visible = false
position = Vector2( 1110, 193.494 )
scale = Vector2( 0.6, 0.6 )
texture = ExtResource( 10 )
[node name="AnimationPlayer" type="AnimationPlayer" parent="Hotspots/stand"]
anims/set_bottle = SubResource( 2 )
[node name="Position2D" type="Position2D" parent="Hotspots/stand"]
position = Vector2( 1111.74, 380.57 )
[node name="player_start" type="Position2D" parent="."]
position = Vector2( 76.7617, 437.649 )