PDA

View Full Version : Damage Ressist (DR)


Nenad
Thursday, December 27, 2007, 12:35 PM
I did some tests trying to find out what influence DR shown on character screen, and how to calculate it, since current formula DR= ARM/(ARM+ATK) is not giving good numbers for all values of ARM, especially if AoD is used.

I did check on sample of about 40 different values, and results are as follows:

1) Damage Ressist (DR) shown on character stats is function of Armor (ARM) and your character level (LVL) . Shown value is NOT function of mob level, although real DR supposedly is dependant on mob level.

2) ARM shown on character stats is ARM= GearARM* (1+ AoD%*mobs), where GearARM is what you see without AoD or without mobs around, and AoD% is close to one shown in tooltip for AoD. I say "close" since for 6/10 AoD it should be 0.16, but in reality it is 0.147. Simillary, for 7/10 AoD it is 0.17 on tooltip, while in reality it is 0.159. But I presume that was some hidden nerf and/or roundings on 2 digits.

3) DR formula as function of ARM and LVL(of player) is not so easy to guess, but one close approximation is DR=0.93+4.1/Lvl-184/ARM+12050/ARM^2. Yes, I know formula looks weird, but it gives close enough numbers ;p Another approximation is DR= 1/( 1+87*(cLvl/ARM)^1.88 ), which is shorter.


Conclusion:

ARM= GearARM* (1+ AoD%*mobs)

old: DR= 1/ ( 1+( 5* cLvl+20 )/ARM )
new1: DR= 1/( 1+87*(cLvl/ARM)^1.88 )
new2: DR= 0.93 + 4.1/LVL + (12050/ARM - 184)/ARM


BTW, test set (including some values from other posts here) :

LVL ARM DR mobLvl #mobs
------------------------------------------------------------
28 642 0.81 30 0
28 744 0.85 30 1
28 846 0.88 30 2
28 954 0.90 30 3
28 1470 0.95 30 8

29 642 0.80 30 0
29 744 0.84 30 1
29 846 0.87 30 2
29 954 0.90 30 3
29 1056 0.91 30 4
29 1158 0.93 30 5
29 1470 0.95 30 8

21 490 0.81 20 0
21 562 0.84 20 1
21 634 0.87 20 2
21 706 0.89 20 3
21 778 0.91 20 4
21 850 0.92 20 5
21 1066 0.95 20 8

21 490 0.81 19 0
21 562 0.84 19 1
21 634 0.87 19 2
21 706 0.89 19 3
21 778 0.91 19 4
21 850 0.92 19 5
21 1066 0.95 19 8

21 490 0.81 22 0
21 562 0.84 22 1
21 634 0.87 22 2
21 706 0.89 22 3
21 778 0.91 22 4
21 1066 0.95 22 8

9 156 0.70 0 0
50 1035 0.80 0 0
50 2711 0.96 0 8
50 2007 0.93 0 8
50 3006 0.97 0 8
50 4584 0.98 0 8



#mobs from above is number of mobs around me when I was using AoD, and ARM is armor shown on character stats in those cases. For those interested, lvl 28/29 guardian had 7/10 AoD, lvl 21 guardian had 6/10, lvl 9 guardian had 0/10, and lvl 50 had 10/10. Of course, #mobs influence only ARM, not DR directly - ie, if I had 490 gear armor, and at lvl 21 with 6/10 AoD and 3 mobs around me I have 706 armor, I will have exactly same DR as someone lvl 21 who has 706 armor from gear and no AoD at all. So I just included #mobs for reference ;p

Hammerman
Thursday, December 27, 2007, 06:11 PM
I did some tests trying to find out what influence DR shown on character screen, and how to calculate it, since current formula DR= ARM/(ARM+ATK) is not giving good numbers for all values of ARM, especially if AoD is used.

Hm, the formula you give there should be the formula used for the display % damage reduction value (and most likely actual % damage reduction, although I have not looked at it). Don't know if AoD is bugged or not, but that is irrelevant to the formula.

The value of ATK is the monsters attack rating, as you know, and is based on the monsters level as follows:

ar = 20 + mlvl * 5

I use the abbrevation 'ar' for 'attack rating' instead of ATK, let me know if you find it innapropriate. Also mlvl is monster level, and when calculating the displayed %dr, it uses mlvl = clvl (character level).

Now, applying this to the values you give does NOT give the %dr that you get. I would assume that, when using AoD, the displayed armor value is not the actual armor value it uses when doing these calculation. You mention some inconsistencies with displayed %armor bonus from AoD and its actual %armor bonus, so maybe it is using the displayed (tooltip) %bonus when calculating the displayed %dr?

Nenad
Friday, December 28, 2007, 01:43 AM
Now, applying this to the values you give does NOT give the %dr that you get.

yes, that is reason I tried to find alternate formula that will match all values, and one I suggested above indeed match both values without AoD and those with AoD applied.

I would assume that, when using AoD, the displayed armor value is not the actual armor value it uses when doing these calculation. You mention some inconsistencies with displayed %armor bonus from AoD and its actual %armor bonus, so maybe it is using the displayed (tooltip) %bonus when calculating the displayed %dr?

Interesting idea, but after i checked it, it didnt match. I tried calculating ARM when AoD applied with 0.17 per mob (tooltip) instead of 0.159 (real case), and using that increased ARM in old formula DR=ARM/(ARM+20+5*LVL), but it still didnt give expected results with more than GearARM. For example on lvl 21 char with 490 armor without AoD, old formula give same as tooltip, 80%. But with 8 mobs and AoD, tooltip shows 95% with 1066 armor. When I try to use old formula even with armor calculated *0.17 (so 1117 ARM instead of 1066), I get only 90% DR - still way under shown 95%. New suggested formula gives 96% here, which is much closer.



There are two explanation that I can think for this difference when AoD applied:

1) AoD maybe change something else beside ARM, or change ARM in different way than it shows on tooltip. Personally, I dont believe in this , because wrong numbers on tooltip would be bug, and so far DR could be explained with ARM and clvl only, so using "occam's razor" logic, there is no need to involve "something else"

2) Old formula is maybe correct only when ARM is in range of about 21x cLvl. This explanation seems much more probable to me, especially considering flat (slow) increase of DR with increase of ARM on old formula. For example, from 490 to 1066 arm tootip has 14% difference in DR (from 81% to 95%), while old formula gives only 9% (from 81% to 90%)

3) of course, it is quite possible that there is some third explanation. One way to test above would be if someone can increase his ARM significantly over 21*cLvl with gear (without using AOD) and we can check if old formula (and new one) would still work

But at this moment I believe that formula I proposed cover both situations without AoD, and those with AoD, since it rely only on shown ARM and cLvl.

Nenad
Friday, December 28, 2007, 07:24 AM
BTW, suggested formula is just one of many that closely enough match result data set. There are number of other formulas with similary close results that differs slightly in how close they match and differ in complexity of formula.

Some examples:

DR= 1/(1+(7.88*cLvl-84)/(ARM^2/1140+ARM/1.85-136))

DR= 1/( 1+87*(cLvl/ARM)^1.88 )


Last one is simplest formula so far that closely enough match all data. It is comparable in complexity to old DR= 1/(1+(5*cLvl+20)/ARM), and it match DR data much closer for higher values of ARM (compared to 21*cLvl)

Hammerman
Friday, December 28, 2007, 07:36 AM
yes, that is reason I tried to find alternate formula that will match all values, and one I suggested above indeed match both values without AoD and those with AoD applied.

Hehe yes, and you did well finding an empirical formula for the %dr values, wacky as it looks :)

However, it seems that the answer is simply that the AoD %armor bonus is applied TWICE. Whoever did the skill code must have made it so that the 'armor' stat is modified with the %armor bonus with each additional enemy in aura radius, instead of adding directly to the 'armor percent' stat. Then when it comes to damage calculations, the 'armor' stat is taken and 'armor percent' stat applied to it. And, as far as I can see, this is also done in the actual damage calculations, so it is not a display bug.

That still leaves the problem of figuring out the actual %armor bonus that AoD gives, since the skill description is not correct (as you said).