Functioning Holy Fire/Smite Macro?

Priest
I copied this from another thread, but I cannot get it to work:

#showtooltip holy fire
/cast [nomod][harm][@targettarget,harm] smite; [mod:alt][harm][@targettarget,harm] holy fire

It will only cast Smite, "alt" does nothing. Or If I put holy fire in place of smite it will only cast holy fire. (basically, everything past ";" is ignored.

Are there too many arguments in the macro or something? I do 'ok' with macros, but this has me stumped (I tried flipping things around 5-6 diff. ways) - it SHOULD work.
I think there should be a semi at the end of the macro.

I'm not at home to test unfortunately, but I'm pretty sure I posted in that thread you copied it from, grab my post and try that one instead?
I believe you need a /cast after the semicolon.

/cast [nomod][harm][@targettarget,harm] smite; /cast [mod:alt][harm][@targettarget,harm] holy fire
You don't need a /cast after the semi. I don't think you need the semi at the end either after doing some more reading.

What button are you putting the macro on, you could using alt+button and it could be bound to something else, which would cause it to do whatever the game has that action bound to.
Try this order instead.

/cast [mod:alt] [harm] [@targettarget, harm] Holy Fire; [harm] [@targettarget, harm] Smite
You don't need a /cast after the semi. I don't think you need the semi at the end either after doing some more reading.

Are you entirely sure about that? I'm no macro expert, but I've played with them from time to time and I'm pretty sure a semicolon is a statement break. Which means you could write the macro on two lines

/cast [nomod][harm][@targettarget,harm] smite;
/cast [mod:alt][harm][@targettarget,harm] holy fire

Taking out the second /cast looks wrong to me.
Well I'm getting all my macro info from the wowpedia article, and it doesn't put a /cast after the semi >_>
/cast [mod:alt, harm] [mod:alt,@targettarget] Holy Fire; [harm] [@targettarget] Smite
#showtooltip holy fire
/cast [nomod][harm][@targettarget,harm] smite; [mod:alt][harm][@targettarget,harm] holy fire


Yes, that will always cast Smite. The reason being is that the brackets act as at OR operator. The semi-colon acts as and if - then -else operator.

So you are saying...

IF [ nomod:alt ] OR [ harm ] OR [@targettarget AND harm] THEN
Cast Smite
ELSEIF [ mod:alt ] OR [harm] OR [@targettarget AND harm] THEN
Cast Holy Fire
END

You, see the problem with this is that....
If you target an enemy, the "harm" in the first part of macro always evaulates to true, so the first part of your macro always gets executed. With OR states, only one of them has to be true in order for the whole expression to be true.

As per a previous poster..this is correct.

03/10/2011 9:32 AMPosted by Minx
/cast [mod:alt, harm] [mod:alt,@targettarget] Holy Fire; [harm] [@targettarget] Smite
03/10/2011 9:32 AMPosted by Minx
/cast [mod:alt, harm] [mod:alt,@targettarget] Holy Fire; [harm] [@targettarget] Smite


^^^^^
THIS
Thanks everyone, esp. Minx (for the correct macro) and Pythus (for the crystal-clear translation to standard conditional terms).
/cast [mod:alt, harm] [mod:alt,@targettarget] Holy Fire; [harm] [@targettarget] Smite


^^^^^
THIS


i just attempted to use in and it doesn't work.

EDIT: oops i lied it does work. thanks for the info everyone :).
does anyone have a macro for holyfire to reset on a timer between the 2 so you don't have to push alt every 8 seconds or whatever it is >.>

(like the reset timer that prot warriors use for the charge/intercept)
/castsequence [harm][@targettarget,nodead,harm] reset=8 Holy Fire,Smite,Smite,Smite,Smite;

This will cast Holy Fire first, then Smite until Holy Fire is recharged, on the target of your target if it's hostile.

Please keep in mind the reset time is from the last time you used the macro, not since you started it. In general though, I haven't found that to be too much of a problem.
I just use

#showtooltip
/cast [nomod] Smite
/cast [mod] Holy Fire

Sweet+simple.
This is the best I can get. It will always cast one Smite before Holy Fire but will reset no matter what when Holy Fire is up.

#showtooltip Holy Fire
/castsequence [harm][@targettarget,harm] reset=10 smite
/castsequence [harm][@targettarget,harm] reset=10 holy fire
This is the best I can get. It will always cast one Smite before Holy Fire but will reset no matter what when Holy Fire is up.

#showtooltip Holy Fire
/castsequence [harm][@targettarget,harm] reset=10 smite
/castsequence [harm][@targettarget,harm] reset=10 holy fire


This also won't work at all...

You're sequencing one spell...with a reset parameter that brings you back to the beginning of the sequence after 10 seconds of inactivity; which is pointless because there is no sequence here. The whole line is functionally no different than /cast smite.

You cannot fall through cast multiple spells on the global cooldown. This will never cast holy fire.

The only way to effectively do this is to use a modifier, like Melaimi and Pythus above.
It's currently working on live servers so I dunno what to tell you. Go try it :p
Khendra and Tithe's macros work, but not perfect.

is it possible to make a castsequence macro that would let me queue my next skill right before i finish casting my last one? coz i cant do that with the given macros. thanks.

Join the Conversation

Return to Forum