Question about mouseover macros.

90 Pandaren Monk
16290
Was wondering if there was a condition I could add that would force the spell to self cast if I do not have a target or health frame moused.

Currently if I want to cast my macro's spells while solo I have to mouse up to my health frame to do so which is a real hassle sometimes, wasting at least 1 to 2 seconds doing so.

An example of what I currently use is something like this:

#showtooltip
/cast [@mouseover, mod:alt] Chi Burst, [@mouseover, mod:ctrl] Surging Mist; [@mouseover] Soothing Mist;
Reply Quote
90 Tauren Druid
8680
No expert on macros here but...shouldn't auto self cast be default? Interface > Combat > Auto Self cast checkbox?

Only reason I mention is because I only play healer and due to this option I never have to add anything such as that into any macros.
Edited by Tonydanza on 2/16/2013 10:23 AM PST
Reply Quote
90 Gnome Monk
9940
Not sure this is the most efficient macro(or so I've been told) but it'll self cast a spell if no target available.

#showtooltip
/cast [target=mouseover,help,nodead][help][target=player] Guardian Spirit
Reply Quote
90 Pandaren Monk
16290
No expert on macros here but...shouldn't auto self cast be default? Interface > Combat > Auto Self cast checkbox?

Only reason I mention is because I only play healer and due to this option I never have to add anything such as that into any macros.


Apparently the mouseover command over rides the auto self cast function because that's what I was used to using before I started using mouseovers to heal.

I have the option on by default, I think it's default to begin with.

Tried setting it to 'none' instead of alt but alas I continue to get the message 'You have no target' when casting beneficial friendly spells, instead of it self casting.

Not sure this is the most efficient macro(or so I've been told) but it'll self cast a spell if no target available.

#showtooltip
/cast [target=mouseover,help,nodead][help][target=player] Guardian Spirit


@.@ Yeah that's really wordy I'm hoping there's a more streamlined...line...I can add in to force self casting when I have no mouseover target.
Edited by Punchfastly on 2/16/2013 11:39 AM PST
Reply Quote
8 Dwarf Priest
0
you can think of each segment of your macro as a "phrase" that is checked. if the conditions are met, the phrase is executed, if not, it moves on to the next phrase.

one key about this system is that you should always put the least likely event first, and move on to more likely events later in the series, much the same way many AI programs that simulate dps on a target dummy work.

so /cast [@mouseover, help] Soothing Mist; Soothing Mist

in this macro there are two "phrases," and the first one has a condition while the second one is unconditional.

macros are checked in typical reading order, from left to right. this one would first check if there's a friendly mouseover target. if so, cast Soothing Mist on them. if there's no friendly mouseover target it would move to the next phrase, and cast soothing mist on either yourself if nothing is targeted (if auto self-cast enabled), yourself if an enemy frame is selected, or on whatever your current friendly frame is, if your mouse is hovering on empty space or even hovering on an enemy.

you should remember that last functionality if you have macros that are set to cast differently whether [@mouseover,help] or [@mouseover,harm] since if there is an unconditional cast as the final phrase, it will fail to execute if you are hovering over anything at all, and will require that you have your mouse on empty space for the final unconditional phrase to ever work. for hopefully obvious reasons.

unless of course you write it /cast Soothing Mist; [@mouseover,help] Soothing Mist

that will NEVER, EVER cast Soothing Mist on a friendly mouseover frame, reason being the first phrase is unconditional, and so will always execute. therefore the 2nd phrase is never checked.
Reply Quote
90 Blood Elf Priest
10625
02/16/2013 11:43 AMPosted by Kolas
/cast [@mouseover, help] Soothing Mist; Soothing Mist

Simpler version:
/cast [@mouseover,help][] Soothing Mist

"[]" means "use the default targeting behaviour." So first, it checks to see if you have a friendly mouseover; if you do, it casts on that target. If not, it goes to the next conditional, which is the empty brackets which mean "use the default behaviour". In the case of Soothing Mist, that means it tries first to cast on your target; if you don't have a friendly target, it checks if Auto Self Cast is enabled, and if so, it casts on you.

This is honestly the most intuitive possible behaviour for a mouseover macro and should be the 'default' if you don't know how to write your macros. There are only a few situations where you may want to write macros that behave differently:

1) Tank cooldowns. Guardian Spirit in particular can be an issue. If you have a spell that you absolutely do not want to default to yourself or your target if your intended target dies or becomes somehow invalid (e.g. mind control effects), use the following:

/cast [mod:alt,@player][@mouseover,nodead,help] Guardian Spirit
(casts on you if you're holding down Alt, otherwise your mouseover if it's friendly and alive, and if that fails, does nothing)

2) Spells that can be cast both offensively and defensively (Holy Shock, Penance, Cascade). You'll want one of the following forms, depending on how you want it to behave:

/cast [@mouseover,help][exists,nodead][@mouseover,nodead,harm][@player] Holy Shock
(friendly mouseover > any target > enemy mouseover > you)
or
/cast [@mouseover,help][exists,help][@mouseover,nodead,harm][] Holy Shock
(any friendly > any enemy > you, with a subpriority of mouseover > target).
or
/cast [@mouseover,nodead][] Holy Shock
(any mouseover > any target > you)
or
/cast [@mouseover,help][] Holy Shock
(friendly mouseover > any target > you, ignores enemy mouseover)
or
/cast [@mouseover,help][help][@player] Holy Shock
(friendly mouseover > friendly target > you, will never cast on an enemy; you may want to pair this one with a similar macro with "nodead,harm" instead of "help")

Note that most of these, aside from the third-from-last one, will give you the Blue Hand of Fail if you hit them while mousing over a dead friendly target. That's intentional, because it's impossible to predict in advance what you 'intend' to happen in that situation; if you wanted to heal someone but they died, you probably don't want to blow the cooldown on an offensive cast on the boss that you happen to be targeting.

3) Spells that can't be cast on you (e.g. Binding Heal). If you use the 'standard' format and you don't have a friendly mouseover or target, it will try to default to you, fail, and give you the Blue Hand of Fail. What you want for these spells is:

/cast [@mouseover,help][help] Binding Heal
(friendly mouseover > friendly target, otherwise does nothing)

4) Spells that you want to cast only on yourself by default, but may want to mouseover-target on rare occasions (e.g. Innervate, the old Power Infusion, possibly some others). You want:

/cast [mod:shift,@mouseover,help][@player] Innervate
(your mouseover if you're holding down Shift; otherwise, you)
Edited by Kaels on 2/16/2013 1:15 PM PST
Reply Quote
90 Pandaren Monk
16290
Yes! Finally! This is all the info I was wanting for my macro writing. Thanks guys.
Reply Quote
90 Pandaren Monk
16290
Ugh I'm still running into problems, the lines you guys gave work...but only if it's for one spell.

My problem now is that since I use key presses to que diffrent spells from one button I.E. mod:alt for grapple weapon and then when alt isn't down it does Life Cocoon.

So if I do something like this:

#showtooltip
/cast [@mouseover, mod:alt][] Grapple Weapon; [@mouseover][] Life Cocoon

It seems to stop reading after the first set of [] so grapple weapon is always showing and still only works with a mouseover and will not go to default targeting when no target is moused.
Reply Quote
90 Blood Elf Priest
10625
Oh, you want:

/cast [@mouseover, mod:alt][mod:alt] Grapple Weapon; [@mouseover,help][] Life Cocoon
(GW on your mouseover if you're holding alt > GW on your target if you're holding alt > LC on your mouseover > LC on your target if friendly > LC on you)
or
/cast [@mouseover, harm, mod:alt][harm, mod:alt] Grapple Weapon; [@mouseover,help][] Life Cocoon
(GW on your mouseover if it's an enemy and you're holding alt > GW on your target if it's an enemy and you're holding alt > LC on your mouseover > LC on your target if friendly > LC on you)

or one of the following options to simplify the behaviour, since you're combining a friendly and a hostile spell so you don't really need to use modifier keys:

/cast [@mouseover, harm][harm] Grapple Weapon; [@mouseover,help][] Life Cocoon
(GW on your mouseover if it's an enemy > GW on your target if it's an enemy > LC on your mouseover if it's friendly > LC on your target if it's friendly > LC on you)
or
/cast [mod:alt, @player] Life Cocoon; [@mouseover, harm][harm] Grapple Weapon; [@mouseover,help][] Life Cocoon
(LC on you if you're holding alt > GW on your mouseover if it's an enemy > GW on your target if it's an enemy > LC on your mouseover if it's friendly > LC on your target if it's friendly > LC on you)

Basically, the problem with your macro is that the first time the macro encounters a "[]", it's going to stop there and try to cast the spell on whatever the default target for that spell is. So in this case, it tries to cast Grapple Weapon on something. Grapple Weapon is offensive, so if you don't have an enemy target, it does nothing.
Edited by Kaels on 2/16/2013 1:31 PM PST
Reply Quote
90 Pandaren Monk
16290
The first one your provided almost works, everything functions as it should aside from casting GW on my current target if I do not have a mouseover, which is the main thing I'm trying to fix.

That seems to be the case for all my macros that consist of two or more spells via key presses.
Reply Quote
90 Draenei Priest
9355
Kaels writes a good macro.

I typically also end my macros with [], because I don't mind the so-called 'blue hand of fail.'

I figure blue hand is the most intuitive thing to happen, because it's the same as using any other (non-macro'd) spell on my bar, and I like the consistency.
Reply Quote
90 Draenei Priest
9355
The first one your provided almost works, everything functions as it should aside from casting GW on my current target if I do not have a mouseover, which is the main thing I'm trying to fix.

That seems to be the case for all my macros that consist of two or more spells via key presses.


/cast [@mouseover, mod:alt][mod:alt] Grapple Weapon; [@mouseover,help] Life Cocoon; [harm]Grapple Weapon; Life Cocoon

Unfortunately ugly looking macro, but if I've read the behavior you want correctly, this should work.
Edited by Dominish on 2/16/2013 1:46 PM PST
Reply Quote
90 Pandaren Monk
16290
The first one your provided almost works, everything functions as it should aside from casting GW on my current target if I do not have a mouseover, which is the main thing I'm trying to fix.

That seems to be the case for all my macros that consist of two or more spells via key presses.


/cast [@mouseover, mod:alt][mod:alt] Grapple Weapon; [@mouseover,help] Life Cocoon; [harm]Grapple Weapon; Life Cocoon

Unfortunately ugly looking macro, but if I've read the behavior you want correctly, this should work.


It actually just skips right to the '[harm] Grapple Weapon' line and ignores everything else =/
Reply Quote
90 Pandaren Monk
16290
Aah it seems to work aside from improperly displaying grapple weapon when I have an enemy targeted and alt isn't being pressed, but I think I can fix that.

Edit: Bah still won't recognize my current target for Grapple when I add an alt mod to it. T.T

Getting frustrating. Byaaargh.
Edited by Punchfastly on 2/16/2013 2:07 PM PST
Reply Quote
90 Pandaren Monk
16290
Finally got it to work the way I want.

/cast [mod:alt, harm, @mouseover] Grapple Weapon;[nomod, help, @mouseover] Life Cocoon; [mod:alt] Grapple Weapon; [@player]Life Cocoon;

Alt displays Grapple when pressed, Grapple will execute on my target unless I have another enemy moused, Life Cocoon casts on my mouseover, Life Cocoon self casts with no target.

Man what a headache. Here's hoping it's just a simple replacing of text for my other macros >.>
Reply Quote
90 Blood Elf Priest
10625
edit: nevermind :)
Edited by Kaels on 2/16/2013 2:45 PM PST
Reply Quote
90 Pandaren Monk
16290
I feel so stupid now, finally figured out what the problem was. I was setting the conditions I wanted but was never adding a terminating condition so It was never moving on to the next set of instructions, instead it was just assuming I was dumb for not having a moused target and telling me I have no target.

Hooray for comprehension X.x
Reply Quote
90 Pandaren Priest
15135
If you're primarily using mouseovers to heal, it's probably also worth considering something like I use as my standard healing template:

/cast [@mouseover,help][@focus,help][] Whatever

so I don't have to aim at raidframes if I'm just doing tank maintenance. Tank is always set as focus (middle-click in Vuhdo) and boss targeted. I don't usually have any accidents mousing over someone's hitbox in the playing field, but I'm also zoomed out a good distance. The final [] is only there so the same spell works correctly when I'm solo questing or something.
Edited by Breathkeeper on 2/18/2013 3:18 PM PST
Reply Quote

Please report any Code of Conduct violations, including:

Threats of violence. We take these seriously and will alert the proper authorities.

Posts containing personal information about other players. This includes physical addresses, e-mail addresses, phone numbers, and inappropriate photos and/or videos.

Harassing or discriminatory language. This will not be tolerated.

Forums Code of Conduct

Report Post # written by

Reason
Explain (256 characters max)
Submit Cancel

Reported!

[Close]