Adjust Macro based on Covenant

To do this you need to use a Variable. (See Macro Variables for more on Variables)

eg ~~COVENANTABILITY~~

function() 
    local covenantID =  C_Covenants.GetActiveCovenantID(); 
    if covenantID == 1 then
        -- Kyrian 
        return "/cast Divine Toll"
    elseif covenantID == 2 then
        -- Venthyr
        return "/cast venthyrability"
    elseif covenantID == 3 then
        -- Night Fae
        return "/cast nightfaething"
    elseif covenantID == 4 then
        -- Necrolord
        return "/cast necrolordstuff"
    else
       -- Not in a Covenant
       return "/cast null"
    end
end

Obviously you change what the covenant abilities return depending on the macro.

for a castsequence version you could do the following if you were in the Kyrian Covenant

function() 
    local covenantID =  C_Covenants.GetActiveCovenantID(); 
    if covenantID == 1 then
        -- Kyrian 
        return "Divine Toll,"
   else
       -- Not Kyrian just skip this 
       return
   end
end

Catch me on Twitch

3 Likes

Good stuff. I added a variable into my VDH macro some time ago to cast or not Sigil of Flame based on whether you were wearing a particular legendary. Similar principle.