diff options
Diffstat (limited to 'game/server/hl1/hl1_npc_zombie.h')
| -rw-r--r-- | game/server/hl1/hl1_npc_zombie.h | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/game/server/hl1/hl1_npc_zombie.h b/game/server/hl1/hl1_npc_zombie.h new file mode 100644 index 0000000..73298a8 --- /dev/null +++ b/game/server/hl1/hl1_npc_zombie.h @@ -0,0 +1,52 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +// +//=============================================================================// +#ifndef NPC_ZOMBIE_H +#define NPC_ZOMBIE_H + + +#include "hl1_ai_basenpc.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 CNPC_Zombie : public CHL1BaseNPC +{ + DECLARE_CLASS( CNPC_Zombie, CHL1BaseNPC ); +public: + + void Spawn( void ); + void Precache( void ); + float MaxYawSpeed( void ) { return 120.0f; }; + Class_T Classify( void ); + void HandleAnimEvent( animevent_t *pEvent ); +// int IgnoreConditions ( void ); + + float m_flNextFlinch; + + void PainSound( const CTakeDamageInfo &info ); + void AlertSound( void ); + void IdleSound( void ); + void AttackSound( void ); + + // No range attacks + BOOL CheckRangeAttack1 ( float flDot, float flDist ) { return FALSE; } + BOOL CheckRangeAttack2 ( float flDot, float flDist ) { return FALSE; } + int OnTakeDamage_Alive( const CTakeDamageInfo &inputInfo ); + + void RemoveIgnoredConditions ( void ); + int MeleeAttack1Conditions ( float flDot, float flDist ); +}; + +#endif //NPC_ZOMBIE_H
\ No newline at end of file |