reloading works and returns to idle. still need to fix idle scanning

This commit is contained in:
derek
2025-04-22 15:50:59 -05:00
parent e7fd5bd4b3
commit 6217725c19
10 changed files with 73 additions and 23 deletions

View File

@@ -1,7 +1,6 @@
extends EnemyState
class_name EnemyReload
@export var reload_time : float = 7.0
@export var reload_sound : AudioStreamPlayer3D
@export var run_distance : float = 3
@@ -13,11 +12,11 @@ var remaining_bullets
func Enter():
super()
remaining_bullets = enemy.max_ammo
enemy.servo_audio.play()
enemy.servo_single.play()
func Exit():
super()
enemy.servo_audio.play()
enemy.servo_single.play()
func update_waypoint():
var direction = (player.global_position - enemy.global_position).normalized()
@@ -30,7 +29,7 @@ func Update(delta):
update_waypoint()
if remaining_bullets > 0:
if !reload_sound.is_playing() and !enemy.servo_audio.is_playing():
if !reload_sound.is_playing():
remaining_bullets -= 1
reload_sound.play()
else:
@@ -51,7 +50,10 @@ func Physics_Update(delta):
enemy.global_rotation.y = lerp(enemy.global_rotation.y,look_target,delta * 3)
func finished_reload():
if enemy.turret_look_next.is_colliding() and enemy.turret_look_next.get_collider() is Player:
Transitioned.emit(self,"attack")
if enemy.turret_look_next.is_colliding():
if enemy.turret_look_next.get_collider() is Player:
Transitioned.emit(self,"attack")
else:
Transitioned.emit(self,"idle")
else:
Transitioned.emit(self,"idle")