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

52 lines
1.5 KiB
C++

//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
// $NoKeywords: $
//=============================================================================//
#ifndef AI_BASEHUMANOID_H
#define AI_BASEHUMANOID_H
#include "ai_behavior.h"
#include "ai_blended_movement.h"
//-----------------------------------------------------------------------------
// CLASS: CAI_BaseHumanoid
//-----------------------------------------------------------------------------
typedef CAI_BlendingHost<CAI_BehaviorHost<CAI_BaseNPC> > CAI_BaseHumanoidBase;
class CAI_BaseHumanoid : public CAI_BaseHumanoidBase {
DECLARE_CLASS(CAI_BaseHumanoid, CAI_BaseHumanoidBase);
public:
bool HandleInteraction(int interactionType, void *data,
CBaseCombatCharacter *sourceEnt);
// Tasks
virtual void StartTask(const Task_t *pTask);
virtual void RunTask(const Task_t *pTask);
virtual void BuildScheduleTestBits();
// Navigation
bool OnMoveBlocked(AIMoveResult_t *pResult);
// Damage
void TraceAttack(const CTakeDamageInfo &info, const Vector &vecDir,
trace_t *ptr, CDmgAccumulator *pAccumulator);
// Various start tasks
virtual void StartTaskRangeAttack1(const Task_t *pTask);
// Various run tasks
virtual void RunTaskRangeAttack1(const Task_t *pTask);
// Purpose: check ammo
virtual void CheckAmmo(void);
};
//-----------------------------------------------------------------------------
#endif