mirror of
https://github.com/nillerusr/source-engine.git
synced 2026-08-08 01:39:36 +00:00
1
This commit is contained in:
@@ -0,0 +1,111 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
//=============================================================================
|
||||
#ifndef TF_WEAPON_PARSE_H
|
||||
#define TF_WEAPON_PARSE_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include "weapon_parse.h"
|
||||
#include "networkvar.h"
|
||||
#include "tf_shareddefs.h"
|
||||
|
||||
//=============================================================================
|
||||
//
|
||||
// TF Weapon Info
|
||||
//
|
||||
|
||||
struct WeaponData_t
|
||||
{
|
||||
int m_nDamage;
|
||||
int m_nBulletsPerShot;
|
||||
float m_flRange;
|
||||
float m_flSpread;
|
||||
float m_flPunchAngle;
|
||||
float m_flTimeFireDelay; // Time to delay between firing
|
||||
float m_flTimeIdle; // Time to idle after firing
|
||||
float m_flTimeIdleEmpty; // Time to idle after firing last bullet in clip
|
||||
float m_flTimeReloadStart; // Time to start into a reload (ie. shotgun)
|
||||
float m_flTimeReload; // Time to reload
|
||||
bool m_bDrawCrosshair; // Should the weapon draw a crosshair
|
||||
int m_iProjectile; // The type of projectile this mode fires
|
||||
int m_iAmmoPerShot; // How much ammo each shot consumes
|
||||
float m_flProjectileSpeed; // Start speed for projectiles (nail, etc.); NOTE: union with something non-projectile
|
||||
float m_flSmackDelay; // how long after swing should damage happen for melee weapons
|
||||
bool m_bUseRapidFireCrits;
|
||||
|
||||
void Init( void )
|
||||
{
|
||||
m_nDamage = 0;
|
||||
m_nBulletsPerShot = 0;
|
||||
m_flRange = 0.0f;
|
||||
m_flSpread = 0.0f;
|
||||
m_flPunchAngle = 0.0f;
|
||||
m_flTimeFireDelay = 0.0f;
|
||||
m_flTimeIdle = 0.0f;
|
||||
m_flTimeIdleEmpty = 0.0f;
|
||||
m_flTimeReloadStart = 0.0f;
|
||||
m_flTimeReload = 0.0f;
|
||||
m_iProjectile = TF_PROJECTILE_NONE;
|
||||
m_iAmmoPerShot = 0;
|
||||
m_flProjectileSpeed = 0.0f;
|
||||
m_flSmackDelay = 0.0f;
|
||||
m_bUseRapidFireCrits = false;
|
||||
};
|
||||
};
|
||||
|
||||
class CTFWeaponInfo : public FileWeaponInfo_t
|
||||
{
|
||||
public:
|
||||
|
||||
DECLARE_CLASS_GAMEROOT( CTFWeaponInfo, FileWeaponInfo_t );
|
||||
|
||||
CTFWeaponInfo();
|
||||
~CTFWeaponInfo();
|
||||
|
||||
virtual void Parse( ::KeyValues *pKeyValuesData, const char *szWeaponName );
|
||||
|
||||
WeaponData_t const &GetWeaponData( int iWeapon ) const { return m_WeaponData[iWeapon]; }
|
||||
|
||||
public:
|
||||
|
||||
WeaponData_t m_WeaponData[2];
|
||||
|
||||
int m_iWeaponType;
|
||||
|
||||
// Grenade.
|
||||
bool m_bGrenade;
|
||||
float m_flDamageRadius;
|
||||
float m_flPrimerTime;
|
||||
bool m_bLowerWeapon;
|
||||
bool m_bSuppressGrenTimer;
|
||||
|
||||
// Skins
|
||||
bool m_bHasTeamSkins_Viewmodel;
|
||||
bool m_bHasTeamSkins_Worldmodel;
|
||||
|
||||
// Muzzle flash
|
||||
char m_szMuzzleFlashModel[128];
|
||||
float m_flMuzzleFlashModelDuration;
|
||||
char m_szMuzzleFlashParticleEffect[128];
|
||||
|
||||
// Tracer
|
||||
char m_szTracerEffect[128];
|
||||
|
||||
// Eject Brass
|
||||
bool m_bDoInstantEjectBrass;
|
||||
char m_szBrassModel[128];
|
||||
|
||||
// Explosion Effect
|
||||
char m_szExplosionSound[128];
|
||||
char m_szExplosionEffect[128];
|
||||
char m_szExplosionPlayerEffect[128];
|
||||
char m_szExplosionWaterEffect[128];
|
||||
|
||||
bool m_bDontDrop;
|
||||
};
|
||||
|
||||
#endif // TF_WEAPON_PARSE_H
|
||||
Reference in New Issue
Block a user