Simulating a 'Loop' on a counter

Hi all,

OK…I have an issue and really thought I’d figured out a way to solve it, but when I implemented it, it just doesn’t seem to work. Basically, I need to decrement a value on a counter if layers are present…if it isn’t (or there aren’t enough) I need to jump to another counter and ‘make change’. All of that is really unimportant to you, the reader.

Anyway, on the counter I implemented it as such:

Trigger (no matching properties, triggers on Shift-Esc, Sends Alt-1, Alt-2, Alt-3)
Change Global Property (decrement property with Alt-1)
Mess with other stuff on Alt-2
Trigger (maching property is GlobalProperty > 0, trigger on Alt-3, Send Shift-Esc)

My thought here is that if the global property I decremented isn’t yet 0, then the first trigger will basically fire again, starting the process over – decrementing the global property, changing values on the card, then checking to see if the global property is 0 yet. Rinse and repeat.

This doesn’t happen, however. I assume it is because of the trait ordering. No matter how I set this up, however, it doesn’t seem to work. I have managed by messing with it big-time (more work than it’s probably worth) to have it cycle twice, but it will never fire through the cycle 3-times.

Am I missing something?

I know this is probably hard to understand, so if anyone out there wants to lend a helping hand I can send you a link to the module itself.

Thanks in advance for your help,


Not to beat a dead horse, but anyone have any help on this one?




Hi David,

I’m not sure I really understand the requirement. It is likely something like trait order. When I find a problem like this, I give all the intermediate ‘hidden’ commands a menu command so you can see them and fire them off individually to see if they work. Try and break down the process into smaller steps and check each part works, then connect them up.

BTW, v3.2 of Vassal will include a complete scripting engine (See that will make building complex interactions like these MUCH easier.



I know this is way late, but did you ever figure this out? I think I may need to do this or something like it…