blob: e2e71d23a12575dc9cd7058e3270dd9c379b015e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
#pragma once
enum AnimationId;
enum eWeaponFire;
enum eWeaponType;
class CWeaponInfo {
// static CWeaponInfo(&ms_apWeaponInfos)[14];
static CWeaponInfo ms_apWeaponInfos[14];
public:
eWeaponFire m_eWeaponFire;
float m_fRange;
uint32 m_nFiringRate;
uint32 m_nReload;
uint32 m_nAmountofAmmunition;
uint32 m_nDamage;
float m_fSpeed;
float m_fRadius;
float m_fLifespan;
float m_fSpread;
CVector m_vecFireOffset;
AnimationId m_AnimToPlay;
AnimationId m_Anim2ToPlay;
float m_fAnimLoopStart;
float m_fAnimLoopEnd;
float m_fAnimFrameFire;
float m_fAnim2FrameFire;
int32 m_nModelId;
// flags
uint8 m_bUseGravity : 1;
uint8 m_bSlowsDown : 1;
uint8 m_bDissipates : 1;
uint8 m_bRandSpeed : 1;
uint8 m_bExpands : 1;
uint8 m_bExplodes : 1;
uint8 m_bCanAim : 1;
uint8 m_bCanAimWithArm : 1;
uint8 m_b1stPerson : 1;
uint8 m_bHeavy : 1;
uint8 m_bThrow : 1;
uint8 stuff;
static void Initialise(void);
static void LoadWeaponData(void);
static CWeaponInfo *GetWeaponInfo(eWeaponType weaponType);
static eWeaponFire FindWeaponFireType(char *name);
static eWeaponType FindWeaponType(char *name);
static void Shutdown(void);
};
static_assert(sizeof(CWeaponInfo) == 0x54, "CWeaponInfo: error");
|