enemy AI stops chasing after a certain distance

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By Maziraga

There’s an odd interaction between my player and the enemy AI when it comes to chasing. Basically in the scene where the enemy and player is together, it will come close to the player right until it gets to the same distance as when they were first placed in the scene. so for example if my enemy was 5 inches away from the player when i placed it on the scene, it will only chase the player up until the enemy is 5 inches away from the player. if the player tries to get close the enemy will try to move away and get to that 5 inch distance. here is the code i am using for the enemy

	extends KinematicBody2D

var player = null
var move = Vector2.ZERO
var speed = 200

func _physics_process(delta):
	move = Vector2.ZERO
	if player != null:
		move = position.direction_to(player.position) * speed
		move = Vector2.ZERO
	move = move.normalized()
	move = move_and_collide(move)

func _on_Area2D_body_entered(body):
	if body != self:
		player = body

func _on_Area2D_body_exited(body):
	player = null

if it matters, here is the player code

	extends KinematicBody2D

var movespeed = 400
var friction = 0.05
var acceleration = 0.1
var velocity = Vector2()
var righthand = true
onready var animationplayer = $AnimationPlayer

func get_input():
	var input = Vector2()
	if Input.is_action_pressed("UP"):
		input.y -= 1
	if Input.is_action_pressed("DOWN"):
		input.y += 1
	if Input.is_action_pressed("LEFT"):
		input.x -= 1
	if Input.is_action_pressed("RIGHT"):
		input.x += 1
	return input
func _physics_process(delta):
	var direction = get_input()
	if direction.length() > 0:
		velocity = lerp(velocity, direction.normalized() * movespeed, acceleration)
		velocity = lerp(velocity, Vector2.ZERO, friction)
	velocity = move_and_slide(velocity)

func _process(delta):
	if Input.is_action_just_pressed("ATTACK"):
		if righthand == true:
			animationplayer.play("Attack left hand")
			yield(animationplayer, "animation_finished")
			animationplayer.play("Idle hands")
			righthand = false
		elif righthand == false:
			animationplayer.play("Attack right hand")
			yield(animationplayer, "animation_finished")
			animationplayer.play("Idle hands")
			righthand = true
:bust_in_silhouette: Reply From: Inces

use global_position