This repository has been archived on 2024-06-13. You can view files and clone it, but cannot push or open issues or pull requests.
2020-08-04 13:13:01 -04:00

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