You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
58 lines
1.6 KiB
58 lines
1.6 KiB
//========= 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 |
|
} |