Mark When Moved Enhancement

It would be very helpful for my module (and I suspect a lot of others), if the “Mark When Moved” capability could be enhanced to not trigger on minor adjustment moves (i.e., to see terrain features, other counters, etc.).

Add an additional option to the current Map Level Property “Mark pieces that move (if they possess the proper trait)”:
Always
Never
User Preference
NEW - Only when Map/Board/Zone ID (i.e., location) changes

If the new “Only when Map/Board/Zone ID (i.e., location) changes” is selected, a minor adjustment move (i.e., doesn’t trigger the Moved flag) should also not report to chat log.

Because this is not changing existing settings/behavior it would not not impact any existing modules.

There are a number of modules that have had to work around this problem, as Vassal did not have a standard default way of doing it.

1 Like

Would a hide/show pieces toggle switch work as well? I’ve seen that on other game platforms.

No, that is totally unrelated to my request. This is yet another potential workaround, that doesn’t fix the underlying problem.

The point is, pieces WILL get moved for various reasons (sometimes accidentally). The “Mark when moved function” triggers on any movement (even a single pixel).

From a player perspective, you want to track “significant movement” of both your opponent and own pieces (this is how you know one of your own pieces has moved).

1 Like

I would like to renew this request. It is currently my #1 irritation w/ Vassal.

I play (and maintain) mostly area movement games and moving a counter within an area both spams the chat log and (more problematicly) marks the unit as having “moved” when (from a game perspective) it’s in the same map/board/zone and thus hasn’t moved.

It would be real benefit to many games if this capability was implemented.

I have had similar issues w/ the move reporting in the chat log – the part with the chat log I have solved in several area movement modules (see the “Move Report” prototype in the Inferno module, and the two prototypes it references, if you’d like to borrow – for reference “MovedOnMap” is the key command that my maps send when something is moved. You probably don’t have to care about all the Mat-changing stuff the way I do, if you’re not using mats.)

Meanwhile MarkWhenMoved, yeah that’s a clunky old goat isn’t it? I guess the proper rubric for your checkbox might be if “LocationName” changes, although there are deeper complexities like if Mat changes. I’ll see if I end up having time to look (deep in another frustrating problem right now)

Would definitely greatly appreciate it if you get a chance to look at and add that option!

Willing to do a bit of testing to Help Make It Happen?

If so, then please:
(1) Go to Builds of vassalengine/vassal and pull down the build marked “TheOneTrueMove” that’s appropriate to your OS (it’s the top set of builds at the time I write this, but new builds for other branches will appear there, so depending on when you come you may have to scroll down the list)
(2) Exit out of Vassal if you’re already in it (mainly the Module Manager)
(3) Install it (I suggest “Custom Install” option so you keep your other normal version(s) of Vassal)
(4) I suggest making a copy of one of your modules with a different name (the peril is mild, but I just generally avoid overwriting my “actual” modules with a test version)
(5) Open the editor (in the test version) and do some tests:

THINGS TO TEST–
(a) In the “Mark When Moved” trait there’s now a checkbox to NOT mark the piece as moved if its Location Name doesn’t change.
(b) In the configuration for your Main Map (or whatever main map window), there is now a checkbox to NOT display the “moves within this map” autoreport if the piece’s Location Name hasn’t changed.

Please test if checking those boxes works as described (prevents the marking-when-moved and auto-reporting of pieces who just, you know, move a few pixels without “really changing location”), but also make sure that it DOES mark them as moved (and report their moves) if they DO change location.

Likewise please make sure that leaving those things unchecked still “works the old way”.

Please let me know what you find, either here or at 12032 - Mark-When-Moved trait can be configured to only flag when piece changes LocationName or Mat. Similarly Map auto-report can be configured to ignore same-location movements. by Cattlesquat · Pull Request #12032 · vassalengine/vassal · GitHub

Cheers,

Brian

Happy to help. Should have time either this evening or tomorrow.

1 Like

WIN64

Did some quick testing, everything seems to work correctly - tried all combinations. Depending on the settings, you can have:

  1. Move flag set - NO chat report
  2. Move flag set - chat report
  3. Move flag NOT set - NO chat report
  4. Move flag NOT set - chat report

Although everything works, I don’t think its a good idea to segregate the chat reporting from setting the move flag. It is potentially very confusing to see one and not the other.

Appreciate you taking this on…

1 Like

FWIW - I think that IF reporting is enabled at the map level (either ALWAYS or USER PREF = true), then IF a move causes the move flag to set, THEN reporting should occur.

I can’t imagine a case were I want some counters to have the move flag set and report, while other counters have the move flag set and NOT report.

Would make for great confusion…

Likewise, reporting a move to chat and the move flag DOESN’T set, is even worse - it would look like a bug in Vassal…

1 Like

Hi yes - unfortunately the two different things (moved-marking & chat reporting) are in two completely different parts of vassal, structurally speaking – and in theory you could have multiple maps (desiring different auto-reporting behavior) and different pieces w/ different move-marking behavior (possibly because e.g. they go on different types of map).

So yes I would imagine you’d tend to either want “both of them on” or “both of them off”, but it’s theoretically possible that a game would have both types of situation on different maps – and it would also require a much more dire amount of “cranial surgery” to somehow frankenstein the two things together.

Therefore as with so many things in Vassal, we have to trust the module designers to make sane choices :sweat_smile:

Cheers & thanks for testing!

Brian

Oh a funny-and-related anecdote is… the move-report part of this is actually the first thing I EVER wanted to change about Vassal – if VASSAL had already had this I might never have started down That Fateful Road. And yet I never got around to actually changing it until now…

Cf. barefoot shoemakers’ children.

1 Like