mirror of
https://github.com/ENSL/NS.git
synced 2024-12-18 00:31:10 +00:00
33 lines
1.1 KiB
C
33 lines
1.1 KiB
C
|
#ifndef CPUSHABLE_H
|
||
|
#define CPUSHABLE_H
|
||
|
|
||
|
class CPushable : public CBreakable
|
||
|
{
|
||
|
public:
|
||
|
void Spawn ( void );
|
||
|
void Precache( void );
|
||
|
void Touch ( CBaseEntity *pOther );
|
||
|
void Move( CBaseEntity *pMover, int push );
|
||
|
void KeyValue( KeyValueData *pkvd );
|
||
|
void Use( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value );
|
||
|
void EXPORT StopSound( void );
|
||
|
// virtual void SetActivator( CBaseEntity *pActivator ) { m_pPusher = pActivator; }
|
||
|
|
||
|
virtual int ObjectCaps( void ) { return (CBaseEntity :: ObjectCaps() & ~FCAP_ACROSS_TRANSITION) | FCAP_CONTINUOUS_USE; }
|
||
|
virtual int Save( CSave &save );
|
||
|
virtual int Restore( CRestore &restore );
|
||
|
|
||
|
inline float MaxSpeed( void ) { return m_maxSpeed; }
|
||
|
|
||
|
// breakables use an overridden takedamage
|
||
|
virtual int TakeDamage( entvars_t* pevInflictor, entvars_t* pevAttacker, float flDamage, int bitsDamageType );
|
||
|
|
||
|
static TYPEDESCRIPTION m_SaveData[];
|
||
|
|
||
|
static char *m_soundNames[3];
|
||
|
int m_lastSound; // no need to save/restore, just keeps the same sound from playing twice in a row
|
||
|
float m_maxSpeed;
|
||
|
float m_soundTime;
|
||
|
};
|
||
|
|
||
|
#endif
|