Map movement reporting in 3.6.0

Also, Benkyo – I’d have been able to tell you whether the expression now works except that I can’t figure out how to actually make those little force bars attack to a commander as a Mat.

They will be MS smart quotes, the bane of my existence.

2 Likes

So how do I actually make a dude and put him on a mat to actually test that? I remember some earlier version where the commander had a little visible zone around him, but I can’t find that any more.

OK, because of how mats work (preventing snap to location of units), you now have to drag the units on the player hand to where you’d expect, then slick the setup button on the toolbar to activate the layer, attach the units, and send it all to the map.

I’m afraid I’m completely lost there. Could you make me a saved game?

Can probably stop the forum from converting them by default, no?

I am sad that it is not intuitive. The instructions are behind the units, which I suppose is a problem.

Here you go:

Okay so two things:

(1) Got it fixed - try the next build of that name that goes up.

(2) I’m a little flummoxed that you think something about the way mats work is making you have to do this odd thing w/r/t the cargo bars? Can you walk me through it a bit? Say I had a commander on the map, and I wanted to drag a cargo “bar” onto him … what is it about the commander having his little aura and me dragging the piece onto him that makes that not work for you?

There is no problem on the map itself. Units rarely get added to corps, it’s mostly the other way round. Dragging a unit into a commander’s corps works fine, it’s just pixel-perfect lining up that is difficult.

In setup, it is nice to have everything neatly lined up. To that effect, the private hands have a rectangular grid, and the units snap into position. That doesn’t work if the commander mat layer is active.

I worked around this by having the commander mat layer inactive, and a setup button that activates it, attaches the units, and sends them all to the map.

I did this because actually having a setup button does save dragging labor for the players, and allows me to have the hands at 100% zoom instead of matching zoom to the map for accurate positioning. (I found that at 50% zoom, I sometimes missed selecting the units after a group select when I wanted to drag them onto commanders)

I guess there might be other ways to have the units snap to position on the private hands based on CurrentX and CurrentY, but I didn’t see any pressing need to go down that road.

Oh I see. Yeah you could have them check their location “if on player mat” and send-to-location themselves for a snap. My own experience is that if I try to require the use of a button then half my players are sure to turn out to be dragging everything manually :wink:

Note an easy-ish way to do that snap would be … if you divide that player hand up into zones/regions so that each little tile bar/square is a region? So then on receiving the apply-on-move command for the map, the little bars would just Send to Location … to their current “LocationName”! Which would snap them to the center point of whatever one they were over. Anyway – in case you want to do the snapping w/o having to get all into CurrentX/CurrentY shenanigans which does sound horrendous.

Is there a way I could do that cleanly using CurrentMatOffset? I just noticed that, and it would probably be quite fiddly to get right, but it would be cool to have a snapto that worked on the main map too.

Oh interesting you could also maybe notice things being added to a mat, and then have a little “sort all these dudes on my mat” algorithm that ran via GKC since you can fast-match for on-same-mat? The one thing that unfortunately I don’t think is presently supported is transforming things along the current angle of the mat – since one would want to have e.g. "spot 1, spot 2, spot 3, … " for the mat and tell the pieces go jump to the designated spots - but those offsets would need to account for rotation, not just just e.g. x + 50

Argh, rotation, yeah. Nightmare.

Maybe just do that for the hands for those drag everything and ignore instructions players =P

1 Like

As far as the snap-to on your player sheet, I remember at one point I had devised some way to prevent an infinite loop when the apply-on-move sends a piece “to its own location” as a way of snapping things.

OK, that scares me. I’ve been using send to CurrentZone forever, and never even considered the possibility of infinite loops. CurrentZone!=OldZone would be the default trigger condition, but in this case I kind of do want a trigger even if someone tries to move the piece in the CurrentZone.

Well you probably weren’t doing send-to-location to LocationName from the apply-on-move key.

I think what I did is the trigger that received the “moved” command first set a semaphore property to true, then did all of the movement adjustment, and then set the semaphore back to false. And that trigger wouldn’t run at all if it was encountered and the semaphore was already true. Screenshot below gives the general idea.

Oh, I have, in a few modules.

Now I wonder why it never seemed to cause any problems.

I also have used on/off flags in several situations. It never occurred to me to do it all in one trait though, that’s much neater, thanks.

1 Like

(If you have a moment, since you already have the module, could you take a look at Mat shrinking in 3.6.0 too?)

Bad news – Brent pointed out that it is possible to have multiple pieces in one listing. It’s if the pieces are in the same stack. Then you get multiple pieces, one move summary, and that’s why the pieces can’t properly be used as property sources there. I’d probably have to put in some switch to turn off the stack-grouping behavior.

Meanwhile below is the inside of a fairly simple Prototype I use to do move reporting. The only reason there are even those two different Trigger traits is because I wanted to distinguish between “created” and “moved” – one could also do without the distinction. The ToLoc and FromLoc I generate from calculated properties just so I can actually report the name of the Mat as the source or destination if one is involved. Anyway just an idea.

1 Like