Skip to content

Commit

Permalink
Temporary band-aid to superforce updates for Heating Up and Hot Strea…
Browse files Browse the repository at this point in the history
…k, as well as on any successful cast.

Also, tweak Mage Fire APL to avoid an unnecessary Pyro hardcast.
  • Loading branch information
Hekili committed Apr 1, 2020
1 parent c5c68ad commit 230113f
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 12 deletions.
18 changes: 9 additions & 9 deletions Classes/MageFire.lua

Large diffs are not rendered by default.

6 changes: 5 additions & 1 deletion Events.lua
Original file line number Diff line number Diff line change
Expand Up @@ -1340,7 +1340,7 @@ local function CLEU_HANDLER( event, _, subtype, _, sourceGUID, sourceName, _, _,
if aura_events[ subtype ] then
if subtype == "SPELL_CAST_SUCCESS" or state.GUID == destGUID then
state.player.updated = true
if class.abilities[ spellID ] or class.auras[ spellID ] then Hekili:ForceUpdate( subtype ) end
if class.abilities[ spellID ] or class.auras[ spellID ] then Hekili:ForceUpdate( subtype, true ) end
end

if UnitGUID( 'target' ) == destGUID then
Expand All @@ -1358,6 +1358,10 @@ local function CLEU_HANDLER( event, _, subtype, _, sourceGUID, sourceName, _, _,
ns.trackDebuff( spellID, destGUID, time, true )
ns.updateTarget( destGUID, time, sourceGUID == state.GUID )

if spellID == 48108 or spellID == 48107 then
Hekili:ForceUpdate( "SPELL_AURA_SUPER", true )
end

elseif subtype == 'SPELL_PERIODIC_DAMAGE' or subtype == 'SPELL_PERIODIC_MISSED' then
ns.trackDebuff( spellID, destGUID, time )
if Hekili.currentSpecOpts and Hekili.currentSpecOpts.damageDots then
Expand Down
6 changes: 4 additions & 2 deletions UI.lua
Original file line number Diff line number Diff line change
Expand Up @@ -819,10 +819,11 @@ do
local throttle = spec.throttleRefresh and ( 1 / spec.maxRefresh ) or ( 1 / 20 )
local refreshRate = max( throttle, state.combat == 0 and oocRefresh or icRefresh[ self.id ] )

if self.refreshTimer < 0 or ( Hekili.freshFrame and self.criticalUpdate and ( now - self.lastUpdate > throttle ) ) then
if self.refreshTimer < 0 or ( self.id == "Primary" or self.id == "AOE" ) and self.superUpdate or ( Hekili.freshFrame and self.criticalUpdate and ( now - self.lastUpdate > throttle ) ) then
Hekili:ProcessHooks( self.id )
self.lastUpdate = now
self.criticalUpdate = false
self.superUpdate = false
self.refreshTimer = refreshRate
end
end
Expand Down Expand Up @@ -1628,9 +1629,10 @@ do

local firstForceRequest = 0

function Hekili:ForceUpdate( event, ... )
function Hekili:ForceUpdate( event, super )
for i, d in pairs( ns.UI.Displays ) do
d.criticalUpdate = true
if super then d.superUpdate = true end
if d.firstForce == 0 then d.firstForce = GetTime() end
end
end
Expand Down

0 comments on commit 230113f

Please sign in to comment.