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;
|
||||
}
|
||||
|
||||
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) {
|
||||
super.damage(dmg, src);
|
||||
} else {
|
||||
super.damage(reduceDamage(dmg), src);
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int defenseProc(Char enemy, int damage) {
|
||||
return super.defenseProc(enemy, reduceDamage(damage));
|
||||
super.damage(dmg, src);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
Loading…
Reference in New Issue
Block a user