diff --git a/State.lua b/State.lua index 9ec116983..885c9be96 100644 --- a/State.lua +++ b/State.lua @@ -4252,9 +4252,24 @@ local mt_active_dot = { if aura then if rawget( t, aura.key ) then return t[ aura.key ] end - t[ k ] = ns.numDebuffs( aura.id ) - return t[ k ] + local id = aura.id + local count = ns.numDebuffs( id ) + + if aura.copy then + if type( aura.copy ) == "table" then + for _, v in ipairs( aura.copy ) do + if type(v) == "number" and v > 0 and v ~= id then + + count = count + ns.numDebuffs( v ) + end + end + elseif type( aura.copy ) == "number" and aura.copy > 0 and aura.copy ~= id then + count = count + ns.numDebuffs( aura.copy ) + end + end + t[ k ] = count + return t[ k ] else return 0 diff --git a/Targets.lua b/Targets.lua index f442d4c50..2ec9e76a8 100644 --- a/Targets.lua +++ b/Targets.lua @@ -1028,7 +1028,7 @@ do for aura, targets in pairs( debuffs ) do local a = class.auras[ aura ] local window = a and a.duration or grace - local friendly = a and ( a.friendly or a.dot == "buff" or a.dot == "both" ) or false + local friendly = a and ( a.friendly or a.dot == "buff" ) or false local expires = not ( a and a.no_ticks or friendly ) for unit, entry in pairs( targets ) do