Restore randomness, and complete section 4.17
This commit is contained in:
parent
75d9af0562
commit
2b91cbcc8f
@ -208,11 +208,18 @@ fn random_room_builder(rng: &mut RandomNumberGenerator, builder: &mut BuilderCha
|
|||||||
builder.with(RoomDrawer::new());
|
builder.with(RoomDrawer::new());
|
||||||
|
|
||||||
// Pick a corridor type
|
// Pick a corridor type
|
||||||
match rng.roll_dice(1, 2) {
|
match rng.roll_dice(1, 4) {
|
||||||
1 => builder.with(DoglegCorridors::new()),
|
1 => builder.with(DoglegCorridors::new()),
|
||||||
|
2 => builder.with(NearestCorridors::new()),
|
||||||
|
3 => builder.with(StraightLineCorridors::new()),
|
||||||
_ => builder.with(BspCorridors::new()),
|
_ => builder.with(BspCorridors::new()),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Maybe spawn stuff in the corridor
|
||||||
|
if rng.roll_dice(1, 2) == 1 {
|
||||||
|
builder.with(CorridorSpawner::new());
|
||||||
|
}
|
||||||
|
|
||||||
// Add additional modifier
|
// Add additional modifier
|
||||||
match rng.roll_dice(1, 6) {
|
match rng.roll_dice(1, 6) {
|
||||||
1 => {
|
1 => {
|
||||||
@ -300,5 +307,15 @@ pub fn random_builder(new_depth: i32, rng: &mut RandomNumberGenerator) -> Builde
|
|||||||
|
|
||||||
builder.with(PrefabBuilder::vaults());
|
builder.with(PrefabBuilder::vaults());
|
||||||
|
|
||||||
|
// builder
|
||||||
|
// .start_with(SimpleMapBuilder::new())
|
||||||
|
// .with(RoomDrawer::new())
|
||||||
|
// .with(RoomSorter::new(RoomSort::LeftMost))
|
||||||
|
// .with(StraightLineCorridors::new())
|
||||||
|
// .with(RoomBasedSpawner::new())
|
||||||
|
// .with(CorridorSpawner::new())
|
||||||
|
// .with(RoomBasedStairs::new())
|
||||||
|
// .with(RoomBasedStartingPosition::new());
|
||||||
|
|
||||||
builder
|
builder
|
||||||
}
|
}
|
||||||
|
@ -21,7 +21,7 @@ impl CorridorSpawner {
|
|||||||
if let Some(corridors) = &build_data.corridors {
|
if let Some(corridors) = &build_data.corridors {
|
||||||
for c in corridors.iter() {
|
for c in corridors.iter() {
|
||||||
let depth = build_data.map.depth;
|
let depth = build_data.map.depth;
|
||||||
spawner::spawn_region(&build_data.map, rng, &c, depth, &mut build_data.spawn_list);
|
spawner::spawn_region(&build_data.map, rng, c, depth, &mut build_data.spawn_list);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
panic!("Corridor Based Spawning only works after corridors have been created.");
|
panic!("Corridor Based Spawning only works after corridors have been created.");
|
||||||
|
Loading…
Reference in New Issue
Block a user