1
This commit is contained in:
77
game/server/cstrike/func_buy_zone.cpp
Normal file
77
game/server/cstrike/func_buy_zone.cpp
Normal file
@ -0,0 +1,77 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
//=============================================================================//
|
||||
|
||||
#include "cbase.h"
|
||||
#include "triggers.h"
|
||||
#include "cs_player.h"
|
||||
|
||||
|
||||
//======================================
|
||||
// Bomb target area
|
||||
//
|
||||
//
|
||||
|
||||
class CBuyZone : public CBaseTrigger
|
||||
{
|
||||
public:
|
||||
DECLARE_CLASS( CBuyZone, CBaseTrigger );
|
||||
DECLARE_DATADESC();
|
||||
|
||||
CBuyZone();
|
||||
void Spawn();
|
||||
void EXPORT BuyZoneTouch( CBaseEntity* pOther );
|
||||
|
||||
public:
|
||||
int m_LegacyTeamNum;
|
||||
};
|
||||
|
||||
|
||||
LINK_ENTITY_TO_CLASS( func_buyzone, CBuyZone );
|
||||
|
||||
BEGIN_DATADESC( CBuyZone )
|
||||
DEFINE_FUNCTION( BuyZoneTouch ),
|
||||
|
||||
// This is here to support maps that haven't updated to using "teamnum" yet.
|
||||
DEFINE_INPUT( m_LegacyTeamNum, FIELD_INTEGER, "team" )
|
||||
END_DATADESC()
|
||||
|
||||
|
||||
CBuyZone::CBuyZone()
|
||||
{
|
||||
m_LegacyTeamNum = -1;
|
||||
}
|
||||
|
||||
|
||||
void CBuyZone::Spawn()
|
||||
{
|
||||
InitTrigger();
|
||||
SetTouch( &CBuyZone::BuyZoneTouch );
|
||||
|
||||
// Support for legacy-style teamnums.
|
||||
if ( m_LegacyTeamNum == 1 )
|
||||
{
|
||||
ChangeTeam( TEAM_TERRORIST );
|
||||
}
|
||||
else if ( m_LegacyTeamNum == 2 )
|
||||
{
|
||||
ChangeTeam( TEAM_CT );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void CBuyZone::BuyZoneTouch( CBaseEntity* pOther )
|
||||
{
|
||||
CCSPlayer *p = dynamic_cast< CCSPlayer* >( pOther );
|
||||
if ( p )
|
||||
{
|
||||
// compare player team with buy zone team number
|
||||
if ( p->GetTeamNumber() == GetTeamNumber() )
|
||||
{
|
||||
p->m_bInBuyZone = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user