public void paint( Level level ) { Door entrance = entrance(); entrance.set(Door.Type.LOCKED); level.addItemToSpawn(new IronKey(Dungeon.depth)); Painter.fill(level, this, Terrain.WALL); Painter.fill(level, this, 1, Terrain.GRASS); int heartX = Random.IntRange(left+1, right-1); int heartY = Random.IntRange(top+1, bottom-1); if (entrance.x == left) { heartX = right - 1; } else if (entrance.x == right) { heartX = left + 1; } else if (entrance.y == top) { heartY = bottom - 1; } else if (entrance.y == bottom) { heartY = top + 1; } placePlant(level, heartX + heartY * level.width(), new RotHeart()); int lashers = ((width()-2)*(height()-2))/8; for (int i = 1; i <= lashers; i++){ int pos; do { pos = level.pointToCell(random()); } while (!validPlantPos(level, pos)); placePlant(level, pos, new RotLasher()); } }
public static ArrayList<Room> spawnRoom( ArrayList<Room> rooms) { questRoomSpawned = false; if (!spawned && (type != 0 || (Dungeon.depth > 6 && Random.Int( 10 - Dungeon.depth ) == 0))) { // decide between 1,2, or 3 for quest type. if (type == 0) type = Random.Int(3)+1; switch (type){ case 1: default: rooms.add(new MassGraveRoom()); break; case 2: rooms.add(new RitualSiteRoom()); break; case 3: rooms.add(new RotGardenRoom()); break; } questRoomSpawned = true; } return rooms; }
public static ArrayList<Room> spawnRoom( ArrayList<Room> rooms) { questRoomSpawned = false; if (!spawned && (type != 0 || (Dungeon.depth > 6 && Random.Int( 10 - Dungeon.depth ) == 0))) { // decide between 1,2, or 3 for quest type. if (type == 0) type = Random.Int(3)+1; switch (type){ case 1: default: rooms.add(new MassGraveRoom()); break; case 2: rooms.add(new RitualSiteRoom()); break; case 3: rooms.add(new RotGardenRoom()); break; } questRoomSpawned = true; } return rooms; }
public void paint( Level level ) { Door entrance = entrance(); entrance.set(Door.Type.LOCKED); level.addItemToSpawn(new IronKey(Dungeon.depth)); Painter.fill(level, this, Terrain.WALL); Painter.fill(level, this, 1, Terrain.GRASS); int heartX = Random.IntRange(left+1, right-1); int heartY = Random.IntRange(top+1, bottom-1); if (entrance.x == left) { heartX = right - 1; } else if (entrance.x == right) { heartX = left + 1; } else if (entrance.y == top) { heartY = bottom - 1; } else if (entrance.y == bottom) { heartY = top + 1; } placePlant(level, heartX + heartY * level.width(), new RotHeart()); int lashers = ((width()-2)*(height()-2))/8; for (int i = 1; i <= lashers; i++){ int pos; do { pos = level.pointToCell(random()); } while (!validPlantPos(level, pos)); placePlant(level, pos, new RotLasher()); } }