View Single Post
08-24-12, 02:04 PM   #243
dakalro
A Defias Bandit
Join Date: Jul 2012
Posts: 2
Can someone post in the US UI forums to ask if they plan on fixing the weird behaviour of UNIT_SPELLCAST_CHANNEL_UPDATE when it's triggered by Kil'jaeden's Cunning?
To explain - only DEX_DBG lines are events received, rest is extra debug data:
Start a channel
Code:
[22:43:10] DEX_DBG: UNIT_SPELLCAST_SENT
[22:43:11] DEX_DBG: UNIT_SPELLCAST_CHANNEL_START
[22:43:11] CHAN_START_NORM LEN=10.895s DURATION=10.894999999999s EXTRA TICK=-0.00010885071694666s
[22:43:11] DEX_DBG: UNIT_SPELLCAST_CHANNEL_UPDATE LEN=10.895ms LEFT=10.894999999999s STARTdelay=0s
[22:43:11] CHAN_UPDAT_NORM LEN=10.895s DURATION=10.894999999999s EXTRA TICK=-0.00010885071738365s HASTED=1.8158514751196s
Trigger Kil'jaeden's Cunning passive, all's OK
Code:
[22:43:14] DEX_DBG: UNIT_SPELLCAST_CHANNEL_UPDATE LEN=14.564ms LEFT=10.895999999999s STARTdelay=0s
[22:43:14] Found KC UPDATE
[22:43:14] CHAN_UPDAT_NORM LEN=14.564s DURATION=10.895999999999s EXTRA TICK=0.94511393660327s HASTED=2.7237772126793s
Recast under Kil'jaeden's Cunning
Initial UPDATE message, gives no KC length/ticks
Code:
[22:43:16] DEX_DBG: UNIT_SPELLCAST_SENT
[22:43:16] DEX_DBG: UNIT_SPELLCAST_CHANNEL_START
[22:43:16] Found KC START
[22:43:16] CHAN_START_NORM LEN=10.895s DURATION=10.895s EXTRA TICK=2.7236683619624s
[22:43:16] DEX_DBG: UNIT_SPELLCAST_CHANNEL_UPDATE LEN=11.444ms LEFT=11.444s STARTdelay=0s
[22:43:16] Found KC UPDATE
[22:43:16] CHAN_UPDAT_NORM LEN=11.444s DURATION=11.444s EXTRA TICK=0.54889114928262s HASTED=2.7237772126793s
Second UPDATE right after the first, gives length under KC
Code:
[22:43:16] DEX_DBG: UNIT_SPELLCAST_CHANNEL_UPDATE LEN=17.801ms LEFT=17.800999999999s STARTdelay=0s
[22:43:16] Found KC UPDATE
[22:43:16] CHAN_UPDAT_NORM LEN=17.801s DURATION=17.800999999999s EXTRA TICK=1.4583367239239s HASTED=2.7237772126793s
Stupid 3rd UPDATE, gives bad duration in LEFT (end - GetTime()), real debuff duration is that from previous update, and that's what stays on the dummy; and if you cast anything else then it gets removed.
Code:
[22:43:17] DEX_DBG: UNIT_SPELLCAST_CHANNEL_UPDATE LEN=17.801ms LEFT=11.136999999999s STARTdelay=6.3899999999994s
[22:43:17] Found KC UPDATE
[22:43:17] CHAN_UPDAT_NORM LEN=17.801s DURATION=11.136999999999s EXTRA TICK=1.4583367239239s HASTED=2.7237772126793s
[22:43:23] DEX_DBG: UNIT_SPELLCAST_CHANNEL_STOP
There is another possibility, that the 3rd event is the same event triggered when you are channeling and start moving (you get single event with new length and new time left, from updated channel speed). But in the current case it's wrong because you just recasted for a full duration, and the dummy has the full length debuf and you already get an update event with full length, full time left.
Not sure where the bug is, in channeled spell code or lua gathering of these events (bad state machine?)

I think this is the last piece I need to get proper cast bar functionality, for channels at least.