61 lines
1.6 KiB
C++
61 lines
1.6 KiB
C++
//========= 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
|