From bea67b9a873c0ba625e6944cd0c33dd14054b857 Mon Sep 17 00:00:00 2001 From: "Ola S." Date: Wed, 31 Jan 2024 19:54:33 +0100 Subject: [PATCH] Added ranged animations --- demo/demo/agents/agent_base.tscn | 1304 +++++++++++++++++----------- demo/demo/assets/shadow.png | Bin 0 -> 2773 bytes demo/demo/assets/shadow.png.import | 34 + 3 files changed, 831 insertions(+), 507 deletions(-) create mode 100644 demo/demo/assets/shadow.png create mode 100644 demo/demo/assets/shadow.png.import diff --git a/demo/demo/agents/agent_base.tscn b/demo/demo/agents/agent_base.tscn index a14eb2e..0ebca49 100644 --- a/demo/demo/agents/agent_base.tscn +++ b/demo/demo/agents/agent_base.tscn @@ -1,8 +1,9 @@ -[gd_scene load_steps=27 format=3 uid="uid://ooigbfhfy4wa"] +[gd_scene load_steps=29 format=3 uid="uid://ooigbfhfy4wa"] [ext_resource type="Texture2D" uid="uid://dlo1ine6p5di4" path="res://demo/assets/agent_bobby.png" id="1_1u51b"] [ext_resource type="Script" path="res://demo/agents/scripts/agent_base.gd" id="1_n8vy2"] [ext_resource type="Texture2D" uid="uid://dj4oayt5ttvh8" path="res://demo/assets/fx.png" id="2_lv102"] +[ext_resource type="Texture2D" uid="uid://dwhhxj5557qrb" path="res://demo/assets/shadow.png" id="2_vr0jo"] [ext_resource type="Texture2D" uid="uid://bdusy0qqtw0th" path="res://demo/assets/smoke.png" id="4_mnb6v"] [ext_resource type="Script" path="res://demo/agents/scripts/health.gd" id="4_qwtrf"] [ext_resource type="Script" path="res://demo/agents/scripts/hitbox.gd" id="5_taq6b"] @@ -347,9 +348,547 @@ tracks/24/keys = { "values": [false] } -[sub_resource type="Animation" id="Animation_b0ub6"] -resource_name = "attack_ranged" +[sub_resource type="Animation" id="Animation_8wj70"] +resource_name = "attack_1" +length = 0.28 +step = 0.01 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Root/Rig:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(0, -76), Vector2(0, -76)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Root/Rig:rotation") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [0.0, 0.0] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Root/Rig:scale") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(1, 1), Vector2(1, 1)] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("Root/Rig/LegL:position") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0, 0.1, 0.15, 0.2), +"transitions": PackedFloat32Array(1, 1, 1, 1), +"update": 0, +"values": [Vector2(-48, 48), Vector2(-55, 35), Vector2(-55, 35), Vector2(-29, 65)] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("Root/Rig/LegL:rotation") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0, 0.1, 0.15, 0.2), +"transitions": PackedFloat32Array(1, 1, 1, 1), +"update": 0, +"values": [0.918872, 1.36873, 1.36873, 0.0] +} +tracks/5/type = "value" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath("Root/Rig/LegL:scale") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = { +"times": PackedFloat32Array(0, 0.1, 0.15, 0.2), +"transitions": PackedFloat32Array(1, 1, 1, 1), +"update": 0, +"values": [Vector2(1, 1), Vector2(1, 1), Vector2(1, 1), Vector2(1, 1)] +} +tracks/6/type = "value" +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/path = NodePath("Root/Rig/LegR:position") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(35, 68), Vector2(31, 65)] +} +tracks/7/type = "value" +tracks/7/imported = false +tracks/7/enabled = true +tracks/7/path = NodePath("Root/Rig/LegR:rotation") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [-0.125403, 0.0] +} +tracks/8/type = "value" +tracks/8/imported = false +tracks/8/enabled = true +tracks/8/path = NodePath("Root/Rig/LegR:scale") +tracks/8/interp = 1 +tracks/8/loop_wrap = true +tracks/8/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(1, 1), Vector2(1, 1)] +} +tracks/9/type = "value" +tracks/9/imported = false +tracks/9/enabled = true +tracks/9/path = NodePath("Root/Rig/Body:position") +tracks/9/interp = 1 +tracks/9/loop_wrap = true +tracks/9/keys = { +"times": PackedFloat32Array(0, 0.1, 0.15, 0.2), +"transitions": PackedFloat32Array(1, 1, 1, 1), +"update": 0, +"values": [Vector2(5, 53), Vector2(5, 53), Vector2(5, 53), Vector2(5, 53)] +} +tracks/10/type = "value" +tracks/10/imported = false +tracks/10/enabled = true +tracks/10/path = NodePath("Root/Rig/Body:rotation") +tracks/10/interp = 1 +tracks/10/loop_wrap = true +tracks/10/keys = { +"times": PackedFloat32Array(0, 0.1, 0.15, 0.2), +"transitions": PackedFloat32Array(1, 1, 1, 1), +"update": 0, +"values": [0.204683, 0.274184, 0.274184, 0.0] +} +tracks/11/type = "value" +tracks/11/imported = false +tracks/11/enabled = true +tracks/11/path = NodePath("Root/Rig/Body:scale") +tracks/11/interp = 1 +tracks/11/loop_wrap = true +tracks/11/keys = { +"times": PackedFloat32Array(0, 0.1, 0.15, 0.2), +"transitions": PackedFloat32Array(1, 1, 1, 1), +"update": 0, +"values": [Vector2(1.1, 0.9), Vector2(1.1, 0.9), Vector2(1.1, 0.9), Vector2(1, 1)] +} +tracks/12/type = "value" +tracks/12/imported = false +tracks/12/enabled = true +tracks/12/path = NodePath("Root/Rig/Body/Hat:position") +tracks/12/interp = 1 +tracks/12/loop_wrap = true +tracks/12/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(2, -91), Vector2(2, -91)] +} +tracks/13/type = "value" +tracks/13/imported = false +tracks/13/enabled = true +tracks/13/path = NodePath("Root/Rig/Body/Hat:rotation") +tracks/13/interp = 1 +tracks/13/loop_wrap = true +tracks/13/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [0.0, 0.0] +} +tracks/14/type = "value" +tracks/14/imported = false +tracks/14/enabled = true +tracks/14/path = NodePath("Root/Rig/Body/Hat:scale") +tracks/14/interp = 1 +tracks/14/loop_wrap = true +tracks/14/keys = { +"times": PackedFloat32Array(0, 0.2), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(1, 1), Vector2(1, 1)] +} +tracks/15/type = "value" +tracks/15/imported = false +tracks/15/enabled = true +tracks/15/path = NodePath("Root/Rig/Body/HandL:position") +tracks/15/interp = 1 +tracks/15/loop_wrap = true +tracks/15/keys = { +"times": PackedFloat32Array(0, 0.1, 0.15, 0.2), +"transitions": PackedFloat32Array(1, 1, 1, 1), +"update": 0, +"values": [Vector2(-77.4704, -36.9794), Vector2(71.4321, -75.3422), Vector2(71.4321, -75.3422), Vector2(-60, -53)] +} +tracks/16/type = "value" +tracks/16/imported = false +tracks/16/enabled = true +tracks/16/path = NodePath("Root/Rig/Body/HandL:rotation") +tracks/16/interp = 1 +tracks/16/loop_wrap = true +tracks/16/keys = { +"times": PackedFloat32Array(0, 0.1, 0.15, 0.2), +"transitions": PackedFloat32Array(1, 1, 1, 1), +"update": 0, +"values": [0.0, 0.0, 0.0, 0.0] +} +tracks/17/type = "value" +tracks/17/imported = false +tracks/17/enabled = true +tracks/17/path = NodePath("Root/Rig/Body/HandL:scale") +tracks/17/interp = 1 +tracks/17/loop_wrap = true +tracks/17/keys = { +"times": PackedFloat32Array(0, 0.1, 0.15, 0.2), +"transitions": PackedFloat32Array(1, 1, 1, 1), +"update": 0, +"values": [Vector2(1, 1), Vector2(1.8, 1.8), Vector2(1.8, 1.8), Vector2(1, 1)] +} +tracks/18/type = "value" +tracks/18/imported = false +tracks/18/enabled = true +tracks/18/path = NodePath("Root/Rig/Body/HandR:position") +tracks/18/interp = 1 +tracks/18/loop_wrap = true +tracks/18/keys = { +"times": PackedFloat32Array(0, 0.1, 0.15, 0.2), +"transitions": PackedFloat32Array(1, 1, 1, 1), +"update": 0, +"values": [Vector2(71.4504, -76.2001), Vector2(-47.4494, -37.9368), Vector2(-47.4494, -37.9368), Vector2(51, -51)] +} +tracks/19/type = "value" +tracks/19/imported = false +tracks/19/enabled = true +tracks/19/path = NodePath("Root/Rig/Body/HandR:rotation") +tracks/19/interp = 1 +tracks/19/loop_wrap = true +tracks/19/keys = { +"times": PackedFloat32Array(0, 0.1, 0.15, 0.2), +"transitions": PackedFloat32Array(1, 1, 1, 1), +"update": 0, +"values": [0.0, 0.0, 0.0, 0.0] +} +tracks/20/type = "value" +tracks/20/imported = false +tracks/20/enabled = true +tracks/20/path = NodePath("Root/Rig/Body/HandR:scale") +tracks/20/interp = 1 +tracks/20/loop_wrap = true +tracks/20/keys = { +"times": PackedFloat32Array(0, 0.1, 0.15, 0.2), +"transitions": PackedFloat32Array(1, 1, 1, 1), +"update": 0, +"values": [Vector2(1.6, 1.6), Vector2(1.6, 1.6), Vector2(1.6, 1.6), Vector2(1, 1)] +} +tracks/21/type = "value" +tracks/21/imported = false +tracks/21/enabled = true +tracks/21/path = NodePath("Root/Hitbox/CollisionShape2D:disabled") +tracks/21/interp = 1 +tracks/21/loop_wrap = true +tracks/21/keys = { +"times": PackedFloat32Array(0, 0.1, 0.15, 0.3), +"transitions": PackedFloat32Array(1, 1, 1, 1), +"update": 1, +"values": [true, false, true, true] +} + +[sub_resource type="Animation" id="Animation_s1dey"] +resource_name = "attack_2" length = 0.3 +step = 0.01 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Root/Rig:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(0, -76)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Root/Rig:rotation") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.0] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Root/Rig:scale") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(1, 1)] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("Root/Rig/LegL:position") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0, 0.15, 0.25), +"transitions": PackedFloat32Array(1, 1, 1), +"update": 0, +"values": [Vector2(-29, 65), Vector2(-29, 65), Vector2(-48, 48)] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("Root/Rig/LegL:rotation") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0, 0.15, 0.25), +"transitions": PackedFloat32Array(1, 1, 1), +"update": 0, +"values": [0.0, 0.397498, 0.918872] +} +tracks/5/type = "value" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath("Root/Rig/LegL:scale") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = { +"times": PackedFloat32Array(0, 0.15, 0.25), +"transitions": PackedFloat32Array(1, 1, 1), +"update": 0, +"values": [Vector2(1, 1), Vector2(1, 1), Vector2(1, 1)] +} +tracks/6/type = "value" +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/path = NodePath("Root/Rig/LegR:position") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/keys = { +"times": PackedFloat32Array(0, 0.15, 0.25), +"transitions": PackedFloat32Array(1, 1, 1), +"update": 0, +"values": [Vector2(31, 65), Vector2(50, 51), Vector2(35, 68)] +} +tracks/7/type = "value" +tracks/7/imported = false +tracks/7/enabled = true +tracks/7/path = NodePath("Root/Rig/LegR:rotation") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/keys = { +"times": PackedFloat32Array(0, 0.15, 0.25), +"transitions": PackedFloat32Array(1, 1, 1), +"update": 0, +"values": [0.0, -0.401688, -0.125403] +} +tracks/8/type = "value" +tracks/8/imported = false +tracks/8/enabled = true +tracks/8/path = NodePath("Root/Rig/LegR:scale") +tracks/8/interp = 1 +tracks/8/loop_wrap = true +tracks/8/keys = { +"times": PackedFloat32Array(0, 0.15, 0.25), +"transitions": PackedFloat32Array(1, 1, 1), +"update": 0, +"values": [Vector2(1, 1), Vector2(1, 1), Vector2(1, 1)] +} +tracks/9/type = "value" +tracks/9/imported = false +tracks/9/enabled = true +tracks/9/path = NodePath("Root/Rig/Body:position") +tracks/9/interp = 1 +tracks/9/loop_wrap = true +tracks/9/keys = { +"times": PackedFloat32Array(0, 0.15, 0.25), +"transitions": PackedFloat32Array(1, 1, 1), +"update": 0, +"values": [Vector2(5, 53), Vector2(5, 53), Vector2(5, 53)] +} +tracks/10/type = "value" +tracks/10/imported = false +tracks/10/enabled = true +tracks/10/path = NodePath("Root/Rig/Body:rotation") +tracks/10/interp = 1 +tracks/10/loop_wrap = true +tracks/10/keys = { +"times": PackedFloat32Array(0, 0.15, 0.25), +"transitions": PackedFloat32Array(1, 1, 1), +"update": 0, +"values": [0.0, -0.278326, 0.204683] +} +tracks/11/type = "value" +tracks/11/imported = false +tracks/11/enabled = true +tracks/11/path = NodePath("Root/Rig/Body:scale") +tracks/11/interp = 1 +tracks/11/loop_wrap = true +tracks/11/keys = { +"times": PackedFloat32Array(0, 0.15, 0.25), +"transitions": PackedFloat32Array(1, 1, 1), +"update": 0, +"values": [Vector2(1, 1), Vector2(0.9, 1.1), Vector2(1.1, 0.9)] +} +tracks/12/type = "value" +tracks/12/imported = false +tracks/12/enabled = true +tracks/12/path = NodePath("Root/Rig/Body/Hat:position") +tracks/12/interp = 1 +tracks/12/loop_wrap = true +tracks/12/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(2, -91)] +} +tracks/13/type = "value" +tracks/13/imported = false +tracks/13/enabled = true +tracks/13/path = NodePath("Root/Rig/Body/Hat:rotation") +tracks/13/interp = 1 +tracks/13/loop_wrap = true +tracks/13/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.0] +} +tracks/14/type = "value" +tracks/14/imported = false +tracks/14/enabled = true +tracks/14/path = NodePath("Root/Rig/Body/Hat:scale") +tracks/14/interp = 1 +tracks/14/loop_wrap = true +tracks/14/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(1, 1)] +} +tracks/15/type = "value" +tracks/15/imported = false +tracks/15/enabled = true +tracks/15/path = NodePath("Root/Rig/Body/HandL:position") +tracks/15/interp = 1 +tracks/15/loop_wrap = true +tracks/15/keys = { +"times": PackedFloat32Array(0, 0.15, 0.25), +"transitions": PackedFloat32Array(1, 1, 1), +"update": 0, +"values": [Vector2(-60, -53), Vector2(-1.7771, -44.1117), Vector2(-77.4704, -36.9794)] +} +tracks/16/type = "value" +tracks/16/imported = false +tracks/16/enabled = true +tracks/16/path = NodePath("Root/Rig/Body/HandL:rotation") +tracks/16/interp = 1 +tracks/16/loop_wrap = true +tracks/16/keys = { +"times": PackedFloat32Array(0, 0.15, 0.25), +"transitions": PackedFloat32Array(1, 1, 1), +"update": 0, +"values": [0.0, 0.0, 0.0] +} +tracks/17/type = "value" +tracks/17/imported = false +tracks/17/enabled = true +tracks/17/path = NodePath("Root/Rig/Body/HandL:scale") +tracks/17/interp = 1 +tracks/17/loop_wrap = true +tracks/17/keys = { +"times": PackedFloat32Array(0, 0.15, 0.25), +"transitions": PackedFloat32Array(1, 1, 1), +"update": 0, +"values": [Vector2(1, 1), Vector2(1, 1), Vector2(1, 1)] +} +tracks/18/type = "value" +tracks/18/imported = false +tracks/18/enabled = true +tracks/18/path = NodePath("Root/Rig/Body/HandR:position") +tracks/18/interp = 1 +tracks/18/loop_wrap = true +tracks/18/keys = { +"times": PackedFloat32Array(0, 0.15, 0.25), +"transitions": PackedFloat32Array(1, 1, 1), +"update": 0, +"values": [Vector2(51, -51), Vector2(-70.2132, -64.2738), Vector2(71.4504, -76.2001)] +} +tracks/19/type = "value" +tracks/19/imported = false +tracks/19/enabled = true +tracks/19/path = NodePath("Root/Rig/Body/HandR:rotation") +tracks/19/interp = 1 +tracks/19/loop_wrap = true +tracks/19/keys = { +"times": PackedFloat32Array(0, 0.15, 0.25), +"transitions": PackedFloat32Array(1, 1, 1), +"update": 0, +"values": [0.0, 0.0, 0.0] +} +tracks/20/type = "value" +tracks/20/imported = false +tracks/20/enabled = true +tracks/20/path = NodePath("Root/Rig/Body/HandR:scale") +tracks/20/interp = 1 +tracks/20/loop_wrap = true +tracks/20/keys = { +"times": PackedFloat32Array(0, 0.15, 0.25), +"transitions": PackedFloat32Array(1, 1, 1), +"update": 0, +"values": [Vector2(1, 1), Vector2(1, 1), Vector2(1.6, 1.6)] +} +tracks/21/type = "value" +tracks/21/imported = false +tracks/21/enabled = true +tracks/21/path = NodePath("Root/Hitbox/CollisionShape2D:disabled") +tracks/21/interp = 1 +tracks/21/loop_wrap = true +tracks/21/keys = { +"times": PackedFloat32Array(0, 0.25, 0.3), +"transitions": PackedFloat32Array(1, 1, 1), +"update": 1, +"values": [true, false, true] +} + +[sub_resource type="Animation" id="Animation_g7a0r"] +resource_name = "attack_3" +length = 0.35 step = 0.05 tracks/0/type = "value" tracks/0/imported = false @@ -579,6 +1118,18 @@ tracks/18/keys = { "update": 1, "values": [false] } +tracks/19/type = "value" +tracks/19/imported = false +tracks/19/enabled = true +tracks/19/path = NodePath("Root/Hitbox/CollisionShape2D:disabled") +tracks/19/interp = 1 +tracks/19/loop_wrap = true +tracks/19/keys = { +"times": PackedFloat32Array(0, 0.25, 0.35), +"transitions": PackedFloat32Array(1, 1, 1), +"update": 1, +"values": [true, false, true] +} [sub_resource type="Animation" id="Animation_wei72"] resource_name = "death" @@ -2292,279 +2843,11 @@ tracks/18/keys = { "values": [false] } -[sub_resource type="Animation" id="Animation_8wj70"] -resource_name = "attack_1" -length = 0.28 -step = 0.01 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("Root/Rig:position") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0, 0.2), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [Vector2(0, -76), Vector2(0, -76)] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("Root/Rig:rotation") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0, 0.2), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [0.0, 0.0] -} -tracks/2/type = "value" -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/path = NodePath("Root/Rig:scale") -tracks/2/interp = 1 -tracks/2/loop_wrap = true -tracks/2/keys = { -"times": PackedFloat32Array(0, 0.2), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [Vector2(1, 1), Vector2(1, 1)] -} -tracks/3/type = "value" -tracks/3/imported = false -tracks/3/enabled = true -tracks/3/path = NodePath("Root/Rig/LegL:position") -tracks/3/interp = 1 -tracks/3/loop_wrap = true -tracks/3/keys = { -"times": PackedFloat32Array(0, 0.1, 0.15, 0.2), -"transitions": PackedFloat32Array(1, 1, 1, 1), -"update": 0, -"values": [Vector2(-48, 48), Vector2(-55, 35), Vector2(-55, 35), Vector2(-29, 65)] -} -tracks/4/type = "value" -tracks/4/imported = false -tracks/4/enabled = true -tracks/4/path = NodePath("Root/Rig/LegL:rotation") -tracks/4/interp = 1 -tracks/4/loop_wrap = true -tracks/4/keys = { -"times": PackedFloat32Array(0, 0.1, 0.15, 0.2), -"transitions": PackedFloat32Array(1, 1, 1, 1), -"update": 0, -"values": [0.918872, 1.36873, 1.36873, 0.0] -} -tracks/5/type = "value" -tracks/5/imported = false -tracks/5/enabled = true -tracks/5/path = NodePath("Root/Rig/LegL:scale") -tracks/5/interp = 1 -tracks/5/loop_wrap = true -tracks/5/keys = { -"times": PackedFloat32Array(0, 0.1, 0.15, 0.2), -"transitions": PackedFloat32Array(1, 1, 1, 1), -"update": 0, -"values": [Vector2(1, 1), Vector2(1, 1), Vector2(1, 1), Vector2(1, 1)] -} -tracks/6/type = "value" -tracks/6/imported = false -tracks/6/enabled = true -tracks/6/path = NodePath("Root/Rig/LegR:position") -tracks/6/interp = 1 -tracks/6/loop_wrap = true -tracks/6/keys = { -"times": PackedFloat32Array(0, 0.2), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [Vector2(35, 68), Vector2(31, 65)] -} -tracks/7/type = "value" -tracks/7/imported = false -tracks/7/enabled = true -tracks/7/path = NodePath("Root/Rig/LegR:rotation") -tracks/7/interp = 1 -tracks/7/loop_wrap = true -tracks/7/keys = { -"times": PackedFloat32Array(0, 0.2), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [-0.125403, 0.0] -} -tracks/8/type = "value" -tracks/8/imported = false -tracks/8/enabled = true -tracks/8/path = NodePath("Root/Rig/LegR:scale") -tracks/8/interp = 1 -tracks/8/loop_wrap = true -tracks/8/keys = { -"times": PackedFloat32Array(0, 0.2), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [Vector2(1, 1), Vector2(1, 1)] -} -tracks/9/type = "value" -tracks/9/imported = false -tracks/9/enabled = true -tracks/9/path = NodePath("Root/Rig/Body:position") -tracks/9/interp = 1 -tracks/9/loop_wrap = true -tracks/9/keys = { -"times": PackedFloat32Array(0, 0.1, 0.15, 0.2), -"transitions": PackedFloat32Array(1, 1, 1, 1), -"update": 0, -"values": [Vector2(5, 53), Vector2(5, 53), Vector2(5, 53), Vector2(5, 53)] -} -tracks/10/type = "value" -tracks/10/imported = false -tracks/10/enabled = true -tracks/10/path = NodePath("Root/Rig/Body:rotation") -tracks/10/interp = 1 -tracks/10/loop_wrap = true -tracks/10/keys = { -"times": PackedFloat32Array(0, 0.1, 0.15, 0.2), -"transitions": PackedFloat32Array(1, 1, 1, 1), -"update": 0, -"values": [0.204683, 0.274184, 0.274184, 0.0] -} -tracks/11/type = "value" -tracks/11/imported = false -tracks/11/enabled = true -tracks/11/path = NodePath("Root/Rig/Body:scale") -tracks/11/interp = 1 -tracks/11/loop_wrap = true -tracks/11/keys = { -"times": PackedFloat32Array(0, 0.1, 0.15, 0.2), -"transitions": PackedFloat32Array(1, 1, 1, 1), -"update": 0, -"values": [Vector2(1.1, 0.9), Vector2(1.1, 0.9), Vector2(1.1, 0.9), Vector2(1, 1)] -} -tracks/12/type = "value" -tracks/12/imported = false -tracks/12/enabled = true -tracks/12/path = NodePath("Root/Rig/Body/Hat:position") -tracks/12/interp = 1 -tracks/12/loop_wrap = true -tracks/12/keys = { -"times": PackedFloat32Array(0, 0.2), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [Vector2(2, -91), Vector2(2, -91)] -} -tracks/13/type = "value" -tracks/13/imported = false -tracks/13/enabled = true -tracks/13/path = NodePath("Root/Rig/Body/Hat:rotation") -tracks/13/interp = 1 -tracks/13/loop_wrap = true -tracks/13/keys = { -"times": PackedFloat32Array(0, 0.2), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [0.0, 0.0] -} -tracks/14/type = "value" -tracks/14/imported = false -tracks/14/enabled = true -tracks/14/path = NodePath("Root/Rig/Body/Hat:scale") -tracks/14/interp = 1 -tracks/14/loop_wrap = true -tracks/14/keys = { -"times": PackedFloat32Array(0, 0.2), -"transitions": PackedFloat32Array(1, 1), -"update": 0, -"values": [Vector2(1, 1), Vector2(1, 1)] -} -tracks/15/type = "value" -tracks/15/imported = false -tracks/15/enabled = true -tracks/15/path = NodePath("Root/Rig/Body/HandL:position") -tracks/15/interp = 1 -tracks/15/loop_wrap = true -tracks/15/keys = { -"times": PackedFloat32Array(0, 0.1, 0.15, 0.2), -"transitions": PackedFloat32Array(1, 1, 1, 1), -"update": 0, -"values": [Vector2(-77.4704, -36.9794), Vector2(71.4321, -75.3422), Vector2(71.4321, -75.3422), Vector2(-60, -53)] -} -tracks/16/type = "value" -tracks/16/imported = false -tracks/16/enabled = true -tracks/16/path = NodePath("Root/Rig/Body/HandL:rotation") -tracks/16/interp = 1 -tracks/16/loop_wrap = true -tracks/16/keys = { -"times": PackedFloat32Array(0, 0.1, 0.15, 0.2), -"transitions": PackedFloat32Array(1, 1, 1, 1), -"update": 0, -"values": [0.0, 0.0, 0.0, 0.0] -} -tracks/17/type = "value" -tracks/17/imported = false -tracks/17/enabled = true -tracks/17/path = NodePath("Root/Rig/Body/HandL:scale") -tracks/17/interp = 1 -tracks/17/loop_wrap = true -tracks/17/keys = { -"times": PackedFloat32Array(0, 0.1, 0.15, 0.2), -"transitions": PackedFloat32Array(1, 1, 1, 1), -"update": 0, -"values": [Vector2(1, 1), Vector2(1.8, 1.8), Vector2(1.8, 1.8), Vector2(1, 1)] -} -tracks/18/type = "value" -tracks/18/imported = false -tracks/18/enabled = true -tracks/18/path = NodePath("Root/Rig/Body/HandR:position") -tracks/18/interp = 1 -tracks/18/loop_wrap = true -tracks/18/keys = { -"times": PackedFloat32Array(0, 0.1, 0.15, 0.2), -"transitions": PackedFloat32Array(1, 1, 1, 1), -"update": 0, -"values": [Vector2(71.4504, -76.2001), Vector2(-47.4494, -37.9368), Vector2(-47.4494, -37.9368), Vector2(51, -51)] -} -tracks/19/type = "value" -tracks/19/imported = false -tracks/19/enabled = true -tracks/19/path = NodePath("Root/Rig/Body/HandR:rotation") -tracks/19/interp = 1 -tracks/19/loop_wrap = true -tracks/19/keys = { -"times": PackedFloat32Array(0, 0.1, 0.15, 0.2), -"transitions": PackedFloat32Array(1, 1, 1, 1), -"update": 0, -"values": [0.0, 0.0, 0.0, 0.0] -} -tracks/20/type = "value" -tracks/20/imported = false -tracks/20/enabled = true -tracks/20/path = NodePath("Root/Rig/Body/HandR:scale") -tracks/20/interp = 1 -tracks/20/loop_wrap = true -tracks/20/keys = { -"times": PackedFloat32Array(0, 0.1, 0.15, 0.2), -"transitions": PackedFloat32Array(1, 1, 1, 1), -"update": 0, -"values": [Vector2(1.6, 1.6), Vector2(1.6, 1.6), Vector2(1.6, 1.6), Vector2(1, 1)] -} -tracks/21/type = "value" -tracks/21/imported = false -tracks/21/enabled = true -tracks/21/path = NodePath("Root/Hitbox/CollisionShape2D:disabled") -tracks/21/interp = 1 -tracks/21/loop_wrap = true -tracks/21/keys = { -"times": PackedFloat32Array(0, 0.1, 0.15, 0.3), -"transitions": PackedFloat32Array(1, 1, 1, 1), -"update": 1, -"values": [true, false, true, true] -} - -[sub_resource type="Animation" id="Animation_s1dey"] -resource_name = "attack_2" -length = 0.3 -step = 0.01 +[sub_resource type="Animation" id="Animation_kb56n"] +resource_name = "ranged_prepare" +length = 0.2 +loop_mode = 1 +step = 0.05 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true @@ -2592,139 +2875,139 @@ tracks/1/keys = { tracks/2/type = "value" tracks/2/imported = false tracks/2/enabled = true -tracks/2/path = NodePath("Root/Rig:scale") +tracks/2/path = NodePath("Root/Rig/LegL:position") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), +"times": PackedFloat32Array(0, 0.1, 0.2), +"transitions": PackedFloat32Array(1, 1, 1), "update": 0, -"values": [Vector2(1, 1)] +"values": [Vector2(-48, 64), Vector2(-48, 64), Vector2(-48, 64)] } tracks/3/type = "value" tracks/3/imported = false tracks/3/enabled = true -tracks/3/path = NodePath("Root/Rig/LegL:position") +tracks/3/path = NodePath("Root/Rig/LegL:rotation") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/keys = { -"times": PackedFloat32Array(0, 0.15, 0.25), +"times": PackedFloat32Array(0, 0.1, 0.2), "transitions": PackedFloat32Array(1, 1, 1), "update": 0, -"values": [Vector2(-29, 65), Vector2(-29, 65), Vector2(-48, 48)] +"values": [0.644548, 0.862915, 0.644548] } tracks/4/type = "value" tracks/4/imported = false tracks/4/enabled = true -tracks/4/path = NodePath("Root/Rig/LegL:rotation") +tracks/4/path = NodePath("Root/Rig/LegR:position") tracks/4/interp = 1 tracks/4/loop_wrap = true tracks/4/keys = { -"times": PackedFloat32Array(0, 0.15, 0.25), -"transitions": PackedFloat32Array(1, 1, 1), +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), "update": 0, -"values": [0.0, 0.397498, 0.918872] +"values": [Vector2(31, 65)] } tracks/5/type = "value" tracks/5/imported = false tracks/5/enabled = true -tracks/5/path = NodePath("Root/Rig/LegL:scale") +tracks/5/path = NodePath("Root/Rig/LegR:rotation") tracks/5/interp = 1 tracks/5/loop_wrap = true tracks/5/keys = { -"times": PackedFloat32Array(0, 0.15, 0.25), -"transitions": PackedFloat32Array(1, 1, 1), +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), "update": 0, -"values": [Vector2(1, 1), Vector2(1, 1), Vector2(1, 1)] +"values": [0.0] } tracks/6/type = "value" tracks/6/imported = false tracks/6/enabled = true -tracks/6/path = NodePath("Root/Rig/LegR:position") +tracks/6/path = NodePath("Root/Rig/Body:position") tracks/6/interp = 1 tracks/6/loop_wrap = true tracks/6/keys = { -"times": PackedFloat32Array(0, 0.15, 0.25), -"transitions": PackedFloat32Array(1, 1, 1), -"update": 0, -"values": [Vector2(31, 65), Vector2(50, 51), Vector2(35, 68)] -} -tracks/7/type = "value" -tracks/7/imported = false -tracks/7/enabled = true -tracks/7/path = NodePath("Root/Rig/LegR:rotation") -tracks/7/interp = 1 -tracks/7/loop_wrap = true -tracks/7/keys = { -"times": PackedFloat32Array(0, 0.15, 0.25), -"transitions": PackedFloat32Array(1, 1, 1), -"update": 0, -"values": [0.0, -0.401688, -0.125403] -} -tracks/8/type = "value" -tracks/8/imported = false -tracks/8/enabled = true -tracks/8/path = NodePath("Root/Rig/LegR:scale") -tracks/8/interp = 1 -tracks/8/loop_wrap = true -tracks/8/keys = { -"times": PackedFloat32Array(0, 0.15, 0.25), -"transitions": PackedFloat32Array(1, 1, 1), -"update": 0, -"values": [Vector2(1, 1), Vector2(1, 1), Vector2(1, 1)] -} -tracks/9/type = "value" -tracks/9/imported = false -tracks/9/enabled = true -tracks/9/path = NodePath("Root/Rig/Body:position") -tracks/9/interp = 1 -tracks/9/loop_wrap = true -tracks/9/keys = { -"times": PackedFloat32Array(0, 0.15, 0.25), +"times": PackedFloat32Array(0, 0.1, 0.2), "transitions": PackedFloat32Array(1, 1, 1), "update": 0, "values": [Vector2(5, 53), Vector2(5, 53), Vector2(5, 53)] } +tracks/7/type = "value" +tracks/7/imported = false +tracks/7/enabled = true +tracks/7/path = NodePath("Root/Rig/Body:rotation") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/keys = { +"times": PackedFloat32Array(0, 0.1, 0.2), +"transitions": PackedFloat32Array(1, 1, 1), +"update": 0, +"values": [-0.194275, -0.250268, -0.194275] +} +tracks/8/type = "value" +tracks/8/imported = false +tracks/8/enabled = true +tracks/8/path = NodePath("Root/Rig/Body/Hat:position") +tracks/8/interp = 1 +tracks/8/loop_wrap = true +tracks/8/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(2, -91)] +} +tracks/9/type = "value" +tracks/9/imported = false +tracks/9/enabled = true +tracks/9/path = NodePath("Root/Rig/Body/Hat:rotation") +tracks/9/interp = 1 +tracks/9/loop_wrap = true +tracks/9/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.0] +} tracks/10/type = "value" tracks/10/imported = false tracks/10/enabled = true -tracks/10/path = NodePath("Root/Rig/Body:rotation") +tracks/10/path = NodePath("Root/Rig/Body/HandL:position") tracks/10/interp = 1 tracks/10/loop_wrap = true tracks/10/keys = { -"times": PackedFloat32Array(0, 0.15, 0.25), +"times": PackedFloat32Array(0, 0.1, 0.2), "transitions": PackedFloat32Array(1, 1, 1), "update": 0, -"values": [0.0, -0.278326, 0.204683] +"values": [Vector2(-27.2463, -58.3579), Vector2(-70.3036, -52.0327), Vector2(-27.2463, -58.3579)] } tracks/11/type = "value" tracks/11/imported = false tracks/11/enabled = true -tracks/11/path = NodePath("Root/Rig/Body:scale") +tracks/11/path = NodePath("Root/Rig/Body/HandL:rotation") tracks/11/interp = 1 tracks/11/loop_wrap = true tracks/11/keys = { -"times": PackedFloat32Array(0, 0.15, 0.25), +"times": PackedFloat32Array(0, 0.1, 0.2), "transitions": PackedFloat32Array(1, 1, 1), "update": 0, -"values": [Vector2(1, 1), Vector2(0.9, 1.1), Vector2(1.1, 0.9)] +"values": [0.0, 0.0, 0.0] } tracks/12/type = "value" tracks/12/imported = false tracks/12/enabled = true -tracks/12/path = NodePath("Root/Rig/Body/Hat:position") +tracks/12/path = NodePath("Root/Rig/Body/HandR:position") tracks/12/interp = 1 tracks/12/loop_wrap = true tracks/12/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, -"values": [Vector2(2, -91)] +"values": [Vector2(37.6892, -51.6964)] } tracks/13/type = "value" tracks/13/imported = false tracks/13/enabled = true -tracks/13/path = NodePath("Root/Rig/Body/Hat:rotation") +tracks/13/path = NodePath("Root/Rig/Body/HandR:rotation") tracks/13/interp = 1 tracks/13/loop_wrap = true tracks/13/keys = { @@ -2736,7 +3019,7 @@ tracks/13/keys = { tracks/14/type = "value" tracks/14/imported = false tracks/14/enabled = true -tracks/14/path = NodePath("Root/Rig/Body/Hat:scale") +tracks/14/path = NodePath("Root/Rig:scale") tracks/14/interp = 1 tracks/14/loop_wrap = true tracks/14/keys = { @@ -2748,35 +3031,35 @@ tracks/14/keys = { tracks/15/type = "value" tracks/15/imported = false tracks/15/enabled = true -tracks/15/path = NodePath("Root/Rig/Body/HandL:position") +tracks/15/path = NodePath("Root/Rig/LegL:scale") tracks/15/interp = 1 tracks/15/loop_wrap = true tracks/15/keys = { -"times": PackedFloat32Array(0, 0.15, 0.25), +"times": PackedFloat32Array(0, 0.1, 0.2), "transitions": PackedFloat32Array(1, 1, 1), "update": 0, -"values": [Vector2(-60, -53), Vector2(-1.7771, -44.1117), Vector2(-77.4704, -36.9794)] +"values": [Vector2(1, 1), Vector2(1, 1), Vector2(1, 1)] } tracks/16/type = "value" tracks/16/imported = false tracks/16/enabled = true -tracks/16/path = NodePath("Root/Rig/Body/HandL:rotation") +tracks/16/path = NodePath("Root/Rig/LegR:scale") tracks/16/interp = 1 tracks/16/loop_wrap = true tracks/16/keys = { -"times": PackedFloat32Array(0, 0.15, 0.25), -"transitions": PackedFloat32Array(1, 1, 1), +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), "update": 0, -"values": [0.0, 0.0, 0.0] +"values": [Vector2(1, 1)] } tracks/17/type = "value" tracks/17/imported = false tracks/17/enabled = true -tracks/17/path = NodePath("Root/Rig/Body/HandL:scale") +tracks/17/path = NodePath("Root/Rig/Body:scale") tracks/17/interp = 1 tracks/17/loop_wrap = true tracks/17/keys = { -"times": PackedFloat32Array(0, 0.15, 0.25), +"times": PackedFloat32Array(0, 0.1, 0.2), "transitions": PackedFloat32Array(1, 1, 1), "update": 0, "values": [Vector2(1, 1), Vector2(1, 1), Vector2(1, 1)] @@ -2784,26 +3067,26 @@ tracks/17/keys = { tracks/18/type = "value" tracks/18/imported = false tracks/18/enabled = true -tracks/18/path = NodePath("Root/Rig/Body/HandR:position") +tracks/18/path = NodePath("Root/Rig/Body/Hat:scale") tracks/18/interp = 1 tracks/18/loop_wrap = true tracks/18/keys = { -"times": PackedFloat32Array(0, 0.15, 0.25), -"transitions": PackedFloat32Array(1, 1, 1), +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), "update": 0, -"values": [Vector2(51, -51), Vector2(-70.2132, -64.2738), Vector2(71.4504, -76.2001)] +"values": [Vector2(1, 1)] } tracks/19/type = "value" tracks/19/imported = false tracks/19/enabled = true -tracks/19/path = NodePath("Root/Rig/Body/HandR:rotation") +tracks/19/path = NodePath("Root/Rig/Body/HandL:scale") tracks/19/interp = 1 tracks/19/loop_wrap = true tracks/19/keys = { -"times": PackedFloat32Array(0, 0.15, 0.25), +"times": PackedFloat32Array(0, 0.1, 0.2), "transitions": PackedFloat32Array(1, 1, 1), "update": 0, -"values": [0.0, 0.0, 0.0] +"values": [Vector2(1, 1), Vector2(1, 1), Vector2(1, 1)] } tracks/20/type = "value" tracks/20/imported = false @@ -2812,156 +3095,144 @@ tracks/20/path = NodePath("Root/Rig/Body/HandR:scale") tracks/20/interp = 1 tracks/20/loop_wrap = true tracks/20/keys = { -"times": PackedFloat32Array(0, 0.15, 0.25), -"transitions": PackedFloat32Array(1, 1, 1), -"update": 0, -"values": [Vector2(1, 1), Vector2(1, 1), Vector2(1.6, 1.6)] -} -tracks/21/type = "value" -tracks/21/imported = false -tracks/21/enabled = true -tracks/21/path = NodePath("Root/Hitbox/CollisionShape2D:disabled") -tracks/21/interp = 1 -tracks/21/loop_wrap = true -tracks/21/keys = { -"times": PackedFloat32Array(0, 0.25, 0.3), -"transitions": PackedFloat32Array(1, 1, 1), -"update": 1, -"values": [true, false, true] -} - -[sub_resource type="Animation" id="Animation_g7a0r"] -resource_name = "attack_3" -length = 0.35 -step = 0.05 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("Root/Rig/Body:position") -tracks/0/interp = 2 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0, 0.2, 0.3), -"transitions": PackedFloat32Array(1, 1, 1), -"update": 0, -"values": [Vector2(5, 53), Vector2(-5, 40), Vector2(-5, 40)] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("Root/Rig/Body:rotation") -tracks/1/interp = 2 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0, 0.2, 0.3), -"transitions": PackedFloat32Array(1, 1, 1), -"update": 0, -"values": [0.0, -0.349066, 0.436332] -} -tracks/2/type = "value" -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/path = NodePath("Root/Rig/Body:scale") -tracks/2/interp = 1 -tracks/2/loop_wrap = true -tracks/2/keys = { -"times": PackedFloat32Array(0, 0.2, 0.3), -"transitions": PackedFloat32Array(1, 1, 1), -"update": 0, -"values": [Vector2(1, 1), Vector2(0.9, 1.1), Vector2(1.1, 0.9)] -} -tracks/3/type = "value" -tracks/3/imported = false -tracks/3/enabled = true -tracks/3/path = NodePath("Root/Rig/Body/Hat:position") -tracks/3/interp = 1 -tracks/3/loop_wrap = true -tracks/3/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [Vector2(2, -91)] -} -tracks/4/type = "value" -tracks/4/imported = false -tracks/4/enabled = true -tracks/4/path = NodePath("Root/Rig/Body/Hat:rotation") -tracks/4/interp = 1 -tracks/4/loop_wrap = true -tracks/4/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 0, -"values": [0.0] -} -tracks/5/type = "value" -tracks/5/imported = false -tracks/5/enabled = true -tracks/5/path = NodePath("Root/Rig/Body/Hat:scale") -tracks/5/interp = 1 -tracks/5/loop_wrap = true -tracks/5/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [Vector2(1, 1)] } + +[sub_resource type="Animation" id="Animation_yn0t6"] +resource_name = "ranged_throw" +length = 0.1 +step = 0.05 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Root/Rig:position") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(0, -76)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("Root/Rig:rotation") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [0.0] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("Root/Rig/LegL:position") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0, 0.1), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(-48, 64), Vector2(45, 67)] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("Root/Rig/LegL:rotation") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0, 0.1), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [0.862915, -0.786391] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("Root/Rig/LegR:position") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0, 0.1), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(31, 65), Vector2(-27, 64)] +} +tracks/5/type = "value" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath("Root/Rig/LegR:rotation") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = { +"times": PackedFloat32Array(0, 0.1), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [0.0, 0.899266] +} tracks/6/type = "value" tracks/6/imported = false tracks/6/enabled = true -tracks/6/path = NodePath("Root/Rig/Body/HandL:position") -tracks/6/interp = 2 +tracks/6/path = NodePath("Root/Rig/Body:position") +tracks/6/interp = 1 tracks/6/loop_wrap = true tracks/6/keys = { -"times": PackedFloat32Array(0, 0.2, 0.25, 0.3), -"transitions": PackedFloat32Array(1, 1, 1, 1), +"times": PackedFloat32Array(0, 0.1), +"transitions": PackedFloat32Array(1, 1), "update": 0, -"values": [Vector2(-60, -53), Vector2(-93.4894, -42.3521), Vector2(6.40698, 1.6281), Vector2(68.5276, -75.9627)] +"values": [Vector2(5, 53), Vector2(5, 53)] } tracks/7/type = "value" tracks/7/imported = false tracks/7/enabled = true -tracks/7/path = NodePath("Root/Rig/Body/HandL:rotation") -tracks/7/interp = 2 +tracks/7/path = NodePath("Root/Rig/Body:rotation") +tracks/7/interp = 1 tracks/7/loop_wrap = true tracks/7/keys = { -"times": PackedFloat32Array(0, 0.2, 0.25, 0.3), -"transitions": PackedFloat32Array(1, 1, 1, 1), +"times": PackedFloat32Array(0, 0.1), +"transitions": PackedFloat32Array(1, 1), "update": 0, -"values": [0.0, 1.70101, 0.0, 0.0] +"values": [-0.250268, 0.250549] } tracks/8/type = "value" tracks/8/imported = false tracks/8/enabled = true -tracks/8/path = NodePath("Root/Rig/Body/HandL:scale") +tracks/8/path = NodePath("Root/Rig/Body/Hat:position") tracks/8/interp = 1 tracks/8/loop_wrap = true tracks/8/keys = { -"times": PackedFloat32Array(0, 0.2, 0.3), -"transitions": PackedFloat32Array(1, 1, 1), +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), "update": 0, -"values": [Vector2(1, 1), Vector2(2, 2), Vector2(3, 3)] +"values": [Vector2(2, -91)] } tracks/9/type = "value" tracks/9/imported = false tracks/9/enabled = true -tracks/9/path = NodePath("Root/Rig/Body/HandR:position") -tracks/9/interp = 2 +tracks/9/path = NodePath("Root/Rig/Body/Hat:rotation") +tracks/9/interp = 1 tracks/9/loop_wrap = true tracks/9/keys = { -"times": PackedFloat32Array(0, 0.2, 0.3), -"transitions": PackedFloat32Array(1, 1, 1), +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), "update": 0, -"values": [Vector2(51, -51), Vector2(-1.40495, -52.6598), Vector2(-66.8689, -27.8787)] +"values": [0.0] } tracks/10/type = "value" tracks/10/imported = false tracks/10/enabled = true -tracks/10/path = NodePath("Root/Rig/Body/HandR:rotation") -tracks/10/interp = 2 +tracks/10/path = NodePath("Root/Rig/Body/HandL:rotation") +tracks/10/interp = 1 tracks/10/loop_wrap = true tracks/10/keys = { -"times": PackedFloat32Array(0, 0.2, 0.3), +"times": PackedFloat32Array(0, 0.05, 0.1), "transitions": PackedFloat32Array(1, 1, 1), "update": 0, "values": [0.0, 0.0, 0.0] @@ -2969,38 +3240,38 @@ tracks/10/keys = { tracks/11/type = "value" tracks/11/imported = false tracks/11/enabled = true -tracks/11/path = NodePath("Root/Rig/Body/HandR:scale") +tracks/11/path = NodePath("Root/Rig/Body/HandR:position") tracks/11/interp = 1 tracks/11/loop_wrap = true tracks/11/keys = { -"times": PackedFloat32Array(0, 0.2, 0.3), -"transitions": PackedFloat32Array(1, 1, 1), +"times": PackedFloat32Array(0, 0.1), +"transitions": PackedFloat32Array(1, 1), "update": 0, -"values": [Vector2(1, 1), Vector2(1, 1), Vector2(1, 1)] +"values": [Vector2(37.6892, -51.6964), Vector2(-36.284, -25.5073)] } tracks/12/type = "value" tracks/12/imported = false tracks/12/enabled = true -tracks/12/path = NodePath("Root/Rig/LegL:position") -tracks/12/interp = 2 +tracks/12/path = NodePath("Root/Rig/Body/HandR:rotation") +tracks/12/interp = 1 tracks/12/loop_wrap = true tracks/12/keys = { -"times": PackedFloat32Array(0, 0.2, 0.3), -"transitions": PackedFloat32Array(1, 1, 1), +"times": PackedFloat32Array(0, 0.1), +"transitions": PackedFloat32Array(1, 1), "update": 0, -"values": [Vector2(-29, 65), Vector2(-57, 59), Vector2(37, 63)] +"values": [0.0, 0.0] } tracks/13/type = "value" tracks/13/imported = false tracks/13/enabled = true -tracks/13/path = NodePath("Root/Rig/LegL:rotation") -tracks/13/interp = 2 +tracks/13/path = NodePath("Root/Rig:scale") +tracks/13/interp = 1 tracks/13/loop_wrap = true tracks/13/keys = { -"times": PackedFloat32Array(0, 0.2, 0.3), -"transitions": PackedFloat32Array(1, 1, 1), +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), "update": 0, -"values": [0.0, 0.706805, -0.742333] +"values": [Vector2(1, 1)] } tracks/14/type = "value" tracks/14/imported = false @@ -3009,70 +3280,82 @@ tracks/14/path = NodePath("Root/Rig/LegL:scale") tracks/14/interp = 1 tracks/14/loop_wrap = true tracks/14/keys = { -"times": PackedFloat32Array(0, 0.2, 0.3), -"transitions": PackedFloat32Array(1, 1, 1), +"times": PackedFloat32Array(0, 0.1), +"transitions": PackedFloat32Array(1, 1), "update": 0, -"values": [Vector2(1, 1), Vector2(1, 1), Vector2(1, 1)] +"values": [Vector2(1, 1), Vector2(1, 1)] } tracks/15/type = "value" tracks/15/imported = false tracks/15/enabled = true -tracks/15/path = NodePath("Root/Rig/LegR:position") -tracks/15/interp = 2 +tracks/15/path = NodePath("Root/Rig/LegR:scale") +tracks/15/interp = 1 tracks/15/loop_wrap = true tracks/15/keys = { -"times": PackedFloat32Array(0, 0.2, 0.3), -"transitions": PackedFloat32Array(1, 1, 1), +"times": PackedFloat32Array(0, 0.1), +"transitions": PackedFloat32Array(1, 1), "update": 0, -"values": [Vector2(31, 65), Vector2(31, 65), Vector2(-45, 39)] +"values": [Vector2(1, 1), Vector2(1, 1)] } tracks/16/type = "value" tracks/16/imported = false tracks/16/enabled = true -tracks/16/path = NodePath("Root/Rig/LegR:rotation") -tracks/16/interp = 2 +tracks/16/path = NodePath("Root/Rig/Body:scale") +tracks/16/interp = 1 tracks/16/loop_wrap = true tracks/16/keys = { -"times": PackedFloat32Array(0, 0.2, 0.3), -"transitions": PackedFloat32Array(1, 1, 1), +"times": PackedFloat32Array(0, 0.1), +"transitions": PackedFloat32Array(1, 1), "update": 0, -"values": [0.0, -0.477383, 1.06217] +"values": [Vector2(0.9, 1.1), Vector2(1.1, 0.9)] } tracks/17/type = "value" tracks/17/imported = false tracks/17/enabled = true -tracks/17/path = NodePath("Root/Rig/LegR:scale") +tracks/17/path = NodePath("Root/Rig/Body/Hat:scale") tracks/17/interp = 1 tracks/17/loop_wrap = true tracks/17/keys = { -"times": PackedFloat32Array(0, 0.2, 0.3), -"transitions": PackedFloat32Array(1, 1, 1), +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), "update": 0, -"values": [Vector2(1, 1), Vector2(1, 1), Vector2(1, 1)] +"values": [Vector2(1, 1)] } tracks/18/type = "value" tracks/18/imported = false tracks/18/enabled = true -tracks/18/path = NodePath("Root/FX/Cloud:visible") +tracks/18/path = NodePath("Root/Rig/Body/HandL:position") tracks/18/interp = 1 tracks/18/loop_wrap = true tracks/18/keys = { -"times": PackedFloat32Array(0), -"transitions": PackedFloat32Array(1), -"update": 1, -"values": [false] +"times": PackedFloat32Array(0, 0.05, 0.1), +"transitions": PackedFloat32Array(1, 1, 1), +"update": 0, +"values": [Vector2(-70.3036, -52.0327), Vector2(-5.01252, -88.9993), Vector2(66.2323, -78.0635)] } tracks/19/type = "value" tracks/19/imported = false tracks/19/enabled = true -tracks/19/path = NodePath("Root/Hitbox/CollisionShape2D:disabled") +tracks/19/path = NodePath("Root/Rig/Body/HandL:scale") tracks/19/interp = 1 tracks/19/loop_wrap = true tracks/19/keys = { -"times": PackedFloat32Array(0, 0.25, 0.35), +"times": PackedFloat32Array(0, 0.05, 0.1), "transitions": PackedFloat32Array(1, 1, 1), -"update": 1, -"values": [true, false, true] +"update": 0, +"values": [Vector2(1, 1), Vector2(1, 1), Vector2(1.5, 1.5)] +} +tracks/20/type = "value" +tracks/20/imported = false +tracks/20/enabled = true +tracks/20/path = NodePath("Root/Rig/Body/HandR:scale") +tracks/20/interp = 1 +tracks/20/loop_wrap = true +tracks/20/keys = { +"times": PackedFloat32Array(0, 0.1), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(1, 1), Vector2(1, 1)] } [sub_resource type="AnimationLibrary" id="AnimationLibrary_ws2ti"] @@ -3081,10 +3364,11 @@ _data = { "attack_1": SubResource("Animation_8wj70"), "attack_2": SubResource("Animation_s1dey"), "attack_3": SubResource("Animation_g7a0r"), -"attack_ranged": SubResource("Animation_b0ub6"), "death": SubResource("Animation_wei72"), "hurt": SubResource("Animation_gowr5"), "idle": SubResource("Animation_gnqgt"), +"ranged_prepare": SubResource("Animation_kb56n"), +"ranged_throw": SubResource("Animation_yn0t6"), "roll": SubResource("Animation_msfb2"), "spit": SubResource("Animation_uow76"), "summon": SubResource("Animation_5mxvi"), @@ -3101,6 +3385,11 @@ metadata/_edit_lock_ = true [node name="Rig" type="Node2D" parent="Root"] position = Vector2(0, -76) +[node name="Shadow" type="Sprite2D" parent="Root/Rig"] +modulate = Color(1, 1, 1, 0.815686) +position = Vector2(0, 76) +texture = ExtResource("2_vr0jo") + [node name="LegL" type="Sprite2D" parent="Root/Rig"] position = Vector2(-29, 65) texture = ExtResource("1_1u51b") @@ -3182,6 +3471,7 @@ debug_color = Color(0.466325, 0.590206, 0.107862, 0.42) metadata/_edit_lock_ = true [node name="CollisionShape2D" type="CollisionShape2D" parent="."] +visible = false position = Vector2(-1, -7) scale = Vector2(0.6, 0.16) shape = SubResource("CircleShape2D_so8wt") diff --git a/demo/demo/assets/shadow.png b/demo/demo/assets/shadow.png new file mode 100644 index 0000000000000000000000000000000000000000..d2ab969a5f42622e92ed5517ce7b700b2e5a4eca GIT binary patch literal 2773 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 b@sj=l-9(dv=D9|H00000NkvXXu0mjfDkUwL literal 0 HcmV?d00001 diff --git a/demo/demo/assets/shadow.png.import b/demo/demo/assets/shadow.png.import new file mode 100644 index 0000000..5ec9cc1 --- /dev/null +++ b/demo/demo/assets/shadow.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dwhhxj5557qrb" +path="res://.godot/imported/shadow.png-f4b948130f51dfdf8369bd133baa3734.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://demo/assets/shadow.png" +dest_files=["res://.godot/imported/shadow.png-f4b948130f51dfdf8369bd133baa3734.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