Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Core changes:
[core] replaced DelayMeleeUntil() by StopMeleeUntil(), to properly model how spell casts (usually) stop the swing timers during cast, and reset them afterwards
[core] replaced DelayMainhand/OffhandMeleeUntil() by DelayMeleeBy(), which simply delays all swing timers; it's used exclusively for Slam
[core] removed various unused helper methods from AutoAttacks, including DelayMeleeUntil(); slightly refactored UpdateSwingTime()
Better names wanted!
[core] spells with a cast time no longer ~delay auto attacks by default; it rarely happens, and those cases usually have special handling; plus, the handling was incomplete (missing instants and channels)
This could also be handled via SpellFlags, but that's rather tedious.
Related class changes:
[paladin] Exorcism always benefits from Benediction, not only during Art of War procs; added a StopMeleeUntil() for when it's hardcast
[shaman] Feral Spririt now has an ActivationFactory which resets the swing timers (StopMeleeUntil())
[shaman] the Fire Elemental's attack now also use StopMeleeUntil()
[warrior] Slam is using DelayMeleeBy()
[warrior] Shattering Throw is now modelled as (mostly) unavoidable melee attack, doesn't ignore armor anymore, and also resets the swing timers (StopMeleeUntil))
Two instances of Heroic Throw proccing Sudden Death:
"Classic" swing timer reset after Heroic Throw (syncing up main- and offhand swings):