extends CharacterBody3D class_name Projectile @export var damage : float = 10 @export var lifetime : float = 1 @export var collsion_scene : PackedScene signal collided var timeout_timer : Timer func _ready() -> void: timeout_timer = Timer.new() add_child(timeout_timer) timeout_timer.timeout.connect(projectile_collision) timeout_timer.start(lifetime) func projectile_collision(): timeout_timer.stop() if collsion_scene: var new_collision_scene = collsion_scene.instantiate() get_tree().root.add_child(new_collision_scene) new_collision_scene.global_transform = global_transform get_tree().create_timer(lifetime).timeout.connect(queue_free) collided.emit()