diff --git a/.vscode/settings.json b/.vscode/settings.json index d2fc71b..c22e3c7 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,5 +1,5 @@ { - "godotTools.editorPath.godot4": "/home/sascha/Godot/Godot_v4.5-beta1_linux.x86_64", + "godotTools.editorPath.godot4": "/home/sascha/Godot/Godot_v4.5-beta3_linux.x86_64", "git.alwaysShowStagedChangesResourceGroup": false, "git.enableCommitSigning": true } \ No newline at end of file diff --git a/packed-scenes/knight.tscn b/packed-scenes/knight.tscn index 908a4d8..cf20b46 100644 --- a/packed-scenes/knight.tscn +++ b/packed-scenes/knight.tscn @@ -31728,43 +31728,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.00051125773, 0) +bones/0/position = Vector3(0, 0.00014053543, 0) bones/0/rotation = Quaternion(-2.1973744e-11, -0.000638415, -3.8059562e-11, 0.9999998) 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.0831419e-18, 0.3830444, 2.58241e-25) -bones/1/rotation = Quaternion(0.0021013343, 0.042223815, -3.819298e-06, 0.99910605) +bones/1/position = Vector3(3.6406747e-19, 0.38125348, 1.4381516e-18) +bones/1/rotation = Quaternion(0.002150177, 0.042223994, -5.894737e-06, 0.9991059) 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.0025025683, -0.0015096358, 7.607508e-05, 0.9999957) +bones/2/rotation = Quaternion(0.0025062335, -0.00060442404, 1.4894359e-06, 0.9999967) 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.00095853594, 0.00016158301, -0.00023410548, 0.9999995) +bones/3/rotation = Quaternion(0.0009533176, 0.00017604706, -0.00015982457, 0.9999995) 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.21155712, 0.1336984, -0.0009502411) -bones/4/rotation = Quaternion(-0.5632811, -0.060399666, -0.6336199, 0.52687013) +bones/4/position = Vector3(0.21164604, 0.13374294, -0.000974262) +bones/4/rotation = Quaternion(-0.559113, -0.065407015, -0.6520691, 0.5078587) 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(3.7021298e-08, -5.071121e-08, -0.5068316, 0.8620452) +bones/5/rotation = Quaternion(2.9125124e-08, -5.490448e-08, -0.47540045, 0.8797696) bones/5/scale = Vector3(1, 1, 1) bones/6/name = "wrist.l" bones/6/parent = 5 @@ -31778,14 +31778,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.3153584, -0.33485505, 0.14072372, 0.8767086) +bones/7/rotation = Quaternion(-0.30997488, -0.33169147, 0.12663393, 0.8819638) 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.695765e-09, 0.0961252, -0.0575) -bones/8/rotation = Quaternion(-0.00088720076, 0.0013334863, -0.70235723, 0.7118229) +bones/8/rotation = Quaternion(0.00037105524, 0.0025946489, -0.6976476, 0.7164363) bones/8/scale = Vector3(1, 1, 1) bones/9/name = "1H_Sword_Offhand" bones/9/parent = 8 @@ -31826,15 +31826,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.21189721, 0.13386868, -0.0010420948) -bones/14/rotation = Quaternion(-0.6192182, 0.08141826, 0.6118496, 0.48536584) +bones/14/position = Vector3(-0.21180826, 0.13382415, -0.0010180731) +bones/14/rotation = Quaternion(-0.61663836, 0.085415535, 0.62646276, 0.46904776) 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.852633e-08, 5.6858802e-08, 0.53054243, 0.8476584) +bones/15/rotation = Quaternion(-9.942978e-11, 5.7771533e-08, 0.49996057, 0.86604816) bones/15/scale = Vector3(1, 1, 1) bones/16/name = "wrist.r" bones/16/parent = 15 @@ -31848,14 +31848,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.31285167, 0.31003007, -0.22333848, 0.8695546) +bones/17/rotation = Quaternion(-0.30761233, 0.30569842, -0.2079677, 0.87673986) 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.4181621e-08, 0.0961251, -0.0575) -bones/18/rotation = Quaternion(-0.00015401734, -2.3545876e-05, 0.70263493, 0.7115506) +bones/18/rotation = Quaternion(0.00288088, 0.003609095, 0.6994344, 0.7146819) bones/18/scale = Vector3(1, 1, 1) bones/19/name = "1H_Sword" bones/19/parent = 18 @@ -31876,7 +31876,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.0028369161, -0.029370032, -0.00024617545, 0.9995645) +bones/21/rotation = Quaternion(-0.0028465556, -0.030465301, -0.00017991973, 0.9995318) bones/21/scale = Vector3(1, 1, 1) bones/22/name = "Knight_Helmet" bones/22/parent = 21 @@ -31896,71 +31896,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.0008175167) -bones/24/rotation = Quaternion(0.99253446, 0.08113696, 0.07482224, 0.051901277) +bones/24/position = Vector3(0.170945, 0.113587, 0.00057042035) +bones/24/rotation = Quaternion(0.99204415, 0.08068581, 0.07546906, 0.0603542) 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.31100962, 6.48454e-08, -2.1855239e-07, 0.95040685) +bones/25/rotation = Quaternion(0.32404235, 6.3634864e-08, -2.2536847e-07, 0.9460426) 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.56677693, -0.20118403, 0.059413362, 0.79671764) +bones/26/rotation = Quaternion(-0.5754419, -0.20132868, 0.05900708, 0.79047567) 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(-1.0197146e-08, 0.9203551, -0.39108407, 7.8119825e-08) +bones/27/rotation = Quaternion(-1.0198054e-08, 0.9203551, -0.39108407, 7.81167e-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.0008175475) -bones/28/rotation = Quaternion(0.9945792, -0.030799989, 0.029842721, 0.09472563) +bones/28/position = Vector3(-0.170945, 0.113587, -0.00057038915) +bones/28/rotation = Quaternion(0.99463373, -0.030836096, 0.029874805, 0.09412949) 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.3526237, -6.2438666e-08, 2.4504394e-07, 0.9357652) +bones/29/rotation = Quaternion(0.3606838, -6.1874765e-08, 2.5102509e-07, 0.93268824) 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.600817, 0.11135964, -0.015075144, 0.79144853) +bones/30/rotation = Quaternion(-0.60487497, 0.11134049, -0.015335035, 0.7883493) 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(3.036192e-08, 0.9203551, -0.39108407, -6.953354e-08) +bones/31/rotation = Quaternion(2.9855265e-08, 0.91963625, -0.39277142, -6.948212e-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.2933799, 0.5768819) +bones/32/position = Vector3(0.170945, 0.29417834, 0.57768035) bones/32/rotation = Quaternion(0.7071068, -2.2930195e-07, -4.605519e-08, 0.7071068) 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.20149983, 0.027762832, 0.19321045) -bones/33/rotation = Quaternion(-0.69282955, -7.178747e-08, -6.925056e-08, 0.7211014) +bones/33/position = Vector3(0.20149983, 0.02648736, 0.2002749) +bones/33/rotation = Quaternion(-0.6969236, -7.1386694e-08, -6.966377e-08, 0.7171454) bones/33/scale = Vector3(1, 1, 1) bones/34/name = "control-heel-roll.l" bones/34/parent = 33 @@ -32001,15 +32001,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.2933799, 0.5768818) +bones/39/position = Vector3(-0.170945, 0.29417834, 0.57768035) bones/39/rotation = Quaternion(0.7071068, -3.823849e-08, 1.4500897e-07, 0.7071068) 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.02783467, 0.24941792) -bones/40/rotation = Quaternion(-0.70904064, -7.0396325e-08, -7.066399e-08, 0.70516765) +bones/40/position = Vector3(-0.170945, 0.025172958, 0.24447253) +bones/40/rotation = Quaternion(-0.70611846, -7.062541e-08, -7.04294e-08, 0.70809376) bones/40/scale = Vector3(1, 1, 1) bones/41/name = "control-heel-roll.r" bones/41/parent = 40 @@ -32057,8 +32057,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.52067727, 0.7841314, -0.05339924) -bones/47/rotation = Quaternion(0.799423, 0.010695671, 0.60067123, 0.0016434311) +bones/47/position = Vector3(0.52067727, 0.7694862, -0.052982565) +bones/47/rotation = Quaternion(0.7997721, 0.011139648, 0.60019785, 0.0017665469) bones/47/scale = Vector3(1, 1, 1) bones/48/name = "elbowIK.r" bones/48/parent = 0 @@ -32071,12 +32071,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.5107404, 0.7841314, 0.0620955) -bones/49/rotation = Quaternion(0.76388174, -0.010068458, -0.6452746, 0.0020175208) +bones/49/position = Vector3(-0.5107404, 0.7694862, 0.06251216) +bones/49/rotation = Quaternion(0.7642572, -0.010505465, -0.64482236, 0.002165003) bones/49/scale = Vector3(1, 1, 1) [node name="1H_Sword_Offhand" type="BoneAttachment3D" parent="Rig/Skeleton3D"] -transform = Transform3D(-0.016497025, 0.26816204, 0.9632318, 0.9998554, 0.008290631, 0.014817096, -0.00401205, 0.9633371, -0.26825967, 0.51675445, 0.6351288, 0.0034316517) +transform = Transform3D(-0.015049586, 0.2677652, 0.96336627, 0.99983937, -0.0052937283, 0.017091671, 0.009676961, 0.96346873, -0.26764208, 0.5156648, 0.6181228, 0.0015728083) visible = false bone_name = "1H_Sword_Offhand" bone_idx = 9 @@ -32086,7 +32086,7 @@ mesh = SubResource("ArrayMesh_rvosg") skeleton = NodePath("") [node name="Badge_Shield" type="BoneAttachment3D" parent="Rig/Skeleton3D"] -transform = Transform3D(-0.016496988, 0.2681619, 0.96323186, 0.9998554, 0.008288093, 0.014817766, -0.004009429, 0.9633372, -0.26825947, 0.66690785, 0.63743865, -0.038386006) +transform = Transform3D(-0.015049551, 0.26776502, 0.9633663, 0.99983937, -0.0052962666, 0.017092336, 0.009679582, 0.9634688, -0.26764187, 0.6658392, 0.6207872, -0.04014858) visible = false bone_name = "Badge_Shield" bone_idx = 10 @@ -32096,7 +32096,7 @@ mesh = SubResource("ArrayMesh_0xags") skeleton = NodePath("") [node name="Rectangle_Shield" type="BoneAttachment3D" parent="Rig/Skeleton3D"] -transform = Transform3D(-0.016496988, 0.2681619, 0.96323186, 0.9998554, 0.008288093, 0.014817766, -0.004009429, 0.9633372, -0.26825947, 0.66690785, 0.63743865, -0.038386006) +transform = Transform3D(-0.015049551, 0.26776502, 0.9633663, 0.99983937, -0.0052962666, 0.017092336, 0.009679582, 0.9634688, -0.26764187, 0.6658392, 0.6207872, -0.04014858) visible = false bone_name = "Rectangle_Shield" bone_idx = 11 @@ -32106,7 +32106,7 @@ mesh = SubResource("ArrayMesh_qr44s") skeleton = NodePath("") [node name="Round_Shield" type="BoneAttachment3D" parent="Rig/Skeleton3D"] -transform = Transform3D(-0.016496988, 0.2681619, 0.96323186, 0.9998554, 0.008288093, 0.014817766, -0.004009429, 0.9633372, -0.26825947, 0.66690785, 0.63743865, -0.038386006) +transform = Transform3D(-0.015049551, 0.26776502, 0.9633663, 0.99983937, -0.0052962666, 0.017092336, 0.009679582, 0.9634688, -0.26764187, 0.6658392, 0.6207872, -0.04014858) bone_name = "Round_Shield" bone_idx = 12 @@ -32115,7 +32115,7 @@ mesh = SubResource("ArrayMesh_bb24p") skeleton = NodePath("") [node name="Spike_Shield" type="BoneAttachment3D" parent="Rig/Skeleton3D"] -transform = Transform3D(-0.016496988, 0.2681619, 0.96323186, 0.9998554, 0.008288093, 0.014817766, -0.004009429, 0.9633372, -0.26825947, 0.66690785, 0.63743865, -0.038386006) +transform = Transform3D(-0.015049551, 0.26776502, 0.9633663, 0.99983937, -0.0052962666, 0.017092336, 0.009679582, 0.9634688, -0.26764187, 0.6658392, 0.6207872, -0.04014858) bone_name = "Spike_Shield" bone_idx = 13 @@ -32124,7 +32124,7 @@ mesh = SubResource("ArrayMesh_jnwr3") skeleton = NodePath("") [node name="1H_Sword" type="BoneAttachment3D" parent="Rig/Skeleton3D"] -transform = Transform3D(0.0126273045, -0.1607346, 0.98691624, 0.9998864, 0.010089995, -0.011151015, -0.008165288, 0.9869452, 0.16084322, -0.4988582, 0.6385482, 0.14292471) +transform = Transform3D(0.011193838, -0.17062251, 0.9852722, 0.9999358, 0.00048182314, -0.011278062, 0.001449997, 0.98533547, 0.17061667, -0.49953735, 0.62163496, 0.14066279) bone_name = "1H_Sword" bone_idx = 19 @@ -32143,7 +32143,7 @@ shape = SubResource("CapsuleShape3D_nge0l") disabled = true [node name="2H_Sword" type="BoneAttachment3D" parent="Rig/Skeleton3D"] -transform = Transform3D(0.01262729, -0.1607346, 0.98691624, 0.9998864, 0.01008998, -0.011151002, -0.008165275, 0.9869452, 0.16084322, -0.4988582, 0.6385482, 0.14292471) +transform = Transform3D(0.011193823, -0.17062251, 0.9852722, 0.9999358, 0.0004818084, -0.011278049, 0.0014500092, 0.98533547, 0.17061667, -0.49953735, 0.62163496, 0.14066279) bone_name = "2H_Sword" bone_idx = 20 @@ -32152,7 +32152,7 @@ mesh = SubResource("ArrayMesh_ys2n7") skeleton = NodePath("") [node name="Knight_Helmet" type="BoneAttachment3D" parent="Rig/Skeleton3D"] -transform = Transform3D(0.9997625, 0.0012587747, 0.021752767, -0.0011413982, 0.99998474, -0.0054075094, -0.021759253, 0.005381396, 0.9997486, 0.00045063088, 1.1937505, 0.0070946123) +transform = Transform3D(0.99977034, 0.0011376548, 0.021400176, -0.0010204955, 0.9999845, -0.005484817, -0.02140607, 0.0054617194, 0.99975586, 0.0005204348, 1.1915882, 0.0071707955) bone_name = "Knight_Helmet" bone_idx = 22 @@ -32171,7 +32171,7 @@ transform = Transform3D(-0.999711, 2.27778e-05, 0.024046, 5.34939e-07, 1, -0.000 shape = SubResource("CapsuleShape3D_i3cyd") [node name="Knight_Cape" type="BoneAttachment3D" parent="Rig/Skeleton3D"] -transform = Transform3D(0.9967612, 0.001057018, 0.08040971, -0.00016317016, 0.99993813, -0.011121927, -0.0804165, 0.011072785, 0.9966997, 0.00045529613, 1.193751, 0.006949257) +transform = Transform3D(0.9966117, 0.0010734616, 0.08224274, -0.00015146508, 0.9999371, -0.011216093, -0.0822496, 0.011165633, 0.9965491, 0.0005215872, 1.1915886, 0.007025121) visible = false bone_name = "Knight_Cape" bone_idx = 23 diff --git a/packed-scenes/projectile.tscn b/packed-scenes/projectile.tscn index b2e19e1..388a531 100644 --- a/packed-scenes/projectile.tscn +++ b/packed-scenes/projectile.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=7 format=4 uid="uid://ct5l65uyr6ah4"] +[gd_scene load_steps=6 format=4 uid="uid://ct5l65uyr6ah4"] [ext_resource type="Script" uid="uid://bp0km7yaf1acs" path="res://scripts/projectile.gd" id="1_82dr7"] [ext_resource type="Texture2D" uid="uid://dp7oiixx3lh8m" path="res://resources/models/adventures/rogue_texture.png" id="2_s7p1a"] @@ -43,20 +43,15 @@ _surfaces = [{ blend_shape_mode = 0 shadow_mesh = SubResource("ArrayMesh_55kdo") -[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_82dr7"] -points = PackedVector3Array(0.04128374, 0.3626984, -0.01389911, -0.061556876, 0.2713009, -0.036756866, -0.032973632, -0.30004406, -0.025322676, -0.0044026896, 0.28842872, 0.071804196, 0.04128374, -0.30572873, 0.008958648, 0.064145416, 0.2769856, -0.036756866, -0.02725206, -0.30572873, 0.03179515, 0.024143642, -0.30572873, -0.036756866, 0.024143642, -0.30572873, 0.037501622, -0.04440447, 0.3626984, -0.025322676, 0.0070035383, 0.2713009, 0.06607647, -0.0041874964, -0.37151226, -0.0017098819, -0.0044026896, 0.36845687, 0.04894644, -0.0386952, -0.30004406, 0.014675744, -0.021542793, -0.30572873, -0.036756866, 0.064145416, 0.28274405, -0.03103977, 0.04128374, -0.30572873, -0.008182013, -0.021542793, -0.30572873, 0.037501622, -0.055823, 0.31699964, -0.025322676, -0.0386952, -0.31141338, -0.008182013, 0.04128374, 0.36845687, -0.01960558, 0.03557448, -0.30004406, 0.02036096, 0.058423847, 0.29987186, -0.036756866, 0.0070035383, 0.3626984, 0.043218717, -0.055823, 0.29987186, -0.036756866, -0.0386952, 0.36845687, -0.01389911, 0.0067091268, -0.36631048, -0.0014341609, -0.0044026896, 0.2769856, 0.071804196, 0.058423847, 0.3055565, -0.025322676, -0.0386952, -0.31141338, 0.008958648, -0.0386952, -0.30004406, -0.01389911, 0.03557448, -0.30004406, -0.01960558) - -[node name="Projectile" type="Area3D"] +[node name="Projectile" type="Node3D"] transform = Transform3D(-4.371139e-08, -1, 0, 1, -4.371139e-08, 0, 0, 0, 1, 0, 0, 0) -collision_layer = 8 -collision_mask = 31 script = ExtResource("1_82dr7") [node name="arrow" type="MeshInstance3D" parent="."] mesh = SubResource("ArrayMesh_wk71i") skeleton = NodePath("") -[node name="CollisionShape3D" type="CollisionShape3D" parent="."] -shape = SubResource("ConvexPolygonShape3D_82dr7") - -[connection signal="body_entered" from="." to="." method="_on_body_entered"] +[node name="RayCast3D" type="RayCast3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.4671554e-08, 0.33564603, 0) +enabled = false +collision_mask = 31 diff --git a/packed-scenes/rogue.tscn b/packed-scenes/rogue.tscn index 0feb156..d5c60f4 100644 --- a/packed-scenes/rogue.tscn +++ b/packed-scenes/rogue.tscn @@ -31225,13 +31225,22 @@ transitions = ["Start", "IWR", SubResource("AnimationNodeStateMachineTransition_ graph_offset = Vector2(-341, -183.186) [node name="Rogue" type="CharacterBody3D" node_paths=PackedStringArray("spring_arm", "model") groups=["player"]] -transform = Transform3D(0.8, 0, 0, 0, 0.8, 0, 0, 0, 0.8, 0, 0, 0) +transform = Transform3D(0.7, 0, 0, 0, 0.7, 0, 0, 0, 0.7, 0, 0, 0) collision_layer = 4 collision_mask = 25 script = ExtResource("1_neebp") arrow_scene = ExtResource("2_7uuak") loaded = true spring_arm = NodePath("SpringArm3D") +maximum_health = 20 +maximum_stamina = 100 +stamina_regeneration_rate = 3 +speed = 5.0 +acceleration = 5.0 +jump_speed = 20.0 +jump_cost = 10 +attack_cost = 20 +damage = 2 model = NodePath("Rig") [node name="Navigation_CollisionShape" type="CollisionShape3D" parent="."] @@ -31246,43 +31255,43 @@ bones/0/name = "root" bones/0/parent = -1 bones/0/rest = Transform3D(1, 0, 2.3841855e-07, 0, 1, 0, -2.3841855e-07, 0, 1, 0, 0, 0) bones/0/enabled = true -bones/0/position = Vector3(0, 4.5906527e-05, 0) +bones/0/position = Vector3(0, 0.00010280854, 0) bones/0/rotation = Quaternion(-1.0940686e-11, 0.00031804445, 1.8949824e-11, 1) bones/0/scale = Vector3(1, 1, 1) bones/1/name = "hips" bones/1/parent = 0 bones/1/rest = Transform3D(1, 0, -2.3841855e-07, 0, 1, 0, 2.3841855e-07, 0, 1, 0, 0.40566343, 0) bones/1/enabled = true -bones/1/position = Vector3(-5.212698e-19, 0.3882999, 1.8025374e-20) -bones/1/rotation = Quaternion(0.00040030995, 0.042972893, -5.9514656e-05, 0.99907625) +bones/1/position = Vector3(-1.784468e-25, 0.3915765, 7.4846016e-19) +bones/1/rotation = Quaternion(0.0004177531, 0.042972714, -6.0253275e-05, 0.99907625) bones/1/scale = Vector3(1, 1, 1) bones/2/name = "spine" bones/2/parent = 1 bones/2/rest = Transform3D(1, 0, 1.4210855e-14, 0, 1, 0, -1.4210855e-14, 0, 1, 0, 0.1919775, 0) bones/2/enabled = true bones/2/position = Vector3(0, 0.1919775, 0) -bones/2/rotation = Quaternion(0.00048730045, 0.00017892211, 1.0855466e-05, 0.99999994) +bones/2/rotation = Quaternion(0.00048991624, -0.00051837345, 6.333066e-05, 0.9999998) bones/2/scale = Vector3(1, 1, 1) bones/3/name = "chest" bones/3/parent = 2 bones/3/rest = Transform3D(1, 0, 0, 0, 0.99999994, 0, 0, 0, 1, 0, 0.37498796, 0) bones/3/enabled = true bones/3/position = Vector3(0, 0.37498796, 0) -bones/3/rotation = Quaternion(0.00018717925, -8.950797e-05, 6.9886235e-05, 1) +bones/3/rotation = Quaternion(0.00019600886, -0.000101350095, 8.938414e-06, 1) bones/3/scale = Vector3(1, 0.99999994, 1) bones/4/name = "upperarm.l" bones/4/parent = 3 bones/4/rest = Transform3D(0.057284202, 0.9983573, -4.5386042e-07, -3.8742996e-07, 4.768369e-07, 0.99999976, 0.9983573, -0.057284202, 4.1410917e-07, 0.21200737, 0.13413215, 8.402462e-08) bones/4/enabled = true -bones/4/position = Vector3(0.2119793, 0.134078, -0.00019805766) -bones/4/rotation = Quaternion(-0.55976903, -0.060519774, -0.64145243, 0.52109) +bones/4/position = Vector3(0.21191402, 0.1340453, -0.00018042425) +bones/4/rotation = Quaternion(-0.56101793, -0.06095207, -0.6422821, 0.518669) bones/4/scale = Vector3(0.99999934, 0.99999934, 0.99999976) bones/5/name = "lowerarm.l" bones/5/parent = 4 bones/5/rest = Transform3D(0.99388725, 0.11040192, -1.1900745e-07, -0.110401966, 0.9938869, 3.2883107e-09, 1.1864304e-07, 9.870443e-09, 0.99999994, -3.219665e-09, 0.2418973, -1.1940561e-07) bones/5/enabled = true bones/5/position = Vector3(-3.219665e-09, 0.2418973, -1.1940561e-07) -bones/5/rotation = Quaternion(3.5936797e-08, -5.8841795e-08, -0.500242, 0.8658856) +bones/5/rotation = Quaternion(1.0993076e-08, -4.433788e-08, -0.49550137, 0.8686072) bones/5/scale = Vector3(1.0000002, 0.9999999, 0.99999994) bones/6/name = "wrist.l" bones/6/parent = 5 @@ -31296,28 +31305,28 @@ bones/7/parent = 6 bones/7/rest = Transform3D(1, 1.091039e-05, 2.662036e-07, -1.0910391e-05, 0.99999994, -2.4018103e-09, -2.6620367e-07, 2.398906e-09, 0.99999994, 9.0816243e-13, 0.073825836, 2.220446e-16) bones/7/enabled = true bones/7/position = Vector3(9.0816243e-13, 0.073825836, 2.220446e-16) -bones/7/rotation = Quaternion(-0.31996244, -0.32821146, 0.14618346, 0.87665945) +bones/7/rotation = Quaternion(-0.31997746, -0.32657832, 0.1445881, 0.877528) bones/7/scale = Vector3(1, 0.99999994, 0.99999994) bones/8/name = "handslot.l" bones/8/parent = 7 bones/8/rest = Transform3D(-1.1920929e-07, 1, -3.2072357e-16, -0.99999994, -1.192093e-07, -4.553069e-09, -4.553069e-09, -2.2204463e-16, 0.99999994, 8.348149e-10, 0.09612507, -0.057500124) bones/8/enabled = true bones/8/position = Vector3(4.437712e-10, 0.096125185, -0.057500035) -bones/8/rotation = Quaternion(-5.7563728e-05, 0.0003969183, -0.7058323, 0.7083789) +bones/8/rotation = Quaternion(-0.00016770068, 0.00030877706, -0.7062343, 0.7079782) bones/8/scale = Vector3(0.99999994, 1, 0.99999994) bones/9/name = "upperarm.r" bones/9/parent = 3 bones/9/rest = Transform3D(0.05728419, -0.99835724, 4.4361707e-07, 5.6624367e-07, 4.7683673e-07, 0.99999976, -0.99835724, -0.05728419, 5.9262936e-07, -0.21200737, 0.13413215, 8.402462e-08) bones/9/enabled = true -bones/9/position = Vector3(-0.21192801, 0.1340523, -0.00018419232) -bones/9/rotation = Quaternion(-0.6179149, 0.080209725, 0.61564386, 0.4824212) +bones/9/position = Vector3(-0.21199329, 0.134085, -0.00020182574) +bones/9/rotation = Quaternion(-0.61880493, 0.0813487, 0.61738425, 0.47885242) bones/9/scale = Vector3(0.9999993, 0.9999993, 0.99999976) bones/10/name = "lowerarm.r" bones/10/parent = 9 bones/10/rest = Transform3D(0.99388725, -0.11040192, 1.1900747e-07, 0.110401966, 0.9938869, 3.288313e-09, -1.1864305e-07, 9.870443e-09, 0.99999994, -7.1218566e-11, 0.24189733, -1.1940561e-07) bones/10/enabled = true bones/10/position = Vector3(-7.1218566e-11, 0.24189733, -1.1940561e-07) -bones/10/rotation = Quaternion(2.1509576e-08, 4.6948106e-08, 0.5227685, 0.85247475) +bones/10/rotation = Quaternion(2.9678166e-08, 4.7537355e-08, 0.5185106, 0.85507125) bones/10/scale = Vector3(1.0000002, 0.9999999, 0.99999994) bones/11/name = "wrist.r" bones/11/parent = 10 @@ -31331,91 +31340,91 @@ bones/12/parent = 11 bones/12/rest = Transform3D(1, -1.091039e-05, -1.7863715e-07, 1.0910391e-05, 0.99999994, -2.4008375e-09, 1.786372e-07, 2.3988884e-09, 0.99999994, 1.3322676e-15, 0.073825836, 2.220446e-16) bones/12/enabled = true bones/12/position = Vector3(1.3322676e-15, 0.073825836, 2.220446e-16) -bones/12/rotation = Quaternion(-0.31838337, 0.30401933, -0.2271529, 0.8686806) +bones/12/rotation = Quaternion(-0.31800085, 0.30155295, -0.22607405, 0.86996084) bones/12/scale = Vector3(1, 0.99999994, 0.99999994) bones/13/name = "handslot.r" bones/13/parent = 12 bones/13/rest = Transform3D(-1.1920929e-07, -1, 3.207168e-16, 0.99999994, -1.192093e-07, -4.553012e-09, 4.553012e-09, -2.2204463e-16, 0.99999994, -8.348149e-10, 0.09612507, -0.057500124) bones/13/enabled = true bones/13/position = Vector3(-1.5459904e-08, 0.096125126, -0.057499975) -bones/13/rotation = Quaternion(0.00019804666, 0.00039927734, 0.7058896, 0.7083218) +bones/13/rotation = Quaternion(-8.6894266e-05, 4.1088664e-05, 0.7061989, 0.7080136) bones/13/scale = Vector3(0.99999994, 1, 0.99999994) bones/14/name = "head" bones/14/parent = 3 bones/14/rest = Transform3D(1, 0, 2.3841854e-07, 0, 1, 0, -2.3841854e-07, 0, 1, 0, 0.26879656, 0) bones/14/enabled = true bones/14/position = Vector3(0, 0.26879656, 0) -bones/14/rotation = Quaternion(-0.0005539667, -0.031366378, 3.2605156e-05, 0.99950784) +bones/14/rotation = Quaternion(-0.0005416243, -0.03074002, -5.4097804e-06, 0.99952734) bones/14/scale = Vector3(1, 1, 1) bones/15/name = "upperleg.l" bones/15/parent = 1 bones/15/rest = Transform3D(1, -1.4221531e-07, -2.6560238e-08, -1.4305222e-07, -0.9993962, -0.034741182, -2.160345e-08, 0.034741133, -0.9993976, 0.17094506, 0.11358726, 1.3923272e-08) bones/15/enabled = true -bones/15/position = Vector3(0.17094508, 0.1135872, -2.7399055e-06) -bones/15/rotation = Quaternion(0.9933333, 0.08293795, 0.074531496, 0.029245652) +bones/15/position = Vector3(0.17094508, 0.1135872, -0.00040050622) +bones/15/rotation = Quaternion(0.9937241, 0.08330146, 0.073393986, 0.013664369) bones/15/scale = Vector3(1, 0.9999998, 1.0000012) bones/16/name = "lowerleg.l" bones/16/parent = 15 bones/16/rest = Transform3D(1, 1.6129098e-07, 1.208564e-07, -1.3212028e-07, 0.9774329, -0.21124826, -1.5220138e-07, 0.21124834, 0.97743255, 3.5797574e-09, 0.2270775, -6.140325e-09) bones/16/enabled = true bones/16/position = Vector3(3.5797574e-09, 0.2270775, -6.140325e-09) -bones/16/rotation = Quaternion(0.24147674, 6.342827e-08, -1.6912848e-07, 0.9704066) +bones/16/rotation = Quaternion(0.20449843, 6.370045e-08, -1.3522428e-07, 0.9788669) bones/16/scale = Vector3(1, 1.0000005, 1.0000001) bones/17/name = "foot.l" bones/17/parent = 16 bones/17/rest = Transform3D(1, 4.6433247e-08, 6.012356e-08, -7.592726e-08, 0.5855154, 0.8106606, 2.4383358e-09, -0.81066227, 0.5855142, 1.8334093e-10, 0.14943703, 9.660811e-10) bones/17/enabled = true bones/17/position = Vector3(1.8334093e-10, 0.14943703, 9.660811e-10) -bones/17/rotation = Quaternion(-0.54130316, -0.2072299, 0.050382406, 0.8133316) +bones/17/rotation = Quaternion(-0.51999766, -0.20842338, 0.044675738, 0.82714343) bones/17/scale = Vector3(1, 1.0000008, 0.99999875) bones/18/name = "toes.l" bones/18/parent = 17 bones/18/rest = Transform3D(-1, -1.7553674e-09, 1.5174173e-07, -1.1045316e-07, 0.69410586, -0.719873, -1.0406117e-07, -0.7198729, -0.694106, -2.131959e-10, 0.16565003, 5.1714744e-09) bones/18/enabled = true bones/18/position = Vector3(-2.131959e-10, 0.16565003, 5.1714744e-09) -bones/18/rotation = Quaternion(-9.829811e-09, 0.9203513, -0.39109263, 7.826989e-08) +bones/18/rotation = Quaternion(-9.572115e-09, 0.92017806, -0.3915002, 7.8214086e-08) bones/18/scale = Vector3(1, 0.99999994, 1.0000001) bones/19/name = "upperleg.r" bones/19/parent = 1 bones/19/rest = Transform3D(1, 1.4961141e-07, -6.08626e-08, 1.4740668e-07, -0.9993962, -0.034741182, -6.6023446e-08, 0.034741133, -0.9993976, -0.17094506, 0.11358726, 1.3923272e-08) bones/19/enabled = true -bones/19/position = Vector3(-0.17094508, 0.11358732, 2.771481e-06) -bones/19/rotation = Quaternion(0.9963822, -0.03007052, 0.031022659, 0.07318414) +bones/19/position = Vector3(-0.17094508, 0.11358732, 0.0004005379) +bones/19/rotation = Quaternion(0.9970729, -0.029483221, 0.031287275, 0.063227035) bones/19/scale = Vector3(1, 0.9999998, 1.0000012) bones/20/name = "lowerleg.r" bones/20/parent = 19 bones/20/rest = Transform3D(1, -1.61291e-07, -1.2085643e-07, 1.3212028e-07, 0.9774329, -0.21124826, 1.5220141e-07, 0.21124834, 0.97743255, -3.5797574e-09, 0.2270775, -6.140325e-09) bones/20/enabled = true bones/20/position = Vector3(-3.5797574e-09, 0.2270775, -6.140325e-09) -bones/20/rotation = Quaternion(0.3114344, -6.389704e-08, 2.1655013e-07, 0.95026773) +bones/20/rotation = Quaternion(0.2798373, -6.346644e-08, 1.960073e-07, 0.96004754) bones/20/scale = Vector3(1, 1.0000005, 1.0000001) bones/21/name = "foot.r" bones/21/parent = 20 bones/21/rest = Transform3D(1, -1.5513157e-07, 2.9352182e-07, -1.4711539e-07, 0.5855154, 0.8106606, -2.9762074e-07, -0.81066227, 0.5855142, -1.8333904e-10, 0.14943703, 9.660859e-10) bones/21/enabled = true bones/21/position = Vector3(-1.8333904e-10, 0.14943703, 9.660859e-10) -bones/21/rotation = Quaternion(-0.57692945, 0.11376536, -0.011446258, 0.8087514) +bones/21/rotation = Quaternion(-0.5619069, 0.11402076, -0.008900544, 0.8192562) bones/21/scale = Vector3(1, 1.0000008, 0.99999875) bones/22/name = "toes.r" bones/22/parent = 21 bones/22/rest = Transform3D(-1, 1.7553639e-09, -1.5174174e-07, 1.1045316e-07, 0.69410586, -0.719873, 1.0406118e-07, -0.7198729, -0.694106, 2.1319319e-10, 0.16565003, 5.171479e-09) bones/22/enabled = true bones/22/position = Vector3(2.1319319e-10, 0.16565003, 5.171479e-09) -bones/22/rotation = Quaternion(3.0355896e-08, 0.9203548, -0.39108446, -6.9535375e-08) +bones/22/rotation = Quaternion(3.0355423e-08, 0.9203548, -0.39108446, -6.953561e-08) bones/22/scale = Vector3(1, 0.99999994, 1.0000001) bones/23/name = "kneeIK.l" bones/23/parent = 0 bones/23/rest = Transform3D(1, -2.5915057e-07, -3.8941417e-07, -3.8941423e-07, 0, -0.9999999, 2.591506e-07, 0.9999999, -1.00916915e-13, 0.17094491, 0.29231027, 0.57581246) bones/23/enabled = true -bones/23/position = Vector3(0.17094491, 0.29260758, 0.57610977) +bones/23/position = Vector3(0.17094491, 0.29247516, 0.5759774) bones/23/rotation = Quaternion(0.7071068, -2.2930868e-07, -4.604875e-08, 0.7071068) bones/23/scale = Vector3(1, 0.9999999, 0.9999999) bones/24/name = "control-toe-roll.l" bones/24/parent = 0 bones/24/rest = Transform3D(1, 1.994847e-07, -2.1316282e-14, 2.1316282e-14, 0, 1, 1.994847e-07, -1, 0, 0.17094497, 0.025990263, 0.24578938) bones/24/enabled = true -bones/24/position = Vector3(0.20205116, 0.025962915, 0.20550987) -bones/24/rotation = Quaternion(-0.70710206, -7.0529005e-08, -7.052802e-08, 0.7071116) +bones/24/position = Vector3(0.20205116, 0.026394421, 0.20250753) +bones/24/rotation = Quaternion(-0.7043244, -7.079499e-08, -7.026215e-08, 0.70987827) bones/24/scale = Vector3(1, 1, 1) bones/25/name = "control-heel-roll.l" bones/25/parent = 24 @@ -31456,15 +31465,15 @@ bones/30/name = "kneeIK.r" bones/30/parent = 0 bones/30/rest = Transform3D(1, -2.5915057e-07, 1.5099583e-07, 1.5099585e-07, 0, -0.9999999, 2.591506e-07, 0.9999999, 3.913066e-14, -0.17094518, 0.29231027, 0.57581234) bones/30/enabled = true -bones/30/position = Vector3(-0.17094518, 0.29260758, 0.57610965) +bones/30/position = Vector3(-0.17094518, 0.29247516, 0.57597727) bones/30/rotation = Quaternion(0.7071068, -3.824488e-08, 1.4501506e-07, 0.7071068) bones/30/scale = Vector3(1, 0.9999999, 0.9999999) bones/31/name = "control-toe-roll.r" bones/31/parent = 0 bones/31/rest = Transform3D(1, 1.9948473e-07, -7.1054274e-15, 7.1054274e-15, 0, 1, 1.9948473e-07, -1, 0, -0.1709451, 0.025990263, 0.24578929) bones/31/enabled = true -bones/31/position = Vector3(-0.1709451, 0.026196871, 0.24401468) -bones/31/rotation = Quaternion(-0.7047171, -7.079057e-08, -7.026141e-08, 0.70948845) +bones/31/position = Vector3(-0.1709451, 0.027152533, 0.24722822) +bones/31/rotation = Quaternion(-0.7079277, -7.047974e-08, -7.058945e-08, 0.7062849) bones/31/scale = Vector3(1, 1, 1) bones/32/name = "control-heel-roll.r" bones/32/parent = 31 @@ -31512,8 +31521,8 @@ bones/38/name = "handIK.l" bones/38/parent = 0 bones/38/rest = Transform3D(-2.3841855e-07, 0.99999976, -1.4210854e-14, -5.9604638e-08, -3.5527128e-15, 0.99999994, 0.9999999, 2.3841852e-07, 5.960464e-08, 0.7131815, 1.1067611, 2.5491414e-07) bones/38/enabled = true -bones/38/position = Vector3(0.52073157, 0.7866498, -0.05650429) -bones/38/rotation = Quaternion(0.7955404, 0.0021493314, 0.6058966, 0.0004758062) +bones/38/position = Vector3(0.52073157, 0.7878952, -0.056568243) +bones/38/rotation = Quaternion(0.79548514, 0.0020823404, 0.60596925, 0.00045760418) bones/38/scale = Vector3(0.9999999, 0.99999976, 0.99999994) bones/39/name = "elbowIK.r" bones/39/parent = 0 @@ -31526,17 +31535,17 @@ bones/40/name = "handIK.r" bones/40/parent = 0 bones/40/rest = Transform3D(1.1920929e-07, -1, -5.9604645e-08, 5.9604645e-08, -1.1920929e-07, 1, -1, -1.7881393e-07, 0, -0.71318156, 1.1067611, -8.515731e-08) bones/40/enabled = true -bones/40/position = Vector3(-0.51085526, 0.78664976, 0.060037628) -bones/40/rotation = Quaternion(-0.75944823, 0.0019048174, 0.65056497, -0.00023018353) +bones/40/position = Vector3(-0.51085526, 0.7878951, 0.059973676) +bones/40/rotation = Quaternion(-0.759389, 0.0018389486, 0.6506344, -0.00020818613) bones/40/scale = Vector3(1, 1, 1) [node name="handslot_l" type="BoneAttachment3D" parent="Rig/Skeleton3D"] -transform = Transform3D(-0.0028749027, 0.2638365, 0.96456254, 0.9999952, 0.00046218684, 0.0028542918, 0.00030752388, 0.9645669, -0.26383683, 0.50828844, 0.6353663, -0.017329717) +transform = Transform3D(-0.0035132607, 0.26502588, 0.96423423, 0.9999931, 0.00092311215, 0.0033901404, 8.6892505e-06, 0.96424025, -0.2650275, 0.5088632, 0.6371081, -0.017986983) bone_name = "handslot.l" bone_idx = 8 [node name="handslot_r" type="BoneAttachment3D" parent="Rig/Skeleton3D"] -transform = Transform3D(-0.002340604, -0.15286726, -0.9882433, -0.9999963, 0.00074513373, 0.0022535678, 0.00039146826, 0.9882458, -0.15286875, -0.49159816, 0.63963985, 0.10765835) +transform = Transform3D(-0.0021781807, -0.15201536, -0.9883751, -0.99999595, 0.0016329561, 0.0019529517, 0.0013167905, 0.9883763, -0.15201856, -0.49161294, 0.6409366, 0.10730599) bone_name = "handslot.r" bone_idx = 13 @@ -31549,7 +31558,7 @@ skeleton = NodePath("") transform = Transform3D(1, 2.7939677e-09, 7.450581e-09, 0, 1.0000008, 1.033186e-09, -1.3038516e-08, -1.5279511e-09, 1.0000008, 0.56380576, 0.16657025, -0.003502518) [node name="chest" type="BoneAttachment3D" parent="Rig/Skeleton3D"] -transform = Transform3D(0.9962365, 0.000109913904, 0.086677976, 7.707911e-05, 0.9999977, -0.0021539808, -0.08667801, 0.002152555, 0.9962342, 0.00011078319, 0.9553106, 0.00081534253) +transform = Transform3D(0.9963584, 0.00013053692, 0.085264646, 5.8259513e-05, 0.9999975, -0.0022117489, -0.08526474, 0.0022086618, 0.99635595, 7.3187184e-05, 0.95864403, 0.0008404212) bone_name = "chest" bone_idx = 3 diff --git a/packed-scenes/target.tscn b/packed-scenes/target.tscn index 801d153..3dde39a 100644 --- a/packed-scenes/target.tscn +++ b/packed-scenes/target.tscn @@ -41,10 +41,10 @@ _surfaces = [{ blend_shape_mode = 0 shadow_mesh = SubResource("ArrayMesh_0n375") -[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_d8tpd"] -points = PackedVector3Array(0.049990214, 0, 0.17, 0.050000004, 0.17, 0, 0.049990214, 0.12017815, 0.12017815, -0.050000004, 0, 0.17, 0.049990214, -0.12021144, 0.12017815, -0.050000004, 0.17, 0, 0.050000004, 0, -0.17, 0.050000004, 0.12017815, -0.12021144, -0.050000004, 0.12017815, 0.12017815, -0.050000004, -0.12021144, 0.12017815, 0.049990214, -0.17, 0, -0.050000004, 0.12017815, -0.12021144, 0.049990214, -0.12021144, -0.12021144, -0.050000004, 0, -0.17, -0.050000004, -0.17, 0, -0.050000004, -0.12021144, -0.12021144) +[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_ikhwp"] +points = PackedVector3Array(-0.049999997, -0.010245939, -0.16406348, 0.049999997, 0.009738399, 0.15593648, 0.049999997, 0.03409966, 0.14616756, -0.049999997, 0.035876844, 0.15378544, -0.049999997, -0.16406348, 0.010245939, 0.049999997, -0.1120679, -0.1120679, 0.048056543, 0.12476997, -0.10916965, -0.049999997, 0.16406348, 0.010245939, 0.049999997, -0.1120679, 0.1120679, 0.04830738, 0.12019999, 0.12019999, -0.049999997, -0.11790859, 0.11790859, -0.049999997, 0.11790859, -0.11790859, 0.047874413, -0.010348912, -0.16571234, -0.049999997, -0.11790859, -0.11790859, 0.049999997, -0.15593648, -0.009738399, 0.049999997, 0.15593648, 0.009738399, -0.049999997, 0.11790859, 0.11790859, 0.047874413, -0.010348912, 0.16571234, -0.049999997, -0.010245939, 0.16406348, 0.04830738, 0.12019999, -0.12019999, -0.049999997, 0.010245939, -0.16406348, -0.049999997, 0.16406348, -0.010245939, -0.049999997, -0.16406348, -0.010245939, 0.049999997, -0.15593648, 0.009738399, 0.049999997, 0.15593648, -0.009738399, 0.049999997, 0.009738399, -0.15593648, -0.049999997, 0.010245939, 0.16406348, 0.04778016, -0.036164127, 0.15501685, 0.04778016, -0.036164127, -0.15501685, -0.049999997, -0.12815452, -0.097384594, -0.049999997, -0.12815452, 0.097384594, -0.049999997, -0.097384594, -0.12815452) -[node name="Target" type="Area3D"] +[node name="Target" type="RigidBody3D"] script = ExtResource("1_ikhwp") [node name="target-large" type="MeshInstance3D" parent="."] @@ -52,6 +52,4 @@ mesh = SubResource("ArrayMesh_2f4dd") skeleton = NodePath("") [node name="CollisionShape3D" type="CollisionShape3D" parent="."] -shape = SubResource("ConvexPolygonShape3D_d8tpd") - -[connection signal="body_entered" from="." to="." method="_on_body_entered"] +shape = SubResource("ConvexPolygonShape3D_ikhwp") diff --git a/packed-scenes/ui.tscn b/packed-scenes/ui.tscn index 69c8992..3d85538 100644 --- a/packed-scenes/ui.tscn +++ b/packed-scenes/ui.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=16 format=3 uid="uid://d1vowjv6aed2s"] +[gd_scene load_steps=17 format=3 uid="uid://d1vowjv6aed2s"] [ext_resource type="Script" uid="uid://q8x02edi74ew" path="res://scripts/ui.gd" id="1_ccvhj"] [ext_resource type="Theme" uid="uid://b3faaa6kmpthu" path="res://resources/themes/standard_theme.tres" id="2_idm21"] @@ -12,6 +12,7 @@ [ext_resource type="Texture2D" uid="uid://cvdadrdudg5t4" path="res://resources/images/UI Adventure Pack/arrowSilver_right.png" id="11_oen8p"] [ext_resource type="Texture2D" uid="uid://7bb3euq2fgiw" path="res://resources/images/UI Adventure Pack/uipack_rpg_vector.svg" id="12_hm7ey"] [ext_resource type="Texture2D" uid="uid://ca3i2uc1tplhs" path="res://resources/ui_atlas_texture.tres" id="13_8sxqo"] +[ext_resource type="Texture2D" uid="uid://d1lbwoyq7fkxr" path="res://resources/images/crosshairs.tres" id="13_gvkng"] [sub_resource type="AtlasTexture" id="AtlasTexture_7ucui"] atlas = ExtResource("12_hm7ey") @@ -209,3 +210,23 @@ size_flags_vertical = 4 texture_normal = ExtResource("13_8sxqo") texture_hover = SubResource("AtlasTexture_kin0h") stretch_mode = 3 + +[node name="CrossHair" type="BoxContainer" parent="."] +visible = false +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -32.0 +offset_top = -32.0 +offset_right = 32.0 +offset_bottom = 32.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="TextureRect" type="TextureRect" parent="CrossHair"] +layout_mode = 2 +texture = ExtResource("13_gvkng") +metadata/_edit_use_anchors_ = true diff --git a/resources/images/crosshairs.tres b/resources/images/crosshairs.tres new file mode 100644 index 0000000..e263cd8 --- /dev/null +++ b/resources/images/crosshairs.tres @@ -0,0 +1,7 @@ +[gd_resource type="AtlasTexture" load_steps=2 format=3 uid="uid://d1lbwoyq7fkxr"] + +[ext_resource type="Texture2D" uid="uid://bgbghh7pdfkqj" path="res://resources/images/crosshairs_tilesheet_white.png" id="1_7xu4w"] + +[resource] +atlas = ExtResource("1_7xu4w") +region = Rect2(483, 0, 64, 64) diff --git a/resources/images/crosshairs_tilesheet_white.png b/resources/images/crosshairs_tilesheet_white.png new file mode 100644 index 0000000..3fac20b Binary files /dev/null and b/resources/images/crosshairs_tilesheet_white.png differ diff --git a/resources/images/crosshairs_tilesheet_white.png.import b/resources/images/crosshairs_tilesheet_white.png.import new file mode 100644 index 0000000..922a8c4 --- /dev/null +++ b/resources/images/crosshairs_tilesheet_white.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bgbghh7pdfkqj" +path="res://.godot/imported/crosshairs_tilesheet_white.png-0ff55562107e9ce5e6cf32a66dcba45a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/images/crosshairs_tilesheet_white.png" +dest_files=["res://.godot/imported/crosshairs_tilesheet_white.png-0ff55562107e9ce5e6cf32a66dcba45a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/resources/images/crosshairs_vector.svg b/resources/images/crosshairs_vector.svg new file mode 100644 index 0000000..edc4d3e --- /dev/null +++ b/resources/images/crosshairs_vector.svg @@ -0,0 +1,349 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/resources/images/crosshairs_vector.svg.import b/resources/images/crosshairs_vector.svg.import new file mode 100644 index 0000000..25d49b5 --- /dev/null +++ b/resources/images/crosshairs_vector.svg.import @@ -0,0 +1,43 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b27aer2klxdin" +path="res://.godot/imported/crosshairs_vector.svg-7f9aa4331d14146b06ed91dc862dd79e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resources/images/crosshairs_vector.svg" +dest_files=["res://.godot/imported/crosshairs_vector.svg-7f9aa4331d14146b06ed91dc862dd79e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/scenes/game.tscn b/scenes/game.tscn index 16c5b47..8ddd61b 100644 --- a/scenes/game.tscn +++ b/scenes/game.tscn @@ -1263,4 +1263,4 @@ grow_horizontal = 0 transform = Transform3D(0.8, 0, 0, 0, 0.8, 0, 0, 0, 0.8, 23, 6, 20) [node name="Target" parent="." instance=ExtResource("36_twgab")] -transform = Transform3D(-2.1855695e-07, 0, 5, 0, 5, 0, -5, 0, -2.1855695e-07, 24, 6.5, 12) +transform = Transform3D(-2.1855695e-07, 0, 5, 0, 5, 0, -5, 0, -2.1855695e-07, 24, 6, 12) diff --git a/scripts/hitbox.gd b/scripts/hitbox.gd index f4204b5..d873e0e 100644 --- a/scripts/hitbox.gd +++ b/scripts/hitbox.gd @@ -2,7 +2,7 @@ class_name HitBox extends Area3D func _init() -> void: collision_layer = 2 - collision_mask = 0 + collision_mask = 2 func get_damage() -> int: return owner.damage diff --git a/scripts/hurtbox.gd b/scripts/hurtbox.gd index 7765a66..426141a 100644 --- a/scripts/hurtbox.gd +++ b/scripts/hurtbox.gd @@ -9,13 +9,23 @@ func _init() -> void: func _ready() -> void: connect("area_entered", Callable(self, "_on_area_entered")) + monitoring = true + func _on_area_entered(hitbox) -> void: + if not can_take_damage: + return + if not hitbox is HitBox: print("Unexpected type:", hitbox) return - if hitbox == null or hitbox.owner == owner: + if hitbox.owner == owner: + print("Hitbox owner is the same as hurtbox owner, ignoring hit.") + return + + if hitbox == null or not hitbox is HitBox: + print("Unexpected or null hitbox:", hitbox) return if owner.has_method("take_damage"): @@ -26,6 +36,3 @@ func start_cooldown() -> void: can_take_damage = false await get_tree().create_timer(cooldown_time).timeout can_take_damage = true - -# set_deferred("monitor", false) -# queue_free() diff --git a/scripts/player.gd b/scripts/player.gd index 32cf768..5ef223a 100644 --- a/scripts/player.gd +++ b/scripts/player.gd @@ -2,7 +2,7 @@ class_name Player extends Unit @export var mouse_sensitivity := 0.006 @export var rotation_speed := 24.0 -@export var joypad_sensitivity := 0.1 +@export var joypad_sensitivity := 2 @export var spring_arm: SpringArm3D var gold := 0: @@ -29,6 +29,15 @@ func _physics_process(delta: float) -> void: if velocity.length() > 1.0: model.rotation.y = lerp_angle(model.rotation.y, spring_arm.rotation.y, rotation_speed * delta) + move_camera_joypad(delta) + +func move_camera_joypad(delta: float) -> void: + var x_axis = Input.get_joy_axis(0, JOY_AXIS_RIGHT_X) + var y_axis = Input.get_joy_axis(0, JOY_AXIS_RIGHT_Y) + spring_arm.rotation.y -= x_axis * joypad_sensitivity * delta + spring_arm.rotation.x -= y_axis * joypad_sensitivity * delta + spring_arm.rotation_degrees.x = clamp(spring_arm.rotation_degrees.x, -90.0, 30.0) + func player_game_over(): GameManager.game_over() queue_free() @@ -39,14 +48,6 @@ func _input(event: InputEvent) -> void: spring_arm.rotation.x -= event.relative.y * mouse_sensitivity spring_arm.rotation_degrees.x = clamp(spring_arm.rotation_degrees.x, -90.0, 30.0) spring_arm.rotation.y -= event.relative.x * mouse_sensitivity - - # Move camera via joypad - if event is InputEventJoypadMotion: - if event.axis == JOY_AXIS_RIGHT_X: - spring_arm.rotation.y -= event.axis_value * joypad_sensitivity - elif event.axis == JOY_AXIS_RIGHT_Y: - spring_arm.rotation.x -= event.axis_value * joypad_sensitivity - spring_arm.rotation_degrees.x = clamp(spring_arm.rotation_degrees.x, -90.0, 30.0) # Jump if is_on_floor() and Input.is_action_just_pressed("jump"): diff --git a/scripts/projectile.gd b/scripts/projectile.gd index 5546680..62a1180 100644 --- a/scripts/projectile.gd +++ b/scripts/projectile.gd @@ -1,17 +1,30 @@ -extends Area3D +class_name Projectile extends Node3D var speed: float = 0.0 +var damage_amount: float = 3 +@onready var ray_cast: RayCast3D = $RayCast3D func _physics_process(delta): - translate(-transform.basis.x * speed * delta) - #translate(Vector3.FORWARD * speed * delta) + if speed > 0.0: + translate(-transform.basis.x * speed * delta) + #translate(Vector3.FORWARD * speed * delta) + if ray_cast.is_colliding(): + var collider = ray_cast.get_collider() -func shoot() -> void: - speed = 30 - #var timer = get_tree().create_timer(3.0) # 3 seconds lifetime - #timer.timeout.connect(queue_free) + #Stuck in collider + print("Arrow hits ", collider) + speed = 0 + ray_cast.enabled = false + # var timer = get_tree().create_timer(3.0) # 3 seconds lifetime + # print("Arrow will be removed in 3 seconds") + # timer.timeout.connect(queue_free) + + #Trigger damage + if collider.has_method("take_damage"): + collider.call("take_damage", damage_amount) + -func _on_body_entered(body: Node) -> void: - print("Projectile hits " + body.name + "...") - #TODO: Add damage to hit body - queue_free() +func shoot() -> void: + print("Shooting arrow...") + speed = 20 + ray_cast.enabled = true diff --git a/scripts/rogue.gd b/scripts/rogue.gd index 4b09292..b301c2d 100644 --- a/scripts/rogue.gd +++ b/scripts/rogue.gd @@ -14,11 +14,12 @@ var footsteps := [ @onready var shoot_point: Node3D = $Rig/Skeleton3D/handslot_r/ShootPoint @export var loaded: bool -var current_arrow: Area3D +var current_arrow: Node3D func _ready() -> void: if loaded == true: arrow_loaded() + print("Current arrow: " + str(current_arrow)) func _input(event: InputEvent) -> void: # Shoot @@ -44,7 +45,11 @@ func _input(event: InputEvent) -> void: if Input.is_action_just_released("block"): state = States.idle anim_tree.set("parameters/conditions/aiming", state == States.aiming) anim_tree.set("parameters/conditions/not_aiming", state != States.aiming) - + #Camera + spring_arm.get_child(0).fov = 40 if state == States.aiming else 70 + spring_arm.transform.origin.x = 0.5 # Shoulder offset + spring_arm.spring_length = 3.0 + # Calls the _input() from player.gd super._input(event) @@ -54,7 +59,6 @@ func shoot_arrow() -> void: func arrow_loaded() -> void: print("Arrow loaded...") - var new_arrow = arrow_scene.instantiate() + current_arrow = arrow_scene.instantiate() #new_arrow.global_transform = shoot_point.global_transform - shoot_point.add_child(new_arrow) - current_arrow = new_arrow + shoot_point.add_child(current_arrow) diff --git a/scripts/target.gd b/scripts/target.gd index 050b4ca..854af4d 100644 --- a/scripts/target.gd +++ b/scripts/target.gd @@ -1,4 +1,16 @@ -extends Area3D +class_name Target extends RigidBody3D +var health: int = 10 -func _on_body_entered(body: Node3D) -> void: - print(body.name + " hits the target...") +signal damaged(amount) +signal died() + +func take_damage(damage_amount: int) -> void: + health -= damage_amount + emit_signal("damaged", damage_amount) + if health <= 0: + emit_signal("died") + die() + +func die() -> void: + # Optional: spawn explosion, play animation/sound, then remove + queue_free() diff --git a/scripts/ui.gd b/scripts/ui.gd index d7cd49c..e972d16 100644 --- a/scripts/ui.gd +++ b/scripts/ui.gd @@ -4,12 +4,15 @@ extends Control @export var stamina_bar: TextureProgressBar @export var gold_label: Label @onready var player: Player = get_tree().get_first_node_in_group("player") +@onready var cross_hair: BoxContainer = $CrossHair func _ready() -> void: player.health_changed.connect(update_health_bar) player.stamina_changed.connect(update_stamina_bar) player.gold_changed.connect(update_gold_text) player.player_loaded.connect(_on_player_loaded) + var unit = player as Unit + unit.connect("state_changed", Callable(self, "_on_state_changed")) func update_health_bar(current_health: int, maximum_health: int) -> void: health_bar.value = (100.0 / maximum_health) * current_health @@ -24,3 +27,9 @@ func _on_player_loaded() -> void: update_health_bar(player.health, player.maximum_health) update_stamina_bar(player.stamina, player.maximum_stamina) update_gold_text(player.gold) + +func _on_state_changed(old_state: Unit.States, new_state: Unit.States): + if player.state == Unit.States.aiming: + cross_hair.visible = true + else: + cross_hair.visible = false