class_name Projectile extends RigidBody3D var direction : Vector3 var speed : float var damage var time_remaining : float func _ready() -> void: linear_velocity = speed * direction time_remaining = 2 func _physics_process(delta: float) -> void: time_remaining -= delta if time_remaining <= 0: queue_free() func _on_body_entered(body: Node) -> void: queue_free() func _on_hit_area_entered(body: Node3D) -> void: if body is Player: body.hurt(damage)