Added footsteps, new tree, various other tweaks

This commit is contained in:
derek
2024-12-05 11:47:34 -06:00
parent 816ae85938
commit 023879ea9f
389 changed files with 20484 additions and 234 deletions

View File

@@ -11,6 +11,8 @@ const DASH_SPEED = 40
const SLOWSPEED = .1
const MAX_STAMINA : float = 100
const STAMINA_DRAIN = 100 #multiplied times the delta when draining
const BOB_FREQ = 1.7
const BOB_AMP = 0.08
var speed
var double_jump = true
@@ -33,8 +35,6 @@ var mouse_input : Vector2
@export var sensitivity_shift = true
var start_sensitivity
@export_subgroup("Head Bob & Gun Sway")
@export var BOB_FREQ = 2.0
@export var BOB_AMP = 0.08
@export var t_bob = 1.0
@export var weapon_holder : Node3D
@export var weapon_sway_amount : float = .07
@@ -112,6 +112,7 @@ var controlled_elsewhere = false
@onready var stand_check: RayCast3D = $StandCheck
@onready var r_hand_test: MeshInstance3D = $Head/Recoil/Camera3D/WeaponHolder/RHandTest
@onready var enemy_killed_audio: AudioStreamPlayer = $Audio/EnemyKilled
@onready var footstep_sound: AudioStreamPlayer3D = $Audio/FootstepSound
func _ready():
@@ -330,19 +331,19 @@ func _physics_process(delta):
var body = interact_ray.get_collider()
if interact_ray.get_collider().is_in_group("interact"):
body.get_parent().interact()
if interact_ray.get_collider().is_in_group("moveable"):
if interact_ray.get_collider().get_class() == "RigidBody3D":
grab_moveable(body)
#kick
if Input.is_action_just_pressed("kick"):
if interact_ray.is_colliding():
if interact_ray.get_collider().is_in_group("scene_rigidbody"):
if interact_ray.get_collider().get_class() == "RigidBody3D":
kick_audio.play()
interact_ray.get_collider().linear_velocity += interact_ray.global_transform.basis * Vector3(0,0, -KICK_AMOUNT)
if held_item != null:
release_moveable()
elif held_item != null:
if held_item != null:
kick_audio.play()
held_item.linear_velocity += interact_ray.global_transform.basis * Vector3(0,0, -KICK_AMOUNT)
release_moveable()
@@ -364,6 +365,8 @@ func _headbob(time) -> Vector3:
var pos = Vector3.ZERO
pos.y = sin(time * BOB_FREQ) * BOB_AMP
pos.x = cos(time * BOB_FREQ / 2) * BOB_AMP
if pos.y >= .07 and is_on_floor() and velocity.length() >= 1 and !footstep_sound.is_playing():
footstep_sound.play()
return pos