diff options
Diffstat (limited to 'mp/src/game/server/hl2/weapon_irifle.cpp')
| -rw-r--r-- | mp/src/game/server/hl2/weapon_irifle.cpp | 264 |
1 files changed, 132 insertions, 132 deletions
diff --git a/mp/src/game/server/hl2/weapon_irifle.cpp b/mp/src/game/server/hl2/weapon_irifle.cpp index 4b2c2c22..471534cf 100644 --- a/mp/src/game/server/hl2/weapon_irifle.cpp +++ b/mp/src/game/server/hl2/weapon_irifle.cpp @@ -1,132 +1,132 @@ -//========= Copyright Valve Corporation, All rights reserved. ============//
-//
-// Purpose:
-//
-// $NoKeywords: $
-//
-//=============================================================================//
-//========= Copyright � 1996-2003, Valve LLC, All rights reserved. ============
-//
-// Purpose: This is the incendiary rifle.
-//
-//=============================================================================
-
-
-#include "cbase.h"
-#include "npcevent.h"
-#include "basehlcombatweapon.h"
-#include "basecombatcharacter.h"
-#include "soundent.h"
-#include "player.h"
-#include "IEffects.h"
-#include "vstdlib/random.h"
-#include "engine/IEngineSound.h"
-#include "weapon_flaregun.h"
-
-// memdbgon must be the last include file in a .cpp file!!!
-#include "tier0/memdbgon.h"
-
-//###########################################################################
-// >> CWeaponIRifle
-//###########################################################################
-
-class CWeaponIRifle : public CBaseHLCombatWeapon
-{
-public:
-
- CWeaponIRifle();
-
- DECLARE_SERVERCLASS();
- DECLARE_CLASS( CWeaponIRifle, CBaseHLCombatWeapon );
-
- void Precache( void );
- bool Deploy( void );
-
- void PrimaryAttack( void );
- virtual float GetFireRate( void ) { return 1; };
-
- int CapabilitiesGet( void ) { return bits_CAP_WEAPON_RANGE_ATTACK1; }
-
- virtual const Vector& GetBulletSpread( void )
- {
- static Vector cone = VECTOR_CONE_3DEGREES;
- return cone;
- }
-
- DECLARE_ACTTABLE();
-};
-
-IMPLEMENT_SERVERCLASS_ST(CWeaponIRifle, DT_WeaponIRifle)
-END_SEND_TABLE()
-
-LINK_ENTITY_TO_CLASS( weapon_irifle, CWeaponIRifle );
-PRECACHE_WEAPON_REGISTER(weapon_irifle);
-
-//---------------------------------------------------------
-// Activity table
-//---------------------------------------------------------
-acttable_t CWeaponIRifle::m_acttable[] =
-{
- { ACT_RANGE_ATTACK1, ACT_RANGE_ATTACK_ML, true },
-};
-IMPLEMENT_ACTTABLE(CWeaponIRifle);
-
-//---------------------------------------------------------
-// Constructor
-//---------------------------------------------------------
-CWeaponIRifle::CWeaponIRifle()
-{
- m_bReloadsSingly = true;
-
- m_fMinRange1 = 65;
- m_fMinRange2 = 65;
- m_fMaxRange1 = 200;
- m_fMaxRange2 = 200;
-}
-
-//---------------------------------------------------------
-//---------------------------------------------------------
-void CWeaponIRifle::Precache( void )
-{
- BaseClass::Precache();
-}
-
-//---------------------------------------------------------
-//---------------------------------------------------------
-void CWeaponIRifle::PrimaryAttack( void )
-{
- CBasePlayer *pOwner = ToBasePlayer( GetOwner() );
-
- if ( pOwner == NULL )
- return;
-
- m_iClip1 = m_iClip1 - 1;
-
- SendWeaponAnim( ACT_VM_PRIMARYATTACK );
- pOwner->m_flNextAttack = gpGlobals->curtime + 1;
-
- CFlare *pFlare = CFlare::Create( pOwner->Weapon_ShootPosition(), pOwner->EyeAngles(), pOwner, FLARE_DURATION );
-
- if ( pFlare == NULL )
- return;
-
- Vector forward;
- pOwner->EyeVectors( &forward );
-
- pFlare->SetAbsVelocity( forward * 1500 );
-
- WeaponSound( SINGLE );
-}
-
-//---------------------------------------------------------
-// BUGBUG - don't give ammo here.
-//---------------------------------------------------------
-bool CWeaponIRifle::Deploy( void )
-{
- CBaseCombatCharacter *pOwner = GetOwner();
- if (pOwner)
- {
- pOwner->GiveAmmo( 90, m_iPrimaryAmmoType);
- }
- return BaseClass::Deploy();
-}
+//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +// +//=============================================================================// +//========= Copyright � 1996-2003, Valve LLC, All rights reserved. ============ +// +// Purpose: This is the incendiary rifle. +// +//============================================================================= + + +#include "cbase.h" +#include "npcevent.h" +#include "basehlcombatweapon.h" +#include "basecombatcharacter.h" +#include "soundent.h" +#include "player.h" +#include "IEffects.h" +#include "vstdlib/random.h" +#include "engine/IEngineSound.h" +#include "weapon_flaregun.h" + +// memdbgon must be the last include file in a .cpp file!!! +#include "tier0/memdbgon.h" + +//########################################################################### +// >> CWeaponIRifle +//########################################################################### + +class CWeaponIRifle : public CBaseHLCombatWeapon +{ +public: + + CWeaponIRifle(); + + DECLARE_SERVERCLASS(); + DECLARE_CLASS( CWeaponIRifle, CBaseHLCombatWeapon ); + + void Precache( void ); + bool Deploy( void ); + + void PrimaryAttack( void ); + virtual float GetFireRate( void ) { return 1; }; + + int CapabilitiesGet( void ) { return bits_CAP_WEAPON_RANGE_ATTACK1; } + + virtual const Vector& GetBulletSpread( void ) + { + static Vector cone = VECTOR_CONE_3DEGREES; + return cone; + } + + DECLARE_ACTTABLE(); +}; + +IMPLEMENT_SERVERCLASS_ST(CWeaponIRifle, DT_WeaponIRifle) +END_SEND_TABLE() + +LINK_ENTITY_TO_CLASS( weapon_irifle, CWeaponIRifle ); +PRECACHE_WEAPON_REGISTER(weapon_irifle); + +//--------------------------------------------------------- +// Activity table +//--------------------------------------------------------- +acttable_t CWeaponIRifle::m_acttable[] = +{ + { ACT_RANGE_ATTACK1, ACT_RANGE_ATTACK_ML, true }, +}; +IMPLEMENT_ACTTABLE(CWeaponIRifle); + +//--------------------------------------------------------- +// Constructor +//--------------------------------------------------------- +CWeaponIRifle::CWeaponIRifle() +{ + m_bReloadsSingly = true; + + m_fMinRange1 = 65; + m_fMinRange2 = 65; + m_fMaxRange1 = 200; + m_fMaxRange2 = 200; +} + +//--------------------------------------------------------- +//--------------------------------------------------------- +void CWeaponIRifle::Precache( void ) +{ + BaseClass::Precache(); +} + +//--------------------------------------------------------- +//--------------------------------------------------------- +void CWeaponIRifle::PrimaryAttack( void ) +{ + CBasePlayer *pOwner = ToBasePlayer( GetOwner() ); + + if ( pOwner == NULL ) + return; + + m_iClip1 = m_iClip1 - 1; + + SendWeaponAnim( ACT_VM_PRIMARYATTACK ); + pOwner->m_flNextAttack = gpGlobals->curtime + 1; + + CFlare *pFlare = CFlare::Create( pOwner->Weapon_ShootPosition(), pOwner->EyeAngles(), pOwner, FLARE_DURATION ); + + if ( pFlare == NULL ) + return; + + Vector forward; + pOwner->EyeVectors( &forward ); + + pFlare->SetAbsVelocity( forward * 1500 ); + + WeaponSound( SINGLE ); +} + +//--------------------------------------------------------- +// BUGBUG - don't give ammo here. +//--------------------------------------------------------- +bool CWeaponIRifle::Deploy( void ) +{ + CBaseCombatCharacter *pOwner = GetOwner(); + if (pOwner) + { + pOwner->GiveAmmo( 90, m_iPrimaryAmmoType); + } + return BaseClass::Deploy(); +} |