diff --git a/src/resources/characters/character_stats.gd b/src/resources/characters/character_stats.gd new file mode 100644 index 0000000..8acb625 --- /dev/null +++ b/src/resources/characters/character_stats.gd @@ -0,0 +1,22 @@ +extends Resource +class_name CharacterStats + +class Ability: + var min_modifier: float + var max_modifier: float + # Scales between 0-100, 0 being the worst, 100 the best + var score: int = 25: + set(value): + score = clamp(value, 0, 100) + + func _init(min_mod: float, max_mod: float) -> void: + min_modifier = min_mod + max_modifier = max_mod + +var level: int = 1 +var xp: int = 0 + +var strength +var speed: Ability = Ability.new(3.0, 7.0) +var endurance +var agility diff --git a/src/resources/characters/character_stats.gd.uid b/src/resources/characters/character_stats.gd.uid new file mode 100644 index 0000000..eac3ea7 --- /dev/null +++ b/src/resources/characters/character_stats.gd.uid @@ -0,0 +1 @@ +uid://dwysfismpgq07 diff --git a/src/scenes/characters/enemy.tscn b/src/scenes/characters/enemy.tscn index 320bfec..190dabf 100644 --- a/src/scenes/characters/enemy.tscn +++ b/src/scenes/characters/enemy.tscn @@ -20,110 +20,37 @@ shape = SubResource("CapsuleShape3D_r8u7w") transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, 0) [node name="Skeleton3D" parent="Rig/CharacterRig/GameRig" index="0"] -bones/0/position = Vector3(2.90402e-15, 0.896258, -0.0481736) -bones/0/rotation = Quaternion(0.12582, 1.18262e-07, 1.49989e-08, 0.992053) -bones/1/rotation = Quaternion(-0.0566577, -0.00072973, -0.0117082, 0.998325) -bones/2/position = Vector3(3.20474e-09, 0.146689, -1.95578e-08) -bones/2/rotation = Quaternion(-0.00237686, -0.000424754, 0.00321495, 0.999992) -bones/3/position = Vector3(-2.01263e-09, 0.202058, -2.51457e-08) -bones/3/rotation = Quaternion(-0.0969743, -0.000386353, 0.00851974, 0.99525) -bones/4/position = Vector3(3.02934e-10, 0.0925562, 3.91155e-08) -bones/4/rotation = Quaternion(0.277539, 1.51857e-08, 9.21549e-08, 0.960715) -bones/5/rotation = Quaternion(-0.0948564, -2.80691e-14, -2.26155e-08, 0.995491) -bones/6/rotation = Quaternion(-0.155564, -1.17871e-07, -1.78202e-08, 0.987826) -bones/7/position = Vector3(-2.19489e-08, 0.896258, -0.0481735) -bones/7/rotation = Quaternion(-0.0863677, -0.751104, -0.383052, 0.530711) -bones/8/position = Vector3(-3.46394e-08, 0.896258, -0.0481735) -bones/8/rotation = Quaternion(-0.0863677, 0.751104, 0.383052, 0.530711) -bones/9/position = Vector3(0.131144, 0.962462, -0.0351291) -bones/9/rotation = Quaternion(0.9929, 0.0209334, -0.0309203, 0.112942) -bones/10/position = Vector3(-2.36129e-08, 0.26601, -2.14789e-08) -bones/10/rotation = Quaternion(-3.13921e-08, -0.000695086, 1.20449e-08, 1) -bones/11/position = Vector3(-4.6306e-08, 0.26601, 2.42145e-08) -bones/11/rotation = Quaternion(0.423309, -0.000700623, 0.000327516, 0.905985) -bones/12/position = Vector3(3.05151e-08, 0.22603, 5.03768e-08) -bones/12/rotation = Quaternion(-8.19226e-09, -0.00710644, 4.16102e-08, 0.999975) -bones/13/position = Vector3(-2.95495e-08, 0.22603, 2.68392e-09) -bones/13/rotation = Quaternion(-0.752924, 0.0118904, 0.0244113, 0.657548) -bones/14/position = Vector3(-3.05481e-08, 0.139877, 1.64787e-08) -bones/14/rotation = Quaternion(-9.66743e-05, 0.967474, -0.252972, -0.000383447) -bones/15/position = Vector3(-0.131144, 0.962462, -0.0351291) -bones/15/rotation = Quaternion(0.972885, -0.00584074, 0.0272814, 0.2296) -bones/16/position = Vector3(-1.10042e-08, 0.265705, -3.31989e-08) -bones/16/rotation = Quaternion(-3.43227e-08, 0.00314323, 8.33075e-10, 0.999995) -bones/17/position = Vector3(1.83545e-08, 0.265705, 6.98543e-10) -bones/17/rotation = Quaternion(0.447168, 0.00330884, -0.00165434, 0.894442) -bones/18/position = Vector3(1.2807e-08, 0.225719, -8.28774e-09) -bones/18/rotation = Quaternion(-2.29017e-08, -0.00785732, 3.30149e-08, 0.999969) -bones/19/position = Vector3(-1.27748e-08, 0.225719, 1.12004e-08) -bones/19/rotation = Quaternion(-0.689461, -0.0281994, -0.000643605, 0.723773) -bones/20/position = Vector3(-1.30142e-08, 0.139877, -2.77457e-09) -bones/20/rotation = Quaternion(-9.96472e-05, 0.967461, -0.253021, -0.000383039) -bones/21/position = Vector3(0.0251286, 1.4265, 0.0421425) -bones/21/rotation = Quaternion(-0.49414, -0.257647, -0.39943, 0.727942) -bones/22/position = Vector3(0.188376, 1.46325, -0.0244898) -bones/22/rotation = Quaternion(0.0511605, -0.159492, 0.974374, -0.150133) -bones/23/position = Vector3(-5.41331e-09, 0.143946, -2.98023e-08) -bones/23/rotation = Quaternion(5.35386e-08, -0.0148926, 5.04572e-08, 0.999889) -bones/24/position = Vector3(-6.33301e-08, 0.143946, 4.3873e-08) -bones/24/rotation = Quaternion(0.296573, -0.0148933, -0.0181015, 0.954722) -bones/25/position = Vector3(1.30385e-08, 0.127601, 6.51926e-09) -bones/25/rotation = Quaternion(1.49943e-07, -1.20606e-07, 9.91859e-08, 1) -bones/26/position = Vector3(2.06034e-08, 0.127601, 2.42761e-08) -bones/26/rotation = Quaternion(-0.00824883, -0.00027077, -0.0328667, 0.999426) -bones/28/rotation = Quaternion(0.702583, -0.000939743, -0.00133552, 0.7116) -bones/29/rotation = Quaternion(0.741121, 0.00218291, 0.00265381, 0.671363) -bones/31/rotation = Quaternion(0.514882, -0.114149, 0.114482, 0.841879) -bones/32/rotation = Quaternion(0.592003, -0.0381348, -0.090699, 0.799907) -bones/34/position = Vector3(-0.00316938, 0.0987206, 0.0147918) -bones/34/rotation = Quaternion(-0.0674699, 0.718446, 0.0663966, 0.689112) -bones/35/rotation = Quaternion(0.580803, -0.000892135, -0.0014975, 0.814042) -bones/36/rotation = Quaternion(0.682777, 0.00174509, 0.00256596, 0.73062) -bones/37/rotation = Quaternion(-0.00426514, 0.736714, 0.0394785, 0.675038) -bones/38/position = Vector3(-0.00622951, 0.0926415, -0.0236344) -bones/38/rotation = Quaternion(-0.109873, 0.743351, 0.0333507, 0.658973) -bones/39/rotation = Quaternion(0.630039, 0.00151959, 0.00237944, 0.776559) -bones/40/rotation = Quaternion(0.652643, -0.00308142, -0.00421108, 0.757648) -bones/41/rotation = Quaternion(-0.0684174, 0.72411, 0.0332337, 0.685478) -bones/42/position = Vector3(-0.00715362, 0.0679857, -0.0481983) -bones/42/rotation = Quaternion(-0.120913, 0.799109, 0.0358921, 0.587807) -bones/43/rotation = Quaternion(0.498693, -0.0202705, -0.0256953, 0.866161) -bones/44/rotation = Quaternion(0.715385, 0.035306, 0.0573145, 0.695481) -bones/45/rotation = Quaternion(-0.129059, 0.728936, -0.0250259, 0.67184) -bones/46/position = Vector3(-0.0113635, 1.4265, 0.0421424) -bones/46/rotation = Quaternion(-0.513706, 0.217774, 0.372161, 0.741739) -bones/47/position = Vector3(-0.166452, 1.46367, -0.0415526) -bones/47/rotation = Quaternion(-0.0791267, -0.136168, 0.972901, 0.169297) -bones/48/position = Vector3(1.88476e-07, 0.143946, 1.02445e-08) -bones/48/rotation = Quaternion(-4.99971e-09, 0.0109135, -2.38681e-08, 0.99994) -bones/49/position = Vector3(6.5191e-09, 0.143946, -1.95094e-08) -bones/49/rotation = Quaternion(0.329063, 0.0109141, 0.028922, 0.943802) -bones/50/position = Vector3(-1.48779e-07, 0.1276, 5.9139e-08) -bones/50/rotation = Quaternion(-8.73115e-08, 2.7474e-08, -1.28057e-07, 1) -bones/51/position = Vector3(1.9461e-07, 0.127601, 6.06248e-08) -bones/51/rotation = Quaternion(-0.00824876, 0.000270832, 0.032867, 0.999426) -bones/53/rotation = Quaternion(0.694912, 0.107145, -0.103549, 0.703488) -bones/54/rotation = Quaternion(0.74112, -0.00218237, -0.00265409, 0.671363) -bones/55/rotation = Quaternion(-0.325269, 0.890055, 0.295977, 0.119998) -bones/56/rotation = Quaternion(0.514882, 0.11415, -0.114483, 0.841879) -bones/57/rotation = Quaternion(0.592004, 0.0381346, 0.0906992, 0.799907) -bones/59/position = Vector3(0.00316943, 0.0987207, 0.0147917) -bones/60/rotation = Quaternion(0.579984, 0.0462615, -0.0308755, 0.812727) -bones/61/rotation = Quaternion(0.682777, -0.00174718, -0.00256448, 0.73062) -bones/62/rotation = Quaternion(-0.00426532, -0.736714, -0.0394788, 0.675038) -bones/63/position = Vector3(0.00622955, 0.0926417, -0.0236344) -bones/63/rotation = Quaternion(0.104095, -0.719607, 0.186262, 0.660784) -bones/64/rotation = Quaternion(0.670693, 0.0163391, -0.0185663, 0.741323) -bones/65/rotation = Quaternion(0.692499, 0.00330364, 0.00403917, 0.7214) -bones/66/rotation = Quaternion(-0.0684178, -0.72411, -0.0332339, 0.685477) -bones/67/position = Vector3(0.00715371, 0.0679859, -0.0481984) -bones/68/rotation = Quaternion(0.629954, 0.0295149, 0.0177509, 0.775869) -bones/69/rotation = Quaternion(0.816678, -0.0439534, -0.0509861, 0.573155) -bones/70/rotation = Quaternion(-0.12906, -0.728937, 0.0250258, 0.67184) -bones/71/position = Vector3(0.127191, 1.34482, -0.0264471) -bones/71/rotation = Quaternion(1.92656e-08, 0.613671, 0.789562, -4.64417e-08) -bones/72/position = Vector3(-0.113426, 1.34482, -0.0264471) -bones/72/rotation = Quaternion(1.92657e-08, 0.613671, 0.789562, -4.64417e-08) +bones/0/position = Vector3(1.40309e-14, 0.901895, -0.0481735) +bones/2/rotation = Quaternion(0.00127488, -0.000365568, 0.00321358, 0.999994) +bones/3/rotation = Quaternion(-0.0936545, -0.000343194, 0.00852187, 0.995568) +bones/4/rotation = Quaternion(0.274532, 1.4825e-08, 9.21402e-08, 0.961578) +bones/6/rotation = Quaternion(-0.159355, -1.17331e-07, -2.11762e-08, 0.987221) +bones/7/position = Vector3(-3.93029e-08, 0.901894, -0.0481735) +bones/8/position = Vector3(-6.90278e-08, 0.901895, -0.0481735) +bones/9/position = Vector3(0.131144, 0.968099, -0.0351291) +bones/9/rotation = Quaternion(0.993444, 0.0206617, -0.0310487, 0.108066) +bones/11/rotation = Quaternion(0.412237, -0.000699455, 0.000316629, 0.911076) +bones/13/rotation = Quaternion(-0.748148, 0.0118728, 0.0243885, 0.662977) +bones/15/position = Vector3(-0.131144, 0.968099, -0.0351291) +bones/15/rotation = Quaternion(0.974064, -0.00561789, 0.0274363, 0.224534) +bones/17/rotation = Quaternion(0.436839, 0.00324779, -0.00157742, 0.899532) +bones/19/rotation = Quaternion(-0.684949, -0.0281754, -0.000965934, 0.728045) +bones/21/position = Vector3(0.0251286, 1.43186, 0.0441791) +bones/21/rotation = Quaternion(-0.484633, -0.26158, -0.406374, 0.729087) +bones/22/position = Vector3(0.189651, 1.46953, -0.0186676) +bones/22/rotation = Quaternion(0.0391925, -0.161324, 0.974929, -0.148164) +bones/23/rotation = Quaternion(1.27927e-07, -0.0246489, 1.05251e-07, 0.999696) +bones/24/rotation = Quaternion(0.318849, -0.0246473, -0.019754, 0.947279) +bones/46/position = Vector3(-0.0113635, 1.43186, 0.0441791) +bones/46/rotation = Quaternion(-0.49662, 0.236695, 0.3896, 0.738618) +bones/47/position = Vector3(-0.171203, 1.47006, -0.0294488) +bones/47/rotation = Quaternion(-0.0518339, -0.140858, 0.974736, 0.165415) +bones/48/rotation = Quaternion(1.45659e-08, 0.029473, -1.73869e-08, 0.999566) +bones/49/rotation = Quaternion(0.354693, 0.0294744, 0.0289141, 0.934071) +bones/71/position = Vector3(0.127191, 1.35125, -0.0256549) +bones/71/rotation = Quaternion(1.96829e-08, 0.607586, 0.794254, -4.62127e-08) +bones/72/position = Vector3(-0.113426, 1.35125, -0.025655) +bones/72/rotation = Quaternion(1.96835e-08, 0.60758, 0.794259, -4.62121e-08) [node name="Knight_02" parent="Rig/CharacterRig/GameRig/Skeleton3D" index="1"] visible = false @@ -132,10 +59,10 @@ visible = false visible = true [node name="RightHandBone" parent="Rig" index="2"] -transform = Transform3D(-0.962343, -0.270803, -0.0237135, 0.241713, -0.892346, 0.381174, -0.124384, 0.361088, 0.924199, -0.340269, 0.981412, -0.0317979) +transform = Transform3D(-0.962335, -0.270835, -0.0236821, 0.234152, -0.869944, 0.434016, -0.138149, 0.412124, 0.900593, -0.345028, 0.993597, -0.00702982) [node name="LeftHandBone" parent="Rig" index="3"] -transform = Transform3D(-0.970513, 0.239108, 0.0305212, -0.22202, -0.936013, 0.273107, 0.0938704, 0.258277, 0.961499, 0.345187, 0.969535, -0.0501543) +transform = Transform3D(-0.970511, 0.239118, 0.0305163, -0.217129, -0.922131, 0.320202, 0.104706, 0.304134, 0.946857, 0.346464, 0.979463, -0.0328997) [node name="tall_shield" parent="Rig/LeftHandBone/OffHandSlot" index="0"] visible = false diff --git a/src/scenes/characters/player.tscn b/src/scenes/characters/player.tscn index 93df07c..5c32adf 100644 --- a/src/scenes/characters/player.tscn +++ b/src/scenes/characters/player.tscn @@ -1,13 +1,18 @@ -[gd_scene load_steps=10 format=3 uid="uid://nsv4lbw7j8mi"] +[gd_scene load_steps=12 format=3 uid="uid://nsv4lbw7j8mi"] [ext_resource type="Script" uid="uid://csgybabwb8cbg" path="res://src/scripts/characters/player.gd" id="1_swhsd"] [ext_resource type="PackedScene" uid="uid://dw8f5oy13cdtx" path="res://src/scenes/characters/health_component.tscn" id="2_0xash"] [ext_resource type="Script" uid="uid://cxnvqh8ijf0ox" path="res://src/scripts/characters/boom.gd" id="2_qopur"] +[ext_resource type="Script" uid="uid://dwysfismpgq07" path="res://src/resources/characters/character_stats.gd" id="2_ulq46"] [ext_resource type="PackedScene" uid="uid://ckwydalda0teo" path="res://src/scenes/characters/rig.tscn" id="3_n52bt"] [ext_resource type="Script" uid="uid://blbnvx6pe37mc" path="res://src/scripts/characters/attack_cast.gd" id="4_cx3ie"] [ext_resource type="PackedScene" uid="uid://bo62qyfwylypa" path="res://src/scenes/characters/area_attack.tscn" id="6_wmokw"] [ext_resource type="PackedScene" uid="uid://cwdsfw1g1607y" path="res://src/scenes/characters/dash.tscn" id="7_yvk1n"] +[sub_resource type="Resource" id="Resource_wdvff"] +script = ExtResource("2_ulq46") +metadata/_custom_type_script = "uid://dwysfismpgq07" + [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_yx56f"] [sub_resource type="SeparationRayShape3D" id="SeparationRayShape3D_swhsd"] @@ -15,6 +20,7 @@ [node name="Player" type="CharacterBody3D"] collision_layer = 5 script = ExtResource("1_swhsd") +stats = SubResource("Resource_wdvff") [node name="HealthComponent" parent="." instance=ExtResource("2_0xash")] @@ -40,46 +46,46 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, 0) [node name="Rig" parent="RigPivot" instance=ExtResource("3_n52bt")] [node name="Skeleton3D" parent="RigPivot/Rig/CharacterRig/GameRig" index="0"] -bones/0/position = Vector3(3.37508e-15, 0.892173, -0.0481736) -bones/2/rotation = Quaternion(-0.00490343, -0.000465701, 0.00321581, 0.999983) -bones/3/rotation = Quaternion(-0.0993242, -0.000416891, 0.00851811, 0.995019) -bones/4/rotation = Quaternion(0.279233, 1.41584e-08, 9.64048e-08, 0.960223) -bones/6/rotation = Quaternion(-0.15339, -1.18116e-07, -1.62303e-08, 0.988166) -bones/7/position = Vector3(-3.78592e-08, 0.892173, -0.0481735) -bones/8/position = Vector3(-5.52418e-08, 0.892173, -0.0481735) -bones/9/position = Vector3(0.131144, 0.958378, -0.0351291) -bones/9/rotation = Quaternion(0.992504, 0.0211274, -0.03083, 0.116356) -bones/11/rotation = Quaternion(0.431171, -0.000700576, 0.000334929, 0.90227) -bones/13/rotation = Quaternion(-0.756295, 0.0119028, 0.0244299, 0.653666) -bones/15/position = Vector3(-0.131144, 0.958378, -0.0351291) -bones/15/rotation = Quaternion(0.972048, -0.00599614, 0.0271731, 0.233126) -bones/17/rotation = Quaternion(0.454528, 0.00335229, -0.00171074, 0.890724) -bones/19/rotation = Quaternion(-0.692486, -0.0282152, -0.00042531, 0.720879) -bones/21/position = Vector3(0.0251286, 1.42274, 0.040718) -bones/21/rotation = Quaternion(-0.501196, -0.254664, -0.394297, 0.726965) -bones/22/position = Vector3(0.187382, 1.45848, -0.028795) -bones/22/rotation = Quaternion(0.0599954, -0.158124, 0.97387, -0.151574) -bones/23/rotation = Quaternion(7.46642e-08, -0.00765281, -1.69737e-09, 0.999971) -bones/24/rotation = Quaternion(0.279781, -0.0075944, -0.0167693, 0.959887) -bones/46/position = Vector3(-0.0113635, 1.42274, 0.0407179) -bones/46/rotation = Quaternion(-0.526451, 0.203419, 0.359039, 0.743344) -bones/47/position = Vector3(-0.162513, 1.45862, -0.0504209) -bones/47/rotation = Quaternion(-0.0994647, -0.132596, 0.971032, 0.172109) -bones/48/rotation = Quaternion(3.80976e-08, -0.00301965, 8.65723e-09, 0.999995) -bones/49/rotation = Quaternion(0.309721, -0.00301923, 0.0285536, 0.950394) -bones/71/position = Vector3(0.127191, 1.34004, -0.0270263) -bones/71/rotation = Quaternion(1.89594e-08, 0.618127, 0.786078, -4.6605e-08) -bones/72/position = Vector3(-0.113426, 1.34004, -0.0270264) -bones/72/rotation = Quaternion(1.89594e-08, 0.618127, 0.786078, -4.6605e-08) +bones/0/position = Vector3(3.37508e-15, 0.892251, -0.0481736) +bones/2/rotation = Quaternion(-0.00493103, -0.000466148, 0.00321582, 0.999983) +bones/3/rotation = Quaternion(-0.0992712, -0.000416202, 0.00851815, 0.995024) +bones/4/rotation = Quaternion(0.279255, 1.41495e-08, 9.64443e-08, 0.960217) +bones/6/rotation = Quaternion(-0.153372, -1.18134e-07, -1.61195e-08, 0.988169) +bones/7/position = Vector3(-3.8278e-08, 0.892251, -0.0481735) +bones/8/position = Vector3(-5.65141e-08, 0.892251, -0.0481735) +bones/9/position = Vector3(0.131144, 0.958455, -0.0351291) +bones/9/rotation = Quaternion(0.992512, 0.0211238, -0.0308317, 0.116292) +bones/11/rotation = Quaternion(0.431051, -0.000700582, 0.000334821, 0.902327) +bones/13/rotation = Quaternion(-0.756254, 0.0119027, 0.0244297, 0.653713) +bones/15/position = Vector3(-0.131144, 0.958455, -0.0351291) +bones/15/rotation = Quaternion(0.972042, -0.00599724, 0.0271723, 0.233151) +bones/17/rotation = Quaternion(0.454416, 0.00335162, -0.00170987, 0.890782) +bones/19/rotation = Quaternion(-0.692508, -0.0282153, -0.000423717, 0.720858) +bones/21/position = Vector3(0.0251286, 1.42272, 0.0407075) +bones/21/rotation = Quaternion(-0.501087, -0.25471, -0.394376, 0.726981) +bones/22/position = Vector3(0.187404, 1.45859, -0.0287018) +bones/22/rotation = Quaternion(0.0598594, -0.158145, 0.973878, -0.151552) +bones/23/rotation = Quaternion(6.87168e-08, -0.00780987, -4.91533e-09, 0.99997) +bones/24/rotation = Quaternion(0.280093, -0.00772964, -0.0167947, 0.959795) +bones/46/position = Vector3(-0.0113635, 1.42272, 0.0407075) +bones/46/rotation = Quaternion(-0.526216, 0.203686, 0.359282, 0.74332) +bones/47/position = Vector3(-0.162589, 1.45871, -0.0502581) +bones/47/rotation = Quaternion(-0.0990885, -0.132663, 0.971071, 0.172058) +bones/48/rotation = Quaternion(3.90511e-08, -0.00276118, 9.90106e-09, 0.999996) +bones/49/rotation = Quaternion(0.310081, -0.00276077, 0.0285632, 0.950277) +bones/71/position = Vector3(0.127191, 1.34014, -0.0270138) +bones/71/rotation = Quaternion(1.89631e-08, 0.618074, 0.78612, -4.66031e-08) +bones/72/position = Vector3(-0.113426, 1.34014, -0.0270139) +bones/72/rotation = Quaternion(1.89631e-08, 0.618074, 0.78612, -4.6603e-08) [node name="RightHandBone" parent="RigPivot/Rig" index="2"] -transform = Transform3D(-0.962344, -0.270799, -0.0237169, 0.246871, -0.907156, 0.340768, -0.113795, 0.322081, 0.939848, -0.336329, 0.972504, -0.0503546) +transform = Transform3D(-0.962344, -0.270799, -0.0237168, 0.24678, -0.906897, 0.341523, -0.113993, 0.32281, 0.939574, -0.336405, 0.972667, -0.0500108) [node name="LeftHandBone" parent="RigPivot/Rig" index="3"] -transform = Transform3D(-0.97052, 0.239086, 0.030488, -0.225323, -0.944923, 0.237385, 0.0855642, 0.223517, 0.970937, 0.344187, 0.962403, -0.063131) +transform = Transform3D(-0.970504, 0.239138, 0.0305704, -0.225294, -0.944755, 0.238079, 0.0858153, 0.224169, 0.970764, 0.344222, 0.962552, -0.0628768) [node name="RayAttachment" type="BoneAttachment3D" parent="RigPivot/Rig"] -transform = Transform3D(-0.962344, -0.270799, -0.0237169, 0.246871, -0.907156, 0.340768, -0.113795, 0.322081, 0.939848, -0.336329, 0.972504, -0.0503546) +transform = Transform3D(-0.962344, -0.270799, -0.0237168, 0.24678, -0.906897, 0.341523, -0.113993, 0.32281, 0.939574, -0.336405, 0.972667, -0.0500108) bone_name = "DEF-hand.R" bone_idx = 51 use_external_skeleton = true diff --git a/src/scenes/characters/rig.tscn b/src/scenes/characters/rig.tscn index 800232a..f00030a 100644 --- a/src/scenes/characters/rig.tscn +++ b/src/scenes/characters/rig.tscn @@ -83,114 +83,114 @@ script = ExtResource("1_n80wy") [node name="CharacterRig" parent="." instance=ExtResource("2_ow4sk")] [node name="Skeleton3D" parent="CharacterRig/GameRig" index="0"] -bones/0/position = Vector3(4.09616e-15, 0.906875, -0.0481736) +bones/0/position = Vector3(4.44089e-15, 0.91125, -0.0481736) bones/0/rotation = Quaternion(0.12582, 1.18262e-07, 1.49989e-08, 0.992053) -bones/1/rotation = Quaternion(-0.0566577, -0.00072973, -0.0117082, 0.998325) -bones/2/position = Vector3(3.20474e-09, 0.146689, -1.95578e-08) -bones/2/rotation = Quaternion(0.00442576, -0.000314505, 0.00321221, 0.999985) -bones/3/position = Vector3(-2.01263e-09, 0.202058, -2.51457e-08) -bones/3/rotation = Quaternion(-0.0907289, -0.000305136, 0.00852361, 0.995839) -bones/4/position = Vector3(3.02934e-10, 0.0925562, 3.91155e-08) -bones/4/rotation = Quaternion(0.271877, 1.53159e-08, 8.92799e-08, 0.962332) -bones/5/rotation = Quaternion(-0.0948564, -2.80691e-14, -2.26155e-08, 0.995491) -bones/6/rotation = Quaternion(-0.162704, -1.17631e-07, -1.93477e-08, 0.986675) -bones/7/position = Vector3(-2.59348e-08, 0.906875, -0.0481735) +bones/1/rotation = Quaternion(-0.0566577, -0.000729729, -0.0117082, 0.998325) +bones/2/position = Vector3(2.97554e-09, 0.146689, -1.95578e-08) +bones/2/rotation = Quaternion(0.00733142, -0.000267409, 0.00321091, 0.999968) +bones/3/position = Vector3(-9.86717e-10, 0.202058, 2.23517e-08) +bones/3/rotation = Quaternion(-0.0881604, -0.000271712, 0.00852504, 0.99607) +bones/4/position = Vector3(2.51568e-10, 0.0925563, 5.09899e-08) +bones/4/rotation = Quaternion(0.269525, 1.57453e-08, 9.27582e-08, 0.962994) +bones/5/rotation = Quaternion(-0.0948568, -5.16827e-08, -1.52643e-07, 0.995491) +bones/6/rotation = Quaternion(-0.165644, -1.19832e-07, -1.94743e-08, 0.986186) +bones/7/position = Vector3(-4.61005e-08, 0.91125, -0.0481734) bones/7/rotation = Quaternion(-0.0863677, -0.751104, -0.383052, 0.530711) -bones/8/position = Vector3(-3.25127e-08, 0.906875, -0.0481735) +bones/8/position = Vector3(-3.44589e-08, 0.91125, -0.0481735) bones/8/rotation = Quaternion(-0.0863677, 0.751104, 0.383052, 0.530711) -bones/9/position = Vector3(0.131144, 0.973079, -0.0351291) -bones/9/rotation = Quaternion(0.993933, 0.0204123, -0.0311687, 0.103483) +bones/9/position = Vector3(0.131144, 0.977454, -0.0351291) +bones/9/rotation = Quaternion(0.994356, 0.0201895, -0.0312764, 0.099347) bones/10/position = Vector3(-2.36129e-08, 0.26601, -2.14789e-08) -bones/10/rotation = Quaternion(-3.13921e-08, -0.000695086, 1.20449e-08, 1) -bones/11/position = Vector3(-4.6306e-08, 0.26601, 2.42145e-08) -bones/11/rotation = Quaternion(0.401896, -0.00069713, 0.000306119, 0.915685) -bones/12/position = Vector3(3.05151e-08, 0.22603, 5.03768e-08) -bones/12/rotation = Quaternion(-8.19226e-09, -0.00710644, 4.16102e-08, 0.999975) -bones/13/position = Vector3(-2.95495e-08, 0.22603, 2.68392e-09) -bones/13/rotation = Quaternion(-0.743767, 0.0118566, 0.0243716, 0.667889) -bones/14/position = Vector3(-3.05481e-08, 0.139877, 1.64787e-08) -bones/14/rotation = Quaternion(-9.66743e-05, 0.967474, -0.252972, -0.000383447) -bones/15/position = Vector3(-0.131144, 0.973079, -0.0351291) -bones/15/rotation = Quaternion(0.975124, -0.00541354, 0.027578, 0.219871) -bones/16/position = Vector3(-1.10042e-08, 0.265705, -3.31989e-08) -bones/16/rotation = Quaternion(-3.43227e-08, 0.00314323, 8.33075e-10, 0.999995) -bones/17/position = Vector3(1.83545e-08, 0.265705, 6.98543e-10) -bones/17/rotation = Quaternion(0.427437, 0.00319219, -0.00150937, 0.904038) -bones/18/position = Vector3(1.2807e-08, 0.225719, -8.28774e-09) -bones/18/rotation = Quaternion(-2.29017e-08, -0.00785732, 3.30149e-08, 0.999969) -bones/19/position = Vector3(-1.27748e-08, 0.225719, 1.12004e-08) -bones/19/rotation = Quaternion(-0.6809, -0.0281535, -0.00125255, 0.731834) -bones/20/position = Vector3(-1.30142e-08, 0.139877, -2.77457e-09) +bones/10/rotation = Quaternion(-3.13339e-08, -0.000695086, 1.27434e-08, 1) +bones/11/position = Vector3(-4.6306e-08, 0.26601, 2.43891e-08) +bones/11/rotation = Quaternion(0.39263, -0.000694309, 0.000296515, 0.919696) +bones/12/position = Vector3(1.7011e-08, 0.22603, 3.54757e-08) +bones/12/rotation = Quaternion(-1.55848e-08, -0.00710644, 4.23087e-08, 0.999975) +bones/13/position = Vector3(-3.03789e-08, 0.22603, -1.04537e-08) +bones/13/rotation = Quaternion(-0.739731, 0.0118416, 0.0243567, 0.672357) +bones/14/position = Vector3(-8.57186e-09, 0.139878, -1.09367e-08) +bones/14/rotation = Quaternion(-9.66752e-05, 0.967474, -0.252972, -0.000383448) +bones/15/position = Vector3(-0.131144, 0.977454, -0.0351291) +bones/15/rotation = Quaternion(0.97605, -0.00523204, 0.0277037, 0.215712) +bones/16/position = Vector3(-1.42639e-08, 0.265705, 3.58834e-09) +bones/16/rotation = Quaternion(-2.70467e-08, 0.00314323, 5.71139e-10, 0.999995) +bones/17/position = Vector3(1.55606e-08, 0.265705, -5.01167e-08) +bones/17/rotation = Quaternion(0.419063, 0.00314258, -0.00145057, 0.90795) +bones/18/position = Vector3(-4.18961e-09, 0.225719, -2.13263e-08) +bones/18/rotation = Quaternion(-2.30763e-08, -0.00785731, 3.23164e-08, 0.999969) +bones/19/position = Vector3(-9.18953e-09, 0.225719, 1.51431e-09) +bones/19/rotation = Quaternion(-0.677189, -0.0281332, -0.00151302, 0.73527) +bones/20/position = Vector3(3.67497e-08, 0.139882, 1.09572e-08) bones/20/rotation = Quaternion(-9.96472e-05, 0.967461, -0.253021, -0.000383039) -bones/21/position = Vector3(0.0251286, 1.43661, 0.0459832) -bones/21/rotation = Quaternion(-0.476217, -0.264979, -0.412548, 0.729936) -bones/22/position = Vector3(0.190744, 1.47502, -0.0134859) -bones/22/rotation = Quaternion(0.0285396, -0.162933, 0.975299, -0.146392) -bones/23/position = Vector3(-5.41331e-09, 0.143946, -2.98023e-08) -bones/23/rotation = Quaternion(3.18831e-08, -0.0332867, 6.25233e-08, 0.999446) -bones/24/position = Vector3(-6.33301e-08, 0.143946, 4.3873e-08) -bones/24/rotation = Quaternion(0.338416, -0.0332876, -0.0211057, 0.940171) -bones/25/position = Vector3(1.30385e-08, 0.127601, 6.51926e-09) -bones/25/rotation = Quaternion(1.49943e-07, -1.20606e-07, 9.91859e-08, 1) -bones/26/position = Vector3(2.06034e-08, 0.127601, 2.42761e-08) -bones/26/rotation = Quaternion(-0.00824883, -0.00027077, -0.0328667, 0.999426) -bones/28/rotation = Quaternion(0.702583, -0.000939743, -0.00133552, 0.7116) -bones/29/rotation = Quaternion(0.741121, 0.00218291, 0.00265381, 0.671363) +bones/21/position = Vector3(0.0251286, 1.44073, 0.0475539) +bones/21/rotation = Quaternion(-0.46887, -0.267885, -0.41796, 0.730553) +bones/22/position = Vector3(0.19165, 1.4797, -0.0089467) +bones/22/rotation = Quaternion(0.0191939, -0.164328, 0.975527, -0.144825) +bones/23/position = Vector3(2.09082e-07, 0.143946, 5.7742e-08) +bones/23/rotation = Quaternion(6.33718e-08, -0.0408242, -6.79011e-08, 0.999166) +bones/24/position = Vector3(-2.51458e-08, 0.143946, 1.49167e-07) +bones/24/rotation = Quaternion(0.355351, -0.0408248, -0.0221832, 0.933577) +bones/25/position = Vector3(-1.51806e-07, 0.127601, -1.86264e-08) +bones/25/rotation = Quaternion(1.61119e-07, -1.23866e-07, 1.05705e-07, 1) +bones/26/position = Vector3(-2.38135e-07, 0.127601, 5.02437e-08) +bones/26/rotation = Quaternion(-0.00824883, -0.000270768, -0.0328667, 0.999426) +bones/28/rotation = Quaternion(0.702584, -0.000940233, -0.00133577, 0.711599) +bones/29/rotation = Quaternion(0.741121, 0.00218229, 0.00265403, 0.671363) bones/30/rotation = Quaternion(0.32527, 0.890055, 0.295977, -0.119997) bones/31/rotation = Quaternion(0.514882, -0.114149, 0.114482, 0.841879) -bones/32/rotation = Quaternion(0.592003, -0.0381348, -0.090699, 0.799907) -bones/34/position = Vector3(-0.00316938, 0.0987206, 0.0147918) -bones/34/rotation = Quaternion(-0.0674699, 0.718446, 0.0663966, 0.689112) -bones/35/rotation = Quaternion(0.580803, -0.000892135, -0.0014975, 0.814042) -bones/36/rotation = Quaternion(0.682777, 0.00174509, 0.00256596, 0.73062) -bones/37/rotation = Quaternion(-0.00426514, 0.736714, 0.0394785, 0.675038) -bones/38/position = Vector3(-0.00622951, 0.0926415, -0.0236344) -bones/38/rotation = Quaternion(-0.109873, 0.743351, 0.0333507, 0.658973) -bones/39/rotation = Quaternion(0.630039, 0.00151959, 0.00237944, 0.776559) -bones/40/rotation = Quaternion(0.652643, -0.00308142, -0.00421108, 0.757648) -bones/41/rotation = Quaternion(-0.0684174, 0.72411, 0.0332337, 0.685478) -bones/42/position = Vector3(-0.00715362, 0.0679857, -0.0481983) -bones/42/rotation = Quaternion(-0.120913, 0.799109, 0.0358921, 0.587807) +bones/32/rotation = Quaternion(0.592004, -0.0381347, -0.0906988, 0.799907) +bones/34/position = Vector3(-0.00316923, 0.0987205, 0.014792) +bones/34/rotation = Quaternion(-0.0674699, 0.718446, 0.066396, 0.689112) +bones/35/rotation = Quaternion(0.580803, -0.00089226, -0.00149663, 0.814042) +bones/36/rotation = Quaternion(0.682777, 0.00174471, 0.00256546, 0.73062) +bones/37/rotation = Quaternion(-0.0042649, 0.736714, 0.0394783, 0.675038) +bones/38/position = Vector3(-0.00622965, 0.0926412, -0.0236343) +bones/38/rotation = Quaternion(-0.109873, 0.743351, 0.0333506, 0.658973) +bones/39/rotation = Quaternion(0.630039, 0.0015193, 0.00237975, 0.776558) +bones/40/rotation = Quaternion(0.652643, -0.00308147, -0.00421165, 0.757648) +bones/41/rotation = Quaternion(-0.0684173, 0.72411, 0.0332336, 0.685477) +bones/42/position = Vector3(-0.00715375, 0.0679857, -0.0481983) +bones/42/rotation = Quaternion(-0.120913, 0.799109, 0.0358922, 0.587807) bones/43/rotation = Quaternion(0.498693, -0.0202705, -0.0256953, 0.866161) -bones/44/rotation = Quaternion(0.715385, 0.035306, 0.0573145, 0.695481) +bones/44/rotation = Quaternion(0.715385, 0.0353058, 0.0573149, 0.69548) bones/45/rotation = Quaternion(-0.129059, 0.728936, -0.0250259, 0.67184) -bones/46/position = Vector3(-0.0113635, 1.43661, 0.0459832) -bones/46/rotation = Quaternion(-0.481394, 0.253217, 0.404934, 0.734963) -bones/47/position = Vector3(-0.174978, 1.47541, -0.0185348) -bones/47/rotation = Quaternion(-0.0275558, -0.144932, 0.975724, 0.161858) -bones/48/position = Vector3(1.88476e-07, 0.143946, 1.02445e-08) -bones/48/rotation = Quaternion(-5.65813e-08, 0.0458549, -5.67926e-08, 0.998948) -bones/49/position = Vector3(6.5191e-09, 0.143946, -1.95094e-08) -bones/49/rotation = Quaternion(0.377155, 0.0458556, 0.0284767, 0.924576) -bones/50/position = Vector3(-1.48779e-07, 0.1276, 5.9139e-08) -bones/50/rotation = Quaternion(-8.73115e-08, 2.7474e-08, -1.28057e-07, 1) -bones/51/position = Vector3(1.9461e-07, 0.127601, 6.06248e-08) -bones/51/rotation = Quaternion(-0.00824876, 0.000270832, 0.032867, 0.999426) -bones/52/rotation = Quaternion(-0.2563, 0.855859, 0.0299184, -0.448241) -bones/53/rotation = Quaternion(0.694912, 0.107145, -0.103549, 0.703488) -bones/54/rotation = Quaternion(0.74112, -0.00218237, -0.00265409, 0.671363) +bones/46/position = Vector3(-0.0113635, 1.44073, 0.0475539) +bones/46/rotation = Quaternion(-0.468087, 0.267437, 0.418246, 0.731055) +bones/47/position = Vector3(-0.177885, 1.47982, -0.00886313) +bones/47/rotation = Quaternion(-0.00629804, -0.148423, 0.976093, 0.158663) +bones/48/position = Vector3(3.3062e-08, 0.143946, -2.79397e-08) +bones/48/rotation = Quaternion(-1.87788e-07, 0.0600834, -1.99692e-07, 0.998193) +bones/49/position = Vector3(2.32835e-09, 0.143946, 2.93752e-08) +bones/49/rotation = Quaternion(0.396547, 0.0600838, 0.0277103, 0.915627) +bones/50/position = Vector3(2.96393e-07, 0.1276, -8.3819e-08) +bones/50/rotation = Quaternion(-8.184e-08, 2.42144e-08, -1.33645e-07, 1) +bones/51/position = Vector3(2.1924e-07, 0.1276, 1.47435e-08) +bones/51/rotation = Quaternion(-0.00824878, 0.000270832, 0.032867, 0.999426) +bones/52/rotation = Quaternion(-0.2563, 0.855859, 0.0299185, -0.448241) +bones/53/rotation = Quaternion(0.694912, 0.107144, -0.103548, 0.703488) +bones/54/rotation = Quaternion(0.74112, -0.00218245, -0.0026545, 0.671363) bones/55/rotation = Quaternion(-0.325269, 0.890055, 0.295977, 0.119998) -bones/56/rotation = Quaternion(0.514882, 0.11415, -0.114483, 0.841879) -bones/57/rotation = Quaternion(0.592004, 0.0381346, 0.0906992, 0.799907) -bones/59/position = Vector3(0.00316943, 0.0987207, 0.0147917) -bones/59/rotation = Quaternion(0.138771, -0.704916, 0.15571, 0.677932) -bones/60/rotation = Quaternion(0.579984, 0.0462615, -0.0308755, 0.812727) -bones/61/rotation = Quaternion(0.682777, -0.00174718, -0.00256448, 0.73062) -bones/62/rotation = Quaternion(-0.00426532, -0.736714, -0.0394788, 0.675038) -bones/63/position = Vector3(0.00622955, 0.0926417, -0.0236344) -bones/63/rotation = Quaternion(0.104095, -0.719607, 0.186262, 0.660784) -bones/64/rotation = Quaternion(0.670693, 0.0163391, -0.0185663, 0.741323) -bones/65/rotation = Quaternion(0.692499, 0.00330364, 0.00403917, 0.7214) -bones/66/rotation = Quaternion(-0.0684178, -0.72411, -0.0332339, 0.685477) -bones/67/position = Vector3(0.00715371, 0.0679859, -0.0481984) -bones/67/rotation = Quaternion(0.108364, -0.768224, 0.166291, 0.608635) -bones/68/rotation = Quaternion(0.629954, 0.0295149, 0.0177509, 0.775869) -bones/69/rotation = Quaternion(0.816678, -0.0439534, -0.0509861, 0.573155) -bones/70/rotation = Quaternion(-0.12906, -0.728937, 0.0250258, 0.67184) -bones/71/position = Vector3(0.127191, 1.35695, -0.0249443) -bones/71/rotation = Quaternion(2.00532e-08, 0.602166, 0.798371, -4.6003e-08) -bones/72/position = Vector3(-0.113426, 1.35695, -0.0249443) -bones/72/rotation = Quaternion(2.00533e-08, 0.602166, 0.798371, -4.60029e-08) +bones/56/rotation = Quaternion(0.514882, 0.11415, -0.114482, 0.841879) +bones/57/rotation = Quaternion(0.592005, 0.0381345, 0.0906988, 0.799906) +bones/59/position = Vector3(0.00316945, 0.0987207, 0.0147919) +bones/59/rotation = Quaternion(0.138771, -0.704916, 0.15571, 0.677931) +bones/60/rotation = Quaternion(0.579985, 0.0462612, -0.0308756, 0.812727) +bones/61/rotation = Quaternion(0.682777, -0.00174713, -0.00256477, 0.730621) +bones/62/rotation = Quaternion(-0.00426538, -0.736714, -0.0394788, 0.675038) +bones/63/position = Vector3(0.00622961, 0.0926419, -0.0236345) +bones/63/rotation = Quaternion(0.104095, -0.719607, 0.186262, 0.660785) +bones/64/rotation = Quaternion(0.670693, 0.0163392, -0.0185666, 0.741323) +bones/65/rotation = Quaternion(0.692499, 0.0033038, 0.00403946, 0.7214) +bones/66/rotation = Quaternion(-0.0684176, -0.72411, -0.0332339, 0.685477) +bones/67/position = Vector3(0.00715366, 0.0679859, -0.0481984) +bones/67/rotation = Quaternion(0.108365, -0.768224, 0.166291, 0.608635) +bones/68/rotation = Quaternion(0.629953, 0.0295151, 0.0177509, 0.775869) +bones/69/rotation = Quaternion(0.816678, -0.0439533, -0.0509859, 0.573154) +bones/70/rotation = Quaternion(-0.12906, -0.728937, 0.0250259, 0.67184) +bones/71/position = Vector3(0.127191, 1.36191, -0.0243146) +bones/71/rotation = Quaternion(2.28855e-08, 0.597416, 0.801932, -4.88853e-08) +bones/72/position = Vector3(-0.113426, 1.36191, -0.0243146) +bones/72/rotation = Quaternion(2.29389e-08, 0.597416, 0.801932, -4.89387e-08) [node name="Knight_01" parent="CharacterRig/GameRig/Skeleton3D" index="0"] visible = false @@ -208,7 +208,7 @@ anim_player = NodePath("../CharacterRig/AnimationPlayer") parameters/MoveSpace/blend_position = -5.743 [node name="RightHandBone" type="BoneAttachment3D" parent="."] -transform = Transform3D(-0.962342, -0.270805, -0.0237103, 0.226727, -0.847696, 0.47959, -0.149975, 0.456154, 0.877172, -0.348796, 1.00468, 0.0147979) +transform = Transform3D(-0.962344, -0.270798, -0.0237177, 0.219794, -0.826483, 0.518283, -0.159952, 0.493553, 0.85488, -0.351701, 1.01454, 0.0337302) bone_name = "DEF-hand.R" bone_idx = 51 use_external_skeleton = true @@ -220,7 +220,7 @@ transform = Transform3D(0.16656, 0.0770401, -0.983017, -0.982939, 0.0918653, -0. [node name="longsword" parent="RightHandBone/WeaponSlot" instance=ExtResource("3_dka8l")] [node name="LeftHandBone" type="BoneAttachment3D" parent="."] -transform = Transform3D(-0.970513, 0.239109, 0.0305206, -0.212339, -0.907971, 0.36125, 0.11409, 0.344117, 0.931969, 0.347554, 0.988646, -0.0177578) +transform = Transform3D(-0.970514, 0.239107, 0.0305222, -0.207839, -0.89421, 0.396475, 0.122093, 0.37844, 0.917538, 0.34846, 0.996906, -0.00467403) bone_name = "DEF-hand.L" bone_idx = 26 use_external_skeleton = true diff --git a/src/scripts/characters/player.gd b/src/scripts/characters/player.gd index 087ecba..c788173 100644 --- a/src/scripts/characters/player.gd +++ b/src/scripts/characters/player.gd @@ -16,6 +16,8 @@ var _attack_direction: Vector3 = Vector3.ZERO @export var camera_min_pitch: float = -75 @export var animation_decay: float = 25.0 @export var attack_move_speed: float = 3.0 +@export_category("RPG Stats") +@export var stats: CharacterStats @onready var horizontal_pivot: Node3D = $HorizontalPivot @onready var vertical_pivot: Node3D = $HorizontalPivot/VerticalPivot