source-engine/game/server/hl2/npc_combines.h

62 lines
1.5 KiB
C
Raw Normal View History

2020-04-22 16:56:21 +00:00
//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
//=============================================================================//
#ifndef NPC_COMBINES_H
#define NPC_COMBINES_H
#ifdef _WIN32
#pragma once
#endif
#include "npc_combine.h"
//=========================================================
// >> CNPC_CombineS
//=========================================================
class CNPC_CombineS : public CNPC_Combine
{
DECLARE_CLASS( CNPC_CombineS, CNPC_Combine );
#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 // NPC_COMBINES_H