Broken Crown of Tol & death resist. What is the reduction % per point of resistance?

Roukan

Loreseeker
Joined
06/02/2017
Messages
79
Just tested the life drain of the Broken Crown of Tol (12 death damage) against the death resist stat. From as low a death resist as I could manage, till a death resist high enough to completely mitigate the life drain, i.e. Math.floor(12 * (1 - deathResist%)) = 0.

Here's the cut-off points for crown damage reduction.
deathResist = 0, crownDamage = 12
1 ≤ deathResist ≤ 4, crownDamage = ?
deathResist = 5, crownDamage = 11
6 ≤ deathResist ≤ 8 crownDamage = ?
deathResist = 9, crownDamage = 10
deathResist = 15, crownDamage = 10
deathResist = 16, crownDamage = ?
deathResist = 17, crownDamage = 9
deathResist = 25, crownDamage = 9
deathResist = 26, crownDamage = 8
deathResist = 33, crownDamage = 8
deathResist = 34, crownDamage = 7
deathResist = 41, crownDamage = 7
deathResist = 42, crownDamage = 6
deathResist = 51, crownDamage = 6
deathResist = 52, crownDamage = 5
deathResist = 67, crownDamage = 5
deathResist = 68, crownDamage = 4
deathResist = 85, crownDamage = 4
deathResist = 86, crownDamage = 3
deathResist = 113, crownDamage = 3
deathResist = 114, crownDamage = 2
deathResist = 145, crownDamage = 2
deathResist = 146, crownDamage = 1
deathResist = 177, crownDamage = 1
deathResist = 178, crownDamage = 0

Going by the information in this link, http://www.exiledkingdoms.com/wiki/index.php?title=Elements, the numbers seem correct up till 50 resistance...then it becomes somewhat odd. Could someone make sense of how exactly does damage reduction from element resistance work after 50?

Thanks.
 

MikeB

Staff member
Loreseeker
Joined
31/10/2016
Messages
1,390
Location
Germany
Hmm, it doesn't make sense to me either. Even if I apply all kinds of rounding or flooring on intermediate results, I cannot get the numbers in a consistent way. Seems like the residual damage is lower than it should be according to the rules on the Wiki.

These rules were once communicated by David himself and are described here: Resistances. What is written under Elements is already an extrapolation of the behavior beyond values of 150, something which was never explicitely stated by David (at least to my knowledge) and which may therefore be wrong. However, the scheme already seems to fail above 50, so I sense you are really up to something here...

Either David changed the rules at some point or there is a flaw in the formulas (wouldn't be the first time :mrgreen:). Anyway, I think that only David can clarify this.

P.S. Nice work!
 

DavidBVal

Developer
Staff member
Administrator
Joined
28/02/2015
Messages
7,442
Looks like values in code were slightly adjusted half a year ago but I forgot to notify you guys. From 75 and 100 to 80 and 110.

Here it is:

Code:
public static int getEffectiveResistancePercent(int resistance){
		if (resistance==0)
			return 0;
				
		int result=0; //no resistance
		
		if (resistance<=50){			
			result=resistance;				
		}else if (resistance<=80){				//between 51 and 81, +1% for each 2 points
			result=50+	((resistance-50)/2);				
		}else if (resistance<=110){				
			result=65+	((resistance-80)/3);	//between 81 and 110, +1% for each 3 points		
		} else{
			result=75+ ((resistance-110)/4);	//past 110, +1% for each 4 points. Immunity at 210
		}
				
		return result;
	}
 

MikeB

Staff member
Loreseeker
Joined
31/10/2016
Messages
1,390
Location
Germany
Thank you, that explains it, then. Important to note that the final result is floored (not rounded), that's why you already gain immunity at 178.

So the only thing left to do is rewriting the Wiki...
 

Top