extends Node2D class_name Attack @onready var cpu_particles_2d: CPUParticles2D = $CPUParticles2D @onready var area_2d: Area2D = $Area2D var initiator: Entity func set_initiator(entity: Entity) -> void: position = entity.position initiator = entity func _ready() -> void: cpu_particles_2d.emitting = true cpu_particles_2d.color = initiator.color func _on_cpu_particles_2d_finished() -> void: var collisions := area_2d.get_overlapping_bodies() for object in collisions: if object is Entity and object != initiator: object.hit() print("attack hit %s" % collisions.size()) queue_free()