private bool IsClanDispersal(PlayerModel player, bool ignoreWhitelist)
{
if (player == null) return false;
PerModeSettings perMode = GetPerModeSettings();
if (perMode.DisperseEvenlyByClanPlayers == 0) return false;
if (OnWhitelist && !ignoreWhitelist && CheckWhitelist(player, WL_DISPERSE)) return false;
bool disperse = false;
String extractedTag = ExtractTag(player);
if (!String.IsNullOrEmpty(extractedTag) && GetClanPopulation(player, 0) >= perMode.DisperseEvenlyByClanPlayers) { // 0 means all teams
disperse = true;
}
return disperse;
}