Writing Macros & Macro Index

Dang you guys really know how to macro. I use these two

/cast Lifeblood
/cast Freeze
/cast frostbolt

AND

/cast Polymorph
/pet

AND
/cast Gift of the Naaru
/cast Fireblast

That's how I play my Frosty :)

Umm My enh shaman

/use Stoneform
/cast Healing Surge
 
Ok this is a good opportunity to explain my healer macros. The one difference my macros have to the macros I've seen here is the use of @targettarget.
I think it's important for a healer to not only to spam heals, but also use the time between heals to do some damage and controls. So you use your character to its full potential. One difficulty I had was switching my targets fast enough so i could do some damage in between heals and secure the kill while not slacking and healing to late because you had to retarget your friend. You could use the assist keybind but I never got around to it. Instead I set up my macros so i would hit my heal spell and it would automaticly heal the correct target. Let me explain this in a situation.

Let's say you and 4 teammates are together and and you spot a rogue. You will want to unstealth the rogue and at the same time heal his victim asap. I just need to target the rogue. Press my damage macro to attack him and press my heal macro. The heal macro will check all the conditions and heal whomever the rogue has targeted and ambushes. No need to switch targets to heal and damage just with your two macros.

The same thing when you have a friendly unit as your target. You can throw him heals easily and in between with just one press of the damage macro you attack, whomever your friend is already attacking. No time spent targeting and looking for the right target so you attack the same one.

Code:
#showtooltip Healing Spell
/cast [mod:ctrl,@player][mod:alt,@focus][@mouseover,help,exists,nodead][@target,help,exists,nodead][@targettarget,help,exists,nodead][@player] Healing Spell

Show tooltip, icon, and cooldown for Healing Surge for this macro on the action bar

If you were holding the control key then:
Cast Healing Surge on you

Else, if you were holding the alt key then:
Cast Healing Surge on the unit saved as your focus target

Else, if the unit your mouse is currently over is a friend, exists, and is not dead then:
Cast Healing Surge on the unit your mouse is currently over

Else, if the currently targeted unit is a friend, exists, and is not dead then:
Cast Healing Surge on the currently targeted unit

Else, if the currently targeted unit's currently targeted unit is a friend, exists, and is not dead then:
Cast Healing Surge on the currently targeted unit's currently targeted unit

Otherwise:
Cast Healing Surge on you

Code:
#showtooltip Damage Spell
/cast [mod:alt,@focus][@mouseover,harm,exists,nodead][@target,harm,exists,nodead][@targettarget,harm,exists,nodead] Damage Spell

Show tooltip, icon, and cooldown for Lighning Bolt for this macro on the action bar

If you were holding the alt key then:
Cast Lightning Bolt on the unit saved as your focus target

Else, if the unit your mouse is currently over is an enemy, exists, and is not dead then:
Cast Lightning Bolt on the unit your mouse is currently over

Else, if the currently targeted unit is an enemy, exists, and is not dead then:
Cast Lightning Bolt on the currently targeted unit

Else, if the currently targeted unit's currently targeted unit is an enemy, exists, and is not dead then:
Cast Lightning Bolt on the currently targeted unit's currently targeted unit
 
Last edited by a moderator:
Script to move your ToT frame on both target and focus frame. To show that extra debuff that the ToT frame is originally blocking. Put these 2 into a macro, and then click both macros, and drag the ToT frame where ever you'd like. then Reload Ui.
Code:
/run local f=TargetFrameToT f:RegisterForDrag("LeftButton") f:SetScript("OnDragStart", f.StartMoving) f:SetScript("OnDragStop", f.StopMovingOrSizing)

/run local f=FocusFrameToT f:RegisterForDrag("LeftButton") f:SetScript("OnDragStart", f.StartMoving) f:SetScript("OnDragStop", f.StopMovingOrSizing)

Script to show class colors on target/focus unit frames, condensed into 3 macros. Must be clicked in the correct order to avoid framerate lag.
Code:
/run UIP=UnitIsPlayer RCC=RAID_CLASS_COLORS UC=UnitClass TFNB=TargetFrameNameBackground FFNB=FocusFrameNameBackground

/run f=CreateFrame("FRAME") f:RegisterEvent("PARTY_MEMBERS_CHANGED") f:RegisterEvent("PLAYER_TARGET_CHANGED") f:RegisterEvent("PLAYER_FOCUS_CHANGED") f:RegisterEvent("UNIT_FACTION")

/run function e(self,event,...) if UIP("target") then c=RCC[select(2,UC("target"))] TFNB:SetVertexColor(c.r,c.g,c.b) end if UIP("focus") then c=RCC[select(2,UC("focus"))] FFNB:SetVertexColor(c.r,c.g,c.b) end end f:SetScript("OnEvent",e)

Pet Moveto
Code:
/petfollow
/petmoveto

Pet Attack
Code:
/petfollow
/petattack
 
Scripts to move Arena Frames without an addon, in a form of a macro.
Script to show frames outside an arena. (only arena1-3)

Code:
/run ArenaEnemyFrame1:Show();ArenaEnemyFrame2:Show();ArenaEnemyFrame3:Show()
/run LoadAddOn("Blizzard_ArenaUI");ArenaEnemyFrames:Show();ArenaEnemyFrame1:Show();ArenaEnemyFrame2:Show();ArenaEnemyFrame3:Show();ArenaEnemyFrame1CastingBar:Show()

First of the 3 scripts.

Code:
/run ArenaEnemyFrame1:ClearAllPoints()
/run ArenaEnemyFrame2:ClearAllPoints()
/run ArenaEnemyFrame3:ClearAllPoints()

Second of the 3 scripts. You can change the values to whatever you want. This allows you to place the frames anywhere you would like.

Code:
/run ArenaEnemyFrame1:SetPoint("CENTER",UIParent,"CENTER",-325,150)
/run ArenaEnemyFrame2:SetPoint("CENTER",UIParent,"CENTER",-325,100)
/run ArenaEnemyFrame3:SetPoint("CENTER",UIParent,"CENTER",-325,50)

The last of the 3 scripts.

Code:
/run ArenaEnemyFrame1.SetPoint = function() end
/run ArenaEnemyFrame2.SetPoint = function() end
/run ArenaEnemyFrame3.SetPoint = function() end

A script to change the texture of the arena frames. Also changes the spell name in the cast bars to make them more noticable. Also increases the scale of the casting bars.

Code:
/run for i=1,MAX_ARENA_ENEMIES do _G["ArenaEnemyFrame"..i]:SetPoint("CENTER",-860+i*180,-300)_G["ArenaEnemyFrame"..i.."Texture"]:SetVertexColor(.05,.05,.05)_G["ArenaEnemyFrame"..i.."CastingBar"]:SetScale(1.2)end
 
/shake
is essential in any powershifting macro
 
Various useful macros, UI, QOL, Pet, etc.:
Focus:
Code:
/focus [@mouseover,exists]
/clearfocus [@mouseover,noexists]
-If you are hovering your move over a player or frame it will set them as your focus, if you don't have a mouseover then it clears your current focus.

Simple thing for Herbalist Trolls to get max haste in one button:
Code:
#showtooltip [nomod] Lifeblood; [mod] Berserking
/cast Lifeblood
/cast Berserking

Self explanatory pet macro:
Code:
/petfollow [nomod]
/petmoveto [mod:alt]
/petattack [mod:shift]

Targeting Macros:
Code:
/cleartarget [@target,dead]
/targetenemyplayer [nodead]
/startattack [@target,exists]
-Clears your target if they are dead, otherwise targets nearest living enemy player and begins attacking them, remove the attack line if you don't want to attack e.g. you're a rogue, or add a /petattack line if you want to instantly start dps'ing nearest person as a hunter/lock. Remove "player" from the second line for a macro that also targets nearest npc's like pets/standards etc.

Destroy all Grey items in inventory:
Code:
/run local i,n=0;for b=0,4 do for s=1,GetContainerNumSlots(b) do ClearCursor();i={GetContainerItemInfo(b,s)};n=i[7];if n and string.find(n,"9d9d9d") then PickupContainerItem(b,s); DeleteCursorItem() end end end

Sell all Grey items in inventory when at Vendor:
Code:
/run local c,i,n,v=0;for b=0,4 do for s=1,GetContainerNumSlots(b)do i={GetContainerItemInfo(b,s)}n=i[7]if n and string.find(n,"9d9d9d")then v={GetItemInfo(n)}q=i[2]c=c+v[11]*q;UseContainerItem(b,s)print(n,q)end;end;end;print(GetCoinText(c))

Grind Enchanting:
Code:
#showtooltip
/run CloseTradeSkill()
/cast Enchanting
/run local s for i=1,GetNumTradeSkills() do s=GetTradeSkillSelectionIndex() if s then DoTradeSkill(s) end end
/use 0 1
/script ReplaceEnchant()
-Spams the highlighted enchanting recipe on the first item in your inventory.

Increase the size of your own and your pets frame:
Code:
/run PlayerFrame:SetScale(1.4)

Remove the Gryphons from the left and right of the default action bar:
Code:
/run MainMenuBarLeftEndCap:Hide(); MainMenuBarRightEndCap:Hide()

Hide all on-screen red error messages ("Not in line of sight, etc.):
Code:
/script UIErrorsFrame:Hide();
-Change Hide to Show in order to see them again, or simply /reload or relog. None of the UI edits are permanent and reset after client changes.

Wild Charge/Travel Forms
-No one uses Wild Charge but here's the laziest macro for it in the world that I use on my Guardian and can be changed without too much trouble for Feral or Balance or whatever, if you know what to change at least.

Code:
/cancelform [nomod,@target,help]
/cast [nomod,@target,help,noform] [nomod,@target,harm,form:1] Wild Charge; [nomod,@target,harm,noform:1] Bear Form; [mod,noswimming,noform:4] Travel Form; [mod,swimming,noform:2] Aquatic Form; [mod,form:2/4] Wild Charge
  • Target Ally while in a stance: Cancels stance
  • Target Ally with no stance: Fly's to target ally
  • Target Enemy while not in Bear Form: Become a Bear (Change this if you want)
  • Target Enemy while in Bear Form: Charge (I just prefer the 4 sec. immobilize)
  • Holding A Modifier (Shift, alt, ctrl) while not in Travel/Aquatic Form: Change to Aquatic if swimming, Travel otherwise
  • Holding A Modifier while in Travel/Aquatic Form: Cast Wild Charge

-There's no room for #show so just put Wild Charge somewhere else on your bar to see the cooldown. Alternatively, remove the parts that shift you to a stance if you aren't in them and manually press the stances before using the macro, then you can fit #showtooltip. But then you have to press more than 1 button and who does that except tryhards?

Aquatic and Travel on one button:
Code:
#showtooltip
/cast [outdoors,noswimming] !Travel Form; [swimming] !Aquatic Form
-By the way, exclamation points on the spell name makes them only cast the spell and not cancel it, i.e. you can powershift into Travel when you already are Travel without having to cancel the first form if you have the '!' mark. Same with !Prowl, it will only prowl, never cancel prowl.

Rogue
Personal Combat Spec macros:

Code:
#showtooltip Stealth
/cast [nocombat] !stealth
/equipslot [nocombat] 16 [I]Dagger Name[/I]
  • Equip a Dagger every time you stealth, only activates when out of combat

-Point is max damage Ambushes obviously, becomes relevant after second macro.

Code:
/cast [stance] Ambush
/equipslot [nostance] 16 [I]Weapon Name[/I]
/castsequence [nostance] reset=alt/5/target Revealing Strike, Sinister Strike, Sinister Strike, Sinister Strike, Sinister Strike, Sinister Strike
/cast [combat] Lifeblood
  • Ambushes while stealthed
  • Once unstealthed, equips a slower mainhand
  • Once a slower mainhand is equipped, begins a sequence macro that starts with Revealing Strike then 5 SInister Strikes, which is how many you can use before Revealing needs to be reapplied.
  • Changing targets or not pressing the button for 5 seconds resets it to Revealing Strike
  • Pressing it with alt held also resets the macro back to Revealing Strike, in case the first one missed or was parried, etc. (Alt can be changed to any modifier)
  • It also casts lifeblood if you have it just because I'm lazy and the haste is useful for one-shotting someone any time I open while it's off cd.

-Weapons in both above macros left unspecified, substitute with your own weapons names.

Kick:
Code:
#show Kick
/cast [nomod] Ambush
/cast [nomod] Kick
/cast {@focus,mod] Kick
  • Casts Kick in the same Global as Ambush if you are stealthed behind the target, otherwise just kicks.
  • Holding a modifier Kicks your focus without trying to use ambush.

-Kick isn't on the GCD, if you're stealthed and a half hp healer is freecasting behind his team then there's no reason not to instantly f*** him with a silence ambush and get the oneshot without any counter-play.
And if you aren't stealthed then this will just cast kick anyway so it's fine, bonus points for modifier focus kicks.
Trust me I main a resto druid and I've seen so many rogues ambush me at half hp without a kick while I'm in the middle of a regrowth and it just gives me tons of time to cast more rejuves and swiftmends that they can't kick and outheal their damage.

Walack
no lock macros :( sadpanda
Code:
#showtooltip
/cast [nomod,nopet] [pet:succubus,mod] Summon Voidwalker; [pet:Voidwalker,mod:shift] Disarm; [pet:Voidwalker,nomod] Torment; [pet:Voidwalker,mod:alt/ctrl] [nopet,mod] Summon Succubus; [pet:succubus,nomod] Lash of Pain

  • Don't have a pet out and aren't holding a modifier or have a succubus out and are holding a modifier: Summons Voidwalker.
  • Holding a ctrl/alt with a voidwalker out or any modifer with no pet out: Summons Succubus
  • Have a succubus out and aren't holding a modifier: Lash of Pain
  • Holding shift with a voidwalker out: Disarm
  • Have a voidwalker out, no modifier: Torment.

-Combine it with Soulburn or Metamorphosis for instant Disarms/Executes. Or if you're destro and aren't paranoid about melee's jumping you, keep the Succubus out and add Lash of Pain at the same time as you Conflagrate to make your executes more potent, can do 1,200 damage in 2 globals.

-Can do the same with Voidwalker for less damage with torment if you feel you need the void out for disarm.

-You can also use it with other spells like Drain Soul as Affli, a weaker execute since nerf, or idk, shadow bolt as demo lol.

Survival:
Code:
#showtooltip [nomod] Healthstone; [mod:shift] Dark Regeneration; [mod:alt] Alliance Battle Standard
/cast Dark Regeneration
/use Healthstone
/use [I]potion[/I]
/use [mod] Alliance Battle Standard
-If you're Dark Regen specced then this macro to cast Dark Regen, then use a Healthstone+Health Pot will save you a lot of the time, gives me enough hp to survive a silence and then freecast on people. You can throw the battle standard in there for good measure too if you hold a modifier.

-Other than that all I really use on lock are tons of focus macro's for Weakness, Fear, and DoTs. When I go demo I have a few cancelform macros for quick shifting in and out of meta after a leap or for a snappy gul'dan/corruption but that's it .

Quick all around Hunter pet button:
Code:
#showtooltip
/cast [nopet,nomod] Call Pet 2; [nopet,mod] Call Pet 1; [@pet,nodead,nomod] Mend Pet; [@pet,dead,nomod] Revive Pet; [@pet,nodead,mod:ctrl] Dismiss Pet; [@pet,nodead,mod:shift,nocombat] Feed Pet
/use [mod:shift,nocombat] [I]Food Name[/I]
  • No pet out, no modifier pressed: Call Pet 2
  • No pet out, modifier pressed: Call Pet 1
  • Pet out, alive, no modifier: Mend Pet
  • Pet out, alive, ctrl held: Dismiss Pet (Can change ctrl to alt or whatever's comfortable)
  • Pet out, dead, no modifier: Revive Pet
  • Pet out, alive, shift held, not in combat: Feed Pet and use Food (food name left unspecified in macro code)

Simple Frost Mage Novas
Code:
#showtooltip
/stopcasting [mod]
/stopcasting [mod]
/cast [nomod] Freeze
/cast [mod] Frost Nova
  • Stops any cast in progress
  • No modifier: Water Ele's Freeze
  • Modifier: Your Frost Nova

The undying dwarf shaman:
Code:
#showtooltip
/stopcasting
/stopcasting
/cast [nomod] Astral Shift
/cast [nomod] Stoneform
/cast [nomod] Lifeblood
/use [I]potion[/I]
/cast [mod:ctrl] Lifeblood; [mod:shift] Stoneform
-Casts Stoneform, Lifeblood, and Astral Shift together as well as using a Potion if you specify the name of one in the macro. Make's you pretty immortal for a few seconds, otherwise you can use the macro to activate one spell at a time with modifiers ctrl and shift, which you can change to alt if it's more comfortable.
 
Last edited by a moderator:
no lock macros :( sadpanda

Tbh, there's not that many macros for locks.

Taken from Salfir's Warlock guide:
Code:
/cancelaura Metamorphosis
/cast Corruption

/cancelaura Metamorphosis
/cast Hand of Gul'dan

My Healthstone macro
Code:
#showtooltip Healthstone
/use 14
/cast Dark Regeneration
/cast Lifeblood
/use healthstone
Slot 14 should be your Battlemaster trinket, or AGM.

Disarm Macros
Code:
#showtooltip
/petattack
/cast Disarm

#showtooltip Disarm
/petattack [@focus]
/cast [@focus] Disarm

You could macro Lash of Pain, or just hotkey it in keybinds.
And then I have focus macros for Curse of Enfeeblement, and Fear. Also have Curse 1/2/3 and Fear 1/2/3 in arena.
 
Macro for using Disarm when your Voidwalker's out and Lash of Pain when your Succubus is out:

#showtooltip [pet:succubus] Lash of Pain; [pet:voidwalker] Disarm
/cast [pet:succubus] Lash of Pain; [pet:voidwalker] Disarm
 

Users who are viewing this thread

Top