re3/src/control/PedStats.h

80 lines
1.4 KiB
C
Raw Normal View History

#pragma once
2019-06-19 14:55:01 +00:00
enum ePedStats
2019-06-16 21:12:14 +00:00
{
2019-06-19 14:55:01 +00:00
PEDSTAT_PLAYER,
PEDSTAT_COP,
PEDSTAT_MEDIC,
PEDSTAT_FIREMAN,
PEDSTAT_GANG1,
PEDSTAT_GANG2,
PEDSTAT_GANG3,
PEDSTAT_GANG4,
PEDSTAT_GANG5,
PEDSTAT_GANG6,
PEDSTAT_GANG7,
PEDSTAT_STREET_GUY,
PEDSTAT_SUIT_GUY,
PEDSTAT_SENSIBLE_GUY,
PEDSTAT_GEEK_GUY,
PEDSTAT_OLD_GUY,
PEDSTAT_TOUGH_GUY,
PEDSTAT_STREET_GIRL,
PEDSTAT_SUIT_GIRL,
PEDSTAT_SENSIBLE_GIRL,
PEDSTAT_GEEK_GIRL,
PEDSTAT_OLD_GIRL,
PEDSTAT_TOUGH_GIRL,
PEDSTAT_TRAMP_MALE,
PEDSTAT_TRAMP_FEMALE,
PEDSTAT_TOURIST,
PEDSTAT_PROSTITUTE,
PEDSTAT_CRIMINAL,
PEDSTAT_BUSKER,
PEDSTAT_TAXIDRIVER,
PEDSTAT_PSYCHO,
PEDSTAT_STEWARD,
PEDSTAT_SPORTSFAN,
PEDSTAT_SHOPPER,
PEDSTAT_OLDSHOPPER,
NUM_PEDSTATS
};
// flags
enum
{
STAT_PUNCH_ONLY = 1,
STAT_CAN_KNEE_HEAD = 2,
STAT_CAN_KICK = 4,
STAT_CAN_ROUNDHOUSE = 8,
STAT_NO_DIVE = 0x10,
STAT_ONE_HIT_KNOCKDOWN = 0x20,
STAT_SHOPPING_BAGS = 0x40,
STAT_GUN_PANIC = 0x80
};
2019-06-19 16:35:51 +00:00
class CPedStats
2019-06-19 14:55:01 +00:00
{
2019-06-19 16:35:51 +00:00
public:
2019-06-19 14:55:01 +00:00
ePedStats m_type;
char m_name[24];
2019-06-19 14:55:01 +00:00
float m_fleeDistance;
float m_headingChangeRate;
int8 m_fear;
int8 m_temper;
int8 m_lawfulness;
int8 m_sexiness;
2019-06-19 14:55:01 +00:00
float m_attackStrength;
float m_defendWeakness;
int16 m_flags;
2019-06-17 08:30:02 +00:00
static CPedStats* (&ms_apPedStats)[NUM_PEDSTATS];
2019-06-19 14:55:01 +00:00
static void Initialise(void);
static void Shutdown(void);
static void LoadPedStats(void);
static int32 GetPedStatType(char *name);
2019-06-17 08:30:02 +00:00
};
2019-06-19 16:35:51 +00:00
static_assert(sizeof(CPedStats) == 0x34, "CPedStats: error");