Page 1 of 1

Interrupts

Posted: Thu Feb 12, 2015 5:05 am
by Londo
Finally figured out why some animations get stuck when interrupt is used.

When clients uses an ability, F_DO_ABILITY is sent. Original dyox code only reads first 23 bytes and ignore the rest. 24th byte has vital information, and that's CastSequence. Cast sequence must be sent in F_USE_ABILITY in the 18th byte. This way client knows which specific ability to affect. Client might have sent multiple abilities before server responded, so AbiliytID is not enough to identify which ability server is referring to, you also need sequence number that client assigns to each cast. (New CastSequence is generated each time hotbar is pressed, regardless if activity went off or on gcd).

25th byte through 29th byte is a clients current time. This important in calculating exact moment a projectile will collide (server needs to calculate damage at point of impact, not on initial cast).

Re: Interrupts

Posted: Thu Feb 12, 2015 10:19 am
by Mez
Hi

Re: Interrupts

Posted: Thu Feb 12, 2015 10:39 am
by Azarael
Known about cast sequence for a while and it should be implemented in the patch of this morning. It wasn't implemented sooner because using the sequence number required correctly implementing projectile speed/range in F USE ABILITY.