-
-
Notifications
You must be signed in to change notification settings - Fork 2
Why use SwedgeTimer
Prior to SwedgeTimer, most ret paladins in BCC typically used WeakAura-based swing timer bars. Moving to SwedgeTimer offers some advantages for the player in both PvE and PvP scenarios.
The WeakAuras swing timer is built to rely on the UNIT_ATTACK_SPEED triggers in the WoW API that broke in the Zul Aman patch, and have not been fixed. This can be partially fixed through the use of the ZA Patch Fixer WA, which when installed modifies other WeakAuras in-place to use the alternate UNIT_AURA triggers.
While this fixes many haste issues with the swing timer, there do exist edge cases that remain broken, and the fix can cause taint issues. The UNIT_AURA triggers can also trigger before the attack speed changes in the relevant WoW API endpoint, leading to unexpected behaviour in WeakAuras with the ZA Patch Fix installed.
SwedgeTimer is built from the ground up to use alternate triggers that can still efficiently provide a full description of the player's current state, in ways that automatically account for the limitations of the WoW API.
Traditional WeakAura swing timers do not recognise that the player's swing timer is reset by many of our own abilities. The most notable of these is Repentance, a crucial ability in PvP play. Using a WeakAura bar, players must guess when a swing is up after casting Repentence, impacting the player's ability to promptly re-open with a twist following a cast.
SwedgeTimer correctly resets the paladin's swing timer upon any relevant ability cast. These are specifically:
- Repentance
- Holy Wrath
- Hammer of Justice
- Holy Light
- Flash of Light
- Turn Evil/Undead
SwedgeTimer also understands that if a player is casting and in the attacking state when the swing timer reaches zero, but then the cast is cancelled, the player's swing timer is still reset as if the player had swung when the timer reached zero.
Seal of the Crusader (SotC) uses haste snapshotting to prevent taking advantage of the shortened attack timer by switching to (or from) another seal mid-swing. This means that when you begin a swing outside of SotC, casting it midswing will not shorten the remaining duration of the swing (and vice versa with leaving SotC)
The WeakAuras swing timer does not account for this, and will update your haste as soon as you switch seals, showing the wrong swing timer information until the next swing when the snapshotting falls off.
As such, rets commonly use a patched version of WeakAuras, with the patched generictrigger.lua
file being available on the Light Club and other paladin discords.
SwedgeTimer handles crusader haste snapshotting implicitly, meaning no need to manually patch WeakAuras after every release for users, and no need for the patch maintainers to ensure compatibility with new WeakAura versions.
If a user wishes to customise the appearance of their chosen WeakAura swing timer, the configuration inside WeakAuras is very flexible, but can be difficult for new users to keep track of and control. This customisation must be done by the user each time the WeakAura author updates their release, as there is no way to persist appearance customisation in WeakAuras.
SwedgeTimer's bar can be customised to the same extent that WeakAura swing timer bars can be, but your appearance customisation is permanent, and will persist through updates to the addon.
The SwedgeTimer bar's GCD and twist window markers can be positioned via an intuitive settings menu, such that a user can manually input a given time offset to account for their lag, or can use a dynamic offset based on their current latency to the game world.
SwedgeTimer keeps track of your world latency, and can compare it to the time remaining on your swing once any active GCD expires. Using this information, SwedgeTimer can detect late twists before they happen, alerting the user that they are locked into a Seal of Command swing before they ruin their twist with a late Seal of Blood cast.
SwedgeTimer allows the user to visualise the period in their swing where it may be too late to twist due to latency. In conjunction with the lag alert system, this allows the user to prevent themselves from swinging in command more reliably.