diff --git a/addons/escoria-core/game/core-scripts/esc/commands/spawn.gd b/addons/escoria-core/game/core-scripts/esc/commands/spawn.gd
index ebf9f392..1a697af5 100644
--- a/addons/escoria-core/game/core-scripts/esc/commands/spawn.gd
+++ b/addons/escoria-core/game/core-scripts/esc/commands/spawn.gd
@@ -49,7 +49,7 @@ func run(command_params: Array) -> int:
if command_params[1]:
var obj = escoria.object_manager.get_object(command_params[1])
scene.set_position(obj.get_global_position())
- escoria.inputs_manager.hotspot_focused = false
+ escoria.inputs_manager.hotspot_focused = ""
else:
escoria.logger.report_errors(
"spawn: Invalid scene",
diff --git a/docs/api/ESCLogger.md b/docs/api/ESCLogger.md
index 8ad1b92b..bc26fade 100644
--- a/docs/api/ESCLogger.md
+++ b/docs/api/ESCLogger.md
@@ -13,7 +13,7 @@ Logging framework for Escoria
### LOG\_DEBUG
```gdscript
-const LOG_DEBUG: int = 3
+const LOG_WARNING: int = 1
```
Valid log levels
@@ -21,7 +21,7 @@ Valid log levels
### LOG\_ERROR
```gdscript
-const LOG_DEBUG: int = 3
+const LOG_WARNING: int = 1
```
Valid log levels
@@ -29,7 +29,7 @@ Valid log levels
### LOG\_INFO
```gdscript
-const LOG_DEBUG: int = 3
+const LOG_WARNING: int = 1
```
Valid log levels
@@ -37,7 +37,7 @@ Valid log levels
### LOG\_WARNING
```gdscript
-const LOG_DEBUG: int = 3
+const LOG_WARNING: int = 1
```
Valid log levels
diff --git a/docs/api/SpawnCommand.md b/docs/api/SpawnCommand.md
new file mode 100644
index 00000000..d11d8cbc
--- /dev/null
+++ b/docs/api/SpawnCommand.md
@@ -0,0 +1,40 @@
+
+
+# SpawnCommand
+
+**Extends:** [ESCBaseCommand](../ESCBaseCommand) < [Node](../Node)
+
+## Description
+
+`spawn path [object2]`
+
+Instances a scene determined by "path", and places in the position of
+object2 (object2 is optional)
+
+@ESC
+
+## Method Descriptions
+
+### configure
+
+```gdscript
+func configure() -> ESCCommandArgumentDescriptor
+```
+
+Return the descriptor of the arguments of this command
+
+### validate
+
+```gdscript
+func validate(arguments: Array)
+```
+
+Validate wether the given arguments match the command descriptor
+
+### run
+
+```gdscript
+func run(command_params: Array) -> int
+```
+
+Run the command
\ No newline at end of file
diff --git a/docs/esc.md b/docs/esc.md
index 1adb2657..d03c758f 100644
--- a/docs/esc.md
+++ b/docs/esc.md
@@ -325,6 +325,10 @@ Moves object1 towards the position of object2, at the speed determined by
object1's "speed" property, unless overridden. This command is non-blocking.
It does not respect the room's navigation polygons, so you can move items
where the player can't walk.
+#### `spawn path [object2]` [API-Doc](api/SpawnCommand.md)
+
+Instances a scene determined by "path", and places in the position of
+object2 (object2 is optional)
#### `stop` [API-Doc](api/StopCommand.md)
Stops the event's execution.
diff --git a/game/characters/mark/mark.tscn b/game/characters/mark/mark.tscn
index e187f457..4c9358cf 100644
--- a/game/characters/mark/mark.tscn
+++ b/game/characters/mark/mark.tscn
@@ -1,368 +1,199 @@
-[gd_scene load_steps=75 format=2]
+[gd_scene load_steps=40 format=2]
[ext_resource path="res://addons/escoria-core/game/core-scripts/esc_player.gd" type="Script" id=1]
[ext_resource path="res://game/characters/mark/png/mark_talk_down.png" type="Texture" id=2]
-[ext_resource path="res://addons/escoria-core/game/core-scripts/resources/esc_animationname.gd" type="Script" id=3]
+[ext_resource path="res://game/characters/mark/mark_animations.tres" type="Resource" id=3]
[ext_resource path="res://game/characters/mark/png/mark.png" type="Texture" id=4]
[ext_resource path="res://game/characters/mark/png/mark_talk_down_right.png" type="Texture" id=5]
[ext_resource path="res://game/characters/mark/png/mark_talk_up.png" type="Texture" id=6]
[ext_resource path="res://game/characters/mark/png/mark_talk_right.png" type="Texture" id=7]
-[ext_resource path="res://addons/escoria-core/game/core-scripts/resources/esc_animationresource.gd" type="Script" id=8]
-[ext_resource path="res://addons/escoria-core/game/core-scripts/resources/esc_directionangle.gd" type="Script" id=9]
-
-[sub_resource type="Resource" id=33]
-script = ExtResource( 9 )
-angle_start = 340
-angle_size = 40
-
-[sub_resource type="Resource" id=34]
-script = ExtResource( 9 )
-angle_start = 20
-angle_size = 50
-
-[sub_resource type="Resource" id=35]
-script = ExtResource( 9 )
-angle_start = 70
-angle_size = 40
-
-[sub_resource type="Resource" id=36]
-script = ExtResource( 9 )
-angle_start = 110
-angle_size = 50
-
-[sub_resource type="Resource" id=37]
-script = ExtResource( 9 )
-angle_start = 160
-angle_size = 40
-
-[sub_resource type="Resource" id=38]
-script = ExtResource( 9 )
-angle_start = 200
-angle_size = 50
-
-[sub_resource type="Resource" id=39]
-script = ExtResource( 9 )
-angle_start = 250
-angle_size = 40
-
-[sub_resource type="Resource" id=40]
-script = ExtResource( 9 )
-angle_start = 290
-angle_size = 50
-
-[sub_resource type="Resource" id=41]
-script = ExtResource( 3 )
-animation = "walk_up"
-mirrored = false
-
-[sub_resource type="Resource" id=42]
-script = ExtResource( 3 )
-animation = "walk_up"
-mirrored = false
-
-[sub_resource type="Resource" id=43]
-script = ExtResource( 3 )
-animation = "walk_right"
-mirrored = false
-
-[sub_resource type="Resource" id=44]
-script = ExtResource( 3 )
-animation = "walk_down"
-mirrored = false
-
-[sub_resource type="Resource" id=45]
-script = ExtResource( 3 )
-animation = "walk_down"
-mirrored = false
-
-[sub_resource type="Resource" id=46]
-script = ExtResource( 3 )
-animation = "walk_down"
-mirrored = false
-
-[sub_resource type="Resource" id=47]
-script = ExtResource( 3 )
-animation = "walk_right"
-mirrored = true
-
-[sub_resource type="Resource" id=48]
-script = ExtResource( 3 )
-animation = "walk_up"
-mirrored = false
-
-[sub_resource type="Resource" id=50]
-script = ExtResource( 3 )
-animation = "idle_up"
-mirrored = false
-
-[sub_resource type="Resource" id=51]
-script = ExtResource( 3 )
-animation = "idle_up"
-mirrored = false
-
-[sub_resource type="Resource" id=52]
-script = ExtResource( 3 )
-animation = "idle_right"
-mirrored = false
-
-[sub_resource type="Resource" id=53]
-script = ExtResource( 3 )
-animation = "idle_down_right"
-mirrored = false
-
-[sub_resource type="Resource" id=54]
-script = ExtResource( 3 )
-animation = "idle_down"
-mirrored = false
-
-[sub_resource type="Resource" id=55]
-script = ExtResource( 3 )
-animation = "idle_down_left"
-mirrored = false
-
-[sub_resource type="Resource" id=56]
-script = ExtResource( 3 )
-animation = "idle_left"
-mirrored = false
-
-[sub_resource type="Resource" id=57]
-script = ExtResource( 3 )
-animation = "idle_up"
-mirrored = false
-
-[sub_resource type="Resource" id=58]
-script = ExtResource( 3 )
-animation = "speak_up"
-mirrored = false
-
-[sub_resource type="Resource" id=59]
-script = ExtResource( 3 )
-animation = "speak_up"
-mirrored = false
-
-[sub_resource type="Resource" id=60]
-script = ExtResource( 3 )
-animation = "speak_right"
-mirrored = false
-
-[sub_resource type="Resource" id=61]
-script = ExtResource( 3 )
-animation = "speak_down"
-mirrored = false
-
-[sub_resource type="Resource" id=62]
-script = ExtResource( 3 )
-animation = "speak_down"
-mirrored = false
-
-[sub_resource type="Resource" id=63]
-script = ExtResource( 3 )
-animation = "speak_down"
-mirrored = false
-
-[sub_resource type="Resource" id=64]
-script = ExtResource( 3 )
-animation = "speak_right"
-mirrored = true
-
-[sub_resource type="Resource" id=65]
-script = ExtResource( 3 )
-animation = "speak_up"
-mirrored = false
-
-[sub_resource type="Resource" id=49]
-script = ExtResource( 8 )
-dir_angles = [ SubResource( 33 ), SubResource( 34 ), SubResource( 35 ), SubResource( 36 ), SubResource( 37 ), SubResource( 38 ), SubResource( 39 ), SubResource( 40 ) ]
-directions = [ SubResource( 41 ), SubResource( 42 ), SubResource( 43 ), SubResource( 44 ), SubResource( 45 ), SubResource( 46 ), SubResource( 47 ), SubResource( 48 ) ]
-idles = [ SubResource( 50 ), SubResource( 51 ), SubResource( 52 ), SubResource( 53 ), SubResource( 54 ), SubResource( 55 ), SubResource( 56 ), SubResource( 57 ) ]
-speaks = [ SubResource( 58 ), SubResource( 59 ), SubResource( 60 ), SubResource( 61 ), SubResource( 62 ), SubResource( 63 ), SubResource( 64 ), SubResource( 65 ) ]
-
-[sub_resource type="AtlasTexture" id=15]
-atlas = ExtResource( 7 )
-region = Rect2( 0, 0, 24, 70 )
-
-[sub_resource type="AtlasTexture" id=16]
-atlas = ExtResource( 7 )
-region = Rect2( 24, 0, 24, 70 )
-
-[sub_resource type="AtlasTexture" id=17]
-atlas = ExtResource( 7 )
-region = Rect2( 48, 0, 24, 70 )
-
-[sub_resource type="AtlasTexture" id=18]
-atlas = ExtResource( 7 )
-region = Rect2( 72, 0, 24, 70 )
-
-[sub_resource type="AtlasTexture" id=19]
-atlas = ExtResource( 7 )
-region = Rect2( 96, 0, 24, 70 )
-
-[sub_resource type="AtlasTexture" id=20]
-atlas = ExtResource( 4 )
-region = Rect2( 144, 0, 24, 70 )
-
-[sub_resource type="AtlasTexture" id=21]
-atlas = ExtResource( 4 )
-region = Rect2( 168, 0, 24, 70 )
-
-[sub_resource type="AtlasTexture" id=22]
-atlas = ExtResource( 4 )
-region = Rect2( 192, 0, 24, 70 )
-
-[sub_resource type="AtlasTexture" id=4]
-atlas = ExtResource( 4 )
-region = Rect2( 216, 0, 24, 70 )
-
-[sub_resource type="AtlasTexture" id=5]
-atlas = ExtResource( 4 )
-region = Rect2( 240, 0, 24, 70 )
-
-[sub_resource type="AtlasTexture" id=6]
-atlas = ExtResource( 4 )
-region = Rect2( 264, 0, 24, 70 )
-
-[sub_resource type="AtlasTexture" id=7]
-atlas = ExtResource( 4 )
-region = Rect2( 288, 0, 24, 70 )
-
-[sub_resource type="AtlasTexture" id=8]
-atlas = ExtResource( 4 )
-region = Rect2( 312, 0, 24, 70 )
-
-[sub_resource type="AtlasTexture" id=29]
-atlas = ExtResource( 4 )
-region = Rect2( 24, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=1]
-atlas = ExtResource( 2 )
-region = Rect2( 0, 0, 24, 70 )
-
-[sub_resource type="AtlasTexture" id=2]
-atlas = ExtResource( 2 )
-region = Rect2( 24, 0, 24, 70 )
-
-[sub_resource type="AtlasTexture" id=3]
-atlas = ExtResource( 2 )
-region = Rect2( 48, 0, 24, 70 )
-
-[sub_resource type="AtlasTexture" id=23]
-atlas = ExtResource( 4 )
-region = Rect2( 48, 0, 24, 70 )
-
-[sub_resource type="AtlasTexture" id=9]
-atlas = ExtResource( 4 )
-region = Rect2( 72, 0, 24, 70 )
-
-[sub_resource type="AtlasTexture" id=10]
-atlas = ExtResource( 4 )
-region = Rect2( 336, 0, 24, 70 )
-
-[sub_resource type="AtlasTexture" id=11]
-atlas = ExtResource( 4 )
-region = Rect2( 360, 0, 24, 70 )
-
-[sub_resource type="AtlasTexture" id=12]
-atlas = ExtResource( 4 )
-region = Rect2( 384, 0, 24, 70 )
-
-[sub_resource type="AtlasTexture" id=25]
-atlas = ExtResource( 4 )
-region = Rect2( 96, 0, 24, 70 )
-
-[sub_resource type="AtlasTexture" id=24]
atlas = ExtResource( 4 )
region = Rect2( 120, 0, 24, 70 )
-[sub_resource type="AtlasTexture" id=26]
-atlas = ExtResource( 5 )
-region = Rect2( 0, 0, 24, 70 )
-
-[sub_resource type="AtlasTexture" id=27]
-atlas = ExtResource( 5 )
-region = Rect2( 24, 0, 24, 70 )
-
-[sub_resource type="AtlasTexture" id=28]
-atlas = ExtResource( 5 )
-region = Rect2( 48, 0, 24, 70 )
-
-[sub_resource type="AtlasTexture" id=30]
+[sub_resource type="AtlasTexture" id=2]
atlas = ExtResource( 4 )
region = Rect2( 0, 0, 24, 70 )
+[sub_resource type="AtlasTexture" id=3]
+atlas = ExtResource( 2 )
+region = Rect2( 0, 0, 24, 70 )
+
+[sub_resource type="AtlasTexture" id=4]
+atlas = ExtResource( 2 )
+region = Rect2( 24, 0, 24, 70 )
+
+[sub_resource type="AtlasTexture" id=5]
+atlas = ExtResource( 2 )
+region = Rect2( 48, 0, 24, 70 )
+
+[sub_resource type="AtlasTexture" id=6]
+atlas = ExtResource( 4 )
+region = Rect2( 48, 0, 24, 70 )
+
+[sub_resource type="AtlasTexture" id=7]
+atlas = ExtResource( 7 )
+region = Rect2( 0, 0, 24, 70 )
+
+[sub_resource type="AtlasTexture" id=8]
+atlas = ExtResource( 7 )
+region = Rect2( 24, 0, 24, 70 )
+
+[sub_resource type="AtlasTexture" id=9]
+atlas = ExtResource( 7 )
+region = Rect2( 48, 0, 24, 70 )
+
+[sub_resource type="AtlasTexture" id=10]
+atlas = ExtResource( 7 )
+region = Rect2( 72, 0, 24, 70 )
+
+[sub_resource type="AtlasTexture" id=11]
+atlas = ExtResource( 7 )
+region = Rect2( 96, 0, 24, 70 )
+
+[sub_resource type="AtlasTexture" id=12]
+atlas = ExtResource( 4 )
+region = Rect2( 144, 0, 24, 70 )
+
[sub_resource type="AtlasTexture" id=13]
+atlas = ExtResource( 4 )
+region = Rect2( 168, 0, 24, 70 )
+
+[sub_resource type="AtlasTexture" id=14]
+atlas = ExtResource( 4 )
+region = Rect2( 192, 0, 24, 70 )
+
+[sub_resource type="AtlasTexture" id=15]
+atlas = ExtResource( 4 )
+region = Rect2( 216, 0, 24, 70 )
+
+[sub_resource type="AtlasTexture" id=16]
+atlas = ExtResource( 4 )
+region = Rect2( 240, 0, 24, 70 )
+
+[sub_resource type="AtlasTexture" id=17]
+atlas = ExtResource( 4 )
+region = Rect2( 264, 0, 24, 70 )
+
+[sub_resource type="AtlasTexture" id=18]
+atlas = ExtResource( 4 )
+region = Rect2( 288, 0, 24, 70 )
+
+[sub_resource type="AtlasTexture" id=19]
+atlas = ExtResource( 4 )
+region = Rect2( 312, 0, 24, 70 )
+
+[sub_resource type="AtlasTexture" id=20]
+atlas = ExtResource( 4 )
+region = Rect2( 24, 0, 24, 70 )
+
+[sub_resource type="AtlasTexture" id=21]
+atlas = ExtResource( 5 )
+region = Rect2( 0, 0, 24, 70 )
+
+[sub_resource type="AtlasTexture" id=22]
+atlas = ExtResource( 5 )
+region = Rect2( 24, 0, 24, 70 )
+
+[sub_resource type="AtlasTexture" id=23]
+atlas = ExtResource( 5 )
+region = Rect2( 48, 0, 24, 70 )
+
+[sub_resource type="AtlasTexture" id=24]
atlas = ExtResource( 6 )
region = Rect2( 0, 0, 24, 70 )
-[sub_resource type="AtlasTexture" id=14]
+[sub_resource type="AtlasTexture" id=25]
atlas = ExtResource( 6 )
region = Rect2( 24, 0, 24, 70 )
+[sub_resource type="AtlasTexture" id=26]
+atlas = ExtResource( 4 )
+region = Rect2( 336, 0, 24, 70 )
+
+[sub_resource type="AtlasTexture" id=27]
+atlas = ExtResource( 4 )
+region = Rect2( 360, 0, 24, 70 )
+
+[sub_resource type="AtlasTexture" id=28]
+atlas = ExtResource( 4 )
+region = Rect2( 384, 0, 24, 70 )
+
+[sub_resource type="AtlasTexture" id=29]
+atlas = ExtResource( 4 )
+region = Rect2( 72, 0, 24, 70 )
+
+[sub_resource type="AtlasTexture" id=30]
+atlas = ExtResource( 4 )
+region = Rect2( 96, 0, 24, 70 )
+
[sub_resource type="SpriteFrames" id=31]
animations = [ {
-"frames": [ SubResource( 15 ), SubResource( 16 ), SubResource( 17 ), SubResource( 18 ), SubResource( 19 ) ],
-"loop": true,
-"name": "speak_right",
-"speed": 5.0
-}, {
-"frames": [ SubResource( 20 ), SubResource( 21 ), SubResource( 22 ), SubResource( 21 ) ],
-"loop": true,
-"name": "walk_down",
-"speed": 6.0
-}, {
-"frames": [ SubResource( 4 ), SubResource( 5 ), SubResource( 6 ), SubResource( 7 ), SubResource( 8 ) ],
-"loop": true,
-"name": "walk_right",
-"speed": 6.0
-}, {
-"frames": [ SubResource( 29 ) ],
-"loop": true,
-"name": "idle_down_right",
-"speed": 5.0
-}, {
-"frames": [ SubResource( 1 ), SubResource( 2 ), SubResource( 3 ), SubResource( 2 ), SubResource( 3 ) ],
-"loop": true,
-"name": "speak_down",
-"speed": 6.0
-}, {
-"frames": [ SubResource( 23 ) ],
-"loop": true,
-"name": "idle_right",
-"speed": 5.0
-}, {
-"frames": [ SubResource( 9 ) ],
-"loop": true,
-"name": "idle_up",
-"speed": 5.0
-}, {
-"frames": [ SubResource( 10 ), SubResource( 11 ), SubResource( 12 ), SubResource( 11 ) ],
-"loop": true,
-"name": "walk_up",
-"speed": 6.0
-}, {
-"frames": [ SubResource( 25 ) ],
-"loop": true,
-"name": "idle_left",
-"speed": 5.0
-}, {
-"frames": [ SubResource( 24 ) ],
+"frames": [ SubResource( 1 ) ],
"loop": true,
"name": "idle_down_left",
"speed": 5.0
}, {
-"frames": [ SubResource( 26 ), SubResource( 27 ), SubResource( 28 ) ],
-"loop": true,
-"name": "speak_down_right",
-"speed": 6.0
-}, {
-"frames": [ SubResource( 30 ) ],
+"frames": [ SubResource( 2 ) ],
"loop": true,
"name": "idle_down",
"speed": 5.0
}, {
-"frames": [ SubResource( 13 ), SubResource( 14 ), SubResource( 13 ), SubResource( 14 ), SubResource( 14 ) ],
+"frames": [ SubResource( 3 ), SubResource( 4 ), SubResource( 5 ), SubResource( 4 ), SubResource( 5 ) ],
+"loop": true,
+"name": "speak_down",
+"speed": 6.0
+}, {
+"frames": [ SubResource( 6 ) ],
+"loop": true,
+"name": "idle_right",
+"speed": 5.0
+}, {
+"frames": [ SubResource( 7 ), SubResource( 8 ), SubResource( 9 ), SubResource( 10 ), SubResource( 11 ) ],
+"loop": true,
+"name": "speak_right",
+"speed": 5.0
+}, {
+"frames": [ SubResource( 12 ), SubResource( 13 ), SubResource( 14 ), SubResource( 13 ) ],
+"loop": true,
+"name": "walk_down",
+"speed": 6.0
+}, {
+"frames": [ SubResource( 15 ), SubResource( 16 ), SubResource( 17 ), SubResource( 18 ), SubResource( 19 ) ],
+"loop": true,
+"name": "walk_right",
+"speed": 6.0
+}, {
+"frames": [ SubResource( 20 ) ],
+"loop": true,
+"name": "idle_down_right",
+"speed": 5.0
+}, {
+"frames": [ SubResource( 21 ), SubResource( 22 ), SubResource( 23 ) ],
+"loop": true,
+"name": "speak_down_right",
+"speed": 6.0
+}, {
+"frames": [ SubResource( 24 ), SubResource( 25 ), SubResource( 24 ), SubResource( 25 ), SubResource( 25 ) ],
"loop": true,
"name": "speak_up",
"speed": 3.0
+}, {
+"frames": [ SubResource( 26 ), SubResource( 27 ), SubResource( 28 ), SubResource( 27 ) ],
+"loop": true,
+"name": "walk_up",
+"speed": 6.0
+}, {
+"frames": [ SubResource( 29 ) ],
+"loop": true,
+"name": "idle_up",
+"speed": 5.0
+}, {
+"frames": [ SubResource( 30 ) ],
+"loop": true,
+"name": "idle_left",
+"speed": 5.0
} ]
[sub_resource type="CapsuleShape2D" id=32]
@@ -373,7 +204,7 @@ script = ExtResource( 1 )
global_id = "player"
is_movable = true
dialog_color = Color( 1, 1, 1, 1 )
-animations = SubResource( 49 )
+animations = ExtResource( 3 )
[node name="sprite" type="AnimatedSprite" parent="."]
position = Vector2( 0, -140.938 )
diff --git a/game/characters/mark/mark_animations.tres b/game/characters/mark/mark_animations.tres
index 84da7026..d466d0d5 100644
--- a/game/characters/mark/mark_animations.tres
+++ b/game/characters/mark/mark_animations.tres
@@ -1,7 +1,8 @@
-[gd_resource type="Resource" load_steps=11 format=2]
+[gd_resource type="Resource" load_steps=36 format=2]
[ext_resource path="res://addons/escoria-core/game/core-scripts/resources/esc_animationresource.gd" type="Script" id=1]
[ext_resource path="res://addons/escoria-core/game/core-scripts/resources/esc_directionangle.gd" type="Script" id=2]
+[ext_resource path="res://addons/escoria-core/game/core-scripts/resources/esc_animationname.gd" type="Script" id=3]
[sub_resource type="Resource" id=1]
script = ExtResource( 2 )
@@ -43,9 +44,129 @@ script = ExtResource( 2 )
angle_start = 290
angle_size = 50
+[sub_resource type="Resource" id=9]
+script = ExtResource( 3 )
+animation = "walk_up"
+mirrored = false
+
+[sub_resource type="Resource" id=10]
+script = ExtResource( 3 )
+animation = "walk_up"
+mirrored = false
+
+[sub_resource type="Resource" id=11]
+script = ExtResource( 3 )
+animation = "walk_right"
+mirrored = false
+
+[sub_resource type="Resource" id=12]
+script = ExtResource( 3 )
+animation = "walk_down"
+mirrored = false
+
+[sub_resource type="Resource" id=13]
+script = ExtResource( 3 )
+animation = "walk_down"
+mirrored = false
+
+[sub_resource type="Resource" id=14]
+script = ExtResource( 3 )
+animation = "walk_down"
+mirrored = false
+
+[sub_resource type="Resource" id=15]
+script = ExtResource( 3 )
+animation = "walk_right"
+mirrored = true
+
+[sub_resource type="Resource" id=16]
+script = ExtResource( 3 )
+animation = "walk_up"
+mirrored = false
+
+[sub_resource type="Resource" id=17]
+script = ExtResource( 3 )
+animation = "idle_up"
+mirrored = false
+
+[sub_resource type="Resource" id=18]
+script = ExtResource( 3 )
+animation = "idle_up"
+mirrored = false
+
+[sub_resource type="Resource" id=19]
+script = ExtResource( 3 )
+animation = "idle_right"
+mirrored = false
+
+[sub_resource type="Resource" id=20]
+script = ExtResource( 3 )
+animation = "idle_down_right"
+mirrored = false
+
+[sub_resource type="Resource" id=21]
+script = ExtResource( 3 )
+animation = "idle_down"
+mirrored = false
+
+[sub_resource type="Resource" id=22]
+script = ExtResource( 3 )
+animation = "idle_down_left"
+mirrored = false
+
+[sub_resource type="Resource" id=23]
+script = ExtResource( 3 )
+animation = "idle_left"
+mirrored = false
+
+[sub_resource type="Resource" id=24]
+script = ExtResource( 3 )
+animation = "idle_up"
+mirrored = false
+
+[sub_resource type="Resource" id=25]
+script = ExtResource( 3 )
+animation = "speak_up"
+mirrored = false
+
+[sub_resource type="Resource" id=26]
+script = ExtResource( 3 )
+animation = "speak_up"
+mirrored = false
+
+[sub_resource type="Resource" id=27]
+script = ExtResource( 3 )
+animation = "speak_right"
+mirrored = false
+
+[sub_resource type="Resource" id=28]
+script = ExtResource( 3 )
+animation = "speak_down"
+mirrored = false
+
+[sub_resource type="Resource" id=29]
+script = ExtResource( 3 )
+animation = "speak_down"
+mirrored = false
+
+[sub_resource type="Resource" id=30]
+script = ExtResource( 3 )
+animation = "speak_down"
+mirrored = false
+
+[sub_resource type="Resource" id=31]
+script = ExtResource( 3 )
+animation = "speak_right"
+mirrored = true
+
+[sub_resource type="Resource" id=32]
+script = ExtResource( 3 )
+animation = "speak_up"
+mirrored = false
+
[resource]
script = ExtResource( 1 )
dir_angles = [ SubResource( 1 ), SubResource( 2 ), SubResource( 3 ), SubResource( 4 ), SubResource( 5 ), SubResource( 6 ), SubResource( 7 ), SubResource( 8 ) ]
-directions = [ ]
-idles = [ ]
-speaks = [ ]
+directions = [ SubResource( 9 ), SubResource( 10 ), SubResource( 11 ), SubResource( 12 ), SubResource( 13 ), SubResource( 14 ), SubResource( 15 ), SubResource( 16 ) ]
+idles = [ SubResource( 17 ), SubResource( 18 ), SubResource( 19 ), SubResource( 20 ), SubResource( 21 ), SubResource( 22 ), SubResource( 23 ), SubResource( 24 ) ]
+speaks = [ SubResource( 25 ), SubResource( 26 ), SubResource( 27 ), SubResource( 28 ), SubResource( 29 ), SubResource( 30 ), SubResource( 31 ), SubResource( 32 ) ]
diff --git a/project.godot b/project.godot
index 25ae2656..068d8952 100644
--- a/project.godot
+++ b/project.godot
@@ -628,7 +628,7 @@ ui/game_scene="res://addons/escoria-ui-9verbs/game.tscn"
esc_show_debug_prompt={
"deadzone": 0.5,
-"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777245,"physical_scancode":0,"unicode":0,"echo":false,"script":null)
+"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777245,"unicode":0,"echo":false,"script":null)
]
}
switch_action_verb={