Elitist Jerks
Register
Blogs
Chat
Forums
New Posts


Go Back   Elitist Jerks > Public Discussion > Class Mechanics

Welcome to Elitist Jerks
If this is your first visit, please be sure to check out the FAQ and the forum rules. Users must register to post and new registrations are subject to a one day "mute" period to get acquainted with the community. To start viewing messages, select the forum that you want to visit from the selection below.

Reply
 
LinkBack (9) Thread Tools
Old 04/01/08, 9:46 PM   9 links from elsewhere to this Post. Click to view. #1 (permalink)
Von Kaiser
 
Blood Elf Warlock
 
Ner'zhul (EU)
Some partials resistances studies

I play a warlock since TBC came out (i was playing a Warrior before, and am still playing it in arena), and i often witnessed some strange behaviour with Partials Resistances(PR) amount from my Shadow Bolts.
After a few search about the data available on the net (from this forum, wikipedia or the WoW forums), i found out that no real studies about it was really performed, except a big data parsing from Frosbolt Resistance rate (a binary spell).

So, i made the decision to make my own research, in order to understand why the logged PR seemed to be so inconsistant with the damage not resisted, and why most reports on WWS show a PR under 6%.

The data used from logs are from pre 2.4, but some post 2.4 log parsing have confirmed that nothing has changed.

A) The mystery of the logged PR amounts.

Have you never noticed some very peculiar amount of PR from your Shadow Bolt or Fireball in the log in raid ?

For example :

3/20 21:17:19.015 Your Shadow Bolt crits Teron Gorefiend for 1794 Shadow damage. (2026 resisted)

What ? a 1794 SB crit ? with only 2026 resisted ? How come ? It would have give us a 3820 crit, which is simply impossible. One of the following line confirm it :

3/20 21:17:50.812 Your Shadow Bolt crits Teron Gorefiend for 8658 Shadow damage.

So there is clearly something fishy here.
At first, i just looked up on the internet, and the only really valuable data are from wowwiki and this forum.
Formulas:Magical resistance - WoWWiki - Your guide to the World of Warcraft
Resistance - WoWWiki - Your guide to the World of Warcraft
Spell hit - WoWWiki - Your guide to the World of Warcraft even if it doen't speak about PR
and the great Working Theories of Theorycrafting as of 2.3

The 2nd link is probably the more interesting one, even if i knew this information from the blizzard page on resistance since Molten Core and Ragnaros.
The PR table show us that every PR is a multiple of 25%, and that the sum of PR against a mob is equal to the well known formula :
Average Resistance = (Target's Resistance / (Caster's Level * 5)) * 0.75

The 4th link just tell us that the amount of PR on a mob is +2% per lvl of the mob above the player, and that it cannot be avoided in any way. So it gives us 6% for a world boss.
This data was determined from big Frosbolt Resist log parsing, and is the base of the current consensus about PR rate.

We have a problem :
3/20 21:16:10.640 Your Shadow Bolt hits Teron Gorefiend for 3254 Shadow damage. (711 resisted)
3/20 21:17:14.343 Your Shadow Bolt hits Teron Gorefiend for 2071 Shadow damage. (1358 resisted)
3/20 21:17:19.015 Your Shadow Bolt crits Teron Gorefiend for 1794 Shadow damage. (2026 resisted)
3/20 21:33:18.000 Your Shadow Bolt crits Essence of Suffering for 4983 Shadow damage. (675 resisted)
3/20 21:33:51.281 Your Shadow Bolt hits Essence of Suffering for 978 Shadow damage. (1924 resisted)

Line 1 : 17.93% resist (711/(3254+711))
Line 2 : 39.60% resist (same calc)
Line 3 : 53.04% resist
Line 4 : 11.93% resist
Line 5 : 66.30% resist

Where are the x*25% resists ? It gives me a headache... but not for too long.

We can see some sort of logic here. The PR is quite stable, being for a hit or a crit, and there is a correlation between the resists amount.
For example : 1358 ~= 2*675, and 2026 ~= 3*675. The resisted amounts seem to follow the x*25% rule, but there is no stable link with the non resisted damage ones.
So i played a little with those data, and had the idea to not take into account the boss shadow debuff, and maybe after, my own shadow buffs.

We take the line "Your Shadow Bolt crits Teron Gorefiend for 8658 Shadow damage"
With my gear and without a shaman, i could not have crit for this high without ISB being up.
8658 / 1.2 = 7215 without ISB
7215 / 1.1 ~= 6559.09 whitout CoS (no affli warlock in raid)
6559 / 1.1 = 5962,81 without Shadow Weaving
5962.81 / 1.05 = 5678,87 without Misery

the ~675 resist multiplicator i seem to have on the same fight is only is ~11.9% of this.
But if it was a hit ?
5678.87 / 2.09 = 2717,16 (i have CSD)
And 25% of 2717.16 is 679,29

Hey, what a strange coincidence.

Let's check for another line with a PR this time.
3/20 21:17:19.015 Your Shadow Bolt crits Teron Gorefiend for 1794 Shadow damage. (2026 resisted)
2026... this must be a 75% PR.
so 1794 would have been 7176, a crit without ISB.
1794/1.1 = 1630.91 without CoS
1630.91/1.1 = 1482,64 without SW
1482,64/1.05 = 1412,04 without Misery
1412.04/2.09 = 675,62 if it was a hit
And... 2026 = 3 * 675,34 or 3 * 25% resist.

For a simple hit :
3/20 21:17:14.343 Your Shadow Bolt hits Teron Gorefiend for 2071 Shadow damage. (1358 resisted)
1358 seems to be a 50% PR.
2071 would have been 4142, so ISB was up.
2071/(1.2*1.1*1.1*1.05) = 1358,4 which is exactly what was being resisted.

So we can assume that this is the way the PR are computed and logged by WoW.

What we can deduct from this data, is that the PR logged are misleading : they represent the resisted amount before any debuff from the target, but also, and this is quite surprising, before knowing if it was a crit or not.
Note : This 2nd statement just tend to confirm that the probability to get a crit is computed after the probability to hit a boss, and that the 2 roll theory must be the good one, even if it's still not 100% sure. What we can assume, is that the engine must know if there was a resist or a PR before determining if we have a crit or not.

So, what does it change for the WWS parses ?
It first means that the amount of PR on a non debuffed target will always be x*25% for non critical spells.
But, it also means that the more debuff you have on the boss that favor your damage, the less the PR will be in your WWS.
The same statement is also true for crits, as the PR remain a multiple of a base hit without debuff. The more crit you have, the less the PR will be high in WWS (or in any other parser that compute your PR from the resisted part in wow logs)

For a warlock which have 30% crit (with CSD) who spam SB on a boss debuffed with CoS, Misery, SW and an average uptime of 65% for ISB, the PR logged by WWS is in fact only :
1.1 * 1.05 * 1.1 * (1+(0.2*0.65)) * (0.7+0.3*2.09) ~= 1,905 less than the real damage loss due to PR.

For a mage with 40% crit it's
1.1 * 1.05 * 1.15 * (0.6+0.4*1.5*1.03) ~= 1,618 less than the real damage loss due to PR.


B) Parsing some datas

So, what is the real DPS loss due to PR ?
We are going to parse some data to find out.

I wrote a very basic log parser pre 2.4 which let me get every Shadow Bolt landed against a named World Boss.
We will exclude those bosses :
- Shade of Akama, because he is taking a debuff which increase damage done against him
- Gurtogg Bloodboil, because of the felrage
- Essence of Desire and Essence of Anger, which can be debuffed or buff the raid
- Mother Shahraz, who buff the raid
- Illidari council because it was not very simple to handle
- Illidan Stormrage who can be debuffed with the trap

I am the main WWS updater of my guild, so i have a good amount of saved log i could parse, which provided me around 10k SB.

The algorithm to check the resist % is really simple :

if no PR, PR = 0%
else if PR > 1 and PR < 832, PR = 25%
else if PR > 832 and PR < 1665 PR = 50%
else PR = 75%
100% resist are handled separatly, because they are logged differently.

The one and only source of error, is if a 25% PR is > 832 (more than +2200 shadow), or < to 555 (less than +1285 shadow). It wasn't the case for all the log parsed here.
Also, every warlock on those logs were 0/21/40 with ruin.

The results :

Total Damage   48364810
Cast Count        10558
Hits               7285
Crits              3094
Resists             179
Partial Resists    1764
-----> 25%         1180 (11.176%)
-----> 50%          489 (4.632%)
-----> 75%           95 (0.9%)
Partial Damage resisted in logs    1629599
Partial Damage REALLY lost         2987247
Mitigation from PR in logs         ~3.266%
REAL Mitigation from PR            ~5.817%

This value of 5.8% damage loss from PR is quite stable, we get it with only 2k casts.
5.8% is the DPS loss from the SB that did damage against the boss, so this is not the mitigation to expect above every cast.

5.8% is a 27 base resistance for a boss.

If we compute the average resist to expect only from the PR %, we get : 0.9*0.75 + 4.632*0.5 + 11.176*0.25 = 5,785% of every cast, or 5.88% from the SB that did damage.

We can see that we still miss a lot of data to have a really precise average PR, but it's really close to the 6% commonly accepted.


Conclusion :

What did we learned ?
To be honest... nothing at all. The average PR of 6% already known is quite accurate, and determining it to a sub 0.1% precision would require such a tremendous amount of data that it will demotivate anyone to ever do it. Only a website like WWS could do something like that.

What we have here, is a simple enlightment about the discrepancy between the logged PR amounts and the "true" ones. It doesn't change anything in the game, we just know how to interpret parses data more accurately.


PS : My apologizes for all the mistakes i'm doing in english but that i cannot see as i it isn't my mother language.

Last edited by plopinou : 04/02/08 at 7:36 AM.
 
User is offline.
Reply With Quote
Old 04/02/08, 12:25 AM   #2 (permalink)
Don Flamenco
 
Gnome Mage
 
Kilrogg
Good analysis except that it is not new. I've made a number of them myself with arcane spells ever since 1.9. [Guide] Level Based Resistances, +hit%: How do they work? / Intelligent Warlock Discussion / Subcreation is the first comprehensive analysis I made. You can find later findings from TBC here on EJ if you search for posts including partial that I made. The last one where I concluded that it is 6% for +3 levels was TBC Mage Theorycrafting. But I think it does deserve a separate thread so that we have all the information about it centralized.
 
User is offline.
Reply With Quote
Old 04/02/08, 5:27 AM   #3 (permalink)
Von Kaiser
 
Blood Elf Warlock
 
Ner'zhul (EU)
Well as i wrote in my conclusion, this topic is not about the discovery of partials resistances, because you already have done a great job about this matter, it is mainly about the way WoW is logging those partial resist amounts.

What i wanted to show here is that there is a variable discrepancy between the PR as they are logged, and the real damage loss they represent, depending upon the number of debuff to the specific school of magic a mob/boss have.

This topic is here only to let us know that the PR in WWS parses are not the real mitigation due to PR.

The second part is just a bonus to confort your previous analysis and the average 6% PR to expect against a +3 lvl mob.
 
User is offline.
Reply With Quote
Old 04/02/08, 3:17 PM   #4 (permalink)
Bald Bull
 
manly's Avatar
 
Undead Mage
 
Mal'Ganis
Your conclusion is consistent with game mechanics. As far as I am aware, whether a spell crits/misses/hits/gets a PR and the actual damage dealt, is calculted once the bolt leaves your hand (as it is done casting), not when it lands. Also, that pre-calculated damage is always counted before debuff multipliers. A simple example case:

You cast a fireball. Fireball finishes casting. During fireball's travel, scorch falls off. The final fireball damage will not count scorch, because debuffs are applied upon the spell landing.

This is the same effect that would explain the behavior of the shown partial resists.

"Did the last bastion of arcane hope give up to the FFB gods ?"

please fix rolling deep wounds.
 
User is offline.
Reply With Quote
Old 04/03/08, 9:41 AM   #5 (permalink)
Von Kaiser
 
Blood Elf Warlock
 
Ner'zhul (EU)
Yes, with a warlock you can test it by simply putting a curse during a shadow bolt's travel time, and see that the damage doesn't take into account the curse you just put.

Speaking of travel time, i think the time for a missile to hit its target is also computed at firing time. I didn't search for data about this matter, so it's certainly already a known fact.

You can easily test this if you fire a fireball to a pally on a flying mount with his +20% speed aura that start to fly straight forward just 1/5s after you fired your spell. Your spell will hit him anyway, but not the misille sprite which will pursue its target until it reaches it (or until the target despawn/is teleported too far away).
If the pally moves or not, the fireball will always hit him in after the same travel time, computed with the distance between the caster and the target at fire time.

We can probably assume that travel time is simply a interval time to wait for a ranged damaging spell/hability before applying an instantly computed damage to a target. An instant cast has simply a 0ms travel time.
 
User is offline.
Reply With Quote
Old 04/03/08, 12:02 PM   #6 (permalink)
Piston Honda
 
Undead Warlock
 
Mug'thol
Originally Posted by manly View Post
Your conclusion is consistent with game mechanics. As far as I am aware, whether a spell crits/misses/hits/gets a PR and the actual damage dealt, is calculted once the bolt leaves your hand (as it is done casting), not when it lands. Also, that pre-calculated damage is always counted before debuff multipliers. A simple example case:

You cast a fireball. Fireball finishes casting. During fireball's travel, scorch falls off. The final fireball damage will not count scorch, because debuffs are applied upon the spell landing.

This is the same effect that would explain the behavior of the shown partial resists.
Are you positive about this? Because that is definitely not the way it works for warlock curses, or incinerate (bonus damage while immolate is up). It would seem odd for mage spells to behave differently in that regard.
 
User is offline.
Reply With Quote
Old 04/03/08, 1:17 PM   #7 (permalink)
Von Kaiser
 
Blood Elf Warlock
 
Ner'zhul (EU)
Oh ! my bad, i missread manly's post and said a "yes" when in fact i have the same remark as LockApologist.
For warlocks, target's debuffs bonuses are clearly computed the moment the missile leaves our hand.

Is it really different for mages and scorch ? That would be very odd.

Edit : I will try to have a fellow mage testing some Fireball rank 4 followed by an immediat scorch at max range to be sure about it.

Last edited by plopinou : 04/03/08 at 1:45 PM.
 
User is offline.
Reply With Quote
Old 04/03/08, 2:09 PM   #8 (permalink)
Bald Bull
 
manly's Avatar
 
Undead Mage
 
Mal'Ganis
I might be remembering the exact reverse for all I know. I was fairly sure that scorch falling off lead to fireball not getting the benefit.

"Did the last bastion of arcane hope give up to the FFB gods ?"

please fix rolling deep wounds.
 
User is offline.
Reply With Quote
Old 04/03/08, 2:57 PM   #9 (permalink)
Von Kaiser
 
Dwarf Warrior
 
Feathermoon
For shatter vs. frozen targets, at least, the spell gets the benefit of the debuff as it leaves your hand; this is what makes the dreaded shatter combo possible. I haven't tested it with scorch, but I can't imagine it would behave differently.

Originally Posted by Axl_Stukov View Post
Well if theres one thing WoW has taught us, it's that if the fate of the earth ever relies on a group of people touching cubes... were royally screwed.
 
User is offline.
Reply With Quote
Old 04/04/08, 1:16 AM   #10 (permalink)
Von Kaiser
 
Blood Elf Warlock
 
Ner'zhul (EU)
I will test it tomorrow and edit this post to show my findings.

In case another mage want to do it, i'll write the setup.

Write down somewhere your actuel Fire +spell damage which must remains exactly the same (don't put any triggering item like the band of eternal sage and don't use any trinket +damage ).
Go outside Shattrah (or to nagrand or where you want to be), and target a mob at max range. Cast a Rank 4 Fireball followed by an immediate scorch. We must have the scorch hit the target before the Fireball missile.

What does we look for ? Simply some Fireball Damage.
There is no mage spell which does exactly the same amount of damage for each cast.
Fireball max rank does 717-913, which is a 196 damage range without accounting for talents. +Spell damage keeps this range.
So what we have to do to get a fast and precise answer to our question, is find a spell which has the lowest possible range of damage, while not having a +dmg nerf too big to increase it again.

Fireball Rank 4 seems to be the perfect spell to do so.

Example:
Mage A has 1200 +fire dmg
Fireball (Rank 4) deals 84-116 (lvl 18 spell)

+dmg coefficient for this spell : (11+18)/70 ~= 0,414286
coefficient malus for being a < lvl 20 spell : 1 - (20-18)*0.0375 = 0.925

final coefficient for applying +dmg = 0,38315

1200*0.38315 = 459.78
min : 84+459.78 = 543,78
max : 116+459.78 = 575,78

Firepower is +10% damage
Playing with Fire is +3% damage
I'm counting these two talent as multiplicative (1.1*1.03). If it does not is the case, please let me know.

min : 616,10274
max : 652,35874

1 application of scorch is +3% damage

min : 634,5858222
max : 671,9295022

So, if by doing a Fireball Rank 4 followed by a scorch which hits before the target, we see a Fireball hit for more than 656 damage, or for less than 630 (3-4 damage range more/less just to make sure we avoid big rounding errors), then we can know the way the scorch debuff is handled.
 
User is offline.
Reply With Quote
Old 04/04/08, 2:42 AM   #11 (permalink)
Piston Honda
 
Troll Mage
 
Bloodhoof
I'm in a statistics class right now and love the opportunity to analyze this data.

In order to get a probability measure on the partial resists so that a standard deviation can be calculated, I will assume that your data is accurate in how often each partial resist happens. Assuming the data is gathered accurately, this assumption's error is very small. If we knew exactly how often each partial resist happened, we wouldn't need to go through any statistical analysis anyway. I am assuming that no full "partial" resists are happening at this level of resistance; if they do happen they are incredibly rare.

Given an average damage of 1 pre-resist, I calculate your data to have mean of .942153 (5.7847% resist) over 10558 samples. I calculate the sample variance is .020281, for a sample standard deviation of .142412 and thus the standard error of the mean is 0.001386. This gives an approximate 95% confidence interval (1.96* std error on each side) of (.9394, .9449). Thus we should not reject the null hypothesis that the resist rate is 6% (mean of .94).

However, the p-value is only .120, indicating that a sample mean this far from .94 will only happen 12% of the time if the resist rate is actually 6% if we assume the sampling distribution is normal (which it approaches given large sample sizes) and the actual standard deviation is as determined by the data. You did say that the resist rate stayed near 5.8% from around a sample size of 2k, which also suggests that 6% may be high. This analysis definitely suggests that more testing is in order.

Last edited by glowacks : 04/04/08 at 2:56 AM.
 
User is offline.
Reply With Quote
Old 04/24/08, 11:21 AM   #12 (permalink)
Glass Joe
 
Night Elf Rogue
 
Dunemaul
Originally Posted by plopinou View Post
What we can deduct from this data, is that the PR logged are misleading : they represent the resisted amount before any debuff from the target, but also, and this is quite surprising, before knowing if it was a crit or not.
I had a similar experience with Execute, on my warrior. I had been consistently doing full-rage executes on a particular mob for 2343. Then I got this:
Your Execute crits (mob) for 4586 (50 blocked).
Then another time after:
Your Execute crits (mob) for 4686.

So the (50 blocked) has obviously been applied to the damage value after armor reduction, but before the crit multiplier was applied. Perhaps the same calculation order is used for physical block as for partial resist.
 
User is offline.
Reply With Quote
Old 04/29/08, 2:17 AM   #13 (permalink)
Piston Honda
 
Night Elf Druid
 
Dragonblight
It should be pointed out that the order of effects doesn't matter if they're all multiplicative effects, as is the case with most spell debuffs and partial resists. The amount resisted might be a bit different, but the final amount of damage should be the same independent of whether you apply the partial resist at the start or end. The one debuff that I can think of that might be different would be judgement of crusader as that's a flat holy damage spell power increase.

For melee specials at least (I believe white damage is still considered to have a different model altogether), there's a lot more variety amongst debuffs and other multipliers, which could mean that the order matters a lot more (the previously mentioned block values, debuffs like hemo). doing some calculations with the melee attacks that do fixed damage could be interesting... Is hemo applied before crit determination for instance, (i'd guess yes)?. Were does the armour reduction figure into it all? I thought it was before block, but in hindsight as debuffs often affect armour level, it would make sense for armour based reduction to be at the end, which would lessen the effect of block value (but not the reported figure).

The feral druid is a different beast altogether.
 
User is offline.
Reply With Quote
Reply

Go Back   Elitist Jerks > Public Discussion > Class Mechanics

Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
Hydross OT Resistances Lucan The Dung Heap 2 04/14/07 11:25 PM
resistances in Naxx? vorda Public Discussion 6 08/11/06 6:21 AM
Calculating the effect of resistances Avair Public Discussion 3 05/24/06 6:44 PM
Partials resists since 1.9 Mosh Public Discussion 52 05/21/06 6:35 AM