From 77b6d8c11f6f08a8eea3c51c38dc486992884202 Mon Sep 17 00:00:00 2001 From: "NG (Graham)" Date: Thu, 30 Oct 2025 22:15:12 -0400 Subject: [PATCH] Add validation warning about fake players on strange teams in any game mode --- rc_core/src/persist/combat.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/rc_core/src/persist/combat.rs b/rc_core/src/persist/combat.rs index ba29d02..0dd71f8 100644 --- a/rc_core/src/persist/combat.rs +++ b/rc_core/src/persist/combat.rs @@ -192,7 +192,7 @@ impl super::config::SelfValidator for GameEvents { .any(|(i2, f2)| i != i2 && f.team == f2.team)) { info.warn(crate::persist::config::ValidationMessage { path: vec!["multiplayer".to_owned(), "mode".to_owned()], - message: format!("Multiplayer game mode {:?} does not work well with more than one player per team", self.multiplayer.mode), + message: format!("Multiplayer game mode {:?} does not work well with more than one (fake) player per team", self.multiplayer.mode), }); } if ctx.multiplayer.fakes.iter().any(|f| matches!(f.implementation, super::multiplayer::ClientEmulation::ClientAI)) { @@ -201,6 +201,13 @@ impl super::config::SelfValidator for GameEvents { message: format!("Multiplayer game mode {:?} does not work well with client-side AI", self.multiplayer.mode), }); } + } else { + if ctx.multiplayer.fakes.iter().any(|f| f.team.is_some_and(|t| t > 1)) { + info.warn(crate::persist::config::ValidationMessage { + path: vec!["multiplayer".to_owned(), "mode".to_owned()], + message: format!("Multiplayer game mode {:?} does not work well with (fake) players split between more than 2 teams", self.multiplayer.mode), + }); + } } is_ok }