destroyable items

pull/2/head
Sascha 2024-05-29 14:18:17 +07:00
parent 12dd767b01
commit 864dd0b6fb
27 changed files with 513 additions and 126 deletions

@ -1,20 +1,41 @@
[gd_scene load_steps=5 format=3 uid="uid://7o1425mnc60b"]
[gd_scene load_steps=11 format=3 uid="uid://7o1425mnc60b"]
[ext_resource type="Texture2D" uid="uid://d1i0he2my0qly" path="res://resources/material/texture_01.png" id="1_ilpm3"]
[sub_resource type="BoxShape3D" id="BoxShape3D_7tslk"]
[ext_resource type="Texture2D" uid="uid://comq7sgbauwwv" path="res://resources/material/texture_01_d.png" id="1_y88ux"]
[ext_resource type="Texture2D" uid="uid://0sh578p713ma" path="res://resources/material/texture_01_o.png" id="2_jlk3g"]
[ext_resource type="Texture2D" uid="uid://dj7oas0jsletv" path="res://resources/material/texture_01_s.png" id="3_6gliq"]
[ext_resource type="Texture2D" uid="uid://d4gxgqcilesjs" path="res://resources/material/texture_01_n.png" id="4_ptv0l"]
[ext_resource type="Texture2D" uid="uid://7rxdelmtxrlp" path="res://resources/material/texture_01_p.png" id="5_wa81s"]
[ext_resource type="Script" path="res://scripts/hurtbox.gd" id="6_jkfcn"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_47j60"]
albedo_texture = ExtResource("1_ilpm3")
albedo_texture = ExtResource("1_y88ux")
metallic_texture = ExtResource("3_6gliq")
roughness_texture = ExtResource("5_wa81s")
roughness_texture_channel = 3
normal_enabled = true
normal_texture = ExtResource("4_ptv0l")
ao_enabled = true
ao_texture = ExtResource("2_jlk3g")
[sub_resource type="BoxMesh" id="BoxMesh_p3rd5"]
material = SubResource("StandardMaterial3D_47j60")
[sub_resource type="BoxShape3D" id="BoxShape3D_7tslk"]
[sub_resource type="BoxShape3D" id="BoxShape3D_csmi1"]
[node name="Box" type="StaticBody3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0)
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
mesh = SubResource("BoxMesh_p3rd5")
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
shape = SubResource("BoxShape3D_7tslk")
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
mesh = SubResource("BoxMesh_p3rd5")
[node name="HurtBox" type="Area3D" parent="." node_paths=PackedStringArray("object")]
script = ExtResource("6_jkfcn")
object = NodePath("..")
[node name="CollisionShape3D" type="CollisionShape3D" parent="HurtBox"]
shape = SubResource("BoxShape3D_csmi1")

@ -794,36 +794,36 @@ bones/1/name = "hips"
bones/1/parent = 0
bones/1/rest = Transform3D(1, -1.92983e-22, -2.06635e-07, 9.18536e-22, 1, 3.51128e-15, 2.06635e-07, -3.51128e-15, 1, -2.1013e-22, 0.405663, 8.88178e-16)
bones/1/enabled = true
bones/1/position = Vector3(5.48912e-19, 0.372981, 1.20998e-15)
bones/1/rotation = Quaternion(5.19302e-05, 0.0425451, 3.4354e-05, 0.999095)
bones/1/position = Vector3(4.83777e-19, 0.388773, 1.62826e-15)
bones/1/rotation = Quaternion(5.5129e-05, 0.0425453, 3.42029e-05, 0.999095)
bones/1/scale = Vector3(1, 1, 1)
bones/2/name = "spine"
bones/2/parent = 1
bones/2/rest = Transform3D(1, 8.67181e-22, 3.55271e-15, -8.67181e-22, 1, 3.52176e-23, -3.55271e-15, -3.52176e-23, 1, -4.36903e-23, 0.191978, -8.88178e-16)
bones/2/enabled = true
bones/2/position = Vector3(5.98822e-12, 0.191978, -2.81142e-12)
bones/2/rotation = Quaternion(-3.14878e-05, 0.00387154, 0.000189488, 0.999992)
bones/2/rotation = Quaternion(-2.85666e-05, 0.00396509, 0.000182735, 0.999992)
bones/2/scale = Vector3(1, 1, 1)
bones/3/name = "chest"
bones/3/parent = 2
bones/3/rest = Transform3D(1, -2.05374e-22, -1.77636e-14, 2.05374e-22, 1, -1.11653e-14, 1.77636e-14, 1.11653e-14, 1, -9.6328e-23, 0.374988, 1.77636e-15)
bones/3/enabled = true
bones/3/position = Vector3(-1.41718e-11, 0.374988, 2.56119e-11)
bones/3/rotation = Quaternion(2.65483e-05, 7.97105e-05, 0.000545356, 1)
bones/3/rotation = Quaternion(3.39795e-05, 8.1794e-05, 0.000555999, 1)
bones/3/scale = Vector3(1, 1, 1)
bones/4/name = "upperarm.l"
bones/4/parent = 3
bones/4/rest = Transform3D(0.0572952, 0.998357, 5.96046e-08, -2.98023e-07, -1.19209e-07, 1, 0.998357, -0.0572953, 2.38419e-07, 0.212007, 0.134132, 8.92131e-08)
bones/4/enabled = true
bones/4/position = Vector3(0.211994, 0.134121, -2.21786e-05)
bones/4/rotation = Quaternion(-0.554118, -0.0591129, -0.637145, 0.532452)
bones/4/position = Vector3(0.212002, 0.134125, -2.43281e-05)
bones/4/rotation = Quaternion(-0.559688, -0.0624469, -0.642516, 0.519638)
bones/4/scale = Vector3(0.999999, 0.999999, 1)
bones/5/name = "lowerarm.l"
bones/5/parent = 4
bones/5/rest = Transform3D(0.993885, 0.110424, -1.77241e-07, -0.110424, 0.993885, -4.82524e-07, 1.22875e-07, 4.99145e-07, 1, -3.31295e-09, 0.241897, 4.4799e-09)
bones/5/enabled = true
bones/5/position = Vector3(4.27124e-08, 0.241897, -1.72472e-07)
bones/5/rotation = Quaternion(2.11227e-07, 5.55063e-08, -0.515365, 0.856971)
bones/5/rotation = Quaternion(2.11101e-07, 8.00425e-08, -0.498853, 0.866687)
bones/5/scale = Vector3(1, 1, 1)
bones/6/name = "wrist.l"
bones/6/parent = 5
@ -837,28 +837,28 @@ bones/7/parent = 6
bones/7/rest = Transform3D(1, 8.33334e-14, -2.83571e-14, -8.33334e-14, 1, -2.54025e-13, 2.83571e-14, 2.54025e-13, 1, -2.04281e-14, 0.0738259, -1.19209e-07)
bones/7/enabled = true
bones/7/position = Vector3(-7.1782e-09, 0.0738259, -1.0869e-08)
bones/7/rotation = Quaternion(-0.322561, -0.336488, 0.146055, 0.872581)
bones/7/rotation = Quaternion(-0.322034, -0.326942, 0.142432, 0.876993)
bones/7/scale = Vector3(1, 1, 1)
bones/8/name = "handslot.l"
bones/8/parent = 7
bones/8/rest = Transform3D(0, 1, -2.32809e-07, -1, 0, -6.82762e-08, -6.82761e-08, 2.32809e-07, 1, 8.34841e-10, 0.0961251, -0.0575)
bones/8/enabled = true
bones/8/position = Vector3(9.24142e-10, 0.0961252, -0.0575)
bones/8/rotation = Quaternion(0.000659372, 0.000676059, -0.704291, 0.709911)
bones/8/rotation = Quaternion(9.5007e-05, 8.59356e-05, -0.706428, 0.707785)
bones/8/scale = Vector3(1, 1, 1)
bones/9/name = "upperarm.r"
bones/9/parent = 3
bones/9/rest = Transform3D(0.0572954, -0.998357, -1.49012e-07, 2.38419e-07, -1.19209e-07, 1, -0.998357, -0.0572954, 2.38419e-07, -0.212007, 0.134132, 7.46997e-08)
bones/9/enabled = true
bones/9/position = Vector3(-0.212008, 0.134127, -2.33226e-05)
bones/9/rotation = Quaternion(-0.613244, 0.0793295, 0.608982, 0.496768)
bones/9/position = Vector3(-0.212, 0.134123, -2.11732e-05)
bones/9/rotation = Quaternion(-0.618803, 0.0819918, 0.613012, 0.484331)
bones/9/scale = Vector3(0.999999, 0.999999, 1)
bones/10/name = "lowerarm.r"
bones/10/parent = 9
bones/10/rest = Transform3D(0.993885, -0.110424, 1.06327e-07, 0.110424, 0.993885, -4.82539e-07, -5.23934e-08, 4.91329e-07, 1, 4.03071e-09, 0.241897, 3.62012e-09)
bones/10/enabled = true
bones/10/position = Vector3(-4.04491e-08, 0.241897, -5.30697e-08)
bones/10/rotation = Quaternion(1.78575e-07, -1.06611e-07, 0.539286, 0.842123)
bones/10/rotation = Quaternion(2.02505e-07, -1.01366e-07, 0.523453, 0.852054)
bones/10/scale = Vector3(1, 1, 1)
bones/11/name = "wrist.r"
bones/11/parent = 10
@ -872,21 +872,21 @@ bones/12/parent = 11
bones/12/rest = Transform3D(1, -8.32931e-14, 2.83546e-14, 8.32931e-14, 1, -6.34575e-14, -2.83546e-14, 6.34575e-14, 1, 2.04281e-14, 0.0738259, -1.19209e-07)
bones/12/enabled = true
bones/12/position = Vector3(-1.3659e-08, 0.0738259, -6.36405e-08)
bones/12/rotation = Quaternion(-0.31691, 0.316465, -0.230113, 0.863983)
bones/12/rotation = Quaternion(-0.315843, 0.306202, -0.225925, 0.869162)
bones/12/scale = Vector3(1, 1, 1)
bones/13/name = "handslot.r"
bones/13/parent = 12
bones/13/rest = Transform3D(0, -1, 2.32809e-07, 1, 0, -6.86063e-08, 6.86063e-08, 2.32809e-07, 1, -8.34841e-10, 0.0961251, -0.0575)
bones/13/enabled = true
bones/13/position = Vector3(-1.97277e-08, 0.0961251, -0.0575)
bones/13/rotation = Quaternion(0.00224949, 0.00264856, 0.704634, 0.709563)
bones/13/rotation = Quaternion(0.000359388, 0.000403948, 0.706598, 0.707615)
bones/13/scale = Vector3(1, 1, 1)
bones/14/name = "head"
bones/14/parent = 3
bones/14/rest = Transform3D(1, 8.09955e-22, 1.77636e-14, -8.09955e-22, 1, 1.49605e-14, -1.77636e-14, -1.49605e-14, 1, 4.67612e-25, 0.268797, 0)
bones/14/enabled = true
bones/14/position = Vector3(-1.24878e-11, 0.268797, 4.0423e-15)
bones/14/rotation = Quaternion(0.00052844, -0.0308539, -2.16271e-05, 0.999524)
bones/14/rotation = Quaternion(0.000533881, -0.0309567, -1.53053e-05, 0.999521)
bones/14/scale = Vector3(1, 1, 1)
bones/15/name = "Skeleton_Warrior_Helmet"
bones/15/parent = 14
@ -899,71 +899,71 @@ bones/16/name = "upperleg.l"
bones/16/parent = 1
bones/16/rest = Transform3D(1, -1.31243e-07, -1.34242e-07, -1.35828e-07, -0.999396, -0.0347426, -1.29601e-07, 0.0347426, -0.999397, 0.170945, 0.113587, 1.70271e-08)
bones/16/enabled = true
bones/16/position = Vector3(0.170945, 0.113587, 0.00031432)
bones/16/rotation = Quaternion(0.990357, 0.0818817, 0.0773502, 0.0806568)
bones/16/position = Vector3(0.170945, 0.113587, 0.000226713)
bones/16/rotation = Quaternion(0.993498, 0.0818774, 0.0737715, 0.0285482)
bones/16/scale = Vector3(1, 1, 1)
bones/17/name = "lowerleg.l"
bones/17/parent = 16
bones/17/rest = Transform3D(1, 1.62704e-07, 1.37175e-07, -1.30054e-07, 0.977432, -0.211252, -1.68451e-07, 0.211252, 0.977432, -1.1194e-08, 0.227077, -2.32076e-08)
bones/17/enabled = true
bones/17/position = Vector3(3.92422e-08, 0.227078, -1.35528e-10)
bones/17/rotation = Quaternion(0.369176, 7.28212e-08, -2.5649e-07, 0.92936)
bones/17/rotation = Quaternion(0.233395, 6.84983e-08, -1.59559e-07, 0.972382)
bones/17/scale = Vector3(1, 1, 1)
bones/18/name = "foot.l"
bones/18/parent = 17
bones/18/rest = Transform3D(1, -6.39488e-14, 1.68587e-07, -1.36667e-07, 0.585513, 0.810663, -9.87102e-08, -0.810663, 0.585513, -1.49012e-08, 0.149437, 3.72566e-09)
bones/18/enabled = true
bones/18/position = Vector3(4.37849e-08, 0.149437, -6.94943e-09)
bones/18/rotation = Quaternion(-0.608418, -0.199833, 0.0702458, 0.764826)
bones/18/rotation = Quaternion(-0.537535, -0.205658, 0.0475679, 0.816393)
bones/18/scale = Vector3(1, 1, 0.999999)
bones/19/name = "toes.l"
bones/19/parent = 18
bones/19/rest = Transform3D(-1, 1.21361e-07, 3.37844e-07, -1.58967e-07, 0.694106, -0.719873, -3.21865e-07, -0.719873, -0.694106, -1.6149e-10, 0.16565, 8.79764e-10)
bones/19/enabled = true
bones/19/position = Vector3(-7.03199e-09, 0.16565, 2.68891e-08)
bones/19/rotation = Quaternion(-2.6127e-06, 0.920152, -0.391562, 1.0283e-06)
bones/19/rotation = Quaternion(7.31899e-05, 0.920222, -0.391397, -1.64009e-05)
bones/19/scale = Vector3(1, 0.999998, 1)
bones/20/name = "upperleg.r"
bones/20/parent = 1
bones/20/rest = Transform3D(1, 1.31243e-07, 2.02657e-07, 1.38205e-07, -0.999396, -0.0347426, 1.97975e-07, 0.0347426, -0.999397, -0.170945, 0.113587, 5.32468e-09)
bones/20/enabled = true
bones/20/position = Vector3(-0.170945, 0.113344, -0.000314643)
bones/20/rotation = Quaternion(0.992758, -0.0322725, 0.0296577, 0.111846)
bones/20/position = Vector3(-0.170945, 0.113344, -0.000227036)
bones/20/rotation = Quaternion(0.996766, -0.0295855, 0.0308184, 0.0680589)
bones/20/scale = Vector3(1, 1, 1)
bones/21/name = "lowerleg.r"
bones/21/parent = 20
bones/21/rest = Transform3D(1, -1.65029e-07, -1.36672e-07, 1.32432e-07, 0.977432, -0.211252, 1.6845e-07, 0.211252, 0.977432, 1.18882e-08, 0.227077, -2.32075e-08)
bones/21/enabled = true
bones/21/position = Vector3(-9.67559e-09, 0.227077, -1.42054e-08)
bones/21/rotation = Quaternion(0.420268, -6.65278e-08, 2.92923e-07, 0.9074)
bones/21/rotation = Quaternion(0.306672, -7.15384e-08, 2.14497e-07, 0.951815)
bones/21/scale = Vector3(1, 1, 1)
bones/22/name = "foot.r"
bones/22/parent = 21
bones/22/rest = Transform3D(1, 5.68434e-14, 1.68587e-07, -1.36668e-07, 0.585513, 0.810663, -9.87101e-08, -0.810663, 0.585513, 1.49012e-08, 0.149437, 3.72559e-09)
bones/22/enabled = true
bones/22/position = Vector3(1.60742e-08, 0.149437, 6.9127e-09)
bones/22/rotation = Quaternion(-0.635771, 0.111438, -0.0203141, 0.763521)
bones/22/rotation = Quaternion(-0.575026, 0.11277, -0.0101084, 0.810263)
bones/22/scale = Vector3(1, 1, 0.999999)
bones/23/name = "toes.r"
bones/23/parent = 22
bones/23/rest = Transform3D(-1, 1.21361e-07, 3.58529e-08, 5.84281e-08, 0.694106, -0.719873, -1.12251e-07, -0.719873, -0.694106, -1.61491e-10, 0.16565, 2.84604e-09)
bones/23/enabled = true
bones/23/position = Vector3(6.94013e-09, 0.16565, 2.44373e-08)
bones/23/rotation = Quaternion(-8.80778e-05, 0.920215, -0.391413, 2.01302e-05)
bones/23/rotation = Quaternion(-8.80699e-05, 0.920215, -0.391413, 2.01282e-05)
bones/23/scale = Vector3(1, 0.999998, 1)
bones/24/name = "kneeIK.l"
bones/24/parent = 0
bones/24/rest = Transform3D(1, -2.47926e-07, -3.89414e-07, -3.89414e-07, 3.57628e-07, -1, 2.47926e-07, 1, 3.57628e-07, 0.170945, 0.29231, 0.575812)
bones/24/enabled = true
bones/24/position = Vector3(0.170945, 0.292313, 0.575815)
bones/24/position = Vector3(0.170945, 0.29235, 0.575852)
bones/24/rotation = Quaternion(0.707107, -2.25334e-07, -5.00237e-08, 0.707107)
bones/24/scale = Vector3(1, 1, 1)
bones/25/name = "control-toe-roll.l"
bones/25/parent = 0
bones/25/rest = Transform3D(1, 2.05345e-07, -6.39488e-14, -7.10543e-15, 3.57628e-07, 1, 2.05345e-07, -1, 3.57628e-07, 0.170945, 0.0259902, 0.245789)
bones/25/enabled = true
bones/25/position = Vector3(0.201736, 0.0279352, 0.208286)
bones/25/rotation = Quaternion(-0.709492, -7.23498e-08, -7.28523e-08, 0.704713)
bones/25/position = Vector3(0.201736, 0.0278023, 0.207886)
bones/25/rotation = Quaternion(-0.709147, -7.23865e-08, -7.28127e-08, 0.705061)
bones/25/scale = Vector3(1, 1, 1)
bones/26/name = "control-heel-roll.l"
bones/26/parent = 25
@ -977,7 +977,7 @@ bones/27/parent = 26
bones/27/rest = Transform3D(-1, -1.44017e-07, -2.51498e-07, -8.10837e-08, -0.694106, 0.719873, -2.7824e-07, 0.719873, 0.694106, -8.85797e-10, 0.213436, -8.66923e-10)
bones/27/enabled = true
bones/27/position = Vector3(-4.34108e-08, 0.213436, -1.24871e-08)
bones/27/rotation = Quaternion(-1.33533e-07, 0.391084, 0.920355, 2.12007e-08)
bones/27/rotation = Quaternion(-1.33533e-07, 0.391084, 0.920355, 2.11993e-08)
bones/27/scale = Vector3(1, 1, 1)
bones/28/name = "heelIK.l"
bones/28/parent = 27
@ -1004,15 +1004,15 @@ bones/31/name = "kneeIK.r"
bones/31/parent = 0
bones/31/rest = Transform3D(1, -2.47926e-07, 1.50996e-07, 1.50996e-07, 3.57628e-07, -1, 2.47926e-07, 1, 3.57628e-07, -0.170945, 0.29231, 0.575812)
bones/31/enabled = true
bones/31/position = Vector3(-0.170945, 0.292313, 0.575815)
bones/31/position = Vector3(-0.170945, 0.29235, 0.575852)
bones/31/rotation = Quaternion(0.707107, -3.427e-08, 1.4104e-07, 0.707107)
bones/31/scale = Vector3(1, 1, 1)
bones/32/name = "control-toe-roll.r"
bones/32/parent = 0
bones/32/rest = Transform3D(1, 2.05345e-07, -5.68434e-14, -1.42109e-14, 3.57628e-07, 1, 2.05345e-07, -1, 3.57628e-07, -0.170945, 0.0259902, 0.245789)
bones/32/enabled = true
bones/32/position = Vector3(-0.170945, 0.0251931, 0.240823)
bones/32/rotation = Quaternion(-0.702755, -7.30942e-08, -7.21064e-08, 0.711432)
bones/32/position = Vector3(-0.170945, 0.0251808, 0.241307)
bones/32/rotation = Quaternion(-0.7031, -7.30609e-08, -7.21375e-08, 0.711091)
bones/32/scale = Vector3(1, 1, 1)
bones/33/name = "control-heel-roll.r"
bones/33/parent = 32
@ -1026,7 +1026,7 @@ bones/34/parent = 33
bones/34/rest = Transform3D(-1, -1.44017e-07, -2.51498e-07, -8.10837e-08, -0.694106, 0.719873, -2.7824e-07, 0.719873, 0.694106, 1.40154e-08, 0.213436, -5.23748e-10)
bones/34/enabled = true
bones/34/position = Vector3(-2.94849e-09, 0.213436, -1.62925e-08)
bones/34/rotation = Quaternion(-1.46973e-07, 0.391084, 0.920355, 2.40384e-08)
bones/34/rotation = Quaternion(-1.46971e-07, 0.391084, 0.920355, 2.4035e-08)
bones/34/scale = Vector3(1, 1, 1)
bones/35/name = "heelIK.r"
bones/35/parent = 34
@ -1060,7 +1060,7 @@ bones/39/name = "handIK.l"
bones/39/parent = 0
bones/39/rest = Transform3D(-1.19209e-07, 1, 0, -1.19209e-07, 0, 1, 1, 1.19209e-07, 1.19209e-07, 0.713181, 1.10676, 2.99767e-07)
bones/39/enabled = true
bones/39/position = Vector3(0.520733, 0.779381, -0.0592629)
bones/39/position = Vector3(0.520733, 0.788109, -0.0592629)
bones/39/rotation = Quaternion(0.795616, 0.00380772, 0.605784, 0.00243902)
bones/39/scale = Vector3(1, 1, 1)
bones/40/name = "elbowIK.r"
@ -1074,12 +1074,12 @@ bones/41/name = "handIK.r"
bones/41/parent = 0
bones/41/rest = Transform3D(0, -1, -5.96046e-08, 1.78814e-07, -1.19209e-07, 1, -1, -5.96046e-08, 1.19209e-07, -0.713182, 1.10676, -6.1348e-08)
bones/41/enabled = true
bones/41/position = Vector3(-0.510811, 0.779833, 0.0633181)
bones/41/position = Vector3(-0.510811, 0.788561, 0.0633181)
bones/41/rotation = Quaternion(-0.762388, 0.00756036, 0.647063, -0.00406019)
bones/41/scale = Vector3(1, 1, 1)
[node name="Skeleton_Head" type="BoneAttachment3D" parent="Rig/Skeleton3D"]
transform = Transform3D(0.999526, -0.00142026, 0.0307482, 0.00145904, 0.999998, -0.00123881, -0.0307464, 0.00128309, 0.999526, -0.000590946, 1.20874, 0.000111541)
transform = Transform3D(0.999527, -0.00143737, 0.0307342, 0.00147734, 0.999998, -0.00127793, -0.0307323, 0.00132273, 0.999527, -0.000586798, 1.22453, 0.000124435)
bone_name = "head"
bone_idx = 14
@ -1088,11 +1088,10 @@ transform = Transform3D(1, 4.23516e-22, 0, 0, 1, 1.42109e-14, 0, -1.42109e-14, 1
mesh = SubResource("ArrayMesh_o1vl2")
skeleton = NodePath("")
[node name="HurtBox_Head" type="Area3D" parent="Rig/Skeleton3D/Skeleton_Head" node_paths=PackedStringArray("unit")]
[node name="HurtBox_Head" type="Area3D" parent="Rig/Skeleton3D/Skeleton_Head"]
collision_layer = 0
collision_mask = 2
script = ExtResource("3_oqsg8")
unit = NodePath("../../../..")
[node name="CollisionShape3D" type="CollisionShape3D" parent="Rig/Skeleton3D/Skeleton_Head/HurtBox_Head"]
transform = Transform3D(1, -2.026e-05, -6.68131e-06, 2.02599e-05, 1, -4.2983e-05, 6.72229e-06, 4.29826e-05, 1, 0.000172617, 0.628405, -0.000116687)
@ -1127,7 +1126,7 @@ mesh = SubResource("ArrayMesh_or0td")
skin = SubResource("Skin_irdo5")
[node name="Skeleton_Hand_L" type="BoneAttachment3D" parent="Rig/Skeleton3D"]
transform = Transform3D(0.263558, 0.00154537, 0.964642, 0.0127141, -0.999916, -0.00187081, 0.964559, 0.0127571, -0.263557, 0.563469, 0.724164, -0.0337203)
transform = Transform3D(0.263509, 0.00145069, 0.964655, 0.0126542, -0.999917, -0.00195184, 0.964573, 0.0127208, -0.263506, 0.563732, 0.73266, -0.0346319)
bone_name = "hand.l"
bone_idx = 7
@ -1150,7 +1149,7 @@ shape = SubResource("CapsuleShape3D_70xfu")
disabled = true
[node name="Skeleton_Hand_R" type="BoneAttachment3D" parent="Rig/Skeleton3D"]
transform = Transform3D(0.151556, -0.0116231, -0.98838, -0.0150806, -0.999841, 0.00944635, -0.988333, 0.0134733, -0.151707, -0.549283, 0.729936, 0.102688)
transform = Transform3D(0.151746, -0.0115832, -0.988351, -0.0148398, -0.999845, 0.00944018, -0.988307, 0.0132339, -0.151895, -0.549854, 0.738259, 0.101643)
bone_name = "hand.r"
bone_idx = 12
@ -1181,8 +1180,8 @@ libraries = {
tree_root = SubResource("AnimationNodeStateMachine_34gcr")
anim_player = NodePath("../AnimationPlayer")
parameters/current_length = 1.04167
parameters/current_position = 0.375222
parameters/current_delta = 0.0166667
parameters/current_position = 0.111452
parameters/current_delta = 0.0133837
parameters/conditions/grounded = false
parameters/conditions/jumping = false
parameters/Death_A/current_length = 0.791667
@ -1201,12 +1200,12 @@ parameters/Hit_B/current_length = 0.833333
parameters/Hit_B/current_position = 0.833333
parameters/Hit_B/current_delta = 0.0175824
parameters/IWR/current_length = 1.04167
parameters/IWR/current_position = 0.375222
parameters/IWR/current_delta = 0.0166667
parameters/IWR/current_position = 0.111452
parameters/IWR/current_delta = 0.0133837
parameters/IWR/blend_position = Vector2(0.000524879, -0.0137615)
parameters/IWR/0/current_length = 1.04167
parameters/IWR/0/current_position = 0.375222
parameters/IWR/0/current_delta = 0.0166667
parameters/IWR/0/current_position = 0.111452
parameters/IWR/0/current_delta = 0.0133837
parameters/IWR/1/current_length = 0.791667
parameters/IWR/1/current_position = 0.708259
parameters/IWR/1/current_delta = 0.0166667
@ -1214,8 +1213,8 @@ parameters/IWR/2/current_length = 1.04167
parameters/IWR/2/current_position = 1.04167
parameters/IWR/2/current_delta = 0.0
parameters/IWR/3/current_length = 0.791667
parameters/IWR/3/current_position = 0.0418862
parameters/IWR/3/current_delta = 0.0166667
parameters/IWR/3/current_position = 0.236442
parameters/IWR/3/current_delta = 0.0133837
parameters/IWR/4/current_length = 0.791667
parameters/IWR/4/current_position = 0.390352
parameters/IWR/4/current_delta = 0.0166667

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://comq7sgbauwwv"
path.s3tc="res://.godot/imported/texture_01_d.png-21489658bedb921b9905126f89492cb7.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://resources/material/texture_01_d.png"
dest_files=["res://.godot/imported/texture_01_d.png-21489658bedb921b9905126f89492cb7.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
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=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://d4gxgqcilesjs"
path.s3tc="res://.godot/imported/texture_01_n.png-19b437c8f116fd8b26437e52156b0827.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://resources/material/texture_01_n.png"
dest_files=["res://.godot/imported/texture_01_n.png-19b437c8f116fd8b26437e52156b0827.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=1
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=1
roughness/src_normal="res://resources/material/texture_01_n.png"
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=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://0sh578p713ma"
path.s3tc="res://.godot/imported/texture_01_o.png-6c1d76c60ebd8e6c1c2d231c0ca204ab.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://resources/material/texture_01_o.png"
dest_files=["res://.godot/imported/texture_01_o.png-6c1d76c60ebd8e6c1c2d231c0ca204ab.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
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=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://7rxdelmtxrlp"
path.s3tc="res://.godot/imported/texture_01_p.png-231a0f6a7b1519bfc63c7aa4b33e5fea.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://resources/material/texture_01_p.png"
dest_files=["res://.godot/imported/texture_01_p.png-231a0f6a7b1519bfc63c7aa4b33e5fea.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
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=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dj7oas0jsletv"
path.s3tc="res://.godot/imported/texture_01_s.png-dd596b38649d728951f93c1782433b2d.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://resources/material/texture_01_s.png"
dest_files=["res://.godot/imported/texture_01_s.png-dd596b38649d728951f93c1782433b2d.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
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=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://f4upoadtkfb"
path="res://.godot/imported/texture_08_d.png-f14f98111e01c4cec5162e313da078d0.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://resources/material/texture_08_d.png"
dest_files=["res://.godot/imported/texture_08_d.png-f14f98111e01c4cec5162e313da078d0.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://caw15fxonnsoh"
path="res://.godot/imported/texture_08_n.png-f28ce7b6f069be425c63aa6e5080ab00.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://resources/material/texture_08_n.png"
dest_files=["res://.godot/imported/texture_08_n.png-f28ce7b6f069be425c63aa6e5080ab00.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c8rd4dr3axu4q"
path="res://.godot/imported/texture_08_o.png-77526db30bdf59bd5e2ffb87ee8dbe31.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://resources/material/texture_08_o.png"
dest_files=["res://.godot/imported/texture_08_o.png-77526db30bdf59bd5e2ffb87ee8dbe31.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bdjfqa88q2hbv"
path="res://.godot/imported/texture_08_p.png-5e14ce0f6a3b70de791a9b1ada8ce0a8.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://resources/material/texture_08_p.png"
dest_files=["res://.godot/imported/texture_08_p.png-5e14ce0f6a3b70de791a9b1ada8ce0a8.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cgf1gcmya17op"
path="res://.godot/imported/texture_08_s.png-15ff7d4b41920471dba5a8c21e90ea54.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://resources/material/texture_08_s.png"
dest_files=["res://.godot/imported/texture_08_s.png-15ff7d4b41920471dba5a8c21e90ea54.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

@ -1,4 +1,4 @@
[gd_scene load_steps=14 format=3 uid="uid://b1i4juq2u7pwk"]
[gd_scene load_steps=15 format=3 uid="uid://b1i4juq2u7pwk"]
[ext_resource type="Environment" uid="uid://d31wkt76cft8k" path="res://resources/world_environment.tres" id="1_03qki"]
[ext_resource type="Script" path="res://scripts/game_manager.gd" id="1_kvi4c"]
@ -10,6 +10,7 @@
[ext_resource type="MeshLibrary" uid="uid://bs0yqy7xhugol" path="res://resources/level_mesh_library.tres" id="9_dr0le"]
[ext_resource type="Material" uid="uid://dmiddiyswbqqx" path="res://resources/material/TCom_Sand_Muddy2.tres" id="10_0dqj1"]
[ext_resource type="PackedScene" uid="uid://cjxeovwundmud" path="res://packed-scenes/skeleton_warrior.tscn" id="10_fdhx7"]
[ext_resource type="PackedScene" uid="uid://7o1425mnc60b" path="res://packed-scenes/box.tscn" id="11_3yvr5"]
[sub_resource type="NavigationMesh" id="NavigationMesh_3mbqm"]
vertices = PackedVector3Array(-21.5, 0.4, 13.5, -16, 0.4, 13.5, -16, 0.4, 10.75, -21.5, 0.4, 13.5, -16, 0.4, 10.75, -15.25, 0.4, 10, -13, 0.4, 2, -14, 0.4, 1.5, -21.5, 0.4, -1.5, -14, 0.4, 1.5, -14, 0.4, -1.5, -21.5, 0.4, -1.5, -15.25, 0.4, 10, -13, 0.4, 10, -13, 0.4, 2, -12, 0.4, -1.5, -12, 0.4, 0, 14, 0.4, 0, 14, 0.4, -1.5, 18, 0.4, 10.75, 18, 0.4, 13.5, 20, 0.4, 13.5, 17.5, 0.4, 10, 18, 0.4, 10.75, 20, 0.4, 13.5, 20.25, 0.4, -1.5, 16, 0.4, 1.5, 15.5, 0.4, 2, 20.25, 0.4, -1.5, 16, 0.4, -1.5, 16, 0.4, 1.5, -13, 0.4, 10, 17.5, 0.4, 10, 15.5, 0.4, 2, -13, 0.4, 2, -14, 0.4, 12, -14, 0.4, 13.5, 16, 0.4, 13.5, 16, 0.4, 12)
@ -103,3 +104,6 @@ shape = SubResource("ConcavePolygonShape3D_cumsm")
[node name="Skeleton_Warrior" parent="." node_paths=PackedStringArray("player") instance=ExtResource("10_fdhx7")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18, 1, 5)
player = NodePath("../Player")
[node name="Box" parent="." instance=ExtResource("11_3yvr5")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -12, 2.5, 6)

@ -31588,43 +31588,43 @@ bones/0/name = "root"
bones/0/parent = -1
bones/0/rest = Transform3D(1, 0, 2.38419e-07, 0, 1, 0, -2.38419e-07, 0, 1, 0, 0, 0)
bones/0/enabled = true
bones/0/position = Vector3(0, 0.000234596, 0)
bones/0/position = Vector3(0, 0.000234325, 0)
bones/0/rotation = Quaternion(-3.44513e-11, -0.001001, -5.96713e-11, 1)
bones/0/scale = Vector3(1, 1, 1)
bones/1/name = "hips"
bones/1/parent = 0
bones/1/rest = Transform3D(1, 0, -2.38419e-07, 0, 1, 0, 2.38419e-07, 0, 1, 0, 0.405663, 0)
bones/1/enabled = true
bones/1/position = Vector3(1.51132e-18, 0.377961, -3.3964e-18)
bones/1/rotation = Quaternion(0.000692955, 0.0428647, 0.000103473, 0.999081)
bones/1/position = Vector3(7.16078e-25, 0.378146, -3.00346e-18)
bones/1/rotation = Quaternion(0.000685688, 0.0428646, 0.000103793, 0.999081)
bones/1/scale = Vector3(1, 1, 1)
bones/2/name = "spine"
bones/2/parent = 1
bones/2/rest = Transform3D(1, 0, 1.42109e-14, 0, 1, 0, -1.42109e-14, 0, 1, 0, 0.191978, 0)
bones/2/enabled = true
bones/2/position = Vector3(0, 0.191978, 0)
bones/2/rotation = Quaternion(0.00083765, 0.000710923, -0.000136382, 0.999999)
bones/2/rotation = Quaternion(0.000837669, 0.000710595, -0.000135884, 0.999999)
bones/2/scale = Vector3(1, 1, 1)
bones/3/name = "chest"
bones/3/parent = 2
bones/3/rest = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.374988, 0)
bones/3/enabled = true
bones/3/position = Vector3(0, 0.374988, 0)
bones/3/rotation = Quaternion(0.000321301, 0.000301109, -0.000121144, 1)
bones/3/rotation = Quaternion(0.000321315, 0.000301106, -0.000121159, 1)
bones/3/scale = Vector3(1, 1, 1)
bones/4/name = "upperarm.l"
bones/4/parent = 3
bones/4/rest = Transform3D(0.0572842, 0.998357, -3.57628e-07, -3.57628e-07, 4.76837e-07, 1, 0.998357, -0.0572841, 4.76837e-07, 0.212007, 0.134132, 8.40246e-08)
bones/4/enabled = true
bones/4/position = Vector3(0.211956, 0.134039, -0.000334252)
bones/4/rotation = Quaternion(-0.553579, -0.0636711, -0.654918, 0.510469)
bones/4/position = Vector3(0.211956, 0.134039, -0.000334245)
bones/4/rotation = Quaternion(-0.556908, -0.0589592, -0.637105, 0.529599)
bones/4/scale = Vector3(0.999999, 0.999999, 1)
bones/5/name = "lowerarm.l"
bones/5/parent = 4
bones/5/rest = Transform3D(0.993887, 0.110402, -1.19007e-07, -0.110402, 0.993887, 3.28831e-09, 1.18643e-07, 9.87045e-09, 1, -3.21966e-09, 0.241897, -1.19406e-07)
bones/5/enabled = true
bones/5/position = Vector3(-3.21966e-09, 0.241897, -1.19406e-07)
bones/5/rotation = Quaternion(1.27496e-08, -5.40097e-08, -0.478715, 0.877971)
bones/5/rotation = Quaternion(1.81229e-08, -8.68363e-08, -0.511825, 0.859089)
bones/5/scale = Vector3(1, 1, 1)
bones/6/name = "wrist.l"
bones/6/parent = 5
@ -31638,14 +31638,14 @@ bones/7/parent = 6
bones/7/rest = Transform3D(1, 1.09104e-05, 2.66204e-07, -1.09104e-05, 1, -2.40181e-09, -2.66204e-07, 2.39891e-09, 1, 9.08162e-13, 0.0738258, 2.22045e-16)
bones/7/enabled = true
bones/7/position = Vector3(9.08162e-13, 0.0738258, 2.22045e-16)
bones/7/rotation = Quaternion(-0.315011, -0.331009, 0.132795, 0.879527)
bones/7/rotation = Quaternion(-0.320008, -0.334798, 0.147998, 0.873843)
bones/7/scale = Vector3(1, 1, 1)
bones/8/name = "handslot.l"
bones/8/parent = 7
bones/8/rest = Transform3D(-1.19209e-07, 1, -2.22045e-16, -1, -1.19209e-07, -4.55307e-09, -4.55307e-09, -2.22045e-16, 1, 8.34815e-10, 0.0961251, -0.0575001)
bones/8/enabled = true
bones/8/position = Vector3(1.03221e-10, 0.0961252, -0.0575)
bones/8/rotation = Quaternion(0.00114412, 0.0017688, -0.699619, 0.714513)
bones/8/rotation = Quaternion(-5.50247e-06, 0.000625969, -0.703867, 0.710332)
bones/8/scale = Vector3(1, 1, 1)
bones/9/name = "1H_Sword_Offhand"
bones/9/parent = 8
@ -31686,15 +31686,15 @@ bones/14/name = "upperarm.r"
bones/14/parent = 3
bones/14/rest = Transform3D(0.0572841, -0.998357, 4.47035e-07, 5.06639e-07, 4.17232e-07, 1, -0.998357, -0.0572842, 4.76837e-07, -0.212007, 0.134132, 8.40246e-08)
bones/14/enabled = true
bones/14/position = Vector3(-0.211876, 0.133999, -0.000312773)
bones/14/rotation = Quaternion(-0.612855, 0.0828623, 0.627083, 0.473613)
bones/14/position = Vector3(-0.211876, 0.133999, -0.000312779)
bones/14/rotation = Quaternion(-0.615086, 0.0782872, 0.611473, 0.49157)
bones/14/scale = Vector3(0.999999, 0.999999, 1)
bones/15/name = "lowerarm.r"
bones/15/parent = 14
bones/15/rest = Transform3D(0.993887, -0.110402, 1.19007e-07, 0.110402, 0.993887, 3.28831e-09, -1.18643e-07, 9.87045e-09, 1, -7.12186e-11, 0.241897, -1.19406e-07)
bones/15/enabled = true
bones/15/position = Vector3(-7.12186e-11, 0.241897, -1.19406e-07)
bones/15/rotation = Quaternion(3.20187e-08, 4.76159e-08, 0.502869, 0.864363)
bones/15/rotation = Quaternion(5.00639e-09, 5.7718e-08, 0.53454, 0.845143)
bones/15/scale = Vector3(1, 1, 1)
bones/16/name = "wrist.r"
bones/16/parent = 15
@ -31708,14 +31708,14 @@ bones/17/parent = 16
bones/17/rest = Transform3D(1, -1.09104e-05, -1.78637e-07, 1.09104e-05, 1, -2.40084e-09, 1.78637e-07, 2.39889e-09, 1, 1.33227e-15, 0.0738258, 2.22045e-16)
bones/17/enabled = true
bones/17/position = Vector3(1.33227e-15, 0.0738258, 2.22045e-16)
bones/17/rotation = Quaternion(-0.313539, 0.305658, -0.214124, 0.873165)
bones/17/rotation = Quaternion(-0.318634, 0.311243, -0.229615, 0.865377)
bones/17/scale = Vector3(1, 1, 1)
bones/18/name = "handslot.r"
bones/18/parent = 17
bones/18/rest = Transform3D(-1.19209e-07, -1, 2.22045e-16, 1, -1.19209e-07, -4.55301e-09, 4.55301e-09, -2.22045e-16, 1, -8.34815e-10, 0.0961251, -0.0575001)
bones/18/enabled = true
bones/18/position = Vector3(-1.53215e-08, 0.0961251, -0.0575)
bones/18/rotation = Quaternion(0.00391507, 0.00467708, 0.701442, 0.712701)
bones/18/rotation = Quaternion(0.00124649, 0.00151999, 0.704243, 0.709957)
bones/18/scale = Vector3(1, 1, 1)
bones/19/name = "1H_Sword"
bones/19/parent = 18
@ -31736,7 +31736,7 @@ bones/21/parent = 3
bones/21/rest = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.268797, 0)
bones/21/enabled = true
bones/21/position = Vector3(0, 0.268797, 0)
bones/21/rotation = Quaternion(-0.000937251, -0.0315641, -0.000128968, 0.999501)
bones/21/rotation = Quaternion(-0.00093767, -0.0315338, -0.000130833, 0.999502)
bones/21/scale = Vector3(1, 1, 1)
bones/22/name = "Knight_Helmet"
bones/22/parent = 21
@ -31756,71 +31756,71 @@ bones/24/name = "upperleg.l"
bones/24/parent = 1
bones/24/rest = Transform3D(1, -1.42215e-07, -2.65602e-08, -1.43052e-07, -0.999396, -0.0347412, -2.16035e-08, 0.0347411, -0.999398, 0.170945, 0.113587, 1.39233e-08)
bones/24/enabled = true
bones/24/position = Vector3(0.170945, 0.113587, 0.000703179)
bones/24/rotation = Quaternion(0.991296, 0.0822841, 0.0769986, 0.0680599)
bones/24/position = Vector3(0.170945, 0.113587, 0.00063364)
bones/24/rotation = Quaternion(0.991391, 0.0823342, 0.0768997, 0.0667246)
bones/24/scale = Vector3(1, 1, 1)
bones/25/name = "lowerleg.l"
bones/25/parent = 24
bones/25/rest = Transform3D(1, 1.6129e-07, 1.20856e-07, -1.3212e-07, 0.977433, -0.211248, -1.52201e-07, 0.211248, 0.977433, 3.57982e-09, 0.227077, -6.13986e-09)
bones/25/enabled = true
bones/25/position = Vector3(3.57982e-09, 0.227077, -6.13986e-09)
bones/25/rotation = Quaternion(0.336223, 5.80221e-08, -2.38317e-07, 0.941783)
bones/25/rotation = Quaternion(0.333734, 5.72151e-08, -2.36167e-07, 0.942667)
bones/25/scale = Vector3(1, 1, 1)
bones/26/name = "foot.l"
bones/26/parent = 25
bones/26/rest = Transform3D(1, 4.64335e-08, 6.01239e-08, -7.59277e-08, 0.585515, 0.810661, 2.4383e-09, -0.810662, 0.585514, 1.83222e-10, 0.149437, 9.66537e-10)
bones/26/enabled = true
bones/26/position = Vector3(1.83222e-10, 0.149437, 9.66537e-10)
bones/26/rotation = Quaternion(-0.591167, -0.202723, 0.065836, 0.777875)
bones/26/rotation = Quaternion(-0.589965, -0.202751, 0.065706, 0.778791)
bones/26/scale = Vector3(1, 1, 0.999999)
bones/27/name = "toes.l"
bones/27/parent = 26
bones/27/rest = Transform3D(-1, -1.75424e-09, 1.51741e-07, -1.10452e-07, 0.694106, -0.719873, -1.04062e-07, -0.719873, -0.694106, -2.1306e-10, 0.16565, 5.17174e-09)
bones/27/enabled = true
bones/27/position = Vector3(-2.1306e-10, 0.16565, 5.17174e-09)
bones/27/rotation = Quaternion(-9.90021e-09, 0.920355, -0.391084, 7.82285e-08)
bones/27/rotation = Quaternion(-9.8886e-09, 0.920355, -0.391084, 7.82349e-08)
bones/27/scale = Vector3(1, 1, 1)
bones/28/name = "upperleg.r"
bones/28/parent = 1
bones/28/rest = Transform3D(1, 1.49611e-07, -6.08626e-08, 1.47406e-07, -0.999396, -0.0347412, -6.60234e-08, 0.0347411, -0.999398, -0.170945, 0.113587, 1.39233e-08)
bones/28/enabled = true
bones/28/position = Vector3(-0.170945, 0.113587, -0.000703148)
bones/28/rotation = Quaternion(0.993744, -0.0318684, 0.0301581, 0.102702)
bones/28/position = Vector3(-0.170945, 0.113587, -0.000633608)
bones/28/rotation = Quaternion(0.993799, -0.0318363, 0.0301731, 0.102178)
bones/28/scale = Vector3(1, 1, 1)
bones/29/name = "lowerleg.r"
bones/29/parent = 28
bones/29/rest = Transform3D(1, -1.6129e-07, -1.20856e-07, 1.3212e-07, 0.977433, -0.211248, 1.52201e-07, 0.211248, 0.977433, -3.57982e-09, 0.227077, -6.13986e-09)
bones/29/enabled = true
bones/29/position = Vector3(-3.57982e-09, 0.227077, -6.13986e-09)
bones/29/rotation = Quaternion(0.390089, -6.08052e-08, 2.72812e-07, 0.920777)
bones/29/rotation = Quaternion(0.388822, -6.07894e-08, 2.7189e-07, 0.921313)
bones/29/scale = Vector3(1, 1, 1)
bones/30/name = "foot.r"
bones/30/parent = 29
bones/30/rest = Transform3D(1, -1.55132e-07, 2.93521e-07, -1.47115e-07, 0.585515, 0.810661, -2.97621e-07, -0.810662, 0.585514, -1.83221e-10, 0.149437, 9.66542e-10)
bones/30/enabled = true
bones/30/position = Vector3(-1.83221e-10, 0.149437, 9.66542e-10)
bones/30/rotation = Quaternion(-0.617271, 0.112594, -0.0186513, 0.778429)
bones/30/rotation = Quaternion(-0.616609, 0.112612, -0.0185349, 0.778953)
bones/30/scale = Vector3(1, 1, 0.999999)
bones/31/name = "toes.r"
bones/31/parent = 30
bones/31/rest = Transform3D(-1, 1.75425e-09, -1.51741e-07, 1.10452e-07, 0.694106, -0.719873, 1.04062e-07, -0.719873, -0.694106, 2.13058e-10, 0.16565, 5.17174e-09)
bones/31/enabled = true
bones/31/position = Vector3(2.13058e-10, 0.16565, 5.17174e-09)
bones/31/rotation = Quaternion(2.99707e-08, 0.920289, -0.391239, -6.94168e-08)
bones/31/rotation = Quaternion(3.03649e-08, 0.920355, -0.391084, -6.9553e-08)
bones/31/scale = Vector3(1, 1, 1)
bones/32/name = "kneeIK.l"
bones/32/parent = 0
bones/32/rest = Transform3D(1, -2.59151e-07, -3.89414e-07, -3.89414e-07, 0, -1, 2.59151e-07, 1, 0, 0.170945, 0.29231, 0.575812)
bones/32/enabled = true
bones/32/position = Vector3(0.170945, 0.292364, 0.575866)
bones/32/position = Vector3(0.170945, 0.292365, 0.575867)
bones/32/rotation = Quaternion(0.707107, -2.29302e-07, -4.60552e-08, 0.707107)
bones/32/scale = Vector3(1, 1, 1)
bones/33/name = "control-toe-roll.l"
bones/33/parent = 0
bones/33/rest = Transform3D(1, 1.99485e-07, -3.55271e-14, 3.55271e-14, 0, 1, 1.99485e-07, -1, 0, 0.170945, 0.0259903, 0.245789)
bones/33/enabled = true
bones/33/position = Vector3(0.20196, 0.0282665, 0.207967)
bones/33/rotation = Quaternion(-0.709194, -7.02666e-08, -7.07733e-08, 0.705014)
bones/33/position = Vector3(0.20196, 0.0279481, 0.207761)
bones/33/rotation = Quaternion(-0.709049, -7.03124e-08, -7.07398e-08, 0.705159)
bones/33/scale = Vector3(1, 1, 1)
bones/34/name = "control-heel-roll.l"
bones/34/parent = 33
@ -31861,15 +31861,15 @@ bones/39/name = "kneeIK.r"
bones/39/parent = 0
bones/39/rest = Transform3D(1, -2.59151e-07, 1.50996e-07, 1.50996e-07, 0, -1, 2.59151e-07, 1, 0, -0.170945, 0.29231, 0.575812)
bones/39/enabled = true
bones/39/position = Vector3(-0.170945, 0.292364, 0.575866)
bones/39/position = Vector3(-0.170945, 0.292365, 0.575867)
bones/39/rotation = Quaternion(0.707107, -3.82385e-08, 1.45009e-07, 0.707107)
bones/39/scale = Vector3(1, 1, 1)
bones/40/name = "control-toe-roll.r"
bones/40/parent = 0
bones/40/rest = Transform3D(1, 1.99485e-07, 0, 0, 0, 1, 1.99485e-07, -1, 0, -0.170945, 0.0259903, 0.245789)
bones/40/enabled = true
bones/40/position = Vector3(-0.170945, 0.0267785, 0.240696)
bones/40/rotation = Quaternion(-0.702161, -7.10284e-08, -7.00251e-08, 0.712018)
bones/40/position = Vector3(-0.170945, 0.026763, 0.240746)
bones/40/rotation = Quaternion(-0.702161, -7.10449e-08, -7.00033e-08, 0.712018)
bones/40/scale = Vector3(1, 1, 1)
bones/41/name = "control-heel-roll.r"
bones/41/parent = 40
@ -31917,8 +31917,8 @@ bones/47/name = "handIK.l"
bones/47/parent = 0
bones/47/rest = Transform3D(-2.38419e-07, 1, 0, 0, 0, 1, 1, 2.38419e-07, 0, 0.713181, 1.10676, 2.54914e-07)
bones/47/enabled = true
bones/47/position = Vector3(0.520792, 0.768487, -0.0566606)
bones/47/rotation = Quaternion(0.796158, 0.00319458, 0.60508, 0.00021497)
bones/47/position = Vector3(0.520792, 0.781626, -0.0566603)
bones/47/rotation = Quaternion(0.796158, 0.0031949, 0.60508, 0.000215067)
bones/47/scale = Vector3(1, 1, 1)
bones/48/name = "elbowIK.r"
bones/48/parent = 0
@ -31931,12 +31931,12 @@ bones/49/name = "handIK.r"
bones/49/parent = 0
bones/49/rest = Transform3D(1.19209e-07, -1, -1.19209e-07, 0, -1.19209e-07, 1, -1, -1.19209e-07, 0, -0.713182, 1.10676, -8.51573e-08)
bones/49/enabled = true
bones/49/position = Vector3(-0.510618, 0.768487, 0.060953)
bones/49/rotation = Quaternion(0.759825, -0.00320603, -0.650119, 0.000906343)
bones/49/position = Vector3(-0.510618, 0.781626, 0.0609533)
bones/49/rotation = Quaternion(0.759826, -0.00320634, -0.650119, 0.000906458)
bones/49/scale = Vector3(1, 1, 1)
[node name="1H_Sword_Offhand" type="BoneAttachment3D" parent="Rig/Skeleton3D"]
transform = Transform3D(-0.00290157, 0.26326, 0.96472, 0.999872, -0.0143443, 0.00692264, 0.015661, 0.964618, -0.263185, 0.512694, 0.615411, -0.00126328)
transform = Transform3D(-0.00317518, 0.263183, 0.96474, 0.999989, -0.00223458, 0.00390166, 0.00318309, 0.964743, -0.263173, 0.512939, 0.630521, 0.00111077)
visible = false
bone_name = "1H_Sword_Offhand"
bone_idx = 9
@ -31946,7 +31946,7 @@ mesh = SubResource("ArrayMesh_rvosg")
skeleton = NodePath("")
[node name="Badge_Shield" type="BoneAttachment3D" parent="Rig/Skeleton3D"]
transform = Transform3D(-0.00290155, 0.26326, 0.96472, 0.999872, -0.0143468, 0.0069233, 0.0156636, 0.964618, -0.263184, 0.66308, 0.616491, -0.0422899)
transform = Transform3D(-0.00317516, 0.263182, 0.96474, 0.999989, -0.00223711, 0.00390232, 0.00318571, 0.964743, -0.263172, 0.663328, 0.631129, -0.039914)
visible = false
bone_name = "Badge_Shield"
bone_idx = 10
@ -31956,7 +31956,7 @@ mesh = SubResource("ArrayMesh_0xags")
skeleton = NodePath("")
[node name="Rectangle_Shield" type="BoneAttachment3D" parent="Rig/Skeleton3D"]
transform = Transform3D(-0.00290155, 0.26326, 0.96472, 0.999872, -0.0143468, 0.0069233, 0.0156636, 0.964618, -0.263184, 0.66308, 0.616491, -0.0422899)
transform = Transform3D(-0.00317516, 0.263182, 0.96474, 0.999989, -0.00223711, 0.00390232, 0.00318571, 0.964743, -0.263172, 0.663328, 0.631129, -0.039914)
visible = false
bone_name = "Rectangle_Shield"
bone_idx = 11
@ -31966,7 +31966,7 @@ mesh = SubResource("ArrayMesh_qr44s")
skeleton = NodePath("")
[node name="Round_Shield" type="BoneAttachment3D" parent="Rig/Skeleton3D"]
transform = Transform3D(-0.00290155, 0.26326, 0.96472, 0.999872, -0.0143468, 0.0069233, 0.0156636, 0.964618, -0.263184, 0.66308, 0.616491, -0.0422899)
transform = Transform3D(-0.00317516, 0.263182, 0.96474, 0.999989, -0.00223711, 0.00390232, 0.00318571, 0.964743, -0.263172, 0.663328, 0.631129, -0.039914)
bone_name = "Round_Shield"
bone_idx = 12
@ -31975,7 +31975,7 @@ mesh = SubResource("ArrayMesh_bb24p")
skeleton = NodePath("")
[node name="Spike_Shield" type="BoneAttachment3D" parent="Rig/Skeleton3D"]
transform = Transform3D(-0.00290155, 0.26326, 0.96472, 0.999872, -0.0143468, 0.0069233, 0.0156636, 0.964618, -0.263184, 0.66308, 0.616491, -0.0422899)
transform = Transform3D(-0.00317516, 0.263182, 0.96474, 0.999989, -0.00223711, 0.00390232, 0.00318571, 0.964743, -0.263172, 0.663328, 0.631129, -0.039914)
bone_name = "Spike_Shield"
bone_idx = 13
@ -31984,7 +31984,7 @@ mesh = SubResource("ArrayMesh_jnwr3")
skeleton = NodePath("")
[node name="1H_Sword" type="BoneAttachment3D" parent="Rig/Skeleton3D"]
transform = Transform3D(0.00197408, -0.166635, 0.986016, 0.999944, -0.00987197, -0.00367122, 0.0103462, 0.985969, 0.166606, -0.497993, 0.619888, 0.138453)
transform = Transform3D(0.00413619, -0.158506, 0.987349, 0.999987, -0.00186713, -0.00448971, 0.00255572, 0.987355, 0.158496, -0.497486, 0.635458, 0.140875)
bone_name = "1H_Sword"
bone_idx = 19
@ -32004,7 +32004,7 @@ shape = SubResource("CapsuleShape3D_nge0l")
disabled = true
[node name="2H_Sword" type="BoneAttachment3D" parent="Rig/Skeleton3D"]
transform = Transform3D(0.00197406, -0.166635, 0.986016, 0.999944, -0.00987198, -0.00367121, 0.0103462, 0.985969, 0.166606, -0.497993, 0.619888, 0.138453)
transform = Transform3D(0.00413617, -0.158506, 0.987349, 0.999987, -0.00186715, -0.00448969, 0.00255573, 0.987355, 0.158496, -0.497486, 0.635458, 0.140875)
bone_name = "2H_Sword"
bone_idx = 20
@ -32013,7 +32013,7 @@ mesh = SubResource("ArrayMesh_ys2n7")
skeleton = NodePath("")
[node name="Knight_Helmet" type="BoneAttachment3D" parent="Rig/Skeleton3D"]
transform = Transform3D(0.999743, 0.000715243, 0.0226381, -0.000674912, 0.999998, -0.00178911, -0.0226394, 0.00177337, 0.999742, 0.00020233, 1.18842, 0.0023454)
transform = Transform3D(0.999742, 0.000716675, 0.0226977, -0.000676587, 0.999998, -0.00177379, -0.022699, 0.00175798, 0.999741, 0.000200633, 1.1886, 0.00233376)
bone_name = "Knight_Helmet"
bone_idx = 22
@ -32022,18 +32022,17 @@ visible = false
mesh = SubResource("ArrayMesh_o8mbo")
skeleton = NodePath("")
[node name="HurtBox" type="Area3D" parent="Rig/Skeleton3D/Knight_Helmet" node_paths=PackedStringArray("unit")]
[node name="HurtBox" type="Area3D" parent="Rig/Skeleton3D/Knight_Helmet"]
collision_layer = 0
collision_mask = 2
script = ExtResource("5_le25r")
unit = NodePath("../../../..")
[node name="CollisionShape3D" type="CollisionShape3D" parent="Rig/Skeleton3D/Knight_Helmet/HurtBox"]
transform = Transform3D(1, -0.000110137, 3.92254e-05, 0.000110138, 1, -1.74385e-05, -3.92236e-05, 1.74425e-05, 1, -0.000137337, 0.567395, -0.000581467)
shape = SubResource("CapsuleShape3D_7mgwb")
[node name="Knight_Cape" type="BoneAttachment3D" parent="Rig/Skeleton3D"]
transform = Transform3D(0.996323, 0.000559251, 0.0856724, -0.000243708, 0.999993, -0.00369355, -0.0856739, 0.00365909, 0.996316, 0.000205827, 1.18842, 0.00229723)
transform = Transform3D(0.996323, 0.000557058, 0.0856715, -0.000242756, 0.999993, -0.00367906, -0.0856729, 0.00364474, 0.996317, 0.000204222, 1.1886, 0.00228556)
visible = false
bone_name = "Knight_Cape"
bone_idx = 23
@ -32079,8 +32078,8 @@ libraries = {
tree_root = SubResource("AnimationNodeStateMachine_vnar2")
anim_player = NodePath("../AnimationPlayer")
parameters/current_length = 1.06667
parameters/current_position = 0.762666
parameters/current_delta = 0.0114997
parameters/current_position = 0.301025
parameters/current_delta = 0.0180556
parameters/conditions/blocking = false
parameters/conditions/grounded = false
parameters/conditions/jumping = false
@ -32119,21 +32118,21 @@ parameters/Hit_B/current_length = 0.866667
parameters/Hit_B/current_position = 0.866667
parameters/Hit_B/current_delta = 0.0202171
parameters/IWR/current_length = 1.06667
parameters/IWR/current_position = 0.762666
parameters/IWR/current_delta = 0.0114997
parameters/IWR/current_position = 0.301025
parameters/IWR/current_delta = 0.0180556
parameters/IWR/blend_position = Vector2(0.001912, 0.00518131)
parameters/IWR/0/current_length = 1.06667
parameters/IWR/0/current_position = 0.762666
parameters/IWR/0/current_delta = 0.0114997
parameters/IWR/0/current_position = 0.301025
parameters/IWR/0/current_delta = 0.0180556
parameters/IWR/1/current_length = 0.8
parameters/IWR/1/current_position = 0.762998
parameters/IWR/1/current_delta = 0.0114997
parameters/IWR/1/current_position = 0.0371897
parameters/IWR/1/current_delta = 0.0180556
parameters/IWR/2/current_length = 1.06667
parameters/IWR/2/current_position = 0.475417
parameters/IWR/2/current_delta = 0.0166667
parameters/IWR/3/current_length = 0.8
parameters/IWR/3/current_position = 0.762998
parameters/IWR/3/current_delta = 0.0114997
parameters/IWR/3/current_position = 0.0371897
parameters/IWR/3/current_delta = 0.0180556
parameters/IWR/4/current_length = 0.8
parameters/IWR/4/current_position = 0.561474
parameters/IWR/4/current_delta = 0.0166667

@ -5,13 +5,14 @@ class_name Enemy
@export var chasing_range := 30.0
@export var attack_range := 2.0
var attacks := ["Unarmed_Melee_Attack_Punch_A","Unarmed_Melee_Attack_Punch_A 2","Unarmed_Melee_Attack_Punch_B"]
var attacks := ["Unarmed_Melee_Attack_Punch_A","Unarmed_Melee_Attack_Punch_B"]
@onready var nav_agent: NavigationAgent3D = $NavigationAgent3D
func _physics_process(delta: float) -> void:
func _physics_process(_delta: float) -> void:
if player == null: return
if player.dead: return
if dead: return
var distance = global_position.distance_to(player.global_position)
#print(distance)
if distance <= attack_range:
@ -40,10 +41,3 @@ func _on_velocity_computed(safe_velocity: Vector3) -> void:
anim_tree.set("parameters/IWR/blend_position", Vector2(vl.x, -vl.z) / speed)
velocity.y = vy
move_and_slide()
func _on_animation_tree_animation_started(anim_name: StringName) -> void:
pass
func _on_animation_tree_animation_finished(anim_name: StringName) -> void:
if attacks.has(anim_name):
player.take_damage(damage)

@ -1,7 +1,7 @@
class_name HurtBox
extends Area3D
@export var unit: Unit
@export var object: Node3D
func _init() -> void:
collision_layer = 0
@ -12,6 +12,7 @@ func _ready() -> void:
func _on_area_entered(hitbox: HitBox) -> void:
if hitbox == null: return
if unit != null: print(unit.name + " take damage by " + hitbox.unit.name + "...")
if owner.has_method("take_damage"):
owner.take_damage(hitbox.get_damage())
if object is Item or object is Unit:
print(object.name + " take damage by " + hitbox.object.name + "...")
if owner.has_method("take_damage"):
owner.take_damage(hitbox.get_damage())

@ -0,0 +1,24 @@
class_name Item
extends Node3D
@export var unit_name: String
@export var maximum_health := 10
@export var health := maximum_health
signal name_changed(unit_name: String)
signal health_changed(current_health: int, maximum_health: int)
signal item_destroyed
func _ready() -> void:
name_changed.emit(unit_name)
health_changed.emit(health, maximum_health)
func take_damage(damage_amount: int) -> void:
health -= damage_amount
clampi(health, 0, maximum_health)
health_changed.emit(health, maximum_health)
if health <= 0: destroyed()
func destroyed() -> void:
print(unit_name + " destroyed!")
item_destroyed.emit()