Ok, I think I have finally got to the bottom of this.
The Activation command is working correctly in 3.2.4. The culprit is the Reset command that is being issued to the counters as part of a Trigger that activates the counters in CC:E. This is why Combat Commander appears to be the only module affected.
It turns out that the Reset command has always been ‘broken’, up until 3.2.4 when it was ‘fixed’ as part of my changes to fix bug 3700. Try this in 3.1:- Add a Reset to Level 1 to a counter with Layer. Do the Reset command and the counter Activates on to layer 1. Now do an Activate command to deactivate the layer and the Activate command has no effect. Do it again and the layer de-activates. Sound familiar? This is basically bug 3700 being caused by the Reset command.
Both the manual and designers guide say this of the Reset command:
Specifies a keyboard command that resets the Layer to a specified level. This does not automatically activate the Layer.
I’m not sure where this came from, but the Reset command does, and always has, automatically activated the layer if you sepecify a positive level number. If you specify a negative level number, then the layer is deactivated and set to the level number (i.e. Reset to -2 says move to level 2 and force deactivate the layer). It is quite clear from the code that this is how it supposed to work. So when CC:E trys to activate a counter, it is telling it to Reset to level 1 and Activate, immediately before issuing the Activate command which toggles the activation back off again. In 3.1, the bug in reset caused the first activation after a reset to be ignored, which meant that it appeared to work and masked the bug in the module.
The solution for CC:E is to change the Reset command in the Aon Layer in the Activate Routine prototype from Reset to layer 1 to Reset to layer -1.
With the introduction of Named Key Strokes in 3.2, the Layer trait was extensively re-written and if I had done it properly, CC:E would have broken with the first 3.2 release and we would have seen this much sooner.
I have also just about finished reworking the Refresh Counters option to work correctly on modules containing older saved games as setups. The problem occurs where these games where originally built before Game Piece id’s existed and have never been allocated one, so no link exists back to the palette slot they came from. I am adding an option to search for a palette slot based on the counter name. This should make it possible to then refresh these older save games (and all games started using them) with the Refresh Counters command.
I hope that all makes sense.
Brent.