mirror of
https://git.ngram.ca/OpenJam/rc-servers
synced 2026-08-23 23:08:52 +00:00
Randomize the multiplayer AI bank, just like in single-player.
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
use super::account_json::UserData;
|
use super::account_json::UserData;
|
||||||
|
use rand::seq::SliceRandom;
|
||||||
|
|
||||||
fn db_to_impl(client_emu: &oj_rc_database::schema::multiplayer_game_player::ClientType) -> Option<crate::persist::config::ClientEmulator> {
|
fn db_to_impl(client_emu: &oj_rc_database::schema::multiplayer_game_player::ClientType) -> Option<crate::persist::config::ClientEmulator> {
|
||||||
match client_emu {
|
match client_emu {
|
||||||
@@ -71,13 +72,15 @@ impl UserData {
|
|||||||
chooser: &dyn super::TeamChooser,
|
chooser: &dyn super::TeamChooser,
|
||||||
) -> Result<Vec<(crate::data::player_data::PlayerData, crate::persist::config::ClientEmulator)>, polariton_server::operations::SimpleOpError> {
|
) -> Result<Vec<(crate::data::player_data::PlayerData, crate::persist::config::ClientEmulator)>, polariton_server::operations::SimpleOpError> {
|
||||||
let offset = real_players.len();
|
let offset = real_players.len();
|
||||||
|
let mut fakes = (*self.fake_players).clone();
|
||||||
|
fakes.shuffle(&mut rand::rng());
|
||||||
self.generate_fake_players_data(
|
self.generate_fake_players_data(
|
||||||
guid_str,
|
guid_str,
|
||||||
factory,
|
factory,
|
||||||
cpu_counter,
|
cpu_counter,
|
||||||
weapon_lister,
|
weapon_lister,
|
||||||
chooser,
|
chooser,
|
||||||
&self.fake_players,
|
&fakes,
|
||||||
offset,
|
offset,
|
||||||
).await
|
).await
|
||||||
}
|
}
|
||||||
@@ -93,13 +96,15 @@ impl UserData {
|
|||||||
count: usize,
|
count: usize,
|
||||||
total_offset: usize,
|
total_offset: usize,
|
||||||
) -> Result<Vec<(crate::data::player_data::PlayerData, crate::persist::config::ClientEmulator)>, polariton_server::operations::SimpleOpError> {
|
) -> Result<Vec<(crate::data::player_data::PlayerData, crate::persist::config::ClientEmulator)>, polariton_server::operations::SimpleOpError> {
|
||||||
|
let mut fillers = (*self.filler_players).clone();
|
||||||
|
fillers.shuffle(&mut rand::rng());
|
||||||
self.generate_fake_players_data(
|
self.generate_fake_players_data(
|
||||||
guid_str,
|
guid_str,
|
||||||
factory,
|
factory,
|
||||||
cpu_counter,
|
cpu_counter,
|
||||||
weapon_lister,
|
weapon_lister,
|
||||||
chooser,
|
chooser,
|
||||||
&self.filler_players[0..count],
|
&fillers[0..count],
|
||||||
total_offset
|
total_offset
|
||||||
).await
|
).await
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user