Portable Half-Life SDK. GoldSource and Xash3D. Crossplatform.
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.

72 lines
1.4 KiB

#ifndef HORNETGUN_H
#define HORNETGUN_H
#include "extdll.h"
#include "util.h"
#include "cbase.h"
#include "monsters.h"
#include "weapons.h"
#include "nodes.h"
#include "player.h"
#include "hornet.h"
#include "gamerules.h"
#include "decals.h"
#include "BMOD_messaging.h"
extern cvar_t bm_hornet_mod;
#define HGUN_MAX_BEAMS 6
#define HGUN_CHARGE_TIME .8 / HGUN_MAX_BEAMS
#define HGUN_ZAP_TIME 1
class CHgun : public CBasePlayerWeapon
{
public:
void Spawn( void );
void Precache( void );
int iItemSlot( void ) { return 4; }
int GetItemInfo(ItemInfo *p);
int AddToPlayer( CBasePlayer *pPlayer );
void PrimaryAttack( void );
void SecondaryAttack( void );
BOOL Deploy( void );
BOOL IsUseable( void );
void Holster( int skiplocal = 0 );
void Reload( void );
void Recharge( void );
void WeaponIdle( void );
float m_flNextAnimTime;
float m_flRechargeTime;
int m_iFirePhase;// don't save me.
float m_fNextPhaseTime;
CBeam *m_pBeam[HGUN_MAX_BEAMS];
void ClearBeams( );
void ArmBeam( Vector color );
void ZapBeam( void );
void BeamGlow( void );
void FreezeRay( void );
void ZapGun (void );
void MultiZapGun (void );
void SquidSpit ( void );
void LaunchSnark ( void );
void OldPrimaryAttack( void );
void OldSecondaryAttack( void );
int m_iFireMode;
float m_fModeSwitchDelay;
int m_iBeams;
short m_sGlowSpr;
int m_iMaxammo;
short iZapBeamSpr;
private:
unsigned short m_usHornetFire;
};
#endif