extends Node var player : Entity = null @export var weapon : Node2D @export var pivot : Node2D @export var sprite : Node2D var delta_pos : Vector2 var can_attack : bool = true func _on_detect_area_body_entered(body:Node2D) -> void: print(body) if body is Entity: if body.is_player: player = body var parent : Entity func _process(_delta: float) -> void: parent = get_node("..") if !player: return delta_pos = player.global_position - parent.global_position var angle = rad_to_deg(atan2(delta_pos.y, delta_pos.x)) - 90 pivot.rotation_degrees = angle if delta_pos.x < 0: if pivot.position.x > 0: pivot.position.x *= -1 if pivot.scale.x > 0: pivot.scale.x *= -1 if sprite.scale.x > 0: sprite.scale.x *= -1 else: if pivot.position.x < 0: pivot.position.x *= -1 if pivot.scale.x < 0: pivot.scale.x *= -1 if sprite.scale.x < 0: sprite.scale.x *= -1 if can_attack: weapon.action() $"AttackCooldown".start() can_attack = false func _on_attack_cooldown_timeout() -> void: can_attack = true