source-engine/game/server/hl1/hl1_item_longjump.cpp

62 lines
1.3 KiB
C++
Raw Normal View History

2022-04-16 09:05:19 +00:00
//========= 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);