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
Turn on Blizzards Debuff Filter /console noBuffDebuffFilterOnTarget 0
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
Description
When using the
AuraTable:FindAny
in 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
/console noBuffDebuffFilterOnTarget 0
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