Mechanics: Spell Resistances (cont.)

Part 2 of a 2-part series.

What Has Gone Before

I claimed, with ample references and math, that resistance scores have a linear effect on the average amount of damage you resist, and that the effects of resisting a spell were tiered in order to make resistance more interesting then just a flat amount of damage resisted every time.  But you don't believe me.  :p  Why not?  Don't I tell you I love you enough?

I'll try to debunk some arguments here, and then present some test data to confirm my theories.

Arguments Against Linear Resistance

People who believe that resistances are 'tiered' make various arguments, based on skewed perceptions or overliteral interpretation of what Blizzard provides to them as information.  Here are some examples:

  • 'Resistances must be tiered, I added 30 resistance and nothing happened!'
  • 'Resistances must be tiered, I added 30 resistance and something happened!'

Notice the first two arguments.  Don't they seem identical?  They are, even if they differ by one word.  This argument is all about perception.  Empirically speaking, adding 30 resistance (under the cap) adds an extra 7.5% average damage mitigated.  During one three-minute boss fight, are you going to notice a 7.5% in average damage?  Maybe.  Maybe not.  Maybe one week, you notice, and then the next week you get unluckly, take more damage than normal, and don't. Remember, you're taking damage in (0/25/50/75/100)% chunks.

The point is simply that if you're going to claim resistance is tiered, you need a lot of trials.

  • 'One point of resistance doesn't matter because the Blizzard table says so.'
  • 'One point of resistance doesn't matter because the Blizzard character tooltip says so.'

This is the classic argument of the person who sees their tooltip go from 'Poor' to 'Fair' and believe their average damage resisted just went up by 25% instead of 0.25%.  First of all, that tooltip scales with level, and isn't even accurate most of the time (from levels 11-20 it compares against level 20 opponents, for example, and will not give you accurate values).  It's meant to be a guideline and nothing more.

    Example: Take off your gear (no, really) so that you have 0 resist.  Hover the resist score.  It says you have 'None' for resistance to that school.  Now, put on one piece of resist gear.  The tooltip says you have 'Poor' resistance.  So, what 'tier' are you in?  Are you suddenly resisting 25% damage?  No, not even close (as testing shows).  You're certainly not resisting 0% any more, though.  Do tiers sound silly yet?

Regarding the table, what makes you think that there are only four or five possible 'tiers'?  The table?  Again, that's just an example to show some sample values.  Each chance to resist varies as the resistance score changes (even by one point!), such that the total chances add up to 100%.  (The tests below will show that, by the way.)  So an example table looks like this at level 60 (this is derived from the Blizzard table):

 

Resistance Score vs. L60

0

60 120 180 240 300
Average Damage Resisted (%) 0% 15% 30% 45% 60% 75%
Resist 100% 0 0 1 1 11 25
Resist 75% 0 2 6 18 34 55
Resist 50% 0 11 24 48 40 16
Resist 25% 0 33 49 26 14 3
Resist 0% 100 54 20 7 1 1

 

You can see that the chances to take various percentages of damage peak at different points (roughly around the point where they are supposed to, i.e. you are most likely to resist 25% near 25% ADR%).  At any given resistance score, the various percentages add up to produce a certain average damage resisted, like so:

(resistance/caster level * 5) * .75 = ADR%

which also equals

((0% * # of 0% resists) + (25% * # of 25% resists) + (50% * # of 50% resists) + (75% * # of 75% resists) + (100% * # of 100% resists))/ (total # of damage events)

OR, simplified,

(.25 * # of 25% resists) + (.5 * # of 50% resists) + (.75 * # of 75% resists) + (# of 100% resists)

------------------------------------------------------------------------------------

total # of damage events

 

Example 1: At 240 resist, your ADR% is 60%, so your ADR% should equal (14/4 + 40/2 + 34*3/4 + 11)  = 60.  And it does: 3.5 + 20 + 25.5 + 11 = 60.

Example 2: At 220 resist (not on the chart), your ADR% is 55%.  Your ADR should equal (roughly) (17/4 + 45/2  + 28*3/4 + 7) ~= 55.  Note that you have a slightly higher chance to only resist 0/25/50%, and a lower chance to resist 75/100%.

 

 Too Much Math, Just Prove It!

All right.

One really easy way to confirm the linear resistance, tiered effect theory is to perform empirical trials. Ideally, you want to test with the following criteria:

  • Same-level mobs
  • Many events (a spell that spams)
  • Direct-damage spell (to test the distribution of resists)
  • Varied resistance scores (to confirm the difference in ADR%)

Twilight Flamereavers are ideal candidates for these tests for a couple of reasons. They are all level 60, have an innate Fire Shield, and use Immolate. The Fire Shield is an aura that does 45-46 DD fire damage every time it goes off--and it goes off a lot, making it an ideal method to test against various FR amounts.

As for the testers, warlocks with their felhunters are ideal candidates for testing because they can test two different resistance scores simultaneously, proving both that the linear theory works and that the competing theory (that resistance scores exist in 'tiers') does not.

For the trials, my warlock went into the Flamereaver cave with his felhunter. Oth can have 162FR without any buffs; this would correspond to 40.5% ADR%. His felhunter, Sarnos, has base 120FR at L60. He does not have Master Demonologist, but Oth's FR set has 5 Felheart pieces, so Sarnos' FR for these tests is 220 (55% ADR%).

Oth and his pet went into the cave and stood in melee range of Flamereavers, letting themselves be hit repeatedly by the Fire Shield and Immolate. Over a couple of thousand events (and several trials), the following data was collected:

 

  Oth - Trial 1 Oth - Trial 2 Oth - Trial 3 Sarnos - Trial 1 Sarnos - Trial 2 Sarnos - Trial 3
FR 162 162 162 220 220 220
0% Resists 45 76 112 0 0 0
25% Resists 128 255 333 72 102 161
50% Resists 157 288 442 178 261 481
75% Resists 66 105 160 137 204 315
100% Resists 16 32 35 21 29 52
Total Events 412 756 1082 408 596 1009
Expected ADR% 40.5% 40.5% 40.5% 55% 55% 55%
Actual ADR% 42.72% 42.13% 42.54% 56.55% 56.71% 56.39%
Aggregate ADR%

42.43%

56.52%

Note a few conclusions here:

  • Oth and Sarnos differ in their FR by 58 points.  This should correspond to a difference of 14.5% in ADR%.
  • The actual difference reported is 14.1%, over 2000+ events.  That's a) pretty damn close, and b) statistically significant--you can't explain that by sampling error at that volume of events.
  • If resistances were really 'tiered' at 75/150/225/300, one would expect Oth and Sarnos to resist at the same ADR%.  This is clearly not happening.
  • If resistances were really 'tiered' at 15%/30%/45%/60%/75%, one would expect Oth to resist at 30% and Sarnos to resist at 45%.  Again, this is clearly not happening.
  • Note, though, that both Oth and Sarnos are resisting 1.5% to 2% more than expected.  What could cause this?  My educated guess is that 'white resists' are occurring (spell misses) which overweight the amount of 100% resists in the combatlog, but this is unconfirmed.  This does not affect the significant difference between the two scores.

Do the testing for yourself: Resistance is linear, not tiered.

 

(have a nice day)