diff --git a/dlls/cbase.cpp b/dlls/cbase.cpp index e9200681..3278460e 100644 --- a/dlls/cbase.cpp +++ b/dlls/cbase.cpp @@ -276,6 +276,13 @@ void DispatchSave( edict_t *pent, SAVERESTOREDATA *pSaveData ) if( pEntity->ObjectCaps() & FCAP_DONT_SAVE ) return; + if( mp_coop_changelevel.value && pent->v.movetype == MOVETYPE_FOLLOW ) + { + // players will not be saved, it's items too + if( ENTINDEX( pent->v.aiment ) > 0 && ENTINDEX( pent->v.aiment ) <= gpGlobals->maxClients ) + return; + } + // These don't use ltime & nextthink as times really, but we'll fudge around it. if( pEntity->pev->movetype == MOVETYPE_PUSH ) { diff --git a/dlls/triggers.cpp b/dlls/triggers.cpp index 1b4d0399..7afafff1 100644 --- a/dlls/triggers.cpp +++ b/dlls/triggers.cpp @@ -1576,7 +1576,7 @@ public: if( m_iBanCount >= 2 ) { CoopKickPlayer( pPlayer ); - m_iConfirm--; + m_iConfirm-= 5; return; } m_iConfirm++; MESSAGE_BEGIN( MSG_ALL, 8, NULL ); // svc_print @@ -1609,8 +1609,11 @@ public: votes[imenu-1]++; m_iVoteCount++; - if( votes[1] >= 2 ) // two players vote for ban + if( votes[1] >= 2 ) + { + // two players vote for ban CoopKickPlayer( m_pPlayer ); + } if( m_iVoteCount >= m_iMaxCount ) {