Skip to content

Conversation

@Saji-Saji
Copy link

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 OnRestore callback 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:

  • Added a new OnRestore callback to the Aura struct and its type definition, allowing custom logic when restoring an aura's state [1] [2].
  • Refactored aura activation logic by introducing an internal activate method with a triggerOnGain flag, enabling activation without triggering immediate effects during restoration [1] [2].
  • Extended the AuraState struct to include a SnapshotTime field, so restoration logic can determine if the original aura would have expired [1] [2].

Stacking aura restoration fixes:

  • Updated NewTemporaryStatBuffWithStacks to use the new OnRestore callback, 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:

  • Updated .results files 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].

- Add OnRestore callback to Aura for proper state restoration
- Refactor Activate into public method and internal activate(sim, triggerOnGain)
- Update RestoreState to use OnRestore when available
- Update NewTemporaryStatBuffWithStacks with OnExpire and OnRestore callbacks

Fixes issues with Wushoolay's Final Choice trinket and similar stacking
proc trinkets when used with Alter Time.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant