feat: add double-barrel shotgun weapon, player movement state machine, and procedural sound assets

This commit is contained in:
DottsGit
2026-06-04 16:40:15 -04:00
parent 13ca2f46e9
commit 67bd5b4302
18 changed files with 282 additions and 3 deletions
+15
View File
@@ -5,6 +5,7 @@ var machine: MovementStateMachine
var params: MovementParams:
get: return machine.params
var _footstep_timer: float = 0.0
func enter(_data: Dictionary = {}) -> void:
machine.on_ground = true
@@ -33,6 +34,8 @@ func update(delta: float) -> void:
machine.on_ground = false
machine.coyote_timer = 0.0
machine.register_chain_mechanic("jump")
if player.jump_player:
player.jump_player.play()
machine.switch_to("air")
return
@@ -43,6 +46,8 @@ func update(delta: float) -> void:
machine.on_ground = false
machine.jump_buffer_time = 0.0
machine.register_chain_mechanic("jump")
if player.jump_player:
player.jump_player.play()
machine.switch_to("air")
return
@@ -86,6 +91,16 @@ func update(delta: float) -> void:
_update_capsule_height()
var current_hspeed = Vector2(player.velocity.x, player.velocity.z).length()
if current_hspeed > 1.0:
_footstep_timer -= delta
if _footstep_timer <= 0.0:
if player.footstep_player:
player.footstep_player.play()
_footstep_timer = max(0.2, 3.0 / current_hspeed)
else:
_footstep_timer = 0.0
# ── Update ground status ──────────────────────────────────────────────
if player.is_on_floor():
machine.on_ground = true