This addon only works with action buttons provided by the default UI. Support for other action bar addons may be found in the Other Files tab.
Macros allow you to change the ability that you use based on whether your target is friend or foe. This addon allows you to do the opposite, change the target of an ability based on whether that ability is harmful or helpful. Support for custom paging of the main action bar is also provided (may be disabled by another addon).
Anyone with several macros similar to:
/cast [harm, nodead] [@targettarget, harm, nodead] [@mouseover, harm, nodead] [@pettarget, nodead] HarmfulSpell
or
/cast [@mouseover, help, nodead] [help, nodead] [@targettarget, help, nodead] [@player] HelpfulSpell
can instead set up a targeting priority and apply it to all of your action buttons without wasting a single macro.
To further enhance your mouseover targeting, two additional options are provided. @unitframe can be used in place of @mouseover to target a unit only if it is a unit frame. Similarly, @unitmodel can be used to target only units that are in the 3D world.
Note: Target behavior is only changed for spells and items placed directly into an action button.
Translators: To submit a translation please just edit an existing file (ImpliedTarget\Locales.lua or ImpliedTarget_Config\Locales\deDE.lua) and send it to me.
Developers: If you would like to make ImpliedTarget work with your addon then see the API below and look at how it was done for other addons in the Other Files tab.
API (these functions may be called in combat, but their effects won't happen until combat has ended)
ImpliedTarget.DisableKeyBinding()
Forces ImpliedTarget to disable it's key binding code and allow it to be garbage collected. Only call this if your addon will be providing this functionality.
ImpliedTarget.DisablePaging()
Forces ImpliedTarget to disable it's paging code for the primary action bar and allow it to be garbage collected. Only call this if your addon will be providing this functionality.
ImpliedTarget.AddButton(button [, bind])
Allow ImpliedTarget to alter the behavior of an action button.
Arguments:
button - (table or string) An action button or name of an action button.
bind - (string) The name of the key bind for the action button.
Returns:
button - (table or nil) If successful the action button is returned, otherwise nil.
ImpliedTarget.RemoveButton(button)
Prevent ImpliedTarget from altering the behavior of an action button.
Arguments:
button - (table or string) An action button or name of an action button.
Returns:
button - (table or nil) The action button if it was removed, nil if the action button had not been previously added.