Damage over time can't crit and can't overpower; a direct hit can. Most builds do both, a Firewall Sorcerer burns with Firewall and crits with Charged Bolts, so each skill is weighed separately and the result is blended by how much of your damage each one does. Share is relative: 60 and 40 means the same as 6 and 4.
The game already says which it is. Firewall's tooltip reads "dealing 145% × [Damage] Burning damage over 3.5 seconds", that's damage over time, stated outright, for whatever patch you're on. Paste a tooltip here (or its text from a build planner) and the type is read off the words rather than remembered. It shows you which words decided it.
Known skills fill in their own type when you pick them. Anything not recognised stays unset and is left out of the total rather than guessed at, Paladin, Warlock and Spiritborn aren't catalogued yet, so set those by hand. If a skill both hits and burns, pick Both and say roughly how much of it is the burn.
Every answer below is only as good as what we know about your build. Pick how much you want to tell us, Simple is five questions, Basic adds four numbers off your character sheet, and Advanced uses the gear, skills and paragon you have already entered. Whatever you pick, we say what we are still guessing at.
The same roll is not worth the same on every build. What decides it is how much you already have in each bucket, a multiplier you are saturated in buys almost nothing, while an empty bucket pays full price. This is read from your gear above.
All Damage and the seven damage types are separate buckets. The game rolls All Damage Multiplier, and a multiplier for each of Cold, Fire, Holy, Lightning, Physical, Poison and Shadow. All Damage helps every skill you have and typically rolls lower; a damage-type multiplier only pays on the skills that deal it, and pays nothing at all on the ones that do not. So on a build that deals one type, that type's roll usually wins; on a build that deals two or three, All Damage often does. Set each skill's type in Your skills above, and the rows below follow it.
Pick the slot it would replace and paste the new item, drag its screenshot in, or type the lines. Your saved gear above stays untouched.
The base of the chain. Weapon damage and Skill% set the size of the hit; main stat is its own independent multiplier that nothing else dilutes.
Coefficients change between patches, so don't trust any hardcoded number, including mine.
Hover your main stat on the character sheet. It says +X% Skill Damage.
Type both values here and this gives you the coefficient that is true right now, for
your patch.
One shared pot: Close, Distant, Core Skill, Damage to X, Damage vs X, most tempers, weapon implicits, and the additive half of paragon. This is the only place diminishing returns live. At +2000% in the pot, another +60% Close Damage is worth 2.85%.
A +60% bonus you only meet 25% of the time averages to +15% additive. Set uptime honestly or the tool lies to you.
These are enumerated as real branches, not averaged. [+]Crit Damage sits inside the additive pot but only counts on a crit, and is then multiplied by the crit-only multipliers. That interaction is why "+150% Crit Damage" loses to "+100% unconditional additive" at 40% crit chance.
The character sheet's Critical Strike Damage and Vulnerable Damage figures bake the additive, the fixed baseline and every [x] multiplier into one number, which is why they look far too big. But that is invertible: give both numbers and this returns the Σ[x]% you actually have, which is what belongs in the multiplier fields above.
The Overpower tooltip hides a large chunk of your real bonus. You get +1% Overpower Damage for each 1% of current life above base life, plus +1% for each 1% of Fortified life, neither is on the tooltip. Add those into the field above.
The word Multiplier in the affix text is the tell. x56% Critical Strike Damage
Multiplier sums with others of its kind and then applies once. x56% Critical Strike
Damage without that word is a separate global multiplier, that one goes in panel 04.
Baselines are built in and cannot be raised by anything: a crit carries an inherent x50%, a Vulnerable target an inherent x20%.
Aspects, uniques, paragon rare and legendary nodes, skill mods. Each one multiplies independently, so these never dilute each other. Set the condition to crit or vulnerable to route the multiplier into that branch, then leave its uptime at 100, because the branch already handles how often it fires. other is uptime-averaged.
Two separate caps of 100% each. They add, they do not multiply. Anything past a cap is
thrown away. ApS = WeaponApS × (100% + min(Cap1,100%) + min(Cap2,100%))
The bar shows how much damage you would lose if that link vanished entirely. A long bar means that link is carrying you. A short bar means the next point you spend there is nearly wasted.
Rolls carry roughly 80–120% weapon variance compounded with 90–110% skill variance, so a single hit swings from about 72% to 132% of this. The number above is the average, which is the only thing worth comparing gear on.
Marginal gain at your current totals, this is the entire point of the tool. The same +60% Close Damage is a 60% gain on a fresh character and a 2.85% gain at +2000% additive.
| Stat | Per point | Per typical roll |
|---|
Attack-speed weight here is the naive continuous value. Real DPS only moves when you cross an animation breakpoint. Check your skill's breakpoint table before you buy attack speed, between two breakpoints it is worth exactly zero.
List only the affixes that differ. A is what you are wearing, B is the drop. Values are deltas on top of the character above, so if the new ring loses the old ring's 40% crit damage, that 40% goes on side A.
| Side | Affix | Value | Worth on its own |
|---|
If the swap changes attack speed, continuous ApS lies to you, DPS only moves at animation
breakpoints. Look up the frame counts for your skill before and after, and the comparison will
use framesA ÷ framesB instead.
Damage = AvgWeaponDamage
× Skill%
× (1 + MainStat / ClassCoefficient)
× E[ (1 + Σ[+]additive + branch additives) × branch multipliers ]
× Π(1 + each [x] global multiplier × its uptime)
× (1 + Σ summed multipliers in the active category)
× (1 − EnemyDamageReduction)
DPS = Damage × WeaponApS × (1 + min(Cap1,100%) + min(Cap2,100%))
E[...] enumerates all 8 combinations of crit / vulnerable / overpower
rather than averaging them, because [+]Crit Damage lives inside
the additive pot but only pays out on a crit.
crit branch : p = crit chance, +[+]CSD, × 1.5 × (1+ΣCSD mult) × Π(crit globals)
vulnerable branch : p = vulnerable uptime,+[+]Vuln, × 1.2 × (1+ΣVuln mult) × Π(vuln globals)
overpower branch : p = overpower chance, +[+]OP, × (1 + 0.5 × currentLife/maxLife)
Flat-damage effects (X'Fal's, Thorns) replace AvgWeaponDamage × Skill% with their
flat number. Model those by setting Skill% to 100 and both weapon min and max to the flat value.
Main stat still applies to them.
These are Maxroll's published worked examples, run as real assertions against the same
compute() the rest of this page uses. They run automatically every time you open the
file. If a change to the math ever breaks one, a red banner appears at the top of the page, you don't have to remember to check. Each test builds its own character from scratch, so running
them never reads or changes the numbers you typed above.
| Check | Expected | Got | Result |
|---|
compute() was wrong, or the game changed and the source needs re-reading, in that
order of likelihood. Don't edit the expected value to make the light go green.