Hi Nom,
I wanted to give some feedback on the StanceDance functionality - using 3 seconds to calculate the damage taken is a very fast way to determine the proper stance, but it obviously limits the function's predictive power. I run with a 10m group, which limits the number of bosses I can test (because I frequently tank), but I have noticed the following:
It works very well when taking unexpected damage over time. For example, standing in Superheated on H Siegecrafter.
It works reasonably well when taking expected damage over time. For example, Garrosh's whirling corruption.
The average over 4 samples was:
Berserker stance cast 1.69 seconds after whirling corruption begins.
Berserker stance cast 0.96 seconds after first taking damage from whirling corruption (3 ticks).
Battle stance cast 1.95 seconds after Garrosh stops whirling corruption.
Battle Stance cast 1.61 seconds after last damage taken from whirling corruption.
On some encounters, it works poorly when taking expected damage in a single hit. For example, H Thok is broken for at least 8 stacks of acceleration.
The function misses the acceleration casts entirely (ie; battle stance when Thok finishes cast, Berserker before he begins cast) beginning at 4 stacks because of the decreasing time between casts and the cooldown on stance changing.
I don't believe this is a problem that can be resolved by changing the damageoverthreeseconds variable to something greater than 3 without breaking its functionality in other situations.
Also, I do not know if the problem persists beyond 8 stacks because I manually intervened when I saw what the routine was doing.
I'm not really sure how to fine tune this function without making the code extremely bloated (separate conditions for each boss). If I think of anything I'll let you know!
I wanted to give some feedback on the StanceDance functionality - using 3 seconds to calculate the damage taken is a very fast way to determine the proper stance, but it obviously limits the function's predictive power. I run with a 10m group, which limits the number of bosses I can test (because I frequently tank), but I have noticed the following:
It works very well when taking unexpected damage over time. For example, standing in Superheated on H Siegecrafter.
It works reasonably well when taking expected damage over time. For example, Garrosh's whirling corruption.
The average over 4 samples was:
Berserker stance cast 1.69 seconds after whirling corruption begins.
Berserker stance cast 0.96 seconds after first taking damage from whirling corruption (3 ticks).
Battle stance cast 1.95 seconds after Garrosh stops whirling corruption.
Battle Stance cast 1.61 seconds after last damage taken from whirling corruption.
On some encounters, it works poorly when taking expected damage in a single hit. For example, H Thok is broken for at least 8 stacks of acceleration.
The function misses the acceleration casts entirely (ie; battle stance when Thok finishes cast, Berserker before he begins cast) beginning at 4 stacks because of the decreasing time between casts and the cooldown on stance changing.
I don't believe this is a problem that can be resolved by changing the damageoverthreeseconds variable to something greater than 3 without breaking its functionality in other situations.
Also, I do not know if the problem persists beyond 8 stacks because I manually intervened when I saw what the routine was doing.
I'm not really sure how to fine tune this function without making the code extremely bloated (separate conditions for each boss). If I think of anything I'll let you know!