police siren and engine sfx

This commit is contained in:
Michael Campbell 2026-04-16 02:52:45 -04:00
parent 7d4a6938dc
commit d93aa1e31a
17 changed files with 165 additions and 4 deletions

View file

@ -56,13 +56,31 @@ func _process(delta: float) -> void:
move_and_slide()
func kill() -> void:
queue_free()
var siren: AudioStreamPlayer3D = %Siren
siren.reparent(get_tree().current_scene)
var t := siren.create_tween()
if randf() < .25:
t.tween_property(siren, "pitch_scale", .25, .5)
t.tween_property(siren, "pitch_scale", .35, .25)
t.tween_property(siren, "pitch_scale", .0, .25)
else:
t.tween_property(siren, "pitch_scale", .0, .5)
t.finished.connect(siren.queue_free)
SignalBus.enemy_destroyed.emit()
func hit(proj: Node3D, damage: float) -> bool:
if invulnerable: return true
health -= damage
if health <= 0:
queue_free()
SignalBus.enemy_destroyed.emit()
kill()
else:
if proj is PlayerProjectile:
knockback = proj.velocity * 2. * knockback_mul * proj.knockback_mul