added enemy stun script

This commit is contained in:
derek
2025-05-22 09:16:15 -05:00
parent 50744c09d2
commit cbb50b4d4f
3 changed files with 40 additions and 2 deletions

View File

@@ -1,2 +1,40 @@
extends EnemyState
class_name EnemyStunned
@export var wander_distance_max : float = 15.0
@export var time_stunned : float = 5.0
var stun_timer
const BODY_TURN_SPEED = 2.0
const TURRET_TURN_SPEED = 6.0
func Enter():
stun_timer = time_stunned
clear_points_of_interest()
character.stunned_stars.visible = true
func Exit():
character.stunned_stars.visible = false
func Update(delta):
if stun_timer > 0:
stun_timer -= delta
else:
Transitioned.emit(self,"idle")
func Physics_Update(delta):
#if navigation is finished get new point, otherwise continue on path
if character.nav_agent.is_navigation_finished():
get_new_wander_point()
else:
move_to_nav_point(delta)
character.body.rotation.y += delta * BODY_TURN_SPEED
character.turret_look.rotation.y += delta * TURRET_TURN_SPEED
func get_new_wander_point():
var x = randf_range(-wander_distance_max,wander_distance_max)
var z = randf_range(-wander_distance_max,wander_distance_max)
move_target = character.global_position + Vector3(x,0,z)
character.nav_agent.set_target_position(move_target)