How the HeroRotation Pulse mechanism works
thewarwithinThe core logic of the addon runs on a periodic cycle called a Pulse.
- Trigger: The
HR.Pulsefunction is called via anOnUpdatescript on theMainFrame. - Timing: The pulse occurs after a delay defined by
HR.Timer.Pulse. The next pulse is scheduled usingGetTime() + HL.Timer.PulseOffset. - Execution: During a pulse, the addon:
- Resets icons via
HR.ResetIcons(). - Checks if the player is
Ready()(not dead, not in a vehicle, etc.). - If ready and the addon is enabled (
HR.ON()), it resets theHeroCacheand executes the current specialization's APL (Action Priority List) viaHR.APLs[SpecID]().
- Resets icons via
- Manual Override: You can force a specific delay before the next pulse using
HR.ChangePulseTimer(Offset).
-- Force the next rotation check to happen in 2 seconds
HR.ChangePulseTimer(2)