v0.7.5: fixed inconsistency issues with slimes taking damage

This commit is contained in:
Evan Debenham 2019-09-28 23:33:40 -04:00
parent 2694eb43bd
commit a6386b3285

View File

@ -53,27 +53,13 @@ public class Slime extends Mob {
return 12;
}
private int reduceDamage( int incomingDamage ){
if (incomingDamage <= 4){
return incomingDamage;
} else {
//takes 5/6/7/8/9/10 dmg at 5/7/10/14/19/25 incoming dmg
return 4 + (int)(Math.sqrt(8*(incomingDamage - 4) + 1) - 1)/2;
}
}
@Override
public void damage(int dmg, Object src) {
if (src instanceof Char) {
if (dmg >= 5){
//takes 5/6/7/8/9/10 dmg at 5/7/10/14/19/25 incoming dmg
dmg = 4 + (int)(Math.sqrt(8*(dmg - 4) + 1) - 1)/2;
}
super.damage(dmg, src);
} else {
super.damage(reduceDamage(dmg), src);
}
}
@Override
public int defenseProc(Char enemy, int damage) {
return super.defenseProc(enemy, reduceDamage(damage));
}
@Override