Custom text when a specific piece is moved to specific locat

Hi and good morning. As always I am here looking for you experts to help school a newbie on vassal.
I am trying to make it to where when only certain pieces (specialty cards) are moved into a zone, a text appears in the window saying something like “card #4 placed in Poland 01. All movement in Poland 01, 02, 03, 04 are increased by +1”

This text will be different depending on what zone the card is placed in so it needs to be conditions based (the card affects the zone it is in and all touching zones). I don’t mind writing out a thousand different text options but I am not sure how to make it to where depending on where it is placed affects what text string is triggered. Any ideas?

There are only three of the cards that this affects, and each one would have a different effect on the surrounding zones. But there are 70 different zones.

I was looking to make it to where movingcto a zone triggered highlighters to turn on n off but couldn’t figure that one out.

Appreciate all help as always!

Actually it should be very easy–if somewhat brute-force-ish–to do with Triggers and Report Action traits. Check out working example: … .vmod?dl=0

This approach would require to define many triggers and report actions–as many as there are distinct texts for each of cards. This will be, both, tedious and prone to errors so while it will work you may want to think of something more elegant and generic.

In the working example there are two counters:

  • one named “GOLZ” simply triggers a report action whenever piece moves from one zone to another zone. Movements within same zone are not reported.

  • the other one, named "S.K’ reports a text which is retrieved from a Global Property name of which corresponds to a zone in which this piece ends movement. In my example there are two zones: Blue Zone and Green Zone and so there are two Global Properties: Blue Zone and Green Zone. These GP are just strings which are then reported. “S.K” piece works as follows: whenever it moves from a zone to different one (again, movements within zone are ignored) it updates its own Dynamic Property with a value retrieved from a GP bearing same name as the zone in which it ended movement. It then reports value of this Dynamic Property.

In your example you have three cards–I assume moving each of these to zone, say, A reports a different text so your cards would also need to have a marker (named Type for example) and you would have Global Properties with names like “Type1Zone1” or “Type2Zone2”.

Hope that helps.

In the S.K example, you have a “repmove” that’s being watched for … what the heck is that (I don’t see it mentioned anywhere else in the example)?

In the S.K example, you have a “repmove” that’s being watched for … what the heck is that (I don’t see it mentioned anywhere else in the example)?
Never mind, found it on the Main Map!