So I did some quick testing on the Killer Cobra macros without MODs, the older one and the newer one. The parts that are different are as follows:
OLD:
/castsequence reset=0.5 Dire Beast, Titan’s Thunder
/castsequence Kill Command, Cobra Shot
NEW:
/castsequence Dire Beast, Dire Beast
/castsequence Kill Command, Dire Beast, Titan’s Thunder
/castsequence Kill Command, Cobra Shot
/castsequence Kill Command, Cobra Shot
/castsequence Kill Command, Cobra Shot
The old one is simple and elegant. It has everything you need in just 2 lines.
The new one is longer, mainly because of some replication. But it is more or less the same macro.
So what is different?
First, let’s deal with the duplicates to understand the logic of doing it this way:
/castsequence Kill Command, Cobra Shot
/castsequence Kill Command, Cobra Shot
/castsequence Kill Command, Cobra Shot
With these lines what happens is that whether the macro casts Kill Command OR I do it manually, it acts as if Kill Command was cast on all three lines and it will move to the next item which is Cobra Shot. For example, if I create a macro with ONLY these line and then press Kill Command and then run the macro, it will not attempt to cast Kill Command. It is counted as already having been used, despite the fact that it was NEVER used (yet) as part of the castsequence.
The net effect is that in terms of casting abilities, the duplicate lines do nothing. So why use them?
To artificially create a priority for these lines. By forcing the to at least attempt to execute all three of these lines it should, in theory, cause the macro to spend MORE time attempting to use these abilities, and create a higher probability for the ability to be used if available.
I don’t want another line containing Dire Beast to be used ahead of Kill Command, when Kill Command is available. So why not simply put the Kill Command/Cobra Shot lines on top of (before) the Dire Beast lines?
Well, because I also don’t want the macro to get stuck casting Kill Command->Cobra Shot->Kill Command->Cobra Shot without utilizing Dire Beast until focus is so low that it cannot cast either Kill Command or Cobra Shot.
Additionally, since a lot of our DPS with this build is created by causing as many burst phases as possible, I want to ensure that we don’t ‘lose’ any Dire Beast casts.
Essentially, to attempt to boil down, what might be a complicated loop of logic, Dire Beast gives us the following:
1 - Stomp damage (aoe)
2 - Dire Beast Damage (minor)
3 - 12 second cool-down reduction on Bestial Wrath (Major)
and the Kill Command -> Cobra Shot rotation gives use:
1 - Damage during non-burst phase (minor)
2 - Damage during burst phase (major)
If there was a way to automatically prioritize Dire Beast/Dire Frenzy during non-burst phases, and prioritize Kill Command->Cobra Shot rotation during burst phases, without losing Dire Beast casts and without using a MODifier, I would do that. But I can’t, or at least I haven’t yet figured out a way.
So I attempt to strike a balance by prioritizing Dire Beast at the top of the macro, but creating an artificial priority for the KC->CS rotation with those extra lines.
To be perfectly honest, I cannot really tell if those extra lines actually has only effect. To the best of my knowledge, it should, but since it cannot be ‘simmed’, the only way to test it is by using it, and there is sufficient RNG to render most real-word testing moot. At least for something like this.
On the other hand, doing it the new way, allows me more flexibility for manipulating modifiers, for that macros that use them.
You might also ask, how can you ‘lose’ a Dire Beast cast?
Simple. If you are sitting at 2 stacks and proc Wild Calls, it will not go up to 3 stacks. The net effect is that you lose the damage you would have had if you had only had a single stack and you also lose the 12 second cooldown reduction. You also potentially lose Titan;s Thunder damage for that Dire Beast and the damage of the Dire Beast itself.
My Priority list looks like this (not counting DPS cooldowns like AOTW and others):
1 - Dire Beast - when BW not active or when 2 stacks
2 - Kill Command - anytime
3 - Cobra Shot - to reset KC cooldown
4 - Dire Beast - When BW is active
5 - Cobra Shot - when BW is not active, or when KC cool-down is 2 seconds or less.
All that being said, my testing had similar results on a Raider’s Training Dummy. Under actual raiding conditions, I expect the newer macro to be similar or better.
If you get worse results using the newer macro, I would be surprised, and curious if you notice anything unusual. You can also use the analyzer to see what it tells you about how to improve your damage.
Gween
P.S. I forgot to mention that doing a castsequence that include Dire Beast twice is more for lining up abilities logically then for any actual DPS increase.
The macro portion of the current macro:
/castsequence Dire Beast, Dire Beast
/castsequence Kill Command, Dire Beast, Titan’s Thunder
/castsequence Kill Command, Cobra Shot
/castsequence Kill Command, Cobra Shot
/castsequence Kill Command, Cobra Shot
The second line has Dire Beast as second in the sequence, and the first line has Dire Beast second also to line them up. Not for visual purposes, just for logic reasons. It’s simply easier for me to keep track of the logic flow of the macro when I have it lined up this way.
For example, in the macro above, ti might look like this:
Cast Dire Beast (from first line)
Cast Kill Command (from any remaining line)
Cast Titan’s Thunder (from second line since DB is marked as used)
Cast Cobra Shot or Dire Beast (depending on where the macro has progressed which is dependent on the spam timing)
Cast Dire Beast or Cobra Shot (depending on what is left)
After this initial opening it now comes down to timing and cool-downs and buffs. If you watch the macro progress, it should, if the logic is sound, largely use the ability that you would likely use next if you were doing it manually. If not immediately, at least pretty soon thereafter.
Again short of using 2 macros, or a modifier, creating 2 different priority system for BW phases and non-BW phases isn’t really possible. I try to emulate it as close as possible.