View Single Post
10-22-16, 07:13 PM   #2
Phanx
Cat.
 
Phanx's Avatar
AddOn Author - Click to view addons
Join Date: Mar 2006
Posts: 5,617
If you have any programming experience, here is how your macro would be written in Lua code:

lua Code:
  1. if ( IsControlKeyDown() and IsAltKeyDown() ) or IsControlKeyDown() then
  2.     UseInventoryItem(6)
  3. end
  4.  
  5. if ( IsShiftKeyDown() and IsAltKeyDown() ) or IsShiftKeyDown() then
  6.     UseItem("Grappling Hook")
  7. end
  8.  
  9. if IsAltKeyDown() or not IsModifierKeyDown() then
  10.    CastSpellByName("Sprint")
  11. end

As you can see, there's a lot of redundancy. If Ctrl is pressed, it should try to use both the rocket boost and Sprint. If Shift is pressed, it should try to use both the grappling hook and Sprint.

However, because a macro executes everything at the same time, once one action triggers the GCD, no further actions can succeed. Based on this, and your descriptions of how your macro used to work, and how it works now, I would assume that the rocket boost previously triggered the GCD, but now does not.

To solve this problem, you should rewrite your macro in any of these ways, ranked from best to worst:

1. Use a single statement with only the conditions you actually care about:

/use [mod:ctrl] 6; [mod: shift] Grappling Hook; Sprint
2. Use conditions that don't overlap, so no modifier combination can trigger more than one statement:

/use [mod:ctrl] 6
/cast [mod:shift] Grappling Hook
/cast [mod:alt, nomod:ctrl, nomod:shift] [nomod] Sprint
3. Use a single statement with your existing overlapping conditions; the overlap doesn't matter here because as soon as one condition matches, the rest of the statement is ignored:

/use [mod:ctrl, mod:alt] [mod:ctrl] 6; [mod:shift, mod:alt] [mod:shift] Grappling Hook; [mod:alt] [nomod] Sprint
__________________
Retired author of too many addons.
Message me if you're interested in taking over one of my addons.
Don’t message me about addon bugs or programming questions.
  Reply With Quote