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.
60 lines
1.5 KiB
60 lines
1.5 KiB
//========= Copyright Valve Corporation, All rights reserved. ============// |
|
// |
|
// Purpose: |
|
// |
|
//=============================================================================// |
|
|
|
#ifndef WEAPON_ALYXGUN_H |
|
#define WEAPON_ALYXGUN_H |
|
|
|
#include "basehlcombatweapon.h" |
|
|
|
#if defined( _WIN32 ) |
|
#pragma once |
|
#endif |
|
|
|
class CWeaponAlyxGun : public CHLSelectFireMachineGun |
|
{ |
|
DECLARE_DATADESC(); |
|
public: |
|
DECLARE_CLASS( CWeaponAlyxGun, CHLSelectFireMachineGun ); |
|
|
|
CWeaponAlyxGun(); |
|
~CWeaponAlyxGun(); |
|
|
|
DECLARE_SERVERCLASS(); |
|
|
|
void Precache( void ); |
|
|
|
virtual int GetMinBurst( void ) { return 4; } |
|
virtual int GetMaxBurst( void ) { return 7; } |
|
virtual float GetMinRestTime( void ); |
|
virtual float GetMaxRestTime( void ); |
|
|
|
virtual void Equip( CBaseCombatCharacter *pOwner ); |
|
|
|
float GetFireRate( void ) { return 0.1f; } |
|
int CapabilitiesGet( void ) { return bits_CAP_WEAPON_RANGE_ATTACK1; } |
|
int WeaponRangeAttack1Condition( float flDot, float flDist ); |
|
int WeaponRangeAttack2Condition( float flDot, float flDist ); |
|
|
|
virtual const Vector& GetBulletSpread( void ); |
|
|
|
void FireNPCPrimaryAttack( CBaseCombatCharacter *pOperator, bool bUseWeaponAngles ); |
|
|
|
void Operator_ForceNPCFire( CBaseCombatCharacter *pOperator, bool bSecondary ); |
|
void Operator_HandleAnimEvent( animevent_t *pEvent, CBaseCombatCharacter *pOperator ); |
|
|
|
virtual void SetPickupTouch( void ) |
|
{ |
|
// Alyx gun cannot be picked up |
|
SetTouch(NULL); |
|
} |
|
|
|
float m_flTooCloseTimer; |
|
|
|
DECLARE_ACTTABLE(); |
|
|
|
}; |
|
|
|
#endif // WEAPON_ALYXGUN_H
|
|
|