WeakAuras

WeakAuras

206M Downloads

Weapon Swing Timer incorrect behavior with haste buffs

Bakamaka11 opened this issue ยท 9 comments

commented

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:

  1. I have Heroism/BL (Swing timer shows 2.5 attack speed).
  2. I hit the target (2.5s swing timer)
  3. Heroism/BL ends (Swing timer instantly adjusts to 3.6 attack speed for current attack)
  4. 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

  1. Turn on swing timer
  2. Start attacking any target
  3. Use attack speed increase buff
  4. Watch precisely at swing bar when haste buff about to expire
  5. 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

commented

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

commented

I don't think that matter at all

commented

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)

commented

That's a lot of assumptions, we can't work on that.

commented

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 :)

commented

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.

commented

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.

commented

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.

commented

If you have videos showing what you think is true is true, you can open a ticket, or better make a PR.