This is taken from:
ma.sword - Macros
and:
WoW Forums -> Mage Macro Guide for 2.X
--------------------------------------------------------------------------
Contents
1. Offensive Macros
Spammable Arcane Missiles
Interrupt Ice Lance
Opener Pyroblast
Modifier Pyroblast
Frostbolt(Rank 1) Kiting
Stealth Breaker Arcane Explosion
One-Button Blizzard/Flamestrike
Castsequence Attack Routine
Friendly Fire Targeting
Cooldown Burners
I.W.I.N Buttons
--Berserking & MQG
--PoM AP Trinket Pyroblast
Pet Tricks, the Water Elemental and you.
--Spammable Summon & Attack
--Summon & Freeze
--Dismiss (& Invisibility)
--Modifier Nova
--On Demand Shatter
2. Defensive Macros
Blink & Look
Decurse
Interrupt Counterspell
Focus Counterspell
Your Favorite Harmless Animal, Polymorph
--Polymorph: Focus
--Polymorph: Spam
--Polymorph: Random
--Polymorph: Target Alert
Shapeshifting, Ice Cube Form
--Breakable Ice Block
--Ice Block/Cold Snap
--Break & Counterspell
--BlockânâBlink
One-Button Wards
Ice Barrier & Mana Shield
Self-Bandaging
3. Utility Macros
All-in-One Mana Gems
Evocation
All-in-One Food & Water
Smart Dampen/Amplify
Self Buff Sequence
One-Button Armor
One-Button Portal
One-Button Teleport
High Level Portal & Teleport
-------------------------------------
Offensive Macros
Spammable Arcane Missiles
This macro prevents you from interrupting an Arcane Missiles cast by recasting too early.
- /cast [nochanneling:Arcane Missiles] Arcane Missiles
Interrupt Ice Lance
Mostly for Frostbite mages, this macro stops whatever spell you were casting and casts Ice Lance.
- /stopcasting
/cast Ice Lance
Opener Pyroblast
This macro casts Pyroblast when you’re pulling. If you’re in combat, it casts Fireball.
- /cast [nocombat] Pyroblast; Fireball
Modifier Pyroblast
For those with 8/8 Netherwind or similar proc PoM effects, this will ordinarily cast Fireball, but will use Pyroblast instead if you hold Alt. Because of latency, you won’t be able to cast as fast as possible and make use of this. The same was true of old automatic NW macros anyway.
- /cast [mod:alt] Pyroblast; Fireball
Frostbolt(Rank 1) Kiting
Hold alt for the fast casting snare, or cast your maximum rank.
- /cast [mod:alt] Frostbolt(rank 1); Frostbolt
Stealth Breaker Arcane Explosion
On a normal key press or click, the first macro casts Arcane Explosion (maximum rank), but on a right click it uses Rank 1. The second option automatically downranks if you're out of combat.
- /cast [btn:2] Arcane Explosion(Rank 1); Arcane Explosion
/cast [nocombat] Arcane Explosion(Rank 1); Arcane Explosion
One-Button Blizzard/Flamestrike
Click for Blizzard, or alt-click for Flamestrike.
- /cast [mod:alt] Flamestrike; Blizzard
Castsequence Attack Routine
This is a cast sequence designed for mana efficiency - three Scorches and an Arcane Blast. It will reset to Arcane Blast if not pressed for 7 seconds (at least enough time for the debuff to begin to fade).
- /castsequence reset=7 Arcane Blast, Scorch, Scorch, Scorch, Scorch
Friendly Fire Targeting
Replacing spells with this macro will cause you to cast them at your target’s target if you’re targeting a unit which cannot be attacked.
- /cast [harm] [target=targettarget] Fireball
Cooldown Burners
Automatically casting spells or using trinkets whenever they are cooled down can still be done, if the spells don’t cause a global cooldown when activated. However, any time the trinket or spell is not ready, error text is displayed, error speech is triggered, and the “spell failed” sound effect is played. More complex scripts can remove the text, but I have not found a way to remove the failure sound. Regardless, here are two such macros.
- /use Zandalarian Hero Charm
/stopcasting
/cast Fireball
/cast Combustion
/stopcasting
/cast Fireball
I.W.I.N Buttons
These are a number of macros to instantly activate spell enhancers and cast your attack. First, the troll only berserking & haste trinket combo…
- /use Mind Quickening Gem
/stopcasting
/cast Berserking
/stopcasting
/cast Fireball
…and the classic Presence of Mind, Arcane Power, and trinket macro.
NOTE: There's a slight problem with this one. You can't use it while running. Well, you can, but you have to click twice. Every line evaluates at the same time, so the /cast Pyroblast part cancels itself and gives you an error message at first. A second press will launch it (because you'll already have PoM active when it tests conditions). This is the best approach to this kind of macro, because it's 1 push if standing, 2 if running. Sorry about the limitations of the language.
- /cast Presence of Mind
/stopcasting
/cast Arcane Power
/stopcasting
/use Vengeance of the Illidari
/stopcasting
/cast Pyroblast
Pet Tricks: the Water Elemental and you.
Spammable Summon & Attack – This will summon your pet, and if pressed again, will set it to attack your target ones the lag on summoning finishes. Spamming is okay, and won’t cause your pet’s first waterbolt to cancel and restart.
- /cast [nopet] Summon Water Elemental
/stopmacro [target=pettarget, exists]
/petattack
Summon & Freeze – Summons or activates the ranged frost nova power, Freeze.
- /cast [nopet] Summon Water Elemental; Freeze
Dismiss (& Invisibility) – You can use this script to dismiss your pet without using the pet dropdown menu. This particular macro dismisses him and begins your Invisibility fade, so he won't force you into combat unintentionally.
- /run PetAbandon()
/cast Invisibility
Modifier Nova – Here's a slick little macro to cast Frost Nova if your elemental isn't out, and freeze if it is. To force a Frost Nova cast with the elemental is available, hold any modifier key. The scripting on the second line makes sure that you don't get Freeze locked onto your cursor when your elemental has expired.
- /cast [nopet] [pet, mod] Frost Nova(Rank 1); [pet, nomod] Freeze
/run if not GetPetTimeRemaining() then ClearCursor() end
On Demand Shatter – With your pet out, you can use this macro to start a frostbolt cast and bring up the targetting circle for Freeze. Drop the pet's nova on your target just before the cast goes off for a nice suddent Shatter.
--------------------------------
- /stopcasting
/cast [pet] Freeze
/cast Frostbolt
Defensive Macros
Blink & Look
Stops any cast or channel and Blinks you forward instead. Then, if your target is an enemy, flips your camera angle 180 degrees. Macroes cannot turn your character, only the camera, so a two-button mouse move will be needed to face your attacker again.
- /stopcasting
/cast Blink
/stopmacro [noharm]
/run FlipCameraYaw(180)
Decurse
A reasonable replacement for the defunct decursive addon, hitting this button will remove a curse from whoever’s unit frame or 3D figure your cursor is hovering over. If your mouse is over a hostile or no target, you’ll decurse yourself.
- /cast [target=mouseover, help] [target=player] Remove Lesser Curse
Interrupt Counterspell
Stops what you’re casting to immediately cast Counterspell.
- /stopcasting
/cast Counterspell
Focus Counterspell
Uses the Alt modifier to CS your focus, rather than your target. I find this one very useful for bosses who need to be interrupted while DPSing elsewhere.
- /cast [mod:alt, target=focus, exists, nodead] [] Counterspell
Your Favorite Harmless Animal, Polymorph
Polymorph: Focus – Sets your focus to your target and polymorphs it with a left click. Sheeps your focus without changing targets if you right click.
- /cast [button:2, target=focus] [] Polymorph
/focus [nobutton:2]
Polymorph: Spam – Polymorphs your target, gives it the Star raid icon, sets it as your focus, and announces to your party or raid group your intention to sheep the <level> <gender> <race> target. How’s that for a chat spamming polymorph announcement?
- /cast Polymorph
/focus
/run SetRaidTarget("focus", 1)
/run if UnitSex("target")==1 then g="female " else g="male " end;s="I'm going to sheep a "..g..UnitLevel("target").." %T";c="Party";if GetNumRaidMembers()>0 then c="raid" end;SendChatMessage(s,c)
Polymorph: Random – This macro randomly chooses the harmless animal your enemy will some impersonate.
- /castrandom Polymorph, Polymorph(Rank 1: Pig), Polymorph(Rank 1: Turtle)
Polymorph: Target Alert - This script will whisper any member of your party who is targetting your target. Click it before or while sheeping to help clear things up.
- /run u=UnitIsUnit;c="Party";t="Target";for i=0,40 do if not u(c..i,"player") then if u(c..i..t,t) then n,r=UnitName(c..i) SendChatMessage("I am Polymorphing your target!","WHISPER",this.language,n) end end end
Shapeshifting, Ice Cube Form
Breakable Ice Block – A 1.5 second “dead time” on toggle buttons like Ice Block was implemented to prevent unintentionally canceling buffs by spamming. This macro will restore previous functionality so Ice Block can be used to cancel debuffs almost instantaneously.
- /cancelaura Ice Block
/cast Ice Block
Ice Block/Cold Snap – A macro allows rapid recasting of Ice Block by incorporating Cold Snap. The reset should be changed to 240 for Ice Floes.
- /cancelaura Ice Block
/castsequence reset=300 Ice Block, Cold Snap
Break & Counterspell – This breaks Ice Block and immediately Counterspells your target.
- /cancelaura Ice Block
/cast Counterspell
Break’n’Blink – This breaks Ice Block and immediately Blinks you forward.
- /cancelaura Ice Block
/cast Blink
One-Button Wards
Left click for Fire Ward, right click for Frost Ward
- /cast [btn:2] Frost Ward; Fire Ward
Ice Barrier & Mana Shield
This cast sequence will use a single button to cast Ice Barrier, then Mana Shield. If only Ice Barrier is cast, it will reset to Ice Barrier again in 30 seconds (reset should be changed to 24 for Ice Floes). The problem is, this isn’t a real cooldown test, it’s just a counter from the previous button push. Casting Mana Shield will move the sequence back to Ice Barrier, even if it is not yet ready. Adding another Mana Shield to the sequence would stop the pseudo-cooldown timing, by not pushing to Ice Barrier until 30 seconds after the Last mana shield cast.
- /castsequence reset=30 Ice Barrier, Mana Shield
Self-Bandaging – Although this one doesn’t actually involve a mage spell, it is extremely useful. If your target can be healed, you bandage it, otherwise you bandage yourself (without losing your target).
------------------------------------------
- /use [help] [target=player] Heavy Netherweave Bandage
Utility Macros
Mana Gems
This macro sequentially conjures all your mana gems on right clicks, and uses the highest level one available on left click. As a fall-through macro, this will cause error messages when used to consume gems.
- /castsequence [button:2] reset=120 Conjure Mana Emerald, Conjure Mana Ruby, Conjure Mana Citrine, Conjure Mana Jade, Conjure Mana Agate;
/stopmacro [button:2]
/use Mana Emerald
/use Mana Ruby
/use Mana Citrine
/use Mana Jade
/use Mana Agate
Evocation
Left clicking equips your Intellect weapons & casts Evocation. Right Click equips DPS weapons.
- /cast [btn:1] Evocation
/equip Amani Divining Staff
/equip Carved Witch Doctor's Stick
/stopmacro [btn:1]
/equip Tempest of Chaos
/equip Chronicle of Dark Secres
/equip Wand of the Forgotten Star
Food & Water – This macro has you eat and drink with a click, conjure water with shift-click, conjure food with shift-right-click, and cast a Ritual of Refreshment with Alt-Click.
- /use [nomod] Conjured Manna Biscuit
/use [nomod] Conjured Glacier Water
/use [nomod] Conjured Croissant
/cast [mod:shift, btn:2] Conjure Food;[mod:shift] Conjure Water;[mod:alt] Ritual of Refreshment
Smart Dampen/Amplify
Left clicks Dampen Magic, right clicks Amplify; if your target is in your party, it buffs him, otherwise it buffs you instead.
- /cast [btn:2, party] [btn:2, target=player] Amplify Magic;[party] [target=player] Dampen Magic
Self Buff Sequence
Insert your own favorite soloing buffs, and press one button three times to cast them.
- /castsequence [target=player] reset=600 Dampen Magic, Arcane Intellect, Molten Armor;
One-Button Armor
Click for Mage Armor, right click for Molten Armor, alt-click for Ice Armor.
- /cast [mod:alt]Ice Armor; [btn:2]Molten Armor; Mage Armor
One-Button Portal
Useful for those below level 65 to get around and help their friends get around. Click to portal to Ironforge (Orgrimmar), alt for Stormwind (Undercity), control for Darnassus (Thunder Bluff), and shift for Exodar (Silvermoon).
- /cast [mod:shift] Portal: Exodar; [mod:alt] Portal: Stormwind; [mod:ctrl] Portal: Darnassus; Portal: Ironforge
/cast [mod:shift] Portal: Silvermoon; [mod:alt] Portal: Undercity; [mod:ctrl] Portal: Thunder Bluff; Portal: Orgrimmar
One-Button Teleport
Here’s the same thing as the Portal macro, but just for you. It’s not useful past level 59.
- /cast [mod:shift] Teleport: Exodar; [mod:alt] Teleport: Stormwind; [mod:ctrl] Teleport: Darnassus; Teleport: Ironforge
/cast [mod:shift] Teleport: Silvermoon; [mod:alt] Teleport: Undercity; [mod:ctrl] Teleport: Thunder Bluff; Teleport: Orgrimmar
High Level Portal & Teleport
Once you’re level 65, this will get you anywhere. Click for portal, right click for teleport. This one’s even the same for Horde and Alliance.
----------------------------
- /cast [btn:2] Teleport: Shattrath; Portal: Shattrath
Here is another (shorter) guide for macros, I use alot of theese too.
----------------------------
Counterspell Macros
#showtooltip Counterspell
/stopcasting
/cast Counterspell
This will make you stop whatever you're doing and IMMEDIATELY counterspell someone. Very handy to make it a twitch reflex instead of getting nailed by lag as you try to stop a frostbolt from casting.
You can also get fancier
#showtooltip Counterspell
/stopcasting
/cast [target=mouseover,harm] Counterspell; Counterspell
This will cast Counterspell on the target your mouse is hovering over (if they're hostile), otherwise it will cast it on your current target as normal. I personally have issues with getting my mouse over someone precisely, but a lot of people love this thing.
Ice Lance Macros
There's only one, really, and here it is.
#showtooltip Ice Lance
/stopcasting
/cast [target=mouseover,harm] Ice Lance; Ice Lance
This will cast Ice Lance on whatever your mouse is hovering over if it's hostile, otherwise it will cast it on your current target as normal. The stopcasting is there for a very special reason. Ever notice how you can only really seem to get Frostbolt -> Ice Lance to work right if you're far away? This is because Frostbolt won't actually break the frost nova until it reaches the target, and Ice Lance can still get the Shatter bonus (and its general damage bonus) so long as the nova is intact when Ice Lance leaves your hands. The farther you are away, the longer you have after Frostbolt casts to cast Ice Lance.
So why /stopcasting? Well, there's a little lag between you and the server. Ever notice how you can start running on your mount if you press forward before it finishes casting? It's the same idea with every other spell in the game. If you ice lance just before the frostbolt finishes, the frostbolt will still cast and ice lance will come off a lot earlier. In fact, if you time it just right, you can make Ice Lance hit the target BEFORE the frostbolt! As you get the hang of it, you can even pull off frostbolt -> ice lance point blank, something impossible without this macro. If you'd like to get proficient with this, I'd highly recommend getting a mod called Quartz (see mod section), as it will show you just how much lag to compensate for on your casts.
Why the mouseover? The main reason is for shaman totems. If you see an earthbind totem, for example, you can hover your mouse over it and just tap this macro to kill it with ease. Works great on killing any totem fast without messy retargetting. It can also be handy when you're fighting multiple enemies and want to nail someone that's caught in some freeze effect while still focusing on your current target. Much less used in that instance, but still handy once in a while.
Remove Curse
#showtooltip Remove Lesser Curse
/cast [target=mouseover] Remove Lesser Curse; Remove Lesser Curse
This one's great for taking off curses on party members, especially Curse of Tongues on your pally. All you have to do is hold your mouse over your party member's unit frame (portrait with bars, etc), hit the hotkey, and the curse will be removed. Works as normal if you're not mousing over anyone.
Ice Block
#showtooltip Ice Block
/cancelaura Ice Block
/stopcasting
/cast Ice Block
This one will stop whatever you're doing and immediately ice block. Very handy for quick reactions on AP pyros, death coil, etc. This will also cancel an existing ice block, so you can just tap the button twice for a quick debuff clear or whatever you need. There's also an interface option that can fix this, but this macro works fine on its own.
Water Elemental Summon
#showtooltip Summon Water Elemental
/use [nopet] Xi'ri's Gift
/stopcasting [nopet]
/cast [nopet] Summon Water Elemental
/stopmacro [nopet]
/petpassive
/petattack [target=mouseover,harm]
/stopmacro [target=mouseover,harm]
/petattack
This one's a bit of a doozy. If you do not have your water elemental summoned, it will use your trinket (replace Xi'ri's Gift with your damage trinket, or remove that line and the /stopcasting line following it if you'd rather not use your trinket with it, but it'll add to the elemental's damage), then summon it. If you press it while the elemental is out, it will go to passive mode (so it won't randomly change targetes), then attack your mouseover target (if it exists). If you're not mousing over a hostile target, it'll attack your current target.
So while it looks confusing, just tap it twice and it'll come out and attack. The mouseover bit is so you can have it attack something else while you're trying to CC, for example.
Water Elemental Freeze
#showtooltip [pet] Freeze; Summon Water Elemental
/cast [nopet] Xi'ri's Gift
/stopcasting [nopet]
/cast [nopet] Summon Water Elemental
/stopmacro [nopet]
/cast Freeze
Same idea as above for summoning, but the second click will simply bring up the ranged freeze reticle. The first two lines will make it so it will show the cooldown on the elemental's freeze ability if it's out, so you can keep track of that more easily (especially when the pet bar doesn't show up). If your pet is not out, it'll show the cooldown on your elemental summon instead.
Polymorph
#showtooltip Polymorph
/stopcasting
/cast [target=mouseover,harm] Polymorph; Polymorph
This can be useful for quickly polymorphing a separate target than your current one, with a check to make sure the target you're mousing over is actually something you can sheep (in case your mouse is harmlessly resting on a teammate).
--------------------
I hope you find this very useful, I know I did. :wave: