@SuppressWarnings("unchecked") @Override public void die( Object cause ) { for (Mob mob : (Iterable<Mob>)Dungeon.level.mobs.clone()) { if (mob instanceof BurningFist || mob instanceof RottingFist) { mob.die( cause ); } } GameScene.bossSlain(); Dungeon.level.drop( new SkeletonKey( Dungeon.depth ), pos ).sprite.drop(); super.die( cause ); yell( Messages.get(this, "defeated") ); }
@SuppressWarnings("unchecked") @Override public void die( Object cause ) { for (Mob mob : (Iterable<Mob>)Dungeon.level.mobs.clone()) { if (mob instanceof BurningFist || mob instanceof RottingFist) { mob.die( cause ); } } GameScene.bossSlain(); Dungeon.level.drop( new SkeletonKey( Dungeon.depth ), pos ).sprite.drop(); super.die( cause ); 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()) ); }
&& Notes.keyCount(new SkeletonKey(Dungeon.depth)) > 0) {
@Override public void die( Object cause ) { super.die( cause ); Dungeon.level.unseal(); GameScene.bossSlain(); Dungeon.level.drop( new SkeletonKey( Dungeon.depth ), pos ).sprite.drop(); //60% chance of 2 blobs, 30% chance of 3, 10% chance for 4. Average of 2.5 int blobs = Random.chances(new float[]{0, 0, 6, 3, 1}); for (int i = 0; i < blobs; i++){ int ofs; do { ofs = PathFinder.NEIGHBOURS8[Random.Int(8)]; } while (!Dungeon.level.passable[pos + ofs]); Dungeon.level.drop( new GooBlob(), pos + ofs ).sprite.drop( pos ); } Badges.validateBossSlain(); yell( Messages.get(this, "defeated") ); }
@Override public void die( Object cause ) { super.die( cause ); Dungeon.level.unseal(); GameScene.bossSlain(); Dungeon.level.drop( new SkeletonKey( Dungeon.depth ), pos ).sprite.drop(); //60% chance of 2 blobs, 30% chance of 3, 10% chance for 4. Average of 2.5 int blobs = Random.chances(new float[]{0, 0, 6, 3, 1}); for (int i = 0; i < blobs; i++){ int ofs; do { ofs = PathFinder.NEIGHBOURS8[Random.Int(8)]; } while (!Dungeon.level.passable[pos + ofs]); Dungeon.level.drop( new GooBlob(), pos + ofs ).sprite.drop( pos ); } Badges.validateBossSlain(); yell( Messages.get(this, "defeated") ); }
&& Notes.keyCount(new SkeletonKey(Dungeon.depth)) > 0) {
@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") ); }
Level.set( doorCell, Terrain.DOOR ); } else { Notes.remove(new SkeletonKey(Dungeon.depth)); Level.set( doorCell, Terrain.UNLOCKED_EXIT );
Level.set( doorCell, Terrain.DOOR ); } else { Notes.remove(new SkeletonKey(Dungeon.depth)); Level.set( doorCell, Terrain.UNLOCKED_EXIT );
if (specialKeys[i] > 0){ if (i % 5 == 0){ Notes.add((Key) new SkeletonKey(i).quantity(specialKeys[i])); } else { Notes.add((Key) new GoldenKey(i).quantity(specialKeys[i]));
if (specialKeys[i] > 0){ if (i % 5 == 0){ Notes.add((Key) new SkeletonKey(i).quantity(specialKeys[i])); } else { Notes.add((Key) new GoldenKey(i).quantity(specialKeys[i]));