X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fteamplay.qc;h=b1edf75e40de5831c9dcb3fdeccba5079447bb71;hb=5237b383b83b86b0e5044ff910e752116bb52498;hp=c26a0b16550ac51062a40c742468d5f93f214076;hpb=92542dadaab4d70e9cee4321d6eff1c86580ef2a;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/teamplay.qc b/qcsrc/server/teamplay.qc index c26a0b165..b1edf75e4 100644 --- a/qcsrc/server/teamplay.qc +++ b/qcsrc/server/teamplay.qc @@ -92,6 +92,21 @@ void Team_SetNumberOfAlivePlayers(entity team_ent, int number) team_ent.m_num_players_alive = number; } +int Team_GetWinnerAliveTeam() +{ + int winner = 0; + for (int i = 0; i < NUM_TEAMS; ++i) + { + if (g_team_entities[i].m_num_players_alive > 0) + { + if (winner) + return 0; + winner = Team_IndexToTeam(i + 1); + } + } + return (winner ? winner : -1); +} + int Team_GetNumberOfAliveTeams() { int result = 0; @@ -105,6 +120,21 @@ int Team_GetNumberOfAliveTeams() return result; } +int Team_GetWinnerTeam_WIthControlPoints(int min_control_points) +{ + int winner = 0; + for (int i = 0; i < NUM_TEAMS; ++i) + { + if (g_team_entities[i].m_num_control_points >= min_control_points) + { + if (winner) + return 0; + winner = Team_IndexToTeam(i + 1); + } + } + return (winner ? winner : -1); +} + int Team_GetNumberOfControlPoints(entity team_ent) { return team_ent.m_num_control_points;