Files
net-gunner/scripts/projectile.gd

25 lines
538 B
GDScript3
Raw Permalink Normal View History

2026-03-19 23:50:29 -04:00
class_name Projectile extends Area3D
2026-03-19 23:50:29 -04:00
var id : int = 0
var direction : Vector3
var speed : float
2026-03-19 23:50:29 -04:00
var friend_safe : bool = true
var damage
var time_remaining : float
func _ready() -> void:
time_remaining = 2
func _physics_process(delta: float) -> void:
2026-03-19 23:50:29 -04:00
global_position += speed * direction * delta
time_remaining -= delta
if time_remaining <= 0:
queue_free()
func _on_hit_area_entered(body: Node3D) -> void:
if body is PawnController:
2026-03-19 23:50:29 -04:00
if !friend_safe or id != body.id:
body.hurt(damage)
queue_free()
else:
queue_free()