Go to Page... |
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,732 |
Favorites: | 50 |
MD5: | |
Categories: | Discontinued and Outdated Mods, Combat Mods, Unit Mods |
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.Returns:
bind - (string) The name of the key bind for the action button.
button - (table or nil) If successful the action button is returned, otherwise nil.
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.
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 |
![]() |
Comment Options |
Razko |
View Public Profile |
Send a private message to Razko |
Visit Razko's homepage! |
Find More Posts by Razko |
Add Razko to Your Buddy List |
Vrul |
View Public Profile |
Send a private message to Vrul |
Visit Vrul's homepage! |
Find More Posts by Vrul |
Add Vrul to Your Buddy List |
![]() |
|
|
Hey again. So I've been fiddling about trying to switch to using default action bars or Dominos and found out that with ImpliedTarget my buttons would only fire on "key up" and never on "key down", even with the CVar for "trigger actions on key down" set to 1. I've also noticed that this works correctly with ElvUI and Bartender4 - if their actionbars are set to "trigger actions on key down" in their internal settings, they do work and ImpliedTarget correctly redirects the targets for those casts.
After looking around in the code, I noticed that addons that do the keybind overriding themselves (ElvUI and Bartender4) do a "button:RegisterForClicks("AnyDown")" for their "trigger actions on key down" settings, whereas ImpliedTarget KeyBinds.lua does not have this. So I simply added this to ImpliedTargets Buttons.lua and it works. So I'm here to suggest to make ImpliedTarget support triggering actions on "key down". Could either be a separate toggle or just follow the CVar. Or at least warn the user that due to how this whole keybind remapping thing works, the on-key-down CVar becomes irrelevant. It just felt kinda bad to discover this suddenly after hours of playing with a "something feels wrong" feeling and then discovering that the CVar doesn't do anything in this setup. However, with Dominos specifically, there is another problem. The action buttons that are part of Blizzards UI (i.e. the first 60 action id's) work fine, but the rest (the latter 60 id's that Dominos creates its own button frames for) do not fire on key down. They will still work on-key-up if you also register "AnyUp" for clicks, but if you register only "AnyDown" they don't work at all. This is because Dominos changes the button name for hotkey bindings to "HOTKEY" (the commands are set to "CLICK %s:HOTKEY") in order to differentiate executions with binds versus executions with left clicking the frame, which is then filtered to only allow on-key-down executions for hotkey binds by checking the button name (the intent here is to make it so that buttons don't trigger on-key-down if the user clicks them with mouse, so that spells don't fire if you're just drag and dropping them around the bar). ImpliedTarget does change button name as well with the return value of the preClick script in 'Buttons.lua', which then gets filtered out and breaks all on-key-down code for those buttons. I wasn't able to fix this other than simply disabling that bit in Dominos though, but I don't really understand how this whole mechanism works so maybe there's a better solution to support it too. (Can we maybe get away without returning ADDON_NAME in the preClick script? I tried changing it but it breaks ImpliedTarget.) Edit: btw, ElvUI also tries to prevent on-key-down execution with left clicks for dragging things around, however it does it differently - it has a config entry for "hold this modifier to move spells around" and checks if its pressed before executing commands if they were done with left click. Bartender4 doesn't care and just fires spells while moving spells around though. Default UI does have a "lock actionbars" setting and a "pick up action key" modifier that you must hold to pick up a button. Reading what this modifier is and then not allowing left click to trigger buttons if this modifier is being pressed would be the best design imho. P.S. Am I understanding correctly that we need the code in KeyBinds.lua to remap bindings to be "CLICK %s" commands rather than just direct binds in order for OnClick events to trigger? and some addons just already do this and that's why we can skip it for Bartender/ElvUI? Not related to anything above, just trying to understand how this works.
Last edited by Razko : 10-24-21 at 12:13 PM.
|
![]() |
![]() |
Razko |
View Public Profile |
Send a private message to Razko |
Visit Razko's homepage! |
Find More Posts by Razko |
Add Razko to Your Buddy List |
![]() |
|
|
9.1.5 made something case-senstive, so the definition of binds at the start of Buttons.lua has to be changed to
Code:
local binds = { ActionButton = 'ACTIONBUTTON', ExtraActionButton = 'EXTRAACTIONBUTTON', MultiBarBottomLeftButton = 'MULTIACTIONBAR1BUTTON', MultiBarBottomRightButton = 'MULTIACTIONBAR2BUTTON', MultiBarRightButton = 'MULTIACTIONBAR3BUTTON', MultiBarLeftButton = 'MULTIACTIONBAR4BUTTON', -- OverrideActionBarButton = false -- Shares key bind with ActionButton } I'm not sure what actually changed, presumably it's that GetBindingKey() is now case-sensitive whereas it used to not be (testing it on BCC PTR, it's not case-sensitive there, but is case-sensitive on current retail patch).
Last edited by Razko : 11-03-21 at 01:21 AM.
|
![]() |
![]() |
Razko |
View Public Profile |
Send a private message to Razko |
Visit Razko's homepage! |
Find More Posts by Razko |
Add Razko to Your Buddy List |
![]() |
|
|
Is there a version for...
...TBC Classic?
|
![]() |
![]() |
Erurainon |
View Public Profile |
Send a private message to Erurainon |
Visit Erurainon's homepage! |
Find More Posts by Erurainon |
Add Erurainon to Your Buddy List |
![]() |
|
A Kobold Labourer
Forum posts: 0
File comments: 3
Uploads: 0
|
Update?
I'm really hoping there's an update for this for Dragonflight. I rely on this addon because Blizzard refuses to give us more macro slots and unfortunately the prepatch broke it entirely.
Edit: Okay it's started functioning again for no reason but I can't access the options for it. Edit 2: False alarm. It was working for everything that had a target (be it ground, ally, or enemy) but was preventing me from casting any ability that requires no target (like Expel Harm, Exhilaration, etc). Edit 3: Well I finally found a solution to the problem. The game was casting on keyup instead of keydown which was preventing ImpliedTarget from functioning properly. Using Code:
/console ActionButtonUseKeyDown 1 Edit 4: As of the phase 2 prepatch "edit 3" no longer works for me and is broken again like mentioned in "edit 2". I can force the game to use KeyUp instead as a bandaid fix for now. Really hoping this addon gets updated for Dragonflight.
Last edited by iambanana2 : 11-15-22 at 08:36 PM.
|
![]() |
![]() |
iambanana2 |
View Public Profile |
Send a private message to iambanana2 |
Visit iambanana2's homepage! |
Find More Posts by iambanana2 |
Add iambanana2 to Your Buddy List |
![]() |
|
A Kobold Labourer
Forum posts: 0
File comments: 6
Uploads: 0
|
Broken
So the changes to the Options menu in-game have broken LibOptionsAssist-1.1.lua, I think a sensible hack would be to just remove it and always load the config. The trouble is this is probably beyond my abilities
![]() |
![]() |
![]() |
FerretOnline |
View Public Profile |
Send a private message to FerretOnline |
Visit FerretOnline's homepage! |
Find More Posts by FerretOnline |
Add FerretOnline to Your Buddy List |
![]() |
|
A Kobold Labourer
Forum posts: 0
File comments: 6
Uploads: 0
|
Clicked
OK I found: https://www.wowinterface.com/downloa...3-Clicked.html
Does everything and more, but a little longer to setup.
Last edited by FerretOnline : 11-18-22 at 02:08 PM.
|
![]() |
![]() |
FerretOnline |
View Public Profile |
Send a private message to FerretOnline |
Visit FerretOnline's homepage! |
Find More Posts by FerretOnline |
Add FerretOnline to Your Buddy List |
![]() |
||
A Kobold Labourer
Forum posts: 0
File comments: 3
Uploads: 0
|
Re: Clicked
|
|
![]() |
![]() |
iambanana2 |
View Public Profile |
Send a private message to iambanana2 |
Visit iambanana2's homepage! |
Find More Posts by iambanana2 |
Add iambanana2 to Your Buddy List |
![]() |