PDA

View Full Version : [Addon] ActionBarTargeting: Automatic focus-free targeting and follow macros



Chorizotarian
03-03-2009, 05:56 AM
Downloads: http://code.google.com/p/wow5box/downloads/list

Updates:
- 3/4/09 (v0.3): Added focus as main on actionbar page 6 as suggested by Varmon
- 3/5/09: Posted to Curse ('http://www.curse.com/members/Chorizotarian.aspx') and WowInterface ('http://www.wowinterface.com/list.php?skinnerid=95938')

Introduction

ActionBarTargeting ('http://code.google.com/p/wow5box/wiki/ActionBarTargeting') is a WoW addon that automatically creates targeting and follow macros for a multibox team of characters. The targeting system is based on the actionbar ('http://www.wowwiki.com/Making_a_macro#Complete_list') conditional (active actionbar page), so focus is kept free for defining crowd control targets. If you want it for a particular encounter (e.g., vehicle quests), focus targeting is also supported and can be switched on/off even in combat.

Targeting macros are bound to invisible buttons that can be /click'ed to do the appropriate actions. For example, the following macro clicks the ActionBarTargeting `SetOffensiveTarget` button to make one of your shaman followers target your main's target before casting a Lightning Bolt:


/click SetOffensiveTarget
/cast Lightning Bolt
Team membership is defined using the companion addon MultiboxRoster ('http://code.google.com/p/wow5box/wiki/MultiboxRoster'), which recognizes team changes and fires an event. Switching teams is as easy as logging on with the new characters and adding them to a party or raid. ActionBarTargeting will automatically recognize the new team and update your targeting and follow commands.

To switch mains, just use whatever key your have bound to actionbar pages 1-5. For me this is F1-F5, but you can define whatever keys you like using the standard WoW keybinds UI. You can use this mechanism to switch mains at any time, including in combat. You can even switch mains in a macro using the changeactionbar ('http://www.wowwiki.com/MACRO_changeactionbar') slash command.

How It Works

ActionBarTargeting creates the following macros/buttons:
SetOffensiveTarget: Instructs a clone to assist your main unless they already have a hostile target (sticky targeting).
SetHealingTarget: Clone targets your main's target (if friendly, not dead, etc.) or else your main.
TargetMain: Clone targets your main.
TargetMainTarget: Clone targets your main's target.
FollowMain: Clone follows your main.
TargetToon{1-n}: Targets characters 1-n in your team, irrespective of party position.

The macro for each button is slightly different for each character in a team. For example, take a team of 3 shamans: Toon1, Toon2 and Toon3. Each shaman uses the Lightning Bolt macro shown above for their primary nuke. On shaman 1 SetOffensiveTarget looks like this:


/startattack
/stopmacro [exists,harm,nodead]
/assist Toon2; [bar:3] Toon3; [bar:6, target=focus]
With the current actionbar page set to 1, Toon1 is the main, so all this macro does is start his auto-attack. He he will cast his lightning bolt as usual, at whatever he has targeted. (Note: bar is a short form for the actionbar conditional.) Actionbar page 6 is a special mode that always switches to focus targeting.

On shaman 2 though, SetOffensiveTarget looks like this:


/startattack
/stopmacro [exists,harm,nodead]
/assist [bar:1] Toon1; [bar:3] Toon3; [bar:6, target=focus]
Now Toon2 will attack Toon1's target, unless he already has a living, hostile target of his own (sticky targeting). To switch roles and make Toon2 the main just hit the key to switch to actionbar page 2.

The macros for the other ActionBarTargeting buttons work along similar lines. To see the generated code for all buttons use the command /abt print in game.

[b]Advantages

The original idea for a targeting system based on actionbar pages was proposed by Maqz here ('http://www.dual-boxing.com/forums/index.php?page=Thread&threadID=4605'). The advantages are:
Focus-free targeting and follow.
Works fine in battlegrounds, even if your toons wind up in different groups.
One-button selection of main, even in combat, using actionbar page keybinds.

To the best of my knowledge only a few multiboxers have adopted his system though, probably because the macros and bar setup required are pretty complex. This only gets worse if you are trying to manage more than one team, which is what led me to an automated approach. With this addon the only extra manual step over a focus-based system is defining your teams with MultiboxRoster, and that's like 30 sec with a text editor.

Limitations
Won't work well if you use action bar pages for another purpose, for instance if you use separate melee and ranged attack bars on a hunter.
Won't work well if you use the default actionbars, since there is no way to turn paging off.
Macros are not easily customizable. If you're not happy with mine your only recourse is to edit the definitions in `ActionBarTargeting.lua`. I know this sucks -- I'm working on something better.
Max of 6 possible mains since that is the max number of possible action bar pages.

Setup
Install ActionBarTargeting and the companion addon MultiboxRoster from here ('http://code.google.com/p/wow5box/downloads/list')
Follow the MultiboxRoster instructions ('http://code.google.com/p/wow5box/wiki/MultiboxRoster') to define your team(s)
For each of your offensive spells, create a macro that starts with \click SetOffensiveTarget
For each of your healing spells, create a macro that starts with \click SetHealingTarget
Bind keys to actionbar pages 1-5. (I use F1-F5.)
Bind a key to FollowMain. (WoW keybindings menu)
Bind a key to TargetMainTarget if you want. (Helpful as an override to sticky targeting.)

That's it!

Chorizotarian
03-03-2009, 05:56 AM
Here are all of the macros that get generated for Toon1 / actionbar 1:

SetOffensiveTarget

/startattack
/stopmacro [exists,harm,nodead]
/assist [bar:2] Toon2; [bar:3] Toon3; [bar:6, target=focus]

SetHealingTarget

/targetexact [bar:2] Toon2; [bar:3] Toon3
/target [bar:6, target=focus]
/target [nobar:1,help,nodead] targettarget

TargetMain

/targetexact [bar:2] Toon2; [bar:3] Toon3
/target [bar:6, target=focus]

TargetMainTarget

/stopmacro [bar:1]
/click TargetMain
/target targettarget

FollowMain

/stopmacro [bar:1]
/click TargetMain
/follow

TargetToon

/targetexact Toon1

Chorizotarian
03-03-2009, 05:56 AM
More reserving

blast3r
03-03-2009, 01:41 PM
I'll be watching this thread. I wouldn't mind having a setup that would allow me to swap out toons easily.

Varmon
03-03-2009, 06:24 PM
Very cool, I will definitely be checking it out when I reconfigure my controls sometime over the next few weeks as I am long overdue...

Heres a thought, what do you think about adding a "focus target mode" that you could switch over too within the mod? Focus targeting is a necessary evil for vehicle quests and 10/25m content if your doing multiple roles (making your alts assist other players, etc). Generating a stripped down version of what you already have replacing the main targeting/following stuff with targeting focus instead (leader focus set with F1-F5 per your example in this situation). Being able to dynamically switch between focusless and focus based via a dropdown option in a mod would be killer IMO as the actual character macros could remain unchanged in both cases, what do you think?

/discuss

Chorizotarian
03-04-2009, 01:28 AM
I could add focus on actionbar page 6. That way you could switch to a focus main even in combat and you wouldn't have to regenerate the macros. How does that sound?

Varmon
03-04-2009, 12:25 PM
Even better, yeah I think that would be a great edition to an already excellent idea. Anyway, I'm really looking forward to trying out this addon over the weekend :thumbup:

Chorizotarian
03-04-2009, 02:32 PM
Ok, done. Check out the latest version on the download page.

Thanks for the idea! :thumbup:

Chorizotarian
03-05-2009, 01:15 PM
ActionBarTargeting and MultiboxRoster are now on Curse ('http://www.curse.com/members/Chorizotarian.aspx') and WowInterface ('http://www.wowinterface.com/list.php?skinnerid=95938').

If any of you use Curse Client ('http://www.curse.com/content/ClientInstructions.aspx') you can shortly get them that way as well.

Chorizotarian
04-11-2009, 05:15 AM
If anyone has toons with non-ASCII characters in their name, be sure to save the Teams.lua file as Unicode with the encoding UTF-8.


dks = { "Õõ", "Óò" }

Other encodings might work too, I'm not sure what WoW supports.