]> Untitled Git - frog-ninja.git/commitdiff
Added slash move
authorClifton Palmer <clifton.james.palmer@protonmail.com>
Tue, 6 May 2025 16:59:16 +0000 (19:59 +0300)
committerClifton Palmer <clifton.james.palmer@protonmail.com>
Tue, 6 May 2025 16:59:16 +0000 (19:59 +0300)
player/input/InputHandler.gd
player/model.gd
player/moves/Move.gd
player/moves/slash.gd [new file with mode: 0644]
player/moves/slash.gd.uid [new file with mode: 0644]
player/player.gd
player/player.tscn
project.godot
skin/prototype_skin.tscn
skin/skin.gd

index d7f2fb41b2e531bb34f3a11f6b26e930ca84762c..9d0e7de40047913637202add498f5fefaf17a6bc 100644 (file)
@@ -20,6 +20,9 @@ func get_player_input() -> InputPacket:
        if Input.is_action_just_pressed("player-dash"):
                p.actions.append("dash")
        
+       if Input.is_action_just_pressed("player-slash"):
+               p.actions.append("slash")
+       
        if p.actions.is_empty():
                p.actions.append("idle")
                
index c3657b06b484102e140754cd92346a4d1543bf0d..862eb64886d630c456f0fff18dcabdc7dd72414f 100644 (file)
@@ -7,6 +7,7 @@ class_name PlayerModel
 @onready var moves: Dictionary = {
        "idle": $Idle,
        "walk": $Walk,
+       "slash": $Slash,
        "dash": $Dash,
        "fall": $Fall
 }
index 12814780b1c4a9431135bfc1228ac5735513e936..1e6f0fade38c0536df147d0ba08773868005e69b 100644 (file)
@@ -10,6 +10,7 @@ var camera: Camera3D
 static var moves_priority: Dictionary = {
        "idle": 0,
        "walk": 1,
+       "slash": 2,
        "fall": 50,
        "dash": 100
 }
diff --git a/player/moves/slash.gd b/player/moves/slash.gd
new file mode 100644 (file)
index 0000000..a9c3b91
--- /dev/null
@@ -0,0 +1,25 @@
+extends Move
+class_name Slash
+
+
+@onready var timer: Timer = $Timer
+
+var finished := false
+
+
+func should_enter(input: InputPacket) -> String:
+       if finished:
+               input.actions.sort_custom(moves_priority_sort)
+               return input.actions[0]
+       return "slash"
+
+
+func on_enter_state():
+       finished = false
+       player.skin.animation_tree.animation_finished.connect(_on_animation_finished)
+       player.skin.transition_slash()
+
+
+func _on_animation_finished(n: String):
+       finished = true
+       player.skin.animation_tree.animation_finished.disconnect(_on_animation_finished)
diff --git a/player/moves/slash.gd.uid b/player/moves/slash.gd.uid
new file mode 100644 (file)
index 0000000..75e0a88
--- /dev/null
@@ -0,0 +1 @@
+uid://d28gnkyqsg3t
index 2c6782d20207e2bc1d76d34f37ae6293d06301ca..56239f17a4be4891132a236d3327998790f99410 100644 (file)
@@ -3,7 +3,7 @@ class_name Player
 
 
 @export_group("Movement")
-@export var walk_speed := 8.0
+@export var walk_speed := 10.0
 @export var dash_length := 10.0
 @export var acceleration := 20.0
 @export var rotation_speed := 10.0
@@ -11,7 +11,7 @@ class_name Player
 
 
 var idle_time := 0.00
-var last_movement_direction := Vector3.ZERO
+var last_movement_direction := rotation 
 var state := ""
 var floor_normal := Vector3.ZERO
 var ground_slope_input := 0.0
index a51c523c4071d275e17153790294f36585f3a041..f9e8714acc457cba77cafc93a06916c342c087ae 100644 (file)
@@ -1,4 +1,4 @@
-[gd_scene load_steps=11 format=3 uid="uid://cchu1yltrhuk3"]
+[gd_scene load_steps=12 format=3 uid="uid://cchu1yltrhuk3"]
 
 [ext_resource type="PackedScene" uid="uid://dvkx3t15l7mfb" path="res://skin/prototype_skin.tscn" id="1_4flbx"]
 [ext_resource type="Script" uid="uid://dcv34jq0jett0" path="res://player/player.gd" id="1_onrkg"]
@@ -9,6 +9,7 @@
 [ext_resource type="Script" uid="uid://cqurhmxam2nl0" path="res://player/moves/walk.gd" id="7_rgyib"]
 [ext_resource type="Script" uid="uid://bdiks0m7vsn5w" path="res://player/moves/dash.gd" id="8_hg6s5"]
 [ext_resource type="Script" uid="uid://b0oj5iuvr8omo" path="res://player/moves/fall.gd" id="9_hg6s5"]
+[ext_resource type="Script" uid="uid://d28gnkyqsg3t" path="res://player/moves/slash.gd" id="10_8t03j"]
 
 [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_sh265"]
 
@@ -60,4 +61,8 @@ wait_time = 0.25
 script = ExtResource("9_hg6s5")
 metadata/_custom_type_script = "uid://c886t1c86q0m6"
 
+[node name="Slash" type="Node" parent="Model"]
+script = ExtResource("10_8t03j")
+metadata/_custom_type_script = "uid://c886t1c86q0m6"
+
 [connection signal="timeout" from="Model/Dash/Timer" to="Model/Dash" method="_on_timer_timeout"]
index 9f61ee29a2e9ea516343b14e6d24cf1d5d693991..8cca96d0f6f7797030d7c82f5f3716662a76c3f4 100644 (file)
@@ -45,7 +45,7 @@ player-backward={
 }
 player-slash={
 "deadzone": 0.2,
-"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":1,"position":Vector2(1359, 44),"global_position":Vector2(1378, 140),"factor":1.0,"button_index":1,"canceled":false,"pressed":true,"double_click":false,"script":null)
+"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":82,"physical_keycode":0,"key_label":0,"unicode":114,"location":0,"echo":false,"script":null)
 ]
 }
 player-shoot={
index c653b43f0db9738f73a7ca1a66d3a448d2eff203..d03466e91364d8b16f94f29ad4ea2c3e3dfe9937 100644 (file)
@@ -60,6 +60,7 @@ min_space = 0.0
 max_space = 16.0
 
 [sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_s02u1"]
+graph_offset = Vector2(-400.628, 24.5853)
 nodes/Animation/node = SubResource("AnimationNodeAnimation_i12oj")
 nodes/Animation/position = Vector2(-80, 510)
 "nodes/Animation 2/node" = SubResource("AnimationNodeAnimation_kang0")
@@ -83,80 +84,80 @@ node_connections = [&"TimeScale", 0, &"movement", &"TimeScale 2", 0, &"Animation
 script = ExtResource("2_bmadk")
 
 [node name="Skeleton3D" parent="." index="0"]
-bones/0/position = Vector3(0.255873, 0.842351, 0.257018)
-bones/0/rotation = Quaternion(0.547158, -0.630382, 0.0729679, 0.545812)
-bones/1/position = Vector3(-0.296739, 0.832353, -0.17782)
-bones/1/rotation = Quaternion(0.410752, 0.449975, 0.41196, 0.677565)
-bones/3/position = Vector3(-0.00317644, 0.970107, 0.00542627)
-bones/3/rotation = Quaternion(0.0145589, -0.330526, -0.00234417, 0.943682)
+bones/0/position = Vector3(0.260809, 0.850218, 0.263214)
+bones/0/rotation = Quaternion(0.543906, -0.624426, 0.0838056, 0.554288)
+bones/1/position = Vector3(-0.300572, 0.836947, -0.174021)
+bones/1/rotation = Quaternion(0.407533, 0.452229, 0.412994, 0.677379)
+bones/3/position = Vector3(-0.00332663, 0.971291, 0.00832966)
+bones/3/rotation = Quaternion(0.0124273, -0.330532, -0.00299457, 0.943708)
 bones/4/rotation = Quaternion(-0.0801557, -2.41264e-07, -4.07088e-07, 0.996782)
-bones/5/rotation = Quaternion(0.0948791, 0.0410984, -0.00984408, 0.994591)
+bones/5/rotation = Quaternion(0.0926959, 0.0413424, -0.00940879, 0.994791)
 bones/5/scale = Vector3(1, 1, 1)
-bones/6/rotation = Quaternion(0.107621, 0.122443, -0.0114329, 0.986557)
+bones/6/rotation = Quaternion(0.10542, 0.123254, -0.0109976, 0.986699)
 bones/6/scale = Vector3(1, 0.999996, 1)
-bones/7/rotation = Quaternion(0.226928, -0.010138, 0.00281294, 0.973855)
-bones/8/rotation = Quaternion(-0.165356, 0.179767, -0.0306663, 0.969227)
-bones/9/rotation = Quaternion(-0.0485325, -0.00390478, -0.0174275, 0.998662)
-bones/10/position = Vector3(-0.00317646, 0.970107, 0.00542627)
-bones/10/rotation = Quaternion(0.261209, 0.851849, 0.440938, -0.108155)
-bones/11/position = Vector3(-0.00317632, 0.970107, 0.00542637)
-bones/11/rotation = Quaternion(-0.467207, 0.601908, 0.180107, 0.622082)
-bones/12/position = Vector3(0.0707533, 0.901658, 0.0428463)
-bones/12/rotation = Quaternion(0.921665, 0.0305327, 0.321693, 0.214745)
-bones/12/scale = Vector3(1.01669, 0.967441, 1.01669)
-bones/13/rotation = Quaternion(-1.22986e-07, -0.0245759, -4.10061e-08, 0.999698)
-bones/14/rotation = Quaternion(0.175418, -0.0254255, 0.00436322, 0.984156)
-bones/14/scale = Vector3(0.999989, 0.994191, 1.00639)
-bones/15/rotation = Quaternion(-3.75791e-08, 0.0369838, 1.0712e-08, 0.999316)
-bones/16/rotation = Quaternion(-0.41303, 0.0362973, 0.109206, 0.903417)
-bones/16/scale = Vector3(0.985371, 1.00299, 1.01309)
-bones/17/rotation = Quaternion(-0.024165, 0.934336, -0.355366, -0.0121824)
+bones/7/rotation = Quaternion(0.230044, -0.00995115, 0.00277355, 0.973125)
+bones/8/rotation = Quaternion(-0.165359, 0.179676, -0.0306509, 0.969244)
+bones/9/rotation = Quaternion(-0.0600451, -0.00318861, -0.0170214, 0.998045)
+bones/10/position = Vector3(-0.00332665, 0.971291, 0.00832966)
+bones/10/rotation = Quaternion(0.262533, 0.852293, 0.439544, -0.107119)
+bones/11/position = Vector3(-0.00332651, 0.971291, 0.00832975)
+bones/11/rotation = Quaternion(-0.467532, 0.602775, 0.17825, 0.621533)
+bones/12/position = Vector3(0.0704251, 0.902782, 0.0459904)
+bones/12/rotation = Quaternion(0.922238, 0.0302365, 0.321662, 0.212361)
+bones/12/scale = Vector3(1.01669, 0.967434, 1.01669)
+bones/13/rotation = Quaternion(-1.22834e-07, -0.0245666, -4.08763e-08, 0.999698)
+bones/14/rotation = Quaternion(0.1744, -0.0254012, 0.00433313, 0.984338)
+bones/14/scale = Vector3(0.999989, 0.994181, 1.0064)
+bones/15/rotation = Quaternion(-3.75794e-08, 0.0369689, 1.1106e-08, 0.999317)
+bones/16/rotation = Quaternion(-0.414081, 0.0364559, 0.10814, 0.903058)
+bones/16/scale = Vector3(0.98537, 1.00297, 1.01311)
+bones/17/rotation = Quaternion(-0.024012, 0.934387, -0.355232, -0.012408)
 bones/17/scale = Vector3(0.999462, 1.00037, 1.00017)
-bones/18/position = Vector3(-0.0575325, 0.903964, -0.0595477)
-bones/18/rotation = Quaternion(0.938392, -0.102573, 0.328216, -0.0342664)
-bones/18/scale = Vector3(1.01532, 0.970059, 1.01532)
-bones/19/rotation = Quaternion(-7.70385e-10, 0.086999, 1.27716e-08, 0.996208)
-bones/20/rotation = Quaternion(0.215068, 0.0864443, -0.018495, 0.97259)
-bones/20/scale = Vector3(0.999992, 0.992173, 1.00852)
-bones/21/rotation = Quaternion(-3.69935e-08, 0.0721317, -7.4503e-09, 0.997395)
-bones/22/rotation = Quaternion(-0.561055, 0.0714733, -0.109943, 0.817326)
-bones/22/scale = Vector3(0.988316, 0.989831, 1.02291)
-bones/23/rotation = Quaternion(-0.00195269, 0.937019, -0.349253, -0.00363733)
+bones/18/position = Vector3(-0.057873, 0.905054, -0.0563889)
+bones/18/rotation = Quaternion(0.938326, -0.10075, 0.328475, -0.0387085)
+bones/18/scale = Vector3(1.01534, 0.970017, 1.01534)
+bones/19/rotation = Quaternion(-5.55201e-10, 0.0869997, 1.28147e-08, 0.996208)
+bones/20/rotation = Quaternion(0.207993, 0.0867494, -0.017921, 0.974111)
+bones/20/scale = Vector3(0.999992, 0.99283, 1.0078)
+bones/21/rotation = Quaternion(-3.89034e-08, 0.0721712, -8.62977e-09, 0.997392)
+bones/22/rotation = Quaternion(-0.558689, 0.0715777, -0.110921, 0.818804)
+bones/22/scale = Vector3(0.988651, 0.990078, 1.02229)
+bones/23/rotation = Quaternion(-0.00191557, 0.937032, -0.349221, -0.00355639)
 bones/23/scale = Vector3(0.999647, 1.00025, 1.0001)
-bones/24/position = Vector3(0.0517747, 1.57737, 0.163118)
-bones/24/rotation = Quaternion(0.1702, -0.0970898, -0.0620517, 0.97865)
-bones/25/position = Vector3(0.0549644, 1.6112, 0.175643)
-bones/25/rotation = Quaternion(-0.385611, 0.00480359, -0.369344, 0.845498)
-bones/26/position = Vector3(0.0734354, 1.62398, 0.156138)
-bones/26/rotation = Quaternion(0.758216, -0.0410669, 0.637793, -0.129004)
+bones/24/position = Vector3(0.0543125, 1.58126, 0.159893)
+bones/24/rotation = Quaternion(0.155528, -0.0969794, -0.0618814, 0.98111)
+bones/25/position = Vector3(0.0576875, 1.61535, 0.171379)
+bones/25/rotation = Quaternion(-0.398519, 0.000798905, -0.369819, 0.839295)
+bones/26/position = Vector3(0.076152, 1.62748, 0.151458)
+bones/26/rotation = Quaternion(0.760778, -0.0326138, 0.63754, -0.117034)
 bones/26/scale = Vector3(1.00001, 0.999978, 1.00001)
 bones/27/scale = Vector3(0.999989, 1.00002, 0.999994)
-bones/28/position = Vector3(0.0614886, 1.55988, 0.161545)
-bones/28/rotation = Quaternion(0.139772, -0.396061, 0.211622, 0.882505)
-bones/29/position = Vector3(-0.113034, 1.56364, 0.159132)
-bones/29/rotation = Quaternion(0.159985, 0.0870801, 0.147275, 0.972179)
-bones/30/position = Vector3(-0.122387, 1.5964, 0.171316)
-bones/30/rotation = Quaternion(-0.392741, -0.0573782, 0.42884, 0.811516)
-bones/31/position = Vector3(-0.141754, 1.60603, 0.150888)
-bones/31/rotation = Quaternion(0.767459, 0.107051, -0.627688, -0.074525)
+bones/28/position = Vector3(0.0639893, 1.56371, 0.1588)
+bones/28/rotation = Quaternion(0.126537, -0.391956, 0.216326, 0.88519)
+bones/29/position = Vector3(-0.110525, 1.56776, 0.15668)
+bones/29/rotation = Quaternion(0.145867, 0.0902686, 0.144719, 0.97449)
+bones/30/position = Vector3(-0.119795, 1.60089, 0.167902)
+bones/30/rotation = Quaternion(-0.404234, -0.0496072, 0.429242, 0.806155)
+bones/31/position = Vector3(-0.139175, 1.60996, 0.147256)
+bones/31/rotation = Quaternion(0.767822, 0.0968323, -0.630063, -0.0639819)
 bones/31/scale = Vector3(1.00001, 0.999994, 1)
-bones/33/position = Vector3(-0.119634, 1.54479, 0.157147)
-bones/33/rotation = Quaternion(0.111481, 0.384738, -0.134101, 0.906403)
-bones/34/position = Vector3(-0.0274365, 1.50341, 0.2595)
-bones/34/rotation = Quaternion(-0.598382, -0.034649, 0.0260155, 0.800038)
-bones/35/position = Vector3(-0.0292696, 1.51361, 0.299752)
-bones/35/rotation = Quaternion(-0.748107, -0.0392015, 0.0184541, 0.662162)
+bones/33/position = Vector3(-0.11717, 1.54888, 0.155269)
+bones/33/rotation = Quaternion(0.0983186, 0.383704, -0.140896, 0.907333)
+bones/34/position = Vector3(-0.0248074, 1.51034, 0.258574)
+bones/34/rotation = Quaternion(-0.610152, -0.0326277, 0.0263909, 0.791172)
+bones/35/position = Vector3(-0.0265186, 1.52173, 0.29851)
+bones/35/rotation = Quaternion(-0.757839, -0.0372989, 0.0192307, 0.651091)
 bones/35/scale = Vector3(1.00001, 0.999983, 1.00001)
 bones/36/rotation = Quaternion(0.172811, -6.05809e-08, 3.59375e-07, 0.984955)
 bones/36/scale = Vector3(0.99999, 1.00002, 0.999994)
-bones/37/position = Vector3(-0.0133304, 1.52172, 0.270425)
-bones/37/rotation = Quaternion(-0.126146, 0.583386, 0.775924, 0.204179)
-bones/38/position = Vector3(-0.0448914, 1.51908, 0.269655)
-bones/38/rotation = Quaternion(0.0583374, 0.596639, 0.759112, -0.253707)
-bones/39/position = Vector3(0.0131592, 1.57892, 0.248052)
-bones/39/rotation = Quaternion(-0.034649, 0.598383, 0.800038, -0.0260155)
-bones/40/position = Vector3(-0.00922233, 1.56741, 0.264273)
-bones/40/rotation = Quaternion(0.716653, 0.587847, 0.288865, -0.239586)
+bones/37/position = Vector3(-0.0106351, 1.52893, 0.268918)
+bones/37/rotation = Quaternion(-0.127564, 0.595186, 0.767143, 0.202418)
+bones/38/position = Vector3(-0.0422035, 1.52635, 0.268303)
+bones/38/rotation = Quaternion(0.063662, 0.607427, 0.750407, -0.252724)
+bones/39/position = Vector3(0.0159209, 1.58539, 0.2448)
+bones/39/rotation = Quaternion(-0.0326277, 0.610152, 0.791172, -0.0263909)
+bones/40/position = Vector3(-0.0064448, 1.57441, 0.261408)
+bones/40/rotation = Quaternion(0.721115, 0.590974, 0.279516, -0.229375)
 bones/40/scale = Vector3(0.999995, 1.00001, 0.999995)
 bones/41/rotation = Quaternion(0.0748491, -0.0181048, -0.043127, 0.996097)
 bones/41/scale = Vector3(1.00001, 0.999982, 1.00001)
@@ -164,8 +165,8 @@ bones/42/rotation = Quaternion(0.274347, -0.0136375, -0.129823, 0.95273)
 bones/42/scale = Vector3(0.999995, 1.00001, 0.999997)
 bones/43/rotation = Quaternion(0.278039, -0.00341864, 0.067147, 0.958214)
 bones/43/scale = Vector3(1, 0.999998, 1)
-bones/44/position = Vector3(0.0357074, 1.5811, 0.249532)
-bones/44/rotation = Quaternion(-0.640169, 0.601701, 0.303175, -0.369085)
+bones/44/position = Vector3(0.0385118, 1.58756, 0.246178)
+bones/44/rotation = Quaternion(-0.633626, 0.606347, 0.29544, -0.378915)
 bones/44/scale = Vector3(1, 0.999997, 1)
 bones/45/rotation = Quaternion(0.216098, -2.38372e-06, 7.31266e-05, 0.976372)
 bones/45/scale = Vector3(0.999997, 1, 0.999998)
@@ -173,12 +174,12 @@ bones/46/rotation = Quaternion(0.356984, 0.00871236, -0.115499, 0.926902)
 bones/46/scale = Vector3(0.999999, 1, 0.999997)
 bones/47/rotation = Quaternion(0.0323356, 0.0279349, -0.125373, 0.991189)
 bones/47/scale = Vector3(1.00001, 0.999983, 1.00001)
-bones/48/position = Vector3(0.0131592, 1.57892, 0.248052)
-bones/48/rotation = Quaternion(-0.034649, 0.598383, 0.800038, -0.0260155)
-bones/50/position = Vector3(-0.079372, 1.57121, 0.245794)
-bones/50/rotation = Quaternion(-0.034649, 0.598383, 0.800038, -0.0260155)
-bones/51/position = Vector3(-0.0562052, 1.56349, 0.263127)
-bones/51/rotation = Quaternion(0.769834, -0.52026, -0.290266, -0.228977)
+bones/48/position = Vector3(0.0159209, 1.58539, 0.2448)
+bones/48/rotation = Quaternion(-0.0326277, 0.610152, 0.791172, -0.0263909)
+bones/50/position = Vector3(-0.076632, 1.57781, 0.242996)
+bones/50/rotation = Quaternion(-0.0326277, 0.610152, 0.791172, -0.0263909)
+bones/51/position = Vector3(-0.0534387, 1.57056, 0.260492)
+bones/51/rotation = Quaternion(0.77221, -0.525617, -0.283235, -0.217248)
 bones/51/scale = Vector3(1, 0.999997, 1)
 bones/52/rotation = Quaternion(0.0748466, 0.0181067, 0.0431008, 0.996099)
 bones/52/scale = Vector3(0.999999, 1, 0.999999)
@@ -186,8 +187,8 @@ bones/53/rotation = Quaternion(0.274349, 0.0136351, 0.129833, 0.952728)
 bones/53/scale = Vector3(0.999999, 1, 0.999999)
 bones/54/rotation = Quaternion(0.27804, 0.00341749, -0.0671438, 0.958214)
 bones/54/scale = Vector3(0.999997, 1.00001, 0.999996)
-bones/55/position = Vector3(-0.102013, 1.56961, 0.246172)
-bones/55/rotation = Quaternion(0.580394, 0.643669, 0.348264, 0.357136)
+bones/55/position = Vector3(-0.0992758, 1.57628, 0.243475)
+bones/55/rotation = Quaternion(0.576179, 0.648551, 0.337609, 0.365265)
 bones/55/scale = Vector3(1.00001, 0.999987, 1.00001)
 bones/56/rotation = Quaternion(0.216093, 4.47298e-06, -8.28337e-05, 0.976373)
 bones/56/scale = Vector3(0.999988, 1.00002, 0.999992)
@@ -195,192 +196,192 @@ bones/57/rotation = Quaternion(0.356984, -0.0087149, 0.115506, 0.926901)
 bones/57/scale = Vector3(1, 0.999998, 0.999997)
 bones/58/rotation = Quaternion(0.0323454, -0.0279339, 0.125381, 0.991188)
 bones/58/scale = Vector3(1, 0.999999, 1)
-bones/59/position = Vector3(-0.079372, 1.57121, 0.245794)
-bones/59/rotation = Quaternion(-0.0346487, 0.598382, 0.800038, -0.0260156)
-bones/61/position = Vector3(-0.0249285, 1.47744, 0.245472)
-bones/61/rotation = Quaternion(-0.598383, -0.034649, 0.0260155, 0.800038)
-bones/62/position = Vector3(-0.0253514, 1.4858, 0.234235)
-bones/62/rotation = Quaternion(-0.507873, -0.0316159, 0.0296277, 0.860342)
-bones/65/position = Vector3(-0.0315332, 1.57246, 0.191362)
-bones/65/rotation = Quaternion(0.987853, 0.0393023, 0.0182398, 0.149227)
-bones/66/position = Vector3(-0.0210323, 1.43396, 0.234446)
-bones/66/rotation = Quaternion(0.320187, 0.00180486, 0.0432909, 0.946363)
+bones/59/position = Vector3(-0.076632, 1.57781, 0.242996)
+bones/59/rotation = Quaternion(-0.0326278, 0.610152, 0.791172, -0.0263908)
+bones/61/position = Vector3(-0.0223898, 1.48396, 0.245314)
+bones/61/rotation = Quaternion(-0.610152, -0.0326277, 0.0263909, 0.791172)
+bones/62/position = Vector3(-0.0228228, 1.49199, 0.233837)
+bones/62/rotation = Quaternion(-0.520536, -0.0295663, 0.0297805, 0.852808)
+bones/65/position = Vector3(-0.0289261, 1.57735, 0.188436)
+bones/65/rotation = Quaternion(0.985602, 0.0386778, 0.0162811, 0.163789)
+bones/66/position = Vector3(-0.0186139, 1.44016, 0.23557)
+bones/66/rotation = Quaternion(0.306211, 0.00325928, 0.0418381, 0.951038)
 bones/66/scale = Vector3(0.999995, 1.00001, 0.999996)
 bones/67/scale = Vector3(1.00001, 0.999993, 1)
-bones/68/position = Vector3(-0.021436, 1.45261, 0.186114)
-bones/68/rotation = Quaternion(0.823807, 0.0274091, 0.0335581, 0.565212)
-bones/69/position = Vector3(0.0514938, 1.57938, 0.193388)
-bones/69/rotation = Quaternion(0.993536, -0.0479684, -0.0135437, -0.101993)
-bones/72/position = Vector3(-0.11456, 1.56553, 0.189336)
-bones/72/rotation = Quaternion(0.98549, 0.132824, 0.0291673, -0.10157)
-bones/75/position = Vector3(-0.0268579, 1.49343, 0.269884)
-bones/75/rotation = Quaternion(-0.440367, -0.389228, -0.462846, 0.66359)
+bones/68/position = Vector3(-0.019414, 1.45742, 0.1869)
+bones/68/rotation = Quaternion(0.815429, 0.0277015, 0.0315232, 0.577333)
+bones/69/position = Vector3(0.0541203, 1.58414, 0.190055)
+bones/69/rotation = Quaternion(0.994865, -0.0493679, -0.0139424, -0.0872457)
+bones/72/position = Vector3(-0.111986, 1.57055, 0.186813)
+bones/72/rotation = Quaternion(0.987063, 0.132045, 0.0261005, -0.0871167)
+bones/75/position = Vector3(-0.0242242, 1.50067, 0.269247)
+bones/75/rotation = Quaternion(-0.451126, -0.394733, -0.457219, 0.65698)
 bones/76/rotation = Quaternion(-0.15209, -0.0958223, 0.266082, 0.947041)
 bones/76/scale = Vector3(0.999994, 1.00001, 0.999993)
-bones/77/position = Vector3(-0.0268579, 1.49343, 0.269884)
-bones/77/rotation = Quaternion(-0.482299, 0.335051, 0.505541, 0.632105)
+bones/77/position = Vector3(-0.0242242, 1.50067, 0.269247)
+bones/77/rotation = Quaternion(-0.49062, 0.343779, 0.500441, 0.625033)
 bones/78/rotation = Quaternion(-0.152094, 0.095823, -0.266084, 0.94704)
 bones/78/scale = Vector3(0.999994, 1.00001, 0.999994)
-bones/79/position = Vector3(-0.0255962, 1.48059, 0.262068)
-bones/79/rotation = Quaternion(-0.381514, -0.373325, -0.383911, 0.753451)
+bones/79/position = Vector3(-0.0230094, 1.48761, 0.261811)
+bones/79/rotation = Quaternion(-0.393505, -0.377613, -0.378704, 0.74776)
 bones/79/scale = Vector3(1, 0.999999, 1)
 bones/80/rotation = Quaternion(-0.00824502, 0.0772326, 0.0389061, 0.99622)
 bones/80/scale = Vector3(1, 0.999999, 1)
-bones/81/position = Vector3(-0.0255962, 1.48059, 0.262068)
-bones/81/rotation = Quaternion(-0.420437, 0.321906, 0.435805, 0.727793)
+bones/81/position = Vector3(-0.0230094, 1.48761, 0.261811)
+bones/81/rotation = Quaternion(-0.430275, 0.329661, 0.430724, 0.72157)
 bones/81/scale = Vector3(0.999996, 1.00001, 0.999996)
 bones/82/rotation = Quaternion(-0.00825141, -0.0772324, -0.0389073, 0.99622)
 bones/82/scale = Vector3(1.00001, 0.999987, 1.00001)
-bones/83/position = Vector3(0.0372011, 1.58706, 0.253072)
-bones/83/rotation = Quaternion(0.153213, 0.4758, 0.649995, 0.572404)
+bones/83/position = Vector3(0.0400326, 1.59362, 0.249532)
+bones/83/rotation = Quaternion(0.146047, 0.485886, 0.642091, 0.574721)
 bones/83/scale = Vector3(0.999994, 1.00001, 0.999994)
 bones/84/rotation = Quaternion(-0.223178, 5.86239e-06, 0.0152086, 0.974659)
 bones/84/scale = Vector3(1.00001, 0.999993, 1)
 bones/85/rotation = Quaternion(-0.299458, -3.83782e-06, -0.0939993, 0.949468)
 bones/86/scale = Vector3(0.999999, 1, 0.999999)
-bones/87/position = Vector3(-0.0133585, 1.57271, 0.263865)
-bones/87/rotation = Quaternion(-0.386525, 0.0694324, 0.918045, 0.0545145)
+bones/87/position = Vector3(-0.0105706, 1.57971, 0.260853)
+bones/87/rotation = Quaternion(-0.386085, 0.083486, 0.917332, 0.0497047)
 bones/87/scale = Vector3(1, 0.999989, 1)
 bones/88/scale = Vector3(0.999997, 1.00001, 0.999997)
-bones/89/position = Vector3(-0.104644, 1.57523, 0.249611)
-bones/89/rotation = Quaternion(0.207973, -0.475189, -0.596277, 0.612696)
+bones/89/position = Vector3(-0.101886, 1.58201, 0.246753)
+bones/89/rotation = Quaternion(0.197642, -0.483431, -0.590102, 0.61564)
 bones/89/scale = Vector3(0.999998, 1, 0.999998)
 bones/90/rotation = Quaternion(-0.223161, 1.53166e-06, -0.0151752, 0.974664)
 bones/90/scale = Vector3(1, 0.999999, 1)
 bones/91/rotation = Quaternion(-0.29947, -3.38501e-06, 0.0939802, 0.949466)
 bones/92/rotation = Quaternion(-0.172941, 1.6437e-06, -0.173091, 0.969603)
 bones/92/scale = Vector3(1, 0.999994, 1)
-bones/93/position = Vector3(-0.0529891, 1.56941, 0.262898)
-bones/93/rotation = Quaternion(0.356989, 0.102615, 0.919463, -0.128906)
+bones/93/position = Vector3(-0.0502105, 1.57646, 0.260081)
+bones/93/rotation = Quaternion(0.360097, 0.115652, 0.917546, -0.122739)
 bones/93/scale = Vector3(0.999998, 1, 0.999998)
 bones/94/scale = Vector3(1, 0.999989, 1.00001)
-bones/95/position = Vector3(0.0434763, 1.58214, 0.223756)
-bones/95/rotation = Quaternion(0.487478, -0.282637, -0.102247, 0.819772)
-bones/96/position = Vector3(0.0395755, 1.60035, 0.254733)
-bones/96/rotation = Quaternion(0.674758, -0.39674, 0.180303, 0.595643)
-bones/98/position = Vector3(-0.0154059, 1.58556, 0.28163)
-bones/98/rotation = Quaternion(0.75903, -0.408612, 0.493313, 0.116417)
-bones/99/position = Vector3(-0.108591, 1.56946, 0.220046)
-bones/99/rotation = Quaternion(0.459677, 0.302156, 0.181829, 0.815068)
-bones/100/position = Vector3(-0.109263, 1.58794, 0.251102)
-bones/100/rotation = Quaternion(0.643643, 0.436839, -0.113732, 0.61803)
-bones/102/position = Vector3(-0.0539606, 1.58235, 0.280689)
-bones/102/rotation = Quaternion(0.734217, 0.467319, -0.463338, 0.166902)
-bones/103/position = Vector3(0.00521427, 1.49588, 0.250335)
-bones/103/rotation = Quaternion(-0.359476, -0.284053, -0.317174, 0.830356)
-bones/105/position = Vector3(-0.0579078, 1.49062, 0.248794)
-bones/105/rotation = Quaternion(-0.389438, 0.232934, 0.376242, 0.807788)
-bones/107/position = Vector3(0.0434763, 1.58214, 0.223756)
-bones/107/rotation = Quaternion(0.817283, -0.317818, -0.454282, 0.157058)
-bones/109/position = Vector3(-0.108591, 1.56946, 0.220046)
-bones/109/rotation = Quaternion(0.776764, 0.380718, 0.485492, 0.126446)
-bones/111/position = Vector3(-0.0239867, 1.639, 0.276634)
-bones/111/rotation = Quaternion(0.704277, 0.0887014, 0.703974, -0.0233988)
-bones/112/position = Vector3(0.00349081, 1.64963, 0.265595)
-bones/112/rotation = Quaternion(0.780824, 0.160724, 0.603575, -0.0133338)
-bones/113/position = Vector3(0.0253102, 1.65403, 0.244931)
-bones/113/rotation = Quaternion(0.918776, 0.151397, 0.362931, 0.0347893)
-bones/114/position = Vector3(-0.0541131, 1.63648, 0.275899)
-bones/114/rotation = Quaternion(0.726114, -0.0292792, -0.686157, 0.0330286)
-bones/115/position = Vector3(-0.0824054, 1.64247, 0.2635)
-bones/115/rotation = Quaternion(0.805919, -0.0949143, -0.583438, 0.0329626)
-bones/116/position = Vector3(-0.103624, 1.64327, 0.241785)
-bones/116/rotation = Quaternion(0.936728, -0.0753298, -0.336346, 0.0611359)
-bones/117/position = Vector3(-0.03339, 1.56993, 0.276091)
-bones/117/rotation = Quaternion(0.982263, 0.0386652, 0.019554, 0.182434)
+bones/95/position = Vector3(0.0462226, 1.5878, 0.220367)
+bones/95/rotation = Quaternion(0.474871, -0.28364, -0.0995455, 0.827126)
+bones/96/position = Vector3(0.0424527, 1.60694, 0.250786)
+bones/96/rotation = Quaternion(0.665667, -0.39403, 0.184675, 0.606236)
+bones/98/position = Vector3(-0.0125464, 1.59308, 0.278235)
+bones/98/rotation = Quaternion(0.757386, -0.401954, 0.498242, 0.128666)
+bones/99/position = Vector3(-0.105918, 1.57537, 0.217382)
+bones/99/rotation = Quaternion(0.448127, 0.305313, 0.175892, 0.821601)
+bones/100/position = Vector3(-0.106474, 1.59476, 0.247878)
+bones/100/rotation = Quaternion(0.634767, 0.435169, -0.121642, 0.626818)
+bones/102/position = Vector3(-0.0511101, 1.58993, 0.277483)
+bones/102/rotation = Quaternion(0.731607, 0.459823, -0.471279, 0.176665)
+bones/103/position = Vector3(0.00749761, 1.50257, 0.249712)
+bones/103/rotation = Quaternion(-0.372414, -0.287302, -0.3134, 0.824952)
+bones/105/position = Vector3(-0.0553325, 1.4973, 0.248326)
+bones/105/rotation = Quaternion(-0.400628, 0.239885, 0.372357, 0.802061)
+bones/107/position = Vector3(0.0462226, 1.5878, 0.220367)
+bones/107/rotation = Quaternion(0.813968, -0.325194, -0.450707, 0.169022)
+bones/109/position = Vector3(-0.105918, 1.57537, 0.217382)
+bones/109/rotation = Quaternion(0.775819, 0.387165, 0.478718, 0.137976)
+bones/111/position = Vector3(-0.0210255, 1.64636, 0.271682)
+bones/111/rotation = Quaternion(0.705506, 0.0983078, 0.701745, -0.012326)
+bones/112/position = Vector3(0.00644714, 1.65661, 0.260267)
+bones/112/rotation = Quaternion(0.78185, 0.168766, 0.600189, -0.00132718)
+bones/113/position = Vector3(0.0282244, 1.66034, 0.239429)
+bones/113/rotation = Quaternion(0.91877, 0.155791, 0.359486, 0.0485797)
+bones/114/position = Vector3(-0.051159, 1.64389, 0.271094)
+bones/114/rotation = Quaternion(0.724671, -0.0401706, -0.686575, 0.043053)
+bones/115/position = Vector3(-0.0794692, 1.64957, 0.258593)
+bones/115/rotation = Quaternion(0.804523, -0.104366, -0.582996, 0.0443585)
+bones/116/position = Vector3(-0.10074, 1.64978, 0.236916)
+bones/116/rotation = Quaternion(0.935225, -0.0812375, -0.336411, 0.0747079)
+bones/117/position = Vector3(-0.0305775, 1.57734, 0.273205)
+bones/117/rotation = Quaternion(0.979523, 0.0381063, 0.017577, 0.196913)
 bones/118/scale = Vector3(0.999997, 1.00001, 0.999997)
-bones/119/position = Vector3(-0.0288293, 1.5153, 0.275948)
-bones/119/rotation = Quaternion(0.984653, 0.0430445, 0.00495235, -0.169058)
+bones/119/position = Vector3(-0.0261338, 1.52271, 0.274666)
+bones/119/rotation = Quaternion(0.987097, 0.0418359, 0.00328954, -0.154527)
 bones/119/scale = Vector3(1, 0.999997, 1)
-bones/120/position = Vector3(0.0406247, 1.64721, 0.210741)
-bones/120/rotation = Quaternion(0.989276, 0.077473, 0.000443545, -0.123815)
-bones/121/position = Vector3(-0.115925, 1.63416, 0.206921)
-bones/121/rotation = Quaternion(0.99201, 0.00802975, 0.0133158, -0.125196)
-bones/122/position = Vector3(0.0425044, 1.3729, 0.0433355)
-bones/122/rotation = Quaternion(-0.361215, -0.391717, -0.627548, 0.567684)
-bones/123/position = Vector3(0.150379, 1.36768, 0.0521641)
-bones/123/rotation = Quaternion(0.917432, 0.157114, 0.3655, 0.00655626)
-bones/123/scale = Vector3(1.03791, 0.928277, 1.03791)
-bones/124/rotation = Quaternion(2.71095e-08, -0.101401, -8.19004e-08, 0.994846)
-bones/125/rotation = Quaternion(-0.205876, -0.100501, -0.0194304, 0.97321)
-bones/125/scale = Vector3(0.999856, 0.983857, 1.02002)
-bones/126/rotation = Quaternion(2.87167e-08, 0.0976372, 2.75687e-09, 0.995222)
-bones/127/rotation = Quaternion(-0.106678, 0.0969132, -0.157607, 0.976928)
-bones/127/scale = Vector3(0.976212, 1.06206, 0.96745)
-bones/128/rotation = Quaternion(-0.0702406, 0.705259, -0.016804, 0.705261)
-bones/129/rotation = Quaternion(-0.154448, -0.00635569, 0.00462354, 0.98797)
+bones/120/position = Vector3(0.0434393, 1.65248, 0.20542)
+bones/120/rotation = Quaternion(0.991082, 0.076244, -0.00178211, -0.109267)
+bones/121/position = Vector3(-0.113147, 1.63966, 0.202368)
+bones/121/rotation = Quaternion(0.993777, 0.0069944, 0.0121131, -0.110509)
+bones/122/position = Vector3(0.0439993, 1.37437, 0.0433833)
+bones/122/rotation = Quaternion(-0.365398, -0.398515, -0.618093, 0.570641)
+bones/123/position = Vector3(0.152034, 1.37101, 0.0515237)
+bones/123/rotation = Quaternion(0.919211, 0.161082, 0.359186, 0.00949816)
+bones/123/scale = Vector3(1.03824, 0.927691, 1.03824)
+bones/124/rotation = Quaternion(-1.46959e-08, -0.100083, 7.47384e-08, 0.994979)
+bones/125/rotation = Quaternion(-0.210795, -0.0990992, -0.0196473, 0.972296)
+bones/125/scale = Vector3(0.999855, 0.982971, 1.02113)
+bones/126/rotation = Quaternion(6.5256e-08, 0.098668, 5.88083e-08, 0.995121)
+bones/127/rotation = Quaternion(-0.1071, 0.0980205, -0.16455, 0.975625)
+bones/127/scale = Vector3(0.977049, 1.06169, 0.967147)
+bones/128/rotation = Quaternion(-0.0731249, 0.705143, -0.0139537, 0.705146)
+bones/129/rotation = Quaternion(-0.155047, -0.00651886, 0.00452205, 0.987875)
 bones/130/rotation = Quaternion(-4.31224e-06, 8.13943e-08, 6.78632e-05, 1)
-bones/131/rotation = Quaternion(-0.175778, 0.0936186, 0.293742, 0.934908)
-bones/132/rotation = Quaternion(0.00897499, 0.0254299, -0.00870688, 0.999598)
+bones/131/rotation = Quaternion(-0.173412, 0.0939553, 0.292765, 0.935622)
+bones/132/rotation = Quaternion(0.00893959, 0.0248256, -0.00803413, 0.99962)
 bones/133/rotation = Quaternion(0.00626499, 6.74476e-08, -1.43925e-05, 0.99998)
-bones/135/rotation = Quaternion(-0.0417482, 0.698769, 0.147281, 0.698775)
-bones/136/rotation = Quaternion(-0.199141, 0.00235323, -0.0144693, 0.979861)
+bones/135/rotation = Quaternion(-0.0488227, 0.698503, 0.147633, 0.698509)
+bones/136/rotation = Quaternion(-0.202828, 0.00136395, -0.015064, 0.979098)
 bones/137/rotation = Quaternion(4.65474e-06, -7.81623e-08, -2.01332e-05, 1)
-bones/139/rotation = Quaternion(-0.114419, 0.674828, 0.27591, 0.674826)
-bones/140/rotation = Quaternion(-0.284081, -0.0159739, -0.0299314, 0.9582)
+bones/139/rotation = Quaternion(-0.121134, 0.674338, 0.275439, 0.674335)
+bones/140/rotation = Quaternion(-0.287817, -0.0175467, -0.0307168, 0.957032)
 bones/141/rotation = Quaternion(4.3083e-06, -3.352e-08, -1.93224e-06, 1)
-bones/143/rotation = Quaternion(-0.111557, 0.666635, 0.316092, 0.665762)
-bones/144/rotation = Quaternion(-0.344439, -0.00730571, -0.0564542, 0.937081)
+bones/143/rotation = Quaternion(-0.117837, 0.666246, 0.315477, 0.665361)
+bones/144/rotation = Quaternion(-0.347964, -0.0089929, -0.0572633, 0.935714)
 bones/145/rotation = Quaternion(-7.65809e-06, 2.29663e-08, 6.55561e-05, 1)
-bones/147/position = Vector3(-0.0434599, 1.37454, 0.0123033)
-bones/147/rotation = Quaternion(-0.532375, 0.205504, 0.517032, 0.637984)
-bones/148/position = Vector3(-0.138687, 1.36359, -0.0382811)
-bones/148/rotation = Quaternion(0.957723, -0.129113, 0.0817559, -0.243749)
-bones/148/scale = Vector3(1.02803, 0.946216, 1.02803)
-bones/149/rotation = Quaternion(2.16221e-07, 0.0787324, 1.46828e-07, 0.996896)
+bones/147/position = Vector3(-0.0420267, 1.3761, 0.0125278)
+bones/147/rotation = Quaternion(-0.532395, 0.213218, 0.508462, 0.642309)
+bones/148/position = Vector3(-0.137401, 1.36702, -0.0381431)
+bones/148/rotation = Quaternion(0.957397, -0.135038, 0.0873326, -0.23985)
+bones/148/scale = Vector3(1.02815, 0.945984, 1.02815)
+bones/149/rotation = Quaternion(1.87618e-08, 0.0777852, -5.86921e-09, 0.99697)
 bones/149/scale = Vector3(1, 1, 1)
-bones/150/rotation = Quaternion(-0.205993, 0.0782149, 0.0154665, 0.9753)
-bones/150/scale = Vector3(0.999856, 0.987805, 1.01439)
-bones/151/rotation = Quaternion(3.24168e-08, -0.0224224, -2.1788e-07, 0.999749)
-bones/152/rotation = Quaternion(-0.170169, -0.0223036, -0.125861, 0.97709)
-bones/152/scale = Vector3(0.977873, 1.04274, 0.982711)
-bones/153/rotation = Quaternion(-0.0284983, -0.706273, -0.0392449, 0.706276)
-bones/154/rotation = Quaternion(-0.172835, 0.0108008, -0.00539202, 0.984877)
+bones/150/rotation = Quaternion(-0.207097, 0.0768977, 0.0152901, 0.975174)
+bones/150/scale = Vector3(0.999856, 0.987839, 1.01435)
+bones/151/rotation = Quaternion(2.97942e-08, -0.0219948, -1.54666e-07, 0.999758)
+bones/152/rotation = Quaternion(-0.166004, -0.0224551, -0.134659, 0.97663)
+bones/152/scale = Vector3(0.978342, 1.04288, 0.982124)
+bones/153/rotation = Quaternion(-0.0213379, -0.70655, -0.0334097, 0.706552)
+bones/154/rotation = Quaternion(-0.148406, 0.0100726, -0.0081282, 0.988842)
 bones/155/rotation = Quaternion(8.39836e-07, -2.08393e-07, -6.54599e-05, 1)
-bones/156/rotation = Quaternion(-0.241371, -0.0494914, -0.185957, 0.951163)
-bones/157/rotation = Quaternion(0.198406, 0.0808352, -0.0210107, 0.976555)
+bones/156/rotation = Quaternion(-0.245072, -0.0481661, -0.184453, 0.950577)
+bones/157/rotation = Quaternion(0.193105, 0.0818672, -0.0212757, 0.977525)
 bones/158/rotation = Quaternion(0.00626376, -7.70711e-08, 1.34285e-05, 0.99998)
-bones/160/rotation = Quaternion(-0.0615444, -0.702516, -0.0956443, 0.702521)
-bones/161/rotation = Quaternion(-0.273156, 0.0096884, 0.0199679, 0.961714)
+bones/160/rotation = Quaternion(-0.0615507, -0.702517, -0.0956269, 0.702522)
+bones/161/rotation = Quaternion(-0.297813, 0.00981792, 0.0224213, 0.95431)
 bones/162/rotation = Quaternion(6.46779e-06, 1.28029e-07, 1.90929e-05, 1)
-bones/164/rotation = Quaternion(-0.0864229, -0.692378, -0.183734, 0.692377)
-bones/165/rotation = Quaternion(-0.325274, -0.010218, 0.0315797, 0.945037)
+bones/164/rotation = Quaternion(-0.0964021, -0.690589, -0.192046, 0.690588)
+bones/165/rotation = Quaternion(-0.337576, -0.00922042, 0.0328847, 0.940679)
 bones/166/rotation = Quaternion(4.68059e-06, -2.29112e-07, 1.73853e-06, 1)
-bones/168/rotation = Quaternion(-0.0816372, -0.688954, -0.211765, 0.688355)
-bones/169/rotation = Quaternion(-0.354561, -0.0197138, 0.0651481, 0.932552)
+bones/168/rotation = Quaternion(-0.0816627, -0.68895, -0.211786, 0.68835)
+bones/169/rotation = Quaternion(-0.366493, -0.0201185, 0.0657716, 0.927875)
 bones/170/rotation = Quaternion(-9.53796e-06, -2.47026e-08, -6.50589e-05, 1)
-bones/172/position = Vector3(0.0697247, 1.25667, 0.0830353)
-bones/172/rotation = Quaternion(-0.138904, 0.541454, 0.822843, 0.102291)
-bones/173/position = Vector3(-0.0936833, 1.25978, 0.0240712)
-bones/173/rotation = Quaternion(-0.138904, 0.541454, 0.822843, 0.102291)
+bones/172/position = Vector3(0.0706828, 1.25841, 0.0844252)
+bones/172/rotation = Quaternion(-0.137078, 0.547015, 0.819355, 0.103158)
+bones/173/position = Vector3(-0.0928381, 1.26176, 0.0257663)
+bones/173/rotation = Quaternion(-0.137078, 0.547015, 0.819355, 0.103158)
 
-[node name="weapon_L" type="BoneAttachment3D" parent="." index="2"]
+[node name="hand_L" type="BoneAttachment3D" parent="." index="2"]
 unique_name_in_owner = true
-transform = Transform3D(0.194587, -0.769492, -0.608291, -0.610185, 0.390587, -0.689287, 0.767991, 0.505296, -0.393529, 0.255873, 0.842351, 0.257018)
-visible = false
+transform = Transform3D(0.206137, -0.772163, -0.601059, -0.586353, 0.394286, -0.707622, 0.783388, 0.4983, -0.371484, 0.260809, 0.850218, 0.263214)
 bone_name = "weapon.L"
 bone_idx = 0
 use_external_skeleton = true
 external_skeleton = NodePath("../Skeleton3D")
 
-[node name="prototype_gun" parent="weapon_L" index="0" instance=ExtResource("3_bmadk")]
+[node name="socket" type="Node3D" parent="hand_L" index="0"]
 transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0, 0)
 
-[node name="weapon_R" type="BoneAttachment3D" parent="." index="3"]
+[node name="prototype_gun" parent="hand_L/socket" index="0" instance=ExtResource("3_bmadk")]
+
+[node name="hand_R" type="BoneAttachment3D" parent="." index="3"]
 unique_name_in_owner = true
-transform = Transform3D(0.255623, -0.188605, 0.948201, 0.927916, 0.323143, -0.185879, -0.271347, 0.927365, 0.257612, -0.296739, 0.832353, -0.17782)
-visible = false
+transform = Transform3D(0.249849, -0.190911, 0.949278, 0.928103, 0.326706, -0.178572, -0.276043, 0.925644, 0.258812, -0.300572, 0.836947, -0.174021)
 bone_name = "weapon.R"
 bone_idx = 1
 use_external_skeleton = true
 external_skeleton = NodePath("../Skeleton3D")
 
-[node name="prototype_sword" parent="weapon_R" index="0" instance=ExtResource("2_s02u1")]
+[node name="socket" type="Node3D" parent="hand_R" index="0"]
 transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0, 0)
 
+[node name="prototype_sword" parent="hand_R/socket" index="0" instance=ExtResource("2_s02u1")]
+
 [node name="AnimationTree" type="AnimationTree" parent="." index="4"]
-unique_name_in_owner = true
-root_node = NodePath("%AnimationTree/..")
 tree_root = SubResource("AnimationNodeBlendTree_s02u1")
 anim_player = NodePath("../AnimationPlayer")
 parameters/TimeScale/scale = 1.5
@@ -390,3 +391,5 @@ parameters/movement/current_state = "move"
 parameters/movement/transition_request = ""
 parameters/movement/current_index = 0
 parameters/walking/blend_position = 0.0
+
+[connection signal="animation_finished" from="AnimationTree" to="." method="_on_animation_tree_animation_finished"]
index 6d8b923b145ea423efea3e1e65b944b31edc1bc3..fefb78772f189343a51755a58a173da3ea752f4b 100644 (file)
@@ -2,37 +2,34 @@ extends Node3D
 class_name AnimatedSkin
 
 
-@onready var _tree: AnimationTree = %AnimationTree
-
-
-func sword_visible(b: bool = true):
-       %weapon_R.visible = b
-
-
-func gun_visible(b: bool = true):
-       %weapon_L.visible = b
+@onready var animation_tree: AnimationTree = $AnimationTree
+@onready var animation_player: AnimationPlayer = $AnimationPlayer
 
 
 func set_walking_speed(s: float):
-       _tree.set("parameters/walking/blend_position", s)
+       animation_tree.set("parameters/walking/blend_position", s)
 
 
 func transition_move():
-       _tree.set("parameters/movement/transition_request", "move")
+       animation_tree.set("parameters/movement/transition_request", "move")
 
 
 func transition_falling():
        # TODO: falling state
-       _tree.set("parameters/movement/transition_request", "move")
+       animation_tree.set("parameters/movement/transition_request", "move")
 
 
 func transition_dash():
-       _tree.set("parameters/movement/transition_request", "dash")
+       animation_tree.set("parameters/movement/transition_request", "dash")
 
 
 func transition_slash():
-       _tree.set("parameters/movement/transition_request", "slash")
+       animation_tree.set("parameters/movement/transition_request", "slash")
 
 
 func transition_gunfire():
-       _tree.set("parameters/movement/transition_request", "gunfire")
+       animation_tree.set("parameters/movement/transition_request", "gunfire")
+
+
+func _on_animation_tree_animation_finished(anim_name: StringName) -> void:
+       print_debug("Finished animation: " + anim_name)