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

@@ -51,6 +51,7 @@ var commands = {
"inventory_remove": { "min_args": 1 }, "inventory_remove": { "min_args": 1 },
"inventory_display": { "min_args": 1, "types": [TYPE_BOOL] }, "inventory_display": { "min_args": 1, "types": [TYPE_BOOL] },
"jump": { "min_args": 1 }, "jump": { "min_args": 1 },
"label": { "min_args": 1 },
"play_snd": { "min_args": 2, "types": [TYPE_STRING, TYPE_STRING, TYPE_BOOL] }, "play_snd": { "min_args": 2, "types": [TYPE_STRING, TYPE_STRING, TYPE_BOOL] },
"queue_animation": { "min_args": 2, "types": [TYPE_STRING, TYPE_STRING, TYPE_BOOL] }, "queue_animation": { "min_args": 2, "types": [TYPE_STRING, TYPE_STRING, TYPE_BOOL] },
"queue_resource": { "min_args": 1, "types": [TYPE_STRING, TYPE_BOOL] }, "queue_resource": { "min_args": 1, "types": [TYPE_STRING, TYPE_BOOL] },
@@ -75,9 +76,9 @@ var commands = {
"turn_to": { "min_args": 2 }, "turn_to": { "min_args": 2 },
"wait": true, "wait": true,
"walk": { "min_args": 2 }, "walk": { "min_args": 2 },
"walk_block": { "min_args": 2 },
"walk_to_pos": { "min_args": 3}, "walk_to_pos": { "min_args": 3},
"walk_to_pos_block": { "min_args": 3}, "walk_to_pos_block": { "min_args": 3},
"walk_block": { "min_args": 2 },
"%": { "alias": "label", "min_args": 1}, "%": { "alias": "label", "min_args": 1},
"?": { "alias": "dialog"}, "?": { "alias": "dialog"},

View File

@@ -389,13 +389,15 @@ func inventory_display(command_params : Array):
""" """
jump label_name jump label_name
Jump to label_name block. Labels are blocks defined the same way as action_verbs: Jump to label_name block. This is used to build more complex dialog trees.
:label Labels must be defined at the same level as the 'jump' command, using either
'label label_name' command or '% label_name'.
""" """
func jump(command_params : Array): func jump(command_params : Array):
escoria.esc_runner.jump(command_params[0]) escoria.esc_runner.jump(command_params[0])
return esctypes.EVENT_LEVEL_STATE.JUMP return esctypes.EVENT_LEVEL_STATE.JUMP
""" """
""" """
func play_snd(command_params : Array): func play_snd(command_params : Array):

View File

@@ -80,7 +80,7 @@ func set_target2(target2 : String) -> void:
func update_tooltip_text(): func update_tooltip_text():
""" """
Overriden method. Should not be called. Overriden method. Should not be called directly.
""" """
pass pass

View File

@@ -14,7 +14,7 @@ func _input(event):
escoria.main.get_node("layers/debug_layer/esc_prompt_popup").popup() escoria.main.get_node("layers/debug_layer/esc_prompt_popup").popup()
if ProjectSettings.get_setting("escoria/ui/tooltip_follows_mouse"): if ProjectSettings.get_setting("escoria/ui/tooltip_follows_mouse"):
if !hotspot_focused.empty(): if escoria.main.current_scene and escoria.main.current_scene.game:
if event is InputEventMouseMotion: if event is InputEventMouseMotion:
escoria.main.current_scene.game.update_tooltip_following_mouse_position(event.position) escoria.main.current_scene.game.update_tooltip_following_mouse_position(event.position)

View File

@@ -9,191 +9,191 @@
[ext_resource path="res://game/characters/mark/png/mark_talk_right.png" type="Texture" id=7] [ext_resource path="res://game/characters/mark/png/mark_talk_right.png" type="Texture" id=7]
[sub_resource type="AtlasTexture" id=1] [sub_resource type="AtlasTexture" id=1]
atlas = ExtResource( 4 ) atlas = ExtResource( 7 )
region = Rect2( 48, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=2]
atlas = ExtResource( 4 )
region = Rect2( 120, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=3]
atlas = ExtResource( 4 )
region = Rect2( 72, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=4]
atlas = ExtResource( 5 )
region = Rect2( 0, 0, 24, 70 ) region = Rect2( 0, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=5] [sub_resource type="AtlasTexture" id=2]
atlas = ExtResource( 5 ) atlas = ExtResource( 7 )
region = Rect2( 24, 0, 24, 70 ) region = Rect2( 24, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=6] [sub_resource type="AtlasTexture" id=3]
atlas = ExtResource( 5 ) atlas = ExtResource( 7 )
region = Rect2( 48, 0, 24, 70 ) region = Rect2( 48, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=4]
atlas = ExtResource( 7 )
region = Rect2( 72, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=5]
atlas = ExtResource( 7 )
region = Rect2( 96, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=6]
atlas = ExtResource( 4 )
region = Rect2( 0, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=7] [sub_resource type="AtlasTexture" id=7]
atlas = ExtResource( 4 ) atlas = ExtResource( 4 )
region = Rect2( 0, 0, 24, 70 ) region = Rect2( 336, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=8] [sub_resource type="AtlasTexture" id=8]
atlas = ExtResource( 4 ) atlas = ExtResource( 4 )
region = Rect2( 336, 0, 24, 70 ) region = Rect2( 360, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=9] [sub_resource type="AtlasTexture" id=9]
atlas = ExtResource( 4 ) atlas = ExtResource( 4 )
region = Rect2( 360, 0, 24, 70 ) region = Rect2( 384, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=10] [sub_resource type="AtlasTexture" id=10]
atlas = ExtResource( 4 ) atlas = ExtResource( 6 )
region = Rect2( 384, 0, 24, 70 ) region = Rect2( 0, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=11] [sub_resource type="AtlasTexture" id=11]
atlas = ExtResource( 6 ) atlas = ExtResource( 6 )
region = Rect2( 0, 0, 24, 70 ) region = Rect2( 24, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=12] [sub_resource type="AtlasTexture" id=12]
atlas = ExtResource( 6 ) atlas = ExtResource( 4 )
region = Rect2( 24, 0, 24, 70 ) region = Rect2( 120, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=13] [sub_resource type="AtlasTexture" id=13]
atlas = ExtResource( 2 ) atlas = ExtResource( 4 )
region = Rect2( 0, 0, 24, 70 ) region = Rect2( 72, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=14] [sub_resource type="AtlasTexture" id=14]
atlas = ExtResource( 2 ) atlas = ExtResource( 5 )
region = Rect2( 24, 0, 24, 70 ) region = Rect2( 0, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=15] [sub_resource type="AtlasTexture" id=15]
atlas = ExtResource( 2 ) atlas = ExtResource( 5 )
region = Rect2( 48, 0, 24, 70 ) region = Rect2( 24, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=16] [sub_resource type="AtlasTexture" id=16]
atlas = ExtResource( 4 ) atlas = ExtResource( 5 )
region = Rect2( 144, 0, 24, 70 ) region = Rect2( 48, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=17] [sub_resource type="AtlasTexture" id=17]
atlas = ExtResource( 4 ) atlas = ExtResource( 4 )
region = Rect2( 168, 0, 24, 70 ) region = Rect2( 48, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=18] [sub_resource type="AtlasTexture" id=18]
atlas = ExtResource( 4 ) atlas = ExtResource( 2 )
region = Rect2( 192, 0, 24, 70 ) region = Rect2( 0, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=19] [sub_resource type="AtlasTexture" id=19]
atlas = ExtResource( 4 ) atlas = ExtResource( 2 )
region = Rect2( 96, 0, 24, 70 ) region = Rect2( 24, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=20] [sub_resource type="AtlasTexture" id=20]
atlas = ExtResource( 4 ) atlas = ExtResource( 2 )
region = Rect2( 24, 0, 24, 70 ) region = Rect2( 48, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=21] [sub_resource type="AtlasTexture" id=21]
atlas = ExtResource( 4 ) atlas = ExtResource( 4 )
region = Rect2( 216, 0, 24, 70 ) region = Rect2( 144, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=22] [sub_resource type="AtlasTexture" id=22]
atlas = ExtResource( 4 ) atlas = ExtResource( 4 )
region = Rect2( 240, 0, 24, 70 ) region = Rect2( 168, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=23] [sub_resource type="AtlasTexture" id=23]
atlas = ExtResource( 4 ) atlas = ExtResource( 4 )
region = Rect2( 264, 0, 24, 70 ) region = Rect2( 192, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=24] [sub_resource type="AtlasTexture" id=24]
atlas = ExtResource( 4 ) atlas = ExtResource( 4 )
region = Rect2( 288, 0, 24, 70 ) region = Rect2( 96, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=25] [sub_resource type="AtlasTexture" id=25]
atlas = ExtResource( 4 ) atlas = ExtResource( 4 )
region = Rect2( 312, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=26]
atlas = ExtResource( 7 )
region = Rect2( 0, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=27]
atlas = ExtResource( 7 )
region = Rect2( 24, 0, 24, 70 ) region = Rect2( 24, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=26]
atlas = ExtResource( 4 )
region = Rect2( 216, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=27]
atlas = ExtResource( 4 )
region = Rect2( 240, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=28] [sub_resource type="AtlasTexture" id=28]
atlas = ExtResource( 7 ) atlas = ExtResource( 4 )
region = Rect2( 48, 0, 24, 70 ) region = Rect2( 264, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=29] [sub_resource type="AtlasTexture" id=29]
atlas = ExtResource( 7 ) atlas = ExtResource( 4 )
region = Rect2( 72, 0, 24, 70 ) region = Rect2( 288, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=30] [sub_resource type="AtlasTexture" id=30]
atlas = ExtResource( 7 ) atlas = ExtResource( 4 )
region = Rect2( 96, 0, 24, 70 ) region = Rect2( 312, 0, 24, 70 )
[sub_resource type="SpriteFrames" id=31] [sub_resource type="SpriteFrames" id=31]
animations = [ { animations = [ {
"frames": [ SubResource( 1 ) ], "frames": [ SubResource( 1 ), SubResource( 2 ), SubResource( 3 ), SubResource( 4 ), SubResource( 5 ) ],
"loop": true, "loop": true,
"name": "idle_right", "name": "speak_right",
"speed": 5.0 "speed": 5.0
}, { }, {
"frames": [ SubResource( 2 ) ], "frames": [ SubResource( 6 ) ],
"loop": true,
"name": "idle_down_left",
"speed": 5.0
}, {
"frames": [ SubResource( 3 ) ],
"loop": true,
"name": "idle_up",
"speed": 5.0
}, {
"frames": [ SubResource( 4 ), SubResource( 5 ), SubResource( 6 ) ],
"loop": true,
"name": "speak_down_right",
"speed": 6.0
}, {
"frames": [ SubResource( 7 ) ],
"loop": true, "loop": true,
"name": "idle_down", "name": "idle_down",
"speed": 5.0 "speed": 5.0
}, { }, {
"frames": [ SubResource( 8 ), SubResource( 9 ), SubResource( 10 ) ], "frames": [ SubResource( 7 ), SubResource( 8 ), SubResource( 9 ) ],
"loop": true, "loop": true,
"name": "walk_up", "name": "walk_up",
"speed": 6.0 "speed": 6.0
}, { }, {
"frames": [ SubResource( 11 ), SubResource( 12 ), SubResource( 11 ), SubResource( 12 ), SubResource( 12 ) ], "frames": [ SubResource( 10 ), SubResource( 11 ), SubResource( 10 ), SubResource( 11 ), SubResource( 11 ) ],
"loop": true, "loop": true,
"name": "speak_up", "name": "speak_up",
"speed": 3.0 "speed": 3.0
}, { }, {
"frames": [ SubResource( 13 ), SubResource( 14 ), SubResource( 15 ), SubResource( 14 ), SubResource( 15 ) ], "frames": [ SubResource( 12 ) ],
"loop": true,
"name": "idle_down_left",
"speed": 5.0
}, {
"frames": [ SubResource( 13 ) ],
"loop": true,
"name": "idle_up",
"speed": 5.0
}, {
"frames": [ SubResource( 14 ), SubResource( 15 ), SubResource( 16 ) ],
"loop": true,
"name": "speak_down_right",
"speed": 6.0
}, {
"frames": [ SubResource( 17 ) ],
"loop": true,
"name": "idle_right",
"speed": 5.0
}, {
"frames": [ SubResource( 18 ), SubResource( 19 ), SubResource( 20 ), SubResource( 19 ), SubResource( 20 ) ],
"loop": true, "loop": true,
"name": "speak_down", "name": "speak_down",
"speed": 6.0 "speed": 6.0
}, { }, {
"frames": [ SubResource( 16 ), SubResource( 17 ), SubResource( 18 ) ], "frames": [ SubResource( 21 ), SubResource( 22 ), SubResource( 23 ) ],
"loop": true, "loop": true,
"name": "walk_down", "name": "walk_down",
"speed": 6.0 "speed": 6.0
}, { }, {
"frames": [ SubResource( 19 ) ], "frames": [ SubResource( 24 ) ],
"loop": true, "loop": true,
"name": "idle_left", "name": "idle_left",
"speed": 5.0 "speed": 5.0
}, { }, {
"frames": [ SubResource( 20 ) ], "frames": [ SubResource( 25 ) ],
"loop": true, "loop": true,
"name": "idle_down_right", "name": "idle_down_right",
"speed": 5.0 "speed": 5.0
}, { }, {
"frames": [ SubResource( 21 ), SubResource( 22 ), SubResource( 23 ), SubResource( 24 ), SubResource( 25 ) ], "frames": [ SubResource( 26 ), SubResource( 27 ), SubResource( 28 ), SubResource( 29 ), SubResource( 30 ) ],
"loop": true, "loop": true,
"name": "walk_right", "name": "walk_right",
"speed": 6.0 "speed": 6.0
}, {
"frames": [ SubResource( 26 ), SubResource( 27 ), SubResource( 28 ), SubResource( 29 ), SubResource( 30 ) ],
"loop": true,
"name": "speak_right",
"speed": 5.0
} ] } ]
[sub_resource type="CapsuleShape2D" id=32] [sub_resource type="CapsuleShape2D" id=32]

View File

@@ -14,6 +14,7 @@ global_id = "r9_bottle"
esc_script = "res://game/items/escitems/bottle.esc" esc_script = "res://game/items/escitems/bottle.esc"
tooltip_name = "Bottle" tooltip_name = "Bottle"
default_action = "pickup" default_action = "pickup"
combine_if_action_used_among = PoolStringArray( "use" )
use_from_inventory_only = true use_from_inventory_only = true
inventory_item_scene_file = ExtResource( 3 ) inventory_item_scene_file = ExtResource( 3 )
dialog_color = Color( 1, 1, 1, 1 ) dialog_color = Color( 1, 1, 1, 1 )

View File

@@ -21,7 +21,3 @@ points = PoolVector2Array( 6.61201, 704.409, 6.61203, 389.558, 87.755, 339.775,
__meta__ = { __meta__ = {
"_editor_description_": "" "_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 # 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 :open
> [left_closet_open] > [left_closet_open]

View File

@@ -1,5 +1,20 @@
# Magical closet: the object is always in the LAST opened closet # 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 :open
> [middle_closet_open] > [middle_closet_open]

View File

@@ -1,5 +1,20 @@
# Magical closet: the object is always in the LAST opened closet # 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 :open
> [right_closet_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://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] [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/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://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/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] [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 ) 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 ) ] 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 ) ] 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"] [node name="room9" type="Node2D"]
script = ExtResource( 6 ) script = ExtResource( 6 )
__meta__ = { __meta__ = {
@@ -37,6 +54,15 @@ __meta__ = {
[node name="walkable_area" type="Navigation2D" parent="."] [node name="walkable_area" type="Navigation2D" parent="."]
script = ExtResource( 1 ) 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"] [node name="platform" type="NavigationPolygonInstance" parent="walkable_area"]
position = Vector2( 6.73163, -264.779 ) 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" esc_script = "res://game/rooms/room9/esc/left_exit.esc"
is_exit = true is_exit = true
tooltip_name = "Left exit" tooltip_name = "Left exit"
default_action = "walk"
dialog_color = Color( 1, 1, 1, 1 ) dialog_color = Color( 1, 1, 1, 1 )
interact_positions = { interact_positions = {
"default": Vector2( 37.4521, 392.045 ) "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"] [node name="Position2D" type="Position2D" parent="Hotspots/l_door"]
position = Vector2( 37.4521, 392.045 ) position = Vector2( 37.4521, 392.045 )
[node name="r_door" type="Area2D" parent="Hotspots"] [node name="r_door" parent="Hotspots" instance=ExtResource( 9 )]
position = Vector2( -1, 0 ) esc_script = "res://game/rooms/room9/esc/right_exit.esc"
script = ExtResource( 7 )
global_id = "r9_r_exit"
is_exit = true
tooltip_name = "Right exit"
dialog_color = Color( 1, 1, 1, 1 )
interact_positions = { 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"] [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 )] [node name="r9_closet_left" parent="Hotspots" instance=ExtResource( 5 )]
position = Vector2( 435.233, 64.1518 ) position = Vector2( 435.233, 64.1518 )
global_id = "r9_closet_left" global_id = "r9_closet_left"
esc_script = "res://game/rooms/room9/esc/closet_left.esc" esc_script = "res://game/rooms/room9/esc/closet_left.esc"
tooltip_name = "Left closet" tooltip_name = "Left closet"
default_action = "open" default_action = "use"
interact_positions = { interact_positions = {
"default": Vector2( 505.158, 383.05 ) "default": Vector2( 505.158, 383.05 )
} }
@@ -99,7 +118,7 @@ position = Vector2( 572.963, 65.2113 )
global_id = "r9_closet_middle" global_id = "r9_closet_middle"
esc_script = "res://game/rooms/room9/esc/closet_middle.esc" esc_script = "res://game/rooms/room9/esc/closet_middle.esc"
tooltip_name = "Middle closet" tooltip_name = "Middle closet"
default_action = "open" default_action = "use"
interact_positions = { interact_positions = {
"default": Vector2( 638.65, 383.05 ) "default": Vector2( 638.65, 383.05 )
} }
@@ -112,7 +131,7 @@ position = Vector2( 710.693, 66.2707 )
global_id = "r9_closet_right" global_id = "r9_closet_right"
esc_script = "res://game/rooms/room9/esc/closet_right.esc" esc_script = "res://game/rooms/room9/esc/closet_right.esc"
tooltip_name = "Right closet" tooltip_name = "Right closet"
default_action = "open" default_action = "use"
interact_positions = { interact_positions = {
"default": Vector2( 775.32, 383.05 ) "default": Vector2( 775.32, 383.05 )
} }
@@ -142,5 +161,36 @@ __meta__ = {
"_edit_use_anchors_": false "_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="."] [node name="player_start" type="Position2D" parent="."]
position = Vector2( 76.7617, 437.649 ) position = Vector2( 76.7617, 437.649 )

View File

@@ -38,9 +38,7 @@ layer = 2
[node name="tooltip" parent="ui/tooltip_layer" instance=ExtResource( 6 )] [node name="tooltip" parent="ui/tooltip_layer" instance=ExtResource( 6 )]
mouse_filter = 2 mouse_filter = 2
bbcode_text = "[center][color=#000000][/color][/center]" bbcode_text = "[center][color=#000000][/color][/center]"
color = Color( 0, 0, 0, 1 )
offset_from_cursor = Vector2( 75, 10 ) offset_from_cursor = Vector2( 75, 10 )
debug_mode = true
[node name="dialog_layer" type="CanvasLayer" parent="ui"] [node name="dialog_layer" type="CanvasLayer" parent="ui"]
layer = 3 layer = 3

View File

@@ -1,4 +1,3 @@
tool
extends ESCTooltip extends ESCTooltip
func update_tooltip_text(): func update_tooltip_text():