add purge sfx: build up, impact boom, sustained boom, bass, sigil with reverb bus
parent
2c3d8c7cfd
commit
e9218fbd29
Binary file not shown.
|
|
@ -0,0 +1,24 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="wav"
|
||||||
|
type="AudioStreamWAV"
|
||||||
|
uid="uid://d056xcusjhd7w"
|
||||||
|
path="res://.godot/imported/purge_sigil.wav-9da6710344c80ac37c106e0f9d84aea0.sample"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/music&sfx/sfx/purge_sigil.wav"
|
||||||
|
dest_files=["res://.godot/imported/purge_sigil.wav-9da6710344c80ac37c106e0f9d84aea0.sample"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
force/8_bit=false
|
||||||
|
force/mono=false
|
||||||
|
force/max_rate=false
|
||||||
|
force/max_rate_hz=44100
|
||||||
|
edit/trim=false
|
||||||
|
edit/normalize=false
|
||||||
|
edit/loop_mode=0
|
||||||
|
edit/loop_begin=0
|
||||||
|
edit/loop_end=-1
|
||||||
|
compress/mode=2
|
||||||
|
|
@ -1,5 +1,15 @@
|
||||||
[gd_resource type="AudioBusLayout" format=3 uid="uid://5oswo22yvmtg"]
|
[gd_resource type="AudioBusLayout" format=3 uid="uid://5oswo22yvmtg"]
|
||||||
|
|
||||||
|
[sub_resource type="AudioEffectReverb" id="AudioEffectReverb_purge"]
|
||||||
|
predelay_msec = 30.0
|
||||||
|
predelay_feedback = 0.4
|
||||||
|
room_size = 0.9
|
||||||
|
damping = 0.4
|
||||||
|
spread = 1.0
|
||||||
|
dry = 0.6
|
||||||
|
wet = 0.4
|
||||||
|
hipass = 0.0
|
||||||
|
|
||||||
[resource]
|
[resource]
|
||||||
bus/1/name = &"Music"
|
bus/1/name = &"Music"
|
||||||
bus/1/solo = false
|
bus/1/solo = false
|
||||||
|
|
@ -13,3 +23,11 @@ bus/2/mute = false
|
||||||
bus/2/bypass_fx = false
|
bus/2/bypass_fx = false
|
||||||
bus/2/volume_db = -14.05601
|
bus/2/volume_db = -14.05601
|
||||||
bus/2/send = &"Master"
|
bus/2/send = &"Master"
|
||||||
|
bus/3/name = &"PurgeReverb"
|
||||||
|
bus/3/solo = false
|
||||||
|
bus/3/mute = false
|
||||||
|
bus/3/bypass_fx = false
|
||||||
|
bus/3/volume_db = 0.0
|
||||||
|
bus/3/send = &"SFX"
|
||||||
|
bus/3/effect/0/effect = SubResource("AudioEffectReverb_purge")
|
||||||
|
bus/3/effect/0/enabled = true
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,12 @@ extends Node2D
|
||||||
const ELITE_DAMAGE_PCT := 0.75
|
const ELITE_DAMAGE_PCT := 0.75
|
||||||
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 _impact_boom_sound = preload("res://assets/music&sfx/sfx/purge_impact_boom.wav")
|
||||||
|
var _sustained_boom_sound = preload("res://assets/music&sfx/sfx/purge_sustained_boom.wav")
|
||||||
|
var _bass_sound = preload("res://assets/music&sfx/sfx/pruge_bass.wav")
|
||||||
|
var _flash_sound = preload("res://assets/music&sfx/sfx/purge_sigil.wav")
|
||||||
|
|
||||||
@onready var summon_circle: AnimatedSprite2D = $SummonCircle/AnimatedSprite2D
|
@onready var summon_circle: AnimatedSprite2D = $SummonCircle/AnimatedSprite2D
|
||||||
@onready var camera = get_node("/root/Game/Camera2D")
|
@onready var camera = get_node("/root/Game/Camera2D")
|
||||||
|
|
||||||
|
|
@ -10,8 +16,23 @@ func _ready() -> void:
|
||||||
summon_circle.sprite_frames = summon_circle.sprite_frames.duplicate()
|
summon_circle.sprite_frames = summon_circle.sprite_frames.duplicate()
|
||||||
summon_circle.sprite_frames.set_animation_loop("default", false)
|
summon_circle.sprite_frames.set_animation_loop("default", false)
|
||||||
summon_circle.animation_finished.connect(_unleash)
|
summon_circle.animation_finished.connect(_unleash)
|
||||||
|
summon_circle.frame_changed.connect(_on_summon_circle_frame_changed)
|
||||||
summon_circle.play("default")
|
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:
|
func _unleash() -> void:
|
||||||
for enemy in get_tree().get_nodes_in_group("enemies"):
|
for enemy in get_tree().get_nodes_in_group("enemies"):
|
||||||
|
|
@ -26,6 +47,9 @@ func _unleash() -> void:
|
||||||
|
|
||||||
func _flash() -> void:
|
func _flash() -> void:
|
||||||
camera.shake(0.4, 8.0)
|
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()
|
var circle_tween = create_tween()
|
||||||
circle_tween.set_pause_mode(Tween.TWEEN_PAUSE_PROCESS)
|
circle_tween.set_pause_mode(Tween.TWEEN_PAUSE_PROCESS)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue