diff options
Diffstat (limited to 'game/server/hl2/item_longjump.cpp')
| -rw-r--r-- | game/server/hl2/item_longjump.cpp | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/game/server/hl2/item_longjump.cpp b/game/server/hl2/item_longjump.cpp new file mode 100644 index 0000000..fd4b8db --- /dev/null +++ b/game/server/hl2/item_longjump.cpp @@ -0,0 +1,61 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +// +//=============================================================================// +/* + +===== item_longjump.cpp ======================================================== + + handling for the longjump module +*/ + +#include "cbase.h" +#include "player.h" +//#include "weapons.h" +#include "gamerules.h" +#include "items.h" + +class CItemLongJump : public CItem +{ +public: + DECLARE_CLASS( CItemLongJump, CItem ); + + void Spawn( void ) + { + Precache( ); + SetModel( "models/w_longjump.mdl" ); + BaseClass::Spawn( ); + } + void Precache( void ) + { + PrecacheModel ("models/w_longjump.mdl"); + } + bool MyTouch( CBasePlayer *pPlayer ) + { + if ( pPlayer->m_fLongJump ) + { + return FALSE; + } + + if ( pPlayer->IsSuitEquipped() ) + { + pPlayer->m_fLongJump = TRUE;// player now has longjump module + + CSingleUserRecipientFilter user( pPlayer ); + user.MakeReliable(); + + UserMessageBegin( user, "ItemPickup" ); + WRITE_STRING( STRING(pev->classname) ); + MessageEnd(); + + UTIL_EmitSoundSuit( pPlayer->edict(), "!HEV_A1" ); // Play the longjump sound UNDONE: Kelly? correct sound? + return true; + } + return false; + } +}; + +LINK_ENTITY_TO_CLASS( item_longjump, CItemLongJump ); |