mirror of
https://github.com/nillerusr/source-engine.git
synced 2026-07-18 23:31:22 +00:00
261 lines
7.2 KiB
C++
261 lines
7.2 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_TMP
|
|
//-----------------------------------------------------------------------------
|
|
class CWeapon_CSS_HL2_TMP : public CBase_CSS_HL2_SMG
|
|
{
|
|
public:
|
|
DECLARE_CLASS( CWeapon_CSS_HL2_TMP, CBase_CSS_HL2_SMG );
|
|
DECLARE_NETWORKCLASS();
|
|
DECLARE_PREDICTABLE();
|
|
DECLARE_DATADESC();
|
|
|
|
CWeapon_CSS_HL2_TMP(void);
|
|
|
|
virtual CSS_HL2_WeaponActClass GetCSSWeaponActClass() { return CSSHL2_WEAPON_SMG2; }
|
|
|
|
// TMP is always silenced
|
|
virtual bool IsSilenced() const { return true; }
|
|
|
|
virtual float GetViewKickBase() { return 2.75f; }
|
|
|
|
virtual const Vector& GetBulletSpread( void )
|
|
{
|
|
static const Vector cone = VECTOR_CONE_4DEGREES;
|
|
return cone;
|
|
}
|
|
|
|
virtual float GetFireRate( void ) { return 0.07f; }
|
|
};
|
|
|
|
IMPLEMENT_NETWORKCLASS_DT( CWeapon_CSS_HL2_TMP, DT_Weapon_CSS_HL2_TMP )
|
|
END_NETWORK_TABLE()
|
|
|
|
LINK_ENTITY_TO_CLASS( weapon_css_tmp, CWeapon_CSS_HL2_TMP );
|
|
#if PRECACHE_REGISTER_CSS_WEAPONS == 1
|
|
PRECACHE_WEAPON_REGISTER( weapon_css_tmp );
|
|
#endif
|
|
|
|
BEGIN_DATADESC( CWeapon_CSS_HL2_TMP )
|
|
END_DATADESC()
|
|
|
|
#ifdef CLIENT_DLL
|
|
BEGIN_PREDICTION_DATA( CWeapon_CSS_HL2_TMP )
|
|
END_PREDICTION_DATA()
|
|
#endif
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Purpose: Constructor
|
|
//-----------------------------------------------------------------------------
|
|
CWeapon_CSS_HL2_TMP::CWeapon_CSS_HL2_TMP( void )
|
|
{
|
|
m_bFiresUnderwater = true;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// CWeapon_CSS_HL2_MP5Navy
|
|
//-----------------------------------------------------------------------------
|
|
class CWeapon_CSS_HL2_MP5Navy : public CBase_CSS_HL2_SMG
|
|
{
|
|
public:
|
|
DECLARE_CLASS( CWeapon_CSS_HL2_MP5Navy, CBase_CSS_HL2_SMG );
|
|
DECLARE_NETWORKCLASS();
|
|
DECLARE_PREDICTABLE();
|
|
DECLARE_DATADESC();
|
|
|
|
CWeapon_CSS_HL2_MP5Navy(void);
|
|
|
|
virtual CSS_HL2_WeaponActClass GetCSSWeaponActClass() { return CSSHL2_WEAPON_AR1; }
|
|
|
|
virtual float GetViewKickBase() { return 0.25f; }
|
|
|
|
virtual const Vector& GetBulletSpread( void )
|
|
{
|
|
static const Vector cone = VECTOR_CONE_4DEGREES;
|
|
return cone;
|
|
}
|
|
|
|
virtual float GetFireRate( void ) { return 0.08f; }
|
|
};
|
|
|
|
IMPLEMENT_NETWORKCLASS_DT( CWeapon_CSS_HL2_MP5Navy, DT_Weapon_CSS_HL2_MP5Navy )
|
|
END_NETWORK_TABLE()
|
|
|
|
LINK_ENTITY_TO_CLASS( weapon_css_mp5navy, CWeapon_CSS_HL2_MP5Navy );
|
|
#if PRECACHE_REGISTER_CSS_WEAPONS == 1
|
|
PRECACHE_WEAPON_REGISTER( weapon_css_mp5navy );
|
|
#endif
|
|
|
|
BEGIN_DATADESC( CWeapon_CSS_HL2_MP5Navy )
|
|
END_DATADESC()
|
|
|
|
#ifdef CLIENT_DLL
|
|
BEGIN_PREDICTION_DATA( CWeapon_CSS_HL2_MP5Navy )
|
|
END_PREDICTION_DATA()
|
|
#endif
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Purpose: Constructor
|
|
//-----------------------------------------------------------------------------
|
|
CWeapon_CSS_HL2_MP5Navy::CWeapon_CSS_HL2_MP5Navy( void )
|
|
{
|
|
m_bFiresUnderwater = true;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// CWeapon_CSS_HL2_UMP45
|
|
//-----------------------------------------------------------------------------
|
|
class CWeapon_CSS_HL2_UMP45 : public CBase_CSS_HL2_SMG
|
|
{
|
|
public:
|
|
DECLARE_CLASS( CWeapon_CSS_HL2_UMP45, CBase_CSS_HL2_SMG );
|
|
DECLARE_NETWORKCLASS();
|
|
DECLARE_PREDICTABLE();
|
|
DECLARE_DATADESC();
|
|
|
|
CWeapon_CSS_HL2_UMP45(void);
|
|
|
|
virtual CSS_HL2_WeaponActClass GetCSSWeaponActClass() { return CSSHL2_WEAPON_SMG1; }
|
|
|
|
virtual float GetViewKickBase() { return 2.5f; }
|
|
|
|
virtual const Vector& GetBulletSpread( void )
|
|
{
|
|
static const Vector cone = VECTOR_CONE_4DEGREES;
|
|
return cone;
|
|
}
|
|
|
|
virtual float GetFireRate( void ) { return 0.105f; }
|
|
};
|
|
|
|
IMPLEMENT_NETWORKCLASS_DT( CWeapon_CSS_HL2_UMP45, DT_Weapon_CSS_HL2_UMP45 )
|
|
END_NETWORK_TABLE()
|
|
|
|
LINK_ENTITY_TO_CLASS( weapon_css_ump45, CWeapon_CSS_HL2_UMP45 );
|
|
#if PRECACHE_REGISTER_CSS_WEAPONS == 1
|
|
PRECACHE_WEAPON_REGISTER( weapon_css_ump45 );
|
|
#endif
|
|
|
|
BEGIN_DATADESC( CWeapon_CSS_HL2_UMP45 )
|
|
END_DATADESC()
|
|
|
|
#ifdef CLIENT_DLL
|
|
BEGIN_PREDICTION_DATA( CWeapon_CSS_HL2_UMP45 )
|
|
END_PREDICTION_DATA()
|
|
#endif
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Purpose: Constructor
|
|
//-----------------------------------------------------------------------------
|
|
CWeapon_CSS_HL2_UMP45::CWeapon_CSS_HL2_UMP45( void )
|
|
{
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// CWeapon_CSS_HL2_P90
|
|
//-----------------------------------------------------------------------------
|
|
class CWeapon_CSS_HL2_P90 : public CBase_CSS_HL2_SMG
|
|
{
|
|
public:
|
|
DECLARE_CLASS( CWeapon_CSS_HL2_P90, CBase_CSS_HL2_SMG );
|
|
DECLARE_NETWORKCLASS();
|
|
DECLARE_PREDICTABLE();
|
|
DECLARE_DATADESC();
|
|
|
|
CWeapon_CSS_HL2_P90(void);
|
|
|
|
virtual CSS_HL2_WeaponActClass GetCSSWeaponActClass() { return CSSHL2_WEAPON_SMG2; }
|
|
|
|
virtual float GetViewKickBase() { return 0.75f; }
|
|
|
|
virtual const Vector& GetBulletSpread( void )
|
|
{
|
|
static const Vector cone = VECTOR_CONE_4DEGREES;
|
|
return cone;
|
|
}
|
|
|
|
virtual float GetFireRate( void ) { return 0.07f; }
|
|
};
|
|
|
|
IMPLEMENT_NETWORKCLASS_DT( CWeapon_CSS_HL2_P90, DT_Weapon_CSS_HL2_P90 )
|
|
END_NETWORK_TABLE()
|
|
|
|
LINK_ENTITY_TO_CLASS( weapon_css_p90, CWeapon_CSS_HL2_P90 );
|
|
#if PRECACHE_REGISTER_CSS_WEAPONS == 1
|
|
PRECACHE_WEAPON_REGISTER( weapon_css_p90 );
|
|
#endif
|
|
|
|
BEGIN_DATADESC( CWeapon_CSS_HL2_P90 )
|
|
END_DATADESC()
|
|
|
|
#ifdef CLIENT_DLL
|
|
BEGIN_PREDICTION_DATA( CWeapon_CSS_HL2_P90 )
|
|
END_PREDICTION_DATA()
|
|
#endif
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Purpose: Constructor
|
|
//-----------------------------------------------------------------------------
|
|
CWeapon_CSS_HL2_P90::CWeapon_CSS_HL2_P90( void )
|
|
{
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// CWeapon_CSS_HL2_MAC10
|
|
//-----------------------------------------------------------------------------
|
|
class CWeapon_CSS_HL2_MAC10 : public CBase_CSS_HL2_SMG
|
|
{
|
|
public:
|
|
DECLARE_CLASS( CWeapon_CSS_HL2_MAC10, CBase_CSS_HL2_SMG );
|
|
DECLARE_NETWORKCLASS();
|
|
DECLARE_PREDICTABLE();
|
|
DECLARE_DATADESC();
|
|
|
|
CWeapon_CSS_HL2_MAC10(void);
|
|
|
|
virtual CSS_HL2_WeaponActClass GetCSSWeaponActClass() { return CSSHL2_WEAPON_SMG2; }
|
|
|
|
virtual float GetViewKickBase() { return 1.0f; }
|
|
|
|
virtual const Vector& GetBulletSpread( void )
|
|
{
|
|
static const Vector cone = VECTOR_CONE_4DEGREES;
|
|
return cone;
|
|
}
|
|
|
|
virtual float GetFireRate( void ) { return 0.075f; }
|
|
};
|
|
|
|
IMPLEMENT_NETWORKCLASS_DT( CWeapon_CSS_HL2_MAC10, DT_Weapon_CSS_HL2_MAC10 )
|
|
END_NETWORK_TABLE()
|
|
|
|
LINK_ENTITY_TO_CLASS( weapon_css_mac10, CWeapon_CSS_HL2_MAC10 );
|
|
#if PRECACHE_REGISTER_CSS_WEAPONS == 1
|
|
PRECACHE_WEAPON_REGISTER( weapon_css_mac10 );
|
|
#endif
|
|
|
|
BEGIN_DATADESC( CWeapon_CSS_HL2_MAC10 )
|
|
END_DATADESC()
|
|
|
|
#ifdef CLIENT_DLL
|
|
BEGIN_PREDICTION_DATA( CWeapon_CSS_HL2_MAC10 )
|
|
END_PREDICTION_DATA()
|
|
#endif
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Purpose: Constructor
|
|
//-----------------------------------------------------------------------------
|
|
CWeapon_CSS_HL2_MAC10::CWeapon_CSS_HL2_MAC10( void )
|
|
{
|
|
}
|