Spitting Cobra Oddities


Since I've already gotten a couple questions about it: this is all now reflected in both SimC and AMR simulations. Spitting Cobra has been, and remains the best talent choice for most raiding situations, save for mass AoE situations.  If they remove these bugs, which would nerf the ability, then that might change, but until then, enjoy your Cobra friend.  Glad we cleared that up, back to your regularly scheduled programming.

Trying to Figure Out Spitting Cobra

I've been working on testing for all of the ability formula changes for 7.2.5 (which I never got around to doing on the PTR).  Swol over at AMR pointed out some strangeness he'd seen with Spitting Cobra, so I took a closer look at the results from my testing, and really, the mechanics of the talent are a bit of a shit show. On the plus side, so far, everything that isn't working as expected, is making the ability stronger, not weaker, so there's not much to complain about from the viewpoint of a player, just frustrations when trying to do accurate theorycrafting, which I thought I'd document here, because why not...

After trying to set up a test that might isolate the issues, I got these results:

Test A: Naked w/ no Weapon:


hit minhit max(m+M)/2Measured CoefficientPredictionAccuracy
Spitting Cobra1611416114161141.40000121616113.9861.00000087
Caltrops tick5178518051790.44995695045179.49550.99990433

Test B: Naked + 926 Talonclaw


hit minhit max(m+M)/2Measured CoefficientPredictionAccuracy
Spitting Cobra2702327023270231.6170627323395.629181.15504481
Caltrops tick8122812281220.56135587978121.6255581.00004610

Test C: Naked + 926 Talonclaw + Vers/Mastery Ring and Neck


hit minhit max(m+M)/2Measured CoefficientPredictionAccuracy
Spitting Cobra3071730719307181.72404089924944.419831.23145779
Caltrops tick8658865886580.44993362888659.277170.99985251
Spitting Cobra +Concordance418484184941848.51.72400562333983.589861.23143259

The only reason I included a Murder of Crows and Caltrops was to make sure I wasn't missing anything else that might be affecting everything, so they could sort of act as my control group.

As you can see, in Test A, where I don't have any versatility, and don't have Talonclaw on, everything acts as you'd expect it to.  Each hit of Cobra Spit does 1.4*AP*1.07 damage (the 1.07 is the 7% buff generic aura that SV has at the moment).  

In Test B, we start to see a problem.  In this test, our prediction was that Spitting Cobra would do 1.4*AP*1.07*1.05*1.1.  The "*1.05*1.1" part being from the two generic damage buffs from Talonclaw, increasing damage by 5% and 10%.  Along with the 8% physical damage buff for a Murder of Crows, the same adjustment accurately predicted the damage of both aMoC and Caltrops, so the problem must be somewhere else. I tried adjusting the AP by using a flask, and by adding some trinkets that had Agility but wouldn't affect anything else, and got the same result, that was off by about 15.5%.  After seeing the 15.5% repeated a couple times, it occurred to me that that increasing the damage by 15.5% is the same as increasing the damage by 5% and 10% (when they work together multiplicatively, as they do in our case). 

If I adjust my formula to benefit twice from those two Talonclaw buffs, then my results look like:

hit minhit max(m+M)/2Measured CoefficientPredictionAccuracy
Spitting Cobra3071730719307181.40005431227021.95171.00003879

In Test C, I added versatility to the mix, without affecting the AP or any other relevant stats (which is easy to do as SV since Mastery only affects one thing which isn't part of this experiment).  In this case we ran into very strange numbers.  I should say here that I didn't just guess that I should test for Versatility's affect, but it had been suggested to me that the damage was "double dipping" in versatility damage; so I was planning to isolate that as a variable from the start.  In this case, while the 23.15% looks like a strange, fairly meaningless number, since I had the hint to try doubling the versatility, I could do just that and, all of the sudden I was back to that 15.5% number again.

Adjusting my formulas only to adjust for double dipping in versatility, I got:

hit minhit max(m+M)/2Measured CoefficientPredictionAccuracy
Spitting Cobra3071730719307181.61699577926595.740421.15499699
If I then adjusted to account for double dipping in versatility and applying the talonclaw % damage increase buffs twice, it looks like:

hit minhit max(m+M)/2Measured CoefficientPredictionAccuracy
Spitting Cobra3071730719307181.39999634530718.08019.999997389
Because I didn't want to fall prey to creating tests that confirmed my theory rather than attempted to disprove it, I again tried changing the Attack Power value here, as a way to isolate if this was happening to all buffs, or just "% damage increase" buffs (a catagory I've decided to call things like versatility or the two buffs from Talonclaw).  So I included above the results from Spitting Cobra during the Concordance buff. If I use the same adjustments there, for double dipping in versatility and applying the talonclaw % damage increase buffs twice, I get the right answer once again:

hit minhit max(m+M)/2Measured CoefficientPredictionAccuracy
Spitting Cobra418484184941848.51.39996769941849.46556.999976928

I also tried a couple of variations on how much Versatility there were, just to double check that it was actually applied the Versatility damage buff squared, not some other similar figure that happened to be close to what my originally tested Versatility damage buff was, the results were all the same, though.  I couldn't, however, think of any additional "% damage increase" type buffs to test if this is only affecting these specific buffs, or is actually able to be generalized to all % damage buffs (if you have any ideas, let me know; perhaps there's an older raid boss I could test it on, like Nazgrim).


Because there were problems with the Versatility stat, I wanted to double check the other stats. Critical chance seemed to work as expected regardless of any variations.  Mastery doesn't have any affect on Spitting Cobras, so that's not really an issue.  Haste, however, is just really weird.  

I ended up testing a lot of different Haste levels, and never got down to figuring out a definitive rule for what was going on. A few examples:

0%2.436 seconds
15.85%1.669 seconds
26.85%1.602 seconds

The second two are close to the expected values, if you have a 2 second base interval.  That would be: 2/1.1585=1.7264 seconds, which is close to 1.669 seconds; and 2/1.2685=1.5767 seconds, which is fairly close to 1.602 seconds.  However, that 2 second interval which we see in the tooltip doesn't really explain how we can average 2.436 seconds with 0% Haste. 

I tested about a dozen times with 0% haste, just because it didn't really make much sense, and I though perhaps it was a problem with how the timestamps show int he logs, which I could overcome (on average) through gathering a large enough amount of data.  My effort was in vain, however, as my range for an individual cast of Spitting Cobra never dropped below 2.432 seconds or above 2.440 seconds.  

It was suggested to me that in the Hunter Discord channel that Spitting Cobras was double dipping in haste the same way it was in versatility.  It's possible that's the correct answer, and it's now using a baseline interval of every 2.5ish seconds (or perhaps 2.436, though Blizzard rarely uses that odd of numbers).  If so, our prediction would match the results fairly decently, but not great:

HasteIntervalh^2 Est 2.5 Baseh^2 Est 2.436 Base
0% haste2.436 seconds2.5000 seconds2.4360 seconds
15.85% haste1.669 seconds1.8627 seconds1.8150 seconds
26.85% haste1.602 seconds1.5537 seconds1.5139 seconds

Neither of those estimates are very close, or similarly accurate for both Haste points, unfortunately.  The range for the 15.85% haste point was 1.457:1.767, and the range on the 26.85% haste point was  1.339:1.759, which is probably wide enough that we can assume the logs just aren't going to be accurate enough to really give us a great answer. 

Swol, who does the Hunter module for AMR's simulator, thought he was seeing a pattern of double dipping on haste, but occasionally stuttering for up to .4 seconds.  This, oddly enough, fits the data fairly well, but I can't figure out a way to really test for it that would have a worthwhile null hypothesis. 

Things We Know:

  • How Versatility affects the damage output,
  • How Voice of the Wild Gods and Ferocity of the Unseen Path affect the damage output.

Things We Don't Know:

  • How Haste effects the Cobra Spit intervals,
  • How Haste effects the duration of Cobra Spits per cast,
  • Which other Percent Damage Increase buffs will double their benefit for Spitting Cobras.
A few oddities solved, but not all of them.  And I have to admit, I'm a bit disappointed that I failed at figuring out all of the intricacies of how the ability is actually working. Perhaps I'll go get a beer or something and then take another look at it with a fresh mind later tonight.  

1 comment:


    afk drooling.

    from the pants.