From e29571dd736da0b7125aa20e482d208fbb8a8729 Mon Sep 17 00:00:00 2001 From: def Date: Tue, 21 Oct 2014 14:27:10 +0200 Subject: [PATCH] save doesn't create ranks accidentally anymore (fixes #73) --- src/game/server/score/sql_score.cpp | 2 +- src/game/server/teams.cpp | 5 ++++- src/game/server/teams.h | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/game/server/score/sql_score.cpp b/src/game/server/score/sql_score.cpp index 0086b78f9..eaa92733f 100644 --- a/src/game/server/score/sql_score.cpp +++ b/src/game/server/score/sql_score.cpp @@ -1677,7 +1677,7 @@ void CSqlScore::SaveTeamThread(void *pUser) char aBuf2[256]; str_format(aBuf2, sizeof(aBuf2), "Team successfully saved. Use '/load %s' to continue", OriginalCode); pData->m_pSqlData->GameServer()->SendChatTeam(Team, aBuf2); - ((CGameControllerDDRace*)(pData->m_pSqlData->GameServer()->m_pController))->m_Teams.KillTeam(Team); + ((CGameControllerDDRace*)(pData->m_pSqlData->GameServer()->m_pController))->m_Teams.KillSavedTeam(Team); } else { diff --git a/src/game/server/teams.cpp b/src/game/server/teams.cpp index 1808c42fe..55b5d2491 100644 --- a/src/game/server/teams.cpp +++ b/src/game/server/teams.cpp @@ -635,8 +635,11 @@ void CGameTeams::SetTeamLock(int Team, bool Lock) m_TeamLocked[Team] = Lock; } -void CGameTeams::KillTeam(int Team) +void CGameTeams::KillSavedTeam(int Team) { + // Set so that no finish is accidentally given to some of the players + ChangeTeamState(Team, CGameTeams::TEAMSTATE_OPEN); + for (int i = 0; i < MAX_CLIENTS; i++) if(m_Core.Team(i) == Team && GameServer()->m_apPlayers[i]) GameServer()->m_apPlayers[i]->KillCharacter(-2); diff --git a/src/game/server/teams.h b/src/game/server/teams.h index f99a37506..c60b00209 100644 --- a/src/game/server/teams.h +++ b/src/game/server/teams.h @@ -80,7 +80,7 @@ public: void SetCpActive(CPlayer* Player, int CpActive); void OnTeamFinish(CPlayer** Players, unsigned int Size); void OnFinish(CPlayer* Player); - void KillTeam(int Team); + void KillSavedTeam(int Team); bool TeeFinished(int ClientID) { return m_TeeFinished[ClientID];