[Bug]Built-in selfcast with multiple modifier

#0 - Nov. 29, 2006, 11:14 p.m.
Blizzard Post
If you have an action bar button bound to a key combination like Shift-1, and your Self Cast modifier bound to Alt, then pressing Alt+Shift+1 will not cast the ability in the Shift-1 slot on yourself. Furthermore, if you have an action bar button bound to 1, and you press Alt+Shift+1, then it will cast whatever's in slot 1 on yourself. This leads me to believe that when the self cast modifier is held down, it ignores other modifier keys.

Since the SelfCast addons don't work in 2.0, this really screws any class with heals or reactive buffs (PW:S, BoP) that you may want to cast on yourself quickly or without losing your target.

Please fix.
#1 - Nov. 29, 2006, 11:26 p.m.
Blizzard Post
This isn't technically a bug. The key binding system simply looks for something bound to all the modifiers or none of the modifiers. You can get around this by binding something like this to 1:
/cast [modifier:shift,modifier:alt,target=player] X; [modifier:shift] X; [modifier:alt,target=player] Y; Y
#9 - Nov. 30, 2006, 1:22 a.m.
Blizzard Post
Don't forget that bindings eat their modifiers, and the binding dispatch code has no idea what modifier conditionals the click will check. It's not just self-cast key that matters, you can literaly set up the default action buttons to respond in dozens of different ways depending on modifiers pressed, current target state, state header shifts, etc.

Edit: Oh, and to muddy things further... the self cast key is actually interpreted by the action button Lua code, not by the game internally. :)

Edit again: Also, it's very possible that the click dispatch won't even cast a spell - it might set focus, assist a target, say some whacky humorism, yadda yadda.
#14 - Nov. 30, 2006, 5:12 a.m.
Blizzard Post
The default UI only lists ctrl and alt because the default UI uses shift click to drag buttons off your action bars.
If you're using custom UI, there's no such restriction and the behavior can be customized however you like.
#16 - Nov. 30, 2006, 5:32 a.m.
Blizzard Post

The absolute easiest way is this:
/script MainMenuBarArtFrame:SetAttribute("shift-unit*", "player")
#31 - Nov. 30, 2006, 5:38 p.m.
Blizzard Post
You're right. I just tested this in 1.12, and it does fall back to other modified key bindings. I'll take a look at why this changed and take care of it for 2.0.2 (Burning Crusade)

Edit: Ah, I see what happened. In 1.12, the binding code stripped off the first modifier, and the modifiers were always added in this order: alt, ctrl, shift. In 2.0 all bindings are stripped. Previously ctrl-shift-z would try ctrl-shift-z and then shift-z, now it tries ctrl-shift-z and then z.

I'll see what I can do.

Thanks!
#35 - Nov. 30, 2006, 8:20 p.m.
Blizzard Post
Smarter key binding fallbacks for 2.0.2 ...

Holding down ctrl, alt, shift, x will check keybindings in the following order:
ALT-CTRL-SHIFT-X
CTRL-SHIFT-X
ALT-SHIFT-X
ALT-CTRL-X
SHIFT-X
CTRL-X
ALT-X
X

Any modifier which is not used in resolving the key binding is available to the scripting system during the key binding execution.

Thanks for the feedback everybody! :)