How best to implement team sides in a module?

Napoleon’s Triumph is basically a two-player game, but it also supports team play, with up to 4 players per side.

At first I made 8 playerSides, named after command seniority (e.g. France commander-in-chief, France senior commander, France junior commander, France most junior commander), but I received some complaints along the lines of a) the team game is unlikely to be used in Vassal and b) the reports with $PlayerSide$ were unnecessarily long and can’t we go back to “France”?

So my new idea is to substitute all instances of $PlayerSide$ with $PlayerId$ and make that include $PlayerSide$ ($PlayerName$), and to have 8 sides: France, Allies, France, France, France, Allies, Allies, Allies.

So, my question is, will this cause any problems? Also, is there a better way to do this?

The PlayerSides are used for access to private windows, and for masking your own pieces on the board so that they are visible to you (and your teammates) but not your opponent(s).

It seems that one person taking a side locks off all playerSides with the same name, so this approach doesn’t work.

I think the system just wasn’t designed very well with regard to player sides in general (I’ve weighed in on this many times in the past). Team play is one of those cases that just isn’t supported. A feature that’s really needed is the way to disable certain player sides when a game is initiated, such that they won’t appear in the dropdown for later players that join.