2019-06-02 11:13:56 -04:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "Ped.h"
|
|
|
|
|
2019-12-22 10:28:16 -05:00
|
|
|
class CAccident;
|
|
|
|
class CFire;
|
|
|
|
|
|
|
|
enum EmergencyPedState
|
|
|
|
{
|
|
|
|
EMERGENCY_PED_READY = 0x0,
|
|
|
|
EMERGENCY_PED_DETERMINE_NEXT_STATE = 0x1, // you can set that anytime you want
|
|
|
|
EMERGENCY_PED_START_CPR = 0x2,
|
|
|
|
EMERGENCY_PED_FLAG_4 = 0x4, // unused
|
|
|
|
EMERGENCY_PED_FLAG_8 = 0x8, // unused
|
|
|
|
EMERGENCY_PED_FACE_TO_PATIENT = 0x10, // for CPR
|
|
|
|
EMERGENCY_PED_PERFORM_CPR = 0x20,
|
|
|
|
EMERGENCY_PED_STOP_CPR = 0x40,
|
|
|
|
EMERGENCY_PED_STAND_STILL = 0x80, // waiting colleagues for medics, "extinguishing" fire for firemen
|
|
|
|
EMERGENCY_PED_STOP = 0x100,
|
|
|
|
};
|
|
|
|
|
2019-06-02 11:13:56 -04:00
|
|
|
class CEmergencyPed : public CPed
|
|
|
|
{
|
|
|
|
public:
|
2019-12-22 10:28:16 -05:00
|
|
|
CPed *m_pRevivedPed;
|
|
|
|
EmergencyPedState m_nEmergencyPedState;
|
|
|
|
CAccident *m_pAttendedAccident;
|
|
|
|
CFire *m_pAttendedFire;
|
2020-04-19 00:14:13 -04:00
|
|
|
bool m_bStartedToCPR; // set but unused
|
|
|
|
int32 field_1360; // set to 0 but unused
|
2019-07-14 05:49:03 -04:00
|
|
|
|
|
|
|
CEmergencyPed(uint32);
|
2019-12-22 10:28:16 -05:00
|
|
|
~CEmergencyPed() { }
|
|
|
|
bool InRange(CPed*);
|
2019-07-14 08:00:36 -04:00
|
|
|
void ProcessControl(void);
|
2019-12-22 10:28:16 -05:00
|
|
|
void FiremanAI(void);
|
|
|
|
void MedicAI(void);
|
2019-06-02 11:13:56 -04:00
|
|
|
};
|
2020-04-23 16:25:18 -04:00
|
|
|
#ifndef PED_SKIN
|
2019-06-02 11:13:56 -04:00
|
|
|
static_assert(sizeof(CEmergencyPed) == 0x554, "CEmergencyPed: error");
|
2020-04-23 16:25:18 -04:00
|
|
|
#endif
|