]> Untitled Git - frog-ninja.git/commitdiff
Added interpolated dashing
authorClifton Palmer <clifton.james.palmer@protonmail.com>
Tue, 6 May 2025 14:29:46 +0000 (17:29 +0300)
committerClifton Palmer <clifton.james.palmer@protonmail.com>
Tue, 6 May 2025 14:29:46 +0000 (17:29 +0300)
player/fall.gd [deleted file]
player/fall.gd.uid [deleted file]
player/moves/Move.gd
player/moves/dash.gd
player/moves/idle.gd
player/moves/walk.gd
player/player.tscn
skin/prototype_skin.tscn

diff --git a/player/fall.gd b/player/fall.gd
deleted file mode 100644 (file)
index 0119254..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-extends Move
-class_name Fall
-
-
-func update(_input: InputPacket, delta: float):
-       player.velocity += player.get_gravity() * player.acceleration * delta
-       player.move_and_slide()
diff --git a/player/fall.gd.uid b/player/fall.gd.uid
deleted file mode 100644 (file)
index 18ec41d..0000000
+++ /dev/null
@@ -1 +0,0 @@
-uid://b0oj5iuvr8omo
index 66916c4aaf1a284ef69a33a06c8d8e9d1035e782..12814780b1c4a9431135bfc1228ac5735513e936 100644 (file)
@@ -10,8 +10,8 @@ var camera: Camera3D
 static var moves_priority: Dictionary = {
        "idle": 0,
        "walk": 1,
-       "dash": 2,
-       "fall": 100
+       "fall": 50,
+       "dash": 100
 }
 
 static func moves_priority_sort(a: String, b: String):
index 9ab05839bb4be58f697067b24c8f0418e48c38f1..aaf7081b1837fcfe383dbdc2dbb0eb377fa4b80f 100644 (file)
@@ -2,15 +2,33 @@ extends Move
 class_name Dash
 
 
-func update(input: InputPacket, _delta: float):
-       # Get the XZ input direction based on player's input relative to the camera
-       var forward := camera.global_basis.z
-       var right := camera.global_basis.x
-       var move_direction := (
-               forward * input.movement_direction.y + right * input.movement_direction.x
-               ).normalized()
-       move_direction.y = 0
-
-       # TODO: check if new_pos is valid!
-       var new_pos := player.last_movement_direction * player.dash_length
-       player.global_position += new_pos
+@onready var timer: Timer = $Timer
+
+var finished := false
+var new_position: Vector3
+
+
+func should_enter(input: InputPacket) -> String:
+       if finished:
+               input.actions.sort_custom(moves_priority_sort)
+               return input.actions[0]
+       return "dash"
+
+
+func update(_input: InputPacket, delta: float):
+       player.global_position = lerp(
+               player.global_position,
+               new_position,
+               (player.dash_length / timer.wait_time) * delta
+       )
+
+
+func on_enter_state():
+       player.skin.transition_dash()
+       new_position = player.global_position + player.last_movement_direction * player.dash_length
+       finished = false
+       timer.start()
+
+
+func _on_timer_timeout() -> void:
+       finished = true
index f7bd955244ca123cf6251fe1b5ed6d4bfc86cbff..123cd8d5cc43394a2ea0dd8e2b9b42d670d53b4f 100644 (file)
@@ -9,6 +9,7 @@ func update(input: InputPacket, delta: float):
 
 func on_enter_state():
        player.idle_time = 0.0
+       player.skin.transition_move()
 
 
 func on_exit_state():
index cf031aa65adc86d6dc8dbf486c603a561d03453f..8d92aa7765b92fc34c73660fd6fe50e82c516203 100644 (file)
@@ -31,8 +31,12 @@ func update(input: InputPacket, delta: float):
                        ),
                player.rotation_speed * delta * 0.25
                )
+               
+       player.skin.set_walking_speed(player.velocity.length())
 
 
+func on_enter_state():
+       player.skin.transition_move()
 
 
 func get_new_velocity_from_input(input: InputPacket, delta: float) -> Vector3:
index 0b9420948fd058f235fb6f9b4420a558dd4f36a8..a51c523c4071d275e17153790294f36585f3a041 100644 (file)
@@ -8,7 +8,7 @@
 [ext_resource type="Script" uid="uid://bv5k167ugxmso" path="res://player/moves/idle.gd" id="6_g6k8r"]
 [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/fall.gd" id="9_hg6s5"]
+[ext_resource type="Script" uid="uid://b0oj5iuvr8omo" path="res://player/moves/fall.gd" id="9_hg6s5"]
 
 [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_sh265"]
 
@@ -53,6 +53,11 @@ script = ExtResource("7_rgyib")
 [node name="Dash" type="Node" parent="Model"]
 script = ExtResource("8_hg6s5")
 
+[node name="Timer" type="Timer" parent="Model/Dash"]
+wait_time = 0.25
+
 [node name="Fall" type="Node" parent="Model"]
 script = ExtResource("9_hg6s5")
 metadata/_custom_type_script = "uid://c886t1c86q0m6"
+
+[connection signal="timeout" from="Model/Dash/Timer" to="Model/Dash" method="_on_timer_timeout"]
index df92d7d4c318b503075e7b23f1958f64bb1ffe27..c653b43f0db9738f73a7ca1a66d3a448d2eff203 100644 (file)
@@ -83,80 +83,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.261016, 0.827375, 0.246751)
-bones/0/rotation = Quaternion(0.557085, -0.610793, 0.0732431, 0.557874)
-bones/1/position = Vector3(-0.284921, 0.821391, -0.181958)
-bones/1/rotation = Quaternion(0.412721, 0.451276, 0.412541, 0.675145)
-bones/3/position = Vector3(0.00374505, 0.967373, 8.30963e-05)
-bones/3/rotation = Quaternion(0.0199816, -0.329916, -0.00216205, 0.943796)
+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/4/rotation = Quaternion(-0.0801557, -2.41264e-07, -4.07088e-07, 0.996782)
-bones/5/rotation = Quaternion(0.100109, 0.0415746, -0.0105478, 0.994052)
+bones/5/rotation = Quaternion(0.0948791, 0.0410984, -0.00984408, 0.994591)
 bones/5/scale = Vector3(1, 1, 1)
-bones/6/rotation = Quaternion(0.112823, 0.123869, -0.0121451, 0.985789)
+bones/6/rotation = Quaternion(0.107621, 0.122443, -0.0114329, 0.986557)
 bones/6/scale = Vector3(1, 0.999996, 1)
-bones/7/rotation = Quaternion(0.205608, -0.0107313, 0.0034584, 0.978569)
-bones/8/rotation = Quaternion(-0.165328, 0.180657, -0.0308184, 0.969061)
-bones/9/rotation = Quaternion(-0.0637934, -0.00643369, -0.0272832, 0.997569)
-bones/10/position = Vector3(0.00374504, 0.967373, 8.30935e-05)
-bones/10/rotation = Quaternion(0.259241, 0.850057, 0.444869, -0.110854)
-bones/11/position = Vector3(0.00374517, 0.967373, 8.31895e-05)
-bones/11/rotation = Quaternion(-0.465129, 0.600452, 0.184689, 0.6237)
-bones/12/position = Vector3(0.0779911, 0.898842, 0.0367176)
-bones/12/rotation = Quaternion(0.920408, 0.0267947, 0.320788, 0.22187)
-bones/12/scale = Vector3(1.01666, 0.9675, 1.01666)
-bones/13/rotation = Quaternion(-7.1744e-08, -0.0243355, -3.53024e-08, 0.999704)
-bones/14/rotation = Quaternion(0.180629, -0.0240677, 0.00425817, 0.983248)
-bones/14/scale = Vector3(0.999989, 0.994207, 1.00638)
-bones/15/rotation = Quaternion(5.58569e-08, 0.0366958, 3.14645e-08, 0.999326)
-bones/16/rotation = Quaternion(-0.409985, 0.0354308, 0.108104, 0.90497)
-bones/16/scale = Vector3(0.985342, 1.00355, 1.01261)
-bones/17/rotation = Quaternion(-0.0234194, 0.934888, -0.35379, -0.0163819)
+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/17/scale = Vector3(0.999462, 1.00037, 1.00017)
-bones/18/position = Vector3(-0.0504379, 0.901674, -0.0654833)
-bones/18/rotation = Quaternion(0.938653, -0.104991, 0.327072, -0.0305298)
-bones/18/scale = Vector3(1.01788, 0.96518, 1.01788)
-bones/19/rotation = Quaternion(-3.00871e-09, 0.0877521, -2.19897e-09, 0.996142)
-bones/20/rotation = Quaternion(0.213644, 0.0870434, -0.0183907, 0.972852)
-bones/20/scale = Vector3(0.999991, 0.991346, 1.00958)
-bones/21/rotation = Quaternion(1.36143e-08, 0.0721779, 4.92577e-08, 0.997392)
-bones/22/rotation = Quaternion(-0.556357, 0.0711124, -0.10836, 0.820773)
-bones/22/scale = Vector3(0.986173, 0.988683, 1.02662)
-bones/23/rotation = Quaternion(-0.00217116, 0.936951, -0.34943, -0.00412756)
+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/23/scale = Vector3(0.999647, 1.00025, 1.0001)
-bones/24/position = Vector3(0.0572297, 1.57458, 0.162382)
-bones/24/rotation = Quaternion(0.148444, -0.0977271, -0.0709304, 0.981521)
-bones/25/position = Vector3(0.0612029, 1.60879, 0.173441)
-bones/25/rotation = Quaternion(-0.404099, 0.00332809, -0.377444, 0.833204)
-bones/26/position = Vector3(0.0798252, 1.62038, 0.153347)
-bones/26/rotation = Quaternion(0.761871, -0.0361511, 0.637951, -0.10613)
+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/26/scale = Vector3(1.00001, 0.999978, 1.00001)
 bones/27/scale = Vector3(0.999989, 1.00002, 0.999994)
-bones/28/position = Vector3(0.0665911, 1.55683, 0.161434)
-bones/28/rotation = Quaternion(0.11752, -0.390795, 0.210041, 0.888455)
-bones/29/position = Vector3(-0.107807, 1.56413, 0.159616)
-bones/29/rotation = Quaternion(0.140871, 0.0908719, 0.134573, 0.976621)
-bones/30/position = Vector3(-0.116435, 1.59751, 0.170539)
-bones/30/rotation = Quaternion(-0.409175, -0.0421183, 0.422202, 0.807804)
-bones/31/position = Vector3(-0.13573, 1.60667, 0.149864)
-bones/31/rotation = Quaternion(0.768375, 0.0854429, -0.630887, -0.0654263)
+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/31/scale = Vector3(1.00001, 0.999994, 1)
-bones/33/position = Vector3(-0.114809, 1.54536, 0.15844)
-bones/33/rotation = Quaternion(0.0962454, 0.382904, -0.152134, 0.906078)
-bones/34/position = Vector3(-0.0229353, 1.50629, 0.261984)
-bones/34/rotation = Quaternion(-0.615288, -0.0256594, 0.0196542, 0.78764)
-bones/35/position = Vector3(-0.0243346, 1.5183, 0.30176)
-bones/35/rotation = Quaternion(-0.762145, -0.0291094, 0.0140465, 0.646599)
+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/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.00839127, 1.52473, 0.272081)
-bones/37/rotation = Quaternion(-0.122177, 0.60135, 0.761608, 0.208337)
-bones/38/position = Vector3(-0.040004, 1.52273, 0.271565)
-bones/38/rotation = Quaternion(0.0719509, 0.611116, 0.748972, -0.245767)
-bones/39/position = Vector3(0.0191412, 1.58035, 0.247295)
-bones/39/rotation = Quaternion(-0.0256588, 0.615288, 0.78764, -0.0196544)
-bones/40/position = Vector3(-0.00336599, 1.57003, 0.264033)
-bones/40/rotation = Quaternion(0.728514, 0.585436, 0.277233, -0.222878)
+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/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 +164,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.0417369, 1.58212, 0.248581)
-bones/44/rotation = Quaternion(-0.625044, 0.613818, 0.296058, -0.380653)
+bones/44/position = Vector3(0.0357074, 1.5811, 0.249532)
+bones/44/rotation = Quaternion(-0.640169, 0.601701, 0.303175, -0.369085)
 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 +173,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.0191412, 1.58035, 0.247295)
-bones/48/rotation = Quaternion(-0.0256594, 0.615288, 0.787639, -0.0196543)
-bones/50/position = Vector3(-0.0735213, 1.57454, 0.245737)
-bones/50/rotation = Quaternion(-0.0256588, 0.615288, 0.78764, -0.0196544)
-bones/51/position = Vector3(-0.0504258, 1.56706, 0.263266)
-bones/51/rotation = Quaternion(0.768092, -0.535051, -0.278763, -0.214583)
+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/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 +186,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.0961886, 1.57344, 0.246285)
-bones/55/rotation = Quaternion(0.580542, 0.645447, 0.32939, 0.37131)
+bones/55/position = Vector3(-0.102013, 1.56961, 0.246172)
+bones/55/rotation = Quaternion(0.580394, 0.643669, 0.348264, 0.357136)
 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,168 +195,168 @@ 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.0735213, 1.57454, 0.245737)
-bones/59/rotation = Quaternion(-0.0256592, 0.615288, 0.78764, -0.0196542)
-bones/61/position = Vector3(-0.0210643, 1.47981, 0.249026)
-bones/61/rotation = Quaternion(-0.615288, -0.0256588, 0.0196544, 0.78764)
-bones/62/position = Vector3(-0.0213702, 1.4877, 0.237451)
-bones/62/rotation = Quaternion(-0.526026, -0.0233708, 0.0223269, 0.849854)
-bones/65/position = Vector3(-0.0259957, 1.5725, 0.191151)
-bones/65/rotation = Quaternion(0.984917, 0.0294477, 0.013324, 0.169985)
-bones/66/position = Vector3(-0.018158, 1.43583, 0.239816)
-bones/66/rotation = Quaternion(0.30039, 0.00165655, 0.0322792, 0.953269)
+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/66/scale = Vector3(0.999995, 1.00001, 0.999996)
 bones/67/scale = Vector3(1.00001, 0.999993, 1)
-bones/68/position = Vector3(-0.0183996, 1.45243, 0.190715)
-bones/68/rotation = Quaternion(0.81211, 0.0206859, 0.0248356, 0.582609)
-bones/69/position = Vector3(0.0571544, 1.57779, 0.192533)
-bones/69/rotation = Quaternion(0.994846, -0.0591578, -0.0139404, -0.0811673)
-bones/72/position = Vector3(-0.109128, 1.56729, 0.189724)
-bones/72/rotation = Quaternion(0.988841, 0.122566, 0.0249854, -0.0809091)
-bones/75/position = Vector3(-0.0225179, 1.49685, 0.272755)
-bones/75/rotation = Quaternion(-0.45948, -0.392432, -0.460564, 0.650197)
+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/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.0225179, 1.49685, 0.272755)
-bones/77/rotation = Quaternion(-0.49053, 0.352329, 0.492799, 0.626414)
+bones/77/position = Vector3(-0.0268579, 1.49343, 0.269884)
+bones/77/rotation = Quaternion(-0.482299, 0.335051, 0.505541, 0.632105)
 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.0215736, 1.48367, 0.265478)
-bones/79/rotation = Quaternion(-0.402157, -0.375282, -0.383097, 0.742072)
+bones/79/position = Vector3(-0.0255962, 1.48059, 0.262068)
+bones/79/rotation = Quaternion(-0.381514, -0.373325, -0.383911, 0.753451)
 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.0215736, 1.48367, 0.265478)
-bones/81/rotation = Quaternion(-0.431012, 0.337298, 0.42218, 0.72265)
+bones/81/position = Vector3(-0.0255962, 1.48059, 0.262068)
+bones/81/rotation = Quaternion(-0.420437, 0.321906, 0.435805, 0.727793)
 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.0433721, 1.58819, 0.251868)
-bones/83/rotation = Quaternion(0.147918, 0.489073, 0.633331, 0.581223)
+bones/83/position = Vector3(0.0372011, 1.58706, 0.253072)
+bones/83/rotation = Quaternion(0.153213, 0.4758, 0.649995, 0.572404)
 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.00739297, 1.5754, 0.263426)
-bones/87/rotation = Quaternion(-0.384503, 0.0929387, 0.91672, 0.0560775)
+bones/87/position = Vector3(-0.0133585, 1.57271, 0.263865)
+bones/87/rotation = Quaternion(-0.386525, 0.0694324, 0.918045, 0.0545145)
 bones/87/scale = Vector3(1, 0.999989, 1)
 bones/88/scale = Vector3(0.999997, 1.00001, 0.999997)
-bones/89/position = Vector3(-0.0986828, 1.57925, 0.249501)
-bones/89/rotation = Quaternion(0.188474, -0.48824, -0.593254, 0.611678)
+bones/89/position = Vector3(-0.104644, 1.57523, 0.249611)
+bones/89/rotation = Quaternion(0.207973, -0.475189, -0.596277, 0.612696)
 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.0470884, 1.57289, 0.262779)
-bones/93/rotation = Quaternion(0.363006, 0.117701, 0.917539, -0.11178)
+bones/93/position = Vector3(-0.0529891, 1.56941, 0.262898)
+bones/93/rotation = Quaternion(0.356989, 0.102615, 0.919463, -0.128906)
 bones/93/scale = Vector3(0.999998, 1, 0.999998)
 bones/94/scale = Vector3(1, 0.999989, 1.00001)
-bones/95/position = Vector3(0.0493704, 1.58194, 0.22278)
-bones/95/rotation = Quaternion(0.466871, -0.287869, -0.106319, 0.829372)
-bones/96/position = Vector3(0.0460277, 1.60148, 0.252976)
-bones/96/rotation = Quaternion(0.658285, -0.398591, 0.180479, 0.612547)
-bones/98/position = Vector3(-0.00907496, 1.58901, 0.280656)
-bones/98/rotation = Quaternion(0.753233, -0.406013, 0.498578, 0.138614)
-bones/99/position = Vector3(-0.10291, 1.57235, 0.220218)
-bones/99/rotation = Quaternion(0.446168, 0.303, 0.165543, 0.825664)
-bones/100/position = Vector3(-0.103028, 1.5921, 0.250489)
-bones/100/rotation = Quaternion(0.634912, 0.428981, -0.131108, 0.629025)
-bones/102/position = Vector3(-0.0476927, 1.58657, 0.280026)
-bones/102/rotation = Quaternion(0.734362, 0.450019, -0.47664, 0.176095)
-bones/103/position = Vector3(0.00950094, 1.4977, 0.252986)
-bones/103/rotation = Quaternion(-0.380627, -0.284672, -0.31914, 0.819899)
-bones/105/position = Vector3(-0.053736, 1.49382, 0.251944)
-bones/105/rotation = Quaternion(-0.402812, 0.246965, 0.363566, 0.802851)
-bones/107/position = Vector3(0.0493704, 1.58194, 0.22278)
-bones/107/rotation = Quaternion(0.809209, -0.335624, -0.451237, 0.170066)
-bones/109/position = Vector3(-0.10291, 1.57235, 0.220218)
-bones/109/rotation = Quaternion(0.779205, 0.382766, 0.474066, 0.14694)
-bones/111/position = Vector3(-0.016568, 1.64236, 0.273503)
-bones/111/rotation = Quaternion(0.707293, 0.0958133, 0.700396, -0.00130073)
-bones/112/position = Vector3(0.0110643, 1.65196, 0.26191)
-bones/112/rotation = Quaternion(0.784129, 0.164913, 0.598216, 0.0091062)
-bones/113/position = Vector3(0.0328132, 1.655, 0.241062)
-bones/113/rotation = Quaternion(0.920328, 0.149187, 0.356971, 0.0575482)
-bones/114/position = Vector3(-0.0467437, 1.64045, 0.273011)
-bones/114/rotation = Quaternion(0.723177, -0.0513604, -0.687532, 0.040947)
-bones/115/position = Vector3(-0.0749725, 1.64652, 0.260506)
-bones/115/rotation = Quaternion(0.802515, -0.115682, -0.583667, 0.0438213)
-bones/116/position = Vector3(-0.0962881, 1.64687, 0.238875)
-bones/116/rotation = Quaternion(0.933529, -0.0922564, -0.337686, 0.0773299)
-bones/117/position = Vector3(-0.0274107, 1.57355, 0.275849)
-bones/117/rotation = Quaternion(0.978628, 0.0289816, 0.0143087, 0.203082)
+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/118/scale = Vector3(0.999997, 1.00001, 0.999997)
-bones/119/position = Vector3(-0.02399, 1.51887, 0.277935)
-bones/119/rotation = Quaternion(0.988395, 0.0321439, 0.00338562, -0.14843)
+bones/119/position = Vector3(-0.0288293, 1.5153, 0.275948)
+bones/119/rotation = Quaternion(0.984653, 0.0430445, 0.00495235, -0.169058)
 bones/119/scale = Vector3(1, 0.999997, 1)
-bones/120/position = Vector3(0.0477975, 1.64649, 0.207108)
-bones/120/rotation = Quaternion(0.992426, 0.0665323, -0.00234075, -0.103238)
-bones/121/position = Vector3(-0.109005, 1.63653, 0.204546)
-bones/121/rotation = Quaternion(0.994475, -0.00265459, 0.0119908, -0.104249)
-bones/122/position = Vector3(0.0465869, 1.36949, 0.0448182)
-bones/122/rotation = Quaternion(-0.355303, -0.371863, -0.647506, 0.562329)
-bones/123/position = Vector3(0.154133, 1.35956, 0.0536439)
-bones/123/rotation = Quaternion(0.911506, 0.150641, 0.382598, 0.00915334)
-bones/123/scale = Vector3(1.03839, 0.927423, 1.03839)
-bones/124/rotation = Quaternion(1.35626e-08, -0.107806, -3.04589e-08, 0.994172)
-bones/125/rotation = Quaternion(-0.17432, -0.107371, -0.0173117, 0.978665)
-bones/125/scale = Vector3(0.999863, 0.988034, 1.01499)
-bones/126/rotation = Quaternion(-1.07487e-08, 0.0934087, -4.46292e-09, 0.995628)
-bones/127/rotation = Quaternion(-0.114956, 0.0921874, -0.191477, 0.970373)
-bones/127/scale = Vector3(0.981402, 1.05732, 0.967505)
-bones/128/rotation = Quaternion(-0.0665079, 0.705397, -0.0201158, 0.705399)
-bones/129/rotation = Quaternion(-0.14315, -0.00654626, 0.00600039, 0.989661)
+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/130/rotation = Quaternion(-4.31224e-06, 8.13943e-08, 6.78632e-05, 1)
-bones/131/rotation = Quaternion(-0.191667, 0.0886974, 0.289863, 0.933475)
-bones/132/rotation = Quaternion(0.00898581, 0.0207359, -0.00750281, 0.999716)
+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/133/rotation = Quaternion(0.00626499, 6.74476e-08, -1.43925e-05, 0.99998)
-bones/135/rotation = Quaternion(-0.0268948, 0.698939, 0.149125, 0.698944)
-bones/136/rotation = Quaternion(-0.190037, 0.00469731, -0.0130507, 0.981679)
+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/137/rotation = Quaternion(4.65474e-06, -7.81623e-08, -2.01332e-05, 1)
-bones/139/rotation = Quaternion(-0.0991767, 0.675472, 0.278641, 0.67547)
-bones/140/rotation = Quaternion(-0.275418, -0.0118091, -0.0280239, 0.960843)
+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/141/rotation = Quaternion(4.3083e-06, -3.352e-08, -1.93224e-06, 1)
-bones/143/rotation = Quaternion(-0.0963251, 0.667127, 0.31896, 0.666279)
-bones/144/rotation = Quaternion(-0.335606, -0.00297569, -0.0544676, 0.940422)
+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/145/rotation = Quaternion(-7.65809e-06, 2.29663e-08, 6.55561e-05, 1)
-bones/147/position = Vector3(-0.0395471, 1.37091, 0.0142499)
-bones/147/rotation = Quaternion(-0.531413, 0.1891, 0.542982, 0.622103)
-bones/148/position = Vector3(-0.134563, 1.35411, -0.0352045)
-bones/148/rotation = Quaternion(0.958481, -0.120203, 0.0603389, -0.251444)
-bones/148/scale = Vector3(1.02777, 0.94669, 1.02777)
-bones/149/rotation = Quaternion(-3.70866e-08, 0.0828916, -2.7993e-08, 0.996559)
+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/149/scale = Vector3(1, 1, 1)
-bones/150/rotation = Quaternion(-0.200024, 0.0820388, 0.0157404, 0.976224)
-bones/150/scale = Vector3(0.999857, 0.988812, 1.01321)
-bones/151/rotation = Quaternion(1.45307e-08, -0.0186172, -2.59285e-08, 0.999827)
-bones/152/rotation = Quaternion(-0.181057, -0.018223, -0.117066, 0.97631)
-bones/152/scale = Vector3(0.977313, 1.04181, 0.984162)
-bones/153/rotation = Quaternion(-0.0205253, -0.706539, -0.0343617, 0.706541)
-bones/154/rotation = Quaternion(-0.147289, 0.00998131, -0.00826793, 0.989009)
+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/155/rotation = Quaternion(8.39836e-07, -2.08393e-07, -6.54599e-05, 1)
-bones/156/rotation = Quaternion(-0.247748, -0.0479796, -0.18632, 0.949528)
-bones/157/rotation = Quaternion(0.191007, 0.0799159, -0.0194767, 0.978136)
+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/158/rotation = Quaternion(0.00626376, -7.70711e-08, 1.34285e-05, 0.99998)
-bones/160/rotation = Quaternion(-0.0619531, -0.702517, -0.0953682, 0.702522)
-bones/161/rotation = Quaternion(-0.263103, 0.00975053, 0.0190099, 0.964531)
+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/162/rotation = Quaternion(6.46779e-06, 1.28029e-07, 1.90929e-05, 1)
-bones/164/rotation = Quaternion(-0.0828664, -0.693015, -0.180546, 0.693013)
-bones/165/rotation = Quaternion(-0.320504, -0.0106038, 0.03108, 0.946678)
+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/166/rotation = Quaternion(4.68059e-06, -2.29112e-07, 1.73853e-06, 1)
-bones/168/rotation = Quaternion(-0.0806862, -0.689126, -0.210999, 0.68853)
-bones/169/rotation = Quaternion(-0.349905, -0.0195459, 0.0649034, 0.93433)
+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/170/rotation = Quaternion(-9.53796e-06, -2.47026e-08, -6.50589e-05, 1)
-bones/172/position = Vector3(0.075512, 1.25242, 0.0809254)
-bones/172/rotation = Quaternion(-0.138955, 0.528489, 0.831781, 0.0976304)
-bones/173/position = Vector3(-0.0882058, 1.25509, 0.0227719)
-bones/173/rotation = Quaternion(-0.138955, 0.528489, 0.831781, 0.0976304)
+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)
 
 [node name="weapon_L" type="BoneAttachment3D" parent="." index="2"]
 unique_name_in_owner = true
-transform = Transform3D(0.243135, -0.762248, -0.599886, -0.598807, 0.368583, -0.71104, 0.763096, 0.532094, -0.366824, 0.261016, 0.827375, 0.246751)
+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
 bone_name = "weapon.L"
 bone_idx = 0
@@ -368,7 +368,7 @@ transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0,
 
 [node name="weapon_R" type="BoneAttachment3D" parent="." index="3"]
 unique_name_in_owner = true
-transform = Transform3D(0.252319, -0.184548, 0.949883, 0.929552, 0.318943, -0.184953, -0.268826, 0.929633, 0.252023, -0.284921, 0.821391, -0.181958)
+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
 bone_name = "weapon.R"
 bone_idx = 1