abunai10 / CaffeineIssues

0 stars 0 forks source link

AuraTable:FindAny cant find auras with a Debuff filter #33

Open Dreamzlol opened 9 months ago

Dreamzlol commented 9 months ago

Description

When using the AuraTable:FindAnyin a scenario where the user has the Debuff filter turned on, the function fails to find the appropriate aura. This leads to incorrect behavior in scripts that rely on aura checks.

This is happening for Classic Using Vanilla Unitframes., tested on WotLK. Not sure for Retail also since they have less Debuffs than Classic.

Steps to Reproduce

  1. Turn on Blizzards Debuff Filter /console noBuffDebuffFilterOnTarget 0
  2. Use something like Target:GetAuras():FindAny(spells.improvedScorchAura):IsUp() to find the specific aura which is not shown because of the Debuff Filter. (Max 10 Debuffs it seems)

Scenario

Scorch gives a Debuff (5% Crit), Warlock gives also the 5% Crit Debuff with Shadowbolt. So either of one has too do it. So i check if someone of the Warlocks or other mages has it applied or not.

And if the Debuff is not shown on the Target, he will recast it, but in reality its already on the Target. But only hidden by the Filter.

Bastion - Code Snippet


-- Find any
---@param spell Spell
---@return Aura
function AuraTable:FindAny(spell)
    local a = self:Find(spell)
    if a:IsValid() then
        return a
    end

    return self:FindMy(spell)
end