Greetings, comrades.

Today I want to speak about actual Resist Reduction and it order of it applying. All of the above is relevant for version 1.0.6.1

As we know there is 3 way to reduce enemies’ resistance:

- X Reduced target’s Resistance
- –Y% Resitance
- Z% Reduced target’s Resistance

I write in this order, because based on Advanced mechanics post and this Zantai’s post it was considered correct: X and Y applying first additively and Z applies last multiplicatively.

But, several test and discussion in Russian Community gave rise to doubt this.

So, I conducted a large-scale test. Using mods as usual for controlled environment.

Initial conditions:

Olexra’s Flash Freeze: 178 cold damage

Curse of Frailty + Vulnerability: -30% Elemental Resistance (suppose as -30% Cold Resistance)

Custom weapon with 2 types of RR:

43 Reduced target’s Resistance

51% Reduced target’s Resistance

Targets are Training Dummy with 0 Cold Resistance and Custom skeleton with 0, 50, 75, 100 and -50 Cold Resistance

Casts OFF with combination of RR and get table:

If you try calculate dealt damage using old Order of RR you will fail.

The thing is that, as I said old order is wrong.

After analyzing the results of the experiment, one can come to the conclusion, that correct RR order are next:

First “-Y% Resistance” additive debuff,

then “Z% Reduced” multiplicatively,

and last “X Reduced” Additive.

What about stacking same type of RR, all rules are save:

Works only strongest of Reduction of each type; (Strongest of X and Strongest of Z)

All other different source debuffs stacks. (All Y-s are summed over)

In this way, Final Resistance formula could be written as follows:

Resist=(R0+Y)*(1-sgn(R0+Y)*Z/100)-X

Where: Resist – Final enemy Resistance

R0 – Initial enemy resistance

X – “X Reduced target’s Resistance” (For current example X=43)

Y – “-Y% Resistance” (For current example Y=-30. Be noticed: not 30, -30% or 30%)

Z – “Z% Reduced target’s Resistance” (For current example Z=51. Be noticed: not 51%)

sgn() – sign function

If You have many various RR, general form is:

Resist=(R0+sum(Yi))*(1-sgn(R0+sum(Yi))*max(Zi)/100)-max(Xi)

Dealt damage could be calculated accordingly with next formula:

Dmg=D0*(100-Resist)/100

Using these 2 formulas you can check that the calculated values fully correspond to the experimental data.

This new information will allow to consider efficiency of RR and also separate builds.

I hope that this thread was useful to you. Good luck on the vastness of Cairn and don’t forget reduce resistance.