added enemy stun script
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user