v0.7.5: fixed inconsistency issues with slimes taking damage
This commit is contained in:
parent
2694eb43bd
commit
a6386b3285
|
@ -53,27 +53,13 @@ public class Slime extends Mob {
|
||||||
return 12;
|
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
|
@Override
|
||||||
public void damage(int dmg, Object src) {
|
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);
|
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
|
@Override
|
||||||
|
|
Loading…
Reference in New Issue
Block a user