purge summon: continuous light jitter during animation, short sharp shake on unleash

main
Artur David 2026-06-18 10:42:29 +02:00
parent 111cc87df1
commit 6f529e3ffd
1 changed files with 15 additions and 2 deletions

View File

@ -2,8 +2,12 @@ extends Node2D
const ELITE_DAMAGE_PCT := 0.75
const FLASH_FADE_DURATION := 0.6
const SUMMON_SHAKE := 2.0
@onready var summon_circle: AnimatedSprite2D = $SummonCircle/AnimatedSprite2D
@onready var camera = get_node("/root/Game/Camera2D")
var is_summoning := true
func _ready() -> void:
summon_circle.sprite_frames = summon_circle.sprite_frames.duplicate()
@ -11,9 +15,18 @@ func _ready() -> void:
summon_circle.animation_finished.connect(_unleash)
summon_circle.play("default")
func _process(delta: float) -> void:
if is_summoning:
camera.offset = Vector2(
randf_range(-SUMMON_SHAKE, SUMMON_SHAKE),
randf_range(-SUMMON_SHAKE, SUMMON_SHAKE)
)
func _unleash() -> void:
var camera = get_node("/root/Game/Camera2D")
camera.shake(0.5, 1.5)
is_summoning = false
set_process(false)
camera.offset = Vector2.ZERO
camera.shake(0.2, 6.0)
for enemy in get_tree().get_nodes_in_group("enemies"):
if not is_instance_valid(enemy):