diff options
Diffstat (limited to 'game/shared/tf2/tf_obj_baseupgrade_shared.cpp')
| -rw-r--r-- | game/shared/tf2/tf_obj_baseupgrade_shared.cpp | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/game/shared/tf2/tf_obj_baseupgrade_shared.cpp b/game/shared/tf2/tf_obj_baseupgrade_shared.cpp new file mode 100644 index 0000000..9f0f30f --- /dev/null +++ b/game/shared/tf2/tf_obj_baseupgrade_shared.cpp @@ -0,0 +1,58 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: Base class for object upgrading objects +// +//=============================================================================// +#include "cbase.h" +#include "baseobject_shared.h" +#include "tf_obj_baseupgrade_shared.h" + +IMPLEMENT_NETWORKCLASS_ALIASED( BaseObjectUpgrade, DT_BaseObjectUpgrade ) + +BEGIN_NETWORK_TABLE( CBaseObjectUpgrade, DT_BaseObjectUpgrade ) +END_NETWORK_TABLE() + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +CBaseObjectUpgrade::CBaseObjectUpgrade() +{ +#if !defined( CLIENT_DLL ) + UseClientSideAnimation(); +#endif +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CBaseObjectUpgrade::Spawn() +{ + BaseClass::Spawn(); + +#if !defined( CLIENT_DLL ) + m_fObjectFlags |= OF_DONT_PREVENT_BUILD_NEAR_OBJ | OF_ALLOW_REPEAT_PLACEMENT | + OF_DOESNT_NEED_POWER | OF_MUST_BE_BUILT_ON_ATTACHMENT; + + // Prevent anyone shooting / emping / buffing me + SetSolid( SOLID_NONE ); +#endif +} + + +//----------------------------------------------------------------------------- +// Purpose: Prevent Team Damage +//----------------------------------------------------------------------------- +int CBaseObjectUpgrade::OnTakeDamage( const CTakeDamageInfo &info ) +{ +#if !defined( CLIENT_DLL ) + // Check teams + if ( info.GetDamageType() & DMG_BLAST ) + { + return 0; + } + + return BaseClass::OnTakeDamage( info ); +#else + return 0; +#endif +}
\ No newline at end of file |