How is skill damage calculated?

This answer to a related question I've asked helped me understand that, given a specific skill, I don't really know what affects its performance.

So what I'm looking for is concrete data: given skill X, what affects it. In particular, given skill X,

  1. Is it affected by faster cast rate?
  2. Is it affected by +knockback?
  3. Is it affected by attack speed?
  4. Is it affected by weapon damage? And if I'm duel-wielding, from which one?
  5. Is it affected by +elemental damage attributes?
  6. Is it affected by +% elemental damage attributes?

I couldn't find any online data about that.


Solution 1:

you need to parse some logs and do some individual testing to get specific details on skills and their relation to other attributes either while doing damage or receiving damage.

Keep in mind that skills are not static, they are dynamic in a sense that there are other contributing factors that will affect their performance: level, armor, spells, NPC level, NPC class, etc.... if it were static, you would be able to find this out quite easily.

Some basics already known to get you started:

DPS

The assumption is that DPS is calculated as such:

[ ( min dmg + max dmg ) / 2 ] / speed = DPS

So if you have a sword that does 25 - 35 damage every .56 seconds, this should apply:

[ ( 25 min dmg + 35 max dmg ) / 2 ] / .56 speed = 53.57

rounded up to 54 DPS

Adding Gems

Elemental damage socket gems (not sure about other types) are tacked on to max damage and go into the calculation as such:

{ ( min dmg + max dmg + gem dmg ) / 2 } / speed = DPS

So adding a +23 fire damage gem to a sword that does 25 - 35 damage every .56 seconds should look like this:

{ ( 25 min dmg + 35 max dmg + 23 gem dmg ) / 2 } / .56 speed = 74.1

rounded to either 74 or 75 DPS

Damage Reflection

​Player equips 188 damage reflected amulet Monster attacks for 2 damage Player takes 0 or 2 or 9999 damage, it doesn't seem to matter Monster receives 188 damage