Alter/Stacking Trinket reference accurate behavior #1246
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.
NOTE - Alter Time has a bugged interaction in game with Stacking proc trinkets. If the buff expires while in Alter Time, the restore will only restore the snapshot value for the equivalent of a single tick, at which point it will remove all benefit from the buff. This approximates this behavior for live testing of trinket comparisons for mages.
This pull request introduces a new
OnRestorecallback for auras, enabling more accurate restoration of aura state, especially for auras with periodic actions and stacking behavior. This change is primarily aimed at fixing bugs related to aura restoration (such as the "Alter Time" mechanic), ensuring that periodic effects and stacks are handled correctly when an aura's state is saved and later restored. The update also includes adjustments to simulation result files reflecting the new aura handling.Aura system enhancements:
OnRestorecallback to theAurastruct and its type definition, allowing custom logic when restoring an aura's state [1] [2].activatemethod with atriggerOnGainflag, enabling activation without triggering immediate effects during restoration [1] [2].AuraStatestruct to include aSnapshotTimefield, so restoration logic can determine if the original aura would have expired [1] [2].Stacking aura restoration fixes:
NewTemporaryStatBuffWithStacksto use the newOnRestorecallback, ensuring correct behavior for stacking auras when restored (e.g., after "Alter Time"), including handling the bugged case where the aura expired during the snapshot [1] [2].Simulation results updates:
.resultsfiles for Mage (Arcane, Fire, Frost), Monk (Brewmaster, Windwalker), and Paladin (Retribution) to reflect changes in aura handling, resulting in minor adjustments to DPS, TPS, and HPS values [1] [2] [3] [4] [5] [6] [7] [8] [9].