Merge branch 'isse/workshop-fixes' into 'master'

Workshop fixes

See merge request veloren/veloren!3226
This commit is contained in:
Marcel 2022-02-20 22:21:00 +00:00
commit 473a807e46
2 changed files with 21 additions and 20 deletions

View File

@ -498,7 +498,7 @@ impl Site {
},
// Workshop
5 => {
let size = (2.0 + rng.gen::<f32>().powf(5.0) * 1.5).round() as u32;
let size = (3.0 + rng.gen::<f32>().powf(5.0) * 1.5).round() as u32;
if let Some((aabr, door_tile, door_dir)) = attempt(32, || {
site.find_roadside_aabr(
&mut rng,

View File

@ -111,26 +111,27 @@ impl Structure for Workshop {
);
}
}
for dir in CARDINALS {
for d in 0..3 {
let position = center + dir * (3 + d * 2);
let mut stations = vec![
SpriteKind::CraftingBench,
SpriteKind::Forge,
SpriteKind::SpinningWheel,
SpriteKind::TanningRack,
SpriteKind::CookingPot,
SpriteKind::Cauldron,
SpriteKind::Loom,
SpriteKind::Anvil,
SpriteKind::DismantlingBench,
];
if !stations.is_empty() {
let cr_station = stations.swap_remove(
RandomField::new(0).get(position.with_z(base)) as usize % stations.len(),
);
painter.sprite(position.with_z(base), cr_station);
let mut stations = vec![
SpriteKind::CraftingBench,
SpriteKind::Forge,
SpriteKind::SpinningWheel,
SpriteKind::TanningRack,
SpriteKind::CookingPot,
SpriteKind::Cauldron,
SpriteKind::Loom,
SpriteKind::Anvil,
SpriteKind::DismantlingBench,
];
'outer: for d in 0..3 {
for dir in CARDINALS {
if stations.is_empty() {
break 'outer;
}
let position = center + dir * (3 + d * 2);
let cr_station = stations.swap_remove(
RandomField::new(0).get(position.with_z(base)) as usize % stations.len(),
);
painter.sprite(position.with_z(base), cr_station);
}
}
}