use of com.shatteredpixel.shatteredpixeldungeon.actors.buffs.LockedFloor in project shattered-pixel-dungeon-gdx by 00-Evan.
the class Tengu method damage.
@Override
public void damage(int dmg, Object src) {
int beforeHitHP = HP;
super.damage(dmg, src);
dmg = beforeHitHP - HP;
LockedFloor lock = Dungeon.hero.buff(LockedFloor.class);
if (lock != null) {
int multiple = beforeHitHP > HT / 2 ? 1 : 4;
lock.addTime(dmg * multiple);
}
// phase 2 of the fight is over
if (HP == 0 && beforeHitHP <= HT / 2) {
((PrisonBossLevel) Dungeon.level).progress();
return;
}
int hpBracket = beforeHitHP > HT / 2 ? 12 : 20;
// phase 1 of the fight is over
if (beforeHitHP > HT / 2 && HP <= HT / 2) {
HP = (HT / 2) - 1;
yell(Messages.get(this, "interesting"));
((PrisonBossLevel) Dungeon.level).progress();
BossHealthBar.bleed(true);
// if tengu has lost a certain amount of hp, jump
} else if (beforeHitHP / hpBracket != HP / hpBracket) {
jump();
}
}
use of com.shatteredpixel.shatteredpixeldungeon.actors.buffs.LockedFloor in project shattered-pixel-dungeon-gdx by 00-Evan.
the class Yog method damage.
@Override
public void damage(int dmg, Object src) {
HashSet<Mob> fists = new HashSet<>();
for (Mob mob : Dungeon.level.mobs) if (mob instanceof RottingFist || mob instanceof BurningFist)
fists.add(mob);
for (Mob fist : fists) fist.beckon(pos);
dmg >>= fists.size();
super.damage(dmg, src);
LockedFloor lock = Dungeon.hero.buff(LockedFloor.class);
if (lock != null)
lock.addTime(dmg * 0.5f);
}
use of com.shatteredpixel.shatteredpixeldungeon.actors.buffs.LockedFloor in project shattered-pixel-dungeon-gdx by 00-Evan.
the class King method damage.
@Override
public void damage(int dmg, Object src) {
super.damage(dmg, src);
LockedFloor lock = Dungeon.hero.buff(LockedFloor.class);
if (lock != null)
lock.addTime(dmg);
}
use of com.shatteredpixel.shatteredpixeldungeon.actors.buffs.LockedFloor in project shattered-pixel-dungeon-gdx by 00-Evan.
the class Goo method damage.
@Override
public void damage(int dmg, Object src) {
boolean bleeding = (HP * 2 <= HT);
super.damage(dmg, src);
if ((HP * 2 <= HT) && !bleeding) {
BossHealthBar.bleed(true);
sprite.showStatus(CharSprite.NEGATIVE, Messages.get(this, "enraged"));
((GooSprite) sprite).spray(true);
yell(Messages.get(this, "gluuurp"));
}
LockedFloor lock = Dungeon.hero.buff(LockedFloor.class);
if (lock != null)
lock.addTime(dmg * 2);
}
use of com.shatteredpixel.shatteredpixeldungeon.actors.buffs.LockedFloor in project shattered-pixel-dungeon-gdx by 00-Evan.
the class DM300 method damage.
@Override
public void damage(int dmg, Object src) {
super.damage(dmg, src);
LockedFloor lock = Dungeon.hero.buff(LockedFloor.class);
if (lock != null && !isImmune(src.getClass()))
lock.addTime(dmg * 1.5f);
}
Aggregations