![]() |
Resistance Mechanics in WotLK
I personally haven't seen a lot of thorough research into the new resistance mechanics, so thought it would be helpful to post this in a more public forum. The motivation came from discussion in the Druid Sartharion MT thread.
Summary: 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. This results in the following thresholds for an 83 boss, assuming the constant of 510 is correct:
6. All damage reduction / amplification effects (Defensive stance, Power of Shadron) affect only the unresisted portion of damage. All effects are still multiplicative, this simply means that when reviewing logs, the resisted portion in parentheses will be a flat percent of the base damage of the spell, with no other modifications (the exception being the reduction of periodic damage from resilience - this effect is applied before the partial resist check). 7. The probability of each partial resist seems to obey a triangular distribution. Mathematically: C = Constant (400 for level 80, assumed 510 for 83) R = Resistance AR = Average Resist = R/(C+R) x = Possible Resist. This must take values of 0.10*n, where n is an integer. The probability of any x is thus P(x) = 0.5 - 2.5*|x - AR| or P(x) = 0.5 - 2.5*|x - R/(C+R)| Negative probabilities are simply treated as zero. This distribution matches the observed data well. Graphs and Tables This graph shows the relationship between resistance and the average amount resisted. These curves follow the formula provided above. As discussed, this average amount resisted determines the probability of any potential partial resist. ![]() The following table lists the resistance amounts (from the above chart) which correspond to each average resist. These amounts are different vs. level 80 and 83 mobs.
This table illustrates the probability of each partial resist at a few common amounts of resistance. These probabilities come from the formula P(x) = 0.5 - 2.5*|x - AR|. The resistance amounts were selected from various combinations of buffs, consumables, and available resistance gear. All values are for a level 83 boss. ![]() The final graph displays the probability of each partial resist, as a function of resistance (for a level 83 boss). This information is the same as that in the previous table, at arbitrary values of resistance between 75 and 765. To read this chart, look on the horizontal axis for the amount of resistance you plan to wear, and trace a vertical line upwards. The curves with non-zero values at this resistance represent the possible partial resists. The magnitude at the intersection represents the probability of this resist. For instance, at a resistance value of 400, the chart indicates nonzero probabilities for the yellow, purple, red, and light blue curves. These correspond to 60%, 30%, 50%, and 40% partial resists. Visually, the probabilities of each are about 10%, 15%, 35%, and 40%. This can be confirmed with the formula above. ![]() |
That would explain some of the weird resist numbers I've seen in WotLK.
|
With item budget going up x2 and the cap (according to the original pre-WotLK formula) only going from 365 to 415 for capped mitigation (75%), this was an expected change... the test/results are really welcome for planning for eventual resist fights.
The most significant change is that unlike the old formula where each additional point of resistance was better up to the cap, the new formula suffers diminishing return. That is, as a simple example, to cut damage by half against a level 80 source, you'd need 400 resist. To cut it by half again, you'd need another 800 resist (where (1200 / 400 + 1200) = 3/4) This means that the first piece of resist gear is the most valuable in terms of stats tradeoff, compared to resorting to greens to cover that last bit to cap on pre-nerf Shahraz when available SR crafting was limited by trash drops. That in turn would show how beneficial, say, the 60res bracer LW emboss and other similar-stat-tradeoff FR is for Sartharion. |
Many questions are begged by this thought-provoking data. My primary thoughts concern the previous cap of 75% overall mitigation via resistance, achieved by 5xEnemyLevel Resistance.
I will certainly mull over data parses from Sapphiron on my next kill; with my previous assumption that resistance calculations were unchanged, I had been stating that 415 Frost Resistance would grant 75% mitigation overall and was the cap. This new data begs the further question, is 75% mitigation still the cap for magical damage? Is it not potential that the cap could have been changed from 75% to an even lower number, with the expectation that players would rely less on resistance? After all, it seems clear that this resistance calculation change was motivated by Blizzard's desire to avoid the "Resistance Fight Gear Ups" of yesteryear, there was public outcry during beta on that specific prospect continuing in WotLK. By adjusting the resistance calculation to make the initial points of resistance the most powerful, they have quite deftly eased the process of gearing an entire raid up for a resistance fight. It seems probable that another motivator is to likewise render near-immunity on the part of the tank to be impossible, instead encouraging a more natural level of mitigation. Additional data at extremely high levels of resistance, in excess of 500, would be necessary to determine if the cap has changed from 75% |
Are you sure it's not a symmetrical distribution? While your data is asymmetric, that's not the same thing.
|
Edit: I've moved my first data into this post, to keep the first post a little cleaner.
What follows is some of the original data used in determining these relationships, some of which is a bit dated. Further data to support the above conclusions can be found in several posts in the thread. Level 80 Data: ![]() The above chart shows the results of tests at different values of resistance. For each case, the sample size is between 480 and 1300. For those interested, the actual data, in terms of probability of each result, is below.
![]() This graph shows the average damage resisted for each value of resistance, as well as the proposed relationship of Resistance/(400+Resistance). The observed mean resist (calculated from the above table), and the predicted mean resist (calculated from this formula) are provided below for each case.
This data was collected from the Magma in Obsidian Sanctum, which has the advantage of 30 samples per minute. Unfortunately level 80 resist mechanics apply, not 83. It is a plausible assumption that for a boss level mob, the constant in the above formula becomes 415. Regarding the proposed formulas, the one "problem" case that exists is 100 FR. The predicted mean is 20%, while the observed mean, over a very high number of samples, is 19.5%. If this were the actual mean, 0% resists should still have a 1.2% probability according to the proposed behavior, but this is definitely not the case. Yet, the observed probability of each partial resist matches a distribution centered on 19.5% extremely well, with 0% rolls simply converted to 10% rolls, and added to the probability. This behavior is not observed at lower or higher resists tested, and raises some questions. Level 83 Data 1424 samples were collected from a 10-man Sapphiron where all players had 75 frost resist. The observed probabilities of each partial resist were Observed Probabilities: 0%: 0.1699 10%: 0.4305 20%: 0.3272 30%: 0.07233 Average Resist: 0.1302 The predicted average resistance, using a constant of 500, is 0.1304. The probability of each partial resist agrees well with predictions from the triangular distribution described above: Predicted Probabilites 0%: 0.1739 10%: 0.4239 20%: 0.3261 30%: 0.07609 Average Resist: 0.1304 42 Samples were taken from Kel'Thuzad's Frostbolt at 430 frost resist. While this is not enough data to draw precise probabilities from, it is important to note that 30% partial resists were observed, effectively ruling out the previous assumption of a constant of 415 for boss level mobs. A constant of 500 fits the data well, again with the caveat of a small sample size. Original 1/31/09 post: Added a 5th case, at 399 FR. It seems to confirm the expected cutoff behavior - at 399 FR there remains a very small (~0.5%) chance of a 30% resist. From the nature of the formula, and the 429 FR results, it's fairly safe to presume that 400 FR is the value that eliminates this chance. Regarding caps, there may simply not be any hard cap on the amount that can be resisted, because the diminishing returns of the new formula does that on its own to an extent. That said, it only takes 601+ resistance to find out if 80% partial resists are possible, or if the formula changes. This is easily achievable with frost atm, though I doubt anyone has actually bothered to acquire gear beyond the polar sets and enchant it with even more frost resist. As far as remaining things to be found out here, I plan to run more 100 FR cases, because the asymmetrical behavior definitely contrasts that at higher FR. The other data are within confidence bounds of being fit by symmetrical distributions, though the standard deviations aren't clear yet. I'll probably run more tests at low values of resistance to see if the behavior is simply different there, and this would be relevant to cases of only having MotW. Other than that, the level 80 data is looking pretty predictable and following the proposed formulas, so the main thing is to get actual boss-level data of sufficient sample size. If it can be confirmed that the long-term average resistance is 415/400 times the level 80 expectation, then all the claims based on level 80 values can be fairly safely justified. Alternatively, tests can be run at a "cutoff" value like 104 resistance to verify no 0% resists. Both of these would require quite a large sample pool however, so I'm still trying to think of a boss to mess around with. |
Quote:
|
Quote:
About testing boss-level mobs, I'm wondering if Baron Geddon would be a useful punching bag. |
Quote:
Level*5/(Level*5 + Resistance) |
x / (5l + x) fits the graph/data perfectly.
5l / (5l + x) implies uh... average damage resisted at 0 resist is 100%? Edit: 5l / (5l + x) is the average damage taken, not average damage resisted. Both formulae are correct. |
Ya the original formula was for damage taken, while all other data/discussion was in terms of damage resisted, so I just went with damage resisted here to hopefully keep things clearer.
|
Updated with more current stuff
|
Do we have some established numbers on partial resists based on the level-gap? Given the dearth of actual resist fights in current content, this is probably the most relevant application of the data.
I've heard a 30% figure being tossed around as the average reduction of spell damage against a level 83 boss from these partial resists. Do they still occur in PvP against an even-leveled player, though? |
It seems to me that instead of using a 2 roll system, we ca achive the same results using a triangular probability distribution:
P'(x) = Theta[ADT-x]*2.5*(0.2+x-ADT)+Theta[x-ADT]*2.5*(0.2+ADT-x) P(x) = Theta[P'(x)] Where: x is the % of damage taken and can take only 0.1*n value where n is integer ADT = 5l / (5l + RES) is the average damage taken Theta is the theta function following the rule Theta(x)=1 if x>=0, Theta(x)=0 if x<0 For example: from the above table, with 300 FR we axpect a 0.1735 chance to take a 70% breath so: ADT = 400/(400+300) = 0.5714 P(0.7) = 2.5*(0.2+0.5714-0.7) = 0.1785 that is in line with the 0.1735 value for a 30% resist shown on the table. For low or high end value, the most probable things is that probability distribution is "reflected" along the y-axis with y=0 and y=1 as reflection axes. |
Quote:
For a level 83 target, let's assume: - 15 resist (=5 * level difference) - The two-roll system described in the top post is used. - Rolls that would imply -10% resistance are converted to 0% resistance. 15 resist = 15/415 average resist = 3.6145% average resist (before converting -10% resists into 0% resists). The two-roll system for a 3.6145% resist would have 9.0% of attacks would be 20% resisted. 34.0% of attacks would be 10% resisted. The remaining attacks would have either 0% resist, or -10% resist (converted to 0% resist). Overall, 43% of attacks would show a non-zero resist. The average resist over all attacks would be 5.2%. I'm not sure this is out-of-line. Looking just at Insect Swarm from a recent Archavon raid (152 ticks) 37 ticks (24%) had 10% resist. 25 ticks (16%) had 20% resist. Average resist was 5.7%. Obviously this is a small sample, but the numbers seem to not be terribly unreasonable. If this model is accurate, the first point of resistance (or resistance - penetration for PvP) has a much larger than expected impact. 1 point of resistance should convert into 1/401 = 0.25% damage resisted. However the two-roll system (moving -10% resists to 0% resists) would leave you with about 2.69% damage resisted. The "advantage" declines until you reach 10% resistance (at just under 45 resist). |
| All times are GMT -4. The time now is 2:56 AM. |
Forum Infrastructure by vBulletin 3.6.12 ©2000-2007, Jelsoft Enterprises Ltd.