Thank you for your help!
Conditions should be in this order:
Yes and they are. However, once the enemy moves, it typically tries to move again while it is already moving. This causes the enemy to think it is moving twice, when it is only moving once, and subtracting from the variable ValueLeft. The enemy then moves a smaller distance then intended.
I am double-checking stuff such as ValueLeft because after the enemy moves, it needs to make sure that it isn't moving and still has some of the var ValueLeft.
Anyway, I do think I fixed the issue. I created yet another variable that does the same thing as what "X Tiled Movement is moving" and it seems to work. I will post an updated pic of the code later today. I am still having issues, so don't go away folks!