npcs and enemies now inherit from character state

This commit is contained in:
derek
2025-05-12 14:05:18 -05:00
parent 971ec93e35
commit 4c98bca83b
9 changed files with 2421 additions and 182 deletions

View File

@@ -12,36 +12,36 @@ func Enter():
servo_sound.play()
func Update(delta):
if enemy.ammo < enemy.max_ammo:
if character.ammo < character.max_ammo:
reload()
else:
finished_reload()
func Physics_Update(delta):
if enemy.is_player_visible():
if character.is_player_visible():
#get player location
enemy.cache_player_pos()
character.cache_player_pos()
update_reload_look_target()
move_to_nav_point(delta)
turret_look3D(delta)
func update_reload_look_target():
look_target = enemy.global_position + Vector3(0,10,0)
look_target = character.global_position + Vector3(0,10,0)
func update_reload_move_target():
var direction = (enemy.player_last_seen - enemy.global_position).normalized()
var direction = (character.player_last_seen - character.global_position).normalized()
move_target = direction * retreat_distance
enemy.nav_agent.set_target_position(move_target)
character.nav_agent.set_target_position(move_target)
func reload():
if !reload_sound.is_playing():
enemy.ammo += 1
character.ammo += 1
reload_sound.play()
func finished_reload():
servo_sound.play()
if enemy.is_player_visible():
if character.is_player_visible():
Transitioned.emit(self,"attack")
else:
Transitioned.emit(self,"search") #fix to search when it works