extends Node3D @export var CANNON_MIN_POWER = 7 @export var CANNON_MAX_POWER = 20 @export var TIMER_MIN = 0.0 @export var TIMER_MAX = 20.0 @onready var item_pickup = preload("res://assets/item_pickup.tscn") @onready var timer = $Timer @onready var cannonparticles = $cannonparticles @onready var cannon_dir = $RayCast3D @onready var fire_audio = $Audio/FireAudio @onready var level_control = get_tree().current_scene var fire = true # 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 = randf_range(CANNON_MIN_POWER,CANNON_MAX_POWER) var rand_timer = randf_range(TIMER_MIN,TIMER_MAX) # Reset Timer timer.wait_time = rand_timer #rand_timer # Shoot that shit var pickup_spawn = item_pickup.instantiate() var item_stats = level_control.pickup_spawn() ##SET VARIABLES pickup_spawn.pickup_type = item_stats["pickup_type"] pickup_spawn.ammo_type = item_stats["ammo_type"] pickup_spawn.value = item_stats["value"] pickup_spawn.position = cannon_dir.global_position pickup_spawn.transform.basis = cannon_dir.global_transform.basis pickup_spawn.linear_velocity += cannon_dir.global_transform.basis * Vector3(0,lv_y,0) fire_audio.play() get_parent().add_child(pickup_spawn)