HI!
We have a ruleset that’s using the below ruleset to keep clan members on the same team and also prevent clan remembers from also being placed on another team.
{
"name": "SameClan_team_1",
"description": "Only match players with the same clan for team 1",
"type": "comparison",
"measurements": [
"teams[team_1].players.attributes[clanId]"
],
"operation": "="
},
{
"name": "SameClan_team_2",
"description": "Only match players with the same clan for team 1",
"type": "comparison",
"measurements": [
"teams[team_2].players.attributes[clanId]"
],
"operation": "="
},
{
"name": "DifferentClanIdPerTeam",
"description": "Keep clan mates on same team",
"type": "comparison",
"measurements": [
"count(set_intersection(teams[*].players.attributes[clanId]))"
],
"referenceValue": 0,
"operation": "="
}
This was working just fine if 4 players queued individually. eg:
Ticket 1
Player A, Clan A
Ticket 2
Player B, Clan A
Ticket 3
Player C, Clan B
Ticket 4
Player D, Clan B
We’ve recently introduced a feature for clan members to queue up together. When this happens, we create a single ticket for the two clanmates. eg:
Ticket 1
Player A, Clan A
Player B, Clan A
Ticket 2
Player C, Clan B
Player D, Clan B
Unfortunately, this new form of matchmaking isn’t passing the final ruleset DifferentClanIdPerTeam
(I cloned the ruleset and started with an empty rule list and added each rule in the original ruleset 1 by 1 to confirm. sigh Anyways, I’m not sure why this is happening. I’m assuming there is something I don’t understand about how tickets with a player list larger than 1 are handled in Flexmatch. Any help would be greatly appreciated!
- Austin