Dynamic Property Commands' "New Value" won't expand expr

2 traits:
Dynamic Property, with a command that “Set value directly” to $Player$. Expands to “Player”.
Set Global Property, with a command that “Set value directly” to $Player$. Expands properly into a number.

A bug in Dynamic Property?

No - where have you defined $Player$ ?
If you are wanting to use system properties see vassalengine.org/wiki/Faq_mo … ounters.3F

$Player$ is not a system property so you have to define it yourself somewhere for it to mean something

I did the test before posting this thread. As I said, 1 game piece, 2 traits side by side. Set Global Property works, but not Dynamic Property.

EDIT: Sorry, I omitted the Marker trait above, but it’s in my codes. Is that how we define “Game Piece specific” properties?

It’s one way.

Check your trait stack - very important. Sounds like DP does not resolve because it hasn’t found the Marker trait yet with the definition

see https://forum.vassalengine.org/t/trait-order-in-counters/126/1

I was Wrong! As Brent Easton said, traits processing is from bottom (top of traits stack) to top (bottom of traits stack). It’s easy to see why I got the problem in the topic post. My Marker trait is above (below in stack) my SetGlobalProperty and Dynamic Property. Curious thing is why SetGlobalProperty was able to access $Player$ Marker. This might be a bug that allowed me to do some very wrong programming.

I’ll keep this as a TODO to test SetGlobalProperty.