bool CTeamplayRules::FPlayerCanTakeDamage( CBasePlayer *pPlayer, CBaseEntity *pAttacker, const CTakeDamageInfo &info ) { if ( pAttacker && PlayerRelationship( pPlayer, pAttacker ) == GR_TEAMMATE && !info.IsForceFriendlyFire() ) { // my teammate hit me. if ( (friendlyfire.GetInt() == 0) && (pAttacker != pPlayer) ) { // friendly fire is off, and this hit came from someone other than myself, then don't get hurt return false; } } return BaseClass::FPlayerCanTakeDamage( pPlayer, pAttacker, info ); }