more tweaks to ai
This commit is contained in:
@@ -32,6 +32,9 @@ func Enter():
|
|||||||
|
|
||||||
func Update(delta: float):
|
func Update(delta: float):
|
||||||
super(delta)
|
super(delta)
|
||||||
|
|
||||||
|
attack_on_sight()
|
||||||
|
|
||||||
if wander_time > 0:
|
if wander_time > 0:
|
||||||
wander_time -= delta
|
wander_time -= delta
|
||||||
else:
|
else:
|
||||||
|
|||||||
@@ -20,6 +20,9 @@ func Enter():
|
|||||||
|
|
||||||
func Update(delta: float):
|
func Update(delta: float):
|
||||||
super(delta)
|
super(delta)
|
||||||
|
|
||||||
|
attack_on_sight()
|
||||||
|
|
||||||
if search_time > 0:
|
if search_time > 0:
|
||||||
search_time -= delta
|
search_time -= delta
|
||||||
else:
|
else:
|
||||||
|
|||||||
@@ -4,12 +4,12 @@ class_name EnemyState
|
|||||||
@export var enemy : CharacterBody3D
|
@export var enemy : CharacterBody3D
|
||||||
@export var move_speed : float = 3
|
@export var move_speed : float = 3
|
||||||
@export var can_see : bool = false # indicates whether the enemy is able to see things in the state
|
@export var can_see : bool = false # indicates whether the enemy is able to see things in the state
|
||||||
|
@export var time_to_lose_target = 1.0
|
||||||
|
|
||||||
|
@onready var target_lost_timer = time_to_lose_target
|
||||||
|
|
||||||
func Update(delta):
|
func Update(delta):
|
||||||
if can_see:
|
pass
|
||||||
if enemy.is_player_in_area() and enemy.is_player_visible():
|
|
||||||
Transitioned.emit(self,"attack")
|
|
||||||
|
|
||||||
func move_target():
|
func move_target():
|
||||||
if enemy.player_last_seen != null:
|
if enemy.player_last_seen != null:
|
||||||
@@ -22,3 +22,12 @@ func move_target():
|
|||||||
return move_point["point"]
|
return move_point["point"]
|
||||||
else:
|
else:
|
||||||
Transitioned.emit(self,"idle")
|
Transitioned.emit(self,"idle")
|
||||||
|
|
||||||
|
func attack_on_sight():
|
||||||
|
if can_see:
|
||||||
|
if enemy.is_player_in_area() and enemy.is_player_visible():
|
||||||
|
Transitioned.emit(self,"attack")
|
||||||
|
|
||||||
|
func search_on_lost_target(delta):
|
||||||
|
if !enemy.is_player_visible():
|
||||||
|
Transitioned.emit(self,"attack")
|
||||||
|
|||||||
@@ -81,7 +81,6 @@ var health
|
|||||||
var ammo
|
var ammo
|
||||||
|
|
||||||
var line_of_sight_target
|
var line_of_sight_target
|
||||||
var character_follow
|
|
||||||
var player_last_seen
|
var player_last_seen
|
||||||
var points_of_interest
|
var points_of_interest
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user