Rotation controlled by Global Property

I am trying to have a game piece with “can rotate” trait be controlled by a global property, but I can’t figure out which trait if any would trigger.

Is this possible?

You can’t directly control rotation based on the value of a GP. However, you could create a layer trait for the piece with each layer being a graphic of the piece in a different rotated position and then use the GP to control which layer is displayed.

That’s what I feared. Unfortunately I already have a layer on the piece. That layer would not follow the “faux” layered rotation. I guess I just need to redesign the piece. It was mostly cosmetic and I put a little time into the rotating design, but it can be done differently.

Thanks

LimitedInfinity,
You could also have whatever modifies the global property also notify your piece to update its rotation. Say you have a piece named ‘RoundMarker’ that rotates and updates a text label to show the current round - like the resource dials in Battlestar Galactica. Say it has ‘RoundMarkerDirection’ as the Can Rotate description, and ‘CurrentRound’ as the global property to follow; it would just need to enter one of two Trigger Actions when the global property was updated:

CTRL-ALT-L Trigger when properties match: RoundMarkerDirection_Facing < $CurrentRound$ Perform these keystrokes: <Rotate_CW keystroke> CTRL-ALT-L

CTRL-ALT-L Trigger when properties match: RoundMarkerDirection_Facing > $CurrentRound$ Perform these keystrokes: <Rotate_CCW keystroke> CTRL-ALT-L

Anything that updates the CurrentRound should also send CTRL-ALT-L to the RoundMarker piece.

-Seth

P.S. Don’t let it go into an infinite loop, though, that seems to upset players

You might have fallen for the false expectation that changing a global property somehow/somewhere will automatically change the layer level displayed on any other piece in the game, if it has been set to follow that property value. That won’t happen.

To do anything on a piece, even to tell him to be nice and follow the value of a property as he was designed to, you need to send a command key specifically to that piece. Or just issue a global key command, with matching properties left blank, to send the triggering command to all pieces in the game.

Then use a dynamic property called Active (or Status etc) on the piece, modified by the above triggering command, and set the layer to follow it.

Really? It works for me, at least in 3.1.17.

-Seth

I’ve always had layers change automatically when a GP or DP is changed. I depend on it. That’s the whole point of a layer following the value of a property.

Well, sure, they will follow a dynamic property, as I mentioned in my post. After all, to change a dynamic property you need to issue a command on the piece, thus it will know it has to update and follow the new value of the property…

… however, it never worked for me when changing a global property.The piece won’t follow it, in any tests I have done.

Ohhh … I just tested again and it works: layers can follow a gp without any need to issue a command on them.

Weird, it never seemed to work for me in the past and I gave up trying. Maybe it didn’t work in 3.0 ?

Anyway, it works, sorry for the wrong information!

Thanks for the additional replies.

irishwulf: that might work for me. It seems like I remember being able to set the global property, not just raise it, but that’s probably easier to fix then redesigning the piece.

Layers can be set to Follow Property Value. I was hoping facing could be set the same way. Might be worth a features request, but now that I know that it’s more trouble than it’s worth, I’ll probably design around it.

Thanks again for all the help.

LimitedInfinity,
I believe my proposal will work to match your rotation to the GP, however it’s set. It should work for setting the global property directly as well as incrementing it - so hopefully any redesign is minimal.

Cheers,
Seth

That would be a good feature. Perhaps you should post it in the Requested Features forum.