extends Node3D const CANNON_MIN_POWER = 7 const CANNON_MAX_POWER = 20 const TIMER_MIN = 0 const TIMER_MAX = 20 var spider = load("res://assets/spider.tscn") @onready var timer = $Timer var enemy var rng = RandomNumberGenerator.new() var rand_rot_y var fire = true @onready var cannon_dir = $RayCast3D # Called when the node enters the scene tree for the first time. func _ready(): pass # Replace with function body. # Called every frame. 'delta' is the elapsed time since the previous frame. func _process(delta): pass #self.rotation += Vector3(0,0,0) * delta func _on_timer_timeout(): # Random Variables var lv_y = rng.randf_range(CANNON_MIN_POWER,CANNON_MAX_POWER) var rand_timer = rng.randf_range(TIMER_MIN,TIMER_MAX) # Reset Timer timer.wait_time = rand_timer #rand_timer # Shoot that shit enemy = spider.instantiate() enemy.position = cannon_dir.global_position enemy.transform.basis = cannon_dir.global_transform.basis #enemy.linear_velocity += cannon_dir.global_transform.basis * Vector3(0,lv_y,0) get_parent().add_child(enemy)