Mutt Macro Patcher

Mutt

Mutt (Macro Update Target Tool) is a World of Warcraft add-on that provides a slash command that can patch (silently edit) a chosen macro, replacing the something in one or more predefined instances of @something in the macro with the party or raid position of a targeted group member.

Examples:

Assuming you have a macro named "hlight" that looks like:

/cast [@raid4] Holy Light

...and that you're targeting the player in position raid23, then

/mutt hlight

...would patch the hlight macro to look like:

/cast [@raid23] Holy Light

Mutt observes macro options, so you can even do:

/mutt [button:3] hlight
/cast [nobutton:3,@raid2] Holy Light

...to have a macro patch itself(!)

WARNING!

Be advised! If you try this macro-patching-itself trick, make absolutely certain that the Mutt slash-command is the first line of the macro, and that you use macro options to make it mutually-exclusive from the rest of your macro or else your results will be unpredictable.

Modifiers:

Mutt modifiers can be added after the name of the macro. If no modifiers are provided, Mutt will patch the first @ target that it finds (unless it's part of a /mutt command, see below) and set it to the group position of the currently targeted group member.

Adding numbers after the name of the macro tells Mutt to change those instances of @ target in the macro, so:

/mutt hlight 2

...would change the second @ target in your macro. In case you want to change the last @ target and don't want to count how many come before it, Mutt understands negative numbers to mean that you want to count backward from the end, so:

/mutt hlight -2

...would change the next-to-last @ target in your macro.

Placing all as an modifier in your Mutt command tells Mutt to change all instances of @ target in your macro to what Mutt received as the current target (more on targeting below).

By default Mutt will replace everything after the selected @ target but there are cases, like macros where you want the target's target, where you wouldn't want that. Mutt provides the keepsomething modifier to let you preserve a target chain after your initial target (I say preserve here, but Mutt will add the provided chain if it's not already present). Since having to specify a modifier like keeptargetpettarget would eat valuable macro space, Mutt understands k plus combinations of p and t to be a short version of this modifier, so ktpt could be used in place of the modifier above.

By default Mutt won't count or change any @ target that is part of a Mutt command in a macro. You can change this behavior if you wish by including the mutt modifier, and the @ target in your Mutt commands will be treated like those in the rest of your macro. Please note the warning above that unpredictable/undesired behavior may result from this.

Targeting:

The group position that Mutt writes in your updated macro is determined by your current target or by macro options in your Mutt command if you provide them, so if you used:

/mutt [@focus] hlight

...and your focus target was the player in raid position 14, then raid14 would be the new target written in your macro.

More Examples:

/mutt off-tank all mutt

Updates all @ targets (including those in Mutt slash commands) in macro off-tank to the group position of my current target.



/mutt [nomodifier] off-tank 2; [@focus] main-tank all

Updates second @ target in macro off-tank to current target's group position on a regular click, on a shift/ctrl/alt click changes all @ targets (except those in Mutt slash commands) in macro main-tank to the group position of my current focus.



/mutt [button:3] shield-mutt 2
/stopmacro [button:3]
/cast [nogroup:raid/party, @player] [@raid1] Sacred Shield

Macro shield-mutt: Casts Sacred Shield on player if not in group, on group member if in a group, update macro target on middle mouse button click.



/mutt [button:3] weaken-mutt keeptarget
/stopmacro [button:3]
/cast [@raid1target] Curse of Weakness

Macro weaken-mutt: Casts Curse of Weakness on group member's target, update macro target on middle mouse button click, preserving the "target" suffixed to the updated macro target.



Caveats:

  • Mutt has been updated to use @ rather than target= in macro options, if your existing macro has instances of target= in it you'll see an alert at patch time that they are being replaced to use @ targeting instead.
  • Mutt works by editing macros, and macros can't be edited in combat.
  • The default WoW macro editing window doesn't understand anything about Mutt, so if you run Mutt commands with the WoW macro window open you won't see any changes to your macro and WoW will overwrite any of Mutt's changes when the window closes.
  • If your macro has spaces in the name then you must enclose the name in double-quotes, a-la:
/mutt [button:3] "mutt macro" 2

FAQ:

What would I use this for?

Mutt is intended to make up for some of the deficiency of only having one way in WoW macros (focus) to have an unchanging but reset-able target in a macro. Mutt permits you to have macros for spells that you know you'll be casting repeatedly on the same target (Remove Curse, Beacon of Light) and a way of adjusting the targets at the start of the raid or between combats.

You must login to post a comment. Don't have an account? Register to get one!

Facts

Date created
Aug 21, 2009
Category
Last update
Sep 15, 2013
Development stage
Release
License
MIT License
Curse link
Mutt Macro Patcher
Downloads
1,697
Recent files
  • R: v0.64 for 5.4.0 Sep 15, 2013
  • A: r42 for 5.4.0 Sep 15, 2013
  • A: r41 for 5.4.0 Sep 15, 2013
  • R: v0.63 for 5.3.0 Jul 04, 2013
  • A: r39 for 5.3.0 Jul 04, 2013

Authors

Relationships

Embedded library
Ace3
CallbackHandler-1.0
LibStub