diff --git a/src/game/server/ddracechat.cpp b/src/game/server/ddracechat.cpp index f778e1ab2..b46594e56 100644 --- a/src/game/server/ddracechat.cpp +++ b/src/game/server/ddracechat.cpp @@ -744,6 +744,15 @@ void CGameContext::ConSwap(IConsole::IResult *pResult, void *pUserData) return; } + if(g_Config.m_SvTeam == SV_TEAM_FORCED_SOLO) + { + pSelf->Console()->Print( + IConsole::OUTPUT_LEVEL_STANDARD, + "chatresp", + "Swap is not available on forced solo servers."); + return; + } + CGameTeams &Teams = pSelf->m_pController->Teams(); int Team = Teams.m_Core.Team(pResult->m_ClientId); @@ -804,7 +813,7 @@ void CGameContext::ConSwap(IConsole::IResult *pResult, void *pUserData) } CPlayer *pSwapPlayer = pSelf->m_apPlayers[TargetClientId]; - if((Team == TEAM_FLOCK || Teams.TeamFlock(Team)) && g_Config.m_SvTeam != 3) + if(Team == TEAM_FLOCK || Teams.TeamFlock(Team)) { CCharacter *pChr = pPlayer->GetCharacter(); CCharacter *pSwapChr = pSwapPlayer->GetCharacter(); diff --git a/src/game/server/teams.cpp b/src/game/server/teams.cpp index 30762fe8b..200e39741 100644 --- a/src/game/server/teams.cpp +++ b/src/game/server/teams.cpp @@ -172,7 +172,7 @@ void CGameTeams::OnCharacterStart(int ClientId) } } - if(g_Config.m_SvTeam < SV_TEAM_FORCED_SOLO && g_Config.m_SvMaxTeamSize != 2 && g_Config.m_SvPauseable) + if(g_Config.m_SvTeam != SV_TEAM_FORCED_SOLO && g_Config.m_SvMaxTeamSize != 2 && g_Config.m_SvPauseable) { for(int i = 0; i < MAX_CLIENTS; ++i) {