death camera mostly working

This commit is contained in:
derek
2024-08-06 16:57:28 -05:00
parent 5275d80d79
commit f8b0cc2964
11 changed files with 251 additions and 189 deletions

View File

@@ -17,6 +17,7 @@ var ammo_drop = [[load("res://assets/ammo_pickup.tscn")],["ammo"]]
var stamina_drop = [[load("res://assets/stamina_pickup.tscn")],["stamina"]]
var health_drop = [[load("res://assets/health_pickup.tscn")],["health"]]
var money_drop = [[load("res://assets/money_pickup.tscn")],["money"]]
var dead_player = preload("res://assets/dead_cam.tscn")
const CLEARED_ANNOUNCE = preload("res://assets/cleared_announce.tscn")
const DEAD_ANNOUNCE = preload("res://assets/dead_announce.tscn")
@@ -29,6 +30,7 @@ var current_gun_index
var particle_number = 0
var enemy_hiveminds = []
var remaining_enemies
var last_hit : Node
# Called when the node enters the scene tree for the first time.
func _ready():
@@ -49,22 +51,23 @@ func _ready():
if money_drop_enabled == true:
pickups.append(money_drop)
#Set up starting guns and ammo
held_guns = [gun_1]
var instance_gun = held_guns[0].instantiate()
ammo_current[0] = instance_gun.max_ammo
ammo_reserve[0] = instance_gun.max_ammo * instance_gun.start_mags
if gun_2 != null:
held_guns.append(gun_2)
var instance_gun_2 = held_guns[1].instantiate()
ammo_current.append(instance_gun_2.max_ammo)
ammo_reserve.append(instance_gun_2.max_ammo * instance_gun_2.start_mags)
if player:
#Set up starting guns and ammo
held_guns = [gun_1]
var instance_gun = held_guns[0].instantiate()
ammo_current[0] = instance_gun.max_ammo
ammo_reserve[0] = instance_gun.max_ammo * instance_gun.start_mags
if gun_2 != null:
held_guns.append(gun_2)
var instance_gun_2 = held_guns[1].instantiate()
ammo_current.append(instance_gun_2.max_ammo)
ammo_reserve.append(instance_gun_2.max_ammo * instance_gun_2.start_mags)
# Spawn first gun
current_gun_index = 0
gun_spawn(0)
# Spawn first gun
current_gun_index = 0
gun_spawn(0)
#find enemy hiveminds
for node in get_tree().get_nodes_in_group("enemy_hivemind"):
enemy_hiveminds.append(node)
@@ -74,8 +77,11 @@ func _ready():
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(_delta):
pass
func gun_spawn(index):
#loop around if scrolling past available guns
if index > held_guns.size() - 1:
index = 0
@@ -111,21 +117,24 @@ func cleared():
func die():
Engine.time_scale = .05
AudioServer.set_bus_effect_enabled(0,0,true)
var deadmsg = DEAD_ANNOUNCE.instantiate()
get_parent().add_child(deadmsg)
await get_tree().create_timer(.3).timeout
get_tree().reload_current_scene()
#var instance_dead = dead_player.instantiate()
#instance_dead.position = head.global_position
#instance_dead.transform.basis = head.global_transform.basis
#get_tree().get_root().add_child(instance_dead)
var instance_dead = dead_player.instantiate()
instance_dead.global_position = player.global_position
instance_dead.transform.basis = player.global_transform.basis
#instance_dead.camera.rotation = player.camera.rotation
instance_dead.target = last_hit
get_tree().get_root().add_child(instance_dead)
instance_dead.camera.current = true
player.dead = true
player.gun.visible = false
player.crosshair.visible = false
func pickup_spawn():
var item_type = pickups.pick_random()
var item_spawn = item_type[0][0].instantiate()
var item_name = item_type[1][0]
print(item_name)
item_spawn.rand_amt = randi_range(25,100)
return item_spawn