# VASSAL Reference Manual

Home > Module > Game Piece Palette > Game Piece > Properties

## Properties

Each Game Piece has its own set of properties (each with a name and a value) that can be used for identification by various components.
Properties can be defined for a Zone, a Map or for the entire module. If a property is not defined in a Game Piece, the program looks for the value in the Map containing the piece, then in the module.
Properties can be matched using expressions like name = value for an exact match, name != value for a non-match, or name =~ value for a regular expression match. For properties that return a numeric value (e.g. the level in a Layer) you can use <, <=, >, and >=. You can combine expressions using && for logical AND and || for a logical OR.
Components that use properties

- Any Message Format defined in a Game Piece will substitute values for the properties defined on that Game Piece
- The Global Key Command component uses properties to determine which pieces will respond to the command.
- The Game Piece Layers component uses properties to determine relative ordering when drawing pieces on the map.
- The Trigger Action trait uses properties to determine when to fire a keyboard command.
- The Text Label trait substitutes properties when setting the text of the label.
- A Zone uses properties to specify a Zone Highlighter.

Properties defined by Game Pieces

- The Basic Piece defines properties related to a piece's name, location, side, and whether it's selected
- The Layer trait defines properties related to the state of that Layer
- The Rotate trait defines properties related to the current facing of the piece.
- The Text Label trait returns the value of the label as a property
- The Marker trait allows you to define your own static properties
- The Dynamic Property trait allows you to define your own changeable properties.
- The Mark When Moved trait sets a property when a piece has moved
- The Mask trait sets a property when the piece is masked
- The Invisible trait sets a property when the piece is invisible
- The Property Sheet trait exposes a set of user-editable properties.

Properties defined by other components

- The Global Property component defines properties for a Zone, Map or the module.
- The Global Options component allows you to tie property values to preferences settings.
- The results of a roll by a Dice Button is exposed as a property
- A Deck component exposes the number of cards remaining as a Map-level property.