From 2974419ec9dbc3457a02d8644ed1702d14fca970 Mon Sep 17 00:00:00 2001 From: Lyberta Date: Sat, 18 Mar 2017 22:31:53 +0300 Subject: [PATCH] MoveToTeam kills, we don't need that - reverting. --- qcsrc/server/player.qc | 17 ++++------------- qcsrc/server/teamplay.qc | 15 ++++++++++++++- 2 files changed, 18 insertions(+), 14 deletions(-) diff --git a/qcsrc/server/player.qc b/qcsrc/server/player.qc index ca2313837..c1019a0fd 100644 --- a/qcsrc/server/player.qc +++ b/qcsrc/server/player.qc @@ -663,25 +663,16 @@ void PlayerDamage(entity this, entity inflictor, entity attacker, float damage, bool MoveToTeam(entity client, int team_colour, int type) { - if (client.team == team_colour) - { - return true; - } - if (MUTATOR_CALLHOOK(Player_ChangeTeam, client, Team_TeamToNumber( - client.team), Team_TeamToNumber(team_colour)) == true) - { - // Mutator has blocked team change. - return false; - } int lockteams_backup = lockteams; // backup any team lock lockteams = 0; // disable locked teams - int oldteam = client.team; TeamchangeFrags(client); // move the players frags - SetPlayerColors(client, team_colour - 1); // set the players colour + if (!SetPlayerTeamSimple(client, team_colour)) + { + return false; + } Damage(client, client, client, 100000, DEATH_AUTOTEAMCHANGE.m_id, client.origin, '0 0 0'); // kill the player lockteams = lockteams_backup; // restore the team lock LogTeamchange(client.playerid, client.team, type); - MUTATOR_CALLHOOK(Player_ChangedTeam, client, oldteam, client.team); return true; } diff --git a/qcsrc/server/teamplay.qc b/qcsrc/server/teamplay.qc index fdecfb3fd..70dc937e5 100644 --- a/qcsrc/server/teamplay.qc +++ b/qcsrc/server/teamplay.qc @@ -192,7 +192,20 @@ void SetPlayerColors(entity pl, float _color) bool SetPlayerTeamSimple(entity player, int teamnum) { - return MoveToTeam(player, teamnum, 6); + if (player.team == teamnum) + { + return true; + } + if (MUTATOR_CALLHOOK(Player_ChangeTeam, player, Team_TeamToNumber( + player.team), Team_TeamToNumber(teamnum)) == true) + { + // Mutator has blocked team change. + return false; + } + int oldteam = player.team; + SetPlayerColors(player, teamnum - 1); + MUTATOR_CALLHOOK(Player_ChangedTeam, player, oldteam, player.team); + return true; } void SetPlayerTeam(entity pl, float t, float s, float noprint) -- 2.39.2