Quote Originally Posted by ProfessorCat View Post
Each one of these errors takes place when you try to use a skill, and the client doesn't like one of these statuses. That's fine, but why does it trigger the cool down of that skill on top of preventing the skill form taking place.
I think it's not the client that doesn't like it, but the server. When you try to use the ability, the client is happy and let you do it, but the server knows better and rejects the request. The client is just lagging behind and does not have all up-to-date info instantly.

From the client perspective, you used the ability, so it should be on cooldown.

Possible solutions:
  1. For the distance issue, save the mob's position in the last few milliseconds server-side, and add a timestamp to the request sent from the client. This way the server knows the client had a valid distance when you tried to use the ability.
  2. For the third party accelerator, a customizable delay of a few milliseconds added to all your cooldowns. It'd slow you down a bit, but would ensure you're not too fast. Default to zero delay of course.
  3. For the power issue, it could be handled he same way as the distance issue, I guess.


Another solution would be the server telling the client "this ability failed, you can reset the cooldown", but it might open some exploit. I'm not too sure about that.