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.
84 lines
1.9 KiB
84 lines
1.9 KiB
//========= Copyright Valve Corporation, All rights reserved. ============// |
|
// |
|
// Purpose: |
|
// |
|
// $NoKeywords: $ |
|
//=============================================================================// |
|
|
|
#ifndef WEAPON_MORTAR_H |
|
#define WEAPON_MORTAR_H |
|
#ifdef _WIN32 |
|
#pragma once |
|
#endif |
|
|
|
class SmokeTrail; |
|
class CWeaponMortar; |
|
|
|
#include "tf_basecombatweapon.h" |
|
#include "particle_smokegrenade.h" |
|
#include "utllinkedlist.h" |
|
#include "tf_obj_mortar.h" |
|
|
|
|
|
//----------------------------------------------------------------------------- |
|
// Purpose: |
|
//----------------------------------------------------------------------------- |
|
class CWeaponMortar : public CBaseTFCombatWeapon |
|
{ |
|
DECLARE_CLASS( CWeaponMortar, CBaseTFCombatWeapon ); |
|
public: |
|
DECLARE_SERVERCLASS(); |
|
|
|
CWeaponMortar(); |
|
|
|
virtual void Precache(); |
|
|
|
// Input |
|
void Fire( float flPower, float flAccuracy ); |
|
void PrimaryAttack( void ); |
|
void SecondaryAttack( void ); |
|
|
|
// Deployment / Pick-up |
|
void DeployMortar( CObjectMortar *pMortar ); |
|
void PickupMortar( void ); |
|
void MortarDestroyed( void ); |
|
void MortarObjectRemoved( void ); |
|
|
|
// Turning |
|
void SetYaw( float flYaw ); |
|
|
|
// Firing |
|
virtual void ItemPostFrame( void ); |
|
virtual float GetFireRate( void ); |
|
|
|
// Ammo |
|
virtual void SetRoundType( int iRoundType ); |
|
|
|
virtual bool Deploy( void ); |
|
virtual void WeaponIdle( void ); |
|
|
|
virtual void GainedNewTechnology( CBaseTechnology *pTechnology ); |
|
virtual void AddAssociatedObject( CBaseObject *pObject ); |
|
virtual void RemoveAssociatedObject( CBaseObject *pObject ); |
|
|
|
virtual bool ComputeEMPFireState( void ); |
|
|
|
void MortarIsReloading( void ); |
|
void MortarFinishedReloading( void ); |
|
|
|
public: |
|
// Data |
|
bool m_bCarried; |
|
bool m_bMortarReloading; |
|
CHandle< CObjectMortar > m_hDeployedMortar; |
|
Vector m_vecMortarOrigin; |
|
QAngle m_vecMortarAngles; |
|
bool m_bRangeUpgraded; |
|
bool m_bAccuracyUpgraded; |
|
|
|
// Firing |
|
float m_flFiringPower; |
|
float m_flFiringAccuracy; |
|
}; |
|
|
|
#endif // WEAPON_MORTAR_H
|
|
|