summaryrefslogtreecommitdiff
path: root/Units
diff options
context:
space:
mode:
Diffstat (limited to 'Units')
-rw-r--r--Units/Assets/basher-01.pngbin0 -> 179 bytes
-rw-r--r--Units/Assets/basher-01.png.import34
-rw-r--r--Units/Assets/basher.pngbin0 -> 1416 bytes
-rw-r--r--Units/Assets/basher.png.import34
-rw-r--r--Units/Assets/builder-01.pngbin0 -> 174 bytes
-rw-r--r--Units/Assets/builder-01.png.import34
-rw-r--r--Units/Assets/builder.pngbin0 -> 1032 bytes
-rw-r--r--Units/Assets/builder.png.import34
-rw-r--r--Units/Assets/climber-01.pngbin0 -> 179 bytes
-rw-r--r--Units/Assets/climber-01.png.import34
-rw-r--r--Units/Assets/climber-01.png~bin0 -> 172 bytes
-rw-r--r--Units/Assets/climber-02.pngbin0 -> 177 bytes
-rw-r--r--Units/Assets/climber-02.png.import34
-rw-r--r--Units/Assets/climber-03.pngbin0 -> 175 bytes
-rw-r--r--Units/Assets/climber-03.png.import34
-rw-r--r--Units/Assets/climber-04.pngbin0 -> 174 bytes
-rw-r--r--Units/Assets/climber-04.png.import34
-rw-r--r--Units/Assets/climber-05.pngbin0 -> 174 bytes
-rw-r--r--Units/Assets/climber-05.png.import34
-rw-r--r--Units/Assets/climber-05.png~bin0 -> 178 bytes
-rw-r--r--Units/Assets/climber-06.pngbin0 -> 179 bytes
-rw-r--r--Units/Assets/climber-06.png.import34
-rw-r--r--Units/Assets/climber-07.pngbin0 -> 187 bytes
-rw-r--r--Units/Assets/climber-07.png.import34
-rw-r--r--Units/Assets/climber-08.pngbin0 -> 183 bytes
-rw-r--r--Units/Assets/climber-08.png.import34
-rw-r--r--Units/Assets/climber.pngbin0 -> 461 bytes
-rw-r--r--Units/Assets/climber.png.import34
-rw-r--r--Units/Assets/climber.png~bin0 -> 472 bytes
-rw-r--r--Units/Basher.tscn147
-rw-r--r--Units/Blocker.tscn3
-rw-r--r--Units/Climber.tscn59
-rw-r--r--Units/Default.tscn10
-rw-r--r--Units/basher.gd53
-rw-r--r--Units/blocker.gd11
-rw-r--r--Units/climber.gd57
-rw-r--r--Units/default.gd4
-rw-r--r--Units/units_sprite_frames.tres259
38 files changed, 1042 insertions, 3 deletions
diff --git a/Units/Assets/basher-01.png b/Units/Assets/basher-01.png
new file mode 100644
index 0000000..09730bd
--- /dev/null
+++ b/Units/Assets/basher-01.png
Binary files differ
diff --git a/Units/Assets/basher-01.png.import b/Units/Assets/basher-01.png.import
new file mode 100644
index 0000000..907f82a
--- /dev/null
+++ b/Units/Assets/basher-01.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cpfmng1mnkfaj"
+path="res://.godot/imported/basher-01.png-a869cfce232271e0018dc1fb3524817b.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Units/Assets/basher-01.png"
+dest_files=["res://.godot/imported/basher-01.png-a869cfce232271e0018dc1fb3524817b.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/basher.png b/Units/Assets/basher.png
new file mode 100644
index 0000000..45e1d38
--- /dev/null
+++ b/Units/Assets/basher.png
Binary files differ
diff --git a/Units/Assets/basher.png.import b/Units/Assets/basher.png.import
new file mode 100644
index 0000000..29b3c50
--- /dev/null
+++ b/Units/Assets/basher.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dt86q45n4goeq"
+path="res://.godot/imported/basher.png-f175d4895a118ec1eaeda902de91a132.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Units/Assets/basher.png"
+dest_files=["res://.godot/imported/basher.png-f175d4895a118ec1eaeda902de91a132.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/builder-01.png b/Units/Assets/builder-01.png
new file mode 100644
index 0000000..3d35067
--- /dev/null
+++ b/Units/Assets/builder-01.png
Binary files differ
diff --git a/Units/Assets/builder-01.png.import b/Units/Assets/builder-01.png.import
new file mode 100644
index 0000000..4ffccbe
--- /dev/null
+++ b/Units/Assets/builder-01.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://baruu45oc0t8i"
+path="res://.godot/imported/builder-01.png-06086b2b37b7b5413709a396be8fa47f.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Units/Assets/builder-01.png"
+dest_files=["res://.godot/imported/builder-01.png-06086b2b37b7b5413709a396be8fa47f.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/builder.png b/Units/Assets/builder.png
new file mode 100644
index 0000000..2947659
--- /dev/null
+++ b/Units/Assets/builder.png
Binary files differ
diff --git a/Units/Assets/builder.png.import b/Units/Assets/builder.png.import
new file mode 100644
index 0000000..0f3cd28
--- /dev/null
+++ b/Units/Assets/builder.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dwkcpts1p2w1p"
+path="res://.godot/imported/builder.png-33da37fb87312ec7aba5526dcecdaca3.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Units/Assets/builder.png"
+dest_files=["res://.godot/imported/builder.png-33da37fb87312ec7aba5526dcecdaca3.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/climber-01.png b/Units/Assets/climber-01.png
new file mode 100644
index 0000000..bb18d82
--- /dev/null
+++ b/Units/Assets/climber-01.png
Binary files differ
diff --git a/Units/Assets/climber-01.png.import b/Units/Assets/climber-01.png.import
new file mode 100644
index 0000000..8ab5018
--- /dev/null
+++ b/Units/Assets/climber-01.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://rdnsrxukh6ba"
+path="res://.godot/imported/climber-01.png-0a6fa448acea36ebb909dccfea4c6f22.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Units/Assets/climber-01.png"
+dest_files=["res://.godot/imported/climber-01.png-0a6fa448acea36ebb909dccfea4c6f22.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/climber-01.png~ b/Units/Assets/climber-01.png~
new file mode 100644
index 0000000..49c79b5
--- /dev/null
+++ b/Units/Assets/climber-01.png~
Binary files differ
diff --git a/Units/Assets/climber-02.png b/Units/Assets/climber-02.png
new file mode 100644
index 0000000..c0fc062
--- /dev/null
+++ b/Units/Assets/climber-02.png
Binary files differ
diff --git a/Units/Assets/climber-02.png.import b/Units/Assets/climber-02.png.import
new file mode 100644
index 0000000..4a490e0
--- /dev/null
+++ b/Units/Assets/climber-02.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b1cq83xbsyilh"
+path="res://.godot/imported/climber-02.png-ba7902293593e75ba693524305f499d5.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Units/Assets/climber-02.png"
+dest_files=["res://.godot/imported/climber-02.png-ba7902293593e75ba693524305f499d5.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/climber-03.png b/Units/Assets/climber-03.png
new file mode 100644
index 0000000..6d51021
--- /dev/null
+++ b/Units/Assets/climber-03.png
Binary files differ
diff --git a/Units/Assets/climber-03.png.import b/Units/Assets/climber-03.png.import
new file mode 100644
index 0000000..2228d67
--- /dev/null
+++ b/Units/Assets/climber-03.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bh3hfiotx03kf"
+path="res://.godot/imported/climber-03.png-8f7754a59f672aee33f179cda3319454.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Units/Assets/climber-03.png"
+dest_files=["res://.godot/imported/climber-03.png-8f7754a59f672aee33f179cda3319454.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/climber-04.png b/Units/Assets/climber-04.png
new file mode 100644
index 0000000..58edaaf
--- /dev/null
+++ b/Units/Assets/climber-04.png
Binary files differ
diff --git a/Units/Assets/climber-04.png.import b/Units/Assets/climber-04.png.import
new file mode 100644
index 0000000..4857adb
--- /dev/null
+++ b/Units/Assets/climber-04.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dovck0665736o"
+path="res://.godot/imported/climber-04.png-c5156773b4f40e8f7b38e07ac569fded.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Units/Assets/climber-04.png"
+dest_files=["res://.godot/imported/climber-04.png-c5156773b4f40e8f7b38e07ac569fded.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/climber-05.png b/Units/Assets/climber-05.png
new file mode 100644
index 0000000..f60737f
--- /dev/null
+++ b/Units/Assets/climber-05.png
Binary files differ
diff --git a/Units/Assets/climber-05.png.import b/Units/Assets/climber-05.png.import
new file mode 100644
index 0000000..29d75cf
--- /dev/null
+++ b/Units/Assets/climber-05.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b7dmkt62ov8q8"
+path="res://.godot/imported/climber-05.png-87fa52958fc648771a893152f934d5d2.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Units/Assets/climber-05.png"
+dest_files=["res://.godot/imported/climber-05.png-87fa52958fc648771a893152f934d5d2.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/climber-05.png~ b/Units/Assets/climber-05.png~
new file mode 100644
index 0000000..cbaeb58
--- /dev/null
+++ b/Units/Assets/climber-05.png~
Binary files differ
diff --git a/Units/Assets/climber-06.png b/Units/Assets/climber-06.png
new file mode 100644
index 0000000..caad62e
--- /dev/null
+++ b/Units/Assets/climber-06.png
Binary files differ
diff --git a/Units/Assets/climber-06.png.import b/Units/Assets/climber-06.png.import
new file mode 100644
index 0000000..693c019
--- /dev/null
+++ b/Units/Assets/climber-06.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dmkohk2v4hnl7"
+path="res://.godot/imported/climber-06.png-c99da8c17be4e29e601d53a1ba7e0dd1.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Units/Assets/climber-06.png"
+dest_files=["res://.godot/imported/climber-06.png-c99da8c17be4e29e601d53a1ba7e0dd1.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/climber-07.png b/Units/Assets/climber-07.png
new file mode 100644
index 0000000..f374916
--- /dev/null
+++ b/Units/Assets/climber-07.png
Binary files differ
diff --git a/Units/Assets/climber-07.png.import b/Units/Assets/climber-07.png.import
new file mode 100644
index 0000000..9dfcc97
--- /dev/null
+++ b/Units/Assets/climber-07.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://fdhhl72ba6pi"
+path="res://.godot/imported/climber-07.png-1bd25343d7223e54da35d994f34366c9.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Units/Assets/climber-07.png"
+dest_files=["res://.godot/imported/climber-07.png-1bd25343d7223e54da35d994f34366c9.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/climber-08.png b/Units/Assets/climber-08.png
new file mode 100644
index 0000000..194f2db
--- /dev/null
+++ b/Units/Assets/climber-08.png
Binary files differ
diff --git a/Units/Assets/climber-08.png.import b/Units/Assets/climber-08.png.import
new file mode 100644
index 0000000..b25cfc8
--- /dev/null
+++ b/Units/Assets/climber-08.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dgqy3df8b5hoy"
+path="res://.godot/imported/climber-08.png-ec668b802f4417afd80903174a32682e.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Units/Assets/climber-08.png"
+dest_files=["res://.godot/imported/climber-08.png-ec668b802f4417afd80903174a32682e.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/climber.png b/Units/Assets/climber.png
new file mode 100644
index 0000000..bf39026
--- /dev/null
+++ b/Units/Assets/climber.png
Binary files differ
diff --git a/Units/Assets/climber.png.import b/Units/Assets/climber.png.import
new file mode 100644
index 0000000..55f9a88
--- /dev/null
+++ b/Units/Assets/climber.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://clkex8nslghsc"
+path="res://.godot/imported/climber.png-cbf3ea2f84bd4747e19c6bc71bdec63f.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Units/Assets/climber.png"
+dest_files=["res://.godot/imported/climber.png-cbf3ea2f84bd4747e19c6bc71bdec63f.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/climber.png~ b/Units/Assets/climber.png~
new file mode 100644
index 0000000..9958ad3
--- /dev/null
+++ b/Units/Assets/climber.png~
Binary files differ
diff --git a/Units/Basher.tscn b/Units/Basher.tscn
new file mode 100644
index 0000000..ea61769
--- /dev/null
+++ b/Units/Basher.tscn
@@ -0,0 +1,147 @@
+[gd_scene load_steps=9 format=3 uid="uid://dwbiexhpxetyt"]
+
+[ext_resource type="Script" path="res://Units/basher.gd" id="1_c0y3p"]
+[ext_resource type="PackedScene" uid="uid://bj8j72hwnt6mo" path="res://animated_sprite.tscn" id="2_no33r"]
+[ext_resource type="SpriteFrames" uid="uid://diwyagjvsgq0i" path="res://Units/units_sprite_frames.tres" id="3_1bdrv"]
+[ext_resource type="PackedScene" uid="uid://bi2ndv451jpww" path="res://animation_player.tscn" id="4_gdy6u"]
+
+[sub_resource type="RectangleShape2D" id="RectangleShape2D_j6kqi"]
+size = Vector2(3, 9)
+
+[sub_resource type="Animation" id="Animation_glqtg"]
+resource_name = "mine"
+length = 2.8
+loop_mode = 1
+step = 0.1
+tracks/0/type = "value"
+tracks/0/imported = false
+tracks/0/enabled = true
+tracks/0/path = NodePath("AnimatedSprite:animation")
+tracks/0/interp = 1
+tracks/0/loop_wrap = true
+tracks/0/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 1,
+"values": [&"bash"]
+}
+tracks/1/type = "value"
+tracks/1/imported = false
+tracks/1/enabled = true
+tracks/1/path = NodePath("AnimatedSprite:frame")
+tracks/1/interp = 1
+tracks/1/loop_wrap = true
+tracks/1/keys = {
+"times": PackedFloat32Array(0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7),
+"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
+"update": 1,
+"values": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27]
+}
+tracks/2/type = "value"
+tracks/2/imported = false
+tracks/2/enabled = true
+tracks/2/path = NodePath("Polygon:position")
+tracks/2/interp = 1
+tracks/2/loop_wrap = true
+tracks/2/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 1,
+"values": [Vector2(-1, 0)]
+}
+tracks/3/type = "value"
+tracks/3/imported = false
+tracks/3/enabled = true
+tracks/3/path = NodePath("Polygon:rotation")
+tracks/3/interp = 1
+tracks/3/loop_wrap = true
+tracks/3/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 1,
+"values": [0.785398]
+}
+tracks/4/type = "method"
+tracks/4/imported = false
+tracks/4/enabled = true
+tracks/4/path = NodePath(".")
+tracks/4/interp = 1
+tracks/4/loop_wrap = true
+tracks/4/keys = {
+"times": PackedFloat32Array(0, 0.5, 1, 1.5, 2, 2.5),
+"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1),
+"values": [{
+"args": [],
+"method": &"mine"
+}, {
+"args": [],
+"method": &"mine"
+}, {
+"args": [],
+"method": &"mine"
+}, {
+"args": [],
+"method": &"mine"
+}, {
+"args": [],
+"method": &"mine"
+}, {
+"args": [],
+"method": &"mine"
+}]
+}
+
+[sub_resource type="Animation" id="Animation_ei1wp"]
+length = 0.001
+tracks/0/type = "value"
+tracks/0/imported = false
+tracks/0/enabled = true
+tracks/0/path = NodePath("AnimatedSprite:frame")
+tracks/0/interp = 1
+tracks/0/loop_wrap = true
+tracks/0/keys = {
+"times": PackedFloat32Array(0),
+"transitions": PackedFloat32Array(1),
+"update": 1,
+"values": [17]
+}
+
+[sub_resource type="AnimationLibrary" id="AnimationLibrary_1jt7m"]
+_data = {
+"RESET": SubResource("Animation_ei1wp"),
+"mine": SubResource("Animation_glqtg")
+}
+
+[node name="Basher" type="CharacterBody2D"]
+collision_mask = 256
+safe_margin = 0.2
+script = ExtResource("1_c0y3p")
+
+[node name="AnimatedSprite" parent="." instance=ExtResource("2_no33r")]
+texture_filter = 1
+sprite_frames = ExtResource("3_1bdrv")
+animation = &"bash"
+frame = 17
+centered = false
+offset = Vector2(-8, -4)
+
+[node name="NavigationShape" type="CollisionShape2D" parent="."]
+position = Vector2(-1.5, 0.5)
+shape = SubResource("RectangleShape2D_j6kqi")
+
+[node name="RayForward" type="RayCast2D" parent="."]
+position = Vector2(0, 2)
+target_position = Vector2(7, 0)
+collision_mask = 256
+
+[node name="AnimationPlayer" parent="." instance=ExtResource("4_gdy6u")]
+deterministic = true
+libraries = {
+"": SubResource("AnimationLibrary_1jt7m")
+}
+
+[node name="Polygon" type="Polygon2D" parent="."]
+position = Vector2(-1, 0)
+rotation = 0.785398
+color = Color(1, 1, 1, 0)
+polygon = PackedVector2Array(-2.82843, -7.07107, 0, -4.24264, 2.82843, -1.41421, 5.65685, 1.41421, 8.48528, -1.41421, 4.94975, -4.94975, -2.38419e-07, -9.8995)
diff --git a/Units/Blocker.tscn b/Units/Blocker.tscn
index 4f3a47e..9706c7c 100644
--- a/Units/Blocker.tscn
+++ b/Units/Blocker.tscn
@@ -10,6 +10,7 @@ size = Vector2(8, 10)
[node name="Blocker" type="CharacterBody2D"]
collision_layer = 3
collision_mask = 256
+input_pickable = true
script = ExtResource("1_2f26o")
[node name="AnimatedSprite" parent="." instance=ExtResource("2_0lvg2")]
@@ -21,3 +22,5 @@ offset = Vector2(-4, -5)
[node name="NavigationShape" type="CollisionShape2D" parent="."]
shape = SubResource("RectangleShape2D_j6kqi")
+
+[connection signal="input_event" from="." to="." method="_on_input_event"]
diff --git a/Units/Climber.tscn b/Units/Climber.tscn
new file mode 100644
index 0000000..c33c517
--- /dev/null
+++ b/Units/Climber.tscn
@@ -0,0 +1,59 @@
+[gd_scene load_steps=5 format=3 uid="uid://vdtrjkwk22jm"]
+
+[ext_resource type="Script" path="res://Units/climber.gd" id="1_2em2d"]
+[ext_resource type="PackedScene" uid="uid://bj8j72hwnt6mo" path="res://animated_sprite.tscn" id="2_qdfwn"]
+[ext_resource type="SpriteFrames" uid="uid://diwyagjvsgq0i" path="res://Units/units_sprite_frames.tres" id="3_j38i2"]
+
+[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_p461f"]
+radius = 2.0
+height = 9.0
+
+[node name="Climber" type="CharacterBody2D"]
+collision_mask = 258
+input_pickable = true
+safe_margin = 0.01
+script = ExtResource("1_2em2d")
+
+[node name="AnimatedSprite" parent="." instance=ExtResource("2_qdfwn")]
+texture_filter = 1
+sprite_frames = ExtResource("3_j38i2")
+animation = &"climb"
+frame_progress = 0.261887
+centered = false
+offset = Vector2(-3, -5)
+
+[node name="NavigationShape" type="CollisionShape2D" parent="."]
+position = Vector2(0, 0.5)
+shape = SubResource("CapsuleShape2D_p461f")
+
+[node name="RayWallLeft" type="RayCast2D" parent="."]
+position = Vector2(0, 3)
+target_position = Vector2(-3, 0)
+collision_mask = 258
+
+[node name="RayHeadLeft" type="RayCast2D" parent="."]
+position = Vector2(0, -3)
+target_position = Vector2(-3, 0)
+collision_mask = 258
+
+[node name="RaySlopeLeft" type="RayCast2D" parent="."]
+position = Vector2(0, 5)
+target_position = Vector2(-3, 0)
+collision_mask = 258
+
+[node name="RayWallRight" type="RayCast2D" parent="."]
+position = Vector2(0, 3)
+target_position = Vector2(4, 0)
+collision_mask = 258
+
+[node name="RayHeadRight" type="RayCast2D" parent="."]
+position = Vector2(0, -3)
+target_position = Vector2(4, 0)
+collision_mask = 258
+
+[node name="RaySlopeRight" type="RayCast2D" parent="."]
+position = Vector2(0, 5)
+target_position = Vector2(4, 0)
+collision_mask = 258
+
+[connection signal="input_event" from="." to="." method="_on_input_event"]
diff --git a/Units/Default.tscn b/Units/Default.tscn
index 38bcc9c..38f7aa4 100644
--- a/Units/Default.tscn
+++ b/Units/Default.tscn
@@ -30,6 +30,11 @@ position = Vector2(0, 3)
target_position = Vector2(-3, 0)
collision_mask = 258
+[node name="RayHeadLeft" type="RayCast2D" parent="."]
+position = Vector2(0, -3)
+target_position = Vector2(-3, 0)
+collision_mask = 258
+
[node name="RaySlopeLeft" type="RayCast2D" parent="."]
position = Vector2(0, 5)
target_position = Vector2(-3, 0)
@@ -40,6 +45,11 @@ position = Vector2(0, 3)
target_position = Vector2(4, 0)
collision_mask = 258
+[node name="RayHeadRight" type="RayCast2D" parent="."]
+position = Vector2(0, -3)
+target_position = Vector2(4, 0)
+collision_mask = 258
+
[node name="RaySlopeRight" type="RayCast2D" parent="."]
position = Vector2(0, 5)
target_position = Vector2(4, 0)
diff --git a/Units/basher.gd b/Units/basher.gd
new file mode 100644
index 0000000..7f92297
--- /dev/null
+++ b/Units/basher.gd
@@ -0,0 +1,53 @@
+extends Unit
+
+
+var direction := Vector2.RIGHT
+
+var last_position: Vector2
+
+
+func _ready():
+ $AnimationPlayer.play("mine")
+ scale = Vector2(direction.x, 1)
+
+ $RayForward.force_raycast_update()
+
+
+func _physics_process(delta: float) -> void:
+ if not is_on_floor():
+ velocity += get_gravity() * delta * Game.speed
+
+ velocity.x = direction.x * 100 * delta * Game.speed
+
+ if not $RayForward.is_colliding():
+ # TODO: erase step gerade aus
+ var default = load("res://Units/Default.tscn").instantiate()
+ default.global_position = global_position
+ default.direction = direction
+ get_tree().current_scene.add_child(default)
+ queue_free()
+
+ last_position = global_position
+ move_and_slide()
+
+ if last_position == global_position: # jumping over fraction pixel collisions, left over after mining
+ position.y -= 10 * delta * Game.speed
+ position.x += 10 * direction.x * delta * Game.speed
+
+
+func mine() -> void:
+ var points = []
+ for point: Vector2 in $Polygon.polygon:
+ points.append(
+ global_position +
+ ($Polygon.position * Vector2(direction.x, 1)) +
+ (point.rotated($Polygon.rotation) * Vector2(direction.x, 1))
+ )
+
+ (func():
+ Game.erase_map(
+ PackedVector2Array(points),
+ get_tree().current_scene.get_node("GroundCollision"),
+ get_tree().current_scene.get_node("Map")
+ )
+ ).call_deferred()
diff --git a/Units/blocker.gd b/Units/blocker.gd
index 2702ae7..e9c09e0 100644
--- a/Units/blocker.gd
+++ b/Units/blocker.gd
@@ -3,3 +3,14 @@ extends Unit
func _ready():
$AnimatedSprite.play("block")
+
+
+func _on_input_event(_viewport: Node, event: InputEvent, _shape_idx: int) -> void:
+ if event.is_action_pressed("select") and Game.selected_unit_type:
+ get_viewport().set_input_as_handled()
+
+ var unit = Game.selected_unit_type.instantiate()
+ unit.position = global_position
+
+ get_tree().current_scene.add_child(unit)
+ queue_free()
diff --git a/Units/climber.gd b/Units/climber.gd
new file mode 100644
index 0000000..5c1f0c2
--- /dev/null
+++ b/Units/climber.gd
@@ -0,0 +1,57 @@
+extends Unit
+
+
+var speed := 1000.0
+var direction := Vector2.RIGHT
+
+var was_climbing := false
+var post_climb_position_fix := 3
+
+
+func _physics_process(delta: float) -> void:
+ if $RayWallLeft.is_colliding() or $RayWallRight.is_colliding():
+ process_climbing(delta)
+ elif was_climbing:
+ var default = load("res://Units/Default.tscn").instantiate()
+ default.global_position = global_position + (post_climb_position_fix * direction)
+ default.direction = direction
+ get_tree().current_scene.add_child(default)
+ queue_free()
+ else:
+ process_walking(delta)
+
+ move_and_slide()
+
+
+func process_walking(delta: float) -> void:
+ if not is_on_floor():
+ velocity.x = 0
+ velocity += get_gravity() * delta * Game.speed
+ if velocity.y > (get_gravity().y / 10):
+ $AnimatedSprite.play("fall")
+
+ if is_on_floor():
+ if $RayWallLeft.is_colliding() or $RayHeadLeft.is_colliding():
+ direction = Vector2.RIGHT
+ elif $RayWallRight.is_colliding() or $RayHeadRight.is_colliding():
+ direction = Vector2.LEFT
+
+ if (
+ ($RaySlopeLeft.is_colliding() and not $RayWallLeft.is_colliding()) or
+ ($RaySlopeRight.is_colliding() and not $RayWallRight.is_colliding())
+ ):
+ position.y -= 10 * delta * Game.speed
+ position.x += 10 * direction.x * delta * Game.speed
+
+ velocity.x = direction.x * speed * delta * Game.speed
+
+ $AnimatedSprite.play("walk")
+ $AnimatedSprite.flip_h = direction.x < 0
+
+
+func process_climbing(delta: float) -> void:
+ was_climbing = true
+
+ velocity.y = -((speed / 2) * delta * Game.speed)
+
+ $AnimatedSprite.play("climb")
diff --git a/Units/default.gd b/Units/default.gd
index bd571a8..dd5c9f0 100644
--- a/Units/default.gd
+++ b/Units/default.gd
@@ -13,9 +13,9 @@ func _physics_process(delta: float) -> void:
if velocity.y > (get_gravity().y / 10):
$AnimatedSprite.play("fall")
- if $RayWallLeft.is_colliding():
+ if $RayWallLeft.is_colliding() or $RayHeadLeft.is_colliding():
direction = Vector2.RIGHT
- elif $RayWallRight.is_colliding():
+ elif $RayWallRight.is_colliding() or $RayHeadRight.is_colliding():
direction = Vector2.LEFT
if is_on_floor():
diff --git a/Units/units_sprite_frames.tres b/Units/units_sprite_frames.tres
index 680b88e..67126ce 100644
--- a/Units/units_sprite_frames.tres
+++ b/Units/units_sprite_frames.tres
@@ -1,5 +1,6 @@
-[gd_resource type="SpriteFrames" load_steps=61 format=3 uid="uid://diwyagjvsgq0i"]
+[gd_resource type="SpriteFrames" load_steps=98 format=3 uid="uid://diwyagjvsgq0i"]
+[ext_resource type="Texture2D" uid="uid://dt86q45n4goeq" path="res://Units/Assets/basher.png" id="1_2omi1"]
[ext_resource type="Texture2D" uid="uid://b83lx3sg8gy3a" path="res://Units/Assets/block-01.png" id="1_r18gm"]
[ext_resource type="Texture2D" uid="uid://b6lxu22gho4h6" path="res://Units/Assets/walk-01.png" id="1_rqt5u"]
[ext_resource type="Texture2D" uid="uid://nsavsf7unbsd" path="res://Units/Assets/walk-02.png" id="2_ebwei"]
@@ -15,21 +16,29 @@
[ext_resource type="Texture2D" uid="uid://g7md34mbwlxa" path="res://Units/Assets/digger-01.png" id="7_bplsh"]
[ext_resource type="Texture2D" uid="uid://3th8lm5rb2pr" path="res://Units/Assets/walk-07.png" id="7_dahau"]
[ext_resource type="Texture2D" uid="uid://de6ivhavxeakj" path="res://Units/Assets/digger-02.png" id="8_bqv3y"]
+[ext_resource type="Texture2D" uid="uid://rdnsrxukh6ba" path="res://Units/Assets/climber-01.png" id="8_cemfw"]
[ext_resource type="Texture2D" uid="uid://4jq5mhag1kan" path="res://Units/Assets/walk-08.png" id="8_mt6h7"]
[ext_resource type="Texture2D" uid="uid://cakbdblkdtrlu" path="res://Units/Assets/fall-01.png" id="9_0mfdb"]
+[ext_resource type="Texture2D" uid="uid://b1cq83xbsyilh" path="res://Units/Assets/climber-02.png" id="9_2oshh"]
[ext_resource type="Texture2D" uid="uid://c068wiwg5r71d" path="res://Units/Assets/digger-03.png" id="9_w0xne"]
+[ext_resource type="Texture2D" uid="uid://bh3hfiotx03kf" path="res://Units/Assets/climber-03.png" id="10_a7vqh"]
[ext_resource type="Texture2D" uid="uid://duw1xurdh0kb3" path="res://Units/Assets/fall-02.png" id="10_i6j8i"]
[ext_resource type="Texture2D" uid="uid://ccwecsoh6sdcp" path="res://Units/Assets/digger-04.png" id="10_pitel"]
[ext_resource type="Texture2D" uid="uid://bacb365t8muhc" path="res://Units/Assets/digger-05.png" id="11_s2ucf"]
[ext_resource type="Texture2D" uid="uid://m3tqofnq4v4y" path="res://Units/Assets/fall-03.png" id="11_s8ky8"]
+[ext_resource type="Texture2D" uid="uid://dovck0665736o" path="res://Units/Assets/climber-04.png" id="11_vrgey"]
+[ext_resource type="Texture2D" uid="uid://b7dmkt62ov8q8" path="res://Units/Assets/climber-05.png" id="12_dbmxq"]
[ext_resource type="Texture2D" uid="uid://cnr47ro8mgj7p" path="res://Units/Assets/fall-04.png" id="12_dy00v"]
[ext_resource type="Texture2D" uid="uid://cfygr478cs1u8" path="res://Units/Assets/digger-06.png" id="12_vkbma"]
+[ext_resource type="Texture2D" uid="uid://dmkohk2v4hnl7" path="res://Units/Assets/climber-06.png" id="13_5wjt5"]
[ext_resource type="Texture2D" uid="uid://cvbtm4k0h3e7l" path="res://Units/Assets/fall-05.png" id="13_26swr"]
[ext_resource type="Texture2D" uid="uid://dgkjd088gwux4" path="res://Units/Assets/digger-07.png" id="13_v0c8j"]
[ext_resource type="Texture2D" uid="uid://hxwnw8c2cj3b" path="res://Units/Assets/digger-08.png" id="14_773yh"]
+[ext_resource type="Texture2D" uid="uid://fdhhl72ba6pi" path="res://Units/Assets/climber-07.png" id="14_b5rlp"]
[ext_resource type="Texture2D" uid="uid://cd7sg6e6unjx5" path="res://Units/Assets/fall-06.png" id="14_go0m8"]
[ext_resource type="Texture2D" uid="uid://rd244n0k3qb0" path="res://Units/Assets/digger-09.png" id="15_38qu4"]
[ext_resource type="Texture2D" uid="uid://gkhoh22hglyf" path="res://Units/Assets/fall-07.png" id="15_e2r2v"]
+[ext_resource type="Texture2D" uid="uid://dgqy3df8b5hoy" path="res://Units/Assets/climber-08.png" id="15_ywe6a"]
[ext_resource type="Texture2D" uid="uid://yjym8h4wcsxq" path="res://Units/Assets/fall-08.png" id="16_6aakf"]
[ext_resource type="Texture2D" uid="uid://5ytob6fb7xg1" path="res://Units/Assets/digger-10.png" id="16_mv4ra"]
[ext_resource type="Texture2D" uid="uid://dgyaiolxqewej" path="res://Units/Assets/digger-11.png" id="17_8mltx"]
@@ -43,6 +52,118 @@
[ext_resource type="Texture2D" uid="uid://b16d1f48vhjxe" path="res://Units/Assets/exit-07.png" id="25_ayva2"]
[ext_resource type="Texture2D" uid="uid://bxhe4q74coogc" path="res://Units/Assets/miner.png" id="34_5sy4j"]
+[sub_resource type="AtlasTexture" id="AtlasTexture_xgkgj"]
+atlas = ExtResource("1_2omi1")
+region = Rect2(0, 0, 12, 9)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_gu7uv"]
+atlas = ExtResource("1_2omi1")
+region = Rect2(12, 0, 12, 9)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_itl3x"]
+atlas = ExtResource("1_2omi1")
+region = Rect2(24, 0, 12, 9)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_3tfm8"]
+atlas = ExtResource("1_2omi1")
+region = Rect2(36, 0, 12, 9)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_hffoo"]
+atlas = ExtResource("1_2omi1")
+region = Rect2(48, 0, 12, 9)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_e08mf"]
+atlas = ExtResource("1_2omi1")
+region = Rect2(60, 0, 12, 9)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_eabun"]
+atlas = ExtResource("1_2omi1")
+region = Rect2(72, 0, 12, 9)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_xrdt0"]
+atlas = ExtResource("1_2omi1")
+region = Rect2(84, 0, 12, 9)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_pim5f"]
+atlas = ExtResource("1_2omi1")
+region = Rect2(96, 0, 12, 9)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_1aa7g"]
+atlas = ExtResource("1_2omi1")
+region = Rect2(108, 0, 12, 9)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_rbi8x"]
+atlas = ExtResource("1_2omi1")
+region = Rect2(120, 0, 12, 9)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_y44m5"]
+atlas = ExtResource("1_2omi1")
+region = Rect2(132, 0, 12, 9)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_5nm1w"]
+atlas = ExtResource("1_2omi1")
+region = Rect2(144, 0, 12, 9)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_iyjt2"]
+atlas = ExtResource("1_2omi1")
+region = Rect2(156, 0, 12, 9)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_8j3u0"]
+atlas = ExtResource("1_2omi1")
+region = Rect2(168, 0, 12, 9)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_ce52o"]
+atlas = ExtResource("1_2omi1")
+region = Rect2(180, 0, 12, 9)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_4wy63"]
+atlas = ExtResource("1_2omi1")
+region = Rect2(192, 0, 12, 9)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_aar5b"]
+atlas = ExtResource("1_2omi1")
+region = Rect2(204, 0, 12, 9)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_4xo0q"]
+atlas = ExtResource("1_2omi1")
+region = Rect2(0, 20, 12, 9)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_e1ovd"]
+atlas = ExtResource("1_2omi1")
+region = Rect2(12, 20, 12, 9)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_uqwu1"]
+atlas = ExtResource("1_2omi1")
+region = Rect2(24, 20, 12, 9)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_u2r15"]
+atlas = ExtResource("1_2omi1")
+region = Rect2(36, 20, 12, 9)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_ak4y0"]
+atlas = ExtResource("1_2omi1")
+region = Rect2(48, 20, 12, 9)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_u42x1"]
+atlas = ExtResource("1_2omi1")
+region = Rect2(60, 20, 12, 9)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_kl4oo"]
+atlas = ExtResource("1_2omi1")
+region = Rect2(72, 20, 12, 9)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_u6lqg"]
+atlas = ExtResource("1_2omi1")
+region = Rect2(84, 20, 12, 9)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_qe4cm"]
+atlas = ExtResource("1_2omi1")
+region = Rect2(96, 20, 12, 9)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_ka487"]
+atlas = ExtResource("1_2omi1")
+region = Rect2(108, 20, 12, 9)
+
[sub_resource type="AtlasTexture" id="AtlasTexture_tpeqv"]
atlas = ExtResource("34_5sy4j")
region = Rect2(0, 0, 12, 13)
@@ -119,6 +240,95 @@ region = Rect2(204, 0, 12, 13)
animations = [{
"frames": [{
"duration": 1.0,
+"texture": SubResource("AtlasTexture_xgkgj")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_gu7uv")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_itl3x")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_3tfm8")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_hffoo")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_e08mf")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_eabun")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_xrdt0")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_pim5f")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_1aa7g")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_rbi8x")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_y44m5")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_5nm1w")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_iyjt2")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_8j3u0")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_ce52o")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_4wy63")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_aar5b")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_4xo0q")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_e1ovd")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_uqwu1")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_u2r15")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_ak4y0")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_u42x1")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_kl4oo")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_u6lqg")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_qe4cm")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_ka487")
+}],
+"loop": true,
+"name": &"bash",
+"speed": 10.0
+}, {
+"frames": [{
+"duration": 1.0,
"texture": ExtResource("1_r18gm")
}, {
"duration": 1.0,
@@ -142,6 +352,53 @@ animations = [{
}, {
"frames": [{
"duration": 1.0,
+"texture": ExtResource("8_cemfw")
+}, {
+"duration": 1.0,
+"texture": ExtResource("9_2oshh")
+}, {
+"duration": 1.0,
+"texture": ExtResource("10_a7vqh")
+}, {
+"duration": 1.0,
+"texture": ExtResource("11_vrgey")
+}, {
+"duration": 1.0,
+"texture": ExtResource("12_dbmxq")
+}, {
+"duration": 1.0,
+"texture": ExtResource("13_5wjt5")
+}, {
+"duration": 1.0,
+"texture": ExtResource("14_b5rlp")
+}, {
+"duration": 1.0,
+"texture": ExtResource("15_ywe6a")
+}, {
+"duration": 1.0,
+"texture": ExtResource("14_b5rlp")
+}, {
+"duration": 1.0,
+"texture": ExtResource("13_5wjt5")
+}, {
+"duration": 1.0,
+"texture": ExtResource("12_dbmxq")
+}, {
+"duration": 1.0,
+"texture": ExtResource("11_vrgey")
+}, {
+"duration": 1.0,
+"texture": ExtResource("10_a7vqh")
+}, {
+"duration": 1.0,
+"texture": ExtResource("9_2oshh")
+}],
+"loop": true,
+"name": &"climb",
+"speed": 10.0
+}, {
+"frames": [{
+"duration": 1.0,
"texture": ExtResource("7_bplsh")
}, {
"duration": 1.0,