I want to track naval movement for warships during world war two. I want the units to remain unseen to the enemy unless the player is forced to reveal them due to a spotting check. Basically I want double blind but without a referee and preferably with both sides units on the same map. I am NOT asking for automatic revealing. The player would unhide his units if conditions are met. What I need is to be able to hide units so that the other side (axis, or allies) can not see them but you and your allies can. Is this possible? If so, how?
(use the) Invisible trait
I have not worked with invisible units, but I believe there are numerous threads around that discuss it.
However, I have just developed for my Waterloo module a technique for automatically flagging all units that are within a given range (1 for Waterloo combat, with hard ZOC’s) of an enemy unit. This could easily be a parameter to give each unit type a variable sighting range. I can help you set this up but first I am preparing to publish a little extension that provides automatic execution of a Global Key Command on module load. It turns out that the required infrastructure for that was already in place in 3.1.15.
Can the variable be based on evaluation of a $property$ ? That would make for a very neat addition, probably on hideable
Yes, but let me publish AutoExecGKC first.
The attahced figure outlines how I flag all pieces that are adjacent to an enemy piece, in AH-Waterloo.
Every piece has a static property Side which is either French or PAA in Waterloo; and
Every piece has the DynamicProperty MustFight as shown in the second figure.
It would be a simle matter to also give every piece a (static or dynamic) property Range that could be accessed with the GKC instead of the static range of 1 that I use in Waterloo.
Perhaps I should have mentioned I am new to vassal. I am modifying the World in Flames module. It is just for our group so I won’t be submitting it.
So there isnt a hide option that prevents the other player from seeing it?
My apologies - I carried you away on a tangent.
Yes, I believe the capability exists for what you are looking for. The Invisible trait described here should get you started:
Thats great! So, I understand I have to define the player sides in order for the hidden things to work. I found it in the wiki but I can’t seem to figure out how to find it in Vassal. Also, if I want all of the axis to see axis ships and all of the allies to see allied ships, how would I work that? I understand only one player can be assigned to a side, so I can’t just define axis and allies. Is it possible to let multiple sides see hidden units?
For WIF, think COuntries instead of Sides.
but where do I add the Define Player Sides thing? I dont see it as an option
Itès a separate default component under the module.
Its not there. Is there a reason it would be gone?
It could have been deleted at an earlier point in time, I guess. If you are comfortable making a BuildFIle edit, here is the text for the missing component:
<VASSAL.build.module.PlayerRoster buttonText=“Retire” buttonToolTip=“Allow another player to take your side in this game”>
One possible way to do this is as follows:
Rename the module file from .vmod to .zip
Extract buildFile and rename it to .txt
Edit buildFile.txt with NotePad, and paste the text above directly below this line (near the top of the file):
Rename buildFile.txt back to buildFile and copy it back into the archive
Rename the archive back to .vmod from .zip
You guys are epic! Thank you! One thing though, it is showing up under the help menu folder in the vassal module editor. Is that ok?
That sounds like you pasted it below this line:
instead of below this line, (notice the slash character):
Yes, pasting it in the wrong section might cause problems.
Well I thought it was good. I tired testing it out. When I start a new game I can log in and choose a side but when I create the log file, close everything and open the log file back up, I am not presented with an option to choose a side. What am I doing wrong?
When you come back in after shutting down, are you opening the log file from within the module for the game, or otherwise? It makes a difference because once a game is started, it remembers your side I believe.
I figured out that if I resign then stop the log it asks me who team I want to join.
Next problem: Like I said, I am modifying the World in Flames module. I have to add the invisible attribute to each counter. I can copy and paste the attribute but I would have to do this several hundred times. I right clicked a group of counters and chose edit all contained pieces, pasted the invisible attribute and then hit ok but it did not work. Did I do it wrong?
This function seems to have difficulties when the counters selected do not have the same number of traits in the same order. There are ways to do it by editing the BuildFIle in a text editor, if you are brave (and careful) enough, using a Find and Replace command.