extends ProjectileBase var _is_spread_child := false const DIRS := [ Vector2(1, 0), Vector2(0.707107, 0.707107), Vector2(0, 1), Vector2(-0.707107, 0.707107), Vector2(-1, 0), Vector2(-0.707107, -0.707107), Vector2(0, -1), Vector2(0.707107, -0.707107), ] func _on_body_entered(body: Node2D) -> void: if body.is_in_group("enemies"): body.hit() func _ready() -> void: if _is_spread_child: super() return var spawn_pos = global_position for dir in DIRS: var bullet = duplicate() bullet._is_spread_child = true get_parent().add_child(bullet) bullet.global_position = spawn_pos bullet.launch(spawn_pos + dir * 1000) queue_free()