Fire Resist just plain wrong

Legs with 59.8% fire resist

Character statistics show 58.8% fire resist.

Common Blizzard, this isn’t a difficult math problem.

You get diminishing returns on all elemental resistances. And it diminishes very quickly after about 40-50%. To the point where if you are at 50% resistance and equip an item with an additional 50% resistance, your resistance will actually increase by ~2-3%.

He has one item with 59.8%. Regardless of whatever else you add to that, you would never get a lower value.

Diminishing returns never go negative, they just get closer and closer to zero.

That’s not how it is calculating. It doesn’t take the highest value, it’s taking your base value and adding additional resistances from other sources at increasingly diminished amounts. Whether or not you think that is the correct way to handle it is a different issue.

It actually gives pretty good info when you hover over the elemental resistances in your character sheet.

I understand how Diminishing returns work.

For example:
1 - 30% roll +
1 - 20% roll +
1 - 10% roll
= 49.6%, not 60%

Res = 1 - [(1 - Res1%) * (1 - Res2%) * (1 - Res3%) * (1 - Res4%)…]

The question is: What number can you add to 59.8% that makes it add to 58.8%? -3%?

For example:
1 - 59.8% roll +
1 - xx.x%
= 58.8%

Is -3% a valid roll on a piece of gear?

Sounds like you are not taking into account the -res penalty you get on nightmare and torment difficulty, so your Res can actually be lower then it would just based on the straight math of diminishing returns.

I think you should just kill better. Maybe the resistance won’t be a problem >.>

Jk. Seems funky, but it’s also hard to say how it is fully calculating, since you aren’t seeing their backend.

I am sure they will look into it, since you have made a mention. Though it’s probably working properly.

When you raise the difficulty, do all the resistances in the details of your inventory drop by 20%?

You put on a single piece of gear with 59.8% res, and it says 58.8% in the details of your inventory.

How is this working properly?

You still don’t understand what I wrote in my post. It would look something instead like:

(These numbers are made up just to show the process)
Base resistances = 20%
Resistances from intelligence = 30%

New resistances = 40% (20% + Some portion of 30%)

He adds on his new 59% resistance gear.

New resistances = 58% (40% + some portion of 59% to get to 58%)

Again, you might not agree with how this is being calculated. But at no point is it taking your “base” resistance as the highest single instance of that resistance. You can see this taking place in game by adding / removing a high resistance piece of gear.

I understand, but there is no case where the end result is less than any of the individual resistances.

If the largest roll is XX%, then the end result will ALWAYS be greater than XX%.

In your case, you have :
20%
30%
= 44%
Then you add 59%
The result is 77%

Then end result must be greater than the largest single value unless you are adding negative numbers.

You keep saying I might not agree with it, but that is not true. You are just mistaken. I know that adding 59% to an already high value might result in a net gain of .1%, and that is fine.

You are missing the point that in your hypothetical scenarios, you are adding negatives to reach a lower value than you started with. Each added resistance will increase the total, even if by a small amount.

You can not start with 59%, add a positive integer, and end up with 58%. Show me some hypothetical that accomplishes this.

You clearly are not understanding what I’m saying. I’ll throw one more try and then probably give up.

You didn’t even quote the same numbers I gave. In my case I had 20 +(30*X) = 40. 40 + (59 * Y) = 58%. In this example X is 66%, and Y is 30.5%. The end result does not have to be greater than the largest single value, even without adding negative numbers. It depends on the order that it adds the resistances and the factor for each step that is being used.

You can have 50%, add another 100%, and end up with 52% if it’s only giving you 2% of the additional 100% resistance. It seems like it starts you at some base value, adds the resistances from whichever stat gives you resistances (I’ve only played Sorc which is Int, I don’t know if all classes use Int), and then adds additional resistances from gear in that order. You absolutely could have three pieces of gear that each give 60% and end up with less than 60% resistances total if it’s giving you a very small portion of that 60% each time and NOT applying some negative number.

Edited to correct my X and Y values.

I think I understand how you arrived at those numbers now. But you are wrong.

You are multiplying 2 values, and then taking a subtotal, and then using that new total to multiply it with the next value.

Edit: I am not even sure what method you are using to combine 20% and 30% to get 40.4%, or how you combine 40.4% and 59% to get 58%.

This is not not how it works. You have to enter all the values at once to arrive at the correct total.

Using your math, it makes a difference which value you start with, and you will get different answers depending on the order that you add resistances.

This is the formula:

Res = 1 - [(1 - Res1%) * (1 - Res2%) * (1 - Res3%) * (1 - Res4%)…]

You are not using this formula, and that is how you are reaching erroneous values.

Using your method, combine these 3 values in this order:
20%
30%
60%
What do you get?

Then using your same method, combine the same 3 values in this order:
60%
30%
20%
What do you get?

If you get different values depending on the order that you added them, then you are doing it wrong. The correct answer is 77.6%

None of the values in the game will be close to 100%, and you can never reach 100% resist. If you had 100% resistance, then you would be immune.

Assume you started with 0% resistance.
Then you added 100%.
Then you stopped there. You are now immune to that element.

If you added 20% more, you would lose resistance.

This is not how it works. The total always increases with each added value, and you can never reach 100%.

Play around on this site, and see if your math checks out. The formula for resistance is the same as the formula for CDR.

http://rerollcalculator.com/CDR

This site also explains it in detail, but with CDR. Resistance in D4 works the same way, though.

https://maxroll.gg/d3/resources/cooldown-and-resource-cost-reduction-mechanics

I have no idea how the math is being done on that site, so I would prefer not to use it. But as I said before, I’m going to give up now. I’m not sure if English isn’t your first language, but you are reading what I write with little to no comprehension. You just give me another example on why you think you’re right.

Getting different values based on the order that you add them is exactly how it is working. It is not (highest resistance) + (next highest resistance * number less than 1) + (third highest resistance * number less than 1). It’s (first bucket of resistances) + (next bucket of resistances * number less than 1) + (next bucket of resistances * number less than 1) in some order set by Blizzard with who knows how many buckets. Next bucket of resistances could be 5 million, but if you are only getting 0.0000000001% of that you would net less than a 1 percent increase in your resistances. There doesn’t have to be a negative number involved.

I gave you the math on my example, and how I arrive at the end result of 58%, but I’ll go one more time. 20% is your base value that is not reduced. 30% is your next bucket 1 and is reduced to 66% of its value. 59% is next bucket 2 and is reduced to 32% of its value. 20 + (30 * .66) + (59 * .305) = 57.795. You can put that in excel and get the same end result.

“None of the values in the game will be close to 100%, and you can never reach 100% resist. If you had 100% resistance, then you would be immune.” This is not how it works in game. Half of elemental damage is reduced by armor. You could have 100% cold resistance and still take cold damage. You will never get 100% resistances because of all of my previous examples, but even if you did you would have to have 100% damage reduction from armor to be immune.

1 Like

I just told you. This is the formula:

  • Res = 1 - [(1 - Res1%) * (1 - Res2%) * (1 - Res3%) * (1 - Res4%)…]

Why are you using this formula and where did you get it from:

  • Res = [(Res1%) + (.66 * Res2%) + (.305 * Res3%) + (.xxx * Res4%)…]

Where are you getting .66 and .305, and what makes you think you only get 66% of the next roll, or 30.5% of the subsequent roll?

If you are just making stuff up, then I suppose your math makes sense.

I am making numbers up as I don’t know what the actual values being used by Blizzard are, but I am fairly certain the methodology is what is being used. You can see your resistances change in game when you add / remove gear with resistances.

Well done. You got me.

Here I was, thinking we were discussing actual math in the game. You wondered why I was having a hard time following what you were saying, and it was because I did not think you were just making stuff up in order to argue a ridiculous point.

So, let’s assume they did not pull something out of their butts like you did, and that they are using the same calculations that they use for CDR, RCR, and the like, then this is a game bug.


  • ME: Average these numbers together: 1,000, 500, 200, and 100. You get 450 regardless of the order you do it in.
  • You: Not if you only take 66% of the 2nd number and 33% of the next number, and 16.7%, and so on.
  • Me: Why would you do that?
  • You: To show you that the math sometimes does not work like you think it should.
  • Me: …

What a dumb conversation. Well done.

I’m not arguing a ridiculous point my dude, I’m telling you how it very likely works in game based on in game testing. No one knows how it works in game except for Blizzard. It very clearly does not work how you think it does. It specifically states that you get diminishing returns on additional resistances in game, you have a base resistance amount, and you get resistances from your stats separate from gear bonuses.

There are no other numbers in this post. You also made up numbers to make your point. That is generally how math works, you use example numbers to prove out a calculation methodology.

Here is the scenario from above:

  1. A player starts with no resistances at all.
  2. They put on pants with 59% fire resistance.
  3. Their stats show 58% fire resistance.

I say there is a bug because it should show at least 59%. Either it is visual or actual, but it should still show at least 59% regardless of what other pieces he has.

You say that maybe the game only takes a portion of each roll in order to justify the 58% shown. Maybe he has 2-3 other pieces of gear with fire resist and that lowers his resistance to below 59%.

This is ridiculous on its face.

I used arbitrary values and plugged them into a well known formula.

You made up your own formula from thin air to justify the outcome.

1 Like

All of you guys trying to fanboy believe Blizzard’s math is right. The code takes the HIGHEST resistance item you have and uses that as base. There is never a time when your resistance will be less than that highest item.

Sure, if you start your math with some lower item as the initial value, you should use the 8% resist gem, and see just how far off base you actually are for your own gear.

ps: and sure, the T4 algorithm nerfs resist – but not in a way we see – that nerf is 100% behind the scenes.

1 Like