Weapon Swing Timer incorrect behavior with haste buffs
Bakamaka11 opened this issue ยท 9 comments
Description
If you have any haste buff (Heroism/BL, Haste potion and etc) expiring on you during the swing - the swing timer adjusts automatically to the normal speed, but in reality that one last swing during which the haste buff ended is still "hasted" and therefore Weapon Swing Timer shows incorrect info.
So something like that is happening:
- I have Heroism/BL (Swing timer shows 2.5 attack speed).
- I hit the target (2.5s swing timer)
- Heroism/BL ends (Swing timer instantly adjusts to 3.6 attack speed for current attack)
- The hit still happens in 2.5s, even tho swing timer showed me 3.6 attack speed.
This happens for every class, but especially important for paladins as wrong info on swing timer resulting into failing seal twist.
WeakAuras Version
WeakAuras 3.5.0
World of Warcraft Flavor
The Burning Crusade
Tested with only WeakAuras
- Yes
- No
Lua Error
No response
Reproduction Steps
- Turn on swing timer
- Start attacking any target
- Use attack speed increase buff
- Watch precisely at swing bar when haste buff about to expire
- During the last swing under the buff, WA will automatically adjust to normal attack speed, but in reality the swing will happen at hasted speed (resulting into swing timer filling bar reset at ~70% progress if you had Heroism/BL for example).
Attack speed buffs which can be used: Shaman's Heroism/Bloodlust, Haste Potion, Seal of The Crusader (that one probably the easiest since requries only 6 lvl paladin) and etc.
Last Good Version
No response
Screenshots
No response
Export String
No response
Will do that, but will take some time until i can do it.
But let me tell you, i am pretty shure that this change here shouldnt make its way into the add on like this.
Just test it with a paladine and Devine Shield and you will see why
Hm, what do you mean? ^^
The change makes the swing timer not update on any attackspeed changes during swings, right?
But most (when not all effects except SoC) update the swingspeed during swings.
What currently seams to be the problem is the following:
If i am at 50% of my swing and the attackspeed changes, i should be at 50% of the swing with the new attack speed.
Example: 3.5s attackspeed -> 1.75s/3.5s into the swing -> 100% attack speed increase -> 1.875s/1.75s into the swing
I didnt spotted why this is not working correctly yet because i dont have the time right now but in my belive, that will fix most of the timing issues the swing timer has atm.
(Except SoC which maybe the only special one where the attackspeed change is only applied and removed at swings)
You are right, it is vague because I don't have the time right now to do it the right way. My main point was that neither you or me fully investigated the issues and that making a change without having all the informations needed is just not an good idea. That's not to blame anyone but just saying that more information is needed to fix or change the swing timer behavior :)
That's a lot of assumptions, we can't work on that.
In this case TheSorm is right, this change will break multiple haste effects in TBC which are not snapshotted at the start of a swing but instead update remaining swing duration dynamically when they are applied / removed mid-swing.
You would need to specifically add the IDs of auras that do not snapshot, a catch-all solution like this creates the opposite problem from the bug originally reported.
We need proof, data, videos, spell ids, etc..
My main point was that neither you or me fully investigated the issues and that making a change without having all the informations needed is just not an good idea
That's why i'm closing this issue, please open a new one with all needed information.
I am pretty shure that is not an valid fix!
Devine Shield for example will be breaking the swing timer completly now since it changes the attack speed mid swing when its applied and when its taken off.
On the other hand we have Seal of crusader which is snapshoted in both ways. When you apply SoC mid swing, the attack speed effect will only be applied after the next swing. When taking it off mid swing, the attack speed bonus stays on until the next swing.
And than there are trinkets like abakus where i am pretty shure they work more like devine shield without any snapshotting.
There is a lot more testing needed i suppose to find out what is snapshoted in what way.