Skip to content

Marks

Marks are lightweight tags applied to a character with the /mark command. A mark has no visible effect by itself, but it can determine whether a character may trigger an item action, room action, reaction, or anything else with a Conditions field.

Each mark has a name and a value. A useful naming convention is to base the name on something the character has done, then use the value to record its state or progress. Clear names are easier to track when a character has many marks.

For example, after a player turns on some lights through a room action, the game could give them this mark:

lights_turned_on true

If a player unlocks a treasure chest through an item action, the action could execute:

/mark {{ actor }} treasure_chest opened

Use marked <mark name> to check whether a mark exists with any value. Add a value to require an exact match:

marked <mark name> <mark value>

The four common forms behave as follows:

Condition Passes when
marked treasure_chest The treasure_chest mark exists with any value.
marked treasure_chest opened The mark’s value is exactly opened.
not marked treasure_chest The mark does not exist.
not marked treasure_chest opened The mark does not exist or has a value other than opened.

Suppose a treasure chest should open only once for each player. Add not marked treasure_chest opened to the item action. The player can open the chest until the action sets treasure_chest to opened; afterward, the condition is false and the same action cannot run again.

A second hidden action can provide a custom failure message when the player tries again. Create these two actions:

  • Action name: First chest opening
  • Action: Open Treasure Chest
  • Commands: /award {{ actor }} gold 100 ; /mark {{ actor }} treasure_chest opened
  • Action Cooldown: 10
  • Conditions: not marked treasure_chest opened
  • Action name: Chest already opened
  • Action: Open Treasure Chest
  • Display Action in Room: Disabled, so this fallback does not add a second visible button
  • Commands: /send {{ actor }} You have already opened this chest!
  • Action Cooldown: 1
  • Conditions: marked treasure_chest opened

Marks do not only restrict actions. Removing not from a marked condition can enable new behavior instead. A switch might grant switch_triggered true, allowing the player to pass a room check with marked switch_triggered true. Killing a mighty beast might set beast_slain true; entering a nearby village with that mark could then trigger a reward from the villagers.

Note: The marked condition has no effect in loader conditions because loaders have no actor.

Some exact mark names grant special capabilities:

  • Setting either proficiency_heavy_armor or heavy_armor_proficiency to true lets a classless character wear heavy armor and heavy shields. A classed non-Warrior needs the Use Any Item feat instead; a proficiency mark does not override their class.
  • Setting proficiency_tracking to true unlocks the track command for that character.

See Conditions for the full condition reference and Mob and room commands for /mark syntax.