WARNING! Don’t try this at home:
I was trying to make a complicated trigger to send a piece back to a previous location after moving from one board to another board and used something like the following:
Calculated Property Start X:
If(CurrentBoard == “Small Hex Map” && OldX == “”, CurrentX, If(CurrentBoard == “Small Hex Map”, OldX, GetProperty(“Start X”)))
Calculated Property Start Y:
If(CurrentBoard == “Small Hex Map” && OldY == “”, CurrentY, If(CurrentBoard == “Small Hex Map”, OldY, GetProperty(“Start Y”)))
Not only did this lock up Vassal as soon as I started a new game, but it locked it up so hard that I can’t even open the Prototype function containing the calculated properties to edit them even after a reboot of my PC. It seems like Vassal is still trying to run the calculated properties in the background even in the editor. Perhaps the piece preview pane is trying to calculate the properties?
I’m new at Vassal and I’m not sure what is happening. I suspect that the above expressions are trying to be evaluated earlier than I thought and the pieces exist in an offboard state at some point during start up and the expressions result in an infinite loop.
This is a nasty condition to wind up in.