I have a simple suggestion on how to change this system for what I think is the better.
For an example let’s just say I get into a lobby; in this lobby I prefer Assault, someone else prefers Trapper and Medic, and then the remaining two prefer Monster. Sometimes when the game throws everyone into roles, one of the Monster preferences will get thrown into the first preference of someone else.
I understand that it’s a preference system and not everyone gets what they want all the time but the way I see it is that the preference system should always prioritize the highest preference.
For another example if:
My preference is: Assault > Support > Monster > Medic > Trapper
And someone else’s preference is: Monster > Assault > Medic > Support > Trapper
And a third’s is: Monster > Medic > Trapper > Support > Assault
Now let’s label them; myself is 1, the second is 2, and the third is… well… 3. Now if 3 wins the Monster spot and 2 now moves down in his preference list, his is now Assault and is contending with me. That’s how the current system kinda works however he shouldn’t be contending with me, I prefer to play Assault more than him and therefore I should get the Assault spot so he moves down and he get’s the Medic spot.
The preference system should always prioritize the person with the highest preference. If two players prefer the same thing then the losing player should always move down to the next available spot. So if a lobby prefers two Monsters, an Assault, a Medic and a Trapper then no matter what the loser should be made into the Support; no one should be shoved out of their primary role so the losing party can get his secondary preference.
First preference should always beat second, third, fourth, and fifth.
Second preference should always beat third, fourth, fifth, and lose to first preference.
Third should always beat fourth, fifth, and lose to first and second preferences.
Fourth should always beat fifth and lose to all others.
And Fifth should always be submissive to all other preferences.