Mat rotation and CurrentMatOffset conundrum

I’m using CurrentMatOffsetX to determine where player pieces are along various tracks, positions 0 to 6.

When they are placed on positions 4-6, and have a value of 0 in a DP, the map key command makes the piece trigger a thing and update the DP to 1. Going back the other way triggers the thing in negative, and reduces the DP - this in case players take back moves without using Undo.

The reason I am using MatOffset and not CurrentZone is that these mats have to move around.

At some point, a mat will move to a zone where the mat is rotated 90 degrees. For this reason, I have a matching set of CurrentMatOffsetY triggers that only apply when the mat is thus rotated.

The problem is this:

When a piece is on the X coordinates corresponding to position 4 on the mat, and the mat is moved to the zone where it rotates 90 degrees, the X coordinates go back to corresponding to position 3, triggering the “undo” and the Y coordinates go to position 4, triggering the thing. No problem, right? It’s all invisible, under the hood, and won’t bother players.

The problem is that the thing requires a report to be triggered to keep players informed, and mat movement with rotation inevitably triggers a bunch of “thing done” “thing undone” reports.

Any creative ways to get around this?

(the 5 coloured tiles are the mats, the 4 pieces on them trigger the thing, the red piece on the yellow mat is on “position 4” that triggers the thing, and when any mat is moved to where the green mat is, or the green mat to anywhere else, the reporting problem arises)