FAQ  •  Register  •  Login

Role-based macros for Rift

Moderator: MiRai

<<

Berserker

Posts: 80

Joined: Tue Feb 15, 2011 2:19 pm

Post Sun Feb 20, 2011 8:41 pm

Role-based macros for Rift

For the BIG UPDATE, see: http://isboxer.com/forum/viewtopic.php?p=4493#p4493


I am far from an expert boxer, and this is my first serious boxing effort.

I want to play a 5-man, heterogeneous team in Rift. I'm thinking: warrior (reaver/paladin/riftblade), rogue (ranger/sab/sin), rogue (bard/ranger/marksmen), cleric (sent/inq/justicar), mage(storm/lock/necro) -- or maybe just 3 rogues, cc, and a tank. At any rate, I want to be able to cause the right roles to do the right thing at the right time.

In addition to setting up the FTL-like macros (thanks Lax!), I've done the following:

Macro Name: MarkAll

Code:
targetexact char1
mark 1
targetexact char2
mark 2
targetexact char3
mark 3
targetexact char4
mark 4
targetexact char5
mark 5
targetlasttarget


Macro Name: ClearMarks

Code:
clearallmarks



(all of the below is deprecated -- but you may find it useful -- please see the BIG UPDATE: http://isboxer.com/forum/viewtopic.php?p=4493#p4493 for updated heal, cc, role, and team action bars)

Macro Name: HealMarkx (where x | char[x])

Code:
#show <HEALSPELL>
cast @mark x <HEALSPELL>


MacroName: HealSelf

Code:
#show <HEALSPELL>
cast @self <HEALSPELL>


MacroName: OMGHEAL!!

Code:
#show <HEALSPELL>
cast @target <HEALSPELL>
cast @focus <HEALSPELL>
cast @mouseover <HEALSPELL>
cast @self <HEALSPELL>


MacroName: CCIt

Code:
#show <CCSPELL>
cast @mouseover <CCSPELL>
cast @target <CCSPELL>


and then set up keymaps:

HealCascade
--one step for each character
--each step calls a HealMarkx macro

Yes, this means I have to spam a button to heal through the team, and I will overheal those that don't need heals, but that works to my benefit in rifts anyway hehe

HealSelf
--just calls the HealSelf macro

HealX
--calls HealMarkX (thinking I only need this for the tank role char,rather than one for each)

CCIt
--turns on a cursor stream for the ccer
--mouseover/target
--another button press to cast the CCit macro above
--turns off the cursor stream
--calls the FTL Assist Me keymap (a la Lax's guide)

Comments? Help for the n00b?

TIA :P
Last edited by Berserker on Tue Mar 15, 2011 5:54 pm, edited 2 times in total.
<<

hephaestus

Posts: 91

Joined: Mon Feb 01, 2010 10:24 am

Post Tue Feb 22, 2011 2:04 pm

Re: Role-based macros for Rift

Awesome setup - you are really jumping in hardcore if you are running 5 characters with your first multibox setup! I am starting out with 3 in Rift and will see how things go. I am currently planning a click box setup for my ISboxer heal solution at the moment, but I think I might incorporate some of your macros as well. I didn't realize you could actually target the marks via macros, that is pretty awesome. Currently I have set up a click box for each character on my main tank screen (I just dropped each of the boxes over the right half of my group icons, so it functions pretty much like a click to heal setup - but has a character on another machine doing the healing). Each click combination for the boxes is mapped to the character that I want to be the caster for a particular mouse click/modifier key combination, which casts the respective spell on the character represented by the click box on my tank screen.

That setup allows me to use different heals, dispels and cures from my team based on mouse clicks on my main tank screen where I monitor everyone's health (which I find to be the easiest solution for me - since it allows attack functions to be used for key press actions on my G13 and clicks from my Naga mouse with the shift/ctrl/alt on the side buttons to handle heals/cure macros). I am looking forward to seeing what others come up with for Rift come Thursday :)
<<

Berserker

Posts: 80

Joined: Tue Feb 15, 2011 2:19 pm

Post Tue Feb 22, 2011 3:11 pm

Re: Role-based macros for Rift

What I really like about the

cast <some @token> spell

is that it doesn't muck with targeting -- no switching targets, no getting focus,etc. You can also use @focus that way -- which is really cool for the ccer :)

I haven't really played around with the clickbars yet, but am going to need to as I'm quickly gonna run out of free keys I think.
<<

hephaestus

Posts: 91

Joined: Mon Feb 01, 2010 10:24 am

Post Tue Feb 22, 2011 3:49 pm

Re: Role-based macros for Rift

That is extremely handy! So the

#show <HEALSPELL>
cast @mark 3 <HEALSPELL>

Would target whatever character you have marked as mark 3 (in this case, the character name for your 3rd slot) and cast the spell on that mark without changing the casters current target? If so, I will definitely have to add that into my click bars (going to have a ton of macros on my healer, but it would be worth it).
<<

Berserker

Posts: 80

Joined: Tue Feb 15, 2011 2:19 pm

Post Tue Feb 22, 2011 8:50 pm

Re: Role-based macros for Rift

hephaestus wrote:That is extremely handy! So the

#show <HEALSPELL>
cast @mark 3 <HEALSPELL>

Would target whatever character you have marked as mark 3 (in this case, the character name for your 3rd slot) and cast the spell on that mark without changing the casters current target? If so, I will definitely have to add that into my click bars (going to have a ton of macros on my healer, but it would be worth it).


Yep. I ended up with a lot of macros to be sure :) I believe those tokens are just syntactic sugar (i.e. an alias/mask) for:

targetmark 3
cast <HEALSPELL>
targetlasttarget

(valid rift macro also btw)

You can also do all the neat stacking tricks as in the OMGHEALL!! macro above, with any of the @ tokens and with key modifiers.

Example key mods:

#show Whaamo1ButtonKill
cast [alt] @target Whaamo1ButtonKill
cast [shift] @focus Whaamo1ButtonFullHeal

Pretty nice macro system, imo.
<<

Berserker

Posts: 80

Joined: Tue Feb 15, 2011 2:19 pm

Post Thu Mar 03, 2011 12:46 pm

Re: Role-based macros for Rift

I've updated how I do the healing with my cleric. I'm now using a click bar in combination with this set of macros:

Macro: Heal1-3

Code:
#show Healing Breath
cast [ctrl] @mark 1 Healing Breath
cast [alt] @mark 2 Healing Breath
cast [shift] @mark 3 Healing Breath
cast @self Healing Breath


[the last line is more of a debugging flag -- it will cast if none of the mod keys get sent via ISBoxer's click bar (which will never happen, but in case it does, I want to know lol)]

Macro: Heal4-5

Code:
#show Healing Breath
cast [ctrl] @mark 4 Healing Breath
cast [alt] @mark 5 Healing Breath
cast @self Healing Breath


Macro: HoT1-3

Code:
#show Healing Grace
cast [ctrl] @mark 1 Healing Grace
cast [alt] @mark 2 Healing Grace
cast [shift] @mark 3 Healing Grace
cast @self Healing Grace


Macro: HoT4-5

Code:
#show Healing Grace
cast [ctrl] @mark 4 Healing Grace
cast [alt] @mark 5 Healing Grace
cast @self Healing Grace


Here are the keymaps to fire this macro:

Image

Here's the click bar setup:

Image

Here's how it looks in game:

Image

(added an extra button to the toggle bar to turn on the mouse repeater, and placed a repeater region over the pet bar for all toons with pets)
Last edited by Berserker on Thu Mar 03, 2011 12:52 pm, edited 3 times in total.
<<

Berserker

Posts: 80

Joined: Tue Feb 15, 2011 2:19 pm

Post Thu Mar 03, 2011 12:51 pm

Re: Role-based macros for Rift

Berserker wrote:MacroName: CCIt

Code:
#show <CCSPELL>
cast @mouseover <CCSPELL>
cast @target <CCSPELL>



--
CCIt
--turns on a cursor stream for the ccer
--mouseover/target
--another button press to cast the CCit macro above
--turns off the cursor stream
--calls the FTL Assist Me keymap (a la Lax's guide)


I've tried this multiple ways and am having no luck. I can't get the @mouseover macro to cast fear from my reaver even when I play that toon directly. I tried making a keymap to press tab, then call that keymap instead of the FTL assist me macro, but for some reason, the tank just stands there -- it doesn't even cast the fear on the main's target. I'm in range -- I just can't seem to get the fear to cast from a macro atm.
<<

Berserker

Posts: 80

Joined: Tue Feb 15, 2011 2:19 pm

Post Thu Mar 03, 2011 6:28 pm

Re: Role-based macros for Rift

I finally got CC to work... It took 2 keymaps (one for tab, one for the key that fires the macro) and a click bar button :) Not sure why I can't fire the keymaps directly (main has nothing on the key in question, but I can still fire ok on other keys... It's strange.)
<<

Berserker

Posts: 80

Joined: Tue Feb 15, 2011 2:19 pm

Post Tue Mar 15, 2011 4:48 pm

HUGE UPDATE

I've got a pretty big update for you. My proof-of-concept CC bar wasn't as helpful as I wanted, so I revamped that into a fully functioning, dual use CC bar (performs cc and silence). Ditto the heal bar. It was just too confusing in the heat of battle to remember if I wanted to ctrl left click, alt right click, etc. But, even more to the point, these two bars as I used them exposed a more pressing problem -- I had no control over my rogues or my cleric -- they were completely split personality about doing DPS or healing. I decided the best way to enforce role specific behavior in my set was to implement "role control" via a click bar. (NOTE: I am not talking about "switching roles" as Rift defines them in the souls mechanic. I am talking about specific behavioral roles -- like be a bard healer, do dps, throw sab charges, etc. -- these are all accomplished with the same 3 souls -- the same "role" in Rift-speak)

This update is going to take more than one post, but let's start here with the basics and the design.

Requirements:
1. I wanted complete and independent control over every character in the set
2. I wanted that control to persist between character swaps
3. I wanted to be able to lock my characters into one role, a be assured that they would perform *only* that role, regardless of what role the hot character was in, without impinging on the hot character, and without having to press forty-gabillion buttons
4. I wanted heals to work, everytime, and be accessible when I didn't have time to think
5. I wanted to be able to CC multiple targets from multiple characters, without swapping.

Setup in Rift:
I tried various methods of allowing me to press the 1 through = keys on the hot character and having each of the other characters either perform the same action or perform a different action. The easiest and best way for me was to setup multple keymaps: n to n, n to alt+n, n to ctrl+n, where n to n means I press 1 and send 1 to another character, etc. I also decided I would restrict AOE abilities, and enable some hardcore CC. So, in rift, I associate 1 to = with Role 1, alt+1 to alt+= with Role 2, ctrl+1 to ctrl+= with Role 3, ctrl+alt+1 to ctrl+alt+5 with AOE, and NUM 1 to NUM 5 with CC. Like this:

Image

For this to work, I needed Target Action Groups for each archetype in my set. I'm running 3 rogues, a warrior and a cleric. I also needed a TAG for those that would cc, those that would silence, and those that do neither. Like this:

Image

Note that I have a TAG for each character in the group -- Tank, Rogue1, Rogue2, Rogue3 and the Cleric -- plus the three cc types mentioned above. Ignore the "petters" and the "SABGtaoers" groups -- the don't apply here.

Of course, I also needed specialty key maps for each role. Here's why: In order for this to work easily, I decided to turn off or on special key maps for each role. You can't simply create a key map state action in a mapped key, give it a TAG, and turn the key map off or on only for the TAG, because the key maps always live on Window:Current (self). This means that you need a key map for each role, in which the target of the key stroke action is the TAG. Yes, that means for a 5 man team where you want all 5 characters to be able to independently switch roles, you need 5 special key maps for each role.

I decided to name the roles Combat<TAG><mapping>, e.g. CombatT1 (n to n). Here are 2 examples, pulled from my tank roles (T1). I didn't include the n to n mapping -- it's the same as these, but you pass n instead of alt+n or ctrl+n. Note that the hot key for all of these keys is <n> (e.g. 1 through = )

Image
Image

Further, I added the following Click Bars (full explanations to follow below):

Image

Here's a close up of the bars without a bunch of goblty-gook on top:

Image

In the next few posts, I will fully explain how I created:
the role bar http://isboxer.com/forum/viewtopic.php?p=4495#p4495
the CC bar http://isboxer.com/forum/viewtopic.php?p=4496#p4496
heal bar 2.0 http://isboxer.com/forum/viewtopic.php?p=4497#p4497
the team action bar http://isboxer.com/forum/viewtopic.php?p=4498#p4498
Last edited by Berserker on Tue Mar 15, 2011 6:04 pm, edited 6 times in total.
<<

Berserker

Posts: 80

Joined: Tue Feb 15, 2011 2:19 pm

Post Tue Mar 15, 2011 5:21 pm

THE ROLE BAR

To create the role bar, in addition to the basics described in the introduction post, I needed to make a click bar. Click bars are easy (3 cheers for Lax!). I wanted specialty behavior between the buttons. For example, I wanted the tank button (the first one) to switch the tank to "tank mode" or "dps mode" on a left click, and reset EVERYBODY on a right click. (NOTE: I am not talking about "switching roles" as Rift defines them in the souls mechanic. I am talking about specific behavioral roles -- like be a bard healer, do dps, throw sab charges, etc. -- these are all accomplished with the same 3 souls -- the same "role" in Rift-speak). Here's what I did for the first button:

Image

I wanted the rogues to be able to change roles per rogue, to be able to change ALL the rogues roles, and to be able to reset the roles of the rogues only. Here's how I did it:

Image

For the default setup (everyone in Role 1), I wanted the tank to be in tank mode, all three rogues to be in RDPS mode, and the cleric to be in healzor mode. Translating this into the information discussed above, that meant I wanted tank-specific abilities, RDPS-specific abilities and heal-specific abilities on the main bar (ability bar 1). I wanted Role 2 defined as: MDPS for the tank, bard mode for the rogues, and DPS for the cleric. Only the rogues have Role 3, which is sab mode. Here are various example combinations as shown on the role bar:

Image
Warrior: Tank
Rogue1: RDPS
Rogue2: RDPS
Rogue3: RDPS
Cleric: Healzor

Image
Warrior: Tank
Rogue1: Bard
Rogue2: RDPS
Rogue3: RDPS
Cleric: Healzor

Image
Warrior: Tank
Rogue1: Sab
Rogue2: RDPS
Rogue3: RDPS
Cleric: Healzor

Image
Warrior: Tank
Rogue1: Bard
Rogue2: Bard
Rogue3: RDPS
Cleric: Healzor

Image
Warrior: Tank
Rogue1: Bard
Rogue2: Bard
Rogue3: Bard
Cleric: Healzor

Image
Warrior: MDPS
Rogue1: RDPS
Rogue2: RDPS
Rogue3: RDPS
Cleric: Healzor

Image
Warrior: Tank
Rogue1: RDPS
Rogue2: RDPS
Rogue3: RDPS
Cleric: DPS

Note that all combinations are possible -- these are just a few examples.

The first bit of coding that is necessary is to set the default modes. To accomplish this, I created a key map named RoleControl and added this mapped key:

Image

Yeah, it just wraps a function call for each role. Each, role-specific function call looks like this, with the appropriate name and key maps:

Image

Note the target for each key map state -- Window:Current (self). It MUST be this target.

Next, I needed something to call the initializer. In Always On, I created the following mapped key:

Image

Next, It needs to be called with the character set is initialized or reset. To do that, do this on the main character set page:

Image

Great! Now let's talk about changing a role. Basically, you need a key map for each TAG, and it must have a step for each role. Here's an example of a three role mapped key for my rogues (all of my TAGs cloned this and changed the names appropriately -- e.g. CombatR1 (n to n) becomes CombatT1 (n to n), etc.).

Image

Image

Image

The first line of each step updates the button image. The second line toggles the n to n key map off and on, the next controls n to alt+n, the next n to ctrl+n. The next line maintains the state persistently (so I can swap to a different tune and have everyone still in the same roles). The final line moves everyone else to the same step (so that when I change to another character and click a role button, it is on the correct step in the mapped key).

To reset everyone, I just call the initialize step. To reset just the rogues, however, I needed another mapped key:

Image
(no big surprises there).

Finally, I alluded to it above, but to maintain the state persistently, I need something that performs a context switch when I swap to a new character. Remember that the key maps are specific to the CHARACTER who is HOT, so if I swap characters, I need to update the key maps appropriately. Here's how I do that.

First, I created another mapped key in the Always On key map:

Image

Then, for each character in the set, I made it call that mapped key when I swapped:

Image

Finally, I just need a mapped key for each TAG, that mimics the state setting parts of the ChangeRole mapped keys. Here is an example from Rogue1 again. Note that I clicked the box that stops these steps from advancing. I control the steps in the ChangeRoles mapped keys, and DO NOT want this one to advance unless I've changed roles. Here are the three steps:

Image

Image

Image


Whew. I think that's it :)
Next

Return to RIFT

Who is online

Users browsing this forum: No registered users and 2 guests