My world in flames module has 6 boards in the main maps section. There are also 4 off maps setup, 2 of which are mirrored from the main maps. Games can use from 1 to 5 board from the main maps and may also use the off maps - except for the 2 ‘common ones’. That is if using the main map board americas CE or AiF, then the similarly named off maps will not be used.
I have setup, as an experiment, a bunch of ‘send to’ traits covering the transfer of counters to the possible map/board combinations. I now want to use ‘restrict commands’ trait to hide those ‘send to’ traits that are not applicable. To do this I believe that I need to know if a main map board is presently active in the displayed main map screen. Sort of - if main map board ‘americas CE’ is active then hide these keyboard commands.
Is there a ‘get property’ expression that I can use to determine this?
I hope what I’ve stated is reasonably clear enough. Sometimes it can be problematical to get the right expressions.
It depends exactly what you mean by a map board being ‘presently active in the displayed main map screen’ and how the ‘Send to’ traits are being triggered (manual right-click or GKC of some sort)…
It might be as simple as using the CurrentBoard property to control the ‘send to’ traits visibility.
I agree with the comment re using currentboard, but that does not check to see what boards are in use as the main map boards (as in what is displayed as maps on the primary map screen.
Send to traits will be using manual right click & hot keys alt+ctrl+alpha key. Currently there are 16 send tos in total. I want players to only see those that are relevant. I can use currentboard for some restrict commands, but I really want to be able to ‘say’ if the board from the main maps directory/folder of the module is a part of the main map screen then restrict these commands.
For ex, for some major campaigns there will be 5 maps from the main maps set - americas CE or AiF, west and east europe, asia and pacific. For some other major campaigns the americas CE or Aif will be using the off map function (as in players call up the americas using the external maps). For the former, I want to hide 4 send tos. For the latter I want to hide another 4 send tos.
I also have a variant west/east europe maps version where the scandinavian and african ‘off’ maps are integrated with the european maps. In both of the preceding para cases I want to hide 8 send tos respectively.
So. Is there some map/board property I can use? Perhaps I may need to set up some sort of global property to set a value when a particular board from the main maps is being used by the prime map screen display.
Ok, that is the other meaning of ‘presently active in the displayed main map screen’.
Yes, that is how I would approach it. Create a Global Property for each board that defaults to false. Create an At-start stack belonging to each board that holds an invisible non-stacking control piece that sets the corresponding GP for that board to true. Add a Start-up GKC that tells all the Control Pieces on each board to set their corresponding GP to true.
Of course this will necessitate me redoing all the pre-defined setups again. A tedious task at best. I do wish that Vassal could actually use the ‘new’ maps when saved games are loaded.
That reminds me. There was 1 instance where the pre-defined games somehow ‘lost’ their main screen maps and the ‘use these maps’ pop-up were activated. At the time I was using an earlier version of 3.5.