public static void paint(Level level, Room room) { fill(level, room, Terrain.WALL); fill(level, room, 1, Terrain.EMPTY); Room.Door entrance = room.entrance(); Point statue = null; if (entrance.x == room.left) { statue = new Point(room.right - 1, Random.Int(2) == 0 ? room.top + 1 : room.bottom - 1); } else if (entrance.x == room.right) { statue = new Point(room.left + 1, Random.Int(2) == 0 ? room.top + 1 : room.bottom - 1); } else if (entrance.y == room.top) { statue = new Point(Random.Int(2) == 0 ? room.left + 1 : room.right - 1, room.bottom - 1); } else if (entrance.y == room.bottom) { statue = new Point(Random.Int(2) == 0 ? room.left + 1 : room.right - 1, room.top + 1); } if (statue != null) { set(level, statue, Terrain.STATUE); } int n = Random.IntRange(1, 2); for (int i = 0; i < n; i++) { int pos; do { pos = level.pointToCell(room.random()); } while (level.map[pos] != Terrain.EMPTY || level.heaps.get(pos) != null); level.drop(prize(level), pos); } entrance.set(Room.Door.Type.LOCKED); level.addItemToSpawn(new IronKey(Dungeon.depth)); }