aboutsummaryrefslogtreecommitdiff
path: root/sp/src/game/server/doors.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'sp/src/game/server/doors.cpp')
-rw-r--r--sp/src/game/server/doors.cpp14
1 files changed, 9 insertions, 5 deletions
diff --git a/sp/src/game/server/doors.cpp b/sp/src/game/server/doors.cpp
index 53abb829..d8f06c49 100644
--- a/sp/src/game/server/doors.cpp
+++ b/sp/src/game/server/doors.cpp
@@ -340,12 +340,11 @@ void CBaseDoor::Spawn()
#ifdef TF_DLL
if ( TFGameRules() && TFGameRules()->IsMultiplayer() )
{
- if ( !m_flBlockDamage )
- {
- // Never block doors in TF2 - to prevent various exploits.
- m_flBlockDamage = 10.f;
- }
+ // Never block doors in TF2 - to prevent various exploits.
+ m_bIgnoreNonPlayerEntsOnBlock = true;
}
+#else
+ m_bIgnoreNonPlayerEntsOnBlock = false;
#endif // TF_DLL
}
@@ -1207,6 +1206,11 @@ void CBaseDoor::Blocked( CBaseEntity *pOther )
pOther->TakeDamage( CTakeDamageInfo( this, this, m_flBlockDamage, DMG_CRUSH ) );
}
}
+ // If set, ignore non-player ents that block us. Mainly of use in multiplayer to prevent exploits.
+ else if ( pOther && !pOther->IsPlayer() && m_bIgnoreNonPlayerEntsOnBlock )
+ {
+ return;
+ }
// If we're set to force ourselves closed, keep going
if ( m_bForceClosed )