summaryrefslogtreecommitdiff
path: root/game/client/c_ai_basenpc.h
diff options
context:
space:
mode:
Diffstat (limited to 'game/client/c_ai_basenpc.h')
-rw-r--r--game/client/c_ai_basenpc.h61
1 files changed, 61 insertions, 0 deletions
diff --git a/game/client/c_ai_basenpc.h b/game/client/c_ai_basenpc.h
new file mode 100644
index 0000000..834be64
--- /dev/null
+++ b/game/client/c_ai_basenpc.h
@@ -0,0 +1,61 @@
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose:
+//
+// $NoKeywords: $
+//=============================================================================//
+
+#ifndef C_AI_BASENPC_H
+#define C_AI_BASENPC_H
+#ifdef _WIN32
+#pragma once
+#endif
+
+
+#include "c_basecombatcharacter.h"
+
+// NOTE: Moved all controller code into c_basestudiomodel
+class C_AI_BaseNPC : public C_BaseCombatCharacter
+{
+ DECLARE_CLASS( C_AI_BaseNPC, C_BaseCombatCharacter );
+
+public:
+ DECLARE_CLIENTCLASS();
+
+ C_AI_BaseNPC();
+ virtual unsigned int PhysicsSolidMaskForEntity( void ) const;
+ virtual bool IsNPC( void ) { return true; }
+ bool IsMoving( void ){ return m_bIsMoving; }
+ bool ShouldAvoidObstacle( void ){ return m_bPerformAvoidance; }
+ virtual bool AddRagdollToFadeQueue( void ) { return m_bFadeCorpse; }
+
+ virtual bool GetRagdollInitBoneArrays( matrix3x4_t *pDeltaBones0, matrix3x4_t *pDeltaBones1, matrix3x4_t *pCurrentBones, float boneDt ) OVERRIDE;
+
+ int GetDeathPose( void ) { return m_iDeathPose; }
+
+ bool ShouldModifyPlayerSpeed( void ) { return m_bSpeedModActive; }
+ int GetSpeedModifyRadius( void ) { return m_iSpeedModRadius; }
+ int GetSpeedModifySpeed( void ) { return m_iSpeedModSpeed; }
+
+ void ClientThink( void );
+ void OnDataChanged( DataUpdateType_t type );
+ bool ImportantRagdoll( void ) { return m_bImportanRagdoll; }
+
+private:
+ C_AI_BaseNPC( const C_AI_BaseNPC & ); // not defined, not accessible
+ float m_flTimePingEffect;
+ int m_iDeathPose;
+ int m_iDeathFrame;
+
+ int m_iSpeedModRadius;
+ int m_iSpeedModSpeed;
+
+ bool m_bPerformAvoidance;
+ bool m_bIsMoving;
+ bool m_bFadeCorpse;
+ bool m_bSpeedModActive;
+ bool m_bImportanRagdoll;
+};
+
+
+#endif // C_AI_BASENPC_H