summaryrefslogblamecommitdiffstats
path: root/src/peds/CopPed.h
blob: e97800350909bec54ff5cabb4ba099113fbb9a31 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
            

                







                       


                           
                               
                                  

                              
                        
                               

                                         
                                                  

                            
 
                          
                   

                                
                                  
                                    


                                 
                         
  
 
                
                                                          
      
#pragma once
#include "Ped.h"

enum eCopType
{
	COP_STREET = 0,
	COP_FBI = 1,
	COP_SWAT = 2,
	COP_ARMY = 3,
};

class CCopPed : public CPed
{
public:
	int16 m_wRoadblockNode;
	float m_fDistanceToTarget;
	bool m_bIsInPursuit;
	bool m_bIsDisabledCop;
	int8 field_1350;
	bool m_bBeatingSuspect;
	bool m_bStopAndShootDisabledZone;
	bool m_bZoneDisabled;
	float m_fAbseilPos; // VC leftover, unused
	eCopType m_nCopType;
	int8 field_1364;

	CCopPed(eCopType);
	~CCopPed();

	void ClearPursuit(void);
	void ProcessControl(void);
	void SetArrestPlayer(CPed*);
	void SetPursuit(bool);
	void ArrestPlayer(void);
	void ScanForCrimes(void);
	void CopAI(void);
};

#ifndef PED_SKIN
static_assert(sizeof(CCopPed) == 0x558, "CCopPed: error");
#endif