veloren_rtsim/gen/
name.rs1use rand::prelude::*;
2
3pub fn generate(rng: &mut impl Rng) -> String {
4 let starts = ["ad", "tr", "b", "l", "p", "d", "r", "w", "t", "fr", "s"];
5 let vowels = ["o", "e", "a", "i"];
6 let cons = ["m", "d", "st", "n", "y", "gh", "s"];
7
8 let mut name = String::new();
9
10 name += starts.choose(rng).unwrap();
11
12 for _ in 0..rng.gen_range(1..=3) {
13 name += vowels.choose(rng).unwrap();
14 name += cons.choose(rng).unwrap();
15 }
16
17 name.chars()
19 .enumerate()
20 .map(|(i, c)| if i == 0 { c.to_ascii_uppercase() } else { c })
21 .collect()
22}