class_name BossReturnSignal extends Node2D @export var speed: float = 520.0 var target: Node2D var trail: PackedVector2Array = PackedVector2Array() func _ready() -> void: add_to_group("boss_returns") trail.append(global_position) queue_redraw() func _process(delta: float) -> void: if not is_instance_valid(target): queue_free() return var destination: Vector2 = target.global_position if global_position.distance_to(destination) <= speed * delta: global_position = destination target.open_next_eye() queue_free() return global_position = global_position.move_toward(destination, speed * delta) trail.append(global_position) while trail.size() > 14: trail.remove_at(0) queue_redraw() func _draw() -> void: for i in range(1, trail.size()): var alpha: float = float(i) / float(trail.size()) draw_line(trail[i - 1] - global_position, trail[i] - global_position, Color(1.0, 0.82, 0.22, alpha * 0.7), 3.0 + alpha * 5.0, true) NeonDraw.draw_glowing_circle(self, Vector2.ZERO, 9.0, Color(1.0, 0.82, 0.22), 1.0, Color(0.16, 0.04, 0.01))