initial commit
This commit is contained in:
59
scripts/cannon.gd
Normal file
59
scripts/cannon.gd
Normal file
@@ -0,0 +1,59 @@
|
||||
extends Node3D
|
||||
|
||||
@export var CANNON_MIN_POWER = 7
|
||||
@export var CANNON_MAX_POWER = 20
|
||||
@export var TIMER_MIN = 0
|
||||
@export var TIMER_MAX = 20
|
||||
|
||||
var stamina = load("res://assets/stamina_pickup.tscn")
|
||||
var ammo = load("res://assets/ammo_pickup.tscn")
|
||||
var jump = load("res://assets/jump_pickup.tscn")
|
||||
|
||||
@onready var timer = $Timer
|
||||
@onready var cannonparticles = $cannonparticles
|
||||
@onready var cannon_dir = $RayCast3D
|
||||
@onready var fire_audio = $Audio/FireAudio
|
||||
|
||||
|
||||
var rand_item
|
||||
var rand_select
|
||||
var rng = RandomNumberGenerator.new()
|
||||
var rand_rot_y
|
||||
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 = rng.randf_range(CANNON_MIN_POWER,CANNON_MAX_POWER)
|
||||
var rand_selector = int(round(rng.randf_range(1,2)))
|
||||
var rand_timer = rng.randf_range(TIMER_MIN,TIMER_MAX)
|
||||
|
||||
match rand_selector:
|
||||
1:
|
||||
rand_select = stamina
|
||||
2:
|
||||
rand_select = ammo
|
||||
3:
|
||||
rand_select = jump
|
||||
|
||||
# Reset Timer
|
||||
timer.wait_time = rand_timer #rand_timer
|
||||
|
||||
# Shoot that shit
|
||||
rand_item = rand_select.instantiate()
|
||||
rand_item.position = cannon_dir.global_position
|
||||
rand_item.transform.basis = cannon_dir.global_transform.basis
|
||||
rand_item.linear_velocity += cannon_dir.global_transform.basis * Vector3(0,lv_y,0)
|
||||
#cannonparticles.emitting = true
|
||||
#fir_audio.pitch_scale =
|
||||
fire_audio.play()
|
||||
get_parent().add_child(rand_item)
|
||||
Reference in New Issue
Block a user