Skip to content

Commit

Permalink
Progress Source: Only use additinalProgress (aka overlays) in auto mode
Browse files Browse the repository at this point in the history
When the progress source is set to a specific trigger's state variable,
overlays are not shown.

This was the intended design as overlays are somewhat deprecated.

Fixes: #5198
  • Loading branch information
InfusOnWoW committed Jul 6, 2024
1 parent 6f4080d commit 04f462b
Showing 1 changed file with 19 additions and 6 deletions.
25 changes: 19 additions & 6 deletions WeakAuras/RegionTypes/RegionPrototype.lua
Original file line number Diff line number Diff line change
Expand Up @@ -385,6 +385,7 @@ local function UpdateProgressFromState(self, minMaxConfig, state, progressSource
local inverseProperty = progressSource[6]
local pausedProperty = progressSource[7]
local remainingProperty = progressSource[8]
local useAdditionalProgress = progressSource[9]

if progressType == "number" then
local value = state[property]
Expand Down Expand Up @@ -419,7 +420,11 @@ local function UpdateProgressFromState(self, minMaxConfig, state, progressSource
self:UpdateValue()
end
if self.SetAdditionalProgress then
self:SetAdditionalProgress(state.additionalProgress, adjustMin, max, false)
if useAdditionalProgress then
self:SetAdditionalProgress(state.additionalProgress, adjustMin, max, false)
else
self:SetAdditionalProgress(nil)
end
end
elseif progressType == "timer" then
local expirationTime
Expand Down Expand Up @@ -469,7 +474,11 @@ local function UpdateProgressFromState(self, minMaxConfig, state, progressSource
self:UpdateTime()
end
if self.SetAdditionalProgress then
self:SetAdditionalProgress(state.additionalProgress, adjustMin, max, inverse)
if useAdditionalProgress then
self:SetAdditionalProgress(state.additionalProgress, adjustMin, max, inverse)
else
self:SetAdditionalProgress(nil)
end
end
elseif progressType == "elapsedTimer" then
local startTime = state[property] or math.huge
Expand Down Expand Up @@ -503,13 +512,17 @@ local function UpdateProgressFromState(self, minMaxConfig, state, progressSource
self:UpdateTime()
end
if self.SetAdditionalProgress then
self:SetAdditionalProgress(state.additionalProgress, adjustMin, max, false)
if useAdditionalProgress then
self:SetAdditionalProgress(state.additionalProgress, adjustMin, max, false)
else
self:SetAdditionalProgress(nil)
end
end
end
end

local autoTimedProgressSource = {-1, "timer", "expirationTime", "duration", "modRate", "inverse", "paused", "remaining"}
local autoStaticProgressSource = {-1, "number", "value", "total", nil, nil, nil, nil}
local autoTimedProgressSource = {-1, "timer", "expirationTime", "duration", "modRate", "inverse", "paused", "remaining", true}
local autoStaticProgressSource = {-1, "number", "value", "total", nil, nil, nil, nil, true}
local function UpdateProgressFromAuto(self, minMaxConfig, state)
if state.progressType == "timed" then
UpdateProgressFromState(self, minMaxConfig, state, autoTimedProgressSource)
Expand Down Expand Up @@ -560,7 +573,7 @@ local function UpdateProgressFromManual(self, minMaxConfig, state, value, total)
self:UpdateValue()
end
if self.SetAdditionalProgress then
self:SetAdditionalProgress(state.additionalProgress, adjustMin, max)
self:SetAdditionalProgress(nil)
end
end

Expand Down

0 comments on commit 04f462b

Please sign in to comment.