wow-addons/ByeByeBuffs/ByeByeBuffs.lua

60 lines
1.8 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",
}
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", 18, "HELPFUL") -- simply checks for more than 18 buffs
if isWorldBuffed then
print(("%s: World-buffed."):format(ByeByeBuffs.title))
return button:SetAttribute("macrotext", cancelBlacklistedAurasMacro)
end
print(("%s: not World-buffed."):format(ByeByeBuffs.title))
return button:SetAttribute("macrotext", "/stopmacro")
end)