When you have a skill on queue and the normal attack is ending but you don't have the mp for the skill your character is stucking so you have to tell to the function to check the mp
On PlayerAI.java change the
if ((queuedSkill != null))
to
if ((queuedSkill != null) && (currPlayer.getCurrentMp() >= currPlayer.getStat().getMpInitialConsume(queuedSkill.getSkill())))
so the function is checking if you have the needed MP for the queued skill after your normal attack because when it doesn't check the player stucks and he have to move to unstack so he can attack again.
Also on the file RequestTargetCanceld.java
use that code in the if (_targetLost)
final SkillUseHolder queuedSkill = player.getQueuedSkill();
if (queuedSkill != null)
{
player.setQueuedSkill(null, null, false, false);
}
with that way your character is not getting stucked when he has his target removed but he is still attacking and he has a skill on queue, you are not casting the queued skill as you supposed to but at least you continue to attack and you are not getting stucked. If someone has the time to make it cast the skill too that would be nice because im doing some other things now.