From 1d387ae3df8b8173c915d9e8168dcd4897eabc92 Mon Sep 17 00:00:00 2001 From: MaxSignal Date: Mon, 29 Jun 2026 02:43:57 +0000 Subject: [PATCH] Randomize the multiplayer AI bank, just like in single-player. --- rc_core/src/persist/user/multiplayer.rs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/rc_core/src/persist/user/multiplayer.rs b/rc_core/src/persist/user/multiplayer.rs index 49b4143..4025519 100644 --- a/rc_core/src/persist/user/multiplayer.rs +++ b/rc_core/src/persist/user/multiplayer.rs @@ -1,4 +1,5 @@ use super::account_json::UserData; +use rand::seq::SliceRandom; fn db_to_impl(client_emu: &oj_rc_database::schema::multiplayer_game_player::ClientType) -> Option { match client_emu { @@ -71,13 +72,15 @@ impl UserData { chooser: &dyn super::TeamChooser, ) -> Result, polariton_server::operations::SimpleOpError> { let offset = real_players.len(); + let mut fakes = (*self.fake_players).clone(); + fakes.shuffle(&mut rand::rng()); self.generate_fake_players_data( guid_str, factory, cpu_counter, weapon_lister, chooser, - &self.fake_players, + &fakes, offset, ).await } @@ -93,13 +96,15 @@ impl UserData { count: usize, total_offset: usize, ) -> Result, polariton_server::operations::SimpleOpError> { + let mut fillers = (*self.filler_players).clone(); + fillers.shuffle(&mut rand::rng()); self.generate_fake_players_data( guid_str, factory, cpu_counter, weapon_lister, chooser, - &self.filler_players[0..count], + &fillers[0..count], total_offset ).await }