class_name Rocket extends RigidBody2D signal splodeSignal(rocket) func _ready() -> void: #Rockets expolode in time var timer = Timer.new() add_child(timer) timer.wait_time = 4 timer.one_shot = true timer.connect("timeout", splode) timer.start() func _on_body_entered(body: Node) -> void: print("Rocket hit a target") #should i splode myself? No. Scene manager job. func splode()->void: splodeSignal.emit(self)