Lurker & game user here.
While using card-driven strategy game modules (like Paths of Glory), I frequently have a problem where, either because a click was mistaken for a drag, or because I wanted to clean up the orientation of a piece in a space, I end up cluttering the log file with a whole bunch of non-moves “to the same space” (e.g. “German 10th Army Budapest to Budapest”), sometimes several at once. Similarly, intentional and routine actions like “cleaning up the placement of my huge pile of armies in the eliminated box so I can see them” ends up generating a barrage of log file entries if I do it during my turn.
Since presenting a “clean logfile” to an opponent is very useful in improving understanding of what’s going on in a PBEM game, etc, I have looked without success for a way to turn this off “at the module level”.
It would be very nice if there were either a preference to not log “moves to the same space” (or indeed this might be the desirable default behavior, though there are zillions of kinds of games and some might clearly need a different approach).
Anyway I can’t tell if:
(a) there’s something at the module level that I’ve just missed
(b) this would need to be done in code – request for an upcoming version?
p.s. I love VASSAL!
I know what you’re referring to, and indeed the reporting can get a little verbose with the default settings. Unfortunately, the way to get really useful reporting of legitimate piece moves is a bit complex to configure.
Every map has settings for generic auto-reporting for pieces moved within or to the map:
I remove the default messages from the top 3 boxes. This will result in no piece move reporting at all. But to get useful movement reports, I put a named keystroke in the very bottom box, which is the command sent to every piece ending a movement on the map.
Then in prototypes for all pieces that I do want to have report legitimate moves, I put a Trigger Action and the Report traits on them. The Trigger listens for the map-based keystroke applied to all pieces ending movement on the map, with a property match expression like
CurrentZone != OldZone
–this is what filters out all the spurious not-really-movements like rearranging pieces–and then in turn fires the keystroke associated with the Report trait, where the actual movement message lies.
Obviously this requires a good location identification scheme configured, and the property match expression referred to above may need to be altered slightly for a hex-based or region-based location naming scheme (e.g.,
CurrentLocation != OldLocation