Jump to content

Spell resistance mechanics updated for WotLK


Auntie Mangos
 Share

Recommended Posts

The patch was written for revision 8806.

This patch fixes the following bugs:

1. Partial resists occur in multiples of 10% (not 25% like pre-WotLK).

2. At a given value of resistance, only 3-4 resist percentages are possible.

3. The long-term average damage resisted at a given value of resistance appears to follow the formula

Average Resist = Resistance/(Constant+ Resistance)

For level 80 mobs, the Constant is 400.

For level 83 bosses, the Constant appears to be 510 (pending final confirmation).

4. The possibility of a given partial resist % is eliminated when the average resistance (from the above formula) is 20% higher.

5. The probability of each partial resist seems to obey a triangular distribution.

Bug report thread:

http://getmangos.eu/community/viewtopic.php?id=10898

The patch was written by me.

More information about the formula is at:

http://elitistjerks.com/f15/t44675-resistance_mechanics_wotlk/

Link to the patch:

http://paste2.org/p/511213

Tested after applying the patch:

Casting shadow spells against a paladin with 130 Shadow Resist Aura:

Theoretically would result in:

10 percent resisted: 13.68%

20 percent resisted: 38.68%

30 percent resisted: 36.32%

40 percent resisted: 11.32%

Out of 239 spell hits I got:

10 percent resisted: 36 spells (15%)

20 percent resisted: 88 spells (37%)

30 percent resisted: 89 spells (37%)

40 percent resisted: 26 spells (11%)

Link to comment
Share on other sites

  • 39 years later...
  • 1 month later...
  • 2 weeks later...

nice patch, but i think it has some problems, first i think this is incorrect:

if (level == BOSS_LEVEL)
       {
           resistanceConstant = BOSS_RESISTANCE_CONSTANT;
       }

should use pVictim->isWorldBoss() instead

and this:

float victimResistance = baseVictimResistance + ignoredResistance;

shouldn't it substract instead? or maybe i understood wrong

and:

 uint32 level = getLevel();

it should be pVictim->getLevel() i guess

Link to comment
Share on other sites

  • 8 months later...
  • 6 months later...
Guest
This topic is now closed to further replies.
 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use