//========= 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