source-engine/game/shared/hl2/weapon_css_misc.cpp
2025-02-02 01:43:34 +05:00

69 lines
1.9 KiB
C++

//=============================================================================//
//
// Purpose: CS:S weapons recreated from scratch in Source SDK 2013 for usage in a Half-Life 2 setting.
//
// Author: Blixibon
//
//=============================================================================//
#include "cbase.h"
#include "weapon_css_base.h"
//-----------------------------------------------------------------------------
// CWeapon_CSS_HL2_M249
//-----------------------------------------------------------------------------
class CWeapon_CSS_HL2_M249 : public CBase_CSS_HL2_Rifle
{
public:
DECLARE_CLASS( CWeapon_CSS_HL2_M249, CBase_CSS_HL2_Rifle );
DECLARE_NETWORKCLASS();
DECLARE_PREDICTABLE();
DECLARE_DATADESC();
CWeapon_CSS_HL2_M249(void);
virtual CSS_HL2_WeaponActClass GetCSSWeaponActClass() { return CSSHL2_WEAPON_AR1; }
virtual float GetViewKickBase() { return 0.0f; }
virtual const Vector& GetBulletSpread( void )
{
static const Vector cone = VECTOR_CONE_5DEGREES;
return cone;
}
virtual int GetMinBurst() { return 7; }
virtual int GetMaxBurst() { return 10; }
virtual float GetFireRate( void ) { return 0.08f; }
};
IMPLEMENT_NETWORKCLASS_DT( CWeapon_CSS_HL2_M249, DT_Weapon_CSS_HL2_M249 )
END_NETWORK_TABLE()
LINK_ENTITY_TO_CLASS( weapon_css_m249, CWeapon_CSS_HL2_M249 );
#if PRECACHE_REGISTER_CSS_WEAPONS == 1
PRECACHE_WEAPON_REGISTER( weapon_css_m249 );
#endif
BEGIN_DATADESC( CWeapon_CSS_HL2_M249 )
END_DATADESC()
#ifdef CLIENT_DLL
BEGIN_PREDICTION_DATA( CWeapon_CSS_HL2_M249 )
END_PREDICTION_DATA()
#endif
//-----------------------------------------------------------------------------
// Purpose: Constructor
//-----------------------------------------------------------------------------
CWeapon_CSS_HL2_M249::CWeapon_CSS_HL2_M249( void )
{
m_fMinRange1 = 24;
m_fMaxRange1 = 1500;
m_fMinRange2 = 24;
m_fMaxRange2 = 200;
m_bFiresUnderwater = true;
}