Files
projecttorches/Mob.gd

28 lines
655 B
GDScript

extends CharacterBody3D
@export var min_speed = 10
@export var max_speed = 18
signal squashed
func _physics_process(delta):
move_and_slide()
func initialize(start_position, player_position):
# Look to the player
look_at_from_position(start_position, player_position, Vector3.UP)
# But rotate a little bit
rotate_y(randf_range(-PI / 4, PI / 4))
# Set random speed
var random_speed = randi_range(min_speed, max_speed)
# Apply the velocity
velocity = Vector3.FORWARD * random_speed
velocity = velocity.rotated(Vector3.UP, rotation.y)
func squash():
squashed.emit()
queue_free()
func _on_visibility_notifier_screen_exited():
queue_free()