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.
82 lines
1.9 KiB
82 lines
1.9 KiB
//========= Copyright Valve Corporation, All rights reserved. ============// |
|
// |
|
// Purpose: |
|
// |
|
//=============================================================================// |
|
|
|
#ifndef TF_AMMO_PACK_H |
|
#define TF_AMMO_PACK_H |
|
#ifdef _WIN32 |
|
#pragma once |
|
#endif |
|
|
|
#include "items.h" |
|
|
|
typedef enum |
|
{ |
|
AP_NORMAL = 0, |
|
AP_HALLOWEEN, |
|
AP_CHRISTMAS, |
|
|
|
} AmmoPackType_t; |
|
|
|
class CTFAmmoPack : public CItem |
|
{ |
|
public: |
|
DECLARE_CLASS( CTFAmmoPack, CItem ); |
|
DECLARE_SERVERCLASS(); |
|
|
|
CTFAmmoPack() |
|
{ |
|
m_PackType = AP_NORMAL; |
|
} |
|
|
|
virtual void Spawn(); |
|
virtual void Precache(); |
|
|
|
void EXPORT DropSoundThink( void ); |
|
void EXPORT FlyThink( void ); |
|
void EXPORT PackTouch( CBaseEntity *pOther ); |
|
|
|
void InitWeaponDrop( CTFPlayer *pPlayer, CTFWeaponBase *pWeapon, int nSkin, bool bEmpty, bool bIsSuicide ); |
|
|
|
virtual unsigned int PhysicsSolidMaskForEntity( void ) const; |
|
|
|
int GiveAmmo( int iCount, int iAmmoType ); |
|
|
|
void MakeEmptyPack( void ) { m_bEmptyPack = true; } |
|
void MakeHolidayPack( void ); |
|
void SetBonusScale( float flBonusScale = 1.f ); |
|
void SetPickupThinkTime( float flNewThinkTime ); |
|
|
|
static CTFAmmoPack *Create( const Vector &vecOrigin, const QAngle &vecAngles, CBaseEntity *pOwner, const char *pszModelName ); |
|
|
|
float GetCreationTime( void ) { return m_flCreationTime; } |
|
void SetInitialVelocity( Vector &vecVelocity ); |
|
void SetHealthInstead( bool bHealth ) { m_bHealthInstead = bHealth; } |
|
|
|
const char* MakeHolidayAmmoPack( const char* inModelName, CBaseEntity *pOwner, const CTakeDamageInfo &info ); |
|
|
|
bool m_bObjGib; |
|
|
|
private: |
|
int m_iAmmo[TF_AMMO_COUNT]; |
|
|
|
float m_flCreationTime; |
|
|
|
bool m_bEmptyPack; // If true, the pack gives nothing when picked up. |
|
|
|
bool m_bHealthInstead; // If true, the pack gives health instead of ammo |
|
bool m_bAllowOwnerPickup; |
|
bool m_bNoPickup; |
|
float m_flBonusScale; |
|
AmmoPackType_t m_PackType; |
|
CNetworkVector( m_vecInitialVelocity ); |
|
|
|
private: |
|
CTFAmmoPack( const CTFAmmoPack & ); |
|
|
|
DECLARE_DATADESC(); |
|
}; |
|
|
|
#endif //TF_AMMO_PACK_H
|