DrDamage
Update 05/24/2013
DrDamage is currently being developed for 5.x. Only monks (of any spec) are not supported. All classes which existed prior to Mists are supported.
Current state: Check the http://www.wowace.com/addons/dr-damage/pages/known-issues Page before providing feedback!
DrDamage displays the calculated damage or healing of abilities with talents, gear and buffs included on your actionbar buttons. The addon also adds various statistics to the tooltips in your spellbook and on the actionbar.
Slash Commands:
/drd or /drdmg or /drdamage
Localization:
If you want to help having this addon translated into your language visit: http://www.wowace.com/projects/dr-damage/localization/
Functionality:
- Supports all classes
- Actionbar addons supported: Default, Bartender 4, CT_BarMod, Dominos, elvUI, Macaroon, Nurfed AB, IPopBar, nUI, ReAction Bars and RDX.
- Places text with the metric of your choosing on the actionbar buttons.
- Damage and healing statistics are placed into your tooltips. This includes for example critical hit chance, spell damage and damage coefficients, averages, DPS, DPSC (damage per seconds cast), damage until OOM and more!
- Your own buffs and your target's debuffs are taken into account.
- Allows manual modification of the essential talents, buffs and character stats used to calculate. For example you can test how much increasing your spellpower by 100 would increase your damage or healing output.
- If you're overwhelmed by the amount of statistics presented, you can use the options reduce the amount to whatever you feel is important!
Known Issues Please see the Known Issues page before opening a ticket.
Bug reports:
- NOTE: DETAILED reports about inaccuracies is the only way we'll know something is wrong. If you don't report it, don't expect it to get fixed!
To submit a bug report, please visit this page first: Mod Feedback This will tell you what we expect and how we need it in order to help you.
Acronym/abbreviation list:
- AP = Attack Power
- RAP = Ranged Attack Power
- SP = Spell Power
- Ht = Hit rating
- Cr = Critical strike rating
- Exp = Expertise rating
- Ha = Haste rating
- Ma = Mastery rating
- HPS/DPS = Healing/Damage Per Second
- HPSC/DPSC = Healing/Damage Per Seconds Casted
- HPSCD/DPSCD = Healing/Damage Per Seconds CoolDown
- HOOM/DOOM = Healing/Damage (until) Out of Mana
- HPM/DPM = Healing/Damage Per Mana
- DPE = Damage Per Energy
- DPF = Damage Per Focus
- DPR = Damage Per Rage
- DPRP = Damage Per Runic Power
- MPS = Mana Per Second (How much mana the spell uses per seconds casted)
- GCD = Global CoolDown
- General
- Added function to catch nil spellID's in case Blizzard decides to change any in coming patches
- Restored the old functionality of returning text from the CheckAction function for 3rd party addon support
- Improved support for LunarSphere
- Druid:
- Added Lunar Guidance, Starlight Wrath, Celestial Focus, Master Shapeshifter, Naturalist, Natural Perfection and Gift of the Earthmother to manually modifiable talents
- Added Improved Tranquility
- Corrected Starfall coefficients
- Rogue:
- Fixed bug affecting Rogues that occurred when a target went from unpoisoned to poisoned or vice versa causing only Mutilate to get updated and not Envenom for example
- Mage:
- Added Mind Mastery and Netherwind Presence to manually modifiable talents
- Fixed possible nil error with Summon Water Elemental calculation
- Warlock:
- Fixed Molten Core to apply to Soul Fire
There are two challenges that I can see to making this work. One, how do you know what ability to base the calculations off of when mousing over the item. Two, how do you take into account the various stat value changes that would be by equipping the gear without actually equipping the item.
With regards to the first challenge, you could statically pick a particular ability for each given class and spec; any direct damage ability would probably work reasonably well. Another option would be to allow the user to pick the particular ability to base the calculations off off. You could also take it a step further and use several of a particular class and spec's core abilities displaying calculations for each ability.
The second challenge, to me anyway, seems that simpler of the two deal with as fairly simple additive math and comparative ratios are all the would be required to calculate the "equipped" stats for the new gear without equipping the item. I could go into more detail with sample math if needed, but won't for now to avoid the huge wall of text that would be required to explain it more thoroughly.
The first challenge is something that would probably need to be user selectable, but allowing a complete rotation would be better.
The second challenge isn't that big of a problem, Blizzard has a function in place that allows stat comparisons of two items. It doesn't work perfectly but it would be a good start.
The third but perhaps the biggest issue is that DrDamage doesn't handle manually several stat conversions, like Agi/Str to AP/RAP/BV/Crit or Int/Spi to SP and regen (if the character has talents that do so). This is due to Blizzard API automatically calculating these for equipped items, which makes my work a lot easier. So those conversions would need to be added. Pure SP/AP and crit/hit/ArP/expertise/haste ratings on the other hand are already handled.
Adding this to the main project is too much work for me, considering I don't even play the game any longer. On the other hand, this would be an excellent addition if anyone were to make a plugin for this purpose. If someone else would be willing to do the main part of the work I could assist in the process. DrDamage in fact already has functionality in place to feed custom values to the calculations, and it could be expanded if needed with quite minor work. One could also create a rotation builder, and get all the calculation information needed from DrDamage for rotational DPS simply by getting the total damage of each ability and dividing by rotational time. This number could be compared with the new item to get you a rotation DPS delta value.
The only problem with this is to find someone willing (and experienced in theorycraft/Lua) to tackle the project. Ideas are great and all but someone needs to work their ass off to actually get it done. If I was to help with such a project, it has to be done properly as I don't like half-assed implementations.
In general as you may have noticed I haven't added talents to the manually modifiable list that are handled through the blizzard API (i.e. changes are visible on the character screen) due to better accuracy, simpler code and the simple fact that it's easier to maintain. Obviously Lunar Guidance is a crucial talent what would be interesting to include, but it's always extra work and testing for a feature that isn't going to be used by all users.
Since you requested nicely, I'll consider adding it but I won't make any promises :)
Question:
Is is possible to add Lunar Guidance to modify talents for druids? I love using the add-on before hand to figure out numbers for builds I want to do and would be really nice to have this talent included.
Thanks!
* Fixed Life Tap calculation (still needs some work, but it should be correct on level 80 players)
* This should fix Deadly Poison to apply to Envenom properly again
- General:
- 3.3.3 changes
- Hermorrhage damage bonus is now correctly mitigated by armor
- Added Strength of Wrynn and Hellscream's Warsong
- Simplified options for target level selection; it's now either current target level, +1, +2 or +3. There's no real need to have options for -4 to +10.
- Clarified target armor options as well; choices are automatic/manual (uses known armor values for bosses and training dummies, plus manual value for the rest), boss (always asumes boss armor), manual (uses manually set armor) and none (no armor is taken into account).
- Fixed an issue in the Russian client where the priest skill Vampiric Embrace was mistaken for Embrace of the Vampyr (-100% healing) due to identical translations
- Melee hit calculation now properly increases hit chance for targets of lower level than you (if current target level option is selected)
- Improved compare stats options by enabling them in the melee module and improved the tooltip implementation to be slightly cleaner. Also added expertise and armor penetration ratings into the comparison.
- Armor penetration rating is now also displayed in the tooltip +1% damage increase comparison and optionally as a +1% ArP increase value
- Disabled the +10 SP/AP, +1% crit/hit/arp etc. display by default since it has grown rather large
- Added icons instead of names into the tooltips of certain abilities with extra effects to make the tooltip more compact
- Added new actionbar display types for spells: Min crit, max crit, average crit
- Added new actionbar display type for melee/ranged: Average, Average Hit + Extra, Max Total and to the secondary display DPS and DPSCD for abilities that have such in the tooltip.
- Improved extra effect display: Now uses the format Avg (Min-Max)
- Allow damage absorption spells to benefit from Strength of Wrynn/Hellscream's warsong
- Enabled a limited buff calculation for certain special abilities. The aura calculation was disabled earlier due to not actually benefitting from that many buffs (Life tap, dark pact, all elemental wards, mana shield, ice barrier)
- Allow the user to disable the first actionbar text, but display the second
- Add cast time to the first spell display type selection due to request
- Melee crit cap calculation now takes into account that crit depression can be overcome with more crit
- Added option for target mitigation % in addition to select target armor. The options are mutually exclusive.
- Now rounds tooltip dodge and parry values
- Death Knight:
- 3.3.3: Added Frost Fever to Chains of Ice.
- 3.3.3: Added Glyph of Chains of Ice.
- 3.3.3: Scourge Strike weapon damage increased to 70%, base damage increased, disease bonus decreased to 12% per disease.
- 3.3.3: Nerves of Cold Steel increased to 8/16/25%.
- 3.3.3: Rune of Razorice now increases damage 2% per application
- Fixed Sigils to apply correctly to off-hand strikes with Threat of Thassarian (no off-hand penalty for the Sigil bonus and it's increased by Nerves of Cold Steel)
- Fixed error when unequipping main-hand before off-hand with the talent Blood-Caked Blade
- Black Ice now correctly applies to Blood Plague
- Runes of Razorice and Lichbane are now calculated into all strikes
- Rune of Razorice doesn't seem to benefit from its own debuff, but benefits from Cinderglacier and Black Ice
- Druid:
- 3.3.3: Starfall base damage and coefficients increased
- 3.3.3: Starfall glyph damage bonus reduced from 20% to 10%
- 3.3.3: Added Glyph of Mangle (+10% damage)
- Check for dire bear and bear buffs instead of shapeshift form index for Faerie Fire (Feral)
- Hunter:
- 3.3.3: Ferocious Inspiration now also increases Steady Shot Damage
- Mage:
- 3.3.3: Glyph of Fireball changed to -0.15s cast time. Frostbolt snare penalty removed
- 3.3.3: Torment of the Weak and Empowered Fire applies to Pyroblast
- Paladin:
- Fixed Sacred Shield incorrectly getting mortal strike penalty and bonus from Divinity. Also slightly adjusted Sacred Shield coefficient.
- Priest:
- 3.3.3: Added new 4T10 healing priest bonus
- Focused Power now also seems to increase Glyph of PW:S heals on targets other than yourself
- Corrected error with PW:S average Divine Aegis calculation
- Slightly adjusted Lightwell coefficient. Lightwell benefits now from Focused Power and Blessed Resilience, but they're additive unlike on other abilities.
- Rogue:
- 3.3.3: Ghostly Strike Weapon Damage is now 180% with dagger and Hemorrhage 160% with dagger.
- 3.3.3: Rupture can crit. 2T8 is now 20% damage to Rupture.
- 3.3.3: Serrated Blades is now 3/6/9% armor penetration
- Added Focused Attacks, Surprise Attacks (dodge part) and Relentless Strikes talents
- Fixed Lethality to apply to Riposte
- Fixed Master of Subtlety double stacking
- Fixed Mutilate to correctly benefit from poison damage increase
- Fixed Glyph of Garrote calculation
- Fixed Eviscerate AP Bonus (Blizzard tooltip is wrong for the minimum damage)
- Fixed Deadly Throw to correctly use ranged weapon base damage
- Fixed Opportunity to give correct bonus
- Fixed Rupture crit modifier in conjunction with poisons
- Ambush, Garrote and Shiv apparently cannot be dodged or parried
- Shadowstep doesn't benefit Gouge, Shiv, Deadly Throw and Fan of Knives
- Fan of Knives it not normalized
- Sinister Calling is in fact multiplicative and applies to base damage as well unlike the tooltip suggests
- Shaman:
- 3.3.3: Flame Shock dot can now crit and is affected by haste. Glyph of Flame Shock changed to 60% increased crits from Flame Shock.
- 3.3.3: Shaman 2T8 Elemental is now 20% to flame shock dot
- Added metagem crit bonus to Frostbrand and Flametongue
- Removed earthliving weapon from HST tooltip
- Warlock:
- 3.3.3: Immolate dot can now crit. Life Tap no longer gains from Spirit.
- Added tooltip for Dark Pact
- Added Glyph of Shadowburn
- Added Glyph of Imp
- Added Firebolt, Lash of Pain and Shadowbite calculation and their talents.
- Demonic Pact is now multiplicative.
- Added Immolation Aura and Shadow Cleave
- Warrior:
- 3.3.3: Revenge buffed by 50%
- 3.3.3: Improved Revenge is now 30/60% increased damage and adds an extra hit to an additional target for 50/100% damage.
- 3.3.3: Thunder Clap now crits for 200%
- Improved Deep Wounds/Sword Specialization calculation
- Improved Shield Slam diminishing returns calculation
- Devastate is now calculated automatically with one stack more Sunder Armor than is on the target since it's applied before the hit lands
- Fixed Sudden Death
- Fixed Mace Specialization incorrectly applying to one-handed axes
- Fixed how Impale and Poleaxe Specialization applies to Thunder Clap
- Fixed Poleaxe specialization to correctly stack with Impale
- Fixed Execute rage bonus calculation
- Added Glyph of Blocking
- Added ticks display to Rend
- Added Weapon Mastery talent
First, the suggestion. For armor, would it be possible to have a percentage option again as another choice instead of inserting a manual value? For leveling it gets annoying to change values as I level, a straight percentage would be useful.
Next, the error:
On my shaman, after learning Riptide, I get:
Date: 2010-03-19 18:17:12
ID: 1
Error occured in: Global
Count: 1
Message: ..\AddOns\DrDamage\Data\Shaman.lua line 141:
attempt to perform arithmetic on local 'ospd' (a nil value)
Debug:
(tail call): ?
(tail call): ?
DrDamage\Data\Shaman.lua:141: ?()
DrDamage\Melee.lua:767: MeleeCalc()
DrDamage\DrDamage.lua:2522: CheckAction()
DrDamage\DrDamage.lua:2447:
DrDamage\DrDamage.lua:2435
DrDamage\DrDamage.lua:2426: UpdateAB()
DrDamage\DrDamage.lua:2137: UpdateTalents()
DrDamage\DrDamage.lua:520:
DrDamage\DrDamage.lua:429
(tail call): ?
[C]: ?
[string "safecall Dispatcher[2]"]:9:
[string "safecall Dispatcher[2]"]:5
(tail call): ?
...face\AddOns\Titan\libs\AceTimer-3.0\AceTimer-3.0.lua:164:
...face\AddOns\Titan\libs\AceTimer-3.0\AceTimer-3.0.lua:138
Thanks again for your time!
Regarding the suggestion: The fixed enemy armor value is easier and more precise to use in calculations, particularly concerning armor penetration and previously a few talents (Serrated Blades changes with 3.3.3). That was the reason for the change in the first place. But I'll think about adding the old option in addition to the newer one. It's a bit more complex, but I'll see if I have time to do it.