mirror of
https://github.com/ENSL/NS.git
synced 2024-11-30 00:10:57 +00:00
8552ac617c
git-svn-id: https://unknownworlds.svn.cloudforge.com/ns1@1 67975925-1194-0748-b3d5-c16f83f1a3a1
33 lines
No EOL
1.1 KiB
C++
33 lines
No EOL
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 |