Possible "Global Property" or "Get Property" issue in 3.2.2

G’day,

Within the Samurai Battles module (located on the Vassal modules list), there are 2 values that are tracked by global properties (Honour tokens held by the Red player & honour tokens held by the Yellow player). I have 2 At start stacks (one for red and one for yellow), on the main map that have action buttons to increase or lower these values by 1 each time they are pressed.

As there are only a total of 30 honour tokens available, the action button that increases the amount of honour tokens fires a trigger that checks whether the amount of honour tokens held by the red player plus the yellow player are less than 30. If this is true, an honour token is added to the appropriate players token pile.

Since updating to Vassal 3.2.2, the buttons for the yellow tokens works as advertised, however, the red players buttons only allow the tokens to go up to 3. These buttons worked perfectly whilst I was using 3.2 beta 4 so, as I haven’t changed anything on these buttons since beta 4, I believe something has occurred since then to make these buttons not work as they did previously.

Thanks for taking the time to look into this.

I’ve had a further look into this issue.

The problem seems to be with the Red honour token trigger switch. Here is the trigger when properties match:

{GetProperty(“Red honour tokens”)+GetProperty(“Yellow honour tokens”)<30}

So firing this trigger only allows the Red honour token value to go to 3. If I change the value “30” to “50”, the Red honour token value goes to 5.

The Yellow honour token trigger switch has the exact same properties match expression but the Yellow honour token value goes to 30.

Some further troubleshooting.

I had recently upgraded to Java 7.11 so I thought this may be a problem. However, reinstalling Java 6.35 (which I originally was using) did not cause this issue to disappear.

Two other players have also reported this issue.

More testing of this bug.

I created a new module with one global property (Globaltest). I then added one piece. This piece had a “Set Global Property” trait which would increment the “Globaltest” property by 1 (Ctrl A). I then started the module and executed “Ctrl A” on the piece. The following message appeared in the chat window:

Set Global Property (Globaltest): Unable to locate Global Property named 0

Hopefully this narrows down what the issue could be.

Thus spake LB:

More testing of this bug.

I created a new module with one global property (Globaltest). I then
added one piece. This piece had a “Set Global Property” trait which
would increment the “Globaltest” property by 1 (Ctrl A). I then started
the module and executed “Ctrl A” on the piece. The following message
appeared in the chat window:

Set Global Property (Globaltest): Unable to locate Global Property named
0

Hopefully this narrows down what the issue could be.

I tried the Samurai Battles module in 3.2.5-svn8678, and was unable to
replicate the problem you described. I can increment the Red player’s
tokens all the way to 30. This might have been fixed by a recent change
to property evaluation.

You can find 3.2.5-svn8678 here:

vassalengine.sourceforge.net/builds/


J.

Yes, This sounds like the result of bug 10125. The Global Variable name in the Set Global property trait will have been set to ‘{GlobalVar}’, you need to change this to either ‘GlobalVar’ or {“GlobalVar”}.

Thanks guys. This now works in 3.2.5-svn8678.