![]() The code provided reduced that to 30-40 ms, which is within the margin of error given batching and rounding errors. Testing on the PTR, the current implementation was consistently 100-180 ms off the actual swing time. That would involve setting the time of next swing equal to now + unitattackspeed("player") when the bar gets created, and then modifying it with the code that TheSorm linked when your attack speed is modified (the UNIT_ATTACK_SPEED event I suppose). Meanwhile, if you track the time of next swing individually, you can assess this issue. Time of next swing will be equal to last swing + duration for if your attack speed gets modified up to one time during that swing, no more. Think about it - last swing is a static value as soon as it is set, so if your attack speed gets modified twice in one swing (increase or decrease both work) one of the modifications is partially ignored, the time span for which it was active essentially does not get tracked. While that intuitively makes sense, it is actually incorrect. ![]() timeOfNextAutoAttack IS the same as lastwing+duration I've reproduced this issue without any other addons installed and with a fresh installation of WoW.Īll you changed is the multiplier. The blue swing timer above my health is the addon WeaponSwingTimer which doesn't have the issue. Spent the rest of my time trying to figure out if it was connected to an addon or anything in my WoW folder. I would just recommend testing in a dungeon against mobs you wont kill with the attacks instantly because that was the method I found. I never recall having it happen to me when I was practicing slam against the immortal guys in Blasted Lands, but I cant say for certain. Initially I tried to enter scholo on the PTR to test in the same scenario but didn't have the key so I went to Stratholme instead and that made it so the early resets would happen. I just know that when I was on Shattrah on the PTR it was working fine but when I tested on live while farming Dark Runes in Scholo it would happen consistently. I don't know what exactly it requires to happen. Look at how the Swing timer will either be done to early or to late.Use anything (except Seal of the Crusader) to change your attack speed mid swing.The Burning Crusade Tested with only WeakAuras WeakAuras 3.5 and 3.6 World of Warcraft Flavor Probably it is better to change how WeakAuras.GetSwingTimerInfo(hand) gets/calculates the time of the next swing. My fix is more of a prove of concept because when you parry a mob in the same swing as your attack speed changes, mainSwingOffset is overwritten which can lead to problems, so there is probably a better fix to this issue. So all in all what has to be done is reenabling the UNIT_ATTACK_SPEED event for BC, fixe the bug, look into the off hand and see if there is something simelar. If more information is needed or you want more evedince i can give that to you but that will take some time.īut what i stated is an obvious bug and i showed how to fix it. Because its calculating it with the attack speed that was modified during the swing as if the new attack speed was allready present at the begin of the swing.īecause of that, using mainSwingOffset to correct the time the next swing lands works. Now the problem is that the time that the next swing hits is calculated by lastSwingMain + swingDurationMain - mainSwingOffset while mainSwingOffset is 0, that leads to a wrong calculation of when the next swing should hit. ![]() It return the swing duration, the time the next swing will land and some other stuff. The error results from what the WeakAuras.GetSwingTimerInfo returns. It calculated the right time when the timer should expire.Į.g the swing was at 30% before the attack speed changed, the swing is also at 30% after the attack speed changes. The code to set the ScheduleTimerFixed was working correctly. To boil down why the swing timer was not working correctly under attack speed changes mid swing: SwingTimerFrame:RegisterUnitEvent("UNIT_ATTACK_SPEED", "player")
0 Comments
Leave a Reply. |
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |