mirror of
https://github.com/YGGverse/hlsdk-portable.git
synced 2025-03-13 05:51:19 +00:00
52 lines
1.5 KiB
C++
52 lines
1.5 KiB
C++
//=========================================================
|
|
// Zombie
|
|
//=========================================================
|
|
|
|
// UNDONE: Don't flinch every time you get hit
|
|
|
|
#include "extdll.h"
|
|
#include "util.h"
|
|
#include "cbase.h"
|
|
#include "monsters.h"
|
|
#include "schedule.h"
|
|
|
|
|
|
//=========================================================
|
|
// Monster's Anim Events Go Here
|
|
//=========================================================
|
|
#define ZOMBIE_AE_ATTACK_RIGHT 0x01
|
|
#define ZOMBIE_AE_ATTACK_LEFT 0x02
|
|
#define ZOMBIE_AE_ATTACK_BOTH 0x03
|
|
|
|
#define ZOMBIE_FLINCH_DELAY 2 // at most one flinch every n secs
|
|
|
|
class CZombie : public CBaseMonster
|
|
{
|
|
public:
|
|
virtual void Spawn( void );
|
|
virtual void Precache( void );
|
|
void SetYawSpeed( void );
|
|
int Classify ( void );
|
|
virtual void HandleAnimEvent( MonsterEvent_t *pEvent );
|
|
virtual int IgnoreConditions ( void );
|
|
|
|
float m_flNextFlinch;
|
|
|
|
virtual void PainSound( void );
|
|
virtual void AlertSound( void );
|
|
virtual void IdleSound( void );
|
|
virtual void AttackSound( void );
|
|
|
|
static const char *pAttackSounds[];
|
|
static const char *pIdleSounds[];
|
|
static const char *pAlertSounds[];
|
|
static const char *pPainSounds[];
|
|
static const char *pAttackHitSounds[];
|
|
static const char *pAttackMissSounds[];
|
|
|
|
// No range attacks
|
|
BOOL CheckRangeAttack1 ( float flDot, float flDist ) { return FALSE; }
|
|
BOOL CheckRangeAttack2 ( float flDot, float flDist ) { return FALSE; }
|
|
virtual int TakeDamage( entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType );
|
|
};
|