As some of you might be aware of, I wrote a little program to compare and optimize equipment for WoW. wowequipoptimizer - Google Code
It started as a c# program to find close-to-optimal equipment for the enhancement shaman by means of genetic algorithms. As this method worked fine for other modelling problems, i.e. healing, the program was extended to support other classes and other builds. More features were added and it slowed down really bad.
So I ported the whole program to c++ with QT as the main UI library.
The new version is several times (between 20 and 40) faster than the old version and now includes several, previously impossible, additions like gem requirements for meta gems.
Now to the task at hand, in the original 1.0 version I basically tried to write mathematical models, which I use in this context as a synonym for closed-form expressions for the several classes and builds, by mainly asking other players and reading through different theorycraft threads. Obviously the resulting models are of vastly different quality.
So I'm asking the fellow theorycrafting community to help me out with a few things about their classes, pretty much the following questions for 2.3
Class:
Build:
Cast/Skill rotation: (which casts, how often, how long)
Notes: (everything, from special spelldmg calculations (like the old fireball time reduction) to mana usage
Important talents/skills
Set bonus: (which set bonus you like to have)
Additional proc items (with on cast/on use/on equip effects)
Talent point distribution, e.g. in which tree you'll need xx points for this model to work
Basically each and every proc item has to be modelled individually, some even individually for each model (like set bonus), to properly write a closed-form expression of a proc item, it is necessary to find the average value of that proc, so things like internal cooldown are necessary.
Basically the rotation should be your bred&butter rotation, nothing fancy which you do just once an hour, since the skill has cooldown then, but something you repeat over and over.
For example a good rotation would be: 4 Cast X, 5 Cast Y in 20s
Now dps is basically (4*castxdmg+5*castydmg)/20 multiplied with certain factors like misery for a shadow priest (please include those factors too if they are not obvious in the talent tree).
Usually I can figure out everything except for the right rotation, things like mana usage and other factors are mostly well documented in the different theorycraft threads
Very interesting! I've considered such a project for some time, but I'm glad to see I've been beaten to it.
Let's see here...
Class: Mage
Build: Deep Frost
Rotation: Er, spam Frostbolt?
Notes: mana consumption varies between flavor of build. Basically "deep frost" in this context only means the damage talents are all picked up; the 18 (ish) free points can be spent on mana talents in Arcane or additional snares and such in Frost.
Key Talents:
Imp. Frostbolt (2.5 second cast)
Elemental Precision (+3% hit, -3% mana cost - the actual hit benefit is in dispute, however)
Ice Shards (100% crit bonus)
Piercing Ice (+6% damage)
Empowered Frostbolt (brings the coefficient to 3/3.5*.95+.1 = .9143 in 2.3)
Additional procs: I personally stick to [Icon of the Silver Crescent] and [Scryer's Bloodgem], though I use [The Lightning Capacitor] frequently. Icon should boil down to 68.83 +damage in the long run, assuming perfect use, chaincasting during the cooldown. Scryer's Bloodgem is 32 hit rating passive and 25 +damage in the long run. Lightning Cap is more complicated: let B = 1+b*c, for b the crit bonus and c the crit chance. Let Bf be this value for Frostbolt and Bl the value for the Lightning Capacitor. Lightning Cap only crits for 50% bonus and uses your crit chance with all spells, so school or tree-specific crit chances are neglected. Thus, Bl/Bf is some number less than 1. Thus, the equivalent +damage would be 250*c/r*Bl/Bf, where r is the +damage coefficient. This can be easily extended to other spells and rotations. The actual DPS benefit, of course, is just 250*c/t. This is, however, neglecting the internal cooldown that the spell will have in 2.3. In this event, if the internal CD is between t and 2*t (2.5 and 5 seconds for unhastened Frostbolts, but note that these values shrink with haste), substitute c*(1-c/3) for c, which should account for the "lost" charge due to internal CD. In other words, the number of charges lost is based on how many casts occur during the CD period. If, for example, the CD were between n*t and (n+1)*t seconds, then c should be substituted with c*(1-c/3)^n, if I'm not mistaken. It's a bit of an on-the-spot theorycrafting, but I'd be happy to draw up the probability tables.
Now, this brings me to a question: is your program only meant to compare items, or is it meant to compare the relative values of stats as well? If only the former, then raw evaluation of the relevant functions should do fine. If you do the latter, however, how do you calculate these equivalences?
Cast/Skill rotation: This is where affliction gets a little harder to model; we have too many DoTs with too many different durations, and it's not quite the same as a cooldown because you can immediately recast it on a resist. We usually model it as each DoT requires so much of your cast cycle to maintain at 100% uptime, and the remaining portion (usually around half, depending on curse) gets dumped into as much shadowbolts as possible, and as much lifetaps/darkpacts as necessary. The particulars are in leulier's (another) warlock spreadsheet thread, but if you've already coded this far you can probably pick it up from there.
The spreadsheet is probably more flexible than you really need; assume any affliction build has SL and UA, and bane and improved shadowbolt. I put in some information towards the end of the thread on a closed-form (rather than iterative) solution to shadowbolt/lifetap frequencies, which should help improve performance. The main consideration is that a spell resist affects average cast time and average uptime for all DoTs.
Notes: Corruption and Curse of Agony have a 10% tax on their spell damage coefficient. Siphon Life and Drain Life have a 50% tax from being life-steal effects. There is much debate on whether or not immolate is worth casting; spreadsheets say it is but in practice its odd duration means it clips your shadowbolts or DoTs. Doom > Agony. Allow options for Shadows/Elements/Recklessness or a damage curse.
Remember that life-gain effects like potions, totems, and set bonuses affect our regen model.
Set and Proc items: It turns out that refreshing a DoT early will usually lose more damage than it gains. They don't affect our cast orders at all so +dmg procs can easily be modeled by dmg*uptime. On-Use cooldowns are usually saved for when the stars align and all four (or five) DoTs are due to be refreshed within the duration of the buff; 20-second durations allow you to get in two corruptions and UAs, barring resists. This does generally mean they are not used as soon as the cooldown expires and I can't help you with frequency.
T4 has good bonuses. T5 2-piece is for demo locks, and T5 4-piece is unaffected by spell damage. T6 has good bonuses.
Now, this brings me to a question: is your program only meant to compare items, or is it meant to compare the relative values of stats as well? If only the former, then raw evaluation of the relevant functions should do fine. If you do the latter, however, how do you calculate these equivalences?
Main functionality just evaluates the individual functions, there is a test function supporting equivalence calcuation, currently it works by comparing the different dps increases. Let's say 10 ap increase dps by 5 dps, 5 critrating by 1 dps, you can calculate the the individual equivalences.
This is still far from finished though.
Main functionality just evaluates the individual functions, there is a test function supporting equivalence calcuation, currently it works by comparing the different dps increases. Let's say 10 ap increase dps by 5 dps, 5 critrating by 1 dps, you can calculate the the individual equivalences.
This is still far from finished though.
Indeed, that's about what I expected. My only point was that some stats have nonlinear benefit, meaning in such cases, you wouldn't be able to say that it's a 1 DPS per 2 AP or .2 DPS per 1 crit rating relationship, for example. Not to say this is the case for AP and crit, only a general observation. Agility, for example, would have quadratic effects on DPS.
All in all you're probably better off sticking to evaluation of items; equivalence is a hairy subject.
While the effect of increasing stats that multiply eachother isn't linear, when you look at a small change of stats it's nearly linear.
For example if I do 100 DPS and get 1 more DPS with 1 more AP and can also get 1 more DPS from 1 more crit, getting both 1 AP and 1 crit would give me 1.01^2=1.0201 which is hardly any more than 102 DPS.
In general (1+x)^2=1+2x+x^2, and if x<<1 then x^2<<2x and then you can ignore the x^2 and say (1+x)^2~=1+2x. And when you compare items you pretty much always see differences that are <<1 (1 being your total current DPS).
Granted when you change stats by a large amount they may no longer be linear (such as agi), but in small amounts they're pretty damn close to being linear you can just ignore the multiplying effect.
Battle Shout: eats up a global (takes the place of a Hamstring) every two minutes, requires 10 rage.
Rampage: takes the place of a Hamstring every 30 seconds, requires 20 rage to activate.
Heroic Strike: Whenever rage generation allows for it; 15 rage untalented. Not on the GCD.
Hamstring = 63, used to proc Flurry and on-hit effects, requires 10 rage
Heroic Strike (on next swing) = MH Weapon Damage + WeaponSpeed*AP/14 + 208, requires 15 rage untalented
Windfury Totem modelling is a must.
33 Agility = 1% Crit
5. Important Talents:
Improved Heroic Strike: Reduces the rage cost of Heroic Strike by 3 points, making it cost 12 rage.
Cruelty: Increases crit chance by 5%.
Unbridaled Wrath: Gives a weapon speed-normalized chance to generate 1 Rage on an auto attack. I'm not sure on the actual percentages.
Commanding Presence: Increases the effectiveness of Battle Shout by 25%.
Dual Wield Specialization: Increases damage dealt by offhand from 50% to 62.5%.
Weapon Mastery (replaces Improved Intercept in 2.3): Reduces dodge chance of your opponent by 2%.
Flurry: Increases attack speed by 25% for 3 swings after a crit.
Precision: Increases chance to hit by 3%.
Bloodthirst: Previous section.
Improved Whirlwind: 1 point in this talent. Reduces the cooldown of Whirlwind to 9 seconds, which allows for the 18 second skill rotation.
Improved Berserker Stance: Increases total AP when in Berserker Stance by 10%.
Rampage: Not easy to summarize, so here: Warrior goes on a rampage, increasing attack power by 50 and causing most successful melee attacks to increase attack power by an additional 50. This effect will stack up to 5 times. Lasts 30 sec. This ability can only be used after scoring a critical hit.
17/44/0 Specific
Anger Management: +1 rage every 3 seconds.
Deep Wounds: DoT effect that deals 60% of your mainhand swing's damage over 12 seconds after a melee crit. It starts dealing damage at second 3--so if you crit within 3 seconds of the DoT application, the 3 second countdown will reset. Does not stack.
Impale: Increases damage done by special attack critical strikes by 10%.
3/58/0 Specific
Improved Execute: Reduces the rage cost of Execute by 5, making it cost 10 rage.
Improved Berserker Rage: Takes one global every 30 seconds. Generates 10 rage when Berserker Rage is used.
6. Set bonuses
PvP Gloves: -3 rage to Hamstring
2pc T6: -3 rage to Execute
4pc T6: - 5% more Bloodthirst damage
7. Additional Proc Items: Admittedly I'm really not familiar with many of the following items.
Ren, just to clarify: that's for DW fury only, right? A 2H spec would play differently, with a slam rotation and favoring WW over bloodthirst, if I understand correctly.
Battle Shout: eats up a global (takes the place of a Hamstring) every two minutes, requires 10 rage.
Rampage: takes the place of a Hamstring every 30 seconds, requires 20 rage to activate.
Heroic Strike: Whenever rage generation allows for it; 15 rage untalented. Not on the GCD.
Hamstring = 63, used to proc Flurry and on-hit effects, requires 10 rage
Heroic Strike (on next swing) = MH Weapon Damage + WeaponSpeed*AP/14 + 208, requires 15 rage untalented
Windfury Totem modelling is a must.
33 Agility = 1% Crit
5. Important Talents:
Improved Heroic Strike: Reduces the rage cost of Heroic Strike by 3 points, making it cost 12 rage.
Cruelty: Increases crit chance by 5%.
Unbridaled Wrath: Gives a weapon speed-normalized chance to generate 1 Rage on an auto attack. I'm not sure on the actual percentages.
Commanding Presence: Increases the effectiveness of Battle Shout by 25%.
Dual Wield Specialization: Increases damage dealt by offhand from 50% to 62.5%.
Weapon Mastery (replaces Improved Intercept in 2.3): Reduces dodge chance of your opponent by 2%.
Flurry: Increases attack speed by 25% for 3 swings after a crit.
Precision: Increases chance to hit by 3%.
Bloodthirst: Previous section.
Improved Whirlwind: 1 point in this talent. Reduces the cooldown of Whirlwind to 9 seconds, which allows for the 18 second skill rotation.
Improved Berserker Stance: Increases total AP when in Berserker Stance by 10%.
Rampage: Not easy to summarize, so here: Warrior goes on a rampage, increasing attack power by 50 and causing most successful melee attacks to increase attack power by an additional 50. This effect will stack up to 5 times. Lasts 30 sec. This ability can only be used after scoring a critical hit.
17/44/0 Specific
Anger Management: +1 rage every 3 seconds.
Deep Wounds: DoT effect that deals 60% of your mainhand swing's damage over 12 seconds after a melee crit. It starts dealing damage at second 3--so if you crit within 3 seconds of the DoT application, the 3 second countdown will reset. Does not stack.
Impale: Increases damage done by special attack critical strikes by 10%.
3/58/0 Specific
Improved Execute: Reduces the rage cost of Execute by 5, making it cost 10 rage.
Improved Berserker Rage: Takes one global every 30 seconds. Generates 10 rage when Berserker Rage is used.
6. Set bonuses
PvP Gloves: -3 rage to Hamstring
2pc T6: -3 rage to Execute
4pc T6: - 5% more Bloodthirst damage
7. Additional Proc Items: Admittedly I'm really not familiar with many of the following items.
Just some comments, I agree with most of the above.
- As PSGarak pointed out, it's only for DW.
- I'm not sure it's optimal to use Hamstring at every cd any longer (it was when it procced WF), it has added threat (181) and does almost no damage (63). HS has better threat and rage efficiency than Hamstring.
Adding to this, using Hamstring at every cd WILL make you miss BT and WW's when they come off CD, we don't play with zero latency and 0 reaction time.
edit: most of the theorycrafting and modeling of warrior builds and gear can be found in the DPS warrior spreadsheet, current one by DrAllcom, it might be good to check and compare with the result you get Tornhoof.
3. Cast/Skill rotation: (which casts, how often, how long) Lightning Bolt x3 (2.0), Chain Lightning x1 (1.5)
4. Notes: (everything, from special spelldmg calculations (like the old fireball time reduction) to mana usage
Lightning bolt coefficient: .794 (assumed, this is in testing atm)
Chain Lightning: .640 (also assumed)
5. Important talents/skills
Elemental Tree:
Concussion: 5% increased damage on Lightning Bolt, Chain Lightning, Shocks
Convection: 10% reduced mana on LB, CL, shocks
Call of Thunder: Increased Crit on LB/CL by 6%
Elemental Fury: Decreased the mana cost of your next two damage spells by 40% on spell crit (effective for 2.3)
Elemental Fury: Increased crit damage on all Fire, Frost, Nature spells by 100%
Elemental Precision: Increased chance to hit by 6% (and reduced threat by 10%, if you are modeling threat)
Lightning Mastery: Reduced LB/CL cast time by .5 seconds (already factored into rotation)
Unrelenting Storm: Increased mana/5 by 10% of intellect
Elemental Mastery: Next spell cast has 100% chance to crit (3 min CD)
Lightning Overload: 20% chance to proc a similar Lightning Bolt or Chain Lightning equal to 50% damage.
Totem of Wrath: Increases Chance to Hit/Chance to crit by 3% Resto Tree:
Totemic Focus: Decreased mana cost of totems by 25% (optional talent)
Nature's Guidance: Increased chance to hit by 3%
Tidal Mastery: Increased Chance to Crit on LB/CL by 5% (3% in my build)
6. Set bonus: (which set bonus you like to have)
Netherstrike: +23 spell damage [Netherstrike Breastplate]
T4 2piece: Increases +spell damage on Wrath of Air by 20. (101 base)[Cyclone Shoulderguards]
T6 2piece: Increase 15 mana/5, 35 crit rating, 45 spell damage when all four totem schools are down.[Skyshatter Gauntlets]
8. Talent point distribution, e.g. in which tree you'll need xx points for this model to work
43/0/18, 41/0/20 is the cookie cutter, usually dropping 3/5 Unrelenting Storm (6% mana/5 from intellect) for 2% extra crit for LB/CL
Feedback time: The model for elemental shaman is way off.
We need 4% (3% if draenei) hit to reach the hit cap. Currently it's giving me ~10% after an optimisation, which means that The Skull of Gul'dam, Eye of Mag, and Nelth's Tear are the top three trinkets. These should not feature in the top 10. Neither should Ring of Unrelenting Storms be preferable to other rings (it's a trash kara ring, it's good, but not that good).
Also, the crit & haste rating values for spelldamage are off (1 haste rating should never be worth negative spelldamage, and the equiv values should be 0.8 dmg at least.
[e]And I'd recommend having a single column for the equiv values, rather than a series of them, to make it easier to enter values in.
3. Cast/Skill rotation: (which casts, how often, how long)
Of course, this really depends on the boss. Since 2.3 I spam more and more FoL and only keep Light´s Grace up(15sec).
However, here is a rotation with a few Holy Lights:
00:Flash of Light
01.5:Holy Light
04/05.5/06/07.5:FoL
09.HL
11.HL
13/14.5.FoL
4. Notes:
Both healing spells have the usual calculation (FoL 1.5/3.5; HL 2.5/3.5)
5. Important talents/skills
Divine Intellect: 10%more Intellect
Healing Light: 12% more Heal
Illumination: 60% mana back when crit
Divine Favor: 2min CD. Next spell is 100%critical
Holy Guidance: 35% of the Intellect=+Heal
Light´s Grace: 15sec after HL 2sec castime for HL instead of 2.5
Holy power: 5%crit
Sanctified Light: 6% HL crit
Divine illumination: 3min CD. 15sec mana cost reduced by 50%
Improv. BoW is already included I think.
6. Set bonus: (which set bonus you like to have) [Justicar Gloves]
4 pieces: Reduces the cooldown on your Divine Favor ability by 15 sec. [Crystalforge Gloves]
4 pieces: Your critical heals from Flash of Light and Holy Light reduce the cast time of your next Holy Light spell by 0.5 sec for 10 sec. This effect cannot occur more than once per minute. [Lightbringer Gloves]
2 pieces: Increases the critical strike chance of your Holy Light ability by 5%.
4 pieces: Increases the healing from your Flash of Light ability by 5%.
Neither should Ring of Unrelenting Storms be preferable to other rings (it's a trash kara ring, it's good, but not that good).
Also, the crit & haste rating values for spelldamage are off (1 haste rating should never be worth negative spelldamage, and the equiv values should be 0.8 dmg at least.
Hit problem is fixed, dumb programming error (used max instead of min for capping the hit at 99%), the trinkets are fixed now too (modelled sextant and silver crescent).
The unrelenting Storms ring is a funny problem, which is actually way deeper. The model is set to 600s, the optimal gear with extreme buffs (without sp) actually allowed the shaman to spam lb for 600s without break and that unrelenting storms ring (the crit) made the differnce. That's why it was that "good". This is a inheritant problem of the modelling system. The easiest way to bypass it is to either deselect some buffs (like mana potions) or add the Shadowpriest MP5 buff (this might change the equipment fairly much though, since without mana problems it will stack haste).
About the equivalence values, these are automatically calculated and read only (fixed that), negative values for mana dependent fights usually show that this attribute might actually lower your output due to the limited resource mana. These values are only for comparison (or internal use), it's not a feature ready for release tbh, since it simply does compare each used attribute in the model with every other used attribute and compares dps increase.
The resulting equipment without sp (with sp it uses some new spellhaste chest instead of t6) should be ok now.
That looks a bit better. Although mp5 is still valued too highly IMO.
There is no way that the Glyph of Renewal, Dazzling Gems, or restore mana (bracers) should be used, even without a shadow priest. Likewise, Netherstrike belt shouldn't be showing up on an optimisation either.
That looks a bit better. Although mp5 is still valued too highly IMO.
There is no way that the Glyph of Renewal, Dazzling Gems, or restore mana (bracers) should be used, even without a shadow priest. Likewise, Netherstrike belt shouldn't be showing up on an optimisation either.
That is just model specific, if you consider a 10 minutes fight the ideal gear is nuking without regeneration, that's why it uses mp5 gems and also the netherstrike belt. That's why you can also select SP as a buff and get "I don't care about fight length" gear. Sooner or later there will be some config options to set fight length etc. but as for now this is rather a feature than a bug. As for gear optimization for a nuker I would always consider the proper group composition, e.g. activating the SP.
The MP5 value displayed in the attributes is fully buffed incl. Mana potion usage (aka 100MP5),
Typical Feral DPS rotation is:
* Wait for 80+ energy (skip this on initial contact)
* Rip (skip this on initial contact)
* Mangle
* Shred to 4 or 5 cp
* Repeat
Notes:
The Feral DPS rotation has a few variable factors, and this will affect the actual rotation and how it is carried out. Following values are assuming most common talents.
Rip: 30 energy cost, DoT finisher that requires combo points (cp), lasts 12 seconds
Mangle: 40 energy cost, non-positional instant special that generates 1cp
Shred: 42 energy cost, positional instant special that generates 1cp
Ferocious Bite: 35 energy cost, instant finisher that requires cp, drains all energy beyond the initial requirement of 35 and converts it to damage (used only in special circumstances)
Mangle has a debuff attached to it, that makes the target take 30% extra damage from bleeds and Shred. Therefore, it is applied immediately following the Rip from the previous cycle (before said Rip has had a chance to tick). It is also applied with a decent bank of stored energy (80+ minus the Rip cost) so you can fit in as many Shreds as possible after its application. The goal here is to minimize Mangle usage (1 per cycle ideally), as it is not as energy efficient or time efficient a method of delivering damage as Shred is.
All viable Feral builds will include a talent that gives 2 cp instead of 1 if an instant special crits. Therefore, depending on how many of the instant special attacks in any given cycle crit, and whether Omen of Clarity procs, the Druid might opt to go for a 4cp Rip instead of 5cp. Rip scales with attack power, and the scaling is same for 4cp and 5cp Rips (just the base damage changes), so 4cp Rips are quite usable if you're unable to generate 5cp for any cycle.
Of note is the fact that a finisher that fails to connect (miss, dodge, parry) consumes all energy, whereas cp generating instant specials that fail to connect will refund 80% of the energy, they are commonly modeled as "costing" 8 energy and 1 GCD (GCD for Cats is 1 second).
Ferocious Bite is only ever used if: a) the mob is bleed immune (Hydross, VR and the like) AND b) the Druid has < 42 energy AND c) Ferocious Bite will outdamage their Shred. In cases where c) is unlikely, the Druid will just continue to Shred instead of using a finisher (thereby wasting cp). Ferocious Bite also scales with attack power.
I assume you'll look up the values, scaling etc yourself =x
Finally, powershifting. Powershifting is a technique Druids use to exploit the Furor talent. Furor (at 5/5) has a 100% chance to refund 40 energy every time the Druid shifts to Cat Form. So, all the Druid needs to do is shift to Caster Form, and then back to Cat Form for a free 40 energy. Post patch 2.3, shifting to Caster Form is a client side check, so it's possible (using macros, or the autounshift flag) to powershift literally instantly, shifting to Caster Form incurs no GCD, but shifting back to Cat Form does.
In an actual combat cycle powershifting could be utilized at any time the Druid has very low energy (to minimize energy loss, we lose all energy when shifting to caster form). Since patch 2.3, I'm pretty sure worst case = average case = best case = a net gain of (40 - x) energy, where x is the energy you had prior to the powershift.
Powershifting is also limited by the Druid's mana, I think a typical raid buffed Druid has ~6k mana, and each shift into Cat Form requires a hefty mana investment. There is a talent that reduces shapeshifting cost by up to 30% but it's not common.
Important talents/skills:
See the "Talent point distribution" section.
Set bonus:
2T4 is the big one for Cats, 4% chance to generate 20 energy. This works on autoattack and specials (pretty sure it procs on finishers). This adds another layer of variability to the model. It is commonly believed the power of this set bonus can last you well into tier 6 content, where it becomes superceded by the 4T6 bonus.
4T5 is +75 damage to Shred, which is not inherently terrible, it's just that you need to give up 2T4 for it, which is a poor trade. You can model is like the Everbloom Idol (below) but more as a proof of "don't go 4T5 over 2T4 for DPS" than anything.
2T6 is -5 Mangle cost, which is also ok, it'll save you a bit of energy in the long term, but the fact that Mangle is used only once per cycle keeps it grounded.
4T6 is +15% Rip damage, and is considered the reason to drop 2T4.
Some Druids may choose to drop 2T4 earlier as it adds an element of variability and uncertainty in the DPS cycle, and which may result in wasted procs (e.g. having it proc right as you powershift = wasted, having it proc when you go above 80 while waiting for the next cycle = wasted).
Additional proc items:
All the common melee proc trinkets would apply here, Hourglass of the Unraveller, Darkmoon Card: Crusade, Tsunami Talisman, Madness of the Betrayer, Dragonspine Trophy; as well as the clickies, Bloodlust Brooch, Crystalforged Trinket etc. Our SSC trinket, Living Root of the Wildheart, is terrible.
We don't get proc enchants (Crusader, Mongoose, Executioner), or Windfury totem.
Putting Idols in here, the 3 worth considering:
Everbloom Idol is +88 Shred damage, and is still the best personal DPS Idol. It's estimated that +88 Shred damage is equivalent to adding ~450 or so (?) attack power (to Shred alone of course), so it's quite nice.
Idol of the Raven Goddess is +0.4% crit to everyone in the party (via the LotP aura). In a full melee group, the increase in raid DPS is estimated to be roughly equivalent to the personal DPS increase you get from using Everbloom Idol.
Idol of Terror is 65 Agi for 10s, 85% proc chance on Mangle. Once again, due to Mangle being used minimally, this loses value for DPS. Not nearly as good as Everbloom Idol.
Talent point distribution:
x/4x/1x is pretty much essential. You need 40+ in Feral for Mangle, you need 10+ in Resto for Omen of Clarity. I believe Talent Calculator - World of Warcraft is a good template (as posted in the Feral Druid Megathread) to begin from, and contains all the vital talents. The rest are more preferential than anything.
Regarding melee dps trinket procs, it currently says that for a warrior, tsunami talisman was better than madness of the betrayer. After a glance at your modelling for the relevant trinkets, I've found that some of them seem to be a bit out of line.
DST really procs more than once every minute, since its internal cooldown is only about 25 seconds. 1.5 ppm seems more accurate to me, which averages out to 81.25 passive haste rating. Yes, even after the nerfs it's still the best trinket in game.
The Tsunami Talisman on the other hand seems to be a little overvalued here. With 45 seconds cooldown it procs only like once per minute, so the 75.6 AP are definitely too high. 56.67 average should be more in line with its actual proc rate.
That is just model specific, if you consider a 10 minutes fight the ideal gear is nuking without regeneration, that's why it uses mp5 gems and also the netherstrike belt. That's why you can also select SP as a buff and get "I don't care about fight length" gear. Sooner or later there will be some config options to set fight length etc. but as for now this is rather a feature than a bug. As for gear optimization for a nuker I would always consider the proper group composition, e.g. activating the SP.
The MP5 value displayed in the attributes is fully buffed incl. Mana potion usage (aka 100MP5),
What's the mp5 value for a spriest anyway? Might run it through my own fight model to see what differences are there.
I have attempted to solve the same problem (though didnt expect to scope all classes just enhancement). IMHO the math model for enhancement (cant tell for other classes) is very complicated.
What makes it complicated? How the wf cooldown will interact for both weapons when DW, specially when you start combining flurry charges, different weapon speeds, haste procs, big etc. Not saying it cant be modeled, just saying that its hard as hell and therefore hard to verify its correct.
Imho the best approach to this is a brute force approach, basically setup the demo character and force combat for several minutes (to force averages on long term). Why i am saying this? well mainly and most importantly because we know most if not all the factors in play for hit table formulas so simulating actual combat for long periods of time becomes trivial. It also becomes very hard to mess up, and if we do its fairly easy to track the mistake.
I made a preliminary version of this program in C# and are also suffering from performance issues though it is kinda expected, it currently takes me 1 minute to average to 2 dps error but it can certainly be improved by a ton, its been a while since i did critical c++ apps but i am sure i can do it. However since only like 3-4 ppl i know actually tried and showed interest in it, i never did a version for 2.3 nor did i add the new enchants, etc.
I was also attracted to the idea of building it in C# for an easy way to make an asp.net web interface alternative for the ppl too scared of keyloggers to run a standard application.
If this approach interests you, send me a pm, i can lend you a hand.
Regarding melee dps trinket procs, it currently says that for a warrior, tsunami talisman was better than madness of the betrayer. After a glance at your modelling for the relevant trinkets, I've found that some of them seem to be a bit out of line.
DST really procs more than once every minute, since its internal cooldown is only about 25 seconds. 1.5 ppm seems more accurate to me, which averages out to 81.25 passive haste rating. Yes, even after the nerfs it's still the best trinket in game.
The Tsunami Talisman on the other hand seems to be a little overvalued here. With 45 seconds cooldown it procs only like once per minute, so the 75.6 AP are definitely too high. 56.67 average should be more in line with its actual proc rate.
Thanks for the info, i will change that in the source
Originally Posted by Binkenstein
What's the mp5 value for a spriest anyway? Might run it through my own fight model to see what differences are there.
It is set to 250 MP5, which is the Mana regen for a 1000 DPS Shadow Priest.
Originally Posted by Abrojo
Hi there,
Imho the best approach to this is a brute force approach, basically setup the demo character and force combat for several minutes (to force averages on long term). Why i am saying this? well mainly and most importantly because we know most if not all the factors in play for hit table formulas so simulating actual combat for long periods of time becomes trivial. It also becomes very hard to mess up, and if we do its fairly easy to track the mistake.
If this approach interests you, send me a pm, i can lend you a hand.
You might want to post that into the Enhance Shaman class thread, my program needs a closed form expression, since it is basically evaluating several thousand (~20000) different equips per second to find the optimum.
My closed form expression of the enh shaman is fairly good atm, <5% deviation from ingame tests.