19 lines
665 B
GDScript
19 lines
665 B
GDScript
extends Enemy
|
|
|
|
|
|
@export var wander_range: float
|
|
@export var max_home_distance: float
|
|
|
|
|
|
@onready var _target_pos: Vector2 = global_position
|
|
@onready var _home_pos: Vector2 = global_position
|
|
|
|
|
|
func _physics_process(delta: float) -> void:
|
|
if (global_position - _target_pos).length() < 2.0:
|
|
_target_pos = Vector2.INF
|
|
while _home_pos.distance_to(_target_pos) > max_home_distance:
|
|
_target_pos = global_position + (Vector2.RIGHT * randf() * wander_range).rotated(randf() * TAU)
|
|
#global_position = global_position.move_toward(_target_pos, move_speed * delta)
|
|
global_position += (global_position.direction_to(_target_pos)) * move_speed * delta
|
|
print(_target_pos)
|