Multiple conditions to enable step?
---------------------------------------
Main rotation Mapped Key:
(Mapped Key) Hunterella DPS Rotation
Step 1.
- •Do Mapped Key Hunter Ability 1 that has a 30 second cooldown
- •Do Mapped Key Hunter Ability 2 that has a 15 second cooldown
•Set Hunterella DPS Rotation Mapped Key to Step 1
- • Do appropriate keystroke
• Set Hunterella DPS Rotation Mapped Key to Step 1
(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)
- • Do Mapped Key Hunter Ability 2 with 15 second cooldown
• Set Hunterella DPS Rotation Mapped Key to Step 1
- • 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
(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
- • Disable Step 1 in Hunterella DPS Rotation
- • Disable Step 1 in Hunterella DPS Rotation
- • 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
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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?