extends CharacterState class_name NPCIdle @export var wander_distance_max : float = 15.0 @export var scan_time : float = 3 func Enter(): get_new_wander_point() func Update(delta): update_look_target() rotate_to_face3D(character.head,look_target,Vector3.ZERO,delta,head_turn_speed) #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) func update_look_target(): var player = get_tree().current_scene.player if character.global_position.distance_to(player.global_position) < 5: look_target = player else: look_target = move_target 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) print("MOVE TARGET : ",move_target)