Hey Jasper,
By design it does not autonomously use Cobra Shot. Cobra Shot cannot be efficiently sequenced because it is power based. That’s why my accompanying Weakaura will prompt you to use Cobra Shot when you are approaching focus cap.
As to ‘hanging’ on some abilities: During the initial sequencing of the macro at the start of combat (especially after waiting for all CDs to be ready), it is attempting to cast many spells at once. You’ll notice that during actual gameplay the queue is much smoother. Additionally, the more non-passive talent choices you make will alter this ‘hanging’ period.
If you look into how I setup the Cooldown loops, you’ll notice two loops in particular:
- The First loop houses long cooldowns
- The Second loop houses shorter 'regular dps’ cooldowns.
As it is more important to prioritize getting your short (10-30sec cooldowns) out first for long term dps, the macro spends more time repeating this loop. It then moves to the longer cooldowns because it’s not as detrimental for a 2min cooldown to be on hold for 1-5sec as it is for a 10 sec cooldown to be on hold for 1-5sec.
You can adjust this priority ratio, if you’d like, by changing the number of times the macro repeats each loop.
- Note that Priority List Step Functions (short CD loop) take much longer to run than Sequential Step functions (long CDs).
Admittedly, the biggest downside of this macro is that when Beast Cleave is known it will use Multi-shot more regularly, even if you’re doing single target damage. However, this cannot be avoided as GSE cannot detect proximity based targets, especially for ranged DPS.
I’ve countered this by implementing a [known:Beast Cleave] conditional.
I use an array of [known:XXXXX] and [noknown:XXXXX] conditionals to help the macro make smart decisions on priority based casting. This is how I achieve all talents.
Also, I’ve checked out Gimli’s ST macro. I’m achieving the same DPS. (within +/- 3%) so I’m not sure where the 35-55k DPS loss is coming from. That macro functions as a straight sequence (no priority cast looping) with [known] conditionals. Respectfully, it is more rudimentary, which is why I cannot understand the ~30% DPS loss you are experiencing with mine.
Thanks for you feedback! I’ll update the usage description in the future