¿Como hacer que estos 2 modos, funcionen bien juntos?

Busco una ayuda de como combinar o hacer que dos códigos o estados de mi juego funcionen juntos, porque ambos se causan problema el uno con el otro, el del lado izquierdo (Monstruo deambulando) y el de la derecha (Perseguir al jugador). mas abajo le dejare los código. Me serian de mucha ayuda.

Video

Monstruo Deambulando

extends CharacterBody2D
class_name Movimiento_Enemigo

var Estado_Actual
enum Estado_Enemigo {MoviArriba, MoviAbajo, MoviDerecha, MoviIzquierda}
@export var Velocidad = 30
var dir

func _physics_process(_delta):
	
	match Estado_Actual:
		Estado_Enemigo.MoviArriba:
			Movi_Arriba()
		Estado_Enemigo.MoviAbajo:
			Movi_Abajo()
		Estado_Enemigo.MoviDerecha:
			Movi_Derecha()
		Estado_Enemigo.MoviIzquierda:
			Movi_Izquierda()
			
	move_and_slide()

func Gereneracion_Random():
	dir = randi() % 4
	Direction_Random()

func Direction_Random():
	match dir:
		0:
			Estado_Actual = Estado_Enemigo.MoviArriba
		1:
			Estado_Actual = Estado_Enemigo.MoviAbajo
		2:
			Estado_Actual = Estado_Enemigo.MoviDerecha
		3:
			Estado_Actual = Estado_Enemigo.MoviIzquierda

func Movi_Arriba():
	velocity = Vector2.UP * Velocidad
	$Antd_WM_M.play("WM_M_Ar")
	
func Movi_Abajo():
	velocity = Vector2.DOWN * Velocidad
	$Antd_WM_M.play("WM_M_Ab")
	
func Movi_Derecha():
	velocity = Vector2.RIGHT * Velocidad
	$Antd_WM_M.play("WM_M_D")
	
func Movi_Izquierda():
	velocity = Vector2.LEFT * Velocidad
	$Antd_WM_M.play("WM_M_I")

Monstruo Perseguir

extends CharacterBody2D
var Personajes = null
var Movimiento = Vector2.ZERO
@export var Velocidad = 100
	
func _physics_process(_delta):
	Movimiento = Vector2.ZERO
	
	if Personajes != null:
		Movimiento = position.direction_to(Personajes.position)
		$"Antd_WM_S".play("WM_S_C")
	else:
		Movimiento = Vector2.ZERO
		$"Antd_WM_S".play("WM_S_Q")
	
	Movimiento = Movimiento.normalized() * Velocidad
	set_velocity(Movimiento)
	move_and_slide()
	Movimiento = Velocidad
	
func _on_area_wm_s_body_entered(body):
	if body != self:
		Personajes = body

func _on_area_wm_s_body_exited(body):
	Personajes = null