class CWeaponGeneral {
public:
enum class EWeaponStates {
eWS_Disabled = 0,
eWS_Idle = 1,
eWS_IdleZoomed = 2,
eWS_Fire = 3,
eWS_IdleUnderBarrel = 4,
eWS_oldFireUnderBarrel = 5,
eWS_FireUnderBarrel = 6,
eWS_ReloadUnderBarrel = 7,
eWS_olsterInDisabled = 8,
eWS_olsterInUnderBarrel = 9,
eWS_olsteredUnderBarrel = 0x0A,
eWS_MeleeUnderBarrel = 0x0B,
eWS_TrowingFire = 0x0C,
eWS_TrowingFireActivate = 0x0D,
eWS_ZoomedFire = 0x0E,
eWS_ZoomInFire = 0x0F,
eWS_ZoomOutFire = 0x10,
eWS_Reload = 0x11,
eWS_ReloadBarrel = 0x12,
eWS_BoltAction = 0x13,
eWS_ZoomedBoltAction = 0x14,
eWS_ZoomIn = 0x15,
eWS_ZoomOut = 0x16,
eWS_ZoomOutReloadAuto = 0x17,
eWS_ZoomOutReloadManual = 0x18,
eWS_ZoomOutQSA = 0x19,
eWS_ZoomOutMelee = 0x1A,
eWS_ZoomOutBoltAction = 0x1B,
eWS_ZoomOutCustomize = 0x1C,
eWS_Trowing = 0x1D,
eWS_Toss = 0x1E,
eWS_Melee = 0x1F,
eWS_Select = 0x20,
eWS_Deselect = 0x21,
eWS_olding = 0x22,
eWS_Activate = 0x23,
eWS_Customize = 0x24,
eWS_CustomizeIn = 0x25,
eWS_CustomizeOut = 0x26,
eWS_olsterIn = 0x27,
eWS_olstered = 0x28,
eWS_StartRestoreSelf = 0x29,
eWS_StartRestoreTeamMate = 0x2A,
eWS_CancelRestore = 0x2B,
eWS_RestoreSelf = 0x2C,
eWS_RestoreTeamMate = 0x2D,
eWS_TryingRestoreSelf = 0x2E,
eWS_TryingRestoreTeamMate = 0x2F,
eWS_DropAmmoPack = 0x30,
eWS_Resurrect = 0x31,
eWS_ResetClipAmmo = 0x32,
eWS_Last = 0x33,
eWS_Num = 0x33
};
virtual CWeaponView* GetView(); //
virtual CWeaponSettings* GetSettings(); //
virtual CWeaponParameters* GetParameters(); //
virtual CWeaponAttachment* GetAttachment(); //
virtual class CItemBox* GetItemBox(); //
virtual EWeaponStates GetCurrState(); //
virtual char* GetDisplayName(); //
virtual char* GetStatisticsName(); //
virtual CGameObject* GetGameObject(); //
virtual void SetUnderBarrelWeapon(); //
virtual unsigned __int64 GetFirstOwner(); //
virtual void SetFirstOwner(unsigned __int64 profileId); //
};