@Override public void die( Object cause ) { if (Dungeon.hero.subClass == HeroSubClass.NONE) { Dungeon.level.drop( new TomeOfMastery(), pos ).sprite.drop(); } GameScene.bossSlain(); super.die( cause ); Badges.validateBossSlain(); LloydsBeacon beacon = Dungeon.hero.belongings.getItem(LloydsBeacon.class); if (beacon != null) { beacon.upgrade(); } yell( Messages.get(this, "defeated") ); }
@Override public void die( Object cause ) { if (Dungeon.hero.subClass == HeroSubClass.NONE) { Dungeon.level.drop( new TomeOfMastery(), pos ).sprite.drop(); } GameScene.bossSlain(); super.die( cause ); Badges.validateBossSlain(); LloydsBeacon beacon = Dungeon.hero.belongings.getItem(LloydsBeacon.class); if (beacon != null) { beacon.upgrade(); } yell( Messages.get(this, "defeated") ); }
@Override public void die( Object cause ) { GameScene.bossSlain(); Dungeon.level.drop( new ArmorKit(), pos ).sprite.drop(); Dungeon.level.drop( new SkeletonKey( Dungeon.depth ), pos ).sprite.drop(); super.die( cause ); Badges.validateBossSlain(); LloydsBeacon beacon = Dungeon.hero.belongings.getItem(LloydsBeacon.class); if (beacon != null) { beacon.upgrade(); } yell( Messages.get(this, "defeated", Dungeon.hero.givenName()) ); }
@Override public void die( Object cause ) { GameScene.bossSlain(); Dungeon.level.drop( new ArmorKit(), pos ).sprite.drop(); Dungeon.level.drop( new SkeletonKey( Dungeon.depth ), pos ).sprite.drop(); super.die( cause ); Badges.validateBossSlain(); LloydsBeacon beacon = Dungeon.hero.belongings.getItem(LloydsBeacon.class); if (beacon != null) { beacon.upgrade(); } yell( Messages.get(this, "defeated", Dungeon.hero.givenName()) ); }
@Override public void die( Object cause ) { super.die( cause ); GameScene.bossSlain(); Dungeon.level.drop( new SkeletonKey( Dungeon.depth ), pos ).sprite.drop(); //60% chance of 2 shards, 30% chance of 3, 10% chance for 4. Average of 2.5 int shards = Random.chances(new float[]{0, 0, 6, 3, 1}); for (int i = 0; i < shards; i++){ int ofs; do { ofs = PathFinder.NEIGHBOURS8[Random.Int(8)]; } while (!Dungeon.level.passable[pos + ofs]); Dungeon.level.drop( new MetalShard(), pos + ofs ).sprite.drop( pos ); } Badges.validateBossSlain(); LloydsBeacon beacon = Dungeon.hero.belongings.getItem(LloydsBeacon.class); if (beacon != null) { beacon.upgrade(); } yell( Messages.get(this, "defeated") ); }
@Override public void die( Object cause ) { super.die( cause ); GameScene.bossSlain(); Dungeon.level.drop( new SkeletonKey( Dungeon.depth ), pos ).sprite.drop(); //60% chance of 2 shards, 30% chance of 3, 10% chance for 4. Average of 2.5 int shards = Random.chances(new float[]{0, 0, 6, 3, 1}); for (int i = 0; i < shards; i++){ int ofs; do { ofs = PathFinder.NEIGHBOURS8[Random.Int(8)]; } while (!Dungeon.level.passable[pos + ofs]); Dungeon.level.drop( new MetalShard(), pos + ofs ).sprite.drop( pos ); } Badges.validateBossSlain(); LloydsBeacon beacon = Dungeon.hero.belongings.getItem(LloydsBeacon.class); if (beacon != null) { beacon.upgrade(); } yell( Messages.get(this, "defeated") ); }