diff --git a/src/game/client/gameclient.cpp b/src/game/client/gameclient.cpp index d41cd9607..ff8b0a3a0 100644 --- a/src/game/client/gameclient.cpp +++ b/src/game/client/gameclient.cpp @@ -944,7 +944,8 @@ void CGameClient::OnMessage(int MsgId, CUnpacker *pUnpacker, int Conn, bool Dumm } // if we are spectating a static id set (team 0) and somebody killed, and its not a guy in solo, we remove him from the list - if(IsMultiViewIdSet() && m_MultiViewTeam == 0 && m_aMultiViewId[pMsg->m_Victim] && !m_aClients[pMsg->m_Victim].m_Spec && !m_MultiView.m_Solo) + // never remove players from the list if it is a pvp server + if(IsMultiViewIdSet() && m_MultiViewTeam == 0 && m_aMultiViewId[pMsg->m_Victim] && !m_aClients[pMsg->m_Victim].m_Spec && !m_MultiView.m_Solo && !m_GameInfo.m_Pvp) { m_aMultiViewId[pMsg->m_Victim] = false; @@ -1256,6 +1257,7 @@ static CGameInfo GetGameInfo(const CNetObj_GameInfoEx *pInfoEx, int InfoExSize, Info.m_EntitiesVanilla = Vanilla; Info.m_EntitiesBW = BlockWorlds; Info.m_Race = Race; + Info.m_Pvp = !Race; Info.m_DontMaskEntities = !DDNet; Info.m_AllowXSkins = false; Info.m_EntitiesFDDrace = FDDrace; diff --git a/src/game/client/gameclient.h b/src/game/client/gameclient.h index 553cf8bc5..69322c7e3 100644 --- a/src/game/client/gameclient.h +++ b/src/game/client/gameclient.h @@ -87,6 +87,7 @@ public: bool m_EntitiesFDDrace; bool m_Race; + bool m_Pvp; bool m_DontMaskEntities; bool m_AllowXSkins;