2021-12-07 02:36:09 +08:00
|
|
|
#pragma once
|
2022-06-01 13:49:36 +08:00
|
|
|
|
2022-08-26 04:06:34 +08:00
|
|
|
#include "CItemInfo.hpp"
|
2021-12-07 02:36:09 +08:00
|
|
|
|
2022-06-01 13:49:36 +08:00
|
|
|
#include <cstdint>
|
|
|
|
|
2022-03-02 07:14:03 +08:00
|
|
|
enum class eAmmoSpecialType : int32_t
|
|
|
|
{
|
|
|
|
None,
|
|
|
|
ArmorPiercing,
|
|
|
|
Explosive,
|
|
|
|
FMJ,
|
|
|
|
HollowPoint,
|
|
|
|
Incendiary,
|
|
|
|
Tracer
|
|
|
|
};
|
|
|
|
|
2022-09-01 03:31:52 +08:00
|
|
|
enum class eAmmoFlags : uint32_t
|
|
|
|
{
|
|
|
|
InfiniteAmmo = 0,
|
|
|
|
AddSmokeOnExplosion = 1,
|
|
|
|
Fuse = 2,
|
|
|
|
FixedAfterExplosion = 3,
|
|
|
|
};
|
|
|
|
|
2022-03-02 07:14:03 +08:00
|
|
|
class CAmmoInfo : public CItemInfo
|
2021-12-07 02:36:09 +08:00
|
|
|
{
|
|
|
|
public:
|
2022-03-02 07:14:03 +08:00
|
|
|
int32_t m_ammo_max; //0x0020
|
|
|
|
int32_t m_ammo_max_50; //0x0024
|
|
|
|
int32_t m_ammo_max_100; //0x0028
|
|
|
|
int32_t m_ammo_max_mp; //0x002C
|
|
|
|
int32_t m_ammo_max_50_mp; //0x0030
|
|
|
|
int32_t m_ammo_max_100_mp; //0x0034
|
2022-09-01 03:31:52 +08:00
|
|
|
eAmmoFlags m_ammo_flags; //0x0038
|
2022-03-02 07:14:03 +08:00
|
|
|
eAmmoSpecialType m_ammo_special_type; //0x003C
|
|
|
|
char pad_0040[24]; //0x0040
|
2021-12-07 02:36:09 +08:00
|
|
|
float m_missile_speed; //0x0058
|
|
|
|
char pad_005C[284]; //0x005C
|
|
|
|
uint32_t m_lock_on_time; //0x0178
|
|
|
|
}; //Size: 0x017C
|
|
|
|
static_assert(sizeof(CAmmoInfo) == 0x17C);
|