wow-addons/ByeByeBuffs/ByeByeBuffs.lua

60 lines
1.7 KiB
Lua

ByeByeBuffs = {}
ByeByeBuffs.title = GetAddOnMetadata("ByeByeBuffs", "Title")
ByeByeBuffs.version = GetAddOnMetadata("ByeByeBuffs", "Version")
ByeByeBuffs.author = GetAddOnMetadata("ByeByeBuffs", "Author")
print(("Loaded %s v%s by %s."):format(ByeByeBuffs.title, ByeByeBuffs.version, ByeByeBuffs.author))
local blacklistedAuras = {
"Honorless Target",
"Cozy Fire",
"Find Minerals",
"Find Herbs",
"Unending Breath",
"Water Breathing",
"Water Walking",
"Detect Lesser Invisibility",
"Detect Invisibility",
"Detect Greater Invisibility",
"Arcane Intellect",
"Arcane Brilliance",
"Blessing of Wisdom",
"Blessing of Sanctuary",
"Greater Blessing of Wisdom",
"Greater Blessing of Sanctuary",
"Divine Spirit",
"Prayer of Spirit",
"Renew",
"Regrowth",
"Rejuvenation",
"Greater Heal",
"Inspiration",
"Innervate",
"Lightwell Renew",
"Thorns",
"Bloodthirst",
"Armor of Faith",
"Power Infusion",
"Healing Way",
"Ancestral Fortitude",
"Headmaster's Charge",
"Seal of the Dawn",
"Champion of the Dawn",
}
local cancelBlacklistedAurasMacro = "/cancelaura " .. table.concat(blacklistedAuras, "\n/cancelaura ")
local button = CreateFrame("Button", "BBB", UIParent, "SecureActionButtonTemplate")
button:SetAttribute("type", "macro")
button:SetAttribute("macrotext", "/stopmacro")
local frame = CreateFrame("FRAME")
frame:RegisterEvent("PLAYER_REGEN_ENABLED")
frame:RegisterEvent("PLAYER_ENTERING_WORLD")
frame:SetScript("OnEvent", function(self, event, ...)
local isWorldBuffed = IsInRaid() and UnitAura("player", 17, "HELPFUL") -- simply checks for more than 17 buffs
if isWorldBuffed then
return button:SetAttribute("macrotext", cancelBlacklistedAurasMacro)
end
return button:SetAttribute("macrotext", "/stopmacro")
end)