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 return button:SetAttribute("macrotext", cancelBlacklistedAurasMacro) end return button:SetAttribute("macrotext", "/stopmacro") end)