Ignore World Auras like those weekly that cannot be cancelled

This commit is contained in:
Tercio Jose
2024-07-21 20:43:49 -03:00
committed by andrew6180
parent 60957c1c11
commit 1dec8b7540
5 changed files with 57 additions and 13 deletions
+9 -12
View File
@@ -1361,15 +1361,13 @@ function atributo_misc:ToolTipDispell(instancia, numero, barra)
end
local UnitReaction = UnitReaction
local UnitDebuff = UnitDebuff
function Details:CloseEnemyDebuffsUptime()
local combat = Details.tabela_vigente
local misc_container = combat [4]._ActorTable
for _, actor in ipairs(misc_container) do
local combat = Details:GetCurrentCombat()
local utilityContainer = combat:GetContainer(DETAILS_ATTRIBUTE_MISC)
for _, actor in utilityContainer:ListActors() do
if (actor.boss_debuff) then
for target_name, target in ipairs(actor.debuff_uptime_targets) do
for targetName, target in ipairs(actor.debuff_uptime_targets) do
if (target.actived and target.actived_at) then
target.uptime = target.uptime + Details._tempo - target.actived_at
actor.debuff_uptime = actor.debuff_uptime + Details._tempo - target.actived_at
@@ -1379,11 +1377,9 @@ function Details:CloseEnemyDebuffsUptime()
end
end
end
return
end
function Details:CatchRaidDebuffUptime(sOperationType) -- "DEBUFF_UPTIME_IN"
function Details:CatchRaidDebuffUptime(sOperationType) -- "DEBUFF_UPTIME_IN" ~scan
if (sOperationType == "DEBUFF_UPTIME_OUT") then
local combatObject = Details:GetCurrentCombat()
local utilityContainer = combatObject:GetContainer(DETAILS_ATTRIBUTE_MISC)
@@ -1517,7 +1513,7 @@ local runeIds = {
}
--called from control on leave / enter combat
function Details:CatchRaidBuffUptime(sOperationType)
function Details:CatchRaidBuffUptime(sOperationType) -- ~scan
if (IsInRaid()) then
local potUsage = {}
local focusAugmentation = {}
@@ -1602,7 +1598,7 @@ function Details:CatchRaidBuffUptime(sOperationType)
elseif (bUnitIsTheCaster) then
local playerGUID = UnitGUID(unitId)
if (playerGUID) then
if (playerGUID and auraInfo.duration ~= 3600) then
local playerName = Details:GetFullName(unitId)
if (sOperationType == "BUFF_UPTIME_IN") then
if (Details.PotionList[spellId]) then
@@ -1634,6 +1630,7 @@ function Details:CatchRaidBuffUptime(sOperationType)
if (UnitIsUnit(unitCaster, unitId) or bBuffIsPlacedOnTarget) then
if (bBuffIsPlacedOnTarget and not UnitIsUnit(unitCaster, unitId)) then
--could be prescince, ebom might or power infusion; casted on a target instead of the caster
--possible bug: the sOperationType could be BUFF_UP_TIME_OUT and it is calling aura applied, which shoud call aura_removed
local sourceSerial = UnitGUID(unitCaster)
local sourceName = Details:GetFullName(unitCaster)
local sourceFlags = 0x514
@@ -1646,7 +1643,7 @@ function Details:CatchRaidBuffUptime(sOperationType)
else
local playerName = Details:GetFullName(unitId)
local playerGUID = UnitGUID(unitId)
if (playerGUID) then
if (playerGUID and auraInfo.duration ~= 3600) then
if (sOperationType == "BUFF_UPTIME_IN") then
if (Details.PotionList[spellId]) then
potUsage [playerName] = spellId