Download
(153Kb)
Download
Updated: 03-16-21 05:13 PM
Pictures
File Info
Compatibility:
Shadowlands patch (9.0.5)
Shadowlands patch (9.0.2)
Shadowlands pre-patch (9.0.1)
Updated:03-16-21 05:13 PM
Created:08-04-10 07:07 PM
Downloads:28,728
Favorites:50
MD5:
Categories:Discontinued and Outdated Mods, Combat Mods, Unit Mods

ImpliedTarget  Popular! (More than 5000 hits)

Version: 1.3.16
by: Vrul [More]

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.

Version 1.3.15 (12/13/2020)
- Corrected hunter ability Binding Shot not being flagged as GTAoE
- Added option to improve @mouseover responsiveness

Version 1.3.15 (12/13/2020)
- Fixed paladin Night Fae covenant ability Blessing of Seasons
- Added legendary effects
- Disabling an individual ability should now work as expected

Version 1.3.14 (12/08/2020)
- Updated various actions
- Initial implementation of option to modify individual abilities [WIP]

Version 1.3.13 (09/27/2020)
- Updated various actions

Version 1.3.12 (10/03/2018)
- Changed Discipline Priest's Mindbender from 'help' to 'harm'
- Defaulting to UseAction for non-GTAoE abilities and CastSpellByID for GTAoE abilities

Version 1.3.11 (10/02/2018)
- Added Void Bolt to the Shadow Priest list of spells

Version 1.3.10 (09/30/2018)
- Fix to make actions more closely follow default behavior with regards to starting auto-attack

Version 1.3.9 (09/29/2018)
- Change for weird inconsistent behavior between CastSpellByID and CastSpellByName

Version 1.3.8 (09/29/2018)
- Included missing library file and toc info for LibDataBroker-1.1
- Added Locales.lua to help with anyone wanting to translate

Version 1.3.7 (09/28/2018)
- The modules for Bartender4 and Dominos are now their own addons and available separately
- Removed the Monk ability Chi Wave from the list of targeted actions
- Fixed the option for manual targeting preventing the use of auto-targeting and non-targeted actions
- Merged the Help options Auto and Manual into the drop-down Default
- Corrected an issue with item/spell names not being available until after a UI reload
- Added a LDB plugin
- Library update

Version 1.3.6 (08/27/2018)
- Fixed an error with converting GTAoE settings

Version 1.3.5 (08/26/2018)
- Changed the scope of some variables in ImpliedTarget_Config that were being leaked globally
- Corrected an issue with applying queued commands after combat
- Fixed an issue with detecting specialization changes for applying Harm Priority
- Added a "Manual" option to Harm, Help, Rez, and GTAoE to allow explicit cursor targeting
- Reworded some stuff in the options

Version 1.3.4 (07/24/2018)
- Updated for 8.0
- Reworked how some things are processed behind the scenes
- Added support for ground targeted area of effect (gtaoe) abilities (manually added only)

Version 1.3.3 (02/08/2018)
- Fixed error when assigning custom parameters

Version 1.3.2 (01/21/2018)
- Corrected the classification of the Warlock ability "Phantom Singularity" from 'help' to 'harm'
- Fixed errors with harm priority and roles

Version 1.3.1 (09/02/2017)
- Updated for 7.3

Version 1.3 (07/18/2016)
- Updated for 7.0
- Significant reworking of how things are done behind-the-scenes
- Added a feature to prioritize harm/help for dual-role abilities based on role

Version 1.2.2 (10/19/2014)
- Fix for key binds not working after a reload

Version 1.2.1 (10/14/2014)
- Updated for 6.0

Version 1.2 (10/31/2013)
- Resurrection abilities are now completely separate from helpful abilities in the options
- Improved the way secure unwrapping was done to avoid conflicts with other addons
- Changing the active key bind set now updates key binds so they will still work
- Fix to allow key binds to work with the pet battle UI
- Fix for key binds containing "[" or "]"
- The Grid integration option was replaced with a more universal solution: @unitframe, @unitmodel
- Moved Bartender4 and Dominos support into separate addons as examples for any addon author looking to incorporate ImpliedTarget support
- Added some auto-correction for minor errors in parameters that are manually entered

Version 1.1.7 (09/18/2013)
- Fixed key bind issues with ExtraActionButton and PetBattleUI
- Corrected an issue with changing Paging settings

Version 1.1.6 (06/23/2013)
- Added an option to disable resurrection abilities from working with implied targeting
- Corrected the spellID for the warlock spell Soul Stone
- Improved behavior with Grid integration
- Option based code optimization

Version 1.1.5 (06/14/2013)
- Fixed an error and a bug with Grid integration

Version 1.1.4 (06/13/2013)
- Resurrection abilities will now also work with implied targeting
- Added an option for Grid users

Version 1.1.3 (09/02/2012)
- Added options for excluding entire action bars from implied targeting

Version 1.1.2 (07/28/2012)
- Updated for MoP

Version 1.1.1 (12/10/2011)
- Added compatibility for Dominos

Version 1.1 (11/26/2011)
- Added compatibility for Bartender4
- Changed options to be easier for novice users (borrowed Bartender4's style)

Version 1.0.5 (01/11/2011)
- Correct an issue with some empty vehicle buttons

Version 1.0.4 (01/04/2011)
- Fix for key binds that contain characters that have special meaning for Lua's format function

Version 1.0.3 (12/24/2010)
- Ignore spells that can't be identified as harmful or helpful (fixes errors with vehicle abilities)

Version 1.0.2 (10/13/2010)
- Updated for 4.0

Version 1.0.1 (08/06/2010)
- Fixed a bug when changing key binds for the main action bar

Version 1.0 (08/04/2010)
- Initial release
Optional Files (3)
File Name
Version
Size
Author
Date
Type
1.0.1
918B
12-08-20 11:43 PM
Addon
1.0
1kB
09-27-18 04:42 PM
Addon
2.0
2kB
08-06-18 12:36 PM
Addon


Post A Reply Comment Options
Unread 02-11-18, 05:10 AM  
ziobabbo
A Kobold Labourer

Forum posts: 0
File comments: 25
Uploads: 0
Re: Re: Lua Error custom text

Originally Posted by Vrul
Originally Posted by ziobabbo
I got this error while trying to use a custom string
I just uploaded a new version (1.3.3) that should fix that error.
Amazing, thank you very much!
Report comment to moderator  
Reply With Quote
Unread 03-08-18, 06:35 PM  
ziobabbo
A Kobold Labourer

Forum posts: 0
File comments: 25
Uploads: 0
Hi again, is there some documentation listing the kind of modifiers I can specify in the custom section?
One thing that I'm trying to achieve in particular is to understand if it's possible to use something like [@cursor][@player] at the end for instant aoe purposes.
Thank You very much, have a great day!
Last edited by ziobabbo : 03-08-18 at 06:36 PM.
Report comment to moderator  
Reply With Quote
Unread 03-08-18, 09:28 PM  
Vrul
A Scalebane Royal Guard
 
Vrul's Avatar
AddOn Author - Click to view AddOns

Forum posts: 404
File comments: 322
Uploads: 33
Originally Posted by ziobabbo
Hi again, is there some documentation listing the kind of modifiers I can specify in the custom section?
Any conditions you can use in a regular WoW macro can be used in the custom section. In addition @unitframe and @unitmodel can be used in place of @mouseover to specifically only work on unit frames or 3D models as desired.
Report comment to moderator  
Reply With Quote
Unread 03-10-18, 06:25 AM  
ziobabbo
A Kobold Labourer

Forum posts: 0
File comments: 25
Uploads: 0
Hi, [@cursor] and [@player] seems not to work, they should allow the player to release the aoe on keyrelease without need to click on the terrain.
If this can be of some help this is the string I'm using:
[@unitframe, harm, nodead] [@mouseover, harm, nodead] [harm, nodead] [focus, harm, nodead] [@focustarget, harm, nodead] [@pettarget, harm, nodead][@cursor]
Also can / commands be added to the string? such as /cleartarget[dead].
Thank you very much for your work and your attention.
Last edited by ziobabbo : 03-10-18 at 06:33 AM.
Report comment to moderator  
Reply With Quote
Unread 03-10-18, 08:23 PM  
Vrul
A Scalebane Royal Guard
 
Vrul's Avatar
AddOn Author - Click to view AddOns

Forum posts: 404
File comments: 322
Uploads: 33
Originally Posted by ziobabbo
Hi, [@cursor] and [@player] seems not to work, they should allow the player to release the aoe on keyrelease without need to click on the terrain.
If this can be of some help this is the string I'm using:
Also can / commands be added to the string? such as /cleartarget[dead].
Thank you very much for your work and your attention.
Sorry, I must have missed that AoE part of your question earlier. All this addon does is temporarily change the unit attribute of a button based on the current result of the conditionals provided. It cannot perform any macro style commands. You would need to use a macro for ground targeted spells to get them to auto cast on the ground like that as I believe that behavior is handled via the code that processes macros only.
Report comment to moderator  
Reply With Quote
Unread 03-12-18, 01:11 PM  
ziobabbo
A Kobold Labourer

Forum posts: 0
File comments: 25
Uploads: 0
Thanks!

Originally Posted by Vrul
Originally Posted by ziobabbo
Hi, [@cursor] and [@player] seems not to work, they should allow the player to release the aoe on keyrelease without need to click on the terrain.
If this can be of some help this is the string I'm using:
Also can / commands be added to the string? such as /cleartarget[dead].
Thank you very much for your work and your attention.
Sorry, I must have missed that AoE part of your question earlier. All this addon does is temporarily change the unit attribute of a button based on the current result of the conditionals provided. It cannot perform any macro style commands. You would need to use a macro for ground targeted spells to get them to auto cast on the ground like that as I believe that behavior is handled via the code that processes macros only.
Thank you very much for your clarification, I misguessed the way this addon achieves it's intended behaviour .
Thanks for your time, I love this addon and my mouseover routine.
Report comment to moderator  
Reply With Quote
Unread 04-07-18, 04:34 AM  
nKweo
A Deviate Faerie Dragon
 
nKweo's Avatar

Forum posts: 16
File comments: 16
Uploads: 0
Hi Vrul, first of all, thanks for this brilliant, one-of-a-kind addon. I love it that I no longer have to write/edit a bazillion macros. Everything stays consistent now with a few button presses! The paging is very nice as well.

I noticed however that spells no longer get activated on 'key down' (I use keybindings) but only on 'key up', despite having the relevant CVAR enabled. I'm not sure if this is working as intended, but I'd love 'key down' to work again. Looking forward to hearing from you.
Report comment to moderator  
Reply With Quote
Unread 04-07-18, 10:13 AM  
Vrul
A Scalebane Royal Guard
 
Vrul's Avatar
AddOn Author - Click to view AddOns

Forum posts: 404
File comments: 322
Uploads: 33
Originally Posted by nKweo
I noticed however that spells no longer get activated on 'key down' (I use keybindings) but only on 'key up', despite having the relevant CVAR enabled. I'm not sure if this is working as intended, but I'd love 'key down' to work again. Looking forward to hearing from you.
Unfortunately the way this addon works with keybinds makes it so that pressing a keybind emulates clicking the relevant button. Changing button click behavior is beyond the scope of this addon and may not be desirable by everyone. There are addons (such as ClickDown) that will change your buttons to work on mouse down instead of mouse up which will get you the behavior you desire with this addon.
Report comment to moderator  
Reply With Quote
Unread 04-08-18, 02:11 AM  
nKweo
A Deviate Faerie Dragon
 
nKweo's Avatar

Forum posts: 16
File comments: 16
Uploads: 0
Originally Posted by Vrul
Unfortunately the way this addon works with keybinds makes it so that pressing a keybind emulates clicking the relevant button. Changing button click behavior is beyond the scope of this addon and may not be desirable by everyone. There are addons (such as ClickDown) that will change your buttons to work on mouse down instead of mouse up which will get you the behavior you desire with this addon.
Thanks Vrul. I extracted the code I needed from ClickDown. In case anyone else is looking for this functionality, here is the Lua (haven't tested this much yet, but seems to work):
Code:
-- Make using ImpliedTarget with keybindings work on 'click' down (credit: ClickDown by Andromerius)
local actionButtons = {
	"ActionButton",
	"MultiBarBottomLeftButton",
	"MultiBarBottomRightButton",
	"MultiBarRightButton",
	"MultiBarLeftButton",
	"StanceButton",
	"PetActionButton",
	"OverrideActionBarButton",
	"ExtraActionButton",
}

local clickDown = CreateFrame("Frame")
clickDown:RegisterEvent("PLAYER_LOGIN")
clickDown:SetScript("OnEvent", function()
	for i = 1, #actionButtons do
		for id = 1, NUM_ACTIONBAR_BUTTONS or 12 do
			local button = _G[actionButtons[i] .. id]
			if button then
				button:RegisterForClicks("AnyDown")
			end
		end
	end
end)
Report comment to moderator  
Reply With Quote
Unread 04-11-18, 09:24 AM  
nKweo
A Deviate Faerie Dragon
 
nKweo's Avatar

Forum posts: 16
File comments: 16
Uploads: 0
One more thing, I took a peak at the code of this addon and noticed that it depends on spell lists that were created for each class. I know Bartender can do some things similar to what you can do with macros (e.g. 'auto assist' = try to cast on targettarget when target is not help/harm depending on spell), but I don't believe there's a manual list behind this functionality. Just out of curiosity: where does this difference stem from? It seems to me that maintaining the addon would be less work if it didn't require updating spell lists with expansions/patches.
Last edited by nKweo : 04-11-18 at 09:32 AM.
Report comment to moderator  
Reply With Quote
Unread 04-11-18, 04:39 PM  
Vrul
A Scalebane Royal Guard
 
Vrul's Avatar
AddOn Author - Click to view AddOns

Forum posts: 404
File comments: 322
Uploads: 33
Originally Posted by nKweo
One more thing, I took a peak at the code of this addon and noticed that it depends on spell lists that were created for each class. I know Bartender can do some things similar to what you can do with macros (e.g. 'auto assist' = try to cast on targettarget when target is not help/harm depending on spell), but I don't believe there's a manual list behind this functionality. Just out of curiosity: where does this difference stem from? It seems to me that maintaining the addon would be less work if it didn't require updating spell lists with expansions/patches.
In a secure snippet I was getting the spell ids from the second return of GetActionInfo and then running it through IsHarmfulSpell or IsHelpfulSpell. Since both return nil for spells that are both harmful and helpful (like Penance) I decided to manually add those spells as "harm/help." While going through every ability for every class I decided to add everything that has a unit target.

Some time later (not sure when), Blizzard removed the ability to pass spell ids to IsHarmfulSpell and IsHelpfulSpell and now they only take spell names. There is no way to get a spell name from a spell id in the secure environment on the fly, so I decided to keep my hard coded lists.
Report comment to moderator  
Reply With Quote
Unread 07-25-18, 04:09 AM  
nKweo
A Deviate Faerie Dragon
 
nKweo's Avatar

Forum posts: 16
File comments: 16
Uploads: 0
Thanks for updating! (Not that it didn't work before, but it feels good to know everything is fresh and clean again ).
Report comment to moderator  
Reply With Quote
Unread 08-13-18, 08:32 AM  
sumoren
A Kobold Labourer

Forum posts: 0
File comments: 3
Uploads: 0
Question Why not available in curse/twitch

Hi, really like your addon. It's exactly what I was looking for. I was searching on alternative to writing a lot of copy/pasta macro and found a 2015 forum post about this addon. Without this really old post I would not found your addon since by default I'm using curse (now twitch client) to get/update my addons.

Is there a reason why your addon is not available in the twitch client? I'm pretty sure a lot of people are missing this addon because they don't look elsewhere for addon.
Report comment to moderator  
Reply With Quote
Unread 08-21-18, 11:55 PM  
taiya
A Kobold Labourer

Forum posts: 0
File comments: 27
Uploads: 0
it would be nice if you could adapt this addon to work for ground target spells, or make a new addon. all my ground target spells are @cursor and its annoying to make macros for everything. id love them all to just assume @cursor
Report comment to moderator  
Reply With Quote
Unread 08-22-18, 06:13 AM  
Vrul
A Scalebane Royal Guard
 
Vrul's Avatar
AddOn Author - Click to view AddOns

Forum posts: 404
File comments: 322
Uploads: 33
Originally Posted by taiya
it would be nice if you could adapt this addon to work for ground target spells, or make a new addon. all my ground target spells are @cursor and its annoying to make macros for everything. id love them all to just assume @cursor
I did an extensive change for BfA just for GTAoE abilities and there should be a GTAoE tab to change their behavior.

I'm also working on a way to modify spells individually but its still not quite ready.
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: