extends Node2D @onready var player = get_tree().get_root().get_node("main/Player") var speed = 200 var angular_speed = TAU/8 var lifetime = 5 var ready_blobs = 0 var num_blobs = 4 var particles_ended = false func _on_target_reached(): ready_blobs += 1 func _ready() -> void: for child in get_children(): if "target_reached" in child: child.connect("target_reached", _on_target_reached) $SplashSound.play() func _process(delta: float) -> void: if ready_blobs == num_blobs: position += (player.position - position).normalized() * speed * delta rotate(angular_speed * delta) lifetime -= delta if lifetime < 0 and not particles_ended: particles_ended = true for child in get_children(): if "target_reached" in child: child.get_node("GPUParticles2D").emitting = false child.get_node("Area2D").queue_free() if lifetime < -2: queue_free()