Search in sources :

Example 1 with LockedFloor

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();
    }
}
Also used : LockedFloor(com.shatteredpixel.shatteredpixeldungeon.actors.buffs.LockedFloor) PrisonBossLevel(com.shatteredpixel.shatteredpixeldungeon.levels.PrisonBossLevel)

Example 2 with LockedFloor

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);
}
Also used : LockedFloor(com.shatteredpixel.shatteredpixeldungeon.actors.buffs.LockedFloor) HashSet(java.util.HashSet)

Example 3 with LockedFloor

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);
}
Also used : LockedFloor(com.shatteredpixel.shatteredpixeldungeon.actors.buffs.LockedFloor)

Example 4 with LockedFloor

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);
}
Also used : LockedFloor(com.shatteredpixel.shatteredpixeldungeon.actors.buffs.LockedFloor) GooSprite(com.shatteredpixel.shatteredpixeldungeon.sprites.GooSprite)

Example 5 with LockedFloor

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);
}
Also used : LockedFloor(com.shatteredpixel.shatteredpixeldungeon.actors.buffs.LockedFloor)

Aggregations

LockedFloor (com.shatteredpixel.shatteredpixeldungeon.actors.buffs.LockedFloor)5 PrisonBossLevel (com.shatteredpixel.shatteredpixeldungeon.levels.PrisonBossLevel)1 GooSprite (com.shatteredpixel.shatteredpixeldungeon.sprites.GooSprite)1 HashSet (java.util.HashSet)1