Log in

View Full Version : Macro Woes: Single-Target Healing Uses a Lot of Space



amalgam
01-07-2008, 04:57 PM
I think it's been asked before, but I cannot find it for the life of me.

I duplicated a portion of Xzin's setup on my Xkeys because I liked the way it allowed for more flexibility with healing options. I set 2 whole columns of keys to heal a single, specific target (A, B, G, D, or O).

Anyway, I have a macro set up for each character on each Shaman, meaning I am using 5 macro slots on each toon for these. Add on top of that the fact that I have one for LHW and CH as well and you see I lose a lot of macro slots to accomplish this.

They look like this:

[code:1]#showtooltip
/tar Solusaa
/cast [target=player,exists,nodead,help] Healing Wave
[/code:1]

Now, the crux here is that I have to redo my keybindings on my Xkeys so I can take advantage of modifiers on these macros to come up with something like this:

[code:1]#showtooltip
/tar Solusaa
/cast [dead][help][nocombat] Ancestral Spirit
/cast [nodead][help][modifier:shift] Lesser Healing Wave
/cast [nodead][help][modifier:ctrl]Chain Heal
/cast [nodead][help] Healing Wave
[/code:1]

This would allow me to condense the macros to 5.

My question here involves usage of the modifiers. Is it possible to apply a different set of modifiers to change targets within these macros? I want to condense this further down to 1 or 2 macros for each toon, if possible.

Also, can any of these conditionals be shortened (I.E., "modifier" to "mod", "target" to "tar")? WoWWiki has nothing on this aside from a tidbit here and there, but nothing useful.

I am fairly certain the modified macro is too long, so if you know of any other condensing methods, do tell.

amalgam
01-07-2008, 05:08 PM
I realized the exists and player conditions would evaluate true 90% of the time due to the specific /tar line, so I omitted them.

I use nodead because I combined Ancestral Spirit into the mix, meaning I can use the same keybind to res the specific target. It might work without the nodead, but I don't want to waste the GCDs if the condition evaluates to true.

The reason I went with the /tar X methos was because I wanted to have the option to heal the specific character using everyone all at once. It allows me to top the individual off for next to no mana since I get to downrank due to using multiple heals.

It should be noted that I'm at work ATM and do not have the oppurtunity to test these out until later tonight. I figured it would be best to have everything figured out and hurry back to levelling instead of playing with macros for another 3 hours.

amalgam
01-07-2008, 05:36 PM
The help is a precautionary measure against the rare chance of an enemy being similarly named in comparison to my toon. If the /tar targets the enemy and fails the conditional, the GCD is still consumed post-2.0. Given the names of the Shamans, it's probably going to be extremely rare that this occurs, so I might remove it in the future.

Nepida
01-07-2008, 07:13 PM
/target will always target the exact first, if it doesn't find an exact match it will attempt a best match.

/targetexact will always only target an exact match, though the length of the command may be a deterrent.

maqz
01-08-2008, 05:06 AM
My question here involves usage of the modifiers. Is it possible to apply a different set of modifiers to change targets within these macros? I want to condense this further down to 1 or 2 macros for each toon, if possible.
If you can program your xkeys to send multiple modifiers, you can test for them like this.

/cast [nomodifier:shift,nomodifier:ctrl,nomodifier:alt,ta rget=A]Chain Heal
/cast [nomodifier:shift,nomodifier:ctrl,modifier:alt,targ et=B]Chain Heal
/cast [nomodifier:shift,modifier:ctrl,nomodifier:alt,targ et=A]Lesser Heal
...

Eight combinations at most, so four spells times five targets could theoretically fit in three macros. I'm pretty sure you won't fit more than 5 of those in a macro though (for a total of four macros). I hope you have short names for your characters. ;)

(Maybe Party1, Party2 and so on is shorter? You'd have different macros on the characters (since Party1 is self), but you might save a few characters there.)


I am fairly certain the modified macro is too long, so if you know of any other condensing methods, do tell.
You could save a few characters by using semicolon and only typing /cast once. Also, I think I've seen mod:shift used in place of modifier:shift.
[code:1]/cast [nomod:shift,nomod:ctrl,nomod:alt,target=A]Chain Heal;[nomod:shift,nomod:ctrl,mod:alt,target=B]Chain Heal;[nomod:shift,mod:ctrl,nomod:alt,target=A]Lesser Heal[/code:1]

edit:
Here's what I had in mind. Four macros like these, one for each spell. I have not counted the number of characters. If you can cram two more lines in, you can get down to three macros!
[code:1]/use [mod:shift,target=Party1]Spell 1;
[mod:ctrl,nomod:alt,target=Party2]Spell 1;
[mod:ctrl,mod:alt,target=Party3]Spell 1;
[nomod:alt,target=Party4]Spell 1;
[mod:alt,target=Party5]Spell 1[/code:1]

Shogun
01-08-2008, 07:09 AM
If you're running out of macro space, try Trinty 2.0, unlimited macro space, pretty much as many macros as you like etc...

http://www.wowinterface.com/downloads/info7810-TrinityBars2.0.html

amalgam
01-08-2008, 08:31 PM
If you're running out of macro space, try Trinty 2.0, unlimited macro space, pretty much as many macros as you like etc...

http://www.wowinterface.com/downloads/info7810-TrinityBars2.0.html

The author says that it's still in development; how buggy is it, assuming you have personal experience with the AddOn? The other part that worries me is that Blizzard specifically went out of its way to attack unlimited macro length and count and redesigned the API to restrict those parameters to the game's default. How does this AddOn accomplish getting around this, and, if so, have there been reports of bannings based on such functionality being present?



@maqz: Your idea is similar to what I asked, but you're using the opposite approach by using one spell in a macro and altering the target. I want to have a button devoted to each target and change the spell based on modifiers, which I have accomplished.

You did however, touch upon my question: is it possible to change a target based on modifiers? For instance, have something like "/tar Solusab; [modifier:alt] Solusaa".

Thanks for the tip about the semicolon. Does the macro have to remain on one line for that to work?

The nomod conditional can probably be safely omitted since the Xkeys doesn't have to much of an issue (that I have seen) with sticky modifiers.

For the record, Xkeys does allow one to send multiple modifiers on the same key.

maqz
01-08-2008, 09:08 PM
@maqz: Your idea is similar to what I asked, but you're using the opposite approach by using one spell in a macro and altering the target. I want to have a button devoted to each target and change the spell based on modifiers, which I have accomplished.
Oh, I thought you wanted a dedicated button for each combination of target and spell, using as few macros as possible.

So... your problem is solved? :D


You did however, touch upon my question: is it possible to change a target based on modifiers? For instance, have something like "/tar Solusab; [modifier:alt] Solusaa".
Yes, but have the one with options first, then the default (without options). If that does not work, try something like this: /tar [target=A,mod:shift][target=B,mod:ctrl][target=C,mod:alt]


Thanks for the tip about the semicolon. Does the macro have to remain on one line for that to work?
I think so, but I haven't tested. If you are using the same spell, but different targets, I think this would be possible, shrinking it even more. The spaces between the brackets can be removed as well, but I kept them here to avoid messing up the page width.

[code:1]/use [mod:shift,target=Party1] [mod:ctrl,nomod:alt,target=Party2]
[mod:ctrl,mod:alt,target=Party3] [nomod:alt,target=Party4] [mod:alt,target=Party5]Spell 1[/code:1]

The nomod conditional can probably be safely omitted since the Xkeys doesn't have to much of an issue (that I have seen) with sticky modifiers.
The reason I wrote it that way was to differentiate, say, ctrl and alt from just ctrl. But you're right, if you are careful and test the modifiers in order, you don't need nomod.

amalgam
01-08-2008, 09:23 PM
Excellent stuff. Will try ASAP once I finish updating all my folders.

This is why I love these forums. :)

Also, I used the wrong "to" earlier. it should be "too".

maqz
01-08-2008, 09:29 PM
After reading your original post again, I think I finally realize what you want. You want to have two buttons programmed as, say "1" and "alt+1" respectively, to save on macro space.

Like this maybe?

[code:1]/targetexact [mod:alt]Solusaa;Solusab
/use [dead,nocombat]Ancestral Spirit;[nodead,mod:shift]Lesser Healing Wave;[nodead,mod:ctrl]Chain Heal;[nodead]Healing Wave[/code:1]

amalgam
01-08-2008, 09:38 PM
After reading your original post again, I think I finally realize what you want. You want to have two buttons programmed as, say "1" and "alt+1" respectively, to save on macro space.

Like this maybe?

[code:1]/targetexact [mod:alt]Solusaa;Solusab
/use [dead,nocombat]Ancestral Spirit;[nodead,mod:shift]Lesser Healing Wave;[nodead,mod:ctrl]Chain Heal;[nodead]Healing Wave[/code:1]

Yes, that was what I wanted and I've already begun piecing the macros together. :)

I was actually thinking of specifying left/right alt and left/right shift to be able to target all 5 toons using one macro and then using ctrl as my modifier for spell choice. If I have room remaining, I might even be able to include a /tar focus as a default.

Someday soon, I'm going to assemble a bunch of the info I've learned and gleaned together into a massive "Advanced Help" post.

maqz
01-08-2008, 09:50 PM
I was actually thinking of specifying left/right alt and left/right shift to be able to target all 5 toons using one macro and then using ctrl as my modifier for spell choice. If I have room remaining, I might even be able to include a /tar focus as a default.

Someday soon, I'm going to assemble a bunch of the info I've learned and gleaned together into a massive "Advanced Help" post.
All right! :)

I didn't know you could use left/right modifiers. Interesting. However, I did think of a way to save a few more characters on the [nodead] conditions -simply include an empty [dead] condition after the Ancestral Spirit. I think that would work. This is only about 150 chars.

[code:1]/targetexact [mod:alt]Solusaa;Solusab
/use [dead,nocombat]Ancestral Spirit;[dead];[mod:shift]Lesser Healing Wave;[mod:ctrl]Chain Heal;Healing Wave[/code:1]

amalgam
01-08-2008, 09:55 PM
I didn't know you could use left/right modifiers.

I didn't either until about 5 minutes ago.

I hate to admit it, but I fail to see how the [dead] changes the macro's functionality. I thought the checks stopped after the semicolon.

maqz
01-08-2008, 10:16 PM
I hate to admit it, but I fail to see how the [dead] changes the macro's functionality. I thought the checks stopped after the semicolon.
I might be wrong, but I think as soon as a true condition has been found, the entire /cast (or /use) command ends.

[dead]; is supposed to mean, if target is dead, do nothing, jump to the next line. If it works that way, no idea.

Shogun
01-09-2008, 08:00 AM
If you're running out of macro space, try Trinty 2.0, unlimited macro space, pretty much as many macros as you like etc...

http://www.wowinterface.com/downloads/info7810-TrinityBars2.0.html

The author says that it's still in development; how buggy is it, assuming you have personal experience with the AddOn? The other part that worries me is that Blizzard specifically went out of its way to attack unlimited macro length and count and redesigned the API to restrict those parameters to the game's default. How does this AddOn accomplish getting around this, and, if so, have there been reports of bannings based on such functionality being present?



I've been using it for the last couple of days with no problems or bugs so far, it takes a little getting used to to get it setup, but once you know how it works it's easy. Took me an hour or so to get the new bars setup, keybound and macro'd so not too shabby.

In development as far as I can see is adding new features and making things generally work better, WoW itself is still in development ;)
Wowinterface does list it as "2.0 beta" but if you check through the update notes the latest version is well into release not beta.

I have no idea why Blizz removed aditional macro adons, but that happened some time ago. The author states that the changes and aditions he's made to make Trinity 2.0 possible have happened since WoW patch 2.3 API:


With the new 2.3 API, limiting buttons to 120 is no longer neccessary. Also, an initial install creates less buttons, letting the user have more control over deciding how many to create and use.

Buttons can now be designated as specific types of buttons.

* - Action Buttons are buttons that are based on the 120 action ID's and reflect spell placements in Blizz default UI.

* - Spell Buttons are buttons that are based on specific spells.

* - Macro Buttons are buttons that utililize the secure template macro system that allows for an unlimited number of macros and macros of unlimtied length (under development)

* - Item buttons are buttons that reflect items dropped into the buttons (under development)

* - Slot buttons are buttons that reflect items current equipped for the specified slot (under development)

Don't forget Blizz re-worked a hell of alot of macro commands and how they can be used fairly recently, perhaps no one has tried to make macro extenders since then. Alot of people are using this without issues, others are having issues with certain shift states conditionals in macros, or problems with stances etc. Read through the comments if you're concerned, the author is back from holidays and checking in regularly on the Wowinterface forums so keep an eye out if you have questions.