Macro Anatomy: Mouse-Over Spells
This week I profiled Decursive 2.0 over at Addon Spotlight, which has a macro feature that allows you to use its cleansing functionality via a keystroke or a mouse over macro. Many of the comments in the article, as well as those in the Healbot Continued feature, center on the concept of mouse-over healing and casting. To be quite honest, I really didn't understand or use this way of doing things, so I thought I'd look into it and try to break away from my "clicker" tendencies for the sake of change.I'm primarily a paladin healer, which usually means I concern myself with four spells for healing; Flash of Light, Holy Light, Holy Shock and Cleanse. Although I toss out the occasional Blessing of Protection, this is the bulk of my healing, so I thought I'd work on making two mouse-over macros for my Karazhan run tonight.
The basic use for a mouse-over spell is this command:
- [target=mouseover]
Welcome back, let's get down to business with mouse-over spells. Now, I'm specifically looking for a solution to my healing needs. However, rather than jump in with both feet, I thought I'd try this out on my low level priest. I figured this would allow me a bit more leeway to make mistakes without wiping my raid group, I'll let the beer take care of that for me.
For a mouse-over Renew, I went with this simple macro:
- /cast [target=mouseover,exists] Renew
- /cast [target=mouseover,exists,help,nodead] Renew; [target=mouseover,exists,harm,nodead] Shadow Word: Pain; [help,nodead] Renew; [harm,nodead] Shadow Word: Pain; [target=player] Renew
"This macro casts either Renew (friendly) or Shadow Word: Pain (hostile) on whoever is hovering under your mouse that exists and is not dead. If you're not hovering, it does either Renew (friendly) or Shadow Word: Pain (hostile) on your selected target that is not dead. If all of the above are false, you will Renew yourself."
I've only briefly touched on modifiers and conditionals here at Macro Anatomy, and until finals release me from their horrible embrace, I'll just have to provide fertile examples like this one. However, take a look at what this macro does and its syntax. The scripting language used to write macros is pretty intuitive and hopefully you can see how this macro comes together.
Filed under: Analysis / Opinion, Tips, Tricks, How-tos, Features, Buffs, Macro Anatomy






Reader Comments (Page 1 of 1)
PeeWee Apr 20th 2008 5:11PM
On my shaman:
/cast [target=mouseover,harm,nodead] Earth Shock(Rank 1)
Nice for spell interrupts when you have several targets.
Cirna Apr 20th 2008 8:38PM
For some reason, I still haven't been won over on the idea of mouse overs. It's most likely because I don't understand the concept, but what if everyone is bunched up in a big pile and you cast on the wrong person? Even if the person is harmed, but there's someone with more damage, what if you cast your heal on the one needing less healing cause they're so close together? Also, during PVP, my mouse is always gone because I'm mouse strafing constantly. I'm sure it's awesome because why else would so many people do it, so can someone explain the reasons for it which I can't quite see at the moment.
Chris Anthony Apr 20th 2008 8:54PM
Cirna, in PVE, you've got three options for checking someone's health: you can check their tooltip, you can have nameplates active, and you can check their portrait if they're in your party (or their frame if they're in your raid and you have frames up). (Mouseover isn't just for the player models themselves; it also works on raid frames and party portraits.) If you can see their tooltip, they're who you're mousing over and so it's safe to cast; if you can see the health bar on their nameplate, you can tell who to mouse over; and there's no proximity ambiguity with portraits and unit frames.
In PVP, if you're only using an instant-cast heal and running around all the time, it's probably not worth your time to be using mouseovers anyway, and if you're using non-instant heals then you have to stop to cast, so your mouse is usable again.
Does that make sense?
Cirna Apr 20th 2008 9:35PM
Sounds good to me, thanks for your time.
Chris Anthony Apr 20th 2008 8:59PM
Although the all-purpose instant-cast macro is nice, what I really want is to allow me to use mouseovers while still preserving the original functionality of the hotkey. In other words, if I'm mousing over someone, I want to cast on them; otherwise I want it to cast on my target, or on whoever I click on after hitting the hotkey, or on myself if I hold down the self-cast modifier. Here's the macro I worked out for that (with Alt as the self-cast modifier):
#showtooltip Renew
/cast [target=mouseover,help,nodead] Renew; [mod:alt, target=player] Renew; Renew
I have similar macros for Flash Heal, Greater Heal, and Power Word: Shield.
Something I haven't tried: can you use "target=mouseover" with targeted AOE spells, like Mass Dispel or Blizzard?
Chris Anthony Apr 20th 2008 9:10PM
Answer: no. An add-on like Clique might do it, but target=mouseover doesn't.
MartinC Apr 21st 2008 4:43AM
Save yourself the hassle of trying to make your own mouse-over macros, and just use Clique.
For healing, (PitBull + Clique) or (Grid + Clique) is the only way to go.
Chris Anthony Apr 21st 2008 6:23AM
Perhaps you missed that the whole point of this column was to cater to the do-it-yourselfers?
Gadai Apr 21st 2008 5:28AM
Hrm - since folk interested in macro's are in here I'll try to request some help for a macro of my own. I'm a protection paladin and occasionally (due to lack of spell hit I suspect) targets will resist my taunt if someone pulls aggro. What I would like is a BoP macro that uses both the no target and alt modifiers as self casts, friendly target as target or, in the case of targeting a mob charging at them, uses [target=targettarget] (or similar) to allow me to BoP without having to retarget. I've tried using the macro recommended in a previous 'How to swing it' article here without success so I was hoping someone might be able to assist me?
Chris Anthony Apr 21st 2008 6:25AM
Gadai, I haven't tested it but this should work:
#showtooltip Blessing of Protection
/cast [harm,nodead,target=targettarget] Blessing of Protection; [mod:alt][target=none] Blessing of Protection; Blessing of Protection
Gadai Apr 21st 2008 7:02AM
I'll try this tonight in ZA - the charge in the Lynx phase of Zul'jin was really annoying me when he targeted clothies since he would generally kill them before I switch target + BoP. Hopefully this will result in fewer tears from my less armoured guildies ;) Thank you!
Chris Anthony Apr 21st 2008 10:36AM
Naturally, I blew it! This is what I get for posting first thing in the morning. ;)
The sticking point is the "no target = self cast" part; I'm not sure you can do that cleanly with the current macro setup. [noexists,target=player] checks to see if /you/ exist, and that's clearly not what you want!
Here's another version that should do what you want. I've tested it with Renew, but it ought to work with any helpful spell:
#showtooltip Blessing of Protection
/cast [mod:alt,target=player][harm,target=targettarget][help][target=player] Blessing of Protection
In order:
* If you're holding down Alt, cast BoP on yourself no matter what.
* If your current target is harmable, cast Blessing of Protection on /its/ current target.
* If your current target is helpable, cast Blessing of Protection on your current target. (Keep in mind that you can't use BoP on anyone who's not in your party.)
* If none of the above are true, cast Blessing of Protection on yourself.
Is that what you're looking for?
Coristad Apr 21st 2008 2:10PM
Righteous Defense uses melee hit, not spell hit. Yes, it's bass ackwards. Changed in 2.3.
Clint Apr 21st 2008 10:02AM
#showtooltip Sunder Armor
/cast [target=mouseover,exists] Sunder Armor
If a foolish dps'er breaks that sheep, it will still run to you.
*note use sunder armor, not devastate for this one :p
vanye111 Apr 21st 2008 12:28PM
Shouldn't you add a [] after the mouseover so that if you're not mousing over someone you'll sunder your current target?
(or at least that's what I thought the [] condition indicated...)
Clint Apr 21st 2008 1:59PM
Since devastate has the same effect as sunder armor now, I have never actually used sunder armor on a target that wasn't cc'd. Maybe I am missing something, but why would I? Cost is the same and devastate is more threat.
Here is a slightly more useful macro:
#showtooltip (**use the '?' icon**)
/cast [nomod] Devastate
/cast [mod:shift][target=mouseover,exsists] Sunder Armor
Driphter Apr 25th 2008 2:00PM
A devastate will break the CC, where as a mouseover sunder won't activate Auto-attack on the CC'd mob since it's not your target. So you can generate threat on a CC'd mob. No doubt a very useful tool for tanking with groups that have some trigger happy dps.
~Driphter