from retail
This commit is contained in:
+31
-18
@@ -150,7 +150,7 @@ Private.ExecEnv.BossMods.DBM = {
|
||||
end
|
||||
end
|
||||
if self.nextExpire then
|
||||
self.recheckTimer = timer:ScheduleTimer(self.RecheckTimers, self.nextExpire - now, self)
|
||||
self.recheckTimer = timer:ScheduleTimerFixed(self.RecheckTimers, self.nextExpire - now, self)
|
||||
end
|
||||
end,
|
||||
|
||||
@@ -214,11 +214,11 @@ Private.ExecEnv.BossMods.DBM = {
|
||||
WeakAuras.ScanEvents("BossMod_TimerStart", timerId)
|
||||
end
|
||||
if self.nextExpire == nil then
|
||||
self.recheckTimer = timer:ScheduleTimer(self.RecheckTimers, expirationTime - now, self)
|
||||
self.recheckTimer = timer:ScheduleTimerFixed(self.RecheckTimers, expirationTime - now, self)
|
||||
self.nextExpire = expirationTime
|
||||
elseif expirationTime < self.nextExpire then
|
||||
timer:CancelTimer(self.recheckTimer)
|
||||
self.recheckTimer = timer:ScheduleTimer(self.RecheckTimers, expirationTime - now, self)
|
||||
self.recheckTimer = timer:ScheduleTimerFixed(self.RecheckTimers, expirationTime - now, self)
|
||||
self.nextExpire = expirationTime
|
||||
end
|
||||
elseif event == "DBM_TimerStop" then
|
||||
@@ -261,11 +261,11 @@ Private.ExecEnv.BossMods.DBM = {
|
||||
WeakAuras.ScanEvents("BossMod_TimerResume", timerId)
|
||||
end
|
||||
if self.nextExpire == nil then
|
||||
self.recheckTimer = timer:ScheduleTimer(self.RecheckTimers, bar.expirationTime - GetTime(), self)
|
||||
self.recheckTimer = timer:ScheduleTimerFixed(self.RecheckTimers, bar.expirationTime - GetTime(), self)
|
||||
self.nextExpire = bar.expirationTime
|
||||
elseif bar.expirationTime < self.nextExpire then
|
||||
timer:CancelTimer(self.recheckTimer)
|
||||
self.recheckTimer = timer:ScheduleTimer(self.RecheckTimers, bar.expirationTime - GetTime(), self)
|
||||
self.recheckTimer = timer:ScheduleTimerFixed(self.RecheckTimers, bar.expirationTime - GetTime(), self)
|
||||
self.nextExpire = bar.expirationTime
|
||||
end
|
||||
end
|
||||
@@ -278,11 +278,11 @@ Private.ExecEnv.BossMods.DBM = {
|
||||
bar.duration = duration
|
||||
bar.expirationTime = expirationTime
|
||||
if self.nextExpire == nil then
|
||||
self.recheckTimer = timer:ScheduleTimer(self.RecheckTimers, bar.expirationTime - now, self)
|
||||
self.recheckTimer = timer:ScheduleTimerFixed(self.RecheckTimers, bar.expirationTime - now, self)
|
||||
self.nextExpire = expirationTime
|
||||
elseif self.nextExpire == nil or expirationTime < self.nextExpire then
|
||||
timer:CancelTimer(self.recheckTimer)
|
||||
self.recheckTimer = timer:ScheduleTimer(self.RecheckTimers, bar.expirationTime - now, self)
|
||||
self.recheckTimer = timer:ScheduleTimerFixed(self.RecheckTimers, bar.expirationTime - now, self)
|
||||
self.nextExpire = expirationTime
|
||||
end
|
||||
end
|
||||
@@ -290,6 +290,16 @@ Private.ExecEnv.BossMods.DBM = {
|
||||
if self.isGeneric then
|
||||
WeakAuras.ScanEvents("BossMod_TimerUpdate", timerId)
|
||||
end
|
||||
elseif event == "DBM_TimerUpdateIcon" then
|
||||
local timerId, icon = ...
|
||||
local bar = self.bars[timerId]
|
||||
if bar then
|
||||
bar.icon = icon
|
||||
end
|
||||
WeakAuras.ScanEvents("DBM_TimerUpdateIcon", timerId)
|
||||
if self.isGeneric then
|
||||
WeakAuras.ScanEvents("BossMod_TimerUpdateIcon", timerId)
|
||||
end
|
||||
elseif event == "DBM_SetStage" or event == "DBM_Pull" or event == "DBM_Wipe" or event == "DBM_Kill" then
|
||||
WeakAuras.ScanEvents("DBM_SetStage")
|
||||
if self.isGeneric then
|
||||
@@ -314,6 +324,7 @@ Private.ExecEnv.BossMods.DBM = {
|
||||
self:RegisterCallback("DBM_TimerPause")
|
||||
self:RegisterCallback("DBM_TimerResume")
|
||||
self:RegisterCallback("DBM_TimerUpdate")
|
||||
self:RegisterCallback("DBM_TimerUpdateIcon")
|
||||
end,
|
||||
|
||||
RegisterMessage = function(self)
|
||||
@@ -338,7 +349,7 @@ Private.ExecEnv.BossMods.DBM = {
|
||||
|
||||
ScheduleCheck = function(self, fireTime)
|
||||
if not self.scheduled_scans[fireTime] then
|
||||
self.scheduled_scans[fireTime] = timer:ScheduleTimer(self.DoScan, fireTime - GetTime(), self, fireTime)
|
||||
self.scheduled_scans[fireTime] = timer:ScheduleTimerFixed(self.DoScan, fireTime - GetTime(), self, fireTime)
|
||||
end
|
||||
end
|
||||
}
|
||||
@@ -443,7 +454,8 @@ Private.event_prototypes["DBM Timer"] = {
|
||||
type = "addons",
|
||||
events = {},
|
||||
internal_events = {
|
||||
"DBM_TimerStart", "DBM_TimerStop", "DBM_TimerUpdate", "DBM_TimerForce", "DBM_TimerResume", "DBM_TimerPause"
|
||||
"DBM_TimerStart", "DBM_TimerStop", "DBM_TimerUpdate", "DBM_TimerForce", "DBM_TimerResume", "DBM_TimerPause",
|
||||
"DBM_TimerUpdateIcon"
|
||||
},
|
||||
force_events = "DBM_TimerForce",
|
||||
name = L["DBM Timer"],
|
||||
@@ -530,7 +542,7 @@ Private.event_prototypes["DBM Timer"] = {
|
||||
state.changed = true
|
||||
return true
|
||||
end
|
||||
elseif event == "DBM_TimerUpdate" then
|
||||
elseif event == "DBM_TimerUpdate" or event == "DBM_TimerUpdateIcon" then
|
||||
local changed
|
||||
for timerId, bar in pairs(Private.ExecEnv.BossMods.DBM:GetAllTimers()) do
|
||||
if Private.ExecEnv.BossMods.DBM:TimerMatches(timerId, triggerText, triggerTextOperator, triggerSpellId, counter, triggerId, triggerDbmType) then
|
||||
@@ -806,7 +818,7 @@ Private.ExecEnv.BossMods.BigWigs = {
|
||||
end
|
||||
|
||||
if self.nextExpire then
|
||||
self.recheckTimer = timer:ScheduleTimer(self.RecheckTimers, self.nextExpire - now, self)
|
||||
self.recheckTimer = timer:ScheduleTimerFixed(self.RecheckTimers, self.nextExpire - now, self)
|
||||
end
|
||||
end,
|
||||
|
||||
@@ -846,11 +858,11 @@ Private.ExecEnv.BossMods.BigWigs = {
|
||||
WeakAuras.ScanEvents("BossMod_TimerStart", text)
|
||||
end
|
||||
if self.nextExpire == nil then
|
||||
self.recheckTimer = timer:ScheduleTimer(self.RecheckTimers, expirationTime - now, self)
|
||||
self.recheckTimer = timer:ScheduleTimerFixed(self.RecheckTimers, expirationTime - now, self)
|
||||
self.nextExpire = expirationTime
|
||||
elseif expirationTime < self.nextExpire then
|
||||
timer:CancelTimer(self.recheckTimer)
|
||||
self.recheckTimer = timer:ScheduleTimer(self.RecheckTimers, expirationTime - now, self)
|
||||
self.recheckTimer = timer:ScheduleTimerFixed(self.RecheckTimers, expirationTime - now, self)
|
||||
self.nextExpire = expirationTime
|
||||
end
|
||||
elseif event == "BigWigs_StopBar" then
|
||||
@@ -892,10 +904,10 @@ Private.ExecEnv.BossMods.BigWigs = {
|
||||
WeakAuras.ScanEvents("BossMod_TimerResume", text)
|
||||
end
|
||||
if self.nextExpire == nil then
|
||||
self.recheckTimer = timer:ScheduleTimer(self.RecheckTimers, bar.expirationTime - GetTime(), self)
|
||||
self.recheckTimer = timer:ScheduleTimerFixed(self.RecheckTimers, bar.expirationTime - GetTime(), self)
|
||||
elseif bar.expirationTime < self.nextExpire then
|
||||
timer:CancelTimer(self.recheckTimer)
|
||||
self.recheckTimer = timer:ScheduleTimer(self.RecheckTimers, bar.expirationTime - GetTime(), self)
|
||||
self.recheckTimer = timer:ScheduleTimerFixed(self.RecheckTimers, bar.expirationTime - GetTime(), self)
|
||||
self.nextExpire = bar.expirationTime
|
||||
end
|
||||
end
|
||||
@@ -982,7 +994,7 @@ Private.ExecEnv.BossMods.BigWigs = {
|
||||
|
||||
ScheduleCheck = function(self, fireTime)
|
||||
if not self.scheduled_scans[fireTime] then
|
||||
self.scheduled_scans[fireTime] = timer:ScheduleTimer(self.DoScan, fireTime - GetTime(), self, fireTime)
|
||||
self.scheduled_scans[fireTime] = timer:ScheduleTimerFixed(self.DoScan, fireTime - GetTime(), self, fireTime)
|
||||
end
|
||||
end
|
||||
}
|
||||
@@ -1478,7 +1490,8 @@ Private.event_prototypes["Boss Mod Timer"] = {
|
||||
type = "addons",
|
||||
events = {},
|
||||
internal_events = {
|
||||
"BossMod_TimerStart", "BossMod_TimerStop", "BossMod_TimerUpdate", "BossMod_TimerForce", "BossMod_TimerResume", "BossMod_TimerPause"
|
||||
"BossMod_TimerStart", "BossMod_TimerStop", "BossMod_TimerUpdate", "BossMod_TimerForce", "BossMod_TimerResume",
|
||||
"BossMod_TimerPause", "BossMod_TimerUpdateIcon"
|
||||
},
|
||||
force_events = "BossMod_TimerForce",
|
||||
name = L["Boss Mod Timer"],
|
||||
@@ -1566,7 +1579,7 @@ Private.event_prototypes["Boss Mod Timer"] = {
|
||||
state.changed = true
|
||||
return true
|
||||
end
|
||||
elseif event == "BossMod_TimerUpdate" then
|
||||
elseif event == "BossMod_TimerUpdate" or event == "BossMod_TimerUpdateIcon" then
|
||||
local changed
|
||||
for timerId, bar in pairs(Private.ExecEnv.BossMods.Generic:GetAllTimers()) do
|
||||
if Private.ExecEnv.BossMods.Generic:TimerMatchesGeneric(timerId, triggerText, triggerTextOperator, triggerSpellId, counter) then
|
||||
|
||||
Reference in New Issue
Block a user