Team Fortress 2 Source Code as on 22/4/2020
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.
|
|
//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose: SLAM
//
// $Workfile: $
// $Date: $
//
//-----------------------------------------------------------------------------
// $Log: $
//
// $NoKeywords: $
//=============================================================================//
#ifndef WEAPONSLAM_H
#define WEAPONSLAM_H
#ifndef HL2MP
#include "basegrenade_shared.h"
#include "basehlcombatweapon.h"
enum SlamState_t { SLAM_TRIPMINE_READY, SLAM_SATCHEL_THROW, SLAM_SATCHEL_ATTACH, };
class CWeapon_SLAM : public CBaseHLCombatWeapon { public: DECLARE_CLASS( CWeapon_SLAM, CBaseHLCombatWeapon );
DECLARE_SERVERCLASS();
SlamState_t m_tSlamState; bool m_bDetonatorArmed; bool m_bNeedDetonatorDraw; bool m_bNeedDetonatorHolster; bool m_bNeedReload; bool m_bClearReload; bool m_bThrowSatchel; bool m_bAttachSatchel; bool m_bAttachTripmine; float m_flWallSwitchTime;
void Spawn( void ); void Precache( void );
int CapabilitiesGet( void ) { return bits_CAP_WEAPON_RANGE_ATTACK1; } void PrimaryAttack( void ); void SecondaryAttack( void ); void WeaponIdle( void ); void WeaponSwitch( void ); void SLAMThink( void ); void SetPickupTouch( void ); void SlamTouch( CBaseEntity *pOther ); // default weapon touch
void ItemPostFrame( void ); bool Reload( void ); void SetSlamState( SlamState_t newState ); bool CanAttachSLAM(void); // In position where can attach SLAM?
bool AnyUndetonatedCharges(void); void StartTripmineAttach( void ); void TripmineAttach( void );
void StartSatchelDetonate( void ); void SatchelDetonate( void ); void StartSatchelThrow( void ); void StartSatchelAttach( void ); void SatchelThrow( void ); void SatchelAttach( void ); bool Deploy( void ); bool Holster( CBaseCombatWeapon *pSwitchingTo = NULL );
CWeapon_SLAM();
DECLARE_ACTTABLE(); DECLARE_DATADESC(); };
#endif //HL2MP
#endif //WEAPONSLAM_H
|