<commit_before><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <title>Properties</title>
  <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
</head>
<body>
<table border="0" cellpadding="2" cellspacing="2" width="100%">
  <tbody>
  <tr align="center">
  <td valign="top">
  <h1>VASSAL Reference Manual</h1>
  <small><a href="index.htm">Home</a> &gt; <a href="GameModule.htm">Module</a>
  &gt; <a href="PieceWindow.htm">Game Piece Palette</a></small> <small>&gt;<b>
  </b><a href="GamePiece.htm">Game Piece</a></small> <small>&gt; <span style="font-weight: bold;">Properties</i><b>
  </b></small><br>
  </td>
  </tr>
  <tr>
  <td valign="top">
  <hr size="2" width="100%">
  <h2>Properties<br>
  </h2>

  <table border="0" cellpadding="2" cellspacing="2" width="100%">
    <tbody>
    <tr>
    <td valign="top">
    A Property is like a variable in programming: it has a <i>value</i> which can be referenced by including its <i>name
    </i> in <a href="Expression.htm">Expressions</a>, <a href="MessageFormat.htm">Message Formats</a> and other similar fields.
    Most types of Property have their values change through the course of the game. Some Properties can have their
    values set by commands provided in Game Pieces themselves; others have their values set by the system and cannot be
    changed from within the module.<br>
    <br>
    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. You can add your own new properties to a Game Piece <i>explicitly</i> by adding <a
      href="DynamicProperty.htm">Dynamic Property</a> traits to create values which can be changed during the course of
    the game and <a href="PropertyMarker.htm">Marker</a> traits for properties whose values will remain constant.
    System-defined properties are also added <i>implicitly</i> when other traits are added (see below). <br>
    <br>
    <a href="GlobalProperties.htm">Global Properties</a>&nbsp;can also be defined for a Zone, a Map or for the entire
    module. If a referenced Property name is not defined in a Game Piece, the VASSAL looks for the value in the
    Zone containing the piece, then in the Map containing the piece, then in the module.<br>
    <br>
    Properties can be matched using <a href="Expression.htm">Expressions</a> like <i>name == value</i> for an exact match, <i>name != value</i> for a non-match, or 
    <i>>name =~ value</i> for a <a href="http://java.sun.com/j2se/1.4.2/docs/api/java/util/regex/Pattern.html">regular expression</a>
    match. For properties that return a numeric value (e.g. the level in a <a href="Layer.htm#Properties">Layer)</a> 
    you can use <i>&lt;</i>, <i>&lt;=</i>, <i>&gt;</i>, and <i>&gt;=.</i>&nbsp; You can combine expressions using &amp;&amp; for logical AND and
    || for a logical OR.<br>
    <br>
    <b>Components that use properties<br></b>
    <ul>
      <li>Any <a href="MessageFormat.htm">Message Format</a>
        defined in a Game Piece will substitute values for the properties defined on that Game Piece.<br>
      </li>
      <li>The <a href="Map.htm#GlobalKeyCommand">Global Key Command</a> component uses properties to determine which
        pieces will respond to the command.</li>
      <li>The <a href="Map.htm#GamePieceLayers">Game Piece Layers</a> component uses properties to determine relative
        ordering when drawing pieces on the map.</li>
      <li>The <a href="TriggerAction.htm">Trigger Action</a>
        trait uses properties to determine when to fire a Key Command or <a href="NamedKeyCommand.htm">Named Key Command</a>.</li>
      <li>The <a href="Label.htm">Text Label</a> trait substitutes properties when setting the text of the label.</li>
      <li>A <a href="ZonedGrid.htm#Zone">Zone</a> uses properties to specify a <a href="ZonedGrid.htm#ZoneHighlighter">
        Zone Highlighter</a>.</li>

    </ul>
    <b>Properties defined by Game Pieces<br></b>
    <ul>
      <li>The <a href="BasicPiece.htm">Basic Piece</a> defines properties
        related to a piece's name, location, side, and whether it's selected.<br>
      </li>
      <li>The <a href="Layer.htm#Properties">Layer</a> trait defines properties related to the state of that Layer.</li>
      <li>The <a href="Rotate.htm">Rotate</a> trait defines properties related to the current facing of the piece.<br>
      </li>
      <li>The <a href="Label.htm">Text Label</a> trait returns the value of the label as a property.</li>
      <li>The <a href="PropertyMarker.htm">Marker</a> trait allows you to define your own static properties.</li>
      <li>The <a href="DynamicProperty.htm">Dynamic Property</a>
        trait allows you to define your own changeable properties.<br>
      </li>
      <li>The <a href="MarkMoved.htm">Mark When Moved</a>
        trait sets a property when a piece has moved.</li>
      <li>The <a href="Mask.htm#Properties">Mask</a> trait sets a property when the piece is masked.</li>
      <li>The <a href="Hideable.htm">Invisible</a> trait sets a property when the piece is invisible.<br>
      </li>
      <li>The <a href="PropertySheet.htm">Property Sheet</a>
        trait exposes a set of user-editable properties.</li>

    </ul>
    <b>Properties defined by other components</b><br>
    <ul>
      <li>The <a href="GlobalProperties.htm">Global Property</a> component defines properties for a <a
        href="ZonedGrid.htm#Zone">Zone</a>, <a href="Map.htm">Map</a> or the <a href="GameModule.htm">module</a>.</li>
      <li>The <a href="GlobalOptions.htm">Global Options</a> component allows you to tie property values to preferences
        settings.</li>
      <li>The results of a roll by a <a href="GameModule.htm#DiceButton">Dice Button</a> is exposed as a property</li>
      <li>A <a href="Deck.htm">Deck</a> component exposes the number of cards remaining as a Map-level property.</li>
    </ul>
    <br>

    <b>Handy Combined List of VASSAL-defined Properties for Game Pieces</b>
    <ul>
      <li><b>BasicName</b>&nbsp;<i>(<a href="BasicPiece.htm">Basic Piece</a> trait)</i>:&nbsp; The basic name of the
        piece.</li>
      <li><b>CurrentBoard</b>&nbsp;<i>(Basic Piece trait)</i>:&nbsp; Current Board name or "" if not on a map.</li>
      <li><b>CurrentMap</b>&nbsp;<i>(Basic Piece trait)</i>:&nbsp; Current Map name or "" if not on a map.</li>
      <li><b>CurrentX</b>&nbsp;<i>(Basic Piece trait)</i>:&nbsp; Current X-coordinate of the piece.</li>
      <li><b>CurrentY</b>&nbsp;<i>(Basic Piece trait)</i>:&nbsp; Current Y-coordinate of the piece.</li>
      <li><b>CurrentZone</b>&nbsp;<i>(Basic Piece trait)</i>:&nbsp; Current Zone name if the current map has a <a
        href="ZonedGrid.htm">multi-zoned grid</a>, or "" if the piece is not in any zone, or not on a map.</li>
      <li><b>DeckName</b>&nbsp;<i>(Basic Piece trait)</i>:&nbsp; Current Deck name if stacked in a <a href="Deck.htm">
        Deck</a>, or "" if not in a Deck.</li>
      <li><b>IgnoreGrid</b>&nbsp;<i>(<a href="NonStacking.htm">Does not stack</a> trait)</i>:&nbsp; "true" if this piece
        ignores the map grid when moving.</li>
      <li><b>Immobile</b>&nbsp;<i>(<a href="NonStacking.htm">Does not stack</a> trait)</i>:&nbsp; "true" if this piece
        cannot be moved by drag and drop.</li>
      <li><b>Invisible</b>&nbsp;<i>(<a href="Hideable.htm">Invisible</a> trait)</i>:&nbsp; "true" if this piece is
        invisible to the current player.</li>
      <li><b>InvisibleToOthers</b>&nbsp;<i>(<a href="Hideable.htm">Invisible</a> trait)</i>:&nbsp; "true" if this piece
        is invisible to other players.</li>
      <li><b>LocationName</b>&nbsp;<i>(Basic Piece trait)</i>:&nbsp; Name of the piece's current location, as determined
        by the map's <a href="ZonedGrid">Zone</a> (if any) and grid settings.</li>
      <li><b>Moved</b>&nbsp;<i>(<a href="MarkMoved.htm">Mark When Moved</a> trait)</i>:&nbsp; "true" if this piece has
        moved since the last time its movement history was cleared.</li>
      <li><b>NoStack</b>&nbsp;<i>(<a href="NonStacking.htm">Does not stack</a> trait)</i>:&nbsp; "true" if this piece
        cannot stack with other pieces.</li>
      <li><b>Obscured</b>&nbsp;<i>(<a href="Mask.htm">Mask</a> trait)</i>:&nbsp; "true" if this piece is masked from the
        current player.</li>
      <li><b>ObscuredToOthers</b>&nbsp;<i>(<a href="Mask.htm">Mask</a> trait)</i>:&nbsp; "true" if this piece is masked
        from other players.</li>
      <li><b>OldBoard</b>&nbsp;<i>(Basic Piece trait)</i>:&nbsp; Board name prior to most recent movement.</li>
      <li><b>OldLocationName</b>&nbsp;<i>(Basic Piece trait)</i>:&nbsp; Location name prior to most recent movement.</li>
      <li><b>OldMap</b>&nbsp;<i>(Basic Piece trait)</i>:&nbsp; Map name prior to most recent movement.</li>
      <li><b>OldX</b>&nbsp;<i>(Basic Piece trait)</i>:&nbsp; X coordinate prior to most recent movement.</li>
      <li><b>OldY</b>&nbsp;<i>(Basic Piece trait)</i>:&nbsp; Y coordinate prior to most recent movement.</li>
      <li><b>OldZone</b>&nbsp;<i>(Basic Piece trait)</i>:&nbsp; Zone name prior to most recent movement.</li>
      <li><b>PieceName</b>&nbsp;<i>(Basic Piece trait)</i>:&nbsp; Full piece name including both Basic Name and all
        additional strings provided by traits.</li>
      <li><b>playerSide</b>&nbsp;<i>(Basic Piece trait)</i>:&nbsp; Side of the current player (not the side of the
        piece).</li>
      <li><b>Restricted</b>&nbsp;<i>(<a href="RestrictedAccess.htm">Restricted Access</a> trait)</i>:&nbsp; "true" if
        there are restrictions as to who can access this piece.</li>
      <li><b>Selected</b>&nbsp;<i>(Basic Piece trait)</i>:&nbsp; "true" if the piece is currently selected.</li>
      <br>
      <ul>
        <b><a href="PropertySheet.htm">PropertySheet</a> trait</b>
        <li><b>&lt;property_name&gt;</b>:&nbsp; The value of each property on the Property Sheet can be accessed via the
          property name.</li>
      </ul>
      <br>
      <ul>
        <b><a href="Layer.htm">Layer</a> trait</b>
        <li><b>&lt;name&gt;_Active</b>:&nbsp; "true" if the Layer &lt;name&gt; is currently active.</li>
        <li><b>&lt;name&gt;_Image</b>:&nbsp; The image name of the currently active layer for <i>Layer</i> &lt;name&gt;.</li>
        <li><b>&lt;name&gt;_Level</b>:&nbsp; The level number of the currently active layer for <i>Layer</i>
          &lt;name&gt;.</li>
        <li><b>&lt;name&gt;_Name</b>:&nbsp; The level name of the currently active layer for <i>Layer</i> &lt;name&gt;.</li>
      </ul>
      <br>
      <ul>
        <b><a href="Rotate.htm">Can Rotate</a> trait</b>
        <li><b>&lt;name&gt;_Facing</b>:&nbsp; The current facing number (1, 2, etc) for the <i>Can Rotate</i> trait
          &lt;name&gt;.</li>
        <li><b>&lt;name&gt;_Degrees</b>:&nbsp; The current degrees of rotation for the <i>Can Rotate</i> trait
          &lt;name&gt;.</li>
      </ul>
      <br>
      <ul>
        <b><a href="Label.htm">Text Label</a> trait</b>
        <li><b>&lt;Property Name&gt;</b>:&nbsp; If the "Property Name" field in the trait is filled out, then a property
          with that name will be filled with the current value of the <i>Text Label</i> trait's Text field.</li>
      </ul>
      <br>
      <ul>
        <b><a href="Deck.htm">Decks</a> also have map-level properties that you can reference:</b>
        <li><b>&lt;name&gt;_numPieces</b>:&nbsp; Number of pieces/"cards" in the <i>Deck</i> &lt;name&gt;.</li>
        <li><b>&lt;name&gt;_&lt;expression_name&gt;</b>:&nbsp; The number of pieces/"cards" for which the named
          expression evaluates to true in the <i>Deck</i> &lt;name&gt;.</li>
      </ul>
    </ul>
    <br>
    </td>
    </tr>
    </tbody>
  </table>
  <hr size="2" width="100%"></td>
  </tr>
  </tbody>
</table>
</body>
</html><commit_msg>Properties table cleanup<commit_after><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <title>Properties</title>
  <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
</head>
<body>
<table border="0" cellpadding="2" cellspacing="2" width="100%">
  <tbody>
  <tr align="center">
  <td valign="top">
  <h1>VASSAL Reference Manual</h1>
  <small><a href="index.htm">Home</a> &gt; <a href="GameModule.htm">Module</a>
  &gt; <a href="PieceWindow.htm">Game Piece Palette</a></small> <small>&gt;<b>
  </b><a href="GamePiece.htm">Game Piece</a></small> <small>&gt; <span style="font-weight: bold;">Properties</i><b>
  </b></small><br>
  </td>
  </tr>
  <tr>
  <td valign="top">
  <hr size="2" width="100%">
  <h2>Properties<br>
  </h2>

  <table border="0" cellpadding="2" cellspacing="2" width="100%">
    <tbody>
    <tr>
    <td valign="top">
    A Property is like a variable in programming: it has a <i>value</i> which can be referenced by including its <i>name
    </i> in <a href="Expression.htm">Expressions</a>, <a href="MessageFormat.htm">Message Formats</a> and other similar
    fields. Most types of Property have their values change through the course of the game. Some Properties can have
    their values set by commands provided in Game Pieces themselves; others have their values set by the system and
    cannot be changed from within the module.<br>
    <br>
    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. You can add your own new properties to a Game Piece <i>explicitly</i> by adding <a
      href="DynamicProperty.htm">Dynamic Property</a> traits to create values which can be changed during the course of
    the game and <a href="PropertyMarker.htm">Marker</a> traits for properties whose values will remain constant.
    System-defined properties are also added <i>implicitly</i> when other traits are added (see below). <a
      href="GlobalProperties.htm">Global Properties</a>&nbsp;can also be defined for a Zone, a Map or for the entire
    module. If a referenced Property name is not defined in a Game Piece, the VASSAL looks for the value in the Zone
    containing the piece, then in the Map containing the piece, then in the module.<br>
    <br>
    Properties can be matched using <a href="Expression.htm">Expressions</a> like <i>name == value</i> for an exact
    match, <i>name != value</i> for a non-match, or 
    <i>name =~ value</i> for a <a href="https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html">regular
    expression</a>
    match. For properties that return a numeric value (e.g. the level in a <a href="Layer.htm#Properties">Layer)</a> 
    you can use <i>&lt;</i>, <i>&lt;=</i>, <i>&gt;</i>, and <i>&gt;=.</i>&nbsp; You can combine expressions using
    &amp;&amp; for logical AND and || for a logical OR.<br>
    <br>
    <b>Components that use properties<br></b>
    <ul>
      <li>Any <a href="MessageFormat.htm">Message Format</a>
        defined in a Game Piece will substitute values for the properties defined on that Game Piece.<br>
      </li>
      <li>The <a href="Map.htm#GlobalKeyCommand">Global Key Command</a> component uses properties to determine which
        pieces will respond to the command.</li>
      <li>The <a href="Map.htm#GamePieceLayers">Game Piece Layers</a> component uses properties to determine relative
        ordering when drawing pieces on the map.</li>
      <li>The <a href="TriggerAction.htm">Trigger Action</a>
        trait uses properties to determine when to fire a Key Command or <a href="NamedKeyCommand.htm">Named Key Command
        </a>.</li>
      <li>The <a href="Label.htm">Text Label</a> trait substitutes properties when setting the text of the label.</li>
      <li>A <a href="ZonedGrid.htm#Zone">Zone</a> uses properties to specify a <a href="ZonedGrid.htm#ZoneHighlighter">
        Zone Highlighter</a>.</li>

    </ul>
    <b>Properties defined by Game Pieces<br></b>
    <ul>
      <li>The <a href="BasicPiece.htm">Basic Piece</a> defines properties related to a piece's name, location, side, and
        whether it's selected.<br>
      </li>
      <li>The <a href="Layer.htm#Properties">Layer</a> trait defines properties related to the state of that Layer.</li>
      <li>The <a href="Rotate.htm">Rotate</a> trait defines properties related to the current facing of the piece.<br>
      </li>
      <li>The <a href="Label.htm">Text Label</a> trait returns the value of the label as a property.</li>
      <li>The <a href="PropertyMarker.htm">Marker</a> trait allows you to define your own static properties.</li>
      <li>The <a href="DynamicProperty.htm">Dynamic Property</a>
        trait allows you to define your own changeable properties.<br>
      </li>
      <li>The <a href="MarkMoved.htm">Mark When Moved</a>
        trait sets a property when a piece has moved.</li>
      <li>The <a href="Mask.htm#Properties">Mask</a> trait sets a property when the piece is masked.</li>
      <li>The <a href="Hideable.htm">Invisible</a> trait sets a property when the piece is invisible.<br>
      </li>
      <li>The <a href="PropertySheet.htm">Property Sheet</a>
        trait exposes a set of user-editable properties.</li>

    </ul>
    <b>Properties defined by other components</b><br>
    <ul>
      <li>The <a href="GlobalProperties.htm">Global Property</a> component defines properties for a <a
        href="ZonedGrid.htm#Zone">Zone</a>, <a href="Map.htm">Map</a> or the <a href="GameModule.htm">module</a>.</li>
      <li>The <a href="GlobalOptions.htm">Global Options</a> component allows you to tie property values to preferences
        settings.</li>
      <li>The results of a roll by a <a href="GameModule.htm#DiceButton">Dice Button</a> is exposed as a property</li>
      <li>A <a href="Deck.htm">Deck</a> component exposes the number of cards remaining as a Map-level property.</li>
    </ul>

    <br>

    <table border="1" cellpadding="4" cellspacing="0" style="line-height:150%;">
      <caption><h3>Handy Combined List of VASSAL-defined Properties for Game Pieces</h3></caption>
      <tr>
      <th>Property</th>
      <th>Trait</th>
      <th>Description</th>
      </tr>

      <tr>
      <td width="20%" style="text-align:center;"><b>BasicName</b></td>
      <td width="20%" style="text-align:center;"><a href="BasicPiece.htm">Basic Piece</a></td> 
      <td>The basic name of the piece.</td>
      </tr>

      <tr>
      <td width="20%" style="text-align:center;"><b>CurrentBoard</b>
      <td width="20%" style="text-align:center;">Basic Piece</td>
      <td>Current Board name or "" if not on a map.</td>
      </tr>

      <tr>
      <td width="20%" style="text-align:center;"><b>CurrentMap</b></td><td width="20%" style="text-align:center;">Basic
      Piece</td><td>Current Map name or "" if not on a map.</td>
      </tr>
      <tr>
      <td width="20%" style="text-align:center;"><b>CurrentX</b></td><td width="20%" style="text-align:center;">Basic
      Piece</td><td>Current X-coordinate of the piece.</td>
      </tr>
      <tr>
      <td width="20%" style="text-align:center;"><b>CurrentY</b></td><td width="20%" style="text-align:center;">Basic
      Piece</td><td>Current Y-coordinate of the piece.</td>
      </tr>

      <tr>
      <td width="20%" style="text-align:center;"><b>CurrentZone</b></td><td width="20%" style="text-align:center;">Basic
      Piece</td><td>Current Zone name if the current map has a <a href="ZonedGrid.htm">multi-zoned grid</a>, or "" if
      the piece is not in any zone, or not on a map.</td>
      </tr>
      <tr>
      <td width="20%" style="text-align:center;"><b>DeckName</b></td><td width="20%" style="text-align:center;">Basic
      Piece</td><td>Current Deck name if stacked in a <a href="Deck.htm">
      Deck</a>, or "" if not in a Deck.</td>
      </tr>
      <tr>
      <td width="20%" style="text-align:center;"><b>IgnoreGrid</b></td><td width="20%" style="text-align:center;"><a
        href="NonStacking.htm">Does not stack</a></td><td>"true" if this piece ignores the map grid when moving.</td>
      </tr>
      <tr>
      <td width="20%" style="text-align:center;"><b>Immobile</b></td><td width="20%" style="text-align:center;"><a
        href="NonStacking.htm">Does not stack</a></td><td>"true" if this piece cannot be moved by drag and drop.</td>
      </tr>
      <tr>
      <td width="20%" style="text-align:center;"><b>Invisible</b></td><td width="20%" style="text-align:center;"><a
        href="Hideable.htm">Invisible</a></td><td>"true" if this piece is invisible to the current player.</td>
      </tr>
      <tr>
      <td width="20%" style="text-align:center;"><b>InvisibleToOthers</b></td><td width="20%" 
        style="text-align:center;"><a href="Hideable.htm">Invisible</a></td><td>"true" if this piece is invisible to
      other players.</td>
      </tr>
      <tr>
      <td width="20%" style="text-align:center;"><b>LocationName</b></td><td width="20%" style="text-align:center;">
      Basic Piece</td><td>Name of the piece's current location, as determined by the map's <a href="ZonedGrid.htm#Zone">Zone</a>
      (if any) and grid settings.</td>
      </tr>
      <tr>
      <td width="20%" style="text-align:center;"><b>Moved</b></td><td width="20%" style="text-align:center;"><a
        href="MarkMoved.htm">Mark When Moved</a></td><td>"true" if this piece has moved since the last time its movement
      history was cleared.</td>
      </tr>
      <tr>
      <td width="20%" style="text-align:center;"><b>NoStack</b></td><td width="20%" style="text-align:center;"><a
        href="NonStacking.htm">Does not stack</a></td><td>"true" if this piece cannot stack with other pieces.</td>
      </tr>
      <tr>
      <td width="20%" style="text-align:center;"><b>Obscured</b></td><td width="20%" style="text-align:center;"><a
        href="Mask.htm">Mask</a></td><td>"true" if this piece is masked from the current player.</td>
      </tr>
      <tr>
      <td width="20%" style="text-align:center;"><b>ObscuredToOthers</b></td><td width="20%" style="text-align:center;">
      <a href="Mask.htm">Mask</a></td><td>"true" if this piece is masked from other players.</td>
      </tr>
      <tr>
      <td width="20%" style="text-align:center;"><b>OldBoard</b></td><td width="20%" style="text-align:center;">Basic
      Piece</td><td>Board name prior to most recent movement.</td>
      </tr>
      <tr>
      <td width="20%" style="text-align:center;"><b>OldLocationName</b></td><td width="20%" style="text-align:center;">
      Basic Piece</td><td>Location name prior to most recent movement.</td>
      </tr>
      <tr>
      <td width="20%" style="text-align:center;"><b>OldMap</b></td><td width="20%" style="text-align:center;">Basic
      Piece</td><td>Map name prior to most recent movement.</td>
      </tr>
      <tr>
      <td width="20%" style="text-align:center;"><b>OldX</b></td><td width="20%" style="text-align:center;">Basic Piece
      </td><td>X coordinate prior to most recent movement.</td>
      </tr>
      <tr>
      <td width="20%" style="text-align:center;"><b>OldY</b></td><td width="20%" style="text-align:center;">Basic Piece
      </td><td>Y coordinate prior to most recent movement.</td>
      </tr>
      <tr>
      <td width="20%" style="text-align:center;"><b>OldZone</b></td><td width="20%" style="text-align:center;">Basic
      Piece</td><td>Zone name prior to most recent movement.</td>
      </tr>
      <tr>
      <td width="20%" style="text-align:center;"><b>PieceName</b></td><td width="20%" style="text-align:center;">Basic
      Piece</td><td>Full piece name including both Basic Name and all additional strings provided by traits.</td>
      </tr>
      <tr>
      <td width="20%" style="text-align:center;"><b>playerSide</b></td><td width="20%" style="text-align:center;">Basic
      Piece</td><td>Side of the current player (not the side of the piece).</td>
      </tr>
      <tr>
      <td width="20%" style="text-align:center;"><b>Restricted</b></td><td width="20%" style="text-align:center;"><a
        href="RestrictedAccess.htm">Restricted Access</a></td><td>"true" if there are restrictions as to who can access
      this piece.</td>
      </tr>
      <tr>
      <td width="20%" style="text-align:center;"><b>Selected</b></td><td width="20%" style="text-align:center;">Basic
      Piece</td><td>"true" if the piece is currently selected.</td>
      </tr>

      <tr>
      <td width="20%" style="text-align:center;"><b><i>&lt;property_name&gt;</i></b></td><td width="20%"
        style="text-align:center;"><a href="PropertySheet.htm">PropertySheet</a></td><td>The value of each property on
      the Property Sheet can be accessed via the property name.</td>
      </tr>

      <tr>
      <td width="20%" style="text-align:center;"><b><i>&lt;layername&gt;</i>_Active</b></td><td width="20%"
        style="text-align:center;"><a href="Layer.htm">Layer</a></td><td>"true" if the Layer <i>&lt;layername&gt;</i> is
      currently active.</td>
      </tr>
      <tr>
      <td width="20%" style="text-align:center;"><b><i>&lt;layername&gt;</i>_Image</b></td><td width="20%"
        style="text-align:center;"><a href="Layer.htm">Layer</a></td><td>The image name of the currently active layer
      for <i>Layer</i> <i>&lt;layername&gt;</i>.</td>
      </tr>
      <tr>
      <td width="20%" style="text-align:center;"><b><i>&lt;layername&gt;</i>_Level</b></td><td width="20%"
        style="text-align:center;"><a href="Layer.htm">Layer</a></td><td>The level number of the currently active layer
      for <i>Layer</i>
      <i>&lt;layername&gt;</i>.</td>
      </tr>
      <tr>
      <td width="20%" style="text-align:center;"><b><i>&lt;layername&gt;</i>_Name</b></td><td width="20%"
        style="text-align:center;"><a href="Layer.htm">Layer</a></td><td>The level name of the currently active layer
      for <i>Layer</i> <i>&lt;layername&gt;</i>.</td>
      </tr>

      <tr>
      <td width="20%" style="text-align:center;"><b><i>&lt;rotatename&gt;</i>_Facing</b></td><td width="20%"
        style="text-align:center;"><a href="Rotate.htm">Can Rotate</a></td><td>The current facing number (1, 2, etc) for
      the <i>Can Rotate</i> trait <i>&lt;rotatename&gt;</i>.</td>
      </tr>
      <tr>
      <td width="20%" style="text-align:center;"><b><i>&lt;rotatename&gt;</i>_Degrees</b></td><td width="20%"
        style="text-align:center;"><a href="Rotate.htm">Can Rotate</a></td><td>The current degrees of rotation for the 
      <i>Can Rotate</i> trait <i>&lt;name&gt;</i>.</td>
      </tr>

      <tr>
      <td width="20%" style="text-align:center;"><b><i>&lt;Property Name&gt;</i></td><td width="20%" 
        style="text-align:center;"><a href="Label.htm">Text Label</a></td><td>If the "Property Name" field in the trait
      is filled out, then a property with that name will be filled with the current value of the <i>Text Label</i>
      trait's Text field.</td>
      </tr>

      <tr>
      <td width="20%" style="text-align:center;"><b><i>&lt;deckname&gt;</i>_numPieces</b></td><td width="20%"
        style="text-align:center;"><a href="Deck.htm">Deck</a> (Map level property)</td><td>Number of pieces/"cards" in
      the <i>Deck</i> <i>&lt;deckname&gt;</i>.</td>
      </tr>
      <tr>
      <td width="20%" style="text-align:center;"><b><i>&lt;deckname&gt;</i>_<i>&lt;expression_name&gt;</i></b></td><td width="20%"
        style="text-align:center;"><a href="Deck.htm">Deck</a> (Map level property)</td><td>The number of pieces/"cards"
      for which the named expression evaluates to true in the <i>Deck</i> <i>&lt;deckname&gt;</i>.</td>
      </tr>


    </table>

    <br>
    </td>
    </tr>
    </tbody>
  </table>
  <hr size="2" width="100%"></td>
  </tr>
  </tbody>
</table>
</body>
</html>
{'fraction_non_alphanumeric': 0.18281272491723047, 'fraction_numerical': 0.008168993810277818, 'mean_word_length': 3.5436559843034665, 'pattern_counts': {'":': 0, '<': 1182, '<?xml version=': 0, '>': 1183, 'https://': 1, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3609499', 'n_tokens_mistral': 9541, 'n_tokens_neox': 9036, 'n_words': 2600}