diff options
Diffstat (limited to 'game/server/ai_basehumanoid.h')
| -rw-r--r-- | game/server/ai_basehumanoid.h | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/game/server/ai_basehumanoid.h b/game/server/ai_basehumanoid.h new file mode 100644 index 0000000..86da44a --- /dev/null +++ b/game/server/ai_basehumanoid.h @@ -0,0 +1,50 @@ +//========= 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 |