Files
2025-05-21 21:20:08 +03:00

62 lines
1.5 KiB
C++

//========= Copyright © 1996-2005, Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
//=============================================================================//
#ifndef NPC_HGRUNT_H
#define NPC_HGRUNT_H
#ifdef _WIN32
#pragma once
#endif
#include "npc_hgrunt_base.h"
//=========================================================
// >> CNPC_Hgrunt
//=========================================================
class CNPC_Hgrunt : public CNPC_HgruntBase
{
DECLARE_CLASS( CNPC_Hgrunt, CNPC_HgruntBase );
#if HL2_EPISODIC
DECLARE_DATADESC();
#endif
public:
void Spawn( void );
void Precache( void );
void DeathSound( const CTakeDamageInfo &info );
void PrescheduleThink( void );
void BuildScheduleTestBits( void );
int SelectSchedule ( void );
float GetHitgroupDamageMultiplier( int iHitGroup, const CTakeDamageInfo &info );
void HandleAnimEvent( animevent_t *pEvent );
void OnChangeActivity( Activity eNewActivity );
void Event_Killed( const CTakeDamageInfo &info );
void OnListened();
void ClearAttackConditions( void );
bool m_fIsBlocking;
bool IsLightDamage( const CTakeDamageInfo &info );
bool IsHeavyDamage( const CTakeDamageInfo &info );
virtual bool AllowedToIgnite( void ) { return true; }
private:
bool ShouldHitPlayer( const Vector &targetDir, float targetDist );
#if HL2_EPISODIC
public:
Activity NPC_TranslateActivity( Activity eNewActivity );
protected:
/// whether to use the more casual march anim in ep2_outland_05
int m_iUseMarch;
#endif
};
#endif