2025-04-04 14:40:42 -06:00
|
|
|
[gd_scene load_steps=57 format=3 uid="uid://bwe2jdmvinhqd"]
|
2025-02-28 15:20:52 -07:00
|
|
|
|
2025-03-06 16:06:17 -07:00
|
|
|
[ext_resource type="Script" uid="uid://buwh0g1ga2aka" path="res://src/player/player.gd" id="1_npueo"]
|
|
|
|
[ext_resource type="Script" uid="uid://cx1yt0drthpw3" path="res://src/player/camera_controller.gd" id="2_veeqv"]
|
2025-03-12 12:19:09 -06:00
|
|
|
[ext_resource type="PackedScene" uid="uid://cc102xko0u6yj" path="res://src/equipment/point_spray/point_spray.tscn" id="3_6wgkm"]
|
2025-03-12 11:23:21 -06:00
|
|
|
[ext_resource type="PackedScene" uid="uid://d2hnxr5l6w2x4" path="res://src/equipment/wide_spray/wide_spray.tscn" id="3_ibq07"]
|
2025-03-12 12:19:09 -06:00
|
|
|
[ext_resource type="Script" uid="uid://cwy3akimaeib" path="res://src/player/tool_mount.gd" id="3_jiejy"]
|
2025-03-05 14:46:13 -07:00
|
|
|
[ext_resource type="PackedScene" uid="uid://dq1x21tq06dud" path="res://src/ui/hud/player_hud.tscn" id="5_jvafu"]
|
2025-03-13 10:29:25 -06:00
|
|
|
[ext_resource type="PackedScene" uid="uid://qknkdy6aics1" path="res://src/equipment/toothbrush/toothbrush.tscn" id="6_o822w"]
|
2025-03-28 16:16:43 -06:00
|
|
|
[ext_resource type="Script" uid="uid://b1vyq7e81nyt0" path="res://src/player/headbob_controller.gd" id="7_x42xx"]
|
|
|
|
[ext_resource type="Script" uid="uid://ecrhsueph7at" path="res://src/player/footsteps/footstep_controller.gd" id="9_hja65"]
|
|
|
|
[ext_resource type="Script" uid="uid://brqa2wbtaspw4" path="res://src/player/footsteps/foot_controller.gd" id="9_l271a"]
|
|
|
|
[ext_resource type="AudioStream" uid="uid://di0e1l1l6l3qc" path="res://assets/sfx/footsteps/metal/metal1.wav" id="10_jcdrv"]
|
|
|
|
[ext_resource type="AudioStream" uid="uid://bv00dudic2mvp" path="res://assets/sfx/footsteps/metal/metal3.wav" id="11_hja65"]
|
|
|
|
[ext_resource type="AudioStream" uid="uid://befqnsqlbpca7" path="res://assets/sfx/footsteps/metal/metal5.wav" id="12_5shm8"]
|
|
|
|
[ext_resource type="AudioStream" uid="uid://c6wnc7kqtvujm" path="res://assets/sfx/footsteps/metal/metal7.wav" id="13_5efpn"]
|
|
|
|
[ext_resource type="AudioStream" uid="uid://bpdnw4qgbp6kj" path="res://assets/sfx/footsteps/metal/metal9.wav" id="14_4uy46"]
|
|
|
|
[ext_resource type="AudioStream" uid="uid://eagr344y4coh" path="res://assets/sfx/footsteps/metal/metal11.wav" id="15_k60ra"]
|
|
|
|
[ext_resource type="AudioStream" uid="uid://bguwbr0nlhgkl" path="res://assets/sfx/footsteps/metal/metal2.wav" id="16_a4vah"]
|
2025-04-01 12:19:28 -06:00
|
|
|
[ext_resource type="AudioStream" uid="uid://tlmmikytpp6r" path="res://assets/sfx/footsteps/grunk/grunk1.wav" id="17_a4vah"]
|
2025-03-28 16:16:43 -06:00
|
|
|
[ext_resource type="AudioStream" uid="uid://co83ygaa4d65u" path="res://assets/sfx/footsteps/metal/metal4.wav" id="17_vwi60"]
|
|
|
|
[ext_resource type="AudioStream" uid="uid://dkx88wqwfvfst" path="res://assets/sfx/footsteps/metal/metal6.wav" id="18_o04tx"]
|
2025-04-01 12:19:28 -06:00
|
|
|
[ext_resource type="AudioStream" uid="uid://dmqyajdgxld0o" path="res://assets/sfx/footsteps/grunk/grunk3.wav" id="18_vwi60"]
|
2025-03-28 16:16:43 -06:00
|
|
|
[ext_resource type="AudioStream" uid="uid://bo3klycfvvq2q" path="res://assets/sfx/footsteps/metal/metal8.wav" id="19_j2873"]
|
2025-04-01 12:19:28 -06:00
|
|
|
[ext_resource type="AudioStream" uid="uid://4mbqcr8vmd5c" path="res://assets/sfx/footsteps/grunk/grunk5.wav" id="19_o04tx"]
|
2025-03-28 16:16:43 -06:00
|
|
|
[ext_resource type="AudioStream" uid="uid://btiyoi1ipofd" path="res://assets/sfx/footsteps/metal/metal10.wav" id="20_dpt0q"]
|
2025-04-01 12:38:15 -06:00
|
|
|
[ext_resource type="AudioStream" uid="uid://dvyr3m24ccgrf" path="res://assets/sfx/footsteps/plastic/plastic2.wav" id="20_vwi60"]
|
2025-04-01 12:19:28 -06:00
|
|
|
[ext_resource type="AudioStream" uid="uid://dmscjvx66fxlf" path="res://assets/sfx/footsteps/grunk/grunk2.wav" id="25_j2873"]
|
|
|
|
[ext_resource type="AudioStream" uid="uid://djdixjel10yn1" path="res://assets/sfx/footsteps/grunk/grunk4.wav" id="26_dpt0q"]
|
2025-04-01 12:38:15 -06:00
|
|
|
[ext_resource type="AudioStream" uid="uid://div20rlq8ync5" path="res://assets/sfx/footsteps/plastic/plastic1.wav" id="28_dpt0q"]
|
|
|
|
[ext_resource type="AudioStream" uid="uid://djucfo3l7x7px" path="res://assets/sfx/footsteps/plastic/plastic3.wav" id="29_wcxbk"]
|
|
|
|
[ext_resource type="AudioStream" uid="uid://ck86vhmbg3xnj" path="res://assets/sfx/footsteps/plastic/plastic5.wav" id="30_p6grl"]
|
2025-04-04 11:06:08 -06:00
|
|
|
[ext_resource type="Script" uid="uid://c5o1d2shq2qig" path="res://src/world/game_sound/game_sound_emitter.gd" id="31_wcxbk"]
|
2025-03-28 16:16:43 -06:00
|
|
|
|
|
|
|
[sub_resource type="Animation" id="Animation_x42xx"]
|
|
|
|
length = 0.001
|
|
|
|
tracks/0/type = "bezier"
|
|
|
|
tracks/0/imported = false
|
|
|
|
tracks/0/enabled = true
|
|
|
|
tracks/0/path = NodePath(".:position:x")
|
|
|
|
tracks/0/interp = 1
|
|
|
|
tracks/0/loop_wrap = true
|
|
|
|
tracks/0/keys = {
|
|
|
|
"handle_modes": PackedInt32Array(0),
|
|
|
|
"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0),
|
|
|
|
"times": PackedFloat32Array(0)
|
|
|
|
}
|
|
|
|
tracks/1/type = "bezier"
|
|
|
|
tracks/1/imported = false
|
|
|
|
tracks/1/enabled = true
|
|
|
|
tracks/1/path = NodePath(".:position:y")
|
|
|
|
tracks/1/interp = 1
|
|
|
|
tracks/1/loop_wrap = true
|
|
|
|
tracks/1/keys = {
|
|
|
|
"handle_modes": PackedInt32Array(0),
|
|
|
|
"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0),
|
|
|
|
"times": PackedFloat32Array(0)
|
|
|
|
}
|
|
|
|
tracks/2/type = "bezier"
|
|
|
|
tracks/2/imported = false
|
|
|
|
tracks/2/enabled = true
|
|
|
|
tracks/2/path = NodePath(".:position:z")
|
|
|
|
tracks/2/interp = 1
|
|
|
|
tracks/2/loop_wrap = true
|
|
|
|
tracks/2/keys = {
|
|
|
|
"handle_modes": PackedInt32Array(0),
|
|
|
|
"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0),
|
|
|
|
"times": PackedFloat32Array(0)
|
|
|
|
}
|
|
|
|
|
2025-03-29 11:51:18 -06:00
|
|
|
[sub_resource type="Animation" id="Animation_hja65"]
|
|
|
|
resource_name = "footstep_sfx"
|
|
|
|
loop_mode = 1
|
|
|
|
step = 0.01
|
|
|
|
tracks/0/type = "method"
|
|
|
|
tracks/0/imported = false
|
|
|
|
tracks/0/enabled = true
|
|
|
|
tracks/0/path = NodePath("%FootstepController")
|
|
|
|
tracks/0/interp = 1
|
|
|
|
tracks/0/loop_wrap = true
|
|
|
|
tracks/0/keys = {
|
|
|
|
"times": PackedFloat32Array(0.35, 0.85),
|
|
|
|
"transitions": PackedFloat32Array(1, 1),
|
|
|
|
"values": [{
|
|
|
|
"args": [],
|
|
|
|
"method": &"play_footstep"
|
|
|
|
}, {
|
|
|
|
"args": [],
|
|
|
|
"method": &"play_footstep"
|
|
|
|
}]
|
|
|
|
}
|
|
|
|
|
2025-03-28 16:16:43 -06:00
|
|
|
[sub_resource type="Animation" id="Animation_o822w"]
|
|
|
|
resource_name = "head_bob"
|
|
|
|
loop_mode = 1
|
|
|
|
step = 0.005
|
|
|
|
tracks/0/type = "bezier"
|
|
|
|
tracks/0/imported = false
|
|
|
|
tracks/0/enabled = true
|
|
|
|
tracks/0/path = NodePath(".:position:x")
|
|
|
|
tracks/0/interp = 1
|
|
|
|
tracks/0/loop_wrap = true
|
|
|
|
tracks/0/keys = {
|
|
|
|
"handle_modes": PackedInt32Array(0, 0, 0, 0),
|
|
|
|
"points": PackedFloat32Array(0, -0.25, 0, 0.125, 0.05, 0.05, -0.125, 0, 0.25, 0, -0.05, -0.25, 0, 0.125, 0, 0, -0.125, -0.05, 0.25, 0),
|
|
|
|
"times": PackedFloat32Array(0, 0.25, 0.75, 1)
|
|
|
|
}
|
|
|
|
tracks/1/type = "bezier"
|
|
|
|
tracks/1/imported = false
|
|
|
|
tracks/1/enabled = true
|
|
|
|
tracks/1/path = NodePath(".:position:y")
|
|
|
|
tracks/1/interp = 1
|
|
|
|
tracks/1/loop_wrap = true
|
|
|
|
tracks/1/keys = {
|
|
|
|
"handle_modes": PackedInt32Array(0, 0, 0, 0, 0, 0),
|
|
|
|
"points": PackedFloat32Array(0, -0.25, 0, 0.031, 0.04, 0.081, -0.062, 0, 0.125, 0, -0.081, -0.125, 0, 0.125, 0, 0.081, -0.125, 0, 0.125, 0, -0.081, -0.125, 0, 0.063, 0, 0.00176717, -0.031, -0.04, 0.125, 0),
|
|
|
|
"times": PackedFloat32Array(0, 0.13, 0.375, 0.625, 0.875, 1)
|
|
|
|
}
|
|
|
|
tracks/2/type = "bezier"
|
|
|
|
tracks/2/imported = false
|
|
|
|
tracks/2/enabled = true
|
|
|
|
tracks/2/path = NodePath(".:position:z")
|
|
|
|
tracks/2/interp = 1
|
|
|
|
tracks/2/loop_wrap = true
|
|
|
|
tracks/2/keys = {
|
|
|
|
"handle_modes": PackedInt32Array(0),
|
|
|
|
"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0),
|
|
|
|
"times": PackedFloat32Array(0)
|
|
|
|
}
|
|
|
|
|
|
|
|
[sub_resource type="AnimationLibrary" id="AnimationLibrary_l271a"]
|
|
|
|
_data = {
|
|
|
|
&"RESET": SubResource("Animation_x42xx"),
|
|
|
|
&"footstep_sfx": SubResource("Animation_hja65"),
|
|
|
|
&"head_bob": SubResource("Animation_o822w")
|
|
|
|
}
|
|
|
|
|
|
|
|
[sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_o822w"]
|
|
|
|
|
|
|
|
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_x42xx"]
|
|
|
|
animation = &"head_bob"
|
|
|
|
|
|
|
|
[sub_resource type="AnimationNodeAdd2" id="AnimationNodeAdd2_hja65"]
|
|
|
|
sync = true
|
|
|
|
|
|
|
|
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_5shm8"]
|
|
|
|
animation = &"footstep_sfx"
|
|
|
|
|
|
|
|
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_l271a"]
|
|
|
|
animation = &"RESET"
|
|
|
|
|
|
|
|
[sub_resource type="AnimationNodeTimeScale" id="AnimationNodeTimeScale_8ydov"]
|
|
|
|
|
|
|
|
[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_ylhto"]
|
|
|
|
nodes/blend/node = SubResource("AnimationNodeBlend2_o822w")
|
|
|
|
nodes/blend/position = Vector2(779, 166)
|
|
|
|
nodes/bob_anim/node = SubResource("AnimationNodeAnimation_x42xx")
|
|
|
|
nodes/bob_anim/position = Vector2(540, 260)
|
|
|
|
nodes/output/position = Vector2(1460, 140)
|
|
|
|
nodes/sfx_add/node = SubResource("AnimationNodeAdd2_hja65")
|
|
|
|
nodes/sfx_add/position = Vector2(1020, 160)
|
|
|
|
nodes/sfx_anim/node = SubResource("AnimationNodeAnimation_5shm8")
|
|
|
|
nodes/sfx_anim/position = Vector2(540, 520)
|
|
|
|
nodes/still_anim/node = SubResource("AnimationNodeAnimation_l271a")
|
|
|
|
nodes/still_anim/position = Vector2(540, 40)
|
|
|
|
nodes/timescale/node = SubResource("AnimationNodeTimeScale_8ydov")
|
|
|
|
nodes/timescale/position = Vector2(1240, 120)
|
|
|
|
node_connections = [&"blend", 0, &"still_anim", &"blend", 1, &"bob_anim", &"output", 0, &"timescale", &"sfx_add", 0, &"blend", &"sfx_add", 1, &"sfx_anim", &"timescale", 0, &"sfx_add"]
|
2025-02-28 15:20:52 -07:00
|
|
|
|
|
|
|
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_s7f0r"]
|
2025-03-21 21:41:33 -06:00
|
|
|
radius = 0.4
|
2025-03-10 18:43:27 -06:00
|
|
|
height = 1.9
|
2025-02-28 15:20:52 -07:00
|
|
|
|
2025-04-04 11:06:08 -06:00
|
|
|
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_dpt0q"]
|
|
|
|
radius = 0.4
|
|
|
|
height = 1.2
|
|
|
|
|
2025-03-28 16:16:43 -06:00
|
|
|
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_8ydov"]
|
|
|
|
random_pitch = 1.1
|
|
|
|
streams_count = 6
|
|
|
|
stream_0/stream = ExtResource("10_jcdrv")
|
|
|
|
stream_1/stream = ExtResource("11_hja65")
|
|
|
|
stream_2/stream = ExtResource("12_5shm8")
|
|
|
|
stream_3/stream = ExtResource("13_5efpn")
|
|
|
|
stream_4/stream = ExtResource("14_4uy46")
|
|
|
|
stream_5/stream = ExtResource("15_k60ra")
|
|
|
|
|
2025-04-01 12:19:28 -06:00
|
|
|
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_wcxbk"]
|
|
|
|
playback_mode = 1
|
|
|
|
random_pitch = 1.1
|
|
|
|
streams_count = 3
|
|
|
|
stream_0/stream = ExtResource("17_a4vah")
|
|
|
|
stream_1/stream = ExtResource("18_vwi60")
|
|
|
|
stream_2/stream = ExtResource("19_o04tx")
|
|
|
|
|
2025-04-01 12:38:15 -06:00
|
|
|
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_o04tx"]
|
|
|
|
playback_mode = 1
|
|
|
|
random_pitch = 1.1
|
|
|
|
streams_count = 3
|
|
|
|
stream_0/stream = ExtResource("20_vwi60")
|
|
|
|
stream_1/stream = ExtResource("20_vwi60")
|
|
|
|
stream_2/stream = ExtResource("20_vwi60")
|
|
|
|
|
2025-03-28 16:16:43 -06:00
|
|
|
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_ylhto"]
|
|
|
|
random_pitch = 1.1
|
|
|
|
streams_count = 5
|
|
|
|
stream_0/stream = ExtResource("16_a4vah")
|
|
|
|
stream_1/stream = ExtResource("17_vwi60")
|
|
|
|
stream_2/stream = ExtResource("18_o04tx")
|
|
|
|
stream_3/stream = ExtResource("19_j2873")
|
|
|
|
stream_4/stream = ExtResource("20_dpt0q")
|
|
|
|
|
2025-04-01 12:19:28 -06:00
|
|
|
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_p6grl"]
|
|
|
|
playback_mode = 1
|
|
|
|
random_pitch = 1.1
|
|
|
|
streams_count = 3
|
|
|
|
stream_0/stream = ExtResource("25_j2873")
|
|
|
|
stream_1/stream = ExtResource("26_dpt0q")
|
|
|
|
stream_2/stream = ExtResource("17_a4vah")
|
|
|
|
|
2025-04-01 12:38:15 -06:00
|
|
|
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_e7e1q"]
|
|
|
|
playback_mode = 1
|
|
|
|
random_pitch = 1.1
|
|
|
|
streams_count = 3
|
|
|
|
stream_0/stream = ExtResource("28_dpt0q")
|
|
|
|
stream_1/stream = ExtResource("29_wcxbk")
|
|
|
|
stream_2/stream = ExtResource("30_p6grl")
|
|
|
|
|
2025-04-04 11:06:08 -06:00
|
|
|
[sub_resource type="SphereShape3D" id="SphereShape3D_wcxbk"]
|
|
|
|
radius = 4.0
|
|
|
|
|
|
|
|
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_wcxbk"]
|
|
|
|
radius = 0.4
|
|
|
|
height = 1.8
|
|
|
|
|
|
|
|
[sub_resource type="Animation" id="Animation_dpt0q"]
|
|
|
|
resource_name = "crouch"
|
|
|
|
length = 0.2
|
|
|
|
step = 0.01
|
|
|
|
tracks/0/type = "bezier"
|
|
|
|
tracks/0/imported = false
|
|
|
|
tracks/0/enabled = true
|
|
|
|
tracks/0/path = NodePath("CameraPosition:position:x")
|
|
|
|
tracks/0/interp = 1
|
|
|
|
tracks/0/loop_wrap = true
|
|
|
|
tracks/0/keys = {
|
|
|
|
"handle_modes": PackedInt32Array(0, 0),
|
|
|
|
"points": PackedFloat32Array(0, -0.1, 0, 0.1, 0, 0, -0.1, 0, 0.1, 0),
|
|
|
|
"times": PackedFloat32Array(0, 0.2)
|
|
|
|
}
|
|
|
|
tracks/1/type = "bezier"
|
|
|
|
tracks/1/imported = false
|
|
|
|
tracks/1/enabled = true
|
|
|
|
tracks/1/path = NodePath("CameraPosition:position:y")
|
|
|
|
tracks/1/interp = 1
|
|
|
|
tracks/1/loop_wrap = true
|
|
|
|
tracks/1/keys = {
|
|
|
|
"handle_modes": PackedInt32Array(0, 0),
|
|
|
|
"points": PackedFloat32Array(0.5, -0.1, 0, 0.1, 0, -0.2, -0.2, 0, 0.1, 0),
|
|
|
|
"times": PackedFloat32Array(0, 0.2)
|
|
|
|
}
|
|
|
|
tracks/2/type = "bezier"
|
|
|
|
tracks/2/imported = false
|
|
|
|
tracks/2/enabled = true
|
|
|
|
tracks/2/path = NodePath("CameraPosition:position:z")
|
|
|
|
tracks/2/interp = 1
|
|
|
|
tracks/2/loop_wrap = true
|
|
|
|
tracks/2/keys = {
|
|
|
|
"handle_modes": PackedInt32Array(0, 0),
|
|
|
|
"points": PackedFloat32Array(0, -0.1, 0, 0.1, 0, 0, -0.1, 0, 0.1, 0),
|
|
|
|
"times": PackedFloat32Array(0, 0.2)
|
|
|
|
}
|
|
|
|
tracks/3/type = "bezier"
|
|
|
|
tracks/3/imported = false
|
|
|
|
tracks/3/enabled = true
|
|
|
|
tracks/3/path = NodePath("CameraPosition:rotation:x")
|
|
|
|
tracks/3/interp = 1
|
|
|
|
tracks/3/loop_wrap = true
|
|
|
|
tracks/3/keys = {
|
|
|
|
"handle_modes": PackedInt32Array(0, 0, 0),
|
|
|
|
"points": PackedFloat32Array(0, -0.1, 0, 0.1, 0, 0, -0.1, 0, 0.1, 0, 0, -0.1, 0, 0.1, 0),
|
|
|
|
"times": PackedFloat32Array(0, 0.1, 0.2)
|
|
|
|
}
|
|
|
|
tracks/4/type = "bezier"
|
|
|
|
tracks/4/imported = false
|
|
|
|
tracks/4/enabled = true
|
|
|
|
tracks/4/path = NodePath("CameraPosition:rotation:y")
|
|
|
|
tracks/4/interp = 1
|
|
|
|
tracks/4/loop_wrap = true
|
|
|
|
tracks/4/keys = {
|
|
|
|
"handle_modes": PackedInt32Array(0, 0, 0),
|
|
|
|
"points": PackedFloat32Array(0, -0.1, 0, 0.1, 0, 0, -0.1, 0, 0.1, 0, 0, -0.1, 0, 0.1, 0),
|
|
|
|
"times": PackedFloat32Array(0, 0.1, 0.2)
|
|
|
|
}
|
|
|
|
tracks/5/type = "bezier"
|
|
|
|
tracks/5/imported = false
|
|
|
|
tracks/5/enabled = true
|
|
|
|
tracks/5/path = NodePath("CameraPosition:rotation:z")
|
|
|
|
tracks/5/interp = 1
|
|
|
|
tracks/5/loop_wrap = true
|
|
|
|
tracks/5/keys = {
|
|
|
|
"handle_modes": PackedInt32Array(0, 0, 0),
|
|
|
|
"points": PackedFloat32Array(0, -0.1, 0, 0.01, 0, -0.02, -0.01, 0, 0.01, 0, 0, -0.01, 0, 0.1, 0),
|
|
|
|
"times": PackedFloat32Array(0, 0.1, 0.2)
|
|
|
|
}
|
|
|
|
tracks/6/type = "value"
|
|
|
|
tracks/6/imported = false
|
|
|
|
tracks/6/enabled = true
|
|
|
|
tracks/6/path = NodePath("StandingCollider:disabled")
|
|
|
|
tracks/6/interp = 1
|
|
|
|
tracks/6/loop_wrap = true
|
|
|
|
tracks/6/keys = {
|
|
|
|
"times": PackedFloat32Array(0, 0.01),
|
|
|
|
"transitions": PackedFloat32Array(1, 1),
|
|
|
|
"update": 1,
|
|
|
|
"values": [false, true]
|
|
|
|
}
|
|
|
|
tracks/7/type = "value"
|
|
|
|
tracks/7/imported = false
|
|
|
|
tracks/7/enabled = true
|
|
|
|
tracks/7/path = NodePath("CrouchingCollider:disabled")
|
|
|
|
tracks/7/interp = 1
|
|
|
|
tracks/7/loop_wrap = true
|
|
|
|
tracks/7/keys = {
|
|
|
|
"times": PackedFloat32Array(0, 0.01),
|
|
|
|
"transitions": PackedFloat32Array(1, 1),
|
|
|
|
"update": 1,
|
|
|
|
"values": [true, false]
|
|
|
|
}
|
|
|
|
|
|
|
|
[sub_resource type="Animation" id="Animation_wcxbk"]
|
|
|
|
length = 0.001
|
|
|
|
tracks/0/type = "bezier"
|
|
|
|
tracks/0/imported = false
|
|
|
|
tracks/0/enabled = true
|
|
|
|
tracks/0/path = NodePath("CameraPosition:position:x")
|
|
|
|
tracks/0/interp = 1
|
|
|
|
tracks/0/loop_wrap = true
|
|
|
|
tracks/0/keys = {
|
|
|
|
"handle_modes": PackedInt32Array(0),
|
|
|
|
"points": PackedFloat32Array(0, -0.1, 0, 0.1, 0),
|
|
|
|
"times": PackedFloat32Array(0)
|
|
|
|
}
|
|
|
|
tracks/1/type = "bezier"
|
|
|
|
tracks/1/imported = false
|
|
|
|
tracks/1/enabled = true
|
|
|
|
tracks/1/path = NodePath("CameraPosition:position:y")
|
|
|
|
tracks/1/interp = 1
|
|
|
|
tracks/1/loop_wrap = true
|
|
|
|
tracks/1/keys = {
|
|
|
|
"handle_modes": PackedInt32Array(0),
|
|
|
|
"points": PackedFloat32Array(0.5, -0.1, 0, 0.1, 0),
|
|
|
|
"times": PackedFloat32Array(0)
|
|
|
|
}
|
|
|
|
tracks/2/type = "bezier"
|
|
|
|
tracks/2/imported = false
|
|
|
|
tracks/2/enabled = true
|
|
|
|
tracks/2/path = NodePath("CameraPosition:position:z")
|
|
|
|
tracks/2/interp = 1
|
|
|
|
tracks/2/loop_wrap = true
|
|
|
|
tracks/2/keys = {
|
|
|
|
"handle_modes": PackedInt32Array(0),
|
|
|
|
"points": PackedFloat32Array(0, -0.1, 0, 0.1, 0),
|
|
|
|
"times": PackedFloat32Array(0)
|
|
|
|
}
|
|
|
|
tracks/3/type = "bezier"
|
|
|
|
tracks/3/imported = false
|
|
|
|
tracks/3/enabled = true
|
|
|
|
tracks/3/path = NodePath("CameraPosition:rotation:x")
|
|
|
|
tracks/3/interp = 1
|
|
|
|
tracks/3/loop_wrap = true
|
|
|
|
tracks/3/keys = {
|
|
|
|
"handle_modes": PackedInt32Array(0),
|
|
|
|
"points": PackedFloat32Array(0, -0.1, 0, 0.1, 0),
|
|
|
|
"times": PackedFloat32Array(0)
|
|
|
|
}
|
|
|
|
tracks/4/type = "bezier"
|
|
|
|
tracks/4/imported = false
|
|
|
|
tracks/4/enabled = true
|
|
|
|
tracks/4/path = NodePath("CameraPosition:rotation:y")
|
|
|
|
tracks/4/interp = 1
|
|
|
|
tracks/4/loop_wrap = true
|
|
|
|
tracks/4/keys = {
|
|
|
|
"handle_modes": PackedInt32Array(0),
|
|
|
|
"points": PackedFloat32Array(0, -0.1, 0, 0.1, 0),
|
|
|
|
"times": PackedFloat32Array(0)
|
|
|
|
}
|
|
|
|
tracks/5/type = "bezier"
|
|
|
|
tracks/5/imported = false
|
|
|
|
tracks/5/enabled = true
|
|
|
|
tracks/5/path = NodePath("CameraPosition:rotation:z")
|
|
|
|
tracks/5/interp = 1
|
|
|
|
tracks/5/loop_wrap = true
|
|
|
|
tracks/5/keys = {
|
|
|
|
"handle_modes": PackedInt32Array(0),
|
|
|
|
"points": PackedFloat32Array(0, -0.1, 0, 0.1, 0),
|
|
|
|
"times": PackedFloat32Array(0)
|
|
|
|
}
|
|
|
|
tracks/6/type = "value"
|
|
|
|
tracks/6/imported = false
|
|
|
|
tracks/6/enabled = true
|
|
|
|
tracks/6/path = NodePath("StandingCollider:disabled")
|
|
|
|
tracks/6/interp = 1
|
|
|
|
tracks/6/loop_wrap = true
|
|
|
|
tracks/6/keys = {
|
|
|
|
"times": PackedFloat32Array(0),
|
|
|
|
"transitions": PackedFloat32Array(1),
|
|
|
|
"update": 1,
|
|
|
|
"values": [false]
|
|
|
|
}
|
|
|
|
tracks/7/type = "value"
|
|
|
|
tracks/7/imported = false
|
|
|
|
tracks/7/enabled = true
|
|
|
|
tracks/7/path = NodePath("CrouchingCollider:disabled")
|
|
|
|
tracks/7/interp = 1
|
|
|
|
tracks/7/loop_wrap = true
|
|
|
|
tracks/7/keys = {
|
|
|
|
"times": PackedFloat32Array(0),
|
|
|
|
"transitions": PackedFloat32Array(1),
|
|
|
|
"update": 1,
|
|
|
|
"values": [true]
|
|
|
|
}
|
|
|
|
|
|
|
|
[sub_resource type="AnimationLibrary" id="AnimationLibrary_wcxbk"]
|
|
|
|
_data = {
|
|
|
|
&"RESET": SubResource("Animation_wcxbk"),
|
|
|
|
&"crouch": SubResource("Animation_dpt0q")
|
|
|
|
}
|
|
|
|
|
2025-04-04 14:40:42 -06:00
|
|
|
[sub_resource type="SphereShape3D" id="SphereShape3D_p6grl"]
|
|
|
|
radius = 3.0
|
|
|
|
|
2025-02-28 15:20:52 -07:00
|
|
|
[node name="Player" type="CharacterBody3D"]
|
2025-04-04 11:06:08 -06:00
|
|
|
collision_layer = 8
|
2025-02-28 15:20:52 -07:00
|
|
|
script = ExtResource("1_npueo")
|
|
|
|
|
2025-04-04 11:06:08 -06:00
|
|
|
[node name="CameraPosition" type="Node3D" parent="."]
|
2025-02-28 15:20:52 -07:00
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0)
|
2025-04-04 11:06:08 -06:00
|
|
|
|
|
|
|
[node name="CameraPivot" type="Node3D" parent="CameraPosition"]
|
|
|
|
unique_name_in_owner = true
|
2025-02-28 15:20:52 -07:00
|
|
|
script = ExtResource("2_veeqv")
|
|
|
|
|
2025-04-04 11:06:08 -06:00
|
|
|
[node name="ToolMount" type="Node3D" parent="CameraPosition/CameraPivot" node_paths=PackedStringArray("initial_tool")]
|
2025-03-12 12:19:09 -06:00
|
|
|
unique_name_in_owner = true
|
2025-03-01 14:40:02 -07:00
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.15, -0.1, -0.1)
|
2025-03-12 12:19:09 -06:00
|
|
|
script = ExtResource("3_jiejy")
|
|
|
|
initial_tool = NodePath("PointSpray")
|
2025-03-01 14:40:02 -07:00
|
|
|
|
2025-04-04 11:06:08 -06:00
|
|
|
[node name="PointSpray" parent="CameraPosition/CameraPivot/ToolMount" instance=ExtResource("3_6wgkm")]
|
2025-03-01 16:59:39 -07:00
|
|
|
unique_name_in_owner = true
|
2025-03-01 14:40:02 -07:00
|
|
|
|
2025-04-04 11:06:08 -06:00
|
|
|
[node name="WideSpray" parent="CameraPosition/CameraPivot/ToolMount" instance=ExtResource("3_ibq07")]
|
2025-03-05 17:57:55 -07:00
|
|
|
unique_name_in_owner = true
|
2025-03-12 12:19:09 -06:00
|
|
|
visible = false
|
2025-03-05 17:57:55 -07:00
|
|
|
|
2025-04-04 11:06:08 -06:00
|
|
|
[node name="Toothbrush" parent="CameraPosition/CameraPivot/ToolMount" instance=ExtResource("6_o822w")]
|
2025-03-13 10:29:25 -06:00
|
|
|
unique_name_in_owner = true
|
|
|
|
visible = false
|
|
|
|
|
2025-04-04 11:06:08 -06:00
|
|
|
[node name="Camera3D" type="Camera3D" parent="CameraPosition/CameraPivot"]
|
2025-02-28 15:20:52 -07:00
|
|
|
current = true
|
|
|
|
|
2025-04-04 11:06:08 -06:00
|
|
|
[node name="InteractRay" type="RayCast3D" parent="CameraPosition/CameraPivot/Camera3D"]
|
2025-03-05 14:46:13 -07:00
|
|
|
unique_name_in_owner = true
|
|
|
|
target_position = Vector3(0, 0, -1.5)
|
|
|
|
collision_mask = 2
|
|
|
|
|
2025-04-04 11:06:08 -06:00
|
|
|
[node name="FarLight" type="OmniLight3D" parent="CameraPosition/CameraPivot/Camera3D"]
|
2025-03-16 16:49:31 -06:00
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1)
|
2025-03-28 14:16:43 -06:00
|
|
|
light_energy = 0.05
|
2025-03-16 16:49:31 -06:00
|
|
|
light_specular = 0.01
|
|
|
|
light_cull_mask = 4294967293
|
2025-03-28 14:16:43 -06:00
|
|
|
omni_range = 50.0
|
|
|
|
omni_attenuation = 0.0
|
|
|
|
|
2025-04-04 11:06:08 -06:00
|
|
|
[node name="NearLight" type="OmniLight3D" parent="CameraPosition/CameraPivot/Camera3D"]
|
2025-03-28 14:16:43 -06:00
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1)
|
|
|
|
light_specular = 0.01
|
|
|
|
light_cull_mask = 4294967293
|
|
|
|
omni_range = 2.0
|
2025-03-16 16:49:31 -06:00
|
|
|
|
2025-04-04 11:06:08 -06:00
|
|
|
[node name="HeadbobAnimation" type="AnimationPlayer" parent="CameraPosition/CameraPivot/Camera3D"]
|
2025-03-28 16:16:43 -06:00
|
|
|
libraries = {
|
|
|
|
&"": SubResource("AnimationLibrary_l271a")
|
|
|
|
}
|
|
|
|
|
2025-04-04 11:06:08 -06:00
|
|
|
[node name="HeadbobController" type="AnimationTree" parent="CameraPosition/CameraPivot/Camera3D/HeadbobAnimation"]
|
2025-03-28 16:16:43 -06:00
|
|
|
unique_name_in_owner = true
|
|
|
|
root_node = NodePath("%HeadbobController/../..")
|
|
|
|
tree_root = SubResource("AnimationNodeBlendTree_ylhto")
|
|
|
|
anim_player = NodePath("..")
|
|
|
|
parameters/blend/blend_amount = 0.0
|
|
|
|
parameters/sfx_add/add_amount = 1.0
|
2025-03-29 11:51:18 -06:00
|
|
|
parameters/timescale/scale = false
|
2025-03-28 16:16:43 -06:00
|
|
|
script = ExtResource("7_x42xx")
|
|
|
|
|
2025-04-04 11:06:08 -06:00
|
|
|
[node name="StandingCollider" type="CollisionShape3D" parent="."]
|
2025-03-10 18:43:27 -06:00
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.05, 0)
|
2025-02-28 15:20:52 -07:00
|
|
|
shape = SubResource("CapsuleShape3D_s7f0r")
|
2025-03-05 14:46:13 -07:00
|
|
|
|
2025-04-04 11:06:08 -06:00
|
|
|
[node name="CrouchingCollider" type="CollisionShape3D" parent="."]
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.4, 0)
|
|
|
|
shape = SubResource("CapsuleShape3D_dpt0q")
|
|
|
|
disabled = true
|
|
|
|
|
2025-03-05 14:46:13 -07:00
|
|
|
[node name="PlayerHUD" parent="." instance=ExtResource("5_jvafu")]
|
|
|
|
unique_name_in_owner = true
|
2025-03-28 16:16:43 -06:00
|
|
|
|
|
|
|
[node name="FootstepController" type="Node3D" parent="."]
|
|
|
|
unique_name_in_owner = true
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, 0)
|
|
|
|
script = ExtResource("9_hja65")
|
|
|
|
|
|
|
|
[node name="LeftFoot" type="Node3D" parent="FootstepController"]
|
|
|
|
unique_name_in_owner = true
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.4, 0, 0)
|
|
|
|
script = ExtResource("9_l271a")
|
|
|
|
|
|
|
|
[node name="Metal" type="AudioStreamPlayer3D" parent="FootstepController/LeftFoot"]
|
|
|
|
stream = SubResource("AudioStreamRandomizer_8ydov")
|
|
|
|
volume_db = -42.0
|
|
|
|
bus = &"SFX"
|
|
|
|
|
2025-04-01 12:19:28 -06:00
|
|
|
[node name="Grunk" type="AudioStreamPlayer3D" parent="FootstepController/LeftFoot"]
|
|
|
|
stream = SubResource("AudioStreamRandomizer_wcxbk")
|
|
|
|
volume_db = -20.0
|
|
|
|
bus = &"SFX"
|
|
|
|
|
2025-04-01 12:38:15 -06:00
|
|
|
[node name="Plastic" type="AudioStreamPlayer3D" parent="FootstepController/LeftFoot"]
|
|
|
|
stream = SubResource("AudioStreamRandomizer_o04tx")
|
|
|
|
volume_db = -24.0
|
|
|
|
bus = &"SFX"
|
|
|
|
|
2025-03-28 16:16:43 -06:00
|
|
|
[node name="RightFoot" type="Node3D" parent="FootstepController"]
|
|
|
|
unique_name_in_owner = true
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.4, 0, 0)
|
|
|
|
script = ExtResource("9_l271a")
|
|
|
|
|
|
|
|
[node name="Metal" type="AudioStreamPlayer3D" parent="FootstepController/RightFoot"]
|
|
|
|
stream = SubResource("AudioStreamRandomizer_ylhto")
|
|
|
|
volume_db = -42.0
|
|
|
|
bus = &"SFX"
|
2025-03-31 19:04:37 -06:00
|
|
|
|
2025-04-01 12:19:28 -06:00
|
|
|
[node name="Grunk" type="AudioStreamPlayer3D" parent="FootstepController/RightFoot"]
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.8, 0, 0)
|
|
|
|
stream = SubResource("AudioStreamRandomizer_p6grl")
|
|
|
|
volume_db = -20.0
|
|
|
|
bus = &"SFX"
|
|
|
|
|
2025-04-01 12:38:15 -06:00
|
|
|
[node name="Plastic" type="AudioStreamPlayer3D" parent="FootstepController/RightFoot"]
|
|
|
|
stream = SubResource("AudioStreamRandomizer_e7e1q")
|
|
|
|
volume_db = -24.0
|
|
|
|
bus = &"SFX"
|
|
|
|
|
2025-03-31 19:04:37 -06:00
|
|
|
[node name="FootCast" type="RayCast3D" parent="FootstepController"]
|
|
|
|
unique_name_in_owner = true
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.0518835, 0)
|
2025-04-04 11:06:08 -06:00
|
|
|
|
|
|
|
[node name="FootstepGameSoundEmitter" type="Area3D" parent="FootstepController"]
|
|
|
|
unique_name_in_owner = true
|
|
|
|
collision_layer = 0
|
|
|
|
collision_mask = 16
|
|
|
|
script = ExtResource("31_wcxbk")
|
|
|
|
metadata/_custom_type_script = "uid://c5o1d2shq2qig"
|
|
|
|
|
|
|
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="FootstepController/FootstepGameSoundEmitter"]
|
|
|
|
shape = SubResource("SphereShape3D_wcxbk")
|
|
|
|
|
|
|
|
[node name="CrouchHeadArea" type="Area3D" parent="."]
|
|
|
|
unique_name_in_owner = true
|
|
|
|
collision_layer = 0
|
|
|
|
|
|
|
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="CrouchHeadArea"]
|
|
|
|
shape = SubResource("CapsuleShape3D_wcxbk")
|
|
|
|
|
|
|
|
[node name="CrouchAnimation" type="AnimationPlayer" parent="."]
|
|
|
|
unique_name_in_owner = true
|
|
|
|
libraries = {
|
|
|
|
&"": SubResource("AnimationLibrary_wcxbk")
|
|
|
|
}
|
2025-04-04 14:40:42 -06:00
|
|
|
|
|
|
|
[node name="JumpGameSoundEmitter" type="Area3D" parent="."]
|
|
|
|
unique_name_in_owner = true
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, 0)
|
|
|
|
collision_layer = 0
|
|
|
|
collision_mask = 16
|
|
|
|
script = ExtResource("31_wcxbk")
|
|
|
|
metadata/_custom_type_script = "uid://c5o1d2shq2qig"
|
|
|
|
|
|
|
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="JumpGameSoundEmitter"]
|
|
|
|
shape = SubResource("SphereShape3D_p6grl")
|