summaryrefslogtreecommitdiff
path: root/game/server/cstrike/item_ammo.cpp
diff options
context:
space:
mode:
authorFluorescentCIAAfricanAmerican <[email protected]>2020-04-22 12:56:21 -0400
committerFluorescentCIAAfricanAmerican <[email protected]>2020-04-22 12:56:21 -0400
commit3bf9df6b2785fa6d951086978a3e66f49427166a (patch)
tree2c0f1f0c63c4832882bc93814ebd2c2b1c6224e5 /game/server/cstrike/item_ammo.cpp
downloadarchived-source-engine-2018-hl2-src-master.tar.xz
archived-source-engine-2018-hl2-src-master.zip
Diffstat (limited to 'game/server/cstrike/item_ammo.cpp')
-rw-r--r--game/server/cstrike/item_ammo.cpp147
1 files changed, 147 insertions, 0 deletions
diff --git a/game/server/cstrike/item_ammo.cpp b/game/server/cstrike/item_ammo.cpp
new file mode 100644
index 0000000..7b09cc5
--- /dev/null
+++ b/game/server/cstrike/item_ammo.cpp
@@ -0,0 +1,147 @@
+//========= Copyright 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_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 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 );
+
+//-----------------------------------------------------------------------------
+