[messages] [Module General Discussion] Looking for Guidance

rrvs spideratj at aol.com
Thu Apr 27 14:28:18 CEST 2017


"quiksilver3865" wrote:
> In my head, it should be as simple as: property match Marker from
> piece in location x (or piece just sent) and Send to location x + y.

Right.  For your CardSide property, which is a good idea, you won't want
that Side value global.  Vassal has its own PlayerSide property, but I'm
not sure if it's retained after all the primary cards are sent to the
main board by one player.  So I'd suggest keeping your CardSide idea and
making it either a Marker trait or Dynamic Property trait (in all
primary and secondary cards).

Use the Marker trait, CardSide=Blue, if all players have _only _their
own cards to choose from (I don't remember if this is true or not). 
You'd make a prototype for the blue player and put that marker in all
the cards (primary and secondary) belonging to that player.  But if any
cards are mixed up among the players (so a particular primary type card,
for example, may go to any player), then make CardSide a dynamic
property instead and tie it to the same key command that handles the
cardselect dynamic property.  So you'd have dynamic property CardSide,
no menu command, key command being the same one that cardselect uses,
assign value directly: $PlayerSide$... so when Blue player chooses
primary and secondary cards, they also make CardSide=Blue for both of
those cards.

For sending the secondary cards... say Blue Primary card hits region 1
and gets sent your "ends movement" gkc from the board (I'll call it:
mainmapGKC).  You want that to also trigger a GKC trait in the cards'
prototype -- unless the card moves around the board later and you don't
want it firing every time, then you'd use a trigger action with an
appropriate matching property to limit it to firing only once
(LocationName=~1|2|3|4&&CurrentBoard!=$OldBoard$) -- otherwise just have
it fire the GKC trait directly.

So the GKC trait has no command name, keyboard command: mainmapGKC, gkc:
sendSecondary, matching properties:
CurrentBoard=~P1|P2|P3|P4&&CardSide=$CardSide$&&cardselect=Secondary
[substituting P1 etc for your actual player board names of course].

Then the Send to Location in the secondary cards' prototype will have no
command name, keyboard command: sendSecondary, destination: Another
counter selected by properties, property match:
CurrentBoard=[TheNameOfYourMainMapBoard]&&LocationName=~1|2|3|4&&CardSide=$CardSide$,
then check Adv Options too and additional Y offset: [difference between
region 1 and region 21] times 1.

Hope that works.

_______________________________________________
Read this topic online here:
http://www.vassalengine.org/forum/viewtopic.php?p=53513#p53513


More information about the messages mailing list