2022-02-04 14:09:48 -05:00
|
|
|
use ::bracket_lib::prelude::*;
|
|
|
|
|
2022-02-04 09:41:46 -05:00
|
|
|
use super::{
|
2022-02-04 14:09:48 -05:00
|
|
|
AreaEndingPosition, AreaStartingPosition, BspInteriorBuilder, BuilderChain, BuilderMap,
|
|
|
|
CullUnreachable, InitialMapBuilder, VoronoiSpawning, XEnd, XStart, YEnd, YStart,
|
2022-02-04 09:41:46 -05:00
|
|
|
};
|
2022-02-04 14:09:48 -05:00
|
|
|
use crate::rng::roll_dice;
|
|
|
|
use crate::TileType;
|
2022-02-04 09:41:46 -05:00
|
|
|
|
|
|
|
pub fn dark_elf_city(new_depth: i32, width: i32, height: i32) -> BuilderChain {
|
|
|
|
let mut chain = BuilderChain::new(new_depth, width, height, "Dark Elven City");
|
|
|
|
chain
|
|
|
|
.start_with(BspInteriorBuilder::new())
|
|
|
|
.with(AreaStartingPosition::new(XStart::Center, YStart::Center))
|
|
|
|
.with(CullUnreachable::new())
|
|
|
|
.with(AreaStartingPosition::new(XStart::Right, YStart::Center))
|
|
|
|
.with(AreaEndingPosition::new(XEnd::Left, YEnd::Center))
|
|
|
|
.with(VoronoiSpawning::new());
|
|
|
|
|
|
|
|
chain
|
|
|
|
}
|