To dedmonwakeen :
Before everything else, i want to thank you for this excelent tool named simcraft which takes the optimal way to have a good theorical DPS by simulating thousand of fights with a rng.
There is some little issues in the way some calculations are done for warlocks, so i'm gonna post here what i found.
My character stats on the PTR at lvl 70 :
1350 spell power with fel armor (208 spirit with felhunt)
54 shadow spells
149 hit rating (11.81%)
21.51% crit
370 haste rating (23.46%)
Every single test was done against a lvl 60 or 70 target dummy, that's why i'm at only 11.81% hit (i swapped some items)
- No spell stone used
- felhunter out but not attacking
- fel armor up (+spell damage already included in the previous stats)
- no potion/flask/buffs
- no other debuff on the target than mines
I intentionally lowered my stamina/intellect, because it seems a buff is automatically applied to them.
So my sta/inte/spi/crit%/hit%/haste%/spell_power perfectly match the ones in the results.txt
Corruption
In your code you wrote : tick_power_mod = 0.93 / num_ticks;
Untalented (0/0/0) my corruption does 2214 damage instead of the ~2206.
Conclusion : The multiplier seems to be 0.936 as written on wowwiki (Spell damage coefficient - WoWWiki - Your guide to the World of Warcraft)
In your code you multiply the corruption damage by (shadow_mastery + contagion) * (improved_corruption)
after maxing improved corruption and empowered corruption, corruption is ticking for 498,6 damage (more 499 than 498 ticks)
after maxing shadow mastery too, my dot is tiking for 544 instead of 548-549
Conclusion : every + damage for corruption are additive (verified for contagion too) : base_multiplier = (shadow_mastery + contagion + improved_corruption)
Malediction is a final player multiplier as already taken into account
Immolate
The base direct damage is 331-332 damage instead of 327 (as written on the spell tooltip itself)
This spell direct damage on the ptr is modified by both Shadow Embrace and Haunt (bug ?)
Instead of getting 700 direct damage with CoE up, i get 924
Improved Shadow Bolt
As already stated, it does not increase DoT's damage, only direct damage spells (at least SB and Haunt from my tests)
Siphon Life
In your code, the siphon life glyph is a final base_multiplier
With everlasting_affliction and shadow mastery my siphon should tick for (0.15*1404+63)*1.1*1.03 ~= 310, which is exactly the case
With the glyph on siphon life, it should tick for 310*1.2 = 372 but only ticks for 366-367.
If we make shadow mastery + glyph of siphon life additive, it gives us (0.15*1404+63)*1.(0.1+0.2)*1.03 = 366,3504
Conclusion : shadow mastery + glyph of siphon life are additive
Soul Siphon
Currently Soul Siphon seems to be bugged for both drain life and drain soul, i'm finding a +4.9% damage per affliction instead of 4%, but i cannot test if the max limit is still 15 affliction debuff or a flat 60% (12 debuff)
Maybe there are some other mistakes for demonology or destruction, but i didn't get to test them for hours, as most of the damaging abilities are based on ranged damage, and would require a lot of casts with some statistics.
There is another thing which seems a little strange : the theorical dps is ~5% lower than the one i really get on those target dummies, while my damaging habilities are a little lower than the ones calculated in the results.txt (because haunt is not 100% uptime, but 99%)
I ignored the pandemic damage of course (1 dmg per proc on 1hp targets), and leveled the possible crit deviation (30% crit instead of 21.5 = x damage to ignore)
I will do further test to confirm this.
One word for the different spec i tested on ptr : affliction really does some sick dps, while destruction is pretty disapointing (and demonology even more it seems, but i'm gonna test it more later).
With fel armor and my spellstone, i'm doing 1950-2000 dps without coa, averaged on multiple 4-5mn fights, not counting the pet nor the 0dps pandemic, with a 280-330 ping.
The felhunter is doing 130dps, pandemic 130-150, which would gives ~2250 dps without coa (which does 250 dps with coe -> ~2500dps), only self buffed, no flask/potion, without any debuff on the target appart my own coe. That's a rather impressive up !
My test in destruction with an immo->chaos->inci*x->conflag with coa and corr up get me to a maximum of 1700-1800dps, without coe and in 1mn-1mn30 fights limiting the number of lifetaps. The imp is doing 150 dps (without coe too). This would give me a 2150dps with coe up.
My belief is that destruction would benefit a lot more in a raid, by having a minimum spirit to get some decent lifetaps and mana regen.