From e9218fbd2952a24b76856f5dac134ba70498e582 Mon Sep 17 00:00:00 2001 From: Artur David Date: Wed, 24 Jun 2026 00:28:22 +0200 Subject: [PATCH] add purge sfx: build up, impact boom, sustained boom, bass, sigil with reverb bus --- assets/music&sfx/sfx/purge_sigil.wav | Bin 0 -> 23396 bytes assets/music&sfx/sfx/purge_sigil.wav.import | 24 ++++++++++++++++++ default_bus_layout.tres | 18 ++++++++++++++ scripts/purge.gd | 26 +++++++++++++++++++- 4 files changed, 67 insertions(+), 1 deletion(-) create mode 100644 assets/music&sfx/sfx/purge_sigil.wav create mode 100644 assets/music&sfx/sfx/purge_sigil.wav.import diff --git a/assets/music&sfx/sfx/purge_sigil.wav b/assets/music&sfx/sfx/purge_sigil.wav new file mode 100644 index 0000000000000000000000000000000000000000..c75fdd8fe4aed174cb027916670003ad93e635e0 GIT binary patch literal 23396 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 void: summon_circle.sprite_frames = summon_circle.sprite_frames.duplicate() summon_circle.sprite_frames.set_animation_loop("default", false) summon_circle.animation_finished.connect(_unleash) + summon_circle.frame_changed.connect(_on_summon_circle_frame_changed) summon_circle.play("default") - camera.shake(6.0, 0.5, true) + camera.shake(2.0, 0.5) + _play_sfx(_build_up_sound, "SFX") + +func _on_summon_circle_frame_changed() -> void: + if summon_circle.frame == 77: + _play_sfx(_flash_sound, "SFX", -10.0) + +func _play_sfx(stream: AudioStream, bus: String, volume_db: float = 0.0) -> void: + var asp = AudioStreamPlayer.new() + asp.stream = stream + asp.bus = bus + asp.volume_db = volume_db + get_parent().add_child(asp) + asp.play() + asp.finished.connect(asp.queue_free) func _unleash() -> void: for enemy in get_tree().get_nodes_in_group("enemies"): @@ -26,6 +47,9 @@ func _unleash() -> void: func _flash() -> void: camera.shake(0.4, 8.0) + _play_sfx(_impact_boom_sound, "SFX", 3.0) + _play_sfx(_sustained_boom_sound, "PurgeReverb") + _play_sfx(_bass_sound, "PurgeReverb") var circle_tween = create_tween() circle_tween.set_pause_mode(Tween.TWEEN_PAUSE_PROCESS)