From db1065c478bba8f7526884fd54d8209de72346f8 Mon Sep 17 00:00:00 2001 From: Joshua Barretto Date: Fri, 15 May 2020 19:26:09 +0100 Subject: [PATCH] Better spawn town --- world/src/civ/mod.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/world/src/civ/mod.rs b/world/src/civ/mod.rs index 1702b1c4d0..32199f46b4 100644 --- a/world/src/civ/mod.rs +++ b/world/src/civ/mod.rs @@ -34,6 +34,9 @@ pub struct Civs { sites: Store, } +// Change this to get rid of particularly horrid seeds +const SEED_SKIP: u8 = 1; + pub struct GenCtx<'a, R: Rng> { sim: &'a mut WorldSim, rng: R, @@ -41,9 +44,11 @@ pub struct GenCtx<'a, R: Rng> { impl<'a, R: Rng> GenCtx<'a, R> { pub fn reseed(&mut self) -> GenCtx<'_, impl Rng> { + let mut entropy = self.rng.gen::<[u8; 32]>(); + entropy[0] = entropy[0].wrapping_add(SEED_SKIP); // Skip bad seeds GenCtx { sim: self.sim, - rng: ChaChaRng::from_seed(self.rng.gen()), + rng: ChaChaRng::from_seed(entropy), } } }