v0.9.1: fixed errors when DK or some fists would take negative dmg

This commit is contained in:
Evan Debenham 2020-10-21 15:40:55 -04:00
parent 0d9bd47ba6
commit 0bfcd5e4a3
2 changed files with 12 additions and 5 deletions
core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs

View File

@ -362,10 +362,12 @@ public class DwarfKing extends Mob {
super.damage(dmg, src);
return;
} else if (phase == 3 && !(src instanceof Viscosity.DeferedDamage)){
Viscosity.DeferedDamage deferred = Buff.affect( this, Viscosity.DeferedDamage.class );
deferred.prolong( dmg );
if (dmg >= 0) {
Viscosity.DeferedDamage deferred = Buff.affect( this, Viscosity.DeferedDamage.class );
deferred.prolong( dmg );
sprite.showStatus( CharSprite.WARNING, Messages.get(Viscosity.class, "deferred", dmg) );
sprite.showStatus( CharSprite.WARNING, Messages.get(Viscosity.class, "deferred", dmg) );
}
return;
}
int preHP = HP;

View File

@ -352,6 +352,9 @@ public abstract class YogFist extends Mob {
@Override
public void damage(int dmg, Object src) {
if (!isInvulnerable(src.getClass()) && !(src instanceof Bleeding)){
if (dmg < 0){
return;
}
Bleeding b = buff(Bleeding.class);
if (b == null){
b = new Bleeding();
@ -406,8 +409,10 @@ public abstract class YogFist extends Mob {
@Override
public void damage(int dmg, Object src) {
if (!isInvulnerable(src.getClass()) && !(src instanceof Viscosity.DeferedDamage)){
Buff.affect(this, Viscosity.DeferedDamage.class).prolong(dmg);
sprite.showStatus( CharSprite.WARNING, Messages.get(Viscosity.class, "deferred", dmg) );
if (dmg >= 0) {
Buff.affect(this, Viscosity.DeferedDamage.class).prolong(dmg);
sprite.showStatus(CharSprite.WARNING, Messages.get(Viscosity.class, "deferred", dmg));
}
} else{
super.damage(dmg, src);
}