extends Area3D const SPEED = 55.0 const RANGE = 80.0 var travelled_distance = 0.0 func _physics_process(delta: float) -> void: var distance = SPEED * delta position += -transform.basis.z * distance if travelled_distance >= RANGE: queue_free() else: travelled_distance += distance func _on_body_entered(body: Node3D) -> void: queue_free() if body.has_method("take_damage"): body.take_damage(randf_range(25.0, 50.0))