diff --git a/scripts/EnemyAttack.gd b/scripts/EnemyAttack.gd index 54e2d00..138df26 100644 --- a/scripts/EnemyAttack.gd +++ b/scripts/EnemyAttack.gd @@ -7,11 +7,12 @@ var heartbeat : float = 3.0 @export var between_shot_time : Vector2 = Vector2(.5,2.0) @export var reload_time : float = 7.0 @export var alarm_sound : AudioStreamPlayer3D - +@export var time_before_losing_visual : float = 2.0 var ammo var initial_timer var shot_timer = 0.0 +var visibility_timer func Enter(): super() @@ -22,12 +23,16 @@ func Enter(): alarm_sound.play() func update_waypoint(): - enemy.nav_agent.set_target_position(enemy.point_of_interest) + enemy.nav_agent.set_target_position(enemy.character_follow.global_position) func Update(delta): - if enemy.point_of_interest != null: - if !enemy.is_player_visible(): + if !enemy.is_player_visible(): + if visibility_timer > 0: + visibility_timer -= delta + else: Transitioned.emit(self,"search") + else: + visibility_timer = time_before_losing_visual if heartbeat > 0: heartbeat -= delta @@ -52,7 +57,7 @@ func Update(delta): Transitioned.emit(self,"reload") func Physics_Update(delta): - enemy.turret_look_next.look_at(enemy.point_of_interest) + enemy.turret_look_next.look_at(enemy.character_follow.global_position) enemy.turret_look.rotation = lerp(enemy.turret_look.rotation,enemy.turret_look_next.rotation,delta * enemy.turret_look_speed) var destination = enemy.nav_agent.get_next_path_position()