Getting rid of Mega Spell Bind roulette SPAM

Everything you need to get rid of this hellish spam

Weak Aura :
A nice weak aura made by some bright dude that will give you clear prompt :
https://db.ascension.gg/?weakaura=186.rev:2

Creating an addon :
Browse wherever you installed your game and go to this folder :
~Ascension LauncherAscension
esourcesclientInterfaceAddOns
Create a folder and name it NoForbiddenWarnings (chatgpt picked the name)
Create two text file, rename them and change their extension :
NoForbiddenWarnings.toc
NoForbiddenWarnings.lua

Open NoForbiddenWarnings.toc with notepad and put inside :


## Interface: 30300
## Title: No Forbidden Warnings
## Notes: Hides custom yellow forbidden spell warnings
## Author: ChatGPT
NoForbiddenWarnings.lua

then save (yes author is chatGPT, i am not gonna learn lua)

then open NoForbiddenWarnings.lua and put inside :


local f = CreateFrame("Frame")

local function matchesForbiddenMessage(text)
    if not text then return false end
    text = text:lower()

    return text:find("is now forbidden")
        or text:find("is now deadly")
        or text:find("is now perilous")
        or text:find("is now lethal")
        or text:find("is now a forbidden incantation")
        or text:find("is now a spell of certain demise")
        or text:find("is now ensnared by the curse")
        or text:find("avoid casting")
        or text:find("a dire warning")
        or text:find("the curse has moved")
        or text:find("the curse has found a new host")
        or text:find("heed the warning")
        or text:find("heed this omen")
        or text:find("winds of fate")
        or text:find("roulette has spun")
        or text:find("a new spell is bound by the roulette")
        or text:find("the forbidden seal has shifted")
        or text:find("fatal gamble")
        or text:find("next victim")
end

f:SetScript("OnUpdate", function()
    local numChildren = select("#", UIParent:GetChildren())
    for i = 1, numChildren do
        local child = select(i, UIParent:GetChildren())

        if type(child) == "table" and child:IsShown() and child.GetRegions then
            local regions = { child:GetRegions() }

            for _, region in ipairs(regions) do
                if type(region) == "table" and region.GetText then
                    local text = region:GetText()
                    if matchesForbiddenMessage(text) then
                        child:Hide()
                        break
                    end
                end
            end
        end
    end
end)

local original_PlaySound = PlaySound
PlaySound = function(id, ...)
    local strId = tostring(id)
    if strId:lower():find("raidbossemotewarning") then
        -- Bloque ce son
        return
    end
    return original_PlaySound(id, ...)
end

Don’t forget to save

To get rid of chat spam :
you have to right click General > Other and untick Boss Emote

Adapted from a guide by BlipO published on db.ascension.gg.