private bool isPlayerInWhiteList(PlayerProfile player, String list_name) { if (!getBooleanVarValue("use_white_list")) return false; if (!getPluginVars().Contains(list_name)) { DebugWrite("^1^bWARNING: ^n^0 unknown white list ^b" + list_name + "^n", 1); return false; } List<String> whitelist = getStringListVarValue(list_name); if (whitelist.Count == 0) return false; String field = ""; if (Regex.Match(list_name, @"clan").Success) field = player.getClanTag(); else if (Regex.Match(list_name, @"player").Success) field = player.name; else { DebugWrite("^1^bWARNING:^0^n white list ^b" + list_name + "^n does not contain 'player' or 'clan' sub-string", 1); return false; } if (Regex.Match(field, @"^\s*$").Success) return false; return whitelist.Contains(field); }
private bool shouldSkipClanPlayer(PlayerProfile player, int smaller_team, int bigger_team, Dictionary<string, int>[] clan_stats) { string tag = player.getClanTag(); if (!clan_stats[bigger_team].ContainsKey(tag)) clan_stats[bigger_team].Add(tag, 0); if (!clan_stats[smaller_team].ContainsKey(tag)) clan_stats[smaller_team].Add(tag, 0); if (player.isInClan() && (clan_stats[bigger_team][tag] + clan_stats[smaller_team][tag]) > 1) { /* if the majority of the players in the clan are in this team, skip this player */ if (clan_stats[bigger_team][tag] >= clan_stats[smaller_team][tag]) { DebugWrite("Skipping clan-player ^b" + player + "^n because majority of clan is in his team", 3); return true; } /* update the clan stats */ clan_stats[bigger_team][tag]--; clan_stats[smaller_team][tag]++; } return false; }