diff --git a/Cargo.lock b/Cargo.lock index 2967950396..aaa8deb05c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4240,7 +4240,7 @@ dependencies = [ "rand_isaac", "rand_jitter", "rand_os", - "rand_pcg 0.1.2", + "rand_pcg", "rand_xorshift 0.1.1", "winapi 0.3.9", ] @@ -4256,7 +4256,18 @@ dependencies = [ "rand_chacha 0.2.2", "rand_core 0.5.1", "rand_hc 0.2.0", - "rand_pcg 0.2.1", +] + +[[package]] +name = "rand" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ef9e7e66b4468674bfcb0c81af8b7fa0bb154fa9f28eb840da5c447baeb8d7e" +dependencies = [ + "libc", + "rand_chacha 0.3.0", + "rand_core 0.6.1", + "rand_hc 0.3.0", ] [[package]] @@ -4279,6 +4290,16 @@ dependencies = [ "rand_core 0.5.1", ] +[[package]] +name = "rand_chacha" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e12735cf05c9e10bf21534da50a147b924d555dc7a547c42e6bb2d5b6017ae0d" +dependencies = [ + "ppv-lite86", + "rand_core 0.6.1", +] + [[package]] name = "rand_core" version = "0.3.1" @@ -4303,6 +4324,15 @@ dependencies = [ "getrandom 0.1.15", ] +[[package]] +name = "rand_core" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c026d7df8b298d90ccbbc5190bd04d85e159eaf5576caeacf8741da93ccbd2e5" +dependencies = [ + "getrandom 0.2.0", +] + [[package]] name = "rand_hc" version = "0.1.0" @@ -4321,6 +4351,15 @@ dependencies = [ "rand_core 0.5.1", ] +[[package]] +name = "rand_hc" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3190ef7066a446f2e7f42e239d161e905420ccab01eb967c9eb27d21b2322a73" +dependencies = [ + "rand_core 0.6.1", +] + [[package]] name = "rand_isaac" version = "0.1.1" @@ -4365,15 +4404,6 @@ dependencies = [ "rand_core 0.4.2", ] -[[package]] -name = "rand_pcg" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429" -dependencies = [ - "rand_core 0.5.1", -] - [[package]] name = "rand_xorshift" version = "0.1.1" @@ -6041,7 +6071,7 @@ dependencies = [ "num-derive", "num-traits 0.2.14", "ordered-float 2.0.1", - "rand 0.7.3", + "rand 0.8.3", "rayon", "ron", "roots", @@ -6082,7 +6112,7 @@ dependencies = [ "bincode", "hashbrown 0.9.1", "indexmap", - "rand 0.7.3", + "rand 0.8.3", "rayon", "serde", "slab", @@ -6146,7 +6176,7 @@ dependencies = [ "libsqlite3-sys", "portpicker", "prometheus", - "rand 0.7.3", + "rand 0.8.3", "ron", "scan_fmt", "serde", @@ -6227,7 +6257,7 @@ dependencies = [ "num 0.3.1", "old_school_gfx_glutin_ext", "ordered-float 2.0.1", - "rand 0.7.3", + "rand 0.8.3", "rodio", "ron", "serde", @@ -6286,8 +6316,8 @@ dependencies = [ "num 0.3.1", "ordered-float 2.0.1", "packed_simd_2", - "rand 0.7.3", - "rand_chacha 0.2.2", + "rand 0.8.3", + "rand_chacha 0.3.0", "rayon", "ron", "serde", @@ -6311,7 +6341,7 @@ dependencies = [ "lazy_static", "lz-fear", "prometheus", - "rand 0.7.3", + "rand 0.8.3", "serde", "shellexpand", "tiny_http", diff --git a/common/Cargo.toml b/common/Cargo.toml index b4a79f060f..eabc7906d2 100644 --- a/common/Cargo.toml +++ b/common/Cargo.toml @@ -21,7 +21,7 @@ lazy_static = "1.4.0" num-derive = "0.3" num-traits = "0.2" ordered-float = { version = "2.0.1", default-features = false } -rand = "0.7" +rand = "0.8" rayon = "1.5" roots = "0.0.6" spin_sleep = "1.0" diff --git a/common/src/comp/body/humanoid.rs b/common/src/comp/body/humanoid.rs index c55973654f..dc63f8fd9c 100644 --- a/common/src/comp/body/humanoid.rs +++ b/common/src/comp/body/humanoid.rs @@ -39,13 +39,13 @@ impl Body { Self { species, body_type, - hair_style: rng.gen_range(0, species.num_hair_styles(body_type)), - beard: rng.gen_range(0, species.num_beards(body_type)), - accessory: rng.gen_range(0, species.num_accessories(body_type)), - hair_color: rng.gen_range(0, species.num_hair_colors()), - skin: rng.gen_range(0, species.num_skin_colors()), - eye_color: rng.gen_range(0, species.num_eye_colors()), - eyes: rng.gen_range(0, 1), /* TODO Add a way to set specific head-segments for NPCs + hair_style: rng.gen_range(0..species.num_hair_styles(body_type)), + beard: rng.gen_range(0..species.num_beards(body_type)), + accessory: rng.gen_range(0..species.num_accessories(body_type)), + hair_color: rng.gen_range(0..species.num_hair_colors()), + skin: rng.gen_range(0..species.num_skin_colors()), + eye_color: rng.gen_range(0..species.num_eye_colors()), + eyes: rng.gen_range(0..1), /* TODO Add a way to set specific head-segments for NPCs * with the default being a random one */ } } diff --git a/common/src/comp/inventory/item/mod.rs b/common/src/comp/inventory/item/mod.rs index 786e709d9f..0681327295 100644 --- a/common/src/comp/inventory/item/mod.rs +++ b/common/src/comp/inventory/item/mod.rs @@ -493,7 +493,7 @@ impl Item { SpriteKind::ShortGrass => "common.items.grasses.short", SpriteKind::Coconut => "common.items.food.coconut", SpriteKind::Chest => { - chosen = Lottery::::load_expect(match rng.gen_range(0, 7) { + chosen = Lottery::::load_expect(match rng.gen_range(0..7) { 0 => "common.loot_tables.loot_table_weapon_uncommon", 1 => "common.loot_tables.loot_table_weapon_common", 2 => "common.loot_tables.loot_table_armor_light", @@ -505,7 +505,7 @@ impl Item { chosen.choose() }, SpriteKind::ChestBurried => { - chosen = Lottery::::load_expect(match rng.gen_range(0, 7) { + chosen = Lottery::::load_expect(match rng.gen_range(0..7) { 1 => "common.loot_tables.loot_table_weapon_common", 2 => "common.loot_tables.loot_table_armor_light", 3 => "common.loot_tables.loot_table_armor_cloth", @@ -515,7 +515,7 @@ impl Item { chosen.choose() }, SpriteKind::Mud => { - chosen = Lottery::::load_expect(match rng.gen_range(0, 5) { + chosen = Lottery::::load_expect(match rng.gen_range(0..5) { 0 => "common.loot_tables.loot_table_crafting", 1 => "common.loot_tables.loot_table_weapon_common", 2 => "common.loot_tables.loot_table_armor_misc", @@ -525,7 +525,7 @@ impl Item { chosen.choose() }, SpriteKind::Crate => { - chosen = Lottery::::load_expect(match rng.gen_range(0, 4) { + chosen = Lottery::::load_expect(match rng.gen_range(0..4) { 0 => "common.loot_tables.loot_table_crafting", _ => "common.loot_tables.loot_table_food", }) diff --git a/common/src/comp/inventory/loadout_builder.rs b/common/src/comp/inventory/loadout_builder.rs index 82a36418cc..e6385be4f1 100644 --- a/common/src/comp/inventory/loadout_builder.rs +++ b/common/src/comp/inventory/loadout_builder.rs @@ -262,7 +262,7 @@ impl LoadoutBuilder { .feet(Some(Item::new_from_asset_expect( "common.items.armor.foot.steel_0", ))) - .lantern(match rand::thread_rng().gen_range(0, 3) { + .lantern(match rand::thread_rng().gen_range(0..3) { 0 => Some(Item::new_from_asset_expect("common.items.lantern.black_0")), _ => None, }) @@ -287,7 +287,7 @@ impl LoadoutBuilder { .feet(Some(Item::new_from_asset_expect( "common.items.armor.foot.cloth_purple_0", ))) - .lantern(match rand::thread_rng().gen_range(0, 3) { + .lantern(match rand::thread_rng().gen_range(0..3) { 0 => Some(Item::new_from_asset_expect("common.items.lantern.black_0")), _ => None, }) @@ -312,7 +312,7 @@ impl LoadoutBuilder { .feet(Some(Item::new_from_asset_expect( "common.items.armor.foot.leather_0", ))) - .lantern(match rand::thread_rng().gen_range(0, 3) { + .lantern(match rand::thread_rng().gen_range(0..3) { 0 => Some(Item::new_from_asset_expect("common.items.lantern.black_0")), _ => None, }) @@ -337,7 +337,7 @@ impl LoadoutBuilder { .feet(Some(Item::new_from_asset_expect( "common.items.armor.foot.assassin", ))) - .lantern(match rand::thread_rng().gen_range(0, 3) { + .lantern(match rand::thread_rng().gen_range(0..3) { 0 => Some(Item::new_from_asset_expect("common.items.lantern.black_0")), _ => None, }) @@ -365,7 +365,7 @@ impl LoadoutBuilder { .back(Some(Item::new_from_asset_expect( "common.items.armor.back.dungeon_purple-0", ))) - .lantern(match rand::thread_rng().gen_range(0, 3) { + .lantern(match rand::thread_rng().gen_range(0..3) { 0 => Some(Item::new_from_asset_expect("common.items.lantern.black_0")), _ => None, }) @@ -393,7 +393,7 @@ impl LoadoutBuilder { .back(Some(Item::new_from_asset_expect( "common.items.armor.back.dungeon_purple-0", ))) - .lantern(match rand::thread_rng().gen_range(0, 3) { + .lantern(match rand::thread_rng().gen_range(0..3) { 0 => Some(Item::new_from_asset_expect("common.items.lantern.black_0")), _ => None, }) @@ -421,7 +421,7 @@ impl LoadoutBuilder { .back(Some(Item::new_from_asset_expect( "common.items.armor.back.warlord", ))) - .lantern(match rand::thread_rng().gen_range(0, 3) { + .lantern(match rand::thread_rng().gen_range(0..3) { 0 => Some(Item::new_from_asset_expect("common.items.lantern.black_0")), _ => None, }) @@ -449,7 +449,7 @@ impl LoadoutBuilder { .back(Some(Item::new_from_asset_expect( "common.items.armor.back.warlock", ))) - .lantern(match rand::thread_rng().gen_range(0, 3) { + .lantern(match rand::thread_rng().gen_range(0..3) { 0 => Some(Item::new_from_asset_expect("common.items.lantern.black_0")), _ => None, }) @@ -457,7 +457,7 @@ impl LoadoutBuilder { Villager => LoadoutBuilder::new() .active_item(active_item) .chest(Some(Item::new_from_asset_expect( - match rand::thread_rng().gen_range(0, 10) { + match rand::thread_rng().gen_range(0..10) { 0 => "common.items.armor.chest.worker_green_0", 1 => "common.items.armor.chest.worker_green_1", 2 => "common.items.armor.chest.worker_red_0", @@ -477,7 +477,7 @@ impl LoadoutBuilder { "common.items.armor.pants.worker_blue_0", ))) .feet(Some(Item::new_from_asset_expect( - match rand::thread_rng().gen_range(0, 2) { + match rand::thread_rng().gen_range(0..2) { 0 => "common.items.armor.foot.leather_0", _ => "common.items.armor.starter.sandals_0", }, diff --git a/common/sys/Cargo.toml b/common/sys/Cargo.toml index ce127ab6e0..5c44922056 100644 --- a/common/sys/Cargo.toml +++ b/common/sys/Cargo.toml @@ -15,7 +15,7 @@ default = ["simd"] common = { package = "veloren-common", path = ".." } common-net = { package = "veloren-common-net", path = "../net" } -rand = "0.7" +rand = "0.8" rayon = "1.5" tracing = { version = "0.1", default-features = false } vek = { version = "0.12.0", features = ["serde"] } diff --git a/common/sys/src/agent.rs b/common/sys/src/agent.rs index d31f69fb03..7dce4e78ca 100644 --- a/common/sys/src/agent.rs +++ b/common/sys/src/agent.rs @@ -176,13 +176,13 @@ impl<'a> System<'a> for Sys { // keep them on // Only emit event for agents that sill need to // turn on their lantern - if let 0 = rng.gen_range(0, 1000) { + if let 0 = rng.gen_range(0..1000) { controller.events.push(ControlEvent::EnableLantern) } } else if lantern_turned_on && day_period.is_light() { // agents with turned on lanterns turn them off randomly once it's daytime and // keep them off - if let 0 = rng.gen_range(0, 2000) { + if let 0 = rng.gen_range(0..2000) { controller.events.push(ControlEvent::DisableLantern) } } @@ -770,7 +770,7 @@ impl<'a> System<'a> for Sys { inputs.move_dir = bearing .xy() .rotated_z( - thread_rng().gen_range(0.5, 1.57), + thread_rng().gen_range(0.5..1.57), ) .try_normalized() .unwrap_or(Vec2::zero()) @@ -865,7 +865,7 @@ impl<'a> System<'a> for Sys { inputs.move_dir = bearing .xy() .rotated_z( - thread_rng().gen_range(-1.57, -0.5), + thread_rng().gen_range(-1.57..-0.5), ) .try_normalized() .unwrap_or(Vec2::zero()) diff --git a/network/Cargo.toml b/network/Cargo.toml index e20083e2c9..5d4222ef6f 100644 --- a/network/Cargo.toml +++ b/network/Cargo.toml @@ -29,7 +29,7 @@ prometheus = { version = "0.11", default-features = false, optional = true } futures = { version = "0.3", features = ["thread-pool"] } #mpsc channel registry lazy_static = { version = "1.4", default-features = false } -rand = { version = "0.7" } +rand = { version = "0.8" } #stream flags bitflags = "1.2.1" lz-fear = { version = "0.1.1", optional = true } diff --git a/network/src/message.rs b/network/src/message.rs index bb5f49a36e..ad668908b6 100644 --- a/network/src/message.rs +++ b/network/src/message.rs @@ -357,6 +357,6 @@ mod tests { } } let msg = Message::serialize(&msg, &stub_stream(true)); - assert_eq!(msg.buffer.data.len(), 1296); + assert_eq!(msg.buffer.data.len(), 1331); } } diff --git a/server/Cargo.toml b/server/Cargo.toml index 31af7389b8..8281a32f48 100644 --- a/server/Cargo.toml +++ b/server/Cargo.toml @@ -35,7 +35,7 @@ scan_fmt = { git = "https://github.com/Imberflur/scan_fmt" } ron = { version = "0.6", default-features = false } serde = { version = "1.0.110", features = ["derive"] } serde_json = "1.0.50" -rand = { version = "0.7", features = ["small_rng"] } +rand = { version = "0.8", features = ["small_rng"] } chrono = "0.4.9" hashbrown = { version = "0.9", features = ["rayon", "serde", "nightly"] } crossbeam-channel = "0.5" diff --git a/server/src/cmd.rs b/server/src/cmd.rs index 1acc34e994..0f50f4fa9c 100644 --- a/server/src/cmd.rs +++ b/server/src/cmd.rs @@ -154,14 +154,14 @@ fn handle_drop_all( let pos = pos.expect("expected pos for entity using dropall command"); for item in items { - let vel = Vec3::new(rng.gen_range(-0.1, 0.1), rng.gen_range(-0.1, 0.1), 0.5); + let vel = Vec3::new(rng.gen_range(-0.1..0.1), rng.gen_range(-0.1..0.1), 0.5); server .state .create_object(Default::default(), comp::object::Body::Pouch) .with(comp::Pos(Vec3::new( - pos.0.x + rng.gen_range(5.0, 10.0), - pos.0.y + rng.gen_range(5.0, 10.0), + pos.0.x + rng.gen_range(5.0..10.0), + pos.0.y + rng.gen_range(5.0..10.0), pos.0.z + 5.0, ))) .with(item) @@ -805,8 +805,8 @@ fn handle_spawn( for _ in 0..amount { let vel = Vec3::new( - rand::thread_rng().gen_range(-2.0, 3.0), - rand::thread_rng().gen_range(-2.0, 3.0), + rand::thread_rng().gen_range(-2.0..3.0), + rand::thread_rng().gen_range(-2.0..3.0), 10.0, ); @@ -922,8 +922,8 @@ fn handle_spawn_training_dummy( match server.state.read_component_copied::(target) { Some(pos) => { let vel = Vec3::new( - rand::thread_rng().gen_range(-2.0, 3.0), - rand::thread_rng().gen_range(-2.0, 3.0), + rand::thread_rng().gen_range(-2.0..3.0), + rand::thread_rng().gen_range(-2.0..3.0), 10.0, ); diff --git a/server/src/events/entity_manipulation.rs b/server/src/events/entity_manipulation.rs index 503c026c03..d8aad62ceb 100644 --- a/server/src/events/entity_manipulation.rs +++ b/server/src/events/entity_manipulation.rs @@ -313,7 +313,7 @@ pub fn handle_destroy(server: &mut Server, entity: EcsEntity, cause: HealthSourc let mut rng = rand::thread_rng(); let mut lottery = || { Lottery::::load_expect(match old_body { - Some(common::comp::Body::Humanoid(_)) => match rng.gen_range(0, 4) { + Some(common::comp::Body::Humanoid(_)) => match rng.gen_range(0..4) { 0 => "common.loot_tables.loot_table_humanoids", 1 => "common.loot_tables.loot_table_armor_light", 2 => "common.loot_tables.loot_table_armor_cloth", @@ -323,11 +323,11 @@ pub fn handle_destroy(server: &mut Server, entity: EcsEntity, cause: HealthSourc }, Some(common::comp::Body::QuadrupedSmall(quadruped_small)) => { match quadruped_small.species { - quadruped_small::Species::Dodarock => match rng.gen_range(0, 6) { + quadruped_small::Species::Dodarock => match rng.gen_range(0..6) { 1 => "common.loot_tables.loot_table_rocks", _ => "common.loot_tables.loot_table_rocks", }, - _ => match rng.gen_range(0, 4) { + _ => match rng.gen_range(0..4) { 0 => "common.loot_tables.loot_table_food", 2 => "common.loot_tables.loot_table_animal_parts", _ => "common.loot_tables.loot_table_animal_parts", @@ -340,27 +340,27 @@ pub fn handle_destroy(server: &mut Server, entity: EcsEntity, cause: HealthSourc | quadruped_medium::Species::Roshwalr => { "common.loot_tables.loot_table_animal_ice" }, - _ => match rng.gen_range(0, 4) { + _ => match rng.gen_range(0..4) { 0 => "common.loot_tables.loot_table_food", 2 => "common.loot_tables.loot_table_animal_parts", _ => "common.loot_tables.loot_table_animal_parts", }, } }, - Some(common::comp::Body::BirdMedium(_)) => match rng.gen_range(0, 3) { + Some(common::comp::Body::BirdMedium(_)) => match rng.gen_range(0..3) { 0 => "common.loot_tables.loot_table_food", _ => "common.loot_tables.loot_table", }, Some(common::comp::Body::FishMedium(_)) => "common.loot_tables.loot_table_fish", Some(common::comp::Body::FishSmall(_)) => "common.loot_tables.loot_table_fish", Some(common::comp::Body::BipedLarge(biped_large)) => match biped_large.species { - biped_large::Species::Wendigo => match rng.gen_range(0, 7) { + biped_large::Species::Wendigo => match rng.gen_range(0..7) { 0 => "common.loot_tables.loot_table_food", 1 => "common.loot_tables.loot_table_wendigo", 2 => "common.loot_tables.loot_table_weapon_uncommon", _ => "common.loot_tables.loot_table_cave_large", }, - biped_large::Species::Troll => match rng.gen_range(0, 10) { + biped_large::Species::Troll => match rng.gen_range(0..10) { 0 => "common.loot_tables.loot_table_food", 1 => "common.loot_tables.loot_table_cave_large", 2 => "common.loot_tables.loot_table_weapon_uncommon", @@ -369,13 +369,13 @@ pub fn handle_destroy(server: &mut Server, entity: EcsEntity, cause: HealthSourc biped_large::Species::Occultsaurok | biped_large::Species::Mightysaurok | biped_large::Species::Slysaurok => "common.loot_tables.loot_table_saurok", - _ => match rng.gen_range(0, 4) { + _ => match rng.gen_range(0..4) { 0 => "common.loot_tables.loot_table_food", 1 => "common.loot_tables.loot_table_armor_nature", _ => "common.loot_tables.loot_table_cave_large", }, }, - Some(common::comp::Body::Golem(_)) => match rng.gen_range(0, 9) { + Some(common::comp::Body::Golem(_)) => match rng.gen_range(0..9) { 0 => "common.loot_tables.loot_table_food", 2 => "common.loot_tables.loot_table_armor_light", 3 => "common.loot_tables.loot_table_armor_heavy", @@ -387,7 +387,7 @@ pub fn handle_destroy(server: &mut Server, entity: EcsEntity, cause: HealthSourc Some(common::comp::Body::Theropod(theropod)) => match theropod.species { theropod::Species::Sandraptor | theropod::Species::Snowraptor - | theropod::Species::Woodraptor => match rng.gen_range(0, 3) { + | theropod::Species::Woodraptor => match rng.gen_range(0..3) { 0 => "common.loot_tables.loot_table_raptor", _ => "common.loot_tables.loot_table_animal_parts", }, @@ -399,7 +399,7 @@ pub fn handle_destroy(server: &mut Server, entity: EcsEntity, cause: HealthSourc quadruped_low::Species::Maneater => { "common.loot_tables.loot_table_maneater" }, - _ => match rng.gen_range(0, 3) { + _ => match rng.gen_range(0..3) { 0 => "common.loot_tables.loot_table_food", 1 => "common.loot_tables.loot_table_animal_parts", _ => "common.loot_tables.loot_table", diff --git a/server/src/events/inventory_manip.rs b/server/src/events/inventory_manip.rs index 22439d623f..9816a4d59a 100644 --- a/server/src/events/inventory_manip.rs +++ b/server/src/events/inventory_manip.rs @@ -515,9 +515,9 @@ pub fn handle_inventory(server: &mut Server, entity: EcsEntity, manip: comp::Inv for (pos, vel, ori, kind) in thrown_items { let vel = match kind { item::Throwable::Firework(_) => Vec3::new( - rng.gen_range(-15.0, 15.0), - rng.gen_range(-15.0, 15.0), - rng.gen_range(80.0, 110.0), + rng.gen_range(-15.0..15.0), + rng.gen_range(-15.0..15.0), + rng.gen_range(80.0..110.0), ), _ => { vel.0 diff --git a/server/src/rtsim/entity.rs b/server/src/rtsim/entity.rs index 0b17227e01..dfaaa6babe 100644 --- a/server/src/rtsim/entity.rs +++ b/server/src/rtsim/entity.rs @@ -76,7 +76,7 @@ impl Entity { .unwrap(), ); - let back = match rng.gen_range(0, 5) { + let back = match rng.gen_range(0..5) { 0 => Some(comp::Item::new_from_asset_expect( "common.items.armor.back.leather_adventurer", )), @@ -92,7 +92,7 @@ impl Entity { _ => None, }; - let lantern = match rng.gen_range(0, 3) { + let lantern = match rng.gen_range(0..3) { 0 => Some(comp::Item::new_from_asset_expect( "common.items.lantern.black_0", )), @@ -133,7 +133,7 @@ impl Entity { comp::Body::Humanoid(_) => s.1.is_settlement() | s.1.is_castle(), _ => s.1.is_dungeon(), }) - .filter(|_| thread_rng().gen_range(0i32, 4) == 0) + .filter(|_| thread_rng().gen_range(0i32..4) == 0) .min_by_key(|(_, site)| { let wpos = site.center * TerrainChunk::RECT_SIZE.map(|e| e as i32); let dist = wpos.map(|e| e as f32).distance(self.pos.xy()) as u32; diff --git a/server/src/rtsim/mod.rs b/server/src/rtsim/mod.rs index 98a99abc6e..f2352c9168 100644 --- a/server/src/rtsim/mod.rs +++ b/server/src/rtsim/mod.rs @@ -93,7 +93,7 @@ pub fn init(state: &mut State, #[cfg(feature = "worldgen")] world: &world::World .chunks .size() .map2(TerrainChunk::RECT_SIZE, |sz, chunk_sz| { - thread_rng().gen_range(0, sz * chunk_sz) as i32 + thread_rng().gen_range(0..sz * chunk_sz) as i32 }); rtsim.entities.insert(Entity { diff --git a/server/src/state_ext.rs b/server/src/state_ext.rs index f7df8128ab..cc5c98b296 100644 --- a/server/src/state_ext.rs +++ b/server/src/state_ext.rs @@ -125,8 +125,8 @@ impl StateExt for State { .with(comp::Vel(Vec3::zero())) .with(comp::Ori(Dir::new( Vec3::new( - thread_rng().gen_range(-1.0, 1.0), - thread_rng().gen_range(-1.0, 1.0), + thread_rng().gen_range(-1.0..1.0), + thread_rng().gen_range(-1.0..1.0), 0.0, ) .try_normalized() diff --git a/voxygen/Cargo.toml b/voxygen/Cargo.toml index 8a080dae04..ba14b39f96 100644 --- a/voxygen/Cargo.toml +++ b/voxygen/Cargo.toml @@ -77,7 +77,7 @@ lazy_static = "1.4.0" native-dialog = { version = "0.4.2", default-features = false, optional = true } num = "0.3.1" ordered-float = { version = "2.0.1", default-features = false } -rand = "0.7" +rand = "0.8" rodio = {version = "0.13", default-features = false, features = ["wav", "vorbis"]} ron = {version = "0.6", default-features = false} serde = {version = "1.0", features = [ "rc", "derive" ]} diff --git a/voxygen/src/audio/music.rs b/voxygen/src/audio/music.rs index e3d5b7ec09..f7efd1712c 100644 --- a/voxygen/src/audio/music.rs +++ b/voxygen/src/audio/music.rs @@ -150,7 +150,7 @@ impl MusicMgr { let mut rng = thread_rng(); // Adds a bit of randomness between plays - let silence_between_tracks_seconds: f32 = rng.gen_range(45.0, 120.0); + let silence_between_tracks_seconds: f32 = rng.gen_range(45.0..120.0); let game_time = (state.get_time_of_day() as u64 % 86400) as u32; let current_period_of_day = Self::get_current_day_period(game_time); diff --git a/voxygen/src/audio/sfx/mod.rs b/voxygen/src/audio/sfx/mod.rs index 3dd6cdab1d..2e8e66e75e 100644 --- a/voxygen/src/audio/sfx/mod.rs +++ b/voxygen/src/audio/sfx/mod.rs @@ -322,7 +322,7 @@ impl SfxMgr { "voxygen.audio.sfx.abilities.arrow_shot_2", "voxygen.audio.sfx.abilities.arrow_shot_3", "voxygen.audio.sfx.abilities.arrow_shot_4", - ][rand::thread_rng().gen_range(1, 4)]; + ][rand::thread_rng().gen_range(1..4)]; audio.play_sfx(file_ref, *pos, None); }, @@ -334,7 +334,7 @@ impl SfxMgr { let file_ref = vec![ "voxygen.audio.sfx.abilities.fire_shot_1", "voxygen.audio.sfx.abilities.fire_shot_2", - ][rand::thread_rng().gen_range(1, 2)]; + ][rand::thread_rng().gen_range(1..2)]; audio.play_sfx(file_ref, *pos, None); }, diff --git a/voxygen/src/menu/char_selection/ui/mod.rs b/voxygen/src/menu/char_selection/ui/mod.rs index 29b90c534f..14eedb67ea 100644 --- a/voxygen/src/menu/char_selection/ui/mod.rs +++ b/voxygen/src/menu/char_selection/ui/mod.rs @@ -1272,13 +1272,13 @@ impl Controls { let body_type = body.body_type; let species = body.species; let mut rng = rand::thread_rng(); - body.hair_style = rng.gen_range(0, species.num_hair_styles(body_type)); - body.beard = rng.gen_range(0, species.num_beards(body_type)); - body.accessory = rng.gen_range(0, species.num_accessories(body_type)); - body.hair_color = rng.gen_range(0, species.num_hair_colors()); - body.skin = rng.gen_range(0, species.num_skin_colors()); - body.eye_color = rng.gen_range(0, species.num_eye_colors()); - body.eyes = rng.gen_range(0, species.num_eyes(body_type)); + body.hair_style = rng.gen_range(0..species.num_hair_styles(body_type)); + body.beard = rng.gen_range(0..species.num_beards(body_type)); + body.accessory = rng.gen_range(0..species.num_accessories(body_type)); + body.hair_color = rng.gen_range(0..species.num_hair_colors()); + body.skin = rng.gen_range(0..species.num_skin_colors()); + body.eye_color = rng.gen_range(0..species.num_eye_colors()); + body.eyes = rng.gen_range(0..species.num_eyes(body_type)); *name = npc::get_npc_name( npc::NpcKind::Humanoid, npc::BodyType::from_body(comp::Body::Humanoid(*body)), diff --git a/voxygen/src/scene/particle.rs b/voxygen/src/scene/particle.rs index 47803338c4..d85c831b02 100644 --- a/voxygen/src/scene/particle.rs +++ b/voxygen/src/scene/particle.rs @@ -71,7 +71,7 @@ impl ParticleMgr { time, ParticleMode::EnergyNature, *pos + Vec3::::zero() - .map(|_| rng.gen_range(-1.0, 1.0)) + .map(|_| rng.gen_range(-1.0..1.0)) .normalized() * *radius, ) @@ -86,7 +86,7 @@ impl ParticleMgr { time, ParticleMode::CampfireFire, *pos + Vec3::::zero() - .map(|_| rng.gen_range(-1.0, 1.0)) + .map(|_| rng.gen_range(-1.0..1.0)) .normalized() * *radius, ) @@ -121,7 +121,7 @@ impl ParticleMgr { time, ParticleMode::CampfireSmoke, *pos + Vec3::::zero() - .map(|_| rng.gen_range(-1.0, 1.0)) + .map(|_| rng.gen_range(-1.0..1.0)) .normalized() * *radius, ) @@ -221,7 +221,7 @@ impl ParticleMgr { Duration::from_secs(10), time, ParticleMode::CampfireSmoke, - pos.0.map(|e| e + thread_rng().gen_range(-0.25, 0.25)), + pos.0.map(|e| e + thread_rng().gen_range(-0.25..0.25)), )); } } @@ -396,7 +396,7 @@ impl ParticleMgr { // Emit a light when using flames lights.push(Light::new( pos.0 + b.offset, - Rgb::new(1.0, 0.25, 0.05).map(|e| e * rng.gen_range(0.8, 1.2)), + Rgb::new(1.0, 0.25, 0.05).map(|e| e * rng.gen_range(0.8..1.2)), 2.0, )); self.particles.resize_with( @@ -406,8 +406,8 @@ impl ParticleMgr { ), || { let phi: f32 = - rng.gen_range(0.0, b.static_data.max_angle.to_radians()); - let theta: f32 = rng.gen_range(0.0, 2.0 * PI); + rng.gen_range(0.0..b.static_data.max_angle.to_radians()); + let theta: f32 = rng.gen_range(0.0..2.0 * PI); let offset_z = Vec3::new( phi.sin() * theta.cos(), phi.sin() * theta.sin(), diff --git a/voxygen/src/scene/terrain/watcher.rs b/voxygen/src/scene/terrain/watcher.rs index 0e97f5c3f8..43034d2091 100644 --- a/voxygen/src/scene/terrain/watcher.rs +++ b/voxygen/src/scene/terrain/watcher.rs @@ -50,17 +50,17 @@ impl BlocksOfInterest { .for_each(|(pos, block)| { match block.kind() { BlockKind::Leaves => { - if thread_rng().gen_range(0, 16) == 0 { + if thread_rng().gen_range(0..16) == 0 { leaves.push(pos) } }, BlockKind::Grass => { - if thread_rng().gen_range(0, 16) == 0 { + if thread_rng().gen_range(0..16) == 0 { grass.push(pos) } }, BlockKind::Water => { - if chunk.meta().contains_river() && thread_rng().gen_range(0, 16) == 0 { + if chunk.meta().contains_river() && thread_rng().gen_range(0..16) == 0 { river.push(pos) } }, diff --git a/world/Cargo.toml b/world/Cargo.toml index 0a4dac0a80..93d2cde1f3 100644 --- a/world/Cargo.toml +++ b/world/Cargo.toml @@ -24,8 +24,8 @@ ordered-float = "2.0.1" hashbrown = { version = "0.9", features = ["rayon", "serde", "nightly"] } lazy_static = "1.4.0" tracing = { version = "0.1", default-features = false } -rand = "0.7" -rand_chacha = "0.2.1" +rand = "0.8" +rand_chacha = "0.3" arr_macro = "0.1.2" packed_simd = { version = "0.3.4", package = "packed_simd_2" } rayon = "1.5" diff --git a/world/src/civ/econ.rs b/world/src/civ/econ.rs index 5245627305..fb0bacce57 100644 --- a/world/src/civ/econ.rs +++ b/world/src/civ/econ.rs @@ -24,7 +24,7 @@ pub struct Belief { impl Belief { pub fn choose_price(&self, ctx: &mut GenCtx) -> f32 { - self.price + ctx.rng.gen_range(-1.0, 1.0) * self.confidence + self.price + ctx.rng.gen_range(-1.0..1.0) * self.confidence } pub fn update_buyer(&mut self, _years: f32, new_price: f32) { diff --git a/world/src/civ/mod.rs b/world/src/civ/mod.rs index 11dd20f752..cf791fef6e 100644 --- a/world/src/civ/mod.rs +++ b/world/src/civ/mod.rs @@ -105,7 +105,7 @@ impl Civs { for _ in 0..initial_civ_count * 3 { attempt(5, || { - let (kind, size) = match ctx.rng.gen_range(0, 8) { + let (kind, size) = match ctx.rng.gen_range(0..8) { 0 => (SiteKind::Castle, 3), _ => (SiteKind::Dungeon, 0), }; @@ -188,7 +188,7 @@ impl Civs { chunk.basement += diff; chunk.rockiness = 0.0; chunk.warp_factor = 0.0; - chunk.surface_veg *= 1.0 - factor * rng.gen_range(0.25, 0.9); + chunk.surface_veg *= 1.0 - factor * rng.gen_range(0.25..0.9); }); } } @@ -241,7 +241,7 @@ impl Civs { let mut pos = ctx .sim .get_size() - .map(|sz| ctx.rng.gen_range(0, sz as i32) as f32); + .map(|sz| ctx.rng.gen_range(0..sz as i32) as f32); let mut vel = pos .map2(ctx.sim.get_size(), |pos, sz| sz as f32 / 2.0 - pos) .try_normalized() @@ -252,8 +252,8 @@ impl Civs { let depth = (i.abs() as f32 / 100.0 * std::f32::consts::PI / 2.0).cos(); vel = (vel + Vec2::new( - ctx.rng.gen_range(-0.35, 0.35), - ctx.rng.gen_range(-0.35, 0.35), + ctx.rng.gen_range(-0.35..0.35), + ctx.rng.gen_range(-0.35..0.35), )) .try_normalized() .unwrap_or_else(Vec2::unit_y); @@ -290,9 +290,9 @@ impl Civs { let mut chunk = ctx.sim.get_mut(loc.0).unwrap(); let depth = loc.1 * 250.0 - 20.0; chunk.cave.1.alt = - chunk.alt - depth + ctx.rng.gen_range(-4.0, 4.0) * (depth > 10.0) as i32 as f32; - chunk.cave.1.width = ctx.rng.gen_range(6.0, 32.0); - chunk.cave.0.offset = Vec2::new(ctx.rng.gen_range(-16, 17), ctx.rng.gen_range(-16, 17)); + chunk.alt - depth + ctx.rng.gen_range(-4.0..4.0) * (depth > 10.0) as i32 as f32; + chunk.cave.1.width = ctx.rng.gen_range(6.0..32.0); + chunk.cave.0.offset = Vec2::new(ctx.rng.gen_range(-16..17), ctx.rng.gen_range(-16..17)); if chunk.cave.1.alt + chunk.cave.1.width + 5.0 > chunk.alt { chunk.spawn_rate = 0.0; @@ -305,7 +305,7 @@ impl Civs { ), name: { let name = NameGen::location(&mut ctx.rng).generate(); - match ctx.rng.gen_range(0, 7) { + match ctx.rng.gen_range(0..7) { 0 => format!("{} Hole", name), 1 => format!("{} Cavern", name), 2 => format!("{} Hollow", name), @@ -544,7 +544,7 @@ impl Civs { chunk.path.0.neighbors |= (1 << (to_prev_idx as u8)) | (1 << (to_next_idx as u8)); chunk.path.0.offset = - Vec2::new(ctx.rng.gen_range(-16, 17), ctx.rng.gen_range(-16, 17)); + Vec2::new(ctx.rng.gen_range(-16..17), ctx.rng.gen_range(-16..17)); } // Take note of the track @@ -735,7 +735,7 @@ fn find_site_loc( let test_loc = loc.unwrap_or_else(|| match near { Some((origin, dist)) => { origin - + (Vec2::new(ctx.rng.gen_range(-1.0, 1.0), ctx.rng.gen_range(-1.0, 1.0)) + + (Vec2::new(ctx.rng.gen_range(-1.0..1.0), ctx.rng.gen_range(-1.0..1.0)) .try_normalized() .unwrap_or(Vec2::zero()) * ctx.rng.gen::() @@ -743,8 +743,8 @@ fn find_site_loc( .map(|e| e as i32) }, None => Vec2::new( - ctx.rng.gen_range(0, ctx.sim.get_size().x as i32), - ctx.rng.gen_range(0, ctx.sim.get_size().y as i32), + ctx.rng.gen_range(0..ctx.sim.get_size().x as i32), + ctx.rng.gen_range(0..ctx.sim.get_size().y as i32), ), }); diff --git a/world/src/layer/mod.rs b/world/src/layer/mod.rs index 33a5ca2d9e..486fe3bd9a 100644 --- a/world/src/layer/mod.rs +++ b/world/src/layer/mod.rs @@ -239,10 +239,10 @@ pub fn apply_caves_supplement<'a>( wpos2d.y as f32, cave_base as f32, )) - .with_body(match dynamic_rng.gen_range(0, 5) { + .with_body(match dynamic_rng.gen_range(0..5) { 0 => { is_hostile = false; - let species = match dynamic_rng.gen_range(0, 4) { + let species = match dynamic_rng.gen_range(0..4) { 0 => comp::quadruped_small::Species::Truffler, 1 => comp::quadruped_small::Species::Dodarock, 2 => comp::quadruped_small::Species::Holladon, @@ -252,7 +252,7 @@ pub fn apply_caves_supplement<'a>( }, 1 => { is_hostile = true; - let species = match dynamic_rng.gen_range(0, 2) { + let species = match dynamic_rng.gen_range(0..2) { 0 => comp::quadruped_medium::Species::Tarasque, _ => comp::quadruped_medium::Species::Bonerattler, }; @@ -260,7 +260,7 @@ pub fn apply_caves_supplement<'a>( }, 2 => { is_hostile = true; - let species = match dynamic_rng.gen_range(0, 3) { + let species = match dynamic_rng.gen_range(0..3) { 0 => comp::quadruped_low::Species::Rocksnapper, 1 => comp::quadruped_low::Species::Lavadrake, _ => comp::quadruped_low::Species::Salamander, @@ -269,7 +269,7 @@ pub fn apply_caves_supplement<'a>( }, 3 => { is_hostile = true; - let species = match dynamic_rng.gen_range(0, 5) { + let species = match dynamic_rng.gen_range(0..5) { 0 => comp::theropod::Species::Sandraptor, 1 => comp::theropod::Species::Snowraptor, 2 => comp::theropod::Species::Woodraptor, @@ -280,7 +280,7 @@ pub fn apply_caves_supplement<'a>( }, _ => { is_hostile = true; - let species = match dynamic_rng.gen_range(0, 4) { + let species = match dynamic_rng.gen_range(0..4) { 0 => comp::biped_large::Species::Ogre, 1 => comp::biped_large::Species::Cyclops, 2 => comp::biped_large::Species::Wendigo, diff --git a/world/src/layer/wildlife.rs b/world/src/layer/wildlife.rs index a53a0e6412..49b7c1644e 100644 --- a/world/src/layer/wildlife.rs +++ b/world/src/layer/wildlife.rs @@ -41,7 +41,7 @@ pub fn apply_wildlife_supplement<'a, R: Rng>( Entry { make_entity: |pos, rng| { EntityInfo::at(pos) - .with_body(match rng.gen_range(0, 3) { + .with_body(match rng.gen_range(0..3) { 0 => quadruped_medium::Body::random_with( rng, &quadruped_medium::Species::Frostfang, @@ -71,7 +71,7 @@ pub fn apply_wildlife_supplement<'a, R: Rng>( Entry { make_entity: |pos, rng| { EntityInfo::at(pos) - .with_body(match rng.gen_range(0, 2) { + .with_body(match rng.gen_range(0..2) { 0 => { theropod::Body::random_with(rng, &theropod::Species::Snowraptor).into() }, @@ -150,7 +150,7 @@ pub fn apply_wildlife_supplement<'a, R: Rng>( Entry { make_entity: |pos, rng| { EntityInfo::at(pos) - .with_body(match rng.gen_range(0, 5) { + .with_body(match rng.gen_range(0..5) { 0 => { bird_medium::Body::random_with(rng, &bird_medium::Species::Eagle).into() }, @@ -195,7 +195,7 @@ pub fn apply_wildlife_supplement<'a, R: Rng>( Entry { make_entity: |pos, rng| { EntityInfo::at(pos) - .with_body(match rng.gen_range(0, 3) { + .with_body(match rng.gen_range(0..3) { 0 => quadruped_medium::Body::random_with( rng, &quadruped_medium::Species::Tarasque, @@ -222,7 +222,7 @@ pub fn apply_wildlife_supplement<'a, R: Rng>( Entry { make_entity: |pos, rng| { EntityInfo::at(pos) - .with_body(match rng.gen_range(0, 11) { + .with_body(match rng.gen_range(0..11) { 0 => quadruped_medium::Body::random_with( rng, &quadruped_medium::Species::Deer, @@ -288,7 +288,7 @@ pub fn apply_wildlife_supplement<'a, R: Rng>( Entry { make_entity: |pos, rng| { EntityInfo::at(pos) - .with_body(match rng.gen_range(0, 13) { + .with_body(match rng.gen_range(0..13) { 0 => quadruped_small::Body { species: quadruped_small::Species::Fox, body_type: quadruped_small::BodyType::Male, @@ -365,7 +365,7 @@ pub fn apply_wildlife_supplement<'a, R: Rng>( Entry { make_entity: |pos, rng| { EntityInfo::at(pos) - .with_body(match rng.gen_range(0, 3) { + .with_body(match rng.gen_range(0..3) { 0 => { biped_large::Body::random_with(rng, &biped_large::Species::Ogre).into() }, @@ -385,7 +385,7 @@ pub fn apply_wildlife_supplement<'a, R: Rng>( Entry { make_entity: |pos, rng| { EntityInfo::at(pos) - .with_body(match rng.gen_range(0, 3) { + .with_body(match rng.gen_range(0..3) { 0 => quadruped_small::Body::random_with( rng, &quadruped_small::Species::Beaver, @@ -457,7 +457,7 @@ pub fn apply_wildlife_supplement<'a, R: Rng>( Entry { make_entity: |pos, rng| { EntityInfo::at(pos) - .with_body(match rng.gen_range(0, 2) { + .with_body(match rng.gen_range(0..2) { 0 => { quadruped_low::Body::random_with(rng, &quadruped_low::Species::Maneater) .into() @@ -483,7 +483,7 @@ pub fn apply_wildlife_supplement<'a, R: Rng>( Entry { make_entity: |pos, rng| { EntityInfo::at(pos) - .with_body(match rng.gen_range(0, 4) { + .with_body(match rng.gen_range(0..4) { 0 => theropod::Body::random_with(rng, &theropod::Species::Odonto).into(), 1 => { biped_large::Body::random_with(rng, &biped_large::Species::Mightysaurok) @@ -511,7 +511,7 @@ pub fn apply_wildlife_supplement<'a, R: Rng>( Entry { make_entity: |pos, rng| { EntityInfo::at(pos) - .with_body(match rng.gen_range(0, 4) { + .with_body(match rng.gen_range(0..4) { 0 => bird_medium::Body::random_with(rng, &bird_medium::Species::Parrot) .into(), 1 => { @@ -561,7 +561,7 @@ pub fn apply_wildlife_supplement<'a, R: Rng>( Entry { make_entity: |pos, rng| { EntityInfo::at(pos) - .with_body(match rng.gen_range(0, 3) { + .with_body(match rng.gen_range(0..3) { 0 => { quadruped_small::Body::random_with(rng, &quadruped_small::Species::Frog) .into() @@ -594,7 +594,7 @@ pub fn apply_wildlife_supplement<'a, R: Rng>( Entry { make_entity: |pos, rng| { EntityInfo::at(pos) - .with_body(match rng.gen_range(0, 2) { + .with_body(match rng.gen_range(0..2) { 0 => quadruped_medium::Body::random_with( rng, &quadruped_medium::Species::Lion, @@ -621,7 +621,7 @@ pub fn apply_wildlife_supplement<'a, R: Rng>( Entry { make_entity: |pos, rng| { EntityInfo::at(pos) - .with_body(match rng.gen_range(0, 2) { + .with_body(match rng.gen_range(0..2) { 0 => quadruped_medium::Body::random_with( rng, &quadruped_medium::Species::Zebra, @@ -648,7 +648,7 @@ pub fn apply_wildlife_supplement<'a, R: Rng>( Entry { make_entity: |pos, rng| { EntityInfo::at(pos) - .with_body(match rng.gen_range(0, 2) { + .with_body(match rng.gen_range(0..2) { 0 => quadruped_medium::Body::random_with( rng, &quadruped_medium::Species::Bonerattler, @@ -678,7 +678,7 @@ pub fn apply_wildlife_supplement<'a, R: Rng>( Entry { make_entity: |pos, rng| { EntityInfo::at(pos) - .with_body(match rng.gen_range(0, 2) { + .with_body(match rng.gen_range(0..2) { 0 => quadruped_low::Body::random_with( rng, &quadruped_low::Species::Lavadrake, @@ -744,7 +744,7 @@ pub fn apply_wildlife_supplement<'a, R: Rng>( Entry { make_entity: |pos, rng| { EntityInfo::at(pos) - .with_body(match rng.gen_range(0, 6) { + .with_body(match rng.gen_range(0..6) { 0 => quadruped_small::Body::random_with( rng, &quadruped_small::Species::Holladon, @@ -787,7 +787,7 @@ pub fn apply_wildlife_supplement<'a, R: Rng>( Entry { make_entity: |pos, rng| { EntityInfo::at(pos) - .with_body(match rng.gen_range(0, 2) { + .with_body(match rng.gen_range(0..2) { 0 => fish_medium::Body::random_with(rng, &fish_medium::Species::Marlin) .into(), _ => fish_small::Body::random_with(rng, &fish_small::Species::Clownfish) @@ -859,7 +859,7 @@ pub fn apply_wildlife_supplement<'a, R: Rng>( }) }) { - let group_size = dynamic_rng.gen_range(group_size.start, group_size.end); + let group_size = dynamic_rng.gen_range(group_size.start..group_size.end); let entity = make_entity( Vec3::new(wpos2d.x, wpos2d.y, alt + solid_end).map(|e| e as f32), dynamic_rng, diff --git a/world/src/site/castle/mod.rs b/world/src/site/castle/mod.rs index ef88e150c9..8824098190 100644 --- a/world/src/site/castle/mod.rs +++ b/world/src/site/castle/mod.rs @@ -61,16 +61,16 @@ impl Castle { pub fn generate(wpos: Vec2, sim: Option<&mut WorldSim>, rng: &mut impl Rng) -> Self { let ctx = GenCtx { sim, rng }; - let boundary_towers = ctx.rng.gen_range(5, 10); - let keep_count = ctx.rng.gen_range(1, 4); - let boundary_noise = ctx.rng.gen_range(-2i32, 8).max(1) as f32; + let boundary_towers = ctx.rng.gen_range(5..10); + let keep_count = ctx.rng.gen_range(1..4); + let boundary_noise = ctx.rng.gen_range(-2i32..8).max(1) as f32; let radius = 150; let this = Self { name: { let name = NameGen::location(ctx.rng).generate(); - match ctx.rng.gen_range(0, 6) { + match ctx.rng.gen_range(0..6) { 0 => format!("Fort {}", name), 1 => format!("{} Citadel", name), 2 => format!("{} Castle", name), @@ -108,7 +108,7 @@ impl Castle { break; } offset = (dir * dist) - .map(|e| (e + ctx.rng.gen_range(-1.0, 1.0) * i as f32) as i32); + .map(|e| (e + ctx.rng.gen_range(-1.0..1.0) * i as f32) as i32); } Tower { @@ -133,9 +133,9 @@ impl Castle { let dist = (radius as f32 + ((angle * boundary_noise).sin() - 1.0) * 40.0) * 0.3; - let locus = ctx.rng.gen_range(20, 26); + let locus = ctx.rng.gen_range(20..26); let offset = (dir * dist).map(|e| e as i32); - let storeys = ctx.rng.gen_range(1, 8).clamped(3, 5); + let storeys = ctx.rng.gen_range(1..8).clamped(3, 5); Keep { offset, diff --git a/world/src/site/dungeon/mod.rs b/world/src/site/dungeon/mod.rs index a4b63a06e6..1891365a55 100644 --- a/world/src/site/dungeon/mod.rs +++ b/world/src/site/dungeon/mod.rs @@ -54,12 +54,12 @@ impl Dungeon { #[allow(clippy::let_and_return)] // TODO: Pending review in #587 pub fn generate(wpos: Vec2, sim: Option<&WorldSim>, rng: &mut impl Rng) -> Self { let mut ctx = GenCtx { sim, rng }; - let difficulty = ctx.rng.gen_range(0, 6); + let difficulty = ctx.rng.gen_range(0..6); let floors = 3 + difficulty / 2; let this = Self { name: { let name = NameGen::location(ctx.rng).generate(); - match ctx.rng.gen_range(0, 5) { + match ctx.rng.gen_range(0..5) { 0 => format!("{} Dungeon", name), 1 => format!("{} Lair", name), 2 => format!("{} Crib", name), @@ -276,7 +276,7 @@ impl Floor { Vec2::zero() } else { std::iter::from_fn(|| { - Some(FLOOR_SIZE.map(|sz| ctx.rng.gen_range(-sz / 2 + 2, sz / 2 - 1))) + Some(FLOOR_SIZE.map(|sz| ctx.rng.gen_range(-sz / 2 + 2..sz / 2 - 1))) }) .filter(|pos| *pos != stair_tile) .take(8) @@ -375,9 +375,9 @@ impl Floor { for _ in 0..n { let area = match attempt(64, || { - let sz = Vec2::::zero().map(|_| ctx.rng.gen_range(dim_limits.0, dim_limits.1)); + let sz = Vec2::::zero().map(|_| ctx.rng.gen_range(dim_limits.0..dim_limits.1)); let pos = FLOOR_SIZE.map2(sz, |floor_sz, room_sz| { - ctx.rng.gen_range(0, floor_sz + 1 - room_sz) + ctx.rng.gen_range(0..floor_sz + 1 - room_sz) }); let area = Rect::from((pos, Extent2::from(sz))); let area_border = Rect::from((pos - 1, Extent2::from(sz) + 2)); // The room, but with some personal space @@ -398,7 +398,7 @@ impl Floor { }; let mut dynamic_rng = rand::thread_rng(); - match dynamic_rng.gen_range(0, 5) { + match dynamic_rng.gen_range(0..5) { 0 => self.create_room(Room { seed: ctx.rng.gen(), loot_density: 0.000025 + level as f32 * 0.00015, @@ -406,7 +406,7 @@ impl Floor { miniboss: true, boss: false, area, - height: ctx.rng.gen_range(15, 20), + height: ctx.rng.gen_range(15..20), pillars: Some(4), difficulty: self.difficulty, }), @@ -417,8 +417,8 @@ impl Floor { miniboss: false, boss: false, area, - height: ctx.rng.gen_range(10, 15), - pillars: if ctx.rng.gen_range(0, 4) == 0 { + height: ctx.rng.gen_range(10..15), + pillars: if ctx.rng.gen_range(0..4) == 0 { Some(4) } else { None @@ -490,8 +490,8 @@ impl Floor { if area.contains_point(stair_rcenter.xy()) { let offs = Vec2::new( - dynamic_rng.gen_range(-1.0, 1.0), - dynamic_rng.gen_range(-1.0, 1.0), + dynamic_rng.gen_range(-1.0..1.0), + dynamic_rng.gen_range(-1.0..1.0), ) .try_normalized() .unwrap_or_else(Vec2::unit_y) @@ -529,35 +529,35 @@ impl Floor { if room .enemy_density - .map(|density| dynamic_rng.gen_range(0, density.recip() as usize) == 0) + .map(|density| dynamic_rng.gen_range(0..density.recip() as usize) == 0) .unwrap_or(false) && !tile_is_pillar { // Bad let chosen = match room.difficulty { 0 => { - Lottery::::load_expect(match dynamic_rng.gen_range(0, 4) { + Lottery::::load_expect(match dynamic_rng.gen_range(0..4) { 0 => "common.loot_tables.loot_table_humanoids", 1 => "common.loot_tables.loot_table_armor_cloth", _ => "common.loot_tables.loot_table_weapon_common", }) }, 1 => { - Lottery::::load_expect(match dynamic_rng.gen_range(0, 4) { + Lottery::::load_expect(match dynamic_rng.gen_range(0..4) { 0 => "common.loot_tables.loot_table_humanoids", 1 => "common.loot_tables.loot_table_armor_light", _ => "common.loot_tables.loot_table_weapon_uncommon", }) }, 2 => { - Lottery::::load_expect(match dynamic_rng.gen_range(0, 4) { + Lottery::::load_expect(match dynamic_rng.gen_range(0..4) { 0 => "common.loot_tables.loot_table_humanoids", 1 => "common.loot_tables.loot_table_armor_heavy", _ => "common.loot_tables.loot_table_weapon_rare", }) }, 3 => { - Lottery::::load_expect(match dynamic_rng.gen_range(0, 10) { + Lottery::::load_expect(match dynamic_rng.gen_range(0..10) { 0 => "common.loot_tables.loot_table_humanoids", 1 => "common.loot_tables.loot_table_armor_heavy", 2 => "common.loot_tables.loot_table_weapon_rare", @@ -565,7 +565,7 @@ impl Floor { }) }, 4 => { - Lottery::::load_expect(match dynamic_rng.gen_range(0, 6) { + Lottery::::load_expect(match dynamic_rng.gen_range(0..6) { 0 => "common.loot_tables.loot_table_humanoids", 1 => "common.loot_tables.loot_table_armor_misc", 2 => "common.loot_tables.loot_table_weapon_rare", @@ -573,7 +573,7 @@ impl Floor { }) }, 5 => { - Lottery::::load_expect(match dynamic_rng.gen_range(0, 5) { + Lottery::::load_expect(match dynamic_rng.gen_range(0..5) { 0 => "common.loot_tables.loot_table_humanoids", 1 => "common.loot_tables.loot_table_armor_misc", 2 => "common.loot_tables.loot_table_weapon_rare", @@ -602,10 +602,7 @@ impl Floor { .with_loadout_config(loadout_builder::LoadoutConfig::CultistAcolyte) .with_skillset_config(common::skillset_builder::SkillSetConfig::CultistAcolyte) .with_loot_drop(comp::Item::new_from_asset_expect(chosen)) - .with_level(dynamic_rng.gen_range( - (room.difficulty as f32).powf(1.25) + 3.0, - (room.difficulty as f32).powf(1.5) + 4.0, - ).round() as u16); + .with_level(dynamic_rng.gen_range((room.difficulty as f32).powf(1.25) + 3.0..(room.difficulty as f32).powf(1.5) + 4.0).round() as u16); let entity = match room.difficulty { 0 => entity .with_name("Outcast") @@ -615,7 +612,7 @@ impl Floor { ) .with_loot_drop(comp::Item::new_from_asset_expect(chosen)) .with_main_tool(comp::Item::new_from_asset_expect( - match dynamic_rng.gen_range(0, 6) { + match dynamic_rng.gen_range(0..6) { 0 => "common.items.weapons.axe.starter_axe", 1 => "common.items.weapons.sword.starter_sword", 2 => "common.items.weapons.sword.starter_sword", @@ -632,7 +629,7 @@ impl Floor { ) .with_loot_drop(comp::Item::new_from_asset_expect(chosen)) .with_main_tool(comp::Item::new_from_asset_expect( - match dynamic_rng.gen_range(0, 6) { + match dynamic_rng.gen_range(0..6) { 0 => "common.items.weapons.axe.worn_iron_axe-0", 1 => "common.items.weapons.sword.zweihander_sword_0", 2 => "common.items.weapons.sword.zweihander_sword_0", @@ -649,7 +646,7 @@ impl Floor { ) .with_loot_drop(comp::Item::new_from_asset_expect(chosen)) .with_main_tool(comp::Item::new_from_asset_expect( - match dynamic_rng.gen_range(0, 6) { + match dynamic_rng.gen_range(0..6) { 0 => "common.items.weapons.axe.bronze_axe-0", 1 => "common.items.weapons.sword.greatsword_2h_simple-0", 2 => "common.items.weapons.sword.cultist_purp_2h-0", @@ -666,7 +663,7 @@ impl Floor { ) .with_loot_drop(comp::Item::new_from_asset_expect(chosen)) .with_main_tool(comp::Item::new_from_asset_expect( - match dynamic_rng.gen_range(0, 6) { + match dynamic_rng.gen_range(0..6) { 0 => "common.items.weapons.axe.steel_axe-0", 1 => "common.items.weapons.sword.long_2h_orn-0", 2 => "common.items.weapons.sword.long_2h_orn-0", @@ -683,7 +680,7 @@ impl Floor { ) .with_loot_drop(comp::Item::new_from_asset_expect(chosen)) .with_main_tool(comp::Item::new_from_asset_expect( - match dynamic_rng.gen_range(0, 6) { + match dynamic_rng.gen_range(0..6) { 0 => "common.items.weapons.axe.malachite_axe-0", 1 => "common.items.weapons.sword.cultist_purp_2h-0", 2 => "common.items.weapons.sword.cultist_purp_2h-0", @@ -692,7 +689,7 @@ impl Floor { _ => "common.items.weapons.bow.horn_longbow-0", }, )), - 5 => match dynamic_rng.gen_range(0, 6) { + 5 => match dynamic_rng.gen_range(0..6) { 0 => entity .with_name("Cultist Warlock") .with_loadout_config(loadout_builder::LoadoutConfig::Warlock) @@ -711,7 +708,7 @@ impl Floor { ) .with_loot_drop(comp::Item::new_from_asset_expect(chosen)) .with_main_tool(comp::Item::new_from_asset_expect( - match dynamic_rng.gen_range(0, 5) { + match dynamic_rng.gen_range(0..5) { 0 => "common.items.weapons.axe.malachite_axe-0", 1 => "common.items.weapons.sword.cultist_purp_2h-0", 2 => "common.items.weapons.sword.cultist_purp_2h-0", @@ -783,7 +780,7 @@ impl Floor { ) .with_scale(2.0) .with_main_tool(comp::Item::new_from_asset_expect( - match dynamic_rng.gen_range(0, 6) { + match dynamic_rng.gen_range(0..6) { 0 => "common.items.weapons.axe.worn_iron_axe-0", 1 => { "common.items.weapons.sword.zweihander_sword_0" @@ -832,7 +829,7 @@ impl Floor { ) .with_scale(2.0) .with_main_tool(comp::Item::new_from_asset_expect( - match dynamic_rng.gen_range(0, 6) { + match dynamic_rng.gen_range(0..6) { 0 => "common.items.weapons.axe.steel_axe-0", 1 => "common.items.weapons.sword.long_2h_orn-0", 2 => "common.items.weapons.sword.long_2h_orn-0", @@ -856,7 +853,7 @@ impl Floor { ) .with_scale(2.0) .with_main_tool(comp::Item::new_from_asset_expect( - match dynamic_rng.gen_range(0, 6) { + match dynamic_rng.gen_range(0..6) { 0 => "common.items.weapons.axe.malachite_axe-0", 1 => "common.items.weapons.sword.cultist_purp_2h-0", 2 => "common.items.weapons.sword.cultist_purp_2h-0", @@ -909,8 +906,8 @@ impl Floor { .with_level( dynamic_rng .gen_range( - (room.difficulty as f32).powf(1.25) + 3.0, - (room.difficulty as f32).powf(1.5) + 4.0, + (room.difficulty as f32).powf(1.25) + 3.0 + ..(room.difficulty as f32).powf(1.5) + 4.0, ) .round() as u16 @@ -1011,7 +1008,7 @@ impl Floor { ) .with_scale(2.0) .with_main_tool(comp::Item::new_from_asset_expect( - match dynamic_rng.gen_range(0, 6) { + match dynamic_rng.gen_range(0..6) { 0 => "common.items.weapons.axe.malachite_axe-0", 1 => "common.items.weapons.sword.cultist_purp_2h-0", 2 => "common.items.weapons.sword.cultist_purp_2h-0", @@ -1081,8 +1078,8 @@ impl Floor { .with_level( dynamic_rng .gen_range( - (room.difficulty as f32).powf(1.25) + 3.0, - (room.difficulty as f32).powf(1.5) + 4.0, + (room.difficulty as f32).powf(1.25) + 3.0 + ..(room.difficulty as f32).powf(1.5) + 4.0, ) .round() as u16 diff --git a/world/src/site/namegen.rs b/world/src/site/namegen.rs index e1dc6488f4..d9a55a377f 100644 --- a/world/src/site/namegen.rs +++ b/world/src/site/namegen.rs @@ -10,7 +10,7 @@ pub struct NameGen<'a, R: Rng> { impl<'a, R: Rng> NameGen<'a, R> { pub fn location(rng: &'a mut R) -> Self { Self { - approx_syllables: rng.gen_range(1, 4), + approx_syllables: rng.gen_range(1..4), rng, } } diff --git a/world/src/site/settlement/building/archetype/house.rs b/world/src/site/settlement/building/archetype/house.rs index 0e6b8085f9..efb0157d11 100644 --- a/world/src/site/settlement/building/archetype/house.rs +++ b/world/src/site/settlement/building/archetype/house.rs @@ -151,23 +151,23 @@ impl Attr { pub fn generate(rng: &mut R, _locus: i32) -> Self { Self { central_supports: rng.gen(), - storey_fill: match rng.gen_range(0, 2) { + storey_fill: match rng.gen_range(0..2) { //0 => StoreyFill::None, 0 => StoreyFill::Upper, _ => StoreyFill::All, }, - roof_style: match rng.gen_range(0, 3) { + roof_style: match rng.gen_range(0..3) { 0 => RoofStyle::Hip, 1 => RoofStyle::Gable, _ => RoofStyle::Rounded, }, - mansard: rng.gen_range(-7, 4).max(0), - pillar: match rng.gen_range(0, 4) { - 0 => Pillar::Chimney(rng.gen_range(2, 6)), + mansard: rng.gen_range(-7..4).max(0), + pillar: match rng.gen_range(0..4) { + 0 => Pillar::Chimney(rng.gen_range(2..6)), _ => Pillar::None, }, - levels: rng.gen_range(1, 3), - window: match rng.gen_range(0, 4) { + levels: rng.gen_range(1..3), + window: match rng.gen_range(0..4) { 0 => SpriteKind::Window1, 1 => SpriteKind::Window2, 2 => SpriteKind::Window3, @@ -181,21 +181,21 @@ impl Archetype for House { type Attr = Attr; fn generate(rng: &mut R) -> (Self, Skeleton) { - let len = rng.gen_range(-8, 24).clamped(0, 20); - let locus = 6 + rng.gen_range(0, 5); + let len = rng.gen_range(-8..24).clamped(0, 20); + let locus = 6 + rng.gen_range(0..5); let branches_per_side = 1 + len as usize / 20; - let levels = rng.gen_range(1, 3); + let levels = rng.gen_range(1..3); let skel = Skeleton { - offset: -rng.gen_range(0, len + 7).clamped(0, len), + offset: -rng.gen_range(0..len + 7).clamped(0, len), ori: if rng.gen() { Ori::East } else { Ori::North }, root: Branch { len, attr: Attr { storey_fill: StoreyFill::All, mansard: 0, - pillar: match rng.gen_range(0, 3) { - 0 => Pillar::Chimney(rng.gen_range(2, 6)), - 1 => Pillar::Tower(5 + rng.gen_range(1, 5)), + pillar: match rng.gen_range(0..3) { + 0 => Pillar::Chimney(rng.gen_range(2..6)), + 1 => Pillar::Tower(5 + rng.gen_range(1..5)), _ => Pillar::None, }, levels, @@ -212,12 +212,12 @@ impl Archetype for House { Some(( i as i32 * len / (branches_per_side - 1).max(1) as i32, Branch { - len: rng.gen_range(8, 16) * flip, + len: rng.gen_range(8..16) * flip, attr: Attr { - levels: rng.gen_range(1, 4).min(levels), + levels: rng.gen_range(1..4).min(levels), ..Attr::generate(rng, locus) }, - locus: (6 + rng.gen_range(0, 3)).min(locus), + locus: (6 + rng.gen_range(0..3)).min(locus), border: 4, children: Vec::new(), }, @@ -544,7 +544,7 @@ impl Archetype for House { 2 => SpriteKind::ChairDouble, 3 => SpriteKind::CoatRack, 4 => { - if dynamic_rng.gen_range(0, 8) == 0 { + if dynamic_rng.gen_range(0..8) == 0 { SpriteKind::Chest } else { SpriteKind::Crate @@ -555,14 +555,14 @@ impl Archetype for House { 8 => SpriteKind::TableSide, 9 => SpriteKind::WardrobeSingle, 10 => { - if dynamic_rng.gen_range(0, 10) == 0 { + if dynamic_rng.gen_range(0..10) == 0 { SpriteKind::PotionMinor } else { SpriteKind::VialEmpty } }, _ => { - if dynamic_rng.gen_range(0, 2) == 0 { + if dynamic_rng.gen_range(0..2) == 0 { SpriteKind::Bowl } else { SpriteKind::Pot diff --git a/world/src/site/settlement/building/archetype/keep.rs b/world/src/site/settlement/building/archetype/keep.rs index 96d371b949..bb1273c58d 100644 --- a/world/src/site/settlement/building/archetype/keep.rs +++ b/world/src/site/settlement/building/archetype/keep.rs @@ -57,10 +57,10 @@ impl Archetype for Keep { type Attr = Attr; fn generate(rng: &mut R) -> (Self, Skeleton) { - let len = rng.gen_range(-8, 24).max(0); - let storeys = rng.gen_range(1, 3); + let len = rng.gen_range(-8..24).max(0); + let storeys = rng.gen_range(1..3); let skel = Skeleton { - offset: -rng.gen_range(0, len + 7).clamped(0, len), + offset: -rng.gen_range(0..len + 7).clamped(0, len), ori: if rng.gen() { Ori::East } else { Ori::North }, root: Branch { len, @@ -72,23 +72,23 @@ impl Archetype for Keep { rounded: true, has_doors: true, }, - locus: 10 + rng.gen_range(0, 5), + locus: 10 + rng.gen_range(0..5), border: 3, children: (0..1) .map(|_| { ( - rng.gen_range(-5, len + 5).clamped(0, len.max(1) - 1), + rng.gen_range(-5..len + 5).clamped(0, len.max(1) - 1), Branch { len: 0, attr: Attr { - storeys: storeys + rng.gen_range(1, 3), + storeys: storeys + rng.gen_range(1..3), is_tower: true, flag: true, ridged: false, rounded: true, has_doors: false, }, - locus: 6 + rng.gen_range(0, 3), + locus: 6 + rng.gen_range(0..3), border: 3, children: Vec::new(), }, diff --git a/world/src/site/settlement/mod.rs b/world/src/site/settlement/mod.rs index 6440c7b63c..6281b6eb65 100644 --- a/world/src/site/settlement/mod.rs +++ b/world/src/site/settlement/mod.rs @@ -212,7 +212,7 @@ impl Settlement { let cpos = wpos.map(|e| e.div_euclid(TerrainChunkSize::RECT_SIZE.x as i32)); !sim.can_host_settlement(cpos) }) - || rng.gen_range(0, 16) == 0 + || rng.gen_range(0..16) == 0 // Randomly consider some tiles inaccessible { self.land.set(tile, hazard); @@ -225,7 +225,7 @@ impl Settlement { let river_dir = Vec2::new(rng.gen::() - 0.5, rng.gen::() - 0.5).normalized(); let radius = 500.0 + rng.gen::().powi(2) * 1000.0; let river = self.land.new_plot(Plot::Water); - let river_offs = Vec2::new(rng.gen_range(-3, 4), rng.gen_range(-3, 4)); + let river_offs = Vec2::new(rng.gen_range(-3..4), rng.gen_range(-3..4)); for x in (0..100).map(|e| e as f32 / 100.0) { let theta0 = x as f32 * f32::consts::PI * 2.0; @@ -293,7 +293,7 @@ impl Settlement { pub fn place_town(&mut self, ctx: &mut GenCtx) { const PLOT_COUNT: usize = 3; - let mut origin = Vec2::new(ctx.rng.gen_range(-2, 3), ctx.rng.gen_range(-2, 3)); + let mut origin = Vec2::new(ctx.rng.gen_range(-2..3), ctx.rng.gen_range(-2..3)); for i in 0..PLOT_COUNT { if let Some(base_tile) = self.land.find_tile_near(origin, |plot| { @@ -386,12 +386,12 @@ impl Settlement { .take(16usize.pow(2)) { // This is a stupid way to decide how to place buildings - for i in 0..ctx.rng.gen_range(2, 5) { + for i in 0..ctx.rng.gen_range(2..5) { for _ in 0..25 { let house_pos = tile.map(|e| e * AREA_SIZE as i32 + AREA_SIZE as i32 / 2) + Vec2::::zero().map(|_| { ctx.rng - .gen_range(-(AREA_SIZE as i32) / 4, AREA_SIZE as i32 / 4) + .gen_range(-(AREA_SIZE as i32) / 4..AREA_SIZE as i32 / 4) }); let tile_pos = house_pos.map(|e| e.div_euclid(AREA_SIZE as i32)); @@ -470,10 +470,10 @@ impl Settlement { //self.land.set(base_tile, farmhouse); // Farmhouses - // for _ in 0..ctx.rng.gen_range(1, 3) { + // for _ in 0..ctx.rng.gen_range(1..3) { // let house_pos = base_tile.map(|e| e * AREA_SIZE as i32 + AREA_SIZE as i32 - // / 2) + Vec2::new(ctx.rng.gen_range(-16, 16), - // ctx.rng.gen_range(-16, 16)); + // / 2) + Vec2::new(ctx.rng.gen_range(-16..16), + // ctx.rng.gen_range(-16..16)); // self.structures.push(Structure { // kind: StructureKind::House(HouseBuilding::generate(ctx.rng, @@ -508,7 +508,7 @@ impl Settlement { let field = self.land.new_plot(Plot::Field { farm, seed: rng.gen(), - crop: match rng.gen_range(0, 8) { + crop: match rng.gen_range(0..8) { 0 => Crop::Corn, 1 => Crop::Wheat, 2 => Crop::Cabbage, @@ -522,7 +522,7 @@ impl Settlement { }); let tiles = self.land - .grow_from(center, rng.gen_range(5, MAX_FIELD_SIZE), rng, |plot| { + .grow_from(center, rng.gen_range(5..MAX_FIELD_SIZE), rng, |plot| { plot.is_none() }); for pos in tiles.into_iter() { @@ -881,13 +881,13 @@ impl Settlement { let is_dummy = RandomField::new(self.seed + 1).chance(Vec3::from(wpos2d), 1.0 / 15.0); let entity = EntityInfo::at(entity_wpos) - .with_body(match dynamic_rng.gen_range(0, 5) { + .with_body(match dynamic_rng.gen_range(0..5) { _ if is_dummy => { is_human = false; object::Body::TrainingDummy.into() }, 0 => { - let species = match dynamic_rng.gen_range(0, 3) { + let species = match dynamic_rng.gen_range(0..3) { 0 => quadruped_small::Species::Pig, 1 => quadruped_small::Species::Sheep, _ => quadruped_small::Species::Cat, @@ -899,7 +899,7 @@ impl Settlement { )) }, 1 => { - let species = match dynamic_rng.gen_range(0, 4) { + let species = match dynamic_rng.gen_range(0..4) { 0 => bird_medium::Species::Duck, 1 => bird_medium::Species::Chicken, 2 => bird_medium::Species::Goose, @@ -927,20 +927,20 @@ impl Settlement { .do_if(!is_dummy, |e| e.with_automatic_name()) .do_if(is_dummy, |e| e.with_name("Training Dummy")) .do_if(is_human && dynamic_rng.gen(), |entity| { - match dynamic_rng.gen_range(0, 5) { + match dynamic_rng.gen_range(0..5) { 0 => entity .with_main_tool(Item::new_from_asset_expect( "common.items.weapons.sword.greatsword_2h_simple-0", )) .with_name("Guard") - .with_level(dynamic_rng.gen_range(10, 15)) + .with_level(dynamic_rng.gen_range(10..15)) .with_loadout_config(loadout_builder::LoadoutConfig::Guard) .with_skillset_config( common::skillset_builder::SkillSetConfig::Guard, ), _ => entity .with_main_tool(Item::new_from_asset_expect( - match dynamic_rng.gen_range(0, 7) { + match dynamic_rng.gen_range(0..7) { 0 => "common.items.npc_weapons.tool.broom", 1 => "common.items.npc_weapons.tool.hoe", 2 => "common.items.npc_weapons.tool.pickaxe", diff --git a/world/src/site/settlement/town.rs b/world/src/site/settlement/town.rs index 468408678b..6de3331710 100644 --- a/world/src/site/settlement/town.rs +++ b/world/src/site/settlement/town.rs @@ -73,10 +73,10 @@ fn gen_plot(aabr: Aabr, ctx: &mut GenCtx) -> Plot { if aabr.size().product() <= 9 { Plot::District } else if aabr.size().w < aabr.size().h { - let [a, b] = aabr.split_at_y(aabr.min.y + ctx.rng.gen_range(1, aabr.size().h)); + let [a, b] = aabr.split_at_y(aabr.min.y + ctx.rng.gen_range(1..aabr.size().h)); Plot::Parent(vec![(a, gen_plot(a, ctx)), (b, gen_plot(b, ctx))]) } else { - let [a, b] = aabr.split_at_x(aabr.min.x + ctx.rng.gen_range(1, aabr.size().w)); + let [a, b] = aabr.split_at_x(aabr.min.x + ctx.rng.gen_range(1..aabr.size().w)); Plot::Parent(vec![(a, gen_plot(a, ctx)), (b, gen_plot(b, ctx))]) } }