Feature proposal: players could select multiple characters/profiles for the upcoming round, and the round start code could consider all those characters when assigning jobs/roles, and then ensure that each player ended up with only one character actually spawned.
I am willing to take a stab at coding this, though it may take me a while to get to all the pieces of it and actually get a PR ready.
Context: I have been playing on a very small private server with a high concentration of new players. Many of the players have multiple characters and only play specific jobs on specific characters for RP reasons. This means we have fairly high odds of there being important jobs where no one was planning to bring a character that they play that job on. To manage this, one of our admins has been setting up job assignments in advance with a spreadsheet. I would like to see the game able to handle this better without someone doing extra work.
Ideally this would also lead to more varied rounds on servers of all sizes due to there being more candidates for jobs.
I’ve been looking at the job assignment code and talking to players who are more familiar with the game, and I know this would involve at least the following:
- UI changes in the character setup window to allow a player to select multiple characters
- Changing the character preview on the lobby screen so it can show multiple characters
- Considering multiple characters per player during nukie selection
- Considering multiple characters per player during normal round start job assignment
- Handling players having multiple characters selected when joining mid-round
- Ensuring that having multiple characters selected does not allow a player to be considered at high priority for multiple jobs
- Selecting a valid character for each player after they have been assigned a job
For ensuring players aren’t considered at high priority for multiple jobs, I think it would be simplest to randomly choose one selected character for each player and give that character normal high priority treatment for the round. That character’s high priority job would be treated as high priority for the player; their other characters’ high priority jobs would be treated as medium priority for the player for job selection purposes.
For selecting a valid character, if the player has multiple characters that are suitable for their assigned job, I think a weighted random selection would work well. For instance, if they have one character with high priority for the selected job and one with medium priority for it, the game could have higher odds of choosing the high priority character than the medium priority one, but still non-zero odds of choosing the medium priority character.
I couldn’t find any issues or PRs for this concept on the GitHub, but it is certainly possible my search skills failed me.