Question Are Resistances going to change?

Elly

Administrator
Staff member
Feb 21, 2011
113
76
28
www.purediablo.com
If I have 15.1% resistance to Lightning and I add a Diamond 💎 to a ring which adds 6% to all resistances what will take my lightning resist to.....? I thought they were additive so I'd increase it to 21%. Nope.

So I thought multiplicative which (if I'm not mistaken) means 6% of 15% added to 15? So about 16%. That's poor but not the point I'm making. I got neither of those.

I put a diamond in each three pieces of jewelry so went from 15.1% to 19 then to 22.7 and then to 26.1.

Can someone who enjoys maths explain the increases there for me?
 
okay I went and figured it out. I ended up recording my resists and hopped through the difficulties and spreadsheeted everything.
There are no hidden penalties beyond WT3 and WT4 "penetration", which directly applies to the char sheet after all resists have been multiplied through.
D4 uses a ceiling function to round up to a tenth of a decimal I believe, at least for display purposes.

1st, the res formula: ceil((1 - [(1-x1)*(1-x2)*...(1-xn)]) * diff scalar)

A1lj0lu.png


The only thing I'm not sure of is the ratio of int to resists. 359 int = 18% resist all, but 349 int = 17.4% resist all. But if 10 int was 0.6% resist all, I'd have 21.x% resist so it's tiered somehow, or maybe a case of "the more you have the more you get", similar to armor. I'm only talking numerically here, since the functional DR you get from resists is hot garbage.

given your #s, scaling in effect, so WT3?
which means [1 - (1-(.151/.8)) * (1-0.06)] *.8
[1 - (1-0.18875)*(0.94)] *.8
[1 - (0.81125)(0.94)] *.8
[1 - 0.762575]*.8
0.18994 = 19.0

[1 - (1-(.18994/.8)(1-.06)] *.8
[1 - (1 - 0.237425)(0.94)]
[1 - (0.762575)(0.94)] *.8
[1 - 0.7168205] *.8
0.2265436 = 22.7

[1 - (1-(0.2265436/.8))(.94)] *.8
[1 - (1-0.2831795)(.94)] *.8
[1 - (0.7168205)(.94)] *.8
[1 - 0.67381127] *.8
0.260950984 = 26.1

My friend said resists are slated to be reworked for S2 but I don't have a source for that, maybe somebody else knows?
 
Last edited:
  • Like
Reactions: Rush
Wow! Thanks for this.

There's not a hope in hell I would have figured that out and I don't even fully understand it now that you've spelled it out.

I don't know why Blizzard don't display the true figures. In this instance why not display the real amount my resistances will increase if I socket the diamond? It seems unnecessarily evasive.

Waiting until the end of the year and the start of Season 2 to get this fixed is a heckuva long time in gaming terms.
 
I can sort of understand the reasoning from a dev pov, in maintaining consistent signaling to the player (i.e. an item like a diamond should display the same value, e.g. 6%, across all difficulties so players don't get confused as to what a regular diamond does), but I agree in that it should be more straightforwards than what it is atm. D2 and PoE avoided this with flat resistance penalties. I'd guess that they were trying to avoid issues with stat bloat later, where additive penalties might be minimalized, but this implementation isn't easy to gauge at a glance.

Lemme see if I can't explain it better with colour coding:
(x1 to xn is just a way of referencing unique variables; 1 and n should be in subscript but idk how to do that)
1689730427679.png

since we only get 50% of the final resist value as DR (and DR has diminishing returns as well), it's not accurate to say that 6% resist = we take 94% damage, but all the (1 - 0.06) is doing is inverting how you look at it for the sake of the calculation. We multiply all the damage that we don't resist together, then invert it with the final "1 -" to get our final resistance value.

Because it follows this simple pattern, we also don't need to know every single resist value (like adding up paragon values, or finding out the int ratio), only what your current resist is, and what you're trying to increase it by. You can either calculate it step by step (like I did above) or all at once and it'll be the same result. There's a small margin of error since the char sheet and item values are rounded. e.g. my hat is 42.06% according to armory, and 42.1% ingame.

for your original question:
(1- [(1-0.151) * (1-0.06)(1-0.06)(1-0.06)]) * 0.8
but because your res was observed in WT3, need to adjust the 15.1% back to base value (so /.8)
(1- [(1-0.151/.8) * (0.94)^3]) * 0.8
(1- [(1-0.18875) * 0.830584]) * 0.8
(1 - [0.81125 * 0.830584]) * 0.8
(1 - 0.67381127) * 0.8 -> invert "you don't resist 67.38% dmg", then scale to WT3
0.32618873 * 0.8 = 0.260950984 = 26.1% res in WT3
 
Thanks for the match @you .
Wonder when/if this will ever be fixed in Season 2.
@Elly if your char feels squishy, get the pants with the armor aspect :)
 
PurePremium
Estimated market value
Low
High