Thanks to everyone who responded. Here’s what I forgot to add. Bullet is called from outside.
func long_attack(spell_speed):
var bullet = preload("res://MECHANICS/bull.tscn").instantiate()
bullet.attack = core.attack
bullet.attack_type = core.attack_type
bullet.SPEED = spell_speed
bullet.target_position = tp
bullet.position = $RayCast3D/MeshInstance3D.global_position
get_parent().add_child(bullet)
Video: