//========= Copyright Valve Corporation, All rights reserved. ============// // // Purpose: // //=============================================================================// #include "cbase.h" #include "player.h" #include "gamerules.h" #include "items.h" #include "hl1_items.h" #include "hl1_player.h" class CItemLongJump : public CHL1Item { public: DECLARE_CLASS( CItemLongJump, CHL1Item ); void Spawn( void ) { Precache( ); SetModel( "models/w_longjump.mdl" ); BaseClass::Spawn( ); CollisionProp()->UseTriggerBounds( true, 16.0f ); } void Precache( void ) { PrecacheModel ("models/w_longjump.mdl"); } bool MyTouch( CBasePlayer *pPlayer ) { CHL1_Player *pHL1Player = (CHL1_Player*)pPlayer; if ( pHL1Player->m_bHasLongJump == true ) { return false; } if ( pHL1Player->IsSuitEquipped() ) { pHL1Player->m_bHasLongJump = true;// player now has longjump module CSingleUserRecipientFilter user( pHL1Player ); user.MakeReliable(); UserMessageBegin( user, "ItemPickup" ); WRITE_STRING( STRING(m_iClassname) ); MessageEnd(); UTIL_EmitSoundSuit( pHL1Player->edict(), "!HEV_A1" ); // Play the longjump sound UNDONE: Kelly? correct sound? return true; } return false; } }; LINK_ENTITY_TO_CLASS( item_longjump, CItemLongJump ); PRECACHE_REGISTER(item_longjump);