Files
fps_project_1/assets/player.tscn

364 lines
15 KiB
Plaintext

[gd_scene load_steps=39 format=3 uid="uid://drwae3loscbw7"]
[ext_resource type="Script" uid="uid://bieeh1iro4ji1" path="res://scripts/player.gd" id="1_x7wms"]
[ext_resource type="Script" uid="uid://csju024nerln6" path="res://scripts/StateMachine.gd" id="2_irwor"]
[ext_resource type="Script" uid="uid://s2nes6cthron" path="res://scripts/recoil.gd" id="3_405jc"]
[ext_resource type="Script" uid="uid://o7g6oowyn6pe" path="res://scripts/player_on_foot.gd" id="3_ib4e7"]
[ext_resource type="Texture2D" uid="uid://cknftvqq8rbrm" path="res://assets/Textures/Cookie_tutorial_texture_flashlight.png" id="4_x670l"]
[ext_resource type="PackedScene" uid="uid://dqgtnykkbngem" path="res://assets/weapon_select.tscn" id="5_bvbcl"]
[ext_resource type="PackedScene" uid="uid://br882tlh3cfwu" path="res://hud.tscn" id="5_yenaw"]
[ext_resource type="AudioStream" uid="uid://bki17g7j4kqn4" path="res://assets/Audio/PickupSound Mixdown 3.wav" id="8_dwqsx"]
[ext_resource type="Shader" uid="uid://djbvmc8hurccm" path="res://assets/Shaders/speedlines.gdshader" id="10_5hu7c"]
[ext_resource type="AudioStream" uid="uid://dyd272r7n2ecd" path="res://assets/Audio/footsteps-shoes-jump-land-beach-sand-SBA-300118001.wav" id="10_tn0pn"]
[ext_resource type="AudioStream" uid="uid://cjpvibojo13qv" path="res://assets/Audio/clock-ticking-exact-looping-SBA-300062891.wav" id="11_6k4fy"]
[ext_resource type="AudioStream" uid="uid://bl8yg1d3bsxs3" path="res://assets/Audio/constant-natural-strong-wind-looping-SBA-300062687.wav" id="11_he7p5"]
[ext_resource type="AudioStream" uid="uid://cy150nsjqp7lt" path="res://assets/Audio/grunt-male-SBA-300282985.wav" id="12_f51u4"]
[ext_resource type="AudioStream" uid="uid://cwre1dq8gsvbg" path="res://assets/Audio/Foley Sports/Boxing/Gloves Block Intense.wav" id="12_qhd01"]
[ext_resource type="PackedScene" uid="uid://cfbwx2fsdp0b3" path="res://pause_menu.tscn" id="13_xrfwr"]
[ext_resource type="AudioStream" uid="uid://t50i483xmj3a" path="res://assets/Audio/Weapons/toy-click-spin-SBA-300071143.wav" id="14_pnsbm"]
[ext_resource type="AudioStream" uid="uid://c1e6vr2hndho7" path="res://assets/Audio/Weapons/Misc (Ammo Boxes, Holsters, Etc)/Kydex Unholster 002.wav" id="17_1fyjm"]
[ext_resource type="AudioStream" uid="uid://dqj4cx05f25jj" path="res://assets/Audio/punch-body-hard-SBA-300156881.wav" id="19_6jglu"]
[ext_resource type="AudioStream" uid="uid://duku6mr3vl5fy" path="res://assets/Audio/Player Character SFX/crouch2.wav" id="19_pi7h7"]
[ext_resource type="AudioStream" uid="uid://n3e7s3xucsi1" path="res://assets/Audio/Foley Inventory and Interactions/Foley Inventory and Interactions/Drop Item/Drop Jewelery B.wav" id="20_rvr83"]
[ext_resource type="AudioStream" uid="uid://ig4e5tgbh87m" path="res://assets/Audio/Player Character SFX/footsteps-tennis-shoes-walk-1.wav" id="21_fsjho"]
[ext_resource type="AudioStream" uid="uid://c7bwilypn74lc" path="res://assets/Audio/Foley Sports/Hockey/Ball Hit Leg.wav" id="22_c88rq"]
[sub_resource type="CanvasItemMaterial" id="CanvasItemMaterial_l5ga0"]
blend_mode = 1
[sub_resource type="CapsuleMesh" id="CapsuleMesh_n7uf3"]
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_ko22d"]
radius = 0.509802
height = 2.03547
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_rw673"]
radius = 0.506064
height = 1.19253
[sub_resource type="CameraAttributesPractical" id="CameraAttributesPractical_vhypf"]
dof_blur_amount = 0.3
[sub_resource type="FastNoiseLite" id="FastNoiseLite_vupcx"]
noise_type = 0
frequency = 0.05
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_0eorp"]
seamless = true
noise = SubResource("FastNoiseLite_vupcx")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_ubnx7"]
shader = ExtResource("10_5hu7c")
shader_parameter/noise = SubResource("NoiseTexture2D_0eorp")
shader_parameter/line_color = Color(1, 1, 1, 1)
shader_parameter/line_count = 0.5
shader_parameter/line_density = 0.255
shader_parameter/line_faloff = 0.25
shader_parameter/mask_size = 0.1
shader_parameter/mask_edge = 0.5
shader_parameter/animation_speed = 20.0
[sub_resource type="BoxShape3D" id="BoxShape3D_nfpjw"]
size = Vector3(3, 3.58057, 3)
[sub_resource type="SphereShape3D" id="SphereShape3D_xfie3"]
radius = 5.0
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_pxyjg"]
random_pitch = 2.0
streams_count = 1
stream_0/stream = ExtResource("21_fsjho")
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_u5cxn"]
random_pitch = 1.1
streams_count = 1
stream_0/stream = ExtResource("22_c88rq")
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_xswn0"]
random_pitch = 2.0
streams_count = 1
stream_0/stream = ExtResource("19_pi7h7")
[sub_resource type="Animation" id="Animation_q5egb"]
length = 0.001
tracks/0/type = "position_3d"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Head/Recoil/Camera3D/WeaponHolder")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = PackedFloat32Array(0, 1, 0, -0.0341401, -0.111267)
[sub_resource type="Animation" id="Animation_llq31"]
resource_name = "punch"
length = 0.75
step = 0.01
tracks/0/type = "method"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0.3),
"transitions": PackedFloat32Array(1),
"values": [{
"args": [],
"method": &"punch"
}]
}
tracks/1/type = "position_3d"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Head/Recoil/Camera3D/WeaponHolder")
tracks/1/interp = 2
tracks/1/loop_wrap = true
tracks/1/keys = PackedFloat32Array(0, 1, 0, -0.0341401, -0.111267, 0.19, 1, 0.0274239, -0.455616, 0.416463, 0.23, 1, 0.0346386, -0.441928, 0.312534, 0.3, 1, 0.129892, -0.454487, -0.652062, 0.37, 1, 0.091674, -0.439886, -0.496679, 0.75, 1, 0, -0.0341401, -0.111267)
tracks/2/type = "rotation_3d"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Head/Recoil/Camera3D/WeaponHolder")
tracks/2/interp = 2
tracks/2/loop_wrap = true
tracks/2/keys = PackedFloat32Array(0, 1, 0, 0, 0, 1, 0.19, 1, 0.429604, -0.0899337, -0.184524, 0.879377, 0.23, 1, 0.404158, -0.0814679, -0.189232, 0.891186, 0.3, 1, 0.0843464, 0.014675, -0.188657, 0.978305, 0.37, 1, 0.124325, 0.0221516, -0.181308, 0.975285, 0.75, 1, 0, 0, 0, 1)
[sub_resource type="AnimationLibrary" id="AnimationLibrary_d0x8a"]
_data = {
&"RESET": SubResource("Animation_q5egb"),
&"punch": SubResource("Animation_llq31")
}
[node name="Player" type="CharacterBody3D" node_paths=PackedStringArray("weapon_holder") groups=["persist", "player"]]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.1, 0)
collision_layer = 4
collision_mask = 523
script = ExtResource("1_x7wms")
SENSITIVITY = 0.008
weapon_holder = NodePath("Head/Recoil/Camera3D/WeaponHolder")
[node name="States" type="Node" parent="." node_paths=PackedStringArray("player_character", "initial_state")]
script = ExtResource("2_irwor")
player_character = NodePath("..")
initial_state = NodePath("On Foot")
[node name="On Foot" type="Node" parent="States"]
script = ExtResource("3_ib4e7")
metadata/_custom_type_script = "uid://dk0vg5btak80a"
[node name="Crouched" type="Node" parent="States"]
[node name="Jumping" type="Node" parent="States"]
[node name="Wall Running" type="Node" parent="States"]
[node name="Ground Pound" type="Node" parent="States"]
[node name="Knocked" type="Node" parent="States"]
[node name="Stunned" type="Node" parent="States"]
[node name="On Ladder" type="Node" parent="States"]
[node name="HealthIndicator" type="ColorRect" parent="."]
material = SubResource("CanvasItemMaterial_l5ga0")
offset_right = 40.0
offset_bottom = 40.0
color = Color(0.470588, 0, 0, 0)
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
visible = false
mesh = SubResource("CapsuleMesh_n7uf3")
[node name="StandingCollision" type="CollisionShape3D" parent="."]
shape = SubResource("CapsuleShape3D_ko22d")
[node name="CrouchingCollision" type="CollisionShape3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.421329, 0)
shape = SubResource("CapsuleShape3D_rw673")
[node name="CrouchCheck" type="RayCast3D" parent="CrouchingCollision"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.589976, 0)
target_position = Vector3(0, 0.9, 0)
[node name="Head" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.889, 0)
[node name="ItemHolder" type="Node3D" parent="Head"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.25, -0.85, -1.501)
[node name="Recoil" type="Node3D" parent="Head"]
script = ExtResource("3_405jc")
[node name="Camera3D" type="Camera3D" parent="Head/Recoil"]
transform = Transform3D(1, -8.30784e-09, 2.09548e-09, 7.50333e-12, 1, -6.0536e-09, 0, 0, 1, 1.29921e-05, -0.0445602, -0.00379455)
cull_mask = 1048573
attributes = SubResource("CameraAttributesPractical_vhypf")
current = true
[node name="WeaponHolder" type="Node3D" parent="Head/Recoil/Camera3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.0341401, -0.111267)
[node name="WeaponSpawner" type="Node3D" parent="Head/Recoil/Camera3D/WeaponHolder"]
transform = Transform3D(1, -2.5409e-11, -1.16415e-10, 3.69482e-12, 1, 0, 1.16415e-10, 2.32831e-10, 1, 0.269894, -0.199195, -0.580209)
[node name="Flashlight" type="SpotLight3D" parent="Head/Recoil/Camera3D/WeaponHolder"]
transform = Transform3D(1, -1.08571e-11, -5.82077e-11, 3.75167e-12, 1, 0, 5.82077e-11, 1.16415e-10, 1, -0.000444638, -0.184371, 0.0974539)
light_color = Color(0.890196, 0.913725, 1, 1)
light_energy = 0.0
light_projector = ExtResource("4_x670l")
shadow_enabled = true
distance_fade_enabled = true
distance_fade_begin = 5.0
spot_range = 60.0
[node name="FlashlightButton" type="AudioStreamPlayer3D" parent="Head/Recoil/Camera3D/WeaponHolder"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.437954, -1)
stream = ExtResource("14_pnsbm")
volume_db = 2.0
[node name="MotionLines" type="ColorRect" parent="Head/Recoil/Camera3D"]
show_behind_parent = true
light_mask = 4
visibility_layer = 4
z_index = 1
material = SubResource("ShaderMaterial_ubnx7")
offset_right = 3840.0
offset_bottom = 2160.0
[node name="HUD" parent="Head/Recoil/Camera3D" instance=ExtResource("5_yenaw")]
[node name="WeaponSelect" parent="Head/Recoil/Camera3D" instance=ExtResource("5_bvbcl")]
visible = false
light_mask = 2
visibility_layer = 2
z_index = 1
[node name="GunRay" type="RayCast3D" parent="Head/Recoil/Camera3D" groups=["gun_ray"]]
transform = Transform3D(0.977933, 0, -0.208919, 0, 1, 7.45058e-09, 0.208919, 0, 0.977933, 0, -0.197421, -0.129669)
target_position = Vector3(0, 0, -1.2)
hit_back_faces = false
[node name="AudioListener3D" type="AudioListener3D" parent="Head/Recoil/Camera3D"]
transform = Transform3D(1, 0, 0, 0, 0.992332, 0.123601, 0, -0.123601, 0.992332, 0, -0.921646, -0.000722691)
[node name="BulletRay" type="RayCast3D" parent="Head/Recoil/Camera3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.487738)
visible = false
target_position = Vector3(0, 0, -200)
collision_mask = 105
collide_with_areas = true
[node name="GunLookTarget" type="Marker3D" parent="Head/Recoil/Camera3D/BulletRay"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -4.482)
[node name="InteractRay" type="RayCast3D" parent="Head/Recoil/Camera3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.00322104, -0.0232438)
visible = false
target_position = Vector3(0, 0, -2.5)
collision_mask = 162
hit_back_faces = false
collide_with_areas = true
[node name="Audio" type="Node3D" parent="Head/Recoil/Camera3D"]
[node name="Kick" type="AudioStreamPlayer3D" parent="Head/Recoil/Camera3D/Audio"]
stream = ExtResource("12_qhd01")
[node name="PauseMenu" parent="Head/Recoil/Camera3D" instance=ExtResource("13_xrfwr")]
visible = false
offset_right = 0.0
offset_bottom = 0.0
[node name="MoveableHolder" type="Node3D" parent="Head/Recoil/Camera3D"]
transform = Transform3D(1, -6.92921e-11, -5.23869e-10, 3.24007e-12, 1, 0, 5.23869e-10, 1.04774e-09, 1, -0.00028377, -0.710997, -1.11201)
[node name="MoveableRotation" type="Node3D" parent="Head/Recoil/Camera3D/MoveableHolder"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1.73907)
[node name="StandCheck" type="RayCast3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.989648, 0)
collision_mask = 33
[node name="pick_up_detection" type="Area3D" parent="."]
collision_layer = 0
collision_mask = 16
[node name="CollisionShape3D2" type="CollisionShape3D" parent="pick_up_detection"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0810862, 0.330574, -0.138576)
shape = SubResource("BoxShape3D_nfpjw")
[node name="pick_up_magnet" type="Area3D" parent="."]
collision_layer = 0
collision_mask = 16
[node name="CollisionShape3D" type="CollisionShape3D" parent="pick_up_magnet"]
transform = Transform3D(1, -1.35287e-11, -5.82077e-11, 7.56017e-12, 1, 0, 0, 0, 1, 0.00132301, 0.00235856, -2.26706)
shape = SubResource("SphereShape3D_xfie3")
[node name="Audio" type="Node3D" parent="."]
[node name="PickupSound" type="AudioStreamPlayer" parent="Audio"]
stream = ExtResource("8_dwqsx")
[node name="ClockSound" type="AudioStreamPlayer" parent="Audio"]
stream = ExtResource("11_6k4fy")
bus = &"SFX"
[node name="LandSound" type="AudioStreamPlayer" parent="Audio"]
stream = ExtResource("10_tn0pn")
volume_db = -5.0
[node name="EarWind" type="AudioStreamPlayer" parent="Audio"]
stream = ExtResource("11_he7p5")
autoplay = true
[node name="Hurt" type="AudioStreamPlayer" parent="Audio"]
stream = ExtResource("12_f51u4")
[node name="WeaponPickup" type="AudioStreamPlayer" parent="Audio"]
stream = ExtResource("17_1fyjm")
[node name="HitIndicator" type="AudioStreamPlayer" parent="Audio"]
stream = ExtResource("19_6jglu")
[node name="EnemyKilled" type="AudioStreamPlayer" parent="Audio"]
stream = ExtResource("20_rvr83")
volume_db = 10.0
pitch_scale = 1.5
[node name="FootstepSound" type="AudioStreamPlayer3D" parent="Audio"]
stream = SubResource("AudioStreamRandomizer_pxyjg")
volume_db = 6.0
[node name="HitHead" type="AudioStreamPlayer3D" parent="Audio"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.42626, 0)
stream = SubResource("AudioStreamRandomizer_u5cxn")
[node name="Crouch" type="AudioStreamPlayer3D" parent="Audio"]
stream = SubResource("AudioStreamRandomizer_xswn0")
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
&"": SubResource("AnimationLibrary_d0x8a")
}
[node name="wall_ray1" type="RayCast3D" parent="."]
transform = Transform3D(1, -4.26326e-11, -5.82077e-11, 3.6664e-11, 1, 0, 0, 0, 1, 8.1824e-07, -0.00495505, -5.15778e-06)
target_position = Vector3(-1, 0, 0)
[node name="wall_ray2" type="RayCast3D" parent="."]
transform = Transform3D(1, -4.26326e-11, -5.82077e-11, 3.6664e-11, 1, 0, 0, 0, 1, 8.1824e-07, -0.00495505, -5.15778e-06)
target_position = Vector3(1, 0, 0)
[node name="wall_ray3" type="RayCast3D" parent="."]
transform = Transform3D(1, -4.26326e-11, -5.82077e-11, 3.6664e-11, 1, 0, 0, 0, 1, 8.1824e-07, -0.00495505, -5.15778e-06)
target_position = Vector3(0, 0, 1)
[node name="WallJumpTimer" type="Timer" parent="."]
one_shot = true
[connection signal="tree_entered" from="." to="." method="_on_tree_entered"]
[connection signal="body_entered" from="pick_up_detection" to="." method="_on_pick_up_detection_body_entered"]
[connection signal="body_entered" from="pick_up_magnet" to="." method="_on_pick_up_magnet_body_entered"]
[connection signal="timeout" from="WallJumpTimer" to="." method="_on_wall_jump_timer_timeout"]