Thread Tools Display Modes
Today, 09:53 AM   #1
bibik92
Join Date: Jun 2016
Posts: 3
Issue Tracking All Status Effects

Hi everyone,

I'm currently working on an addon that tracks status effects on the target in real-time to accurately calculate the penetration provided by the champion point Force of Nature. However, I'm running into an issue: out of the 8 possible status effects, only 3 are being tracked correctly (Burning, Poisoned, and Hemorrhaging). The following status effects are not being tracked:

Overcharged
Chill
Concussion
Sundered
Diseased

I've verified that the methods I'm using work fine for the other 3 status effects, so I'm wondering if there is a different approach or any tips for tracking these remaining 5 status effects.

Has anyone else encountered this issue or can suggest the correct method to ensure all 8 status effects are tracked accurately? Any help or advice would be greatly appreciated!

This is a part of the code I'm using

Code:
local targetDebuffsFoN = {
    [178118] = 660, -- Magic (Overcharged) not working
    [18084]  = 660, -- Fire (Burning)
    [95136]  = 660, -- Frost (Chill) not working
    [95134]  = 660, -- Lightning (Concussion) not working
    [178123] = 660, -- Physical (Sundered) not working
    [21929]  = 660, -- Poison (Poisoned)
    [178127] = 660, -- Foulness (Diseased) not working
    [148801] = 660, -- Bleeding (Hemorrhaging)
}

-- Function to get additional penetration from status effects
local function GetAdditionalPenetrationFromStatusEffects()
    local additionalPenetration = 0
    if DoesUnitExist('reticleover') and not IsUnitPlayer('reticleover') then
        for i = 1, GetNumBuffs('reticleover') do
            local _, _, _, _, _, _, _, _, _, _, abilityId = GetUnitBuffInfo('reticleover', i)
            if targetDebuffsFoN[abilityId] and forceOfNature then
                additionalPenetration = additionalPenetration + targetDebuffsFoN[abilityId]
                Log("Status effect detected: " .. abilityId .. " - Additional penetration: " .. targetDebuffsFoN[abilityId])
            elseif targetDebuffsFoN[abilityId] then
                Log("Status effect detected but Force of Nature not equipped: " .. abilityId)
            end
        end
    end
    return additionalPenetration
end

Thanks in advance.
  Reply With Quote
Today, 01:43 PM   #2
Baertram
Super Moderator
 
Baertram's Avatar
WoWInterface Super Mod
AddOn Author - Click to view addons
Join Date: Mar 2014
Posts: 5,119
I dunno if those buffs are shown on enemies or other players at all. I can only tell you to check if ZOs target buffs is displaying those and check their code then.

But a hint:
You got if targetDebuffsFoN[abilityId]
and else if targetDebuffsFoN[abilityId]
-> 2x the same table check

make it 1x local isTargetDebuffsFoN = targetDebuffsFoN[abilityId]
and reuse the local instead to strip duplicate table checks.
  Reply With Quote

ESOUI » Developer Discussions » General Authoring Discussion » Issue Tracking All Status Effects


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off