17 lines
584 B
GDScript
17 lines
584 B
GDScript
extends EnemyMovement
|
|
class_name BeeliningController
|
|
|
|
var goal : Node3D
|
|
var direction : Vector3
|
|
|
|
|
|
func _ready() -> void:
|
|
distance_remaining = character.global_position.distance_squared_to(goal.global_position)
|
|
direction = character.global_position.direction_to(goal.global_position)
|
|
|
|
|
|
func _physics_process(delta: float) -> void:
|
|
var distance_travelled = (character.stats.movement_speed * clampf(character.movement_speed_penalty, 0.0, 1.0)) * delta
|
|
distance_remaining -= distance_travelled
|
|
character.global_position = character.global_position + (direction * distance_travelled)
|