tune purge sigil sfx tiers, impact boom volume, and flash hold time

main
Artur David 2026-06-24 00:42:31 +02:00
parent e9218fbd29
commit d89ff29a97
1 changed files with 18 additions and 4 deletions

View File

@ -1,6 +1,7 @@
extends Node2D extends Node2D
const ELITE_DAMAGE_PCT := 0.75 const ELITE_DAMAGE_PCT := 0.75
const FLASH_HOLD_DURATION := 0.1
const FLASH_FADE_DURATION := 0.6 const FLASH_FADE_DURATION := 0.6
var _build_up_sound = preload("res://assets/music&sfx/sfx/purge_build_up.wav") var _build_up_sound = preload("res://assets/music&sfx/sfx/purge_build_up.wav")
@ -21,15 +22,27 @@ func _ready() -> void:
camera.shake(2.0, 0.5) camera.shake(2.0, 0.5)
_play_sfx(_build_up_sound, "SFX") _play_sfx(_build_up_sound, "SFX")
func _on_summon_circle_frame_changed() -> void: const _SIGIL_TICK_PITCHES := {
if summon_circle.frame == 77: 34: 0.500,
_play_sfx(_flash_sound, "SFX", -10.0) 38: 0.595,
47: 0.707,
56: 0.841,
63: 0.707,
}
func _play_sfx(stream: AudioStream, bus: String, volume_db: float = 0.0) -> void: func _on_summon_circle_frame_changed() -> void:
var frame := summon_circle.frame
if frame == 77:
_play_sfx(_flash_sound, "SFX", -10.0)
elif _SIGIL_TICK_PITCHES.has(frame):
_play_sfx(_flash_sound, "SFX", -16.0, _SIGIL_TICK_PITCHES[frame])
func _play_sfx(stream: AudioStream, bus: String, volume_db: float = 0.0, pitch_scale: float = 1.0) -> void:
var asp = AudioStreamPlayer.new() var asp = AudioStreamPlayer.new()
asp.stream = stream asp.stream = stream
asp.bus = bus asp.bus = bus
asp.volume_db = volume_db asp.volume_db = volume_db
asp.pitch_scale = pitch_scale
get_parent().add_child(asp) get_parent().add_child(asp)
asp.play() asp.play()
asp.finished.connect(asp.queue_free) asp.finished.connect(asp.queue_free)
@ -67,6 +80,7 @@ func _flash() -> void:
var tween = create_tween() var tween = create_tween()
tween.set_pause_mode(Tween.TWEEN_PAUSE_PROCESS) tween.set_pause_mode(Tween.TWEEN_PAUSE_PROCESS)
tween.tween_interval(FLASH_HOLD_DURATION)
tween.tween_property(rect, "color:a", 0.0, FLASH_FADE_DURATION) tween.tween_property(rect, "color:a", 0.0, FLASH_FADE_DURATION)
await tween.finished await tween.finished
queue_free() queue_free()