purge summon: continuous light jitter during animation, short sharp shake on unleash
parent
111cc87df1
commit
6f529e3ffd
|
|
@ -2,8 +2,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
|
||||||
|
const SUMMON_SHAKE := 2.0
|
||||||
|
|
||||||
@onready var summon_circle: AnimatedSprite2D = $SummonCircle/AnimatedSprite2D
|
@onready var summon_circle: AnimatedSprite2D = $SummonCircle/AnimatedSprite2D
|
||||||
|
@onready var camera = get_node("/root/Game/Camera2D")
|
||||||
|
|
||||||
|
var is_summoning := true
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
summon_circle.sprite_frames = summon_circle.sprite_frames.duplicate()
|
summon_circle.sprite_frames = summon_circle.sprite_frames.duplicate()
|
||||||
|
|
@ -11,9 +15,18 @@ func _ready() -> void:
|
||||||
summon_circle.animation_finished.connect(_unleash)
|
summon_circle.animation_finished.connect(_unleash)
|
||||||
summon_circle.play("default")
|
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:
|
func _unleash() -> void:
|
||||||
var camera = get_node("/root/Game/Camera2D")
|
is_summoning = false
|
||||||
camera.shake(0.5, 1.5)
|
set_process(false)
|
||||||
|
camera.offset = Vector2.ZERO
|
||||||
|
camera.shake(0.2, 6.0)
|
||||||
|
|
||||||
for enemy in get_tree().get_nodes_in_group("enemies"):
|
for enemy in get_tree().get_nodes_in_group("enemies"):
|
||||||
if not is_instance_valid(enemy):
|
if not is_instance_valid(enemy):
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue