@Override public boolean canPlaceCharacter(Point p, Level l) { return super.canPlaceCharacter(p, l) && l.map[l.pointToCell(p)] != Terrain.EMPTY_SP; } }
@Override public boolean canPlaceCharacter(Point p, Level l) { return super.canPlaceCharacter(p, l) && l.pointToCell(p) != l.exit; } }
@Override public boolean canPlaceCharacter(Point p, Level l) { return super.canPlaceCharacter(p, l) && l.map[l.pointToCell(p)] != Terrain.EMPTY_SP; } }
@Override public boolean canPlaceCharacter(Point p, Level l) { return super.canPlaceCharacter(p, l) && l.pointToCell(p) != l.exit; } }
@Override protected void placeShopkeeper(Level level) { int pos = level.pointToCell(center()); Mob shopkeeper = new ImpShopkeeper(); shopkeeper.pos = pos; level.mobs.add( shopkeeper ); }
protected void placeShopkeeper( Level level ) { int pos = level.pointToCell(center()); Mob shopkeeper = new Shopkeeper(); shopkeeper.pos = pos; level.mobs.add( shopkeeper ); }
@Override protected void placeShopkeeper(Level level) { int pos = level.pointToCell(center()); Mob shopkeeper = new ImpShopkeeper(); shopkeeper.pos = pos; level.mobs.add( shopkeeper ); }
protected void placeShopkeeper( Level level ) { int pos = level.pointToCell(center()); Mob shopkeeper = new Shopkeeper(); shopkeeper.pos = pos; level.mobs.add( shopkeeper ); }
private int plantPos( Level level ){ int pos; do{ pos = level.pointToCell(random()); } while (level.plants.get(pos) != null); return pos; }
private int plantPos( Level level ){ int pos; do{ pos = level.pointToCell(random()); } while (level.plants.get(pos) != null); return pos; } }
private int plantPos( Level level ){ int pos; do{ pos = level.pointToCell(random()); } while (level.plants.get(pos) != null); return pos; }
private int plantPos( Level level ){ int pos; do{ pos = level.pointToCell(random()); } while (level.plants.get(pos) != null); return pos; } }
private void placeItem(Item item, Level level){ int itemPos; do { itemPos = level.pointToCell(random()); } while (level.heaps.get(itemPos) != null); level.drop(item, itemPos); } }
@Override public boolean act(boolean enemyInFOV, boolean justAlerted) { boolean result = super.act(enemyInFOV, justAlerted); //this causes piranha to move away when a door is closed on them in a pool room. if (state == WANDERING && Dungeon.level instanceof RegularLevel){ Room curRoom = ((RegularLevel)Dungeon.level).room(pos); if (curRoom instanceof PoolRoom) { target = Dungeon.level.pointToCell(curRoom.random(1)); } } return result; } }
private void placeItem(Item item, Level level){ int itemPos; do { itemPos = level.pointToCell(random()); } while (level.heaps.get(itemPos) != null); level.drop(item, itemPos); } }
@Override public boolean act(boolean enemyInFOV, boolean justAlerted) { boolean result = super.act(enemyInFOV, justAlerted); //this causes piranha to move away when a door is closed on them in a pool room. if (state == WANDERING && Dungeon.level instanceof RegularLevel){ Room curRoom = ((RegularLevel)Dungeon.level).room(pos); if (curRoom instanceof PoolRoom) { target = Dungeon.level.pointToCell(curRoom.random(1)); } } return result; } }
public void paint(Level level) { Painter.fill( level, this, Terrain.WALL ); Painter.fill( level, this, 1, Terrain.EMPTY ); for (Room.Door door : connected.values()) { door.set( Room.Door.Type.REGULAR ); } level.exit = level.pointToCell(random( 2 )); Painter.set( level, level.exit, Terrain.EXIT ); }
public void paint(Level level) { Painter.fill( level, this, Terrain.WALL ); Painter.fill( level, this, 1, Terrain.EMPTY ); for (Room.Door door : connected.values()) { door.set( Room.Door.Type.REGULAR ); } level.exit = level.pointToCell(random( 2 )); Painter.set( level, level.exit, Terrain.EXIT ); }
@Override public void paint(Level level) { super.paint(level); Painter.fill(level, this, Terrain.WALL); Painter.fill(level, this, 1, Terrain.SECRET_TRAP); Point center = center(); level.drop(Generator.random(), level.pointToCell(center)).setHauntedIfCursed(0.75f).type = Heap.Type.SKELETON; for (Point p : getPoints()){ int cell = level.pointToCell(p); if (level.map[cell] == Terrain.SECRET_TRAP){ level.setTrap(new SummoningTrap().hide(), cell); } } entrance().set(Door.Type.HIDDEN); }
@Override public void paint(Level level) { super.paint(level); Item i = level.findPrizeItem(); if ( i == null ){ i = new Gold().random(); } int center = level.pointToCell(center()); Painter.set(level, center, Terrain.PEDESTAL); if (Random.Int(3) == 0) { level.drop(i, center).type = Heap.Type.MIMIC; } else { level.drop(i, center).type = Heap.Type.CHEST; } } }