Shaman Totem Macros

From Turtle WoW Wiki

Castsequence

Windfury, Strenght of Earth, Mana Spring

/run local _gspells = { "Windfury Totem", "Strength of Earth Totem", "Mana Spring Totem"} if GetSpellCooldown(4,"BOOKTYPE_SPELL")==0 then _gi=_gi and _gi > 0 and _gi or 1 CastSpellByName(_gspells[_gi]) _gi = math.mod(1+_gi, 1+table.getn(_gspells))end


Windfury, Strenght of Earth, Mana Spring

/run s={"Windfury Totem","Strength of Earth Totem","Mana Spring Totem"} if q==nil then q=0 end q=q+1 if q>getn(s) then q=1 end CastSpellByName(s[q])


Re-popping totems using the cheapest rank 1 spells

/run s={"Fire Resistance Totem(Rank 1)","Nature Resistance Totem(Rank 1)","Stoneskin Totem(Rank 1)","Frost Resistance Totem(Rank 1)"} if q==nil then q=0 end q=q+1 if q>getn(s) then q=1 end CastSpellByName(s[q])


Searing / Strength of Earth / Healing Stream

/run c=CastSpellByName if n==0 then c("Searing Totem") n=1 elseif n==1 then c("Strength of Earth Totem") n=2 else c("Healing Stream Totem") n=0 ;end

Fire Nova Totem

This uses Fire Nova Totem and Magma Totem with a 15 second cooldown

/script if Ttwist == nil or (GetTime()-Ttwist>15) then Ttwist,wTot=GetTime(),true CastSpellByName("Fire Nova Totem") elseif wTot and (GetTime()-Ttwist>5) then CastSpellByName("Magma Totem"); wTot=false end

Magma Totem

Rank 1 Magma Totem out of combat, max rank if combat

/run if not UnitAffectingCombat("player") then CastSpellByName("Magma Totem(Rank 1)") else CastSpellByName("Magma Totem") end

Mana Tide Totem

Mana Tide Totem, Chain Heal(Rank 1)

/run if UnitMana("player")< 1000 then CastSpellByName("Mana Tide Totem")CastSpellByName("Chain Heal(Rank 1)") else CastSpellByName("Chain Heal(Rank 1)")end

Modifier keys

This macro allows for a second totem to be attached to the same key, while ALT is being hold down aswell.

/run if (IsAltKeyDown())then CastSpellByName("TOTEM NAME FOR SHIFT+ALT") else CastSpellByName("TOTEM NAME FOR SHIFT") end

Searing Totem

Start attack, Searing Totem

/run for z=1,172 do if IsAttackAction(z)then if not IsCurrentAction(z)then UseAction(z);end;end;end;
/cast Searing Totem

Windfury Totem

Spammable Windfury / Grace of Air with a 10 second cooldown

/run if Ttwist == nil or (GetTime()-Ttwist>10) then Ttwist,wTot=GetTime(),true CastSpellByName("Windfury Totem") elseif wTot and (GetTime()-Ttwist>1.5) then CastSpellByName("Grace of Air Totem"); wTot=false end

Spammable Windfury / Tranquil Air with a 10 second cooldown

/run if Ttwist == nil or (GetTime()-Ttwist>10) then Ttwist,wTot=GetTime(),true CastSpellByName("Windfury Totem") elseif wTot and (GetTime()-Ttwist>1.5) then CastSpellByName("Tranquil Air Totem"); wTot=false end

Target Windfury Totem, if in duel range (9.9 yards) target last target, else cast Windfury Totem (edit III and YOURNAME)

/run TargetByName("Windfury Totem III YOURNAME", exactMatch) if not CheckInteractDistance("target",3) then CastSpellByName("Windfury Totem")else TargetLastTarget()end