Target switching
anna-sunberg opened this issue ยท 16 comments
After switching target I see DoT timers for the old target. It updates only when I DoT the new target.
I'm experiencing the same behaviour:
If I apply a DoT to a foe, the red "debuff" border and associated duration text will remain even if I swap targets to another foe, regardless of whether or not the new enemy has that bebuff.
The red border does go away normally if I swap from an enemy to an ally (or no target).
Likewise, if I apply a buff to an ally, switching to any other target properly updates the green "buff" border based on the new target.
Is this intended behaviour, or a bug that I might want to look into, and try to code a fix for?
Update: Did some further testing on a survival hunter, using black arrow and arcane shot (for the serpent sting debuff) on two unoccupied Stormwind Training Dummies, so they woulnd't die during the test.
- Target dummy A. None of my buttons glow yet, since I haven't cast anything.
- Cast black arrow, arcane shot on dummy A: Both buttons light up, show durations for dummy A.
- Switch target to dummy B: Both buttons stay lit, their durations showing dummy A's values. (bug)
- Cast arcane shot on dummy B: Black arrow stops glowing duration hidden. Arcane shot still glows, duration updated to dummy B's.
- Switch target to dummy A: Black arrow starts glowing again, arcane shot still glows. Both durations show the correct values for dummy A.
- Switch target to dummy B: Black arrow still glows, shows dummy A duration. (bug) Arcane shot still glows, shows dummy B duration. (ok)
My conclusions:
When a debuff is applied or fades (UNIT_AURA event), all buttons get updated with the correct current unit.
When swapping targets (PLAYER_TARGET_CHANGED?), any buttons whose aura is present in the new target are updated correctly. Any buttons whose aura is not present in the new target do NOT get updated.
Yeah it's testable with Survival and Serpent Sting. Just Arcane shot a dummy then target another dummy quickly. If it doesn't reveal the bug instantly just click back and forth a couple of times.
Applying any other debuff to the phantom sting target will remove the fake aura. Tullarange also has a similar bug; not sure if it's related.
This doesn't happen on my Warrior at all. Can it be reproduced with Priest, DK, Druid or Hunter?
I have done my testing on a shadow priest, using Vampiric Touch for a debuff, on random fire elementals in the Molten Front daily area.
I tried both swapping to an enemy with the same name as the debuffed one, and an enemy with a different name. The result is the same.
For buffs, I tested with power word: shield (which I now realize was a bad choice, since it uses a non-standard rule).
Thanks for the detailed report. This may be related to the aura caching I added some times ago, or a change in PLAYER_TARGET_CHANGED. Going to investigate.
Timers still don't always update when switching target. The bug doesn't occur every time and only if I switch to another foe with no debuffs from me.
E.g. when dotting one dummy and targeting another I see the old timers. But if I spam Tab mindlessly after a few switches to Dummy2 timers will update for him and keep updating correctly on every target change.
This bug also affects the hint overlays. So it's not restricted to good/bad/flash.
The 'execute' rules for DK and Warrior, for example, will continue to flash after your target dies and you exit combat. If you exchange the 'flash' for a 'hint' the bug is still present but the hint is cleared when you leave combat.
So this not specific to auras as the Execute hint is only health-based. The hints are automatically hidden when leaving combat so this part works well, at least.