Quote Originally Posted by Kevee View Post
I can't offer any real input on the topic, besides the fact that I agree with Alcyon_Densetsu about casting and client-side issues.

What may be happening, that was recently brought it, is that SE is using some over-complicated system. Perhaps when you press the key, on the client, it defaults to start a cast. The client assumes the server is going to get the command, and it's "correct". However, the cast completion and time is brought on by the server. So, until the server tells the client, "No, you're moving. Cast canceled." So it checks 2 different things for a single cast? I may have worded this wrong, or said the example wrong, but what I mean is that for a single action it can be using both live-states.
You can mess around with it by getting in-game, turning off your router (you'll have a bit of time before the client figures out it's no longer connected), and run around casting something like Stoneskin. The client doesn't care and has no problem letting you run along while casting (and it will even apply the effect). If you are lagging horribly (get a few torrents downloading for example), you can get the same result even if you are still connected to the server - because neither the client nor the server care if the "interrupt casting" check from the server makes it in time. The client will still apply the effect and the server won't argue after the fact.

It can't be anything other than a simple check the server makes: Client tells server character is casting a spell so other clients can see the casting animation. Client updates server with location. .3 seconds later: client updates server with new location. Server sees location has changed and checks if previous casting action is allowed when moving. Sends notification that the client should interrupt casting if no. Doesn't do a thing if answer is yes.

Or maybe I'm misunderstanding what the confusion is with casting and moving?