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 trueIf a player unlocks a treasure chest through an item action, the action could execute:
/mark {{ actor }} treasure_chest openedThe marked condition
Section titled “The marked condition”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. |
One-time treasure chest
Section titled “One-time treasure chest”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:
First chest opening
Section titled “First chest opening”- 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
Chest already opened
Section titled “Chest already 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
markedcondition has no effect in loader conditions because loaders have no actor.
Proficiency marks
Section titled “Proficiency marks”Some exact mark names grant special capabilities:
- Setting either
proficiency_heavy_armororheavy_armor_proficiencytotruelets 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_trackingtotrueunlocks thetrackcommand for that character.
See Conditions for the full condition reference and Mob and room commands for /mark syntax.