Targetting Shenanigans

So here is my current Judgement macro in Classic:

#showtooltip Judgement
/cleartarget [@mouseover,exists,harm]
/castsequence [@mouseover,exists,harm] reset=2 Judgement, Seal of Command(Rank 4); reset=2 Judgement, Seal of Command(Rank 4)

It will clear target and cast Judgement if it detects a mouseover target, and if not (I’ll be holding down right click camera hold for most pvp battles anyway) it defaults to standard behavior.

I’m looking to add 2 improvements to this though.

/target Player aka Target Self instead of /cleartarget to add protection against re-targetting when getting attacked, and also it would be insane if I could get it to re-target my mouseover target after Judgement gets cast.

I think I can get the second interaction to work on my own, but only if I find some solution to targeting my own character.

Modifiers/conditionals on /target is weird, like you’d think you could do something like “/target [@mouseover,harm,nodead] Player” and that would be that… But no, @mouseover actually replaces the target instead, it’s like I’m writing /target Mouseovertarget and myself, where it defaults to the mouseover target… Instead of using it as a check-state before it targets myself.

TL;DR: How do I add a mouseover conditional prior to the action “/target Player” ?

Confused why you’re clearing target to begin with, rather than just casting on your mouseover, is there a bug with it?

Some basic optimization on the original.

#showtooltip Judgement
/cleartarget [@mouseover,harm,nodead]
/castsequence [@mouseover,harm,nodead] [] reset=2 Judgement, Seal of Command(Rank 4)
/target [@player]

Is how to target yourself.

It’s due to the glitchy interaction of reckoning in Classic more or less.

Having auto attack on (which can only be done to attackable targets) will allocate all Reckoning charges to that target, until you finally land your first swing. Cancelling Auto Attack while it is on, or changing or clearing that target will remove all the reckoning charges (Similar to Rogue Combo points).

And seeing how Judgement will automatically start autoattacking, using a mouseover cast, with either a friendly target, or no target, seems to be the only way to deny Judgement activating Auto Attack.

Also thank you for showing me that a nil “[ ]” bracket works as a valid conditional, this will be useful for saving lines.

Edit: Since the target drop and judgement happens a sort of semi delayed way. If I can get this conditional target self to work, then in theory all I have to do, is to add some sort of [@target, help] modifier to targeting my mouseover target, to do the auto-retargeting function. Though naturally this has the very same problem “/target [@mouseover,harm] Player” has.

Edit 2: I can substitute /cleartarget with /targetlasttarget, as long as I make sure to target myself prior to every single target… However this seems extremely convoluted :sob:

Yeah, I can’t think of anything better than what you’re already doing. In most cases you’d likely be using /stopmacro [options] for some of the weird stuff but that won’t work for this style where the actual action is after all the jank.

I found a command that does what I want, at least standalone

/targetlasttarget [@target,noexists] (alternatively if I get target self to work /targetlasttarget [@target,help])

There is just oneeee tiny issue… Instead of the command activating on the second button push, it activates on the first… Which essentially leads me back to square one… :sob:

Do you think stopmacro could be used to buffer enough for /targetlasttarget [@target,noexists] to happen on the 2nd push?

Or am I gonna need some convoluted /changeactionbar train for this.

/targetlasttarget [noharm] will cover both cases. Might be able to get around the timing problem by sticking it at the top of the macro.

You might also be able to do something with https://www.curseforge.com/wow/addons/grounded
Where you do the existing macro on key down, and the targetlasttarget on key up.

This changes the interaction at least.

If I have the /targetlasttarget [noharm] after the cleartarget, then we just get a loop.

Putting it prior to cleartarget, seems to cause an overlap, where the mouseover condition of the cleartarget takes precidence, where it just does cleartarget over and over again, instead of toggling inbetween cleartarget and target mouseover.

I’ll try tinkering a bit with conditionals on the cleartarget part.

EDIT: In a similar fashion to these sort of double modifier macros /cast [mod:ctrl/shift] Instant Kill(Rank 1337), where you would have to hold both ctrl and shift for it to cast… Is it possible to do some sort of… /cleartarget [@mouseover,harm / @target,harm] ?

Where it not only requires me to have a valid mouseover target to clear the target, it would also require me to have a target too.

Yeah.

[this, and this]
[this] [or this]
; else this

So

/cleartarget [@mouseover,harm,nodead] [harm]

@target is implied if you don’t specify another @unit so you can omit it.

This is a fallback though, I’m talking about AND logic here, where both have to be true for it to activate.

/cleartarget [@mouseover,harm,nodead] [harm]

Would clear the target even if no mouseover is present, as long as I had a hostile target.

Then no. Can’t test against 2 different units in a single test.

FWIW this is an OR test:

The AND version would be

/cast [mod:ctrlshift]

or this (but it sometimes has issues)

/cast [mod:ctrl,mod:shift]

A pity though. It seems like a chain of /changeactionbar macros is currently the only way to emulate a sort of castsequence for macro commands, or to delay something to a specific press.

Main problem with this method though, is that it requires you to macro nearly every skill/spell you have with /changeactionbar 1, so that the changeactionbar chain reliably resets.

At least if you are against having a dedicated reset button for the chain.

UPDATE:

I solved the /target limitation by adding a stopmacro

As for the fast re-targetting, I did some tests and basically if re-targetting happens too quickly, then you will auto-attack the target, regardless if Judgement was cast initially during targetting a friendly target, or no target… Which ultimately means that you have to re-target it with some delay, as even double tapping can cause auto attacking to occur if you do it very fast.

Also I’m Curious, do any of you know if the Grounded addon can be used to accept either modifiers, or be allocated to a specific action bar? (Like a button pull action happening only on a specific button on action bar 2)