void CGameTeamMaster::Use( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value ) { if( !CanFireForActivator( pActivator ) ) return; if( useType == USE_SET ) { if( value < 0 ) { m_teamIndex = -1; } else { m_teamIndex = g_pGameRules->GetTeamIndex( pActivator->TeamID() ); } return; } if( TeamMatch( pActivator ) ) { SUB_UseTargets( pActivator, triggerType, value ); if( RemoveOnFire() ) UTIL_Remove( this ); } }
void CGameCounter::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) { if (!CanFireForActivator(pActivator)) return; switch (useType) { case USE_ON: case USE_TOGGLE: CountUp(); break; case USE_OFF: CountDown(); break; case USE_SET: SetCountValue((int)value); break; } if (HitLimit()) { SUB_UseTargets(pActivator, USE_TOGGLE, 0); if (RemoveOnFire()) { UTIL_Remove(this); } if (ResetOnFire()) { ResetCount(); } } }
void CGameCounterSet::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) { if (!CanFireForActivator(pActivator)) return; SUB_UseTargets(pActivator, USE_SET, pev->frags); if (RemoveOnFire()) { UTIL_Remove(this); } }
void CGameTeamSet::Use( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value ) { if( !CanFireForActivator( pActivator ) ) return; if( ShouldClearTeam() ) { SUB_UseTargets( pActivator, USE_SET, -1 ); } else { SUB_UseTargets( pActivator, USE_SET, 0 ); } if( RemoveOnFire() ) { UTIL_Remove( this ); } }
void CGamePlayerTeam::Use( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value ) { if ( !CanFireForActivator( pActivator ) ) return; if ( pActivator->IsPlayer() ) { const char *pszTargetTeam = TargetTeamName( STRING(m_target), pActivator ); if ( pszTargetTeam ) { CBasePlayer *pPlayer = (CBasePlayer *)pActivator; g_pGameRules->ChangePlayerTeam( pPlayer, pszTargetTeam, ShouldKillPlayer(), ShouldGibPlayer() ); } } if ( RemoveOnFire() ) { UTIL_Remove( this ); } }
void CGamePlayerHurt::Use( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value ) { if( !CanFireForActivator( pActivator ) ) return; if( pActivator->IsPlayer() ) { if( GetDamage() < 0 ) pActivator->GiveHealth( -GetDamage(), DMG_GENERIC ); else pActivator->TakeDamage( this, this, GetDamage(), DMG_GENERIC ); } SUB_UseTargets( pActivator, useType, value ); if( RemoveOnFire() ) { UTIL_Remove( this ); } }