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.
187 lines
5.3 KiB
187 lines
5.3 KiB
//========= Copyright © 1996-2005, Valve Corporation, All rights reserved. ============//
|
|
//
|
|
// Purpose:
|
|
//
|
|
// $NoKeywords: $
|
|
//
|
|
//=============================================================================//
|
|
|
|
#include "cbase.h"
|
|
#include "items.h"
|
|
#include "cs_player.h"
|
|
#include "weapon_csbase.h"
|
|
#include "cs_ammodef.h"
|
|
|
|
|
|
//-----------------------------------------------------------------------------
|
|
class CItemAmmo : public CItem
|
|
{
|
|
public:
|
|
DECLARE_CLASS( CItemAmmo, CItem );
|
|
|
|
bool MyTouch( CBasePlayer *pBasePlayer )
|
|
{
|
|
CCSPlayer *pPlayer = dynamic_cast< CCSPlayer* >( pBasePlayer );
|
|
if ( !pPlayer )
|
|
{
|
|
Assert( false );
|
|
return false;
|
|
}
|
|
|
|
int ammoIndex = GetCSAmmoDef()->Index( GetAmmoName() );
|
|
if ( ammoIndex < 0 )
|
|
{
|
|
Assert( false );
|
|
return false;
|
|
}
|
|
|
|
pPlayer->GiveAmmo( GetCSAmmoDef()->GetBuySize( ammoIndex ), ammoIndex );
|
|
|
|
return true;
|
|
}
|
|
|
|
virtual const char * GetAmmoName( void ) const { return NULL; }
|
|
};
|
|
|
|
//-----------------------------------------------------------------------------
|
|
class CItemAmmo50AE : public CItemAmmo
|
|
{
|
|
public:
|
|
DECLARE_CLASS( CItemAmmo50AE, CItemAmmo );
|
|
virtual const char * GetAmmoName( void ) const { return BULLET_PLAYER_50AE; }
|
|
};
|
|
|
|
LINK_ENTITY_TO_CLASS( ammo_50ae, CItemAmmo50AE );
|
|
|
|
//-----------------------------------------------------------------------------
|
|
class CItemAmmo762MM : public CItemAmmo
|
|
{
|
|
public:
|
|
DECLARE_CLASS( CItemAmmo762MM, CItemAmmo );
|
|
virtual const char * GetAmmoName( void ) const { return BULLET_PLAYER_762MM; }
|
|
};
|
|
|
|
LINK_ENTITY_TO_CLASS( ammo_762mm, CItemAmmo762MM );
|
|
|
|
//-----------------------------------------------------------------------------
|
|
class CItemAmmo556MM : public CItemAmmo
|
|
{
|
|
public:
|
|
DECLARE_CLASS( CItemAmmo556MM, CItemAmmo );
|
|
virtual const char * GetAmmoName( void ) const { return BULLET_PLAYER_556MM; }
|
|
};
|
|
|
|
LINK_ENTITY_TO_CLASS( ammo_556mm, CItemAmmo556MM );
|
|
|
|
class CItemAmmo556MM_SMALL : public CItemAmmo
|
|
{
|
|
public:
|
|
DECLARE_CLASS( CItemAmmo556MM_SMALL, CItemAmmo );
|
|
virtual const char * GetAmmoName( void ) const { return BULLET_PLAYER_556MM_SMALL; }
|
|
};
|
|
|
|
LINK_ENTITY_TO_CLASS( ammo_556mm_small, CItemAmmo556MM_SMALL );
|
|
|
|
|
|
//-----------------------------------------------------------------------------
|
|
class CItemAmmo556MM_BOX : public CItemAmmo
|
|
{
|
|
public:
|
|
DECLARE_CLASS( CItemAmmo556MM_BOX, CItemAmmo );
|
|
virtual const char * GetAmmoName( void ) const { return BULLET_PLAYER_556MM_BOX; }
|
|
};
|
|
|
|
LINK_ENTITY_TO_CLASS( ammo_556mm_box, CItemAmmo556MM_BOX );
|
|
|
|
//-----------------------------------------------------------------------------
|
|
class CItemAmmo338MAG : public CItemAmmo
|
|
{
|
|
public:
|
|
DECLARE_CLASS( CItemAmmo338MAG, CItemAmmo );
|
|
virtual const char * GetAmmoName( void ) const { return BULLET_PLAYER_338MAG; }
|
|
};
|
|
|
|
LINK_ENTITY_TO_CLASS( ammo_338mag, CItemAmmo338MAG );
|
|
|
|
//-----------------------------------------------------------------------------
|
|
class CItemAmmo9MM : public CItemAmmo
|
|
{
|
|
public:
|
|
DECLARE_CLASS( CItemAmmo9MM, CItemAmmo );
|
|
virtual const char * GetAmmoName( void ) const { return BULLET_PLAYER_9MM; }
|
|
};
|
|
|
|
LINK_ENTITY_TO_CLASS( ammo_9mm, CItemAmmo9MM );
|
|
|
|
//-----------------------------------------------------------------------------
|
|
class CItemAmmoBuckshot : public CItemAmmo
|
|
{
|
|
public:
|
|
DECLARE_CLASS( CItemAmmoBuckshot, CItemAmmo );
|
|
virtual const char * GetAmmoName( void ) const { return BULLET_PLAYER_BUCKSHOT; }
|
|
};
|
|
|
|
LINK_ENTITY_TO_CLASS( ammo_buckshot, CItemAmmoBuckshot );
|
|
|
|
//-----------------------------------------------------------------------------
|
|
class CItemAmmo45ACP : public CItemAmmo
|
|
{
|
|
public:
|
|
DECLARE_CLASS( CItemAmmo45ACP, CItemAmmo );
|
|
virtual const char * GetAmmoName( void ) const { return BULLET_PLAYER_45ACP; }
|
|
};
|
|
|
|
LINK_ENTITY_TO_CLASS( ammo_45acp, CItemAmmo45ACP );
|
|
|
|
//-----------------------------------------------------------------------------
|
|
class CItemAmmo357SIG : public CItemAmmo
|
|
{
|
|
public:
|
|
DECLARE_CLASS( CItemAmmo357SIG, CItemAmmo );
|
|
virtual const char * GetAmmoName( void ) const { return BULLET_PLAYER_357SIG; }
|
|
};
|
|
|
|
LINK_ENTITY_TO_CLASS( ammo_357sig, CItemAmmo357SIG );
|
|
|
|
//-----------------------------------------------------------------------------
|
|
class CItemAmmo357SIG_P250 : public CItemAmmo
|
|
{
|
|
public:
|
|
DECLARE_CLASS( CItemAmmo357SIG_P250, CItemAmmo );
|
|
virtual const char * GetAmmoName( void ) const { return BULLET_PLAYER_357SIG_P250; }
|
|
};
|
|
|
|
LINK_ENTITY_TO_CLASS( ammo_357sig_p250, CItemAmmo357SIG_P250 );
|
|
|
|
//-----------------------------------------------------------------------------
|
|
class CItemAmmo357SIG_SMALL : public CItemAmmo
|
|
{
|
|
public:
|
|
DECLARE_CLASS( CItemAmmo357SIG_SMALL, CItemAmmo );
|
|
virtual const char * GetAmmoName( void ) const { return BULLET_PLAYER_357SIG_SMALL; }
|
|
};
|
|
|
|
LINK_ENTITY_TO_CLASS( ammo_357sig_small, CItemAmmo357SIG_SMALL );
|
|
|
|
//-----------------------------------------------------------------------------
|
|
class CItemAmmo357SIG_MIN : public CItemAmmo
|
|
{
|
|
public:
|
|
DECLARE_CLASS( CItemAmmo357SIG_MIN, CItemAmmo );
|
|
virtual const char * GetAmmoName( void ) const { return BULLET_PLAYER_357SIG_MIN; }
|
|
};
|
|
|
|
LINK_ENTITY_TO_CLASS( ammo_357sig_np_reserve, CItemAmmo357SIG_MIN );
|
|
|
|
//-----------------------------------------------------------------------------
|
|
class CItemAmmo57MM : public CItemAmmo
|
|
{
|
|
public:
|
|
DECLARE_CLASS( CItemAmmo57MM, CItemAmmo );
|
|
virtual const char * GetAmmoName( void ) const { return BULLET_PLAYER_57MM; }
|
|
};
|
|
|
|
LINK_ENTITY_TO_CLASS( ammo_57mm, CItemAmmo57MM );
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|