//========= Copyright Valve Corporation, All rights reserved. ============// // // Purpose: // //============================================================================= #ifndef TF_WEAPON_BOTTLE_H #define TF_WEAPON_BOTTLE_H #ifdef _WIN32 #pragma once #endif #include "tf_weaponbase_melee.h" #ifdef CLIENT_DLL #define CTFBottle C_TFBottle #define CTFStickBomb C_TFStickBomb #endif //============================================================================= // // Bottle class. // class CTFBottle : public CTFWeaponBaseMelee { public: DECLARE_CLASS( CTFBottle, CTFWeaponBaseMelee ); DECLARE_NETWORKCLASS(); DECLARE_PREDICTABLE(); CTFBottle(); virtual int GetWeaponID( void ) const { return TF_WEAPON_BOTTLE; } virtual void Smack( void ); virtual void WeaponReset( void ); virtual bool DefaultDeploy( char *szViewModel, char *szWeaponModel, int iActivity, char *szAnimExt ); virtual void SwitchBodyGroups( void ); private: CTFBottle( const CTFBottle & ) {} protected: CNetworkVar( bool, m_bBroken ); }; //============================================================================= // // StickBomb class. // class CTFStickBomb : public CTFBottle { public: DECLARE_CLASS( CTFStickBomb, CTFBottle ); DECLARE_NETWORKCLASS(); DECLARE_PREDICTABLE(); CTFStickBomb(); virtual void Precache( void ); virtual int GetWeaponID( void ) const { return TF_WEAPON_STICKBOMB; } virtual void Smack( void ); virtual void WeaponReset( void ); virtual void WeaponRegenerate( void ); virtual void SwitchBodyGroups( void ); virtual const char* GetWorldModel( void ) const; #ifdef CLIENT_DLL virtual int GetWorldModelIndex( void ); #endif void SetDetonated( int iVal ) { m_iDetonated = iVal; } int GetDetonated( void ) { return m_iDetonated; } private: CNetworkVar( int, m_iDetonated ); // int, not bool so we can use a recv proxy }; #endif // TF_WEAPON_BOTTLE_H