@Override public Door entrance() { return connected.isEmpty() ? new Door(left, top+2) : super.entrance(); }
@Override public int minHeight() { if (itemsToSpawn == null) itemsToSpawn = generateItems(); return Math.max(7, (int)(Math.sqrt(itemsToSpawn.size())+3)); }
private void spawnShop(Level level){ impSpawned = true; super.paint(level); }
protected void placeItems( Level level ){ itemsToSpawn = generateItems(); Point itemPlacement = new Point(entrance()); if (itemPlacement.y == top){ itemPlacement.y++; cell = level.pointToCell(random()); } while (level.heaps.get( cell ) != null || level.findMob( cell ) != null);
public void paint( Level level ) { Painter.fill( level, this, Terrain.WALL ); Painter.fill( level, this, 1, Terrain.EMPTY_SP ); placeShopkeeper( level ); placeItems( level ); for (Door door : connected.values()) { door.set( Door.Type.REGULAR ); } }
@Override public void onLevelLoad(Level level) { super.onLevelLoad(level); if (Imp.Quest.isCompleted() && !impSpawned){ impSpawned = true; placeItems(level); placeShopkeeper(level); } } }
protected void placeShopkeeper( Level level ) { int pos = level.pointToCell(center()); Mob shopkeeper = new Shopkeeper(); shopkeeper.pos = pos; level.mobs.add( shopkeeper ); }
initRooms.add(new ShopRoom());
itemsToSpawn.add(ChooseBag(Dungeon.hero.belongings));
protected void placeItems( Level level ){ itemsToSpawn = generateItems(); Point itemPlacement = new Point(entrance()); if (itemPlacement.y == top){ itemPlacement.y++; cell = level.pointToCell(random()); } while (level.heaps.get( cell ) != null || level.findMob( cell ) != null);
public void paint( Level level ) { Painter.fill( level, this, Terrain.WALL ); Painter.fill( level, this, 1, Terrain.EMPTY_SP ); placeShopkeeper( level ); placeItems( level ); for (Door door : connected.values()) { door.set( Door.Type.REGULAR ); } }
@Override public void onLevelLoad(Level level) { super.onLevelLoad(level); if (Imp.Quest.isCompleted() && !impSpawned){ impSpawned = true; placeItems(level); placeShopkeeper(level); } } }
protected void placeShopkeeper( Level level ) { int pos = level.pointToCell(center()); Mob shopkeeper = new Shopkeeper(); shopkeeper.pos = pos; level.mobs.add( shopkeeper ); }
initRooms.add(new ShopRoom());
itemsToSpawn.add(ChooseBag(Dungeon.hero.belongings));
@Override public int minWidth() { if (itemsToSpawn == null) itemsToSpawn = generateItems(); return Math.max(7, (int)(Math.sqrt(itemsToSpawn.size())+3)); }
private void spawnShop(Level level){ impSpawned = true; super.paint(level); }
@Override public Door entrance() { return connected.isEmpty() ? new Door(left, top+2) : super.entrance(); }
@Override public int minWidth() { if (itemsToSpawn == null) itemsToSpawn = generateItems(); return Math.max(7, (int)(Math.sqrt(itemsToSpawn.size())+3)); }
@Override public int minHeight() { if (itemsToSpawn == null) itemsToSpawn = generateItems(); return Math.max(7, (int)(Math.sqrt(itemsToSpawn.size())+3)); }