Dice Component Reporting Bug

I found a bug in the Dice Component reporting system for Vassal 3.2.16. Basically, it reports the roll before the roll is actually made.

I’ve attached a sample mod to demonstrate the bug. It’s simply a button that will generate a D20 roll.

First the dice component will report the roll and then there’s a report trait on the button itself that will report the roll.

On the first click, the dice component will always report a 1 and the button will report the actual roll. For this example, we’ll say it says 15.

On the second click, the dice component will report the roll as 15 (the last roll) and the button will report the new roll.

It took a long time for me to finally figure this out. I was going bonkers trying to find out why the results of my calculated expressions weren’t coming out right based on the reported die roll results.

Just change the .ZIP extension to .VMOD

Use $result$ in the dice component report string, instead of $D20_result$. I believe $D20_result$ is the global result variable that may not actually be set at the time the dice report occurs.