You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
104 lines
2.5 KiB
104 lines
2.5 KiB
3 years ago
|
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||
|
//
|
||
|
// Purpose:
|
||
|
//
|
||
|
//=============================================================================//
|
||
|
|
||
|
#ifndef DOD_WEAPON_PARSE_H
|
||
|
#define DOD_WEAPON_PARSE_H
|
||
|
#ifdef _WIN32
|
||
|
#pragma once
|
||
|
#endif
|
||
|
|
||
|
|
||
|
#include "weapon_parse.h"
|
||
|
#include "networkvar.h"
|
||
|
|
||
|
#define WPN_TYPE_MELEE (1<<0)
|
||
|
#define WPN_TYPE_GRENADE (1<<1)
|
||
|
//#define WPN_TYPE_GRENADE_LIVE (1<<2) //exploding grenades, unused
|
||
|
#define WPN_TYPE_PISTOL (1<<3)
|
||
|
#define WPN_TYPE_RIFLE (1<<4)
|
||
|
#define WPN_TYPE_SNIPER (1<<5)
|
||
|
#define WPN_TYPE_SUBMG (1<<6)
|
||
|
#define WPN_TYPE_MG (1<<7) //mg42, 30cal
|
||
|
#define WPN_TYPE_BAZOOKA (1<<8)
|
||
|
#define WPN_TYPE_BANDAGE (1<<9)
|
||
|
#define WPN_TYPE_SIDEARM (1<<10) //carbine - secondary weapons
|
||
|
#define WPN_TYPE_RIFLEGRENADE (1<<11)
|
||
|
#define WPN_TYPE_BOMB (1<<12)
|
||
|
#define WPN_TYPE_UNKNOWN (1<<13)
|
||
|
#define WPN_TYPE_CAMERA (1<<12)
|
||
|
|
||
|
#define WPN_MASK_GUN ( WPN_TYPE_PISTOL | WPN_TYPE_RIFLE | WPN_TYPE_SNIPER | WPN_TYPE_SUBMG | WPN_TYPE_MG | WPN_TYPE_SIDEARM )
|
||
|
|
||
|
//--------------------------------------------------------------------------------------------------------
|
||
|
class CDODWeaponInfo : public FileWeaponInfo_t
|
||
|
{
|
||
|
public:
|
||
|
DECLARE_CLASS_GAMEROOT( CDODWeaponInfo, FileWeaponInfo_t );
|
||
|
|
||
|
CDODWeaponInfo();
|
||
|
|
||
|
virtual void Parse( ::KeyValues *pKeyValuesData, const char *szWeaponName );
|
||
|
|
||
|
int m_iDamage;
|
||
|
int m_flPenetration;
|
||
|
int m_iBulletsPerShot;
|
||
|
int m_iMuzzleFlashType;
|
||
|
float m_flMuzzleFlashScale;
|
||
|
|
||
|
bool m_bCanDrop;
|
||
|
|
||
|
float m_flRecoil;
|
||
|
|
||
|
float m_flRange;
|
||
|
float m_flRangeModifier;
|
||
|
|
||
|
float m_flAccuracy;
|
||
|
float m_flSecondaryAccuracy;
|
||
|
float m_flAccuracyMovePenalty;
|
||
|
|
||
|
float m_flFireDelay;
|
||
|
float m_flSecondaryFireDelay;
|
||
|
|
||
|
int m_iCrosshairMinDistance;
|
||
|
int m_iCrosshairDeltaDistance;
|
||
|
|
||
|
int m_WeaponType;
|
||
|
|
||
|
float m_flBotAudibleRange;
|
||
|
|
||
|
char m_szReloadModel[MAX_WEAPON_STRING];
|
||
|
char m_szDeployedModel[MAX_WEAPON_STRING];
|
||
|
char m_szDeployedReloadModel[MAX_WEAPON_STRING];
|
||
|
char m_szProneDeployedReloadModel[MAX_WEAPON_STRING];
|
||
|
|
||
|
//timers
|
||
|
float m_flTimeToIdleAfterFire; //wait this long until idling after fire
|
||
|
float m_flIdleInterval; //wait this long after idling to idle again
|
||
|
|
||
|
//ammo
|
||
|
int m_iDefaultAmmoClips;
|
||
|
int m_iAmmoPickupClips;
|
||
|
|
||
|
int m_iHudClipHeight;
|
||
|
int m_iHudClipBaseHeight;
|
||
|
int m_iHudClipBulletHeight;
|
||
|
|
||
|
int m_iTracerType;
|
||
|
|
||
|
float m_flViewModelFOV;
|
||
|
|
||
|
int m_iAltWpnCriteria;
|
||
|
|
||
|
Vector m_vecViewNormalOffset;
|
||
|
Vector m_vecViewProneOffset;
|
||
|
Vector m_vecIronSightOffset;
|
||
|
|
||
|
int m_iDefaultTeam;
|
||
|
};
|
||
|
|
||
|
|
||
|
#endif // DOD_WEAPON_PARSE_H
|