Cast, instant cast, *negative-time* cast!

More combat log weirdness.
Even more weird since it cannot be due to multiple clients having different latencies and the lag-compensation code messing the timestamps: here I am healing *myself*:

10/17 00:17:00.970  SPELL_HEAL,0x0180000001B138CB,"Helistar",0x511,0x0,0x0180000001B138CB,"Helistar",0x511,0x0,5185,"Healing Touch",0x8,92919,0,0,nil
10/17 00:17:00.991  SPELL_CAST_START,0x0180000001B138CB,"Helistar",0x511,0x0,0x0000000000000000,nil,0x80000000,0x80000000,5185,"Healing Touch",0x8

The healing touch healed me 21ms *before* I even cast it.....
In the best of worlds we would have SPELL_CAST_START followed by SPELL_CAST_SUCCESS and then SPELL_...whatever effect it does...
Or maybe, for an instant spell we could just have the effect, or if we really want to keep track of client/server latency, SPELL_CAST_START followed by the spell effect.
Clearly, we are not in the best of worlds.
Before you ask: yes, this makes for nightmarish scenarios where some poor piece of code sees a cast_start and hopefully waits (forever...) for the spell effect to take place (solution: ignore the cast_start).  It's bit like the horrible consistency errors you get on bosses like Ultraxion or Gara'jal where the logs of players from one "dimension" are missing all the information about those in the other dimension, leading to all possible aura-uptime consistency failures....

No comments:

Post a Comment