summaryrefslogtreecommitdiff
path: root/Units
diff options
context:
space:
mode:
Diffstat (limited to 'Units')
-rw-r--r--Units/Assets/Shade/Enemy-Melee-Death.pngbin0 -> 294236 bytes
-rw-r--r--Units/Assets/Shade/Enemy-Melee-Death.png.import34
-rw-r--r--Units/Assets/Shade/Enemy-Melee-Idle-E.pngbin0 -> 52625 bytes
-rw-r--r--Units/Assets/Shade/Enemy-Melee-Idle-E.png.import34
-rw-r--r--Units/Assets/Shade/Enemy-Melee-Idle-N.pngbin0 -> 72639 bytes
-rw-r--r--Units/Assets/Shade/Enemy-Melee-Idle-N.png.import34
-rw-r--r--Units/Assets/Shade/Enemy-Melee-Idle-NE.pngbin0 -> 65921 bytes
-rw-r--r--Units/Assets/Shade/Enemy-Melee-Idle-NE.png.import34
-rw-r--r--Units/Assets/Shade/Enemy-Melee-Idle-NW.pngbin0 -> 68763 bytes
-rw-r--r--Units/Assets/Shade/Enemy-Melee-Idle-NW.png.import34
-rw-r--r--Units/Assets/Shade/Enemy-Melee-Idle-S.pngbin0 -> 72551 bytes
-rw-r--r--Units/Assets/Shade/Enemy-Melee-Idle-S.png.import34
-rw-r--r--Units/Assets/Shade/Enemy-Melee-Idle-SE.pngbin0 -> 67416 bytes
-rw-r--r--Units/Assets/Shade/Enemy-Melee-Idle-SE.png.import34
-rw-r--r--Units/Assets/Shade/Enemy-Melee-Idle-SW.pngbin0 -> 65237 bytes
-rw-r--r--Units/Assets/Shade/Enemy-Melee-Idle-SW.png.import34
-rw-r--r--Units/Assets/Shade/Enemy-Melee-Idle-W.pngbin0 -> 51041 bytes
-rw-r--r--Units/Assets/Shade/Enemy-Melee-Idle-W.png.import34
-rw-r--r--Units/Assets/Shade/menu.pngbin0 -> 680 bytes
-rw-r--r--Units/Assets/Shade/menu.png.import34
-rw-r--r--Units/Assets/Shade/sprite_frames.tres725
-rw-r--r--Units/Unit.gd70
-rw-r--r--Units/Unit.gd.uid1
-rw-r--r--Units/Unit.tscn14
-rw-r--r--Units/UnitPathLine.tscn2
-rw-r--r--Units/unit_path_line.gd.uid1
-rw-r--r--Units/unit_resource.gd8
-rw-r--r--Units/unit_resource.gd.uid1
28 files changed, 1111 insertions, 51 deletions
diff --git a/Units/Assets/Shade/Enemy-Melee-Death.png b/Units/Assets/Shade/Enemy-Melee-Death.png
new file mode 100644
index 0000000..82fc0da
--- /dev/null
+++ b/Units/Assets/Shade/Enemy-Melee-Death.png
Binary files differ
diff --git a/Units/Assets/Shade/Enemy-Melee-Death.png.import b/Units/Assets/Shade/Enemy-Melee-Death.png.import
new file mode 100644
index 0000000..27ad9b6
--- /dev/null
+++ b/Units/Assets/Shade/Enemy-Melee-Death.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bpi5kf8dred6a"
+path="res://.godot/imported/Enemy-Melee-Death.png-5b04eee938e5851881d810a4a897b49f.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Units/Assets/Shade/Enemy-Melee-Death.png"
+dest_files=["res://.godot/imported/Enemy-Melee-Death.png-5b04eee938e5851881d810a4a897b49f.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/Units/Assets/Shade/Enemy-Melee-Idle-E.png b/Units/Assets/Shade/Enemy-Melee-Idle-E.png
new file mode 100644
index 0000000..004fd4e
--- /dev/null
+++ b/Units/Assets/Shade/Enemy-Melee-Idle-E.png
Binary files differ
diff --git a/Units/Assets/Shade/Enemy-Melee-Idle-E.png.import b/Units/Assets/Shade/Enemy-Melee-Idle-E.png.import
new file mode 100644
index 0000000..fdf7f48
--- /dev/null
+++ b/Units/Assets/Shade/Enemy-Melee-Idle-E.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://1jvo6f5lbiis"
+path="res://.godot/imported/Enemy-Melee-Idle-E.png-1f926debe270b2fb3b1a49f5645a6fb7.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Units/Assets/Shade/Enemy-Melee-Idle-E.png"
+dest_files=["res://.godot/imported/Enemy-Melee-Idle-E.png-1f926debe270b2fb3b1a49f5645a6fb7.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/Units/Assets/Shade/Enemy-Melee-Idle-N.png b/Units/Assets/Shade/Enemy-Melee-Idle-N.png
new file mode 100644
index 0000000..753c18b
--- /dev/null
+++ b/Units/Assets/Shade/Enemy-Melee-Idle-N.png
Binary files differ
diff --git a/Units/Assets/Shade/Enemy-Melee-Idle-N.png.import b/Units/Assets/Shade/Enemy-Melee-Idle-N.png.import
new file mode 100644
index 0000000..b9b56d9
--- /dev/null
+++ b/Units/Assets/Shade/Enemy-Melee-Idle-N.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cleoem6lw6jl1"
+path="res://.godot/imported/Enemy-Melee-Idle-N.png-d4ea4c4e98abe5f1b5a3088ef23579af.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Units/Assets/Shade/Enemy-Melee-Idle-N.png"
+dest_files=["res://.godot/imported/Enemy-Melee-Idle-N.png-d4ea4c4e98abe5f1b5a3088ef23579af.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/Units/Assets/Shade/Enemy-Melee-Idle-NE.png b/Units/Assets/Shade/Enemy-Melee-Idle-NE.png
new file mode 100644
index 0000000..e6e2c7b
--- /dev/null
+++ b/Units/Assets/Shade/Enemy-Melee-Idle-NE.png
Binary files differ
diff --git a/Units/Assets/Shade/Enemy-Melee-Idle-NE.png.import b/Units/Assets/Shade/Enemy-Melee-Idle-NE.png.import
new file mode 100644
index 0000000..352dc31
--- /dev/null
+++ b/Units/Assets/Shade/Enemy-Melee-Idle-NE.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://2lqgllc7etxm"
+path="res://.godot/imported/Enemy-Melee-Idle-NE.png-985bfba23fbb84efa2f82ae64a7f72e3.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Units/Assets/Shade/Enemy-Melee-Idle-NE.png"
+dest_files=["res://.godot/imported/Enemy-Melee-Idle-NE.png-985bfba23fbb84efa2f82ae64a7f72e3.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/Units/Assets/Shade/Enemy-Melee-Idle-NW.png b/Units/Assets/Shade/Enemy-Melee-Idle-NW.png
new file mode 100644
index 0000000..e265d3f
--- /dev/null
+++ b/Units/Assets/Shade/Enemy-Melee-Idle-NW.png
Binary files differ
diff --git a/Units/Assets/Shade/Enemy-Melee-Idle-NW.png.import b/Units/Assets/Shade/Enemy-Melee-Idle-NW.png.import
new file mode 100644
index 0000000..02ead5c
--- /dev/null
+++ b/Units/Assets/Shade/Enemy-Melee-Idle-NW.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dvsiir560077j"
+path="res://.godot/imported/Enemy-Melee-Idle-NW.png-b1db14a58302f32e36ea5c7fc5d3a4fe.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Units/Assets/Shade/Enemy-Melee-Idle-NW.png"
+dest_files=["res://.godot/imported/Enemy-Melee-Idle-NW.png-b1db14a58302f32e36ea5c7fc5d3a4fe.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/Units/Assets/Shade/Enemy-Melee-Idle-S.png b/Units/Assets/Shade/Enemy-Melee-Idle-S.png
new file mode 100644
index 0000000..746cad5
--- /dev/null
+++ b/Units/Assets/Shade/Enemy-Melee-Idle-S.png
Binary files differ
diff --git a/Units/Assets/Shade/Enemy-Melee-Idle-S.png.import b/Units/Assets/Shade/Enemy-Melee-Idle-S.png.import
new file mode 100644
index 0000000..69cbada
--- /dev/null
+++ b/Units/Assets/Shade/Enemy-Melee-Idle-S.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dejuex2d4y2je"
+path="res://.godot/imported/Enemy-Melee-Idle-S.png-30b1761d2c3b3cceeb0f091c513bab90.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Units/Assets/Shade/Enemy-Melee-Idle-S.png"
+dest_files=["res://.godot/imported/Enemy-Melee-Idle-S.png-30b1761d2c3b3cceeb0f091c513bab90.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/Units/Assets/Shade/Enemy-Melee-Idle-SE.png b/Units/Assets/Shade/Enemy-Melee-Idle-SE.png
new file mode 100644
index 0000000..ab18c0b
--- /dev/null
+++ b/Units/Assets/Shade/Enemy-Melee-Idle-SE.png
Binary files differ
diff --git a/Units/Assets/Shade/Enemy-Melee-Idle-SE.png.import b/Units/Assets/Shade/Enemy-Melee-Idle-SE.png.import
new file mode 100644
index 0000000..98fd281
--- /dev/null
+++ b/Units/Assets/Shade/Enemy-Melee-Idle-SE.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dxxakp8pq6fqx"
+path="res://.godot/imported/Enemy-Melee-Idle-SE.png-a05ae251d6f14ebdbb1ca44981d0c47d.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Units/Assets/Shade/Enemy-Melee-Idle-SE.png"
+dest_files=["res://.godot/imported/Enemy-Melee-Idle-SE.png-a05ae251d6f14ebdbb1ca44981d0c47d.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/Units/Assets/Shade/Enemy-Melee-Idle-SW.png b/Units/Assets/Shade/Enemy-Melee-Idle-SW.png
new file mode 100644
index 0000000..ad1b82a
--- /dev/null
+++ b/Units/Assets/Shade/Enemy-Melee-Idle-SW.png
Binary files differ
diff --git a/Units/Assets/Shade/Enemy-Melee-Idle-SW.png.import b/Units/Assets/Shade/Enemy-Melee-Idle-SW.png.import
new file mode 100644
index 0000000..aefa8df
--- /dev/null
+++ b/Units/Assets/Shade/Enemy-Melee-Idle-SW.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://7hiufnlskg3t"
+path="res://.godot/imported/Enemy-Melee-Idle-SW.png-51d36a381d0c69303f9a747fa06a9fc5.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Units/Assets/Shade/Enemy-Melee-Idle-SW.png"
+dest_files=["res://.godot/imported/Enemy-Melee-Idle-SW.png-51d36a381d0c69303f9a747fa06a9fc5.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/Units/Assets/Shade/Enemy-Melee-Idle-W.png b/Units/Assets/Shade/Enemy-Melee-Idle-W.png
new file mode 100644
index 0000000..3ce3eea
--- /dev/null
+++ b/Units/Assets/Shade/Enemy-Melee-Idle-W.png
Binary files differ
diff --git a/Units/Assets/Shade/Enemy-Melee-Idle-W.png.import b/Units/Assets/Shade/Enemy-Melee-Idle-W.png.import
new file mode 100644
index 0000000..257ba03
--- /dev/null
+++ b/Units/Assets/Shade/Enemy-Melee-Idle-W.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dx1do6vu28lnj"
+path="res://.godot/imported/Enemy-Melee-Idle-W.png-322659ce1b67d98691d4f29a8580febc.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Units/Assets/Shade/Enemy-Melee-Idle-W.png"
+dest_files=["res://.godot/imported/Enemy-Melee-Idle-W.png-322659ce1b67d98691d4f29a8580febc.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/Units/Assets/Shade/menu.png b/Units/Assets/Shade/menu.png
new file mode 100644
index 0000000..0cf17c2
--- /dev/null
+++ b/Units/Assets/Shade/menu.png
Binary files differ
diff --git a/Units/Assets/Shade/menu.png.import b/Units/Assets/Shade/menu.png.import
new file mode 100644
index 0000000..ad4b2b4
--- /dev/null
+++ b/Units/Assets/Shade/menu.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://clcae8ppob8je"
+path="res://.godot/imported/menu.png-741af31cecc36fbbb939bd11595e7f7a.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Units/Assets/Shade/menu.png"
+dest_files=["res://.godot/imported/menu.png-741af31cecc36fbbb939bd11595e7f7a.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/Units/Assets/Shade/sprite_frames.tres b/Units/Assets/Shade/sprite_frames.tres
new file mode 100644
index 0000000..baca412
--- /dev/null
+++ b/Units/Assets/Shade/sprite_frames.tres
@@ -0,0 +1,725 @@
+[gd_resource type="SpriteFrames" load_steps=105 format=3 uid="uid://dyc1wvnnmasya"]
+
+[ext_resource type="Texture2D" uid="uid://dejuex2d4y2je" path="res://Units/Assets/Shade/Enemy-Melee-Idle-S.png" id="1_edn0s"]
+[ext_resource type="Texture2D" uid="uid://7hiufnlskg3t" path="res://Units/Assets/Shade/Enemy-Melee-Idle-SW.png" id="2_onff2"]
+[ext_resource type="Texture2D" uid="uid://dxxakp8pq6fqx" path="res://Units/Assets/Shade/Enemy-Melee-Idle-SE.png" id="3_qmena"]
+[ext_resource type="Texture2D" uid="uid://dx1do6vu28lnj" path="res://Units/Assets/Shade/Enemy-Melee-Idle-W.png" id="8_dptcm"]
+[ext_resource type="Texture2D" uid="uid://1jvo6f5lbiis" path="res://Units/Assets/Shade/Enemy-Melee-Idle-E.png" id="9_cx2tp"]
+[ext_resource type="Texture2D" uid="uid://cleoem6lw6jl1" path="res://Units/Assets/Shade/Enemy-Melee-Idle-N.png" id="10_0bl4f"]
+[ext_resource type="Texture2D" uid="uid://2lqgllc7etxm" path="res://Units/Assets/Shade/Enemy-Melee-Idle-NE.png" id="11_rbnkv"]
+[ext_resource type="Texture2D" uid="uid://dvsiir560077j" path="res://Units/Assets/Shade/Enemy-Melee-Idle-NW.png" id="12_ljpje"]
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_5esc8"]
+atlas = ExtResource("1_edn0s")
+region = Rect2(0, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_yoyp4"]
+atlas = ExtResource("1_edn0s")
+region = Rect2(256, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_blta8"]
+atlas = ExtResource("1_edn0s")
+region = Rect2(512, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_vcj36"]
+atlas = ExtResource("1_edn0s")
+region = Rect2(768, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_h65e8"]
+atlas = ExtResource("1_edn0s")
+region = Rect2(1024, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_8npmv"]
+atlas = ExtResource("1_edn0s")
+region = Rect2(1280, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_1vk51"]
+atlas = ExtResource("1_edn0s")
+region = Rect2(1536, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_usysa"]
+atlas = ExtResource("1_edn0s")
+region = Rect2(1792, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_ubwsr"]
+atlas = ExtResource("1_edn0s")
+region = Rect2(2048, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_1dahe"]
+atlas = ExtResource("1_edn0s")
+region = Rect2(2304, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_48eed"]
+atlas = ExtResource("1_edn0s")
+region = Rect2(2560, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_pit0r"]
+atlas = ExtResource("1_edn0s")
+region = Rect2(2816, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_vl1tr"]
+atlas = ExtResource("2_onff2")
+region = Rect2(0, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_84g1q"]
+atlas = ExtResource("2_onff2")
+region = Rect2(256, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_kbwlq"]
+atlas = ExtResource("2_onff2")
+region = Rect2(512, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_gkyyk"]
+atlas = ExtResource("2_onff2")
+region = Rect2(768, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_vg24l"]
+atlas = ExtResource("2_onff2")
+region = Rect2(1024, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_lfi1p"]
+atlas = ExtResource("2_onff2")
+region = Rect2(1280, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_yurh6"]
+atlas = ExtResource("2_onff2")
+region = Rect2(1536, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_4lwb5"]
+atlas = ExtResource("2_onff2")
+region = Rect2(1792, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_74amb"]
+atlas = ExtResource("2_onff2")
+region = Rect2(2048, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_0bopi"]
+atlas = ExtResource("2_onff2")
+region = Rect2(2304, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_tnuyt"]
+atlas = ExtResource("2_onff2")
+region = Rect2(2560, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_gnix1"]
+atlas = ExtResource("2_onff2")
+region = Rect2(2816, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_ks53r"]
+atlas = ExtResource("3_qmena")
+region = Rect2(0, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_klfip"]
+atlas = ExtResource("3_qmena")
+region = Rect2(256, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_av1cl"]
+atlas = ExtResource("3_qmena")
+region = Rect2(512, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_biwq0"]
+atlas = ExtResource("3_qmena")
+region = Rect2(768, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_qnvds"]
+atlas = ExtResource("3_qmena")
+region = Rect2(1024, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_7crqs"]
+atlas = ExtResource("3_qmena")
+region = Rect2(1280, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_1jari"]
+atlas = ExtResource("3_qmena")
+region = Rect2(1536, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_f58qx"]
+atlas = ExtResource("3_qmena")
+region = Rect2(1792, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_hp7ry"]
+atlas = ExtResource("3_qmena")
+region = Rect2(2048, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_rba83"]
+atlas = ExtResource("3_qmena")
+region = Rect2(2304, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_mbtep"]
+atlas = ExtResource("3_qmena")
+region = Rect2(2560, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_tf3ai"]
+atlas = ExtResource("3_qmena")
+region = Rect2(2816, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_ydwj0"]
+atlas = ExtResource("8_dptcm")
+region = Rect2(0, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_is7ju"]
+atlas = ExtResource("8_dptcm")
+region = Rect2(256, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_hpqcv"]
+atlas = ExtResource("8_dptcm")
+region = Rect2(512, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_lnyh1"]
+atlas = ExtResource("8_dptcm")
+region = Rect2(768, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_gqtpw"]
+atlas = ExtResource("8_dptcm")
+region = Rect2(1024, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_f8dos"]
+atlas = ExtResource("8_dptcm")
+region = Rect2(1280, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_r8ofm"]
+atlas = ExtResource("8_dptcm")
+region = Rect2(1536, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_gbgwt"]
+atlas = ExtResource("8_dptcm")
+region = Rect2(1792, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_efxdp"]
+atlas = ExtResource("8_dptcm")
+region = Rect2(2048, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_a3fyq"]
+atlas = ExtResource("8_dptcm")
+region = Rect2(2304, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_0h0en"]
+atlas = ExtResource("8_dptcm")
+region = Rect2(2560, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_f5l4i"]
+atlas = ExtResource("8_dptcm")
+region = Rect2(2816, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_ajbox"]
+atlas = ExtResource("9_cx2tp")
+region = Rect2(0, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_ikvs2"]
+atlas = ExtResource("9_cx2tp")
+region = Rect2(256, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_xvfpc"]
+atlas = ExtResource("9_cx2tp")
+region = Rect2(512, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_li8aw"]
+atlas = ExtResource("9_cx2tp")
+region = Rect2(768, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_kk4tn"]
+atlas = ExtResource("9_cx2tp")
+region = Rect2(1024, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_7j5pv"]
+atlas = ExtResource("9_cx2tp")
+region = Rect2(1280, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_s1dha"]
+atlas = ExtResource("9_cx2tp")
+region = Rect2(1536, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_7byh7"]
+atlas = ExtResource("9_cx2tp")
+region = Rect2(1792, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_xrbrv"]
+atlas = ExtResource("9_cx2tp")
+region = Rect2(2048, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_ar3ts"]
+atlas = ExtResource("9_cx2tp")
+region = Rect2(2304, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_01n1m"]
+atlas = ExtResource("9_cx2tp")
+region = Rect2(2560, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_ja2e4"]
+atlas = ExtResource("9_cx2tp")
+region = Rect2(2816, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_gepce"]
+atlas = ExtResource("10_0bl4f")
+region = Rect2(0, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_08hk2"]
+atlas = ExtResource("10_0bl4f")
+region = Rect2(256, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_384qh"]
+atlas = ExtResource("10_0bl4f")
+region = Rect2(512, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_hygcf"]
+atlas = ExtResource("10_0bl4f")
+region = Rect2(768, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_rj18a"]
+atlas = ExtResource("10_0bl4f")
+region = Rect2(1024, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_x7sll"]
+atlas = ExtResource("10_0bl4f")
+region = Rect2(1280, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_btpnv"]
+atlas = ExtResource("10_0bl4f")
+region = Rect2(1536, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_ycmar"]
+atlas = ExtResource("10_0bl4f")
+region = Rect2(1792, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_18klp"]
+atlas = ExtResource("10_0bl4f")
+region = Rect2(2048, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_x5fbt"]
+atlas = ExtResource("10_0bl4f")
+region = Rect2(2304, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_j2wfi"]
+atlas = ExtResource("10_0bl4f")
+region = Rect2(2560, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_7q88x"]
+atlas = ExtResource("10_0bl4f")
+region = Rect2(2816, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_0xxr5"]
+atlas = ExtResource("11_rbnkv")
+region = Rect2(0, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_wmoto"]
+atlas = ExtResource("11_rbnkv")
+region = Rect2(256, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_jf8au"]
+atlas = ExtResource("11_rbnkv")
+region = Rect2(512, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_128y6"]
+atlas = ExtResource("11_rbnkv")
+region = Rect2(768, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_2ih0g"]
+atlas = ExtResource("11_rbnkv")
+region = Rect2(1024, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_gu0ew"]
+atlas = ExtResource("11_rbnkv")
+region = Rect2(1280, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_3dbyb"]
+atlas = ExtResource("11_rbnkv")
+region = Rect2(1536, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_r11h4"]
+atlas = ExtResource("11_rbnkv")
+region = Rect2(1792, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_ihkov"]
+atlas = ExtResource("11_rbnkv")
+region = Rect2(2048, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_or5s3"]
+atlas = ExtResource("11_rbnkv")
+region = Rect2(2304, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_p5i1k"]
+atlas = ExtResource("11_rbnkv")
+region = Rect2(2560, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_0ukrp"]
+atlas = ExtResource("11_rbnkv")
+region = Rect2(2816, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_hrnae"]
+atlas = ExtResource("12_ljpje")
+region = Rect2(0, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_nqdgj"]
+atlas = ExtResource("12_ljpje")
+region = Rect2(256, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_5twgy"]
+atlas = ExtResource("12_ljpje")
+region = Rect2(512, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_0rlhm"]
+atlas = ExtResource("12_ljpje")
+region = Rect2(768, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_e3jwu"]
+atlas = ExtResource("12_ljpje")
+region = Rect2(1024, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_frkwu"]
+atlas = ExtResource("12_ljpje")
+region = Rect2(1280, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_ajsh6"]
+atlas = ExtResource("12_ljpje")
+region = Rect2(1536, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_1culx"]
+atlas = ExtResource("12_ljpje")
+region = Rect2(1792, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_fabhi"]
+atlas = ExtResource("12_ljpje")
+region = Rect2(2048, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_ih80h"]
+atlas = ExtResource("12_ljpje")
+region = Rect2(2304, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_hg5kf"]
+atlas = ExtResource("12_ljpje")
+region = Rect2(2560, 0, 256, 256)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_vcq4i"]
+atlas = ExtResource("12_ljpje")
+region = Rect2(2816, 0, 256, 256)
+
+[resource]
+animations = [{
+"frames": [{
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_5esc8")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_yoyp4")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_blta8")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_vcj36")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_h65e8")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_8npmv")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_1vk51")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_usysa")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_ubwsr")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_1dahe")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_48eed")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_pit0r")
+}],
+"loop": true,
+"name": &"down",
+"speed": 5.0
+}, {
+"frames": [{
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_vl1tr")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_84g1q")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_kbwlq")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_gkyyk")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_vg24l")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_lfi1p")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_yurh6")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_4lwb5")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_74amb")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_0bopi")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_tnuyt")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_gnix1")
+}],
+"loop": true,
+"name": &"down_left",
+"speed": 5.0
+}, {
+"frames": [{
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_ks53r")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_klfip")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_av1cl")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_biwq0")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_qnvds")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_7crqs")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_1jari")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_f58qx")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_hp7ry")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_rba83")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_mbtep")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_tf3ai")
+}],
+"loop": true,
+"name": &"down_right",
+"speed": 5.0
+}, {
+"frames": [{
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_ydwj0")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_is7ju")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_hpqcv")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_lnyh1")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_gqtpw")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_f8dos")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_r8ofm")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_gbgwt")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_efxdp")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_a3fyq")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_0h0en")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_f5l4i")
+}],
+"loop": true,
+"name": &"left",
+"speed": 5.0
+}, {
+"frames": [{
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_ajbox")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_ikvs2")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_xvfpc")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_li8aw")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_kk4tn")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_7j5pv")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_s1dha")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_7byh7")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_xrbrv")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_ar3ts")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_01n1m")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_ja2e4")
+}],
+"loop": true,
+"name": &"right",
+"speed": 5.0
+}, {
+"frames": [{
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_gepce")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_08hk2")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_384qh")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_hygcf")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_rj18a")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_x7sll")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_btpnv")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_ycmar")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_18klp")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_x5fbt")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_j2wfi")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_7q88x")
+}],
+"loop": true,
+"name": &"up",
+"speed": 5.0
+}, {
+"frames": [{
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_0xxr5")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_wmoto")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_jf8au")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_128y6")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_2ih0g")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_gu0ew")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_3dbyb")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_r11h4")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_ihkov")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_or5s3")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_p5i1k")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_0ukrp")
+}],
+"loop": true,
+"name": &"up_left",
+"speed": 5.0
+}, {
+"frames": [{
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_hrnae")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_nqdgj")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_5twgy")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_0rlhm")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_e3jwu")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_frkwu")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_ajsh6")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_1culx")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_fabhi")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_ih80h")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_hg5kf")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_vcq4i")
+}],
+"loop": true,
+"name": &"up_right",
+"speed": 5.0
+}]
diff --git a/Units/Unit.gd b/Units/Unit.gd
index b575e01..d42e65b 100644
--- a/Units/Unit.gd
+++ b/Units/Unit.gd
@@ -56,9 +56,11 @@ var roaming_mode = false
# rpc owner id
@export var owner_id = 1
-@export var base_speed: float = 100
-@export var speed: float = base_speed
-@export var hp = 50 :
+@export var unit_resource: UnitResource
+
+var base_speed: float = 100
+var speed: float = base_speed
+var hp = 50 :
set = set_hp
@onready var line: Line2D = $UnitPathLine.duplicate()
@@ -75,6 +77,12 @@ func _init():
func _ready():
+ # setup with data from UnitResource
+ sprite.sprite_frames = unit_resource.sprite_frames
+ sprite.scale = unit_resource.sprite_scale
+ base_speed = unit_resource.speed
+ hp = unit_resource.hp
+
base_speed *= scale.x
speed = base_speed
@@ -102,7 +110,8 @@ func _ready():
%HPBar.init(hp)
set_hp(hp)
- $SelectionArea/CollisionShape2D.shape.size = $Sprite2D.texture.get_size() * $Sprite2D.scale
+ var sprite_texture: Texture2D = sprite.sprite_frames.get_frame_texture("down", 0)
+ $SelectionArea/CollisionShape2D.shape.size = sprite_texture.get_size()
func _physics_process(delta):
@@ -140,7 +149,7 @@ func _physics_process(delta):
func _draw():
if is_selected:
draw_circle(
- $Sprite2D.position,
+ sprite.position,
Client.current_stage.map.tile_set.tile_size.x * 0.75,
Color(1, 1, 1, 0.75),
false,
@@ -149,7 +158,7 @@ func _draw():
modulate = Color(1.5, 1.5, 1.5)
elif is_hovered:
draw_circle(
- $Sprite2D.position,
+ sprite.position,
Client.current_stage.map.tile_set.tile_size.x * 0.75,
Color(1, 1, 1, 0.5),
false,
@@ -189,28 +198,26 @@ func walk_along_path(path: PackedVector2Array, index: int, delta: float):
# todo: because the velocity expects ??to each the point??, so it stutters
if velocity.x > 0 and velocity.y == 0:
- $AnimatedSprite2D.play("right")
+ sprite.play("right")
elif velocity.x < 0 and velocity.y == 0:
- $AnimatedSprite2D.play("left")
+ sprite.play("left")
elif velocity.x == 0 and velocity.y > 0:
- $AnimatedSprite2D.play("down")
+ sprite.play("down")
elif velocity.x == 0 and velocity.y < 0:
- $AnimatedSprite2D.play("up")
+ sprite.play("up")
elif velocity.x > 0 and velocity.y > 0:
- $AnimatedSprite2D.play("down_right")
+ sprite.play("down_right")
elif velocity.x > 0 and velocity.y < 0:
- $AnimatedSprite2D.play("up_right")
+ sprite.play("up_right")
elif velocity.x < 0 and velocity.y > 0:
- $AnimatedSprite2D.play("down_left")
+ sprite.play("down_left")
elif velocity.x < 0 and velocity.y < 0:
- $AnimatedSprite2D.play("up_left")
+ sprite.play("up_left")
move_and_slide()
func set_hp(value):
- # TODO: rpc on damage
-
hp = value
if get_node("%HPBar"):
@@ -232,7 +239,7 @@ func get_effects():
func add_effect(effect: Effect):
var node = get_node_or_null(NodePath(effect.name)) as Effect
- if node:
+ if node and not node.is_stackable:
node.set_duration(node.duration)
else:
add_child(effect)
@@ -317,12 +324,10 @@ class NetworkData extends Resource:
var base_speed: float
var speed: float
- var texture_path: String
var sprite_frames_path: String
- var sprite_modulate: Color
- var sprite_self_modulate: Color
- var sprite_animation: StringName
- var sprite_frame: int
+
+ var unit_resource: UnitResource
+
func to_network_data() -> NetworkData:
var data = NetworkData.new()
@@ -339,27 +344,15 @@ func to_network_data() -> NetworkData:
data.base_speed = base_speed
data.speed = speed
- #data.texture_path = sprite.texture.resource_path
data.sprite_frames_path = sprite.sprite_frames.resource_path
- #data.sprite_modulate = sprite.modulate
- #data.sprite_self_modulate = sprite.self_modulate
- #data.sprite_animation = sprite.animation
- #data.sprite_frame = sprite.frame
+
+ data.unit_resource = unit_resource
return data
func update_with_network_data(_data: NetworkData):
pass
- #position = data.position
-
- #hp = data.hp
-
- #speed = data.speed
-
- #sprite.self_modulate = data.sprite_self_modulate
- #data.sprite_animation = sprite.animation
- #data.sprite_frame = sprite.frame
static func from_network_data(data: NetworkData) -> Unit:
@@ -370,7 +363,6 @@ static func from_network_data(data: NetworkData) -> Unit:
unit.global_position = data.position
- #unit.target = unit.get_tree().current_scene.get_node(data.target_path)
unit.target_path = data.target_path
unit.hp = data.hp
@@ -378,8 +370,8 @@ static func from_network_data(data: NetworkData) -> Unit:
unit.base_speed = data.base_speed
unit.speed = data.speed
- #unit.sprite.texture = load(data.texture_path)
unit.sprite.sprite_frames = load(data.sprite_frames_path)
- #unit.sprite.modulate = data.sprite_modulate
+
+ unit.unit_resource = data.unit_resource
return unit
diff --git a/Units/Unit.gd.uid b/Units/Unit.gd.uid
new file mode 100644
index 0000000..05788ec
--- /dev/null
+++ b/Units/Unit.gd.uid
@@ -0,0 +1 @@
+uid://b4i4uif1t8b5a
diff --git a/Units/Unit.tscn b/Units/Unit.tscn
index 39cfbe0..3c9d697 100644
--- a/Units/Unit.tscn
+++ b/Units/Unit.tscn
@@ -1,7 +1,7 @@
[gd_scene load_steps=10 format=3 uid="uid://cslaufgh6ber3"]
-[ext_resource type="Script" path="res://Units/Unit.gd" id="1_bbcew"]
-[ext_resource type="Texture2D" uid="uid://dsy7k2v5fhh6v" path="res://Units/Assets/angesnow-front.png" id="2_rxqq1"]
+[ext_resource type="Script" uid="uid://b4i4uif1t8b5a" path="res://Units/Unit.gd" id="1_bbcew"]
+[ext_resource type="Resource" uid="uid://reijb7spqqwc" path="res://Stages/Wintermaul/Units/pekora.tres" id="2_pfs06"]
[ext_resource type="SpriteFrames" uid="uid://c6o6hpltnsds0" path="res://Units/Assets/Pekora/sprite_frames.tres" id="3_84r8c"]
[ext_resource type="PackedScene" uid="uid://bjcrf4o4a80iv" path="res://UI/HPBar.tscn" id="3_e777u"]
[ext_resource type="PackedScene" uid="uid://cifs0kcy5r0x2" path="res://Units/UnitPathLine.tscn" id="4_r0qfv"]
@@ -39,14 +39,7 @@ properties/5/replication_mode = 2
collision_mask = 4
input_pickable = true
script = ExtResource("1_bbcew")
-
-[node name="Sprite2D" type="Sprite2D" parent="."]
-visible = false
-texture_filter = 1
-position = Vector2(0, -4)
-scale = Vector2(0.5, 0.5)
-texture = ExtResource("2_rxqq1")
-region_rect = Rect2(480, 880, 96, 64)
+unit_resource = ExtResource("2_pfs06")
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
texture_filter = 1
@@ -81,7 +74,6 @@ text = "1000"
horizontal_alignment = 1
[node name="SelectionArea" type="Area2D" parent="."]
-visible = false
collision_layer = 32
collision_mask = 0
diff --git a/Units/UnitPathLine.tscn b/Units/UnitPathLine.tscn
index c0ac3ab..5b83fb7 100644
--- a/Units/UnitPathLine.tscn
+++ b/Units/UnitPathLine.tscn
@@ -1,6 +1,6 @@
[gd_scene load_steps=3 format=3 uid="uid://cifs0kcy5r0x2"]
-[ext_resource type="Script" path="res://Units/unit_path_line.gd" id="1_qbhs7"]
+[ext_resource type="Script" uid="uid://c21d7bt4vjxje" path="res://Units/unit_path_line.gd" id="1_qbhs7"]
[sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_wfkop"]
properties/0/path = NodePath(".:points")
diff --git a/Units/unit_path_line.gd.uid b/Units/unit_path_line.gd.uid
new file mode 100644
index 0000000..90c38ec
--- /dev/null
+++ b/Units/unit_path_line.gd.uid
@@ -0,0 +1 @@
+uid://c21d7bt4vjxje
diff --git a/Units/unit_resource.gd b/Units/unit_resource.gd
new file mode 100644
index 0000000..de18c57
--- /dev/null
+++ b/Units/unit_resource.gd
@@ -0,0 +1,8 @@
+class_name UnitResource
+extends Resource
+
+
+@export var sprite_frames: SpriteFrames
+@export var sprite_scale := Vector2(1.0, 1.0)
+@export var hp: int
+@export var speed: float
diff --git a/Units/unit_resource.gd.uid b/Units/unit_resource.gd.uid
new file mode 100644
index 0000000..13d6096
--- /dev/null
+++ b/Units/unit_resource.gd.uid
@@ -0,0 +1 @@
+uid://biidiqmmvbojn