Exemplo n.º 1
0
void CBulletCrate::TryPickup( CPlayer* aPicker, const CRect<int>& aDrawRect )
{
	int bno = iController->GameData()->TypeData()->ReverseMapBullet( iType );

	if (aPicker->iBullets[ bno ]<iType->MaximumForPlayer()*iType->Multiplier()) 
	{
		aPicker->iBullets[ bno ]+= iType->AmountInCrate();
		aPicker->iBullets[ bno ] = min( aPicker->iBullets[ bno ], iType->MaximumForPlayer()*iType->Multiplier());
		Taken( aPicker->ScreenPos(), aDrawRect );
	}
}
Exemplo n.º 2
0
void CCaptureObject::RealUse(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
{
	if (value == COU_CAPTURE)
	{
		Captured(pActivator);
	}
	else if (value == COU_TAKEN)
	{
		Taken(pActivator);
	}
	else if (value == COU_DROP)
	{
		Drop(pActivator);
	}
	else if (value == COU_RETURN)
	{
		Return(pActivator);
	}
}
Exemplo n.º 3
0
void CCaptureObject::Touch(CBaseEntity *pOther)
{
	if (!pOther->IsPlayer())
		return;

	if (pev->impulse == CO_CARRIED)
		return;

	if (!pOther->IsAlive())
		return;

	CBasePlayer *pPlayer = (CBasePlayer*)pOther;

	if (g_pGameRules->GetTeamIndex(pPlayer->m_szTeamName) != pev->team)
	{
		if (pev->impulse == CO_DROPPED)
			Return(pOther);
	}
	else
		Taken(pOther);
}