How to Create a Unit That Can Only Be Deployed *Once*?

Hello Vassal Jedi Masters,

Let’s say I’m making a strategy game with infantry, armor, artillery, cavalry, etc. Currently my players can place unlimited numbers of these kinds of units onto the board, which is great.

But let’s say for fun, I want to create a deploy-only-once unit, like a Marshall Napoleon or the Duke of Wellington? I can design a “Napoleon” or “Wellington” unit, no problem. But I want the player(s) to only be able to deploy these types of units exactly once. It would make no sense, after all, to have a battalion of Napoleons or an entire division of Wellingtons.

Is there some unit trait I can set which effectively says “Deploy exactly once?”

Thank you!

No trait as such. One simple method would be to create a map to hold each set of limited-quantity pieces in its own At- Start Stack; effectively implementing your own one-time placement palette.

Another method would be to have a hidden palette and use logic (Global Key Commands etc) to control deployment of the pieces.

Last idea; you might use Movement Key Commands to control deployment; triggering an auto-delete if the piece has been deployed its maximum number of times.

I assume you can’t leave it to the players or scenario designers to avoid illegal setups; that will always be the easiest option.

@marktb1961 Thanks for replying, your ideas are solid. I think I can leave it to the players to police themselves, but it would be cool if the game could enforce this rule. Of all your ideas, I like the Movement Keys options. I’ll read up… THanks!

For fixed pre-defined units, I used At Start Stacks, defined a “deploy” button, and removed the piece from the player accessible piece palette.

Prior to doing the above, I created a “Designer” piece palette (which has everything) and a “Player” piece palette that only has unlimited markers. I then hid the Designer palette so it is available in the editor, but not during an actual game.

1 Like

@Korval Oh wow, that’s cool. Excellent ideas! I will steal… Thank you!