Counter Strike : Global Offensive Source Code
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

61 lines
1.7 KiB

  1. //========= Copyright � 1996-2005, Valve Corporation, All rights reserved. ============//
  2. //
  3. // Purpose:
  4. //
  5. // $NoKeywords: $
  6. //=============================================================================//
  7. #ifndef C_AI_BASENPC_H
  8. #define C_AI_BASENPC_H
  9. #ifdef _WIN32
  10. #pragma once
  11. #endif
  12. #include "c_basecombatcharacter.h"
  13. // NOTE: MOved all controller code into c_basestudiomodel
  14. class C_AI_BaseNPC : public C_BaseCombatCharacter
  15. {
  16. DECLARE_CLASS( C_AI_BaseNPC, C_BaseCombatCharacter );
  17. public:
  18. DECLARE_CLIENTCLASS();
  19. C_AI_BaseNPC();
  20. virtual unsigned int PhysicsSolidMaskForEntity( void ) const;
  21. virtual bool IsNPC( void ) { return true; }
  22. bool IsMoving( void ){ return m_bIsMoving; }
  23. bool ShouldAvoidObstacle( void ){ return m_bPerformAvoidance; }
  24. virtual bool AddRagdollToFadeQueue( void ) { return m_bFadeCorpse; }
  25. virtual void GetRagdollInitBoneArrays( matrix3x4a_t *pDeltaBones0, matrix3x4a_t *pDeltaBones1, matrix3x4a_t *pCurrentBones, float boneDt );
  26. int GetDeathPose( void ) { return m_iDeathPose; }
  27. bool ShouldModifyPlayerSpeed( void ) { return m_bSpeedModActive; }
  28. int GetSpeedModifyRadius( void ) { return m_iSpeedModRadius; }
  29. int GetSpeedModifySpeed( void ) { return m_iSpeedModSpeed; }
  30. void ClientThink( void );
  31. void OnDataChanged( DataUpdateType_t type );
  32. bool ImportantRagdoll( void ) { return m_bImportanRagdoll; }
  33. private:
  34. C_AI_BaseNPC( const C_AI_BaseNPC & ); // not defined, not accessible
  35. float m_flTimePingEffect;
  36. int m_iDeathPose;
  37. int m_iDeathFrame;
  38. int m_iSpeedModRadius;
  39. int m_iSpeedModSpeed;
  40. bool m_bPerformAvoidance;
  41. bool m_bIsMoving;
  42. bool m_bFadeCorpse;
  43. bool m_bSpeedModActive;
  44. bool m_bImportanRagdoll;
  45. };
  46. #endif // C_AI_BASENPC_H