return pill;
}
+function entire_gender(players) {
+ let gender = null;
+ for (const player_id of players) {
+ if (gender === null) {
+ gender = find_player(player_id).gender;
+ } else if (gender !== find_player(player_id).gender) {
+ return false; // Not all are of the same gender.
+ }
+ }
+ for (const player of global_json['players']) {
+ if (player.gender === gender && !players.has(player.player_id)) {
+ return false; // Not all of this gender are in the group.
+ }
+ }
+ return true;
+}
+
function make_filter_marker(filterset) {
let text = '';
for (const filter of filterset) {
}
} else if (filter.type === 'player_any' || filter.type === 'player_all') {
let sorted_players = Array.from(filter.elements).sort((a, b) => player_pos(a) - player_pos(b));
- for (const player_id of sorted_players) {
- text += find_player(player_id)['name'].substr(0, 3);
+ if (filter.elements.size >= 3 && entire_gender(filter.elements)) {
+ text += find_player(sorted_players[0]).gender;
+ } else {
+ for (const player_id of sorted_players) {
+ text += find_player(player_id)['name'].substr(0, 3);
+ }
}
} else if (filter.type === 'formation_offense' || filter.type === 'formation_defense') {
let sorted_formation_id = Array.from(filter.elements).sort((a, b) => a - b);