55 lines
1.5 KiB
C++
55 lines
1.5 KiB
C++
#ifndef _DEFINED_ASW_SIMPLE_GRUB_H
|
|
#define _DEFINED_ASW_SIMPLE_GRUB_H
|
|
#ifdef _WIN32
|
|
#pragma once
|
|
#endif
|
|
|
|
#include "asw_simple_alien.h"
|
|
|
|
class CASW_Simple_Grub : public CASW_Simple_Alien
|
|
{
|
|
public:
|
|
DECLARE_CLASS( CASW_Simple_Grub, CASW_Simple_Alien );
|
|
//DECLARE_SERVERCLASS();
|
|
DECLARE_DATADESC();
|
|
CASW_Simple_Grub();
|
|
virtual ~CASW_Simple_Grub();
|
|
|
|
virtual void Spawn();
|
|
virtual void Precache();
|
|
virtual void AlienThink();
|
|
virtual Class_T Classify( void ) { return (Class_T) CLASS_ASW_GRUB; }
|
|
|
|
// anims
|
|
virtual void PlayRunningAnimation();
|
|
virtual void PlayAttackingAnimation();
|
|
virtual void PlayFallingAnimation();
|
|
|
|
// movement
|
|
virtual float GetIdealSpeed() const;
|
|
virtual float GetPitchSpeed() const;
|
|
virtual float GetIdealPitch();
|
|
virtual void UpdatePitch(float delta);
|
|
virtual float GetZigZagChaseDistance() const;
|
|
virtual float GetFaceEnemyDistance() const;
|
|
virtual bool TryMove(const Vector &vecSrc, Vector &vecTarget, float deltatime, bool bStepMove = false);
|
|
virtual bool ApplyGravity(Vector &vecTarget, float deltatime);
|
|
bool m_bSkipGravity;
|
|
|
|
void GrubTouch( CBaseEntity *pOther );
|
|
|
|
// sounds
|
|
virtual void PainSound( const CTakeDamageInfo &info );
|
|
virtual void AlertSound();
|
|
virtual void DeathSound( const CTakeDamageInfo &info );
|
|
virtual void AttackSound();
|
|
|
|
// health related
|
|
bool ShouldGib( const CTakeDamageInfo &info );
|
|
bool CorpseGib( const CTakeDamageInfo &info );
|
|
void Event_Killed( const CTakeDamageInfo &info );
|
|
};
|
|
|
|
|
|
#endif // _DEFINED_ASW_SIMPLE_GRUB_H
|