FAQ  •  Register  •  Login

Multiple conditions to enable step?

Moderator: MiRai

<<

Finney

Posts: 83

Joined: Fri Jul 05, 2013 8:49 am

Post Tue Jun 10, 2014 12:51 pm

Multiple conditions to enable step?

With the newer features of ISBoxer, we can make true priority-based rotations, where it is easy to disable a specific step in a mapped key due to a cooldown or other reason. Normally this is implemented like this:

---------------------------------------
Main rotation Mapped Key:
(Mapped Key) Hunterella DPS Rotation
Step 1.
    •Do Mapped Key Hunter Ability 1 that has a 30 second cooldown
Step 2.
    •Do Mapped Key Hunter Ability 2 that has a 15 second cooldown
    •Set Hunterella DPS Rotation Mapped Key to Step 1
Step 3.(Hunter Spam Ability 3 that has a no cooldown)
    • Do appropriate keystroke
    • Set Hunterella DPS Rotation Mapped Key to Step 1
Supporting Mapped Keys with timers for cooldowns:
(Mapped Key) Hunter Ability 1 that has a 30 second cooldown
Step 1.
    • Do appropriate keystroke
    • Disable Step 1 in Hunterella DPS Rotation
    • Enable Step 1 in Hunterella DPS Rotation in 30 seconds

(Mapped Key) Hunter Ability 2 that has a 15 second cooldown
Step 1.
    • Do appropriate keystroke
    • Disable Step 2 in Hunterella DPS Rotation
    • Enable Step 2 in Hunterella DPS Rotation in 15 seconds
---------------------------------------

This works fine for abilities where the only consideration for prioritization is a cooldown, but there are sometimes things in addition to cooldowns that we need to consider. For example, there may be resource or “power points” that need to be present before an ability can be used. What I’ve been doing there is using a “counter” mapped key. So the example above becomes:

---------------------------------------
Main rotation Mapped Key with power point requirements included:
(Mapped Key) Hunterella DPS Rotation
Step 1.
    • Do Mapped Key Hunter Ability 1 that costs 3 power points and has a 30 second cooldown (this step starts off disabled)
Step 2.
    • Do Mapped Key Hunter Ability 2 with 15 second cooldown
    • Set Hunterella DPS Rotation Mapped Key to Step 1
Step 3. (Hunter Spam Ability 3 with no cooldown that adds a power point)
    • Do appropriate keystroke
    • Set Hunterella DPS Rotation Mapped Key to Step 1
    • Mapped Key Hunter Power Point Counter add 1 step
    • Do Mapped Hunter Power Point Counter
Supporting Mapped Keys with timers for cooldowns and power point requirements:
(Mapped Key) Hunter Ability 1 that costs 3 power points and has a 30 second cooldown (again, this step starts off disabled)
Step 1.
    • Do keystroke
    • Disable Step 1 in Hunterella DPS Rotation
    • Enable Step 1 in Hunterella DPS Rotation in 30 seconds
    • Mapped Key Hunter Power Point Counter add -3 steps
    • Do Mapped Hunter Power Point Counter

(Mapped Key) Hunter Ability 2 that has 15 second cooldown
Step 1.
    • Do appropriate keystroke
    • Disable Step 2 in Hunterella DPS Rotation
    • Enable Step 2 in Hunterella DPS Rotation in 15 seconds

(Mapped Key) Hunter Power Point Counter
(all of these have “do not advance” checked—so all steps are controlled by other keys.)
Step 1. (zero power points)
    • Disable Step 1 in Hunterella DPS Rotation
Step 2. (one power point)
    • Disable Step 1 in Hunterella DPS Rotation
Step 3. (two power points)
    • Disable Step 1 in Hunterella DPS Rotation
Step 4. (three power points)
    • Enable Step 1 in Hunterella DPS Rotation
---------------------------------------

So there’s the problem: there are now two ways to enable Step 1, and they are independent. Here’s the scenario as far as the (Mapped Key) Hunterella DPS Rotation is concerned:

Fight starts
Keystroke 1:
    Step 1 does not fire because it’s disabled; there are no power points yet so this is good.
    Step 2 fires and goes on a 15 second cooldown, points back to step 1
Keystroke 2:
    Step 1 does not fire because it’s disabled; there are no power points yet so this is good.
    Step 2 does not fire because it’s still on its 15 second cooldown
    Step 3 fires and increments the Hunter Power Point Counter mapped key (now on step 2; we now have 1 power point) and fires it: that step 2 just tries to disable the Main Rotation Step 1, which is already disabled, so no harm done.
Keystroke 3:
    Step 1 does not fire because it’s disabled; we only have 1 power point so far so this is good.
    Step 2 does not fire because it’s still on its 15 second cooldown
    Step 3 fires and increments the power point counter mapped key (now on step 3; we now have 2 power points) and fires it: that step 3 just tries to disable the Main Rotation Step 1, which is already disabled, so no harm done.
Keystroke 4:
    Step 1 does not fire because it’s disabled; we only have 2 power points so far so this is good.
    Step 2 does not fire because it’s still on its 15 second cooldown.
    Step 3 fires and increments the Hunter Power Point Counter mapped key (now on step 4; we now have 3 power points) and fires it: that step 4 now enables the Main Rotation Step 1, which is good because we have the points now.
Keystroke 5:
    Step 1 fires because it’s enabled; it disables itself and sets its own cooldown timer because it can’t be used for 30 seconds now. It also adds -3 steps to the Hunter Power Point Counter mapped key (i.e., subtracts 3 steps, which puts it back to step 1) and fires it: that also disables the Main Rotation Step 1, because we don’t have any power points.

So now Main Rotation Step 1 is disabled for two reasons: because it’s on cooldown, and because we don't have enough power points. Trouble is brewing. Let’s continue:

Keystroke 6:
    Step 1 does not fire because it’s disabled; we have 0 power points and it’s on cooldown.
    Step 2 does not fire because it’s still on its 15 second cooldown.
    Step 3 fires and increments the Hunter Power Point Counter mapped key (now on step 1; we now have 1 power points) and fires it: that also tries to disable the Main Rotation Step 1, because we don't have any power points.
Keystroke 7:
    Step 1 does not fire because it’s disabled; it’s on cooldown and we have 1 power point.
    Step 2 fires because its cooldown is over. It goes back on a 15 second cooldown, points back to step 1.
Keystroke 8:
    Step 1 does not fire because it’s disabled; it’s on cooldown and we have 1 power point.
    Step 2 does not fire because it’s on its 15 second cooldown.
    Step 3 fires and increments the Hunter Power Point Counter mapped key (now on step 3; we now have 2 power points) and fires it: that step 2 just tries to disable the Main Rotation Step 1, which is already disabled, so no harm done.
Keystroke 9:
    Step 1 does not fire because it’s disabled; it’s on cooldown and we have 2 power points.
    Step 2 does not fire because it’s still on its 15 second cooldown
    Step 3 fires and increments the Hunter Power Point Counter mapped key (now on step 4; we now have 3 power points) and fires it: that step enables the Main Rotation Step 1, since it sees we have enough power points.
Keystroke 10:
    Step 1 tries to fire because it’s been enabled for power points; however the actual ability is still on cooldown, so it does not fire in game. That causes all sorts of trouble:
      • It disables itself and resets its own cooldown timer because it thinks it can't be used for 30 seconds now. In reality, there might be say only 10 seconds left on its cooldown.
      • It also adds -3 steps to the Hunter Power Point Counter mapped key, thinking we've used up our power points (which we haven’t because the ability didn’t fire off). So now the rotation will go through to step 3 to build up more power points, which are wasted.

So we can see that this method has a basic flaw which (finally) brings me to my question: has anyone figured out a way to do this reliably?

(Real world examples of this are quite a bit more complex, since there are multiple cooldowns and several abilities that might use those power points.)

I've tried using the counter key map to actually disable/enable the entire “Mapped Key Hunter Ability 1” itself, and let the timeout part of that key disable the calling step, but that isn't optimal. We still waste a keystroke and there are even places where it isn't only 2 conditions that need to be filled, but 3 or more.

In reality, it doesn't break that often, because frequently it takes longer than the cooldown to build up the power points, but I would still like a reliable way to have multiple conditions apply to a step.

If you read this whole thing--thanks! Any ideas?
<<

Skarling

Posts: 247

Joined: Mon Oct 22, 2012 8:24 am

Post Thu Jun 12, 2014 5:26 pm

Re: Multiple conditions to enable step?

I may not have a complete solution for you, but here's a few tips from my setup that may help you along :)

Tip 1
If you have a Step with ability that has a cooldown and you dont what any outside mapped key to enable it during the cooldown, you can create a "enabler mapped key" that has "Enable this step in this mapped key" instruction and disable this new "enabler" mapped key for a desired cooldown duration simultaneously from within the original Step.

Example : "Split Shot" Step in my Combat Rotation mapped key for Hunters in Lotro:

- Do Mapped Key Split shot (keystroke for hotbar with spell on it)
- Do Modify Current Step: Disable - self
- Do Modify Current Step: Enable - self - Timer 15 secs
- Do Mapped key "Cooldown 2.4 secs" in [Core] Cooldowns -(this prevents the Rotation from using next step for 2.4 secs to allow for Split Shot to fire off and not be overwritten).


First we create a new mapped ky in Hunters keymap and call it "Enable Split Shot", it will have 1 step -

- Step Action: Set "Combat Rotation" to Step 1 - self
- Modify Specific Step: "Split Shot" in Combat Rotation mapped key: Enable - self

Second, we include two new actions in the original "Split Shot" Step so that it looks like


- Do Mapped Key Split shot (keystroke for hotbar with spell on it)
- Do Modify Current Step: Disable - self
- Do Modify Current Step: Enable - self - Timer 15 secs
- Do Mapped key "Cooldown 2.4 secs" in [Core] Cooldowns -(this prevents the Rotation from using next step for 2.4 secs to allow for Split Shot to fire off and not be overwritten).
- Do Mapped Key State action: "Enable Split Shot": Disable - self
- Do Mapped Key State action: "Enable Split Shot": Enable - self - Timer 15 secs


Now, if I had any other mapped key that attempted to enable "Split Shot" for whatever reason, it should be instructed to attempt to do "Enable Split Shot" rather than specifically modify "Split Shot" directly. If "Enable Split Shot" is off, then "Split Shot" Step in my Rotation is unaffected (stays off too).

Tip 2
In above examples you saw Do Mapped key "Cooldown 2.4 secs" - and I have a range of these starting from 0.1 sec to 3.5 secs) - these are not just preventing Combat Rotation from advancing to next step for the GCD duration by disabling it. My setup has dummy mapped key in each class keymap called "Combat Extras", so "Cooldown 2.4 secs" mapped key looks like this -

"Cooldown 2.4 secs" mapped key (single step with two actions):
- "Combat Rotation" in Virtual Combat is now "Combat Extras" in Virtual Combat - self
- "Combat Rotation" in Virtual Combat is now "Combat Rotation" in Virtual Combat - Timer 2.4 sec - self

Originally, I introduced this for Vanguard SoH (R.I.P.), to manage class abilities that are instant and are not subject to GCD rules. In essence is as if two rotations are going on simultaneously - Combat rotation and Combat extras.
I dont see why "Combat Extras" cannot be used to serve as "Counter" for classes that have Focus or similar special resource requirement. In effect, I think you can make this "dual rotation" principle handle the counting for you if the counting mapped key is residing in Combat extras, as the system will alternate the two after each ability is executed.

Tip 3.
I used as an example an ability for Hunter in Lotro, this class uses Focus special resource - some abilities generate it, and some consume it. If I were to do a counter like in your OP, I would put all my Focus-users up top in my Rotation, with abilities that use more Focus above those with lesser usage, like

Step 1 - Focus 4 user (starts off by default)
Step 2 - Focus 3 user (starts off by default)
Step 3 - Focus 2 user (starts off by default)
Step 4 - Mapped Key with Regular Focus-generating abilities

Then, from within the "counter mapped key", possibly using your own method of advancing or retreating a number of steps determined by whichever ability is being executed at a time, I would execute "Enabler mapped keys" for all Focus-using Steps of equal or lower Focus numbers, i.e. if my imaginary counter called for an ability with 3 Focus, it should hit both enablers for 3 and 2 in the above example. If enabler for 3 is on, cool, you just need to make sure that "Focus 3 user" step shuts down "Focus 2 user" step when executed (by adding to all steps "Modify specic step in current mapped key" for all steps below it that are Focus-users). If "Focus 3 enabler" if off, the Rotation will hit on "Focus 2" instead, and so on.

Hope this helps in your quest for perfection:)
<<

Skarling

Posts: 247

Joined: Mon Oct 22, 2012 8:24 am

Post Fri Jun 13, 2014 10:53 am

Re: Multiple conditions to enable step?

OK, I made some testing on my Lotro hunters, and the above principles work on a test dummy. Each focus-generating ability advances a "counter mapped key", when latter reaches a step that contains an instruction to Enable a relevant Focus-consuming ability in the main Rotation, it does so. Subsequently Focus-user ability sets the counter back the number of steps equal to Focus consumed.

One anomaly: I have two abilities that I want to use at 3 counts of Focus - one with a 25 sec cd, the other with no cd. I want the one with the cooldown to fire off first if its available, and actually it does, however not on the cycle it is supposed to execute, but rather on the next one (meaning that even if the timing allows for a comfortable leeway for a step enabler to re-appear in the Keymap, when the counter reaches 3 and opens up both steps (one with cd is above the one without cd in the rotation), the system still fires no-cd ability bypassing one that should be triggered, then waits for the counter to reach 3 again, and only then desired ability goes off. See the screen of the abilities -

Image

"Upshot" should take precedence over "Penetrating Shot", but my testing consistently shows its skipping its turn and executes on the next round instead. Maybe it has to do with how the Isboxer tracks "the disappearing/reappearing" mapped keys - in my case the enabler for "Upshot"? No clue, tbh...
<<

Finney

Posts: 83

Joined: Fri Jul 05, 2013 8:49 am

Post Fri Jun 13, 2014 11:35 pm

Re: Multiple conditions to enable step?

Hey Skarling,

Your reply got me thinking--I like the enabler mapped key idea, and what we're really trying to do is establish a logic gate. So I thought about it a bit and built on what you were saying. I'll use a lotro hunter as an example as well, with the Merciful Shot ability.

The concept is each ability that has multiple conditions will have a “gate” mapped key, and that mapped key will have a step for each condition as well as a final one to enable the ability in question. What we'll do is take advantage of the ISBoxer feature that jumps to the first enabled step of a mapped key—so we enable those steps of the gate key that represent a condition that prevents us from firing off the ability.

So for the Merciful Shot Gate mapped key, there are three steps:
    1. Cooldown Active (do not advance, starts off disabled)
      a. Merciful Shot Gate set to step 1. Cooldown Active
    2. Insufficient Focus (do not advance, starts off enabled)
      a. Merciful Shot Gate set to step 1. Cooldown Active
    3. Enable Merciful Shot (do not advance, starts off enabled)
      a. Enable Step (Merciful Shot) in Hunter Combat Rotation
      b. Merciful Shot Gate set to step 1. Cooldown Active
Step one will be enabled while the cooldown is ticking down. Step two will be enabled if we don't have enough focus. Step 3 is always enabled.

First, the Hunter Combat Rotation:
    1. Do Merciful Shot (starts off disabled)
      a. Do appropriate keystroke
      b. Do disable combat for 1.5 secs
      c. Modify Merciful Shot Gate Key Map Step 1 Cooldown Active disable in 30 seconds
      d. Modify Merciful Shot Gate Key Map Step 1 Cooldown Active enable
      e. Focus Counter Key Map add -6
      f. Do Focus Counter Key Map
    2. Some other ability
      a. Do appropriate keystroke
      b. Do disable combat for 1.5 secs
      c. Do Merciful Shot Gate Key Map
      d. Set Combat Rotation to Step 1
      e. (Do the typical simple disable/re-enable timer cooldown actions for this ability.)
    3. Do Spam Ability (adds 1 focus)
      a. Do appropriate keystroke
      b. Do disable combat for 1.5 secs
      c. Focus Counter Key Map add 1
      d. Do Focus Counter Key Map
      e. Do Merciful Shot Gate Key Map
      f. Set Combat Rotation to Step 1
Then the Focus Counter mapped key:
    1.
      a. Modify Merciful Shot Gate Key Map Step 2 Insufficient Focus enable
      b. Do Merciful Shot Gate Key Map
    (steps 2-6 are identical to step 1)

    7.
      a. Modify Merciful Shot Gate Key Map Step 2 Insufficient Focus disable (Merciful shot requires 6 focus)
      b. Do Merciful Shot Gate Key Map
    (steps 8-10 are identical to steps 7—there is a total possible 9 focus points)

So what happens as far as Merciful Shot goes:
Keystroke 1:
    Step 1 (Merciful Shot) of the Hunter Combat Rotation starts off disabled so first keystroke goes right to step 2 of the Hunter Combat Rotation. In there, among other things, an action fires the Merciful Shot Gate mapped key. The first enabled step in the Merciful Shot Gate is step 2: Insufficient Focus. That "sinks" the Do Mapped Key and resets the Gate key map back to the top.
Keystroke 2:
    Steps 1 and 2 of the Hunter Combat Rotation are now disabled, so step 3 fires off the spam ability and increments the Focus counter and fires it. All the early steps of the focus counter do is enable step 2 of Merciful Shot Gate (which is already enabled). Step 3 of the combat rotation also fires the Merciful Shot Gate mapped key. Still, the first enabled step in the Merciful Shot Gate is step 2: Insufficient Focus. That again sinks the Do Mapped Key and resets the Gate key map back to the top.
Keystrokes 3-8:
    Things continue this way until the focus counter is incremented by the spam ability to step 7, indicating we now have 6 points of focus. Step 7 of the focus counter disables step 2 of Merciful Shot Gate. The Hunter Combat Rotation step also fires the Merciful Shot Gate mapped key. But now, both steps 1 and 2 of the mapped key are disabled, so the only step to fire is step 3, which enables Step (Merciful Shot) in Hunter Combat Rotations.
Keystroke 9:
    Step 1. (Merciful Shot) in Hunter Combat Rotation fires. This does a few things in addition to firing off the ability:
      a. It enables step 1 of the Merciful Shot Gate key map (i.e., it says that the key is now on cooldown).
      b. It sets a timer to disable step 1 of the Merciful Shot Gate key map when that cooldown is over.
      c. It decrements the focus counter by 6 to reflect the points spent.
      d. If fires the focus counter keymap, which has just been set to a low step so it enables step 2 of the Merciful Shot Gate key map (i.e., it says that we now don't have enough focus).
So now, both steps 1 and 2 of the Merciful Shot Gate mapped key are enabled, reflecting that we are on cooldown and we don't have enough focus. Essentially every key press in the Hunter Combat Rotation mapped key will fire off the Gate mapped key. But it doesn't matter how many times we fire off the gate mapped key because each one just goes to the first enabled step which just puts it right back to the top.

After 30 seconds, the timer trips to disable step one of the Merciful Shot Gate mapped key, and so step 1 gets disabled, removing that sink. Depending on what has happened in the meantime with focus points and the focus point counter, step 2 of the Merciful Shot Gate mapped key will be enabled or disabled. Doesn't matter--as soon as there are enough focus points, the focus point counter step will disable its step 2, leaving step 3 as the only enabled step, which--as soon as anything fires off the Gate mapped key again--will again enable the Merciful Shot step in the combat rotation.

I've done some quick test with it, and it all seems to work. The keys seem to be to make sure the initial states of the steps are set correctly, and to make sure essentially all steps are set not to advance.

Sorry if this was hard to follow. It's late and tired out. But this is pretty cool.
<<

Ualaa

Grandmaster Guidesmith

Posts: 714

Joined: Wed Nov 18, 2009 8:36 pm

Post Sat Jun 14, 2014 12:09 pm

Re: Multiple conditions to enable step?

As long as you know, how much focus you have at any given time, based on the number of keystrokes you've pressed this will work.
If focus is something that regenerates over time, rather than something that is built up by doing certain combat moves...

IS Boxer has no way of knowing how much of any given resource your character has.
But it will allow for rather complex rotations, as per however you want to design your rotation.
Streaming in 720p HD: www.twitch.tv/ualaa
<<

Finney

Posts: 83

Joined: Fri Jul 05, 2013 8:49 am

Post Sat Jun 14, 2014 12:25 pm

Re: Multiple conditions to enable step?

Good point--these abilities also cost power, which does regen over time. I suppose in theory if I wanted to take it to the point of craziness/absurdity I could figure out the regen rate, figure out how long each ability took, count in how much power it cost, and set up some sort of counter to track even the power level. I could then add a "gate" for that as well.

At that point though I'd really just be a button-pushing automaton, and wouldn't even need to watch the screen. ;)

What I like about isboxer is it's a game within the game. Optimizing it can sometimes be a fun challenge. You can go as deep or as shallow as you like. Sometimes I want to just play the MMO and have isboxer pretty much invisible, other times I want to take a break from the MMO and tweak DPS and rotations and UIs.
<<

Skarling

Posts: 247

Joined: Mon Oct 22, 2012 8:24 am

Post Mon Jun 16, 2014 3:24 pm

Re: Multiple conditions to enable step?

Yeah, the gates/enablers coupled with counter seem to solve straightforward Focus skill applications - like you shoot three Quick Bows that contribute each 1 Focus, and your setup makes you fire off a Penetrating Shot that costs 3 Focus. However, once you go deeper into chosen talent tree, you gonna have some complications :)

For example, my hunters now use Bow Master talent spec, which appears to be more DPS-oriented for group play. The tree has a passive talent that gives you 1 extra Focus for each crit (counting crits from autoattacks). This starts to mess up your Focus consumption as you cannot make Isboxer to track your crits. Luckily, the end talent in Bow-Master gives your a terrfic ability called "Upshot", which does not have a strict Focus requirement, but will consume all accumulated Focus when executed (more Focus means more damage). It has 25 sec base cooldown which means every 25 sec you can wipe your Focus slate clean and use up all those "extra" Focus points from crits. Without it, you would surely go to 9 Focus (max allowed) in no time, which would be a waste of DPS. To make it even more interesting, another passive talent in Bow-Mastery makes cooldown on Upshot shrink by 2 secs on each crit :), so we really start talking probabilities and weighted averages here, lol.

Same for Merciful shot in your example Finney - in its vanilla form it requires 6 Focus and your target's health to be below or at 50%. Bow Mastery raises the health threshold to 70% and makes each Quickbow that lands on your target to lower the 6 Focus cost by 1. Yet another puzzle. I prefer to control Merciful shot directly from my main - when I see target's health approaching 70%, I pull the trigger (menu button) and my hunters will skip all Focus-consuming abilities until they hit counter of 4 (I assume at least two Quickbows would be fired by then) and execute Merciful Shot.

Even with all these complexities, its still fun :). There are times however when I wish Turbine would finally introduce in-game macros or at least allow priority casting (by eliminating stupid ability queueing in Lotro).

Return to Key Maps

Who is online

Users browsing this forum: No registered users and 0 guests