Summary: possible improvements of macro system

1. [nomod]

Right now macro system of Rift allows to use [ctrl], [shift], [alt] modifiers. One may say that not specifying modifiers is the same as specifying no modifiers; it's not.

Consider the following macro:

Code:
loadequip [shift] 1
role [shift] 1
loadequip [ctrl] 2
role [ctrl] 2
loadequip [alt] 3
role [alt] 3
loadequip 4
role 4
This macro is supposed to switch to different roles on different modifiers and load corresponding equipment sets. But what happens is no matter what role you were switching to, you always end with equipment set 4. Why? let's look at how this macro works:

when you activate it with a modifier, lines with that modifier and with no modifier are activated. The second cast of role switch fails because Rift allows only one cast per macro; but changing an equipment set isn't a cast, doesn't have such restriction, and it's always changed to equipment set 4.

If we had [nomod] modifier, we could write last two lines as

loadequip [nomod] 4
role [nomod] 4
and they would only be executed if macro was activated without any modifier keys held.

2. [button]

Let's use the role switch macro as example again. In Rift you can have five roles; but with only three modifiers you can only have a macro for switching between three of them. Even if we had [nomod], that's only four of five roles we could switch between in one macro. If it was possible to use mouse button as modifier, the problem would be solved:

Code:
loadequip [shift, button:1] 1
role [shift, button:1] 1
loadequip [shift, button:2] 2
role [shift, button:2] 2
loadequip [ctrl, button:1] 3
role [ctrl, button:1] 3
loadequip [ctrl, button:2] 4
role [ctrl, button:2] 4
loadequip [nomod] 5
role [nomod] 5
It would very nice if [button] modifier accepted also middle, fourth and fifth mouse buttons.

3. modifier combinations

See right above. The ability to use several macro modifiers together is necessary to make efficient use of them.

4. [role]

With five roles a character can have, current available macro slots aren't enough. [role] modifier allows to merge macros used in different roles, thus reducing number of macro slots needed. Example:


Say, you are a cleric with several healing roles. Without [role] modifier you have to have separate cleanse macros for every role:

Code:
cast @mouseover Cauterize
Code:
cast @mouseover Cleansing Waters
Code:
cast @mouseover Cleansing Prayer
That's three macro slots taken. With [role] modifier one macro is enough:

Code:
cast [role:1] @mouseover Cauterize
cast [role:2] @mouseover Cleansing Waters
cast [role:3] @mouseover Cleansing Prayer
The same goes for mouseover healing macros, et cetera. Basically, [role] modifier allows to have more macros without spending precious server space to increase number of macros available.

5. Dynamic #show

One thing that frustrates me is that there is no way to make icon/tooltip of macro in Rift change according to what modifier keys are held. Would be nice to be able to make macros like

Code:
#show
cast [shift] skill a
cast [ctrl] skill b
cast [nomod] skill c
and have it to show skill c icon/tooltip when no modifier keys are held, skill b if ctrl is held and skill a if shift is held. Why? because it allows to quickly refresh your memory of what this macro does without having to look it up in macro list.