follows locked on character until sight is lost for 2 seconds
This commit is contained in:
@@ -7,11 +7,12 @@ var heartbeat : float = 3.0
|
|||||||
@export var between_shot_time : Vector2 = Vector2(.5,2.0)
|
@export var between_shot_time : Vector2 = Vector2(.5,2.0)
|
||||||
@export var reload_time : float = 7.0
|
@export var reload_time : float = 7.0
|
||||||
@export var alarm_sound : AudioStreamPlayer3D
|
@export var alarm_sound : AudioStreamPlayer3D
|
||||||
|
@export var time_before_losing_visual : float = 2.0
|
||||||
|
|
||||||
var ammo
|
var ammo
|
||||||
var initial_timer
|
var initial_timer
|
||||||
var shot_timer = 0.0
|
var shot_timer = 0.0
|
||||||
|
var visibility_timer
|
||||||
|
|
||||||
func Enter():
|
func Enter():
|
||||||
super()
|
super()
|
||||||
@@ -22,12 +23,16 @@ func Enter():
|
|||||||
alarm_sound.play()
|
alarm_sound.play()
|
||||||
|
|
||||||
func update_waypoint():
|
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):
|
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")
|
Transitioned.emit(self,"search")
|
||||||
|
else:
|
||||||
|
visibility_timer = time_before_losing_visual
|
||||||
|
|
||||||
if heartbeat > 0:
|
if heartbeat > 0:
|
||||||
heartbeat -= delta
|
heartbeat -= delta
|
||||||
@@ -52,7 +57,7 @@ func Update(delta):
|
|||||||
Transitioned.emit(self,"reload")
|
Transitioned.emit(self,"reload")
|
||||||
|
|
||||||
func Physics_Update(delta):
|
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)
|
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()
|
var destination = enemy.nav_agent.get_next_path_position()
|
||||||
|
|||||||
Reference in New Issue
Block a user