Implementing special Activating System

Hello,

I’m new to VASSAL and started to work on a module of a self-designed strategy board/wargame. Now I’m thinking of different ways to implement the activation/initiative-system in the module.

In the boardgameversion, Initiative works like this:
Players determine the exact phase of the turn (out of 7), in which their units are going to take action at the beginning of each turn. For that, both players assign their units to 7 phases in which one turn is divided, and which are fulfilled later in order (In the Boardgameversion there is a statcard for every unit. In the planning phase of every turn both players assign their cards to the differnet phases:)

In the following Activation Phase, players first activate their units in Phase -3, then -2 and so on until all units of both players are activated.

Some units like fast infantry units are more flexible can be assigned to each of the 7 phases while heavy units are bound to only some or only one phase they can be assigned to. This creates the effect, that heavy units, which generally have stronger weapons can be outmaneuvered by light units because you can decide every round if your light unit acts before or after your opponent heavy units. Note that during one turn both players first activate all units they assigned to the first phase, then all units which were assigned to the second phase are activated by both players and so on!

Any ideas how to implement this in vassal? Would you use extra-maps to assign the statcards to the initiative phases or maybe markers to put directly on the units on the gameboard?

Additionally i have two more questions:

  • LOS, Range: Is there any way to change calculation of range (for example allowing only one diagonal count per movement)?

  • Attack: If one unit attacks another, I would like to have this information in the text box (for example: “scouts on A3 attack snipers on A5”). Any ideas to realize this?

Thanks a lot for your help,

Chordcommander

Attack

add a marker named “owner” and have “None” as value. when player draws a card by right clicking let the card set the value of the marker “owner” to “$playerSide$”. What it will do is use the name of side that the player is playing as its new value. Now we can hide and/or disable commands. Use “owner != $playerSide$” (it says owner is not the side of the player that currently is handling me) to restrict the commands that you don’t want to share with players that don’t control that card (like flipping the card for example). Last create a trigger that returns the owner marker back to “None”. This way you can create a command that can only be used when nobody controls that card(like when it is in the deck for example).