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

@@ -7,6 +7,7 @@ var bullet_damage
var bullet_force_mod = 1.0
var distance_from_player
var player
var fired_by
@onready var mesh = $gunbullet1
@onready var ray = $RayCast3D
@@ -16,8 +17,8 @@ var player
@onready var gunbullet1 = $gunbullet1/Cylinder
@onready var hit_indicator = $Audio/HitIndicator
@export var bullethole : Resource
@onready var level_control = get_tree().current_scene
var level_control
var rng = RandomNumberGenerator.new()
var av_x
var av_y
@@ -32,18 +33,22 @@ func _ready():
rotation += Vector3(av_x,av_y,av_z)
timer.start()
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
position += transform.basis * Vector3(0, 0, -bullet_speed) * delta
rotation.x = clamp(rotation.x - delta * bullet_drop,deg_to_rad(-90),deg_to_rad(90))
if ray.is_colliding() and ray.get_collider != null:
if ray.is_colliding() and ray.get_collider() != null:
if ray.get_collider().is_in_group("player"):
var player = ray.get_collider()
player.level_control.health -= bullet_damage
player.hurt_audio.play()
queue_free()
if player.level_control.health <= bullet_damage:
player.level_control.last_hit = fired_by
player.hurt_audio.play()
else:
queue_free()
if ray.is_colliding() and !ray.get_collider().is_in_group("player"):