extends Node2D var moving = false @onready var player = get_tree().get_root().get_node("main/Player") @onready var target = player.position var speed = 500 var reached = false signal target_reached func _ready() -> void: await get_tree().create_timer(1).timeout moving = true func _process(delta: float) -> void: if moving: position += (target - global_position).normalized().rotated(-get_parent().rotation) * speed * delta if((global_position - target).length() < 40): moving = false if not reached: target_reached.emit() reached = true if has_node("Area2D") and $Area2D.overlaps_body(player): player.hurt(1, global_position-player.position)