Could somebody explain why a signal not connected to the player character is affecting it

Godot Version

v4.2.2.stable.official [15073afe3]


To set the scene, I am creating a game where the player slides around avoiding walls and other obstacles while dodging ai

I created a scene for both the AI and player characters (Character Body 2D.)
Each scene has their own Area2D (to detect collisions), each named different things (charge_area for AI, player_area for the player)

For the last few days, this has been working but now, the AI signal is somehow overwriting the player signal. Meaning that, while the movement code for the player is working, the player colliding with any other 2D body does nothing. However RANDOMLY it does for some reason???

Godot keeps referencing “await get_tree().create_timer(0.01).timeout”, which is in a loop to charge at the player until it hits a wall.
func CHARGE():
holdVect = Demo.velocity
await get_tree().create_timer(0.01).timeout
Demo.velocity = Demo.velocity * 1.05

while collision == 0:
#charged and D_end is to stop any other code from rerunning
charged = 1
ahead = 0
await CHARGE()
D_end = 1

I have no idea what is the issue as I have done minimal work on the player file. Resignaled the players signals. Both signals are on different scenes so… please god someone help

I accidentally reposted this again so I have 2 posts

This has been solved