[gd_scene load_steps=35 format=3 uid="uid://cersx8w4ps2sr"] [ext_resource type="Script" uid="uid://dxiv1svdeoxg2" path="res://src/entity/player.ts" id="2_pdrhn"] [ext_resource type="Script" uid="uid://hm6oqbvcmigk" path="res://src/entity/player_animation.ts" id="3_26yay"] [ext_resource type="Script" uid="uid://ny0p0jkmlrv8" path="res://src/entity/player_input.ts" id="3_x6527"] [ext_resource type="Script" uid="uid://kjthk4tj8qof" path="res://src/entity/interactor.ts" id="5_uk7c1"] [ext_resource type="Script" uid="uid://dkvbawcldnok5" path="res://src/entity/equipped_weapon.ts" id="6_fjrip"] [ext_resource type="Script" uid="uid://dbrjcvaqkca21" path="res://src/entity/inventory.ts" id="6_jscba"] [ext_resource type="PackedScene" uid="uid://sgc1gxq4osag" path="res://scenes/player_mesh3.tscn" id="7_fjrip"] [ext_resource type="Script" uid="uid://bccrrtp3mlw5i" path="res://src/entity/health.ts" id="8_smehm"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_1kx10"] [sub_resource type="SphereShape3D" id="SphereShape3D_64co4"] [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_d2wvv"] animation = &"Aim" [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_3v2ag"] animation = &"Fire" [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_y4r1p"] animation = &"PistolIdle" [sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_d2wvv"] filter_enabled = true filters = ["AuxScene/Scene/Armature/Skeleton3D:mixamorigHead", "AuxScene/Scene/Armature/Skeleton3D:mixamorigHead001", "AuxScene/Scene/Armature/Skeleton3D:mixamorigHips", "AuxScene/Scene/Armature/Skeleton3D:mixamorigHips001", "AuxScene/Scene/Armature/Skeleton3D:mixamorigLeftFoot", "AuxScene/Scene/Armature/Skeleton3D:mixamorigLeftLeg", "AuxScene/Scene/Armature/Skeleton3D:mixamorigLeftLeg001", "AuxScene/Scene/Armature/Skeleton3D:mixamorigLeftShoulder001", "AuxScene/Scene/Armature/Skeleton3D:mixamorigLeftToeBase", "AuxScene/Scene/Armature/Skeleton3D:mixamorigLeftUpLeg", "AuxScene/Scene/Armature/Skeleton3D:mixamorigLeftUpLeg001", "AuxScene/Scene/Armature/Skeleton3D:mixamorigNeck", "AuxScene/Scene/Armature/Skeleton3D:mixamorigNeck001", "AuxScene/Scene/Armature/Skeleton3D:mixamorigRightFoot", "AuxScene/Scene/Armature/Skeleton3D:mixamorigRightLeg", "AuxScene/Scene/Armature/Skeleton3D:mixamorigRightLeg001", "AuxScene/Scene/Armature/Skeleton3D:mixamorigRightToeBase", "AuxScene/Scene/Armature/Skeleton3D:mixamorigRightUpLeg", "AuxScene/Scene/Armature/Skeleton3D:mixamorigRightUpLeg001", "AuxScene/Scene/Armature/Skeleton3D:mixamorigSpine", "AuxScene/Scene/Armature/Skeleton3D:mixamorigSpine001", "AuxScene/Scene/Armature/Skeleton3D:mixamorigSpine1", "AuxScene/Scene/Armature/Skeleton3D:mixamorigSpine1001", "AuxScene/Scene/Armature/Skeleton3D:mixamorigSpine2", "AuxScene/Scene/Armature/Skeleton3D:mixamorigSpine2001"] [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_fjrip"] animation = &"PistolIdle" [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_smehm"] animation = &"Walk" [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ur7pv"] animation = &"Run" [sub_resource type="AnimationNodeBlendSpace1D" id="AnimationNodeBlendSpace1D_y4r1p"] blend_point_0/node = SubResource("AnimationNodeAnimation_fjrip") blend_point_0/pos = 0.0 blend_point_1/node = SubResource("AnimationNodeAnimation_smehm") blend_point_1/pos = 0.5 blend_point_2/node = SubResource("AnimationNodeAnimation_ur7pv") blend_point_2/pos = 1.0 min_space = 0.0 blend_mode = 1 [sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_d2wvv"] graph_offset = Vector2(-274.628, -16.111) nodes/Animation/node = SubResource("AnimationNodeAnimation_y4r1p") nodes/Animation/position = Vector2(-20, 100) nodes/Blend2/node = SubResource("AnimationNodeBlend2_d2wvv") nodes/Blend2/position = Vector2(260, 100) nodes/BlendSpace1D/node = SubResource("AnimationNodeBlendSpace1D_y4r1p") nodes/BlendSpace1D/position = Vector2(-40, 280) nodes/output/position = Vector2(500, 100) node_connections = [&"Blend2", 0, &"Animation", &"Blend2", 1, &"BlendSpace1D", &"output", 0, &"Blend2"] [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_jej6c"] advance_mode = 2 [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_f1ej7"] advance_mode = 2 advance_expression = "is_aiming()" [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_qfm1y"] advance_mode = 2 advance_expression = "not is_aiming()" [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_oprun"] advance_mode = 2 advance_expression = "is_firing()" [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_a8ls1"] switch_mode = 2 advance_mode = 2 [sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_3v2ag"] states/Aim/node = SubResource("AnimationNodeAnimation_d2wvv") states/Aim/position = Vector2(551, 100) states/Fire/node = SubResource("AnimationNodeAnimation_3v2ag") states/Fire/position = Vector2(730, 100) states/Movement/node = SubResource("AnimationNodeBlendTree_d2wvv") states/Movement/position = Vector2(403, 100) transitions = ["Start", "Movement", SubResource("AnimationNodeStateMachineTransition_jej6c"), "Movement", "Aim", SubResource("AnimationNodeStateMachineTransition_f1ej7"), "Aim", "Movement", SubResource("AnimationNodeStateMachineTransition_qfm1y"), "Aim", "Fire", SubResource("AnimationNodeStateMachineTransition_oprun"), "Fire", "Aim", SubResource("AnimationNodeStateMachineTransition_a8ls1")] [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_sk752"] animation = &"Idle" [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_t4klh"] animation = &"Walk" [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_o2vfb"] animation = &"Run" [sub_resource type="AnimationNodeBlendSpace1D" id="AnimationNodeBlendSpace1D_7bso7"] blend_point_0/node = SubResource("AnimationNodeAnimation_sk752") blend_point_0/pos = 0.0 blend_point_1/node = SubResource("AnimationNodeAnimation_t4klh") blend_point_1/pos = 0.5 blend_point_2/node = SubResource("AnimationNodeAnimation_o2vfb") blend_point_2/pos = 1.0 min_space = 0.0 blend_mode = 1 [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_cqw7m"] advance_mode = 2 advance_expression = "not has_weapon()" [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_fjrip"] advance_mode = 2 advance_expression = "has_weapon()" [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_smehm"] advance_mode = 2 advance_expression = "not has_weapon()" [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ur7pv"] advance_mode = 2 advance_expression = "has_weapon()" [sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_5lvsk"] states/End/position = Vector2(621, 100) states/Handgun/node = SubResource("AnimationNodeStateMachine_3v2ag") states/Handgun/position = Vector2(405, 179) states/Unarmed/node = SubResource("AnimationNodeBlendSpace1D_7bso7") states/Unarmed/position = Vector2(405, 89) transitions = ["Start", "Unarmed", SubResource("AnimationNodeStateMachineTransition_cqw7m"), "Unarmed", "Handgun", SubResource("AnimationNodeStateMachineTransition_fjrip"), "Handgun", "Unarmed", SubResource("AnimationNodeStateMachineTransition_smehm"), "Start", "Handgun", SubResource("AnimationNodeStateMachineTransition_ur7pv")] [node name="Player" type="CharacterBody3D" groups=["save"]] script = ExtResource("2_pdrhn") metadata/_custom_type_script = "uid://dxiv1svdeoxg2" [node name="Mesh" parent="." instance=ExtResource("7_fjrip")] [node name="Skeleton3D" parent="Mesh/AuxScene/Scene/Armature" index="0"] bones/0/position = Vector3(-1.74887, 91.964, -0.714319) bones/0/rotation = Quaternion(0.165541, -0.00688532, -0.0607779, 0.984304) bones/1/position = Vector3(-5.73688e-07, -9.14512e-06, -1.26241e-06) bones/2/rotation = Quaternion(-0.05258, -0.0688082, 0.0497405, 0.995001) bones/3/position = Vector3(9.31323e-07, 4.82425e-06, 3.63451e-07) bones/4/rotation = Quaternion(0.0222017, -0.0213405, 0.0167214, 0.999386) bones/5/position = Vector3(-1.93715e-07, -5.33462e-06, -3.29316e-06) bones/6/rotation = Quaternion(0.0349434, -0.0206503, 0.0167813, 0.999035) bones/7/position = Vector3(7.1526e-07, -1.93864e-05, -4.64916e-06) bones/8/rotation = Quaternion(-0.51501, 0.549661, -0.50159, -0.425494) bones/9/position = Vector3(4.03821e-06, 2.32458e-06, -8.17219e-06) bones/10/position = Vector3(-1.57305e-06, 10.8382, 6.06992e-05) bones/10/rotation = Quaternion(0.394962, -0.363464, -0.0296416, 0.84322) bones/11/position = Vector3(4.29218e-06, -5.19505e-06, 6.01416e-06) bones/12/rotation = Quaternion(-1.62516e-07, 3.07216e-08, -0.699315, 0.714814) bones/13/position = Vector3(-8.38905e-06, 3.33295e-06, 2.61253e-06) bones/14/position = Vector3(-3.8591e-06, 28.3289, 4.04304e-06) bones/14/rotation = Quaternion(-0.136096, 0.156416, -0.0262674, 0.977917) bones/15/position = Vector3(3.578e-06, -5.33786e-07, -1.20217e-06) bones/16/rotation = Quaternion(0.585477, -0.0341162, 0.207056, 0.783058) bones/17/position = Vector3(-5.2056e-06, -2.74507e-06, 2.17486e-07) bones/18/position = Vector3(-4.54572e-06, 3.60001, -4.16853e-05) bones/18/rotation = Quaternion(0.507655, 1.75089e-07, 0.0413582, 0.860568) bones/19/position = Vector3(5.70967e-07, -7.07246e-06, -9.18487e-06) bones/20/rotation = Quaternion(0.413244, -3.11702e-08, 0.0336662, 0.909998) bones/21/position = Vector3(-6.99836e-06, -7.14697e-06, -2.1594e-05) bones/22/position = Vector3(6.30171e-07, 2.11579, -2.0168e-05) bones/23/position = Vector3(2.23517e-06, -3.43425e-06, -5.65971e-06) bones/24/position = Vector3(-2.38966e-05, 9.5325, 4.5051e-05) bones/24/rotation = Quaternion(0.668999, -0.000171639, 0.0840584, 0.738495) bones/25/position = Vector3(-6.4569e-06, 7.69735e-06, 1.93997e-05) bones/26/position = Vector3(-1.6476e-05, 3.70001, -1.55696e-05) bones/26/rotation = Quaternion(0.496633, -8.3819e-09, 0.0404601, 0.867017) bones/27/position = Vector3(-1.2354e-05, -8.65261e-06, -1.28768e-05) bones/28/position = Vector3(-4.24592e-06, 2.95001, -9.53893e-06) bones/28/rotation = Quaternion(0.411496, 1.23197e-07, 0.033524, 0.910795) bones/31/position = Vector3(-7.56234e-07, 7.47032e-06, -1.1809e-05) bones/32/rotation = Quaternion(0.665959, -0.0134166, 0.0985026, 0.739335) bones/33/position = Vector3(-6.06578e-06, 1.30555e-07, 1.69121e-05) bones/34/position = Vector3(-4.23319e-06, 3.37928, 2.18956e-06) bones/34/rotation = Quaternion(0.505618, -7.26432e-08, 0.0411921, 0.861774) bones/36/position = Vector3(-1.18398e-05, 2.88968, 7.61242e-06) bones/36/rotation = Quaternion(0.404281, -1.18074e-07, 0.032936, 0.914042) bones/37/position = Vector3(-6.88349e-06, -1.37002e-05, 1.28552e-05) bones/38/position = Vector3(2.56333e-07, 2.63883, -1.43249e-05) bones/39/position = Vector3(-4.24683e-07, 1.26579e-05, -1.86824e-05) bones/40/position = Vector3(2.25984, 9.10828, 0.517869) bones/40/rotation = Quaternion(0.664054, 0.0213635, 0.0331529, 0.746644) bones/41/position = Vector3(1.06017e-06, 7.42728e-06, 1.53654e-05) bones/42/rotation = Quaternion(0.495834, 1.76951e-08, 0.040395, 0.867477) bones/43/position = Vector3(-7.02744e-06, 7.93018e-06, 5.25886e-07) bones/44/rotation = Quaternion(0.412061, -1.75642e-08, 0.0335699, 0.910538) bones/45/position = Vector3(-2.85069e-06, 1.82002e-06, -3.29077e-06) bones/48/position = Vector3(2.68185, 2.4648, 1.57399) bones/48/rotation = Quaternion(0.269242, 0.0131664, -0.225248, 0.936269) bones/49/position = Vector3(-9.0003e-06, -5.24521e-06, 4.05612e-06) bones/50/position = Vector3(-1.37213e-05, 4.18898, 1.30866e-06) bones/50/rotation = Quaternion(-0.0573431, -0.0228523, 0.23602, 0.969786) bones/52/position = Vector3(-1.33398e-07, 3.41628, -7.38503e-06) bones/52/rotation = Quaternion(-0.0951258, 0.0335536, -0.103347, 0.989517) bones/53/position = Vector3(-1.13845e-05, 6.58631e-06, -2.40871e-06) bones/56/rotation = Quaternion(-0.0477065, -0.00417029, 0.0378131, 0.998137) bones/57/position = Vector3(-1.43051e-06, -1.90437e-05, -4.97699e-06) bones/58/rotation = Quaternion(-0.0436575, 0.0735426, -0.040091, 0.995529) bones/59/position = Vector3(3.57626e-07, -2.48402e-05, -4.05312e-06) bones/61/rotation = Quaternion(-0.583618, -0.494192, 0.510115, -0.393634) bones/62/position = Vector3(-9.28342e-06, -1.90735e-06, -1.25186e-05) bones/63/position = Vector3(-6.21295e-06, 10.8377, 3.97934e-05) bones/63/rotation = Quaternion(0.347965, 0.00733927, 0.168363, 0.922237) bones/64/position = Vector3(-6.81842e-07, 2.49492e-06, -4.24376e-06) bones/65/position = Vector3(9.00633e-07, 27.8415, 2.65277e-05) bones/65/rotation = Quaternion(-1.72295e-07, -8.69017e-09, 0.856711, 0.515797) bones/66/position = Vector3(1.81322e-06, -7.35846e-06, -1.91975e-06) bones/67/rotation = Quaternion(-0.00529397, 0.0445442, 0.140527, 0.98906) bones/68/position = Vector3(-2.66702e-06, 6.75935e-06, 1.82044e-06) bones/69/rotation = Quaternion(0.247973, -0.0477907, 0.214491, 0.943514) bones/70/position = Vector3(1.54972e-06, 1.10865e-05, 1.50938e-05) bones/71/position = Vector3(-9.48468e-06, 4.18709, 6.46207e-06) bones/71/rotation = Quaternion(-0.0402928, 0.0170358, -0.189645, 0.980878) bones/72/position = Vector3(4.76837e-06, -6.58631e-06, -1.79932e-05) bones/73/position = Vector3(3.41813e-06, 3.41839, -3.61406e-05) bones/73/rotation = Quaternion(-0.150634, 0.0196685, -0.0384138, 0.987647) bones/74/position = Vector3(6.76513e-06, 4.05312e-06, -9.94626e-07) bones/75/position = Vector3(1.19018e-05, 2.58059, -2.38419e-06) bones/77/rotation = Quaternion(0.348536, -0.00216019, 0.00770235, 0.937261) bones/78/position = Vector3(1.02476e-05, 1.25725e-06, -3.09773e-06) bones/79/position = Vector3(1.16544e-05, 3.7, -2.38235e-06) bones/79/rotation = Quaternion(0.316306, -4.82716e-07, -0.0324142, 0.948103) bones/80/position = Vector3(-4.95017e-06, 2.76518e-06, -1.62069e-05) bones/81/rotation = Quaternion(0.316011, -2.94298e-07, -0.0323837, 0.948203) bones/84/position = Vector3(2.00886e-06, -1.55707e-05, 1.65336e-05) bones/85/rotation = Quaternion(0.3862, -0.00842687, -0.0564331, 0.920648) bones/86/position = Vector3(-1.63967e-06, 3.17085e-06, -1.61075e-05) bones/87/rotation = Quaternion(0.360214, -3.91738e-07, -0.0369136, 0.932139) bones/88/position = Vector3(1.00015e-05, -1.164e-05, -9.66649e-07) bones/89/rotation = Quaternion(0.359928, -5.00586e-07, -0.0368843, 0.932251) bones/90/position = Vector3(1.66535e-06, -8.3745e-06, -2.99188e-06) bones/92/position = Vector3(7.46036e-06, 4.84443e-06, -1.74526e-06) bones/93/rotation = Quaternion(0.430639, 0.00721853, -0.0951741, 0.897463) bones/94/position = Vector3(8.98751e-07, 5.35152e-06, -6.46659e-07) bones/95/rotation = Quaternion(0.410222, -5.0664e-07, -0.0420382, 0.911016) bones/96/position = Vector3(4.96211e-06, -1.72045e-06, 3.28761e-06) bones/97/position = Vector3(6.86945e-06, 2.95, 1.36588e-05) bones/97/rotation = Quaternion(0.408306, -5.79283e-07, -0.0418419, 0.911886) bones/98/position = Vector3(-3.15467e-07, 5.01274e-06, 4.26586e-07) bones/99/position = Vector3(-2.55906e-05, 2.64431, 3.08781e-07) bones/100/position = Vector3(-1.24937e-06, -5.10697e-06, 1.54605e-05) bones/101/position = Vector3(3.80626, 8.0778, 0.486897) bones/101/rotation = Quaternion(0.453869, -0.00504631, -0.172035, 0.874289) bones/102/position = Vector3(-3.4095e-06, 9.84711e-06, 2.19628e-05) bones/103/rotation = Quaternion(0.441888, -4.63799e-07, -0.0452826, 0.895927) bones/104/position = Vector3(2.55811e-06, 3.79583e-06, -1.0634e-05) bones/105/rotation = Quaternion(0.441703, -4.99189e-07, -0.0452642, 0.896019) bones/106/position = Vector3(-6.14417e-06, -1.13954e-05, 1.6547e-05) bones/107/position = Vector3(-5.6429e-06, 2.12554, -1.44594e-05) bones/108/position = Vector3(-9.07481e-06, 9.92674e-06, -5.45842e-07) bones/109/rotation = Quaternion(0.00912616, 0.499102, 0.859827, -0.107291) bones/110/position = Vector3(-8.46157e-07, 2.16948e-05, -6.41459e-07) bones/111/rotation = Quaternion(-0.422236, 0.017693, 0.0133394, 0.906215) bones/112/position = Vector3(-6.62415e-08, 3.47755e-06, 3.22101e-06) bones/113/rotation = Quaternion(0.540386, -0.024196, -0.0396063, 0.840136) bones/115/rotation = Quaternion(0.351334, 3.47398e-05, 1.17676e-05, 0.93625) bones/119/rotation = Quaternion(0.102035, 0.0420148, 0.992102, -0.0596471) bones/120/position = Vector3(-1.94257e-07, 7.09908e-06, -4.76177e-06) bones/121/rotation = Quaternion(-0.339418, 0.0221456, -0.00134624, 0.940374) bones/122/position = Vector3(-4.23867e-07, -3.05474e-06, -1.07518e-06) bones/123/rotation = Quaternion(0.426336, -0.0330713, -0.134284, 0.89393) bones/125/rotation = Quaternion(0.631409, 0.0537683, 0.0373258, 0.772682) [node name="RightHand" parent="Mesh/AuxScene/Scene/Armature/Skeleton3D" index="2"] transform = Transform3D(0.339146, 0.643904, -0.685833, 0.44957, 0.529466, 0.71941, 0.826357, -0.552315, -0.109914, -21.7915, 84.1795, 2.81691) [node name="Node3D" type="Node3D" parent="Mesh/AuxScene/Scene/Armature/Skeleton3D/RightHand" index="0"] [node name="CollisionShape3D" type="CollisionShape3D" parent="."] transform = Transform3D(1.25, 0, 0, 0, 1.25, 0, 0, 0, 1.25, 0, 1.25, 0) shape = SubResource("CapsuleShape3D_1kx10") [node name="Input" type="Node3D" parent="."] script = ExtResource("3_x6527") min_range = 0.5 metadata/_custom_type_script = "uid://ny0p0jkmlrv8" [node name="Interactor" type="Area3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 1) input_ray_pickable = false script = ExtResource("5_uk7c1") _root_node = NodePath("..") metadata/_custom_type_script = "uid://kjthk4tj8qof" [node name="CollisionShape3D" type="CollisionShape3D" parent="Interactor"] shape = SubResource("SphereShape3D_64co4") [node name="Inventory" type="Node" parent="."] script = ExtResource("6_jscba") [node name="AnimationTree" type="AnimationTree" parent="."] root_node = NodePath("../Mesh") tree_root = SubResource("AnimationNodeStateMachine_5lvsk") advance_expression_base_node = NodePath("..") anim_player = NodePath("../Mesh/AnimationPlayer") parameters/Handgun/Movement/Blend2/blend_amount = 1.0 parameters/Handgun/Movement/BlendSpace1D/blend_position = 0.5 parameters/Unarmed/blend_position = 0.872134 script = ExtResource("3_26yay") move_speed_expression = "move_speed()" [node name="EquippedWeapon" type="Node3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 0.5) script = ExtResource("6_fjrip") starting_weapon = "uid://c15pu3ela0g6k" _transform_parent = NodePath("../Mesh/AuxScene/Scene/Armature/Skeleton3D/RightHand/Node3D") metadata/_custom_type_script = "uid://dkvbawcldnok5" [node name="FireRate" type="Timer" parent="EquippedWeapon"] one_shot = true [node name="Health" type="Node" parent="."] script = ExtResource("8_smehm") metadata/_custom_type_script = "uid://bccrrtp3mlw5i" [editable path="Mesh"]