use of com.watabou.pixeldungeon.actors.mobs.Thief in project pixel-dungeon by watabou.
the class Burning method act.
@Override
public boolean act() {
if (target.isAlive()) {
if (target instanceof Hero) {
Buff.prolong(target, Light.class, TICK * 1.01f);
}
target.damage(Random.Int(1, 5), this);
if (target instanceof Hero) {
Item item = ((Hero) target).belongings.randomUnequipped();
if (item instanceof Scroll) {
item = item.detach(((Hero) target).belongings.backpack);
GLog.w(TXT_BURNS_UP, item.toString());
Heap.burnFX(target.pos);
} else if (item instanceof MysteryMeat) {
item = item.detach(((Hero) target).belongings.backpack);
ChargrilledMeat steak = new ChargrilledMeat();
if (!steak.collect(((Hero) target).belongings.backpack)) {
Dungeon.level.drop(steak, target.pos).sprite.drop();
}
GLog.w(TXT_BURNS_UP, item.toString());
Heap.burnFX(target.pos);
}
} else if (target instanceof Thief && ((Thief) target).item instanceof Scroll) {
((Thief) target).item = null;
target.sprite.emitter().burst(ElmoParticle.FACTORY, 6);
}
} else {
detach();
}
if (Level.flamable[target.pos]) {
GameScene.add(Blob.seed(target.pos, 4, Fire.class));
}
spend(TICK);
left -= TICK;
if (left <= 0 || Random.Float() > (2 + (float) target.HP / target.HT) / 3 || (Level.water[target.pos] && !target.flying)) {
detach();
}
return true;
}
Aggregations