"Mask" and "Restricted Access" traits in a multi-side stack

Hi again, proud Vassal team !

This is another suspected-bug report, for which I also provide a demo module, but this time with a tutorial-like demo file.

My config:
Compaq 8510w laptop, with an Intel Core2 duo CPU T8100 @ 2.1GHz and 4 GBytes RAM
Video card AMD/ATI] RV630/M76 [Mobility Radeon HD 2600]
OS Linux Kubuntu (Precise) 12.04, Kernel linux 3.2.0-61-generic-pae + KDE 4.8.5
Java version 1.6.0_31 from Sun Microsystems Inc.
Vassal v 3.2.13 (latest at the time of writing)

The issue is tightly related with the “Mask” and the “Restricted Access” counter traits, that I both use in my developping module.
There are two player sides. Each player can only interact (add, move, select menus, delete) with its own counters.
Thanks to the “Restricted Access” trait, it is not possible to add, move, select menus or delete the opponent’s counters.
Additionnaly, the counters have to be concealed from the opponent’s view until both sides come to contact somewhere on the map.
Then both players have to reveal their own counters and a “battle” is resolved.

While testing my new module I suddenly stumbled on the following strange behaviour:
Take a stack of counters of both sides (a “battle”). All counters are revealed.
Then put one of your (upside) counter on top of the stack, select the whole stack (not only your topmost counter), and select the “Mask” menu command.
All your own counters will turn on backside, which is expected.
But, more interestingly, all the opponent’s counters will also turn backside as well, which is not supposed to happen since the “Restricted Access” trait should forbid it, just like it does when trying to turn a lonely (upside) opponent’s counter.

You will find here-attached a small test module that reproduce the issue, and demonstrate it by mean of small tutorial-like log file.

I personnaly think this is not a serious bug (if ever it is) because your opponent can only conceal your own counters which is not a “security breach”, but it seems to me that I should bring it to your knownledge.

Best regards, and keep on the great work !


Hello Vassal team,

By experimenting a little more, I have finaly isolated the problem.

It is not a mix of “Restricted Access” and “Mask” traits.
It is just an issue with the “Mask” trait alone.

A player can always mask or unmask any of its own counters, either by displaying the contextual pop-up menu and selecting the “Mask” menu entry, or by typing directly the shortkey combination on the keyboard.

When the “Mask” trait setting is properly configured, as well as the associated Global Option, his opponent should never be allowed to mask or unmask any of the player’s counter.

The Global Option “Allow non-owners to unmask pieces” shall be set to “Never”
The “MAsk” trait should be set with the “Can be mask by” property set to “Any of the specified sides”, and only the Side name of the player should be present in list.

Then comes the issue:
The opponent can not select the “Mask/Unmask” menu item from the contextual popup menu, but he still CAN mask the counter by typing the corresponding shortkey at keyboard.

Once masked though, he cannot unmask it back to visible.