From 00dedaf6416a50834859df8031bb929dbd77c05a Mon Sep 17 00:00:00 2001 From: m Date: Mon, 24 Oct 2022 03:42:04 -0500 Subject: [PATCH] fix broken team balance --- data/cdata/scripts/mp/team_balance.gsc | 27 ++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 data/cdata/scripts/mp/team_balance.gsc diff --git a/data/cdata/scripts/mp/team_balance.gsc b/data/cdata/scripts/mp/team_balance.gsc new file mode 100644 index 00000000..759aceb2 --- /dev/null +++ b/data/cdata/scripts/mp/team_balance.gsc @@ -0,0 +1,27 @@ +init() +{ + // define the auto balance string in the game array (referenced in gsc dump, but not defined past IW6?) + precachestring(&"MP_AUTOBALANCE_NOW"); + game["strings"]["autobalance"] = &"MP_AUTOBALANCE_NOW"; + + // define onteamselection callback function used in balanceteams() + level.onteamselection = ::set_team; +} + +set_team(team) +{ + if (team != self.pers["team"]) + { + self.switching_teams = true; + self.joining_team = team; + self.leaving_team = self.pers["team"]; + } + + if (self.sessionstate == "playing") + { + self suicide(); + } + + maps\mp\gametypes\_menus::addtoteam(team); + maps\mp\gametypes\_menus::endrespawnnotify(); +}