Encounter
A prepared fight, ready to be loaded into combat.
An Encounter is a roster: which creatures take part, how many of each, whose side they are
on, and — optionally — where they stand. It is authored ahead of time as part of a module or
campaign, and starting it turns each entry into a live Combatant in the Game.
The entries are Encounter/Combatant values, not the Realm Combatant used during play.
That separation is the point: the encounter is a reusable template that survives the fight,
while the combatants carry the damage and conditions and are discarded with it. The same
encounter can be run twice.
Entries reference creatures softly, by app URL, so an encounter can be distributed in a module that does not itself contain the monsters.
- SeeAlso:
Game,Combatant,Module
| Property | Type | Required | Description |
|---|---|---|---|
id |
string |
Yes | The unique identifier for this encounter. A UUID string automatically generated when the encounter is created. This serves as the primary key in the Realm database. |
name |
string |
Yes | The display name of the encounter. Examples: "Goblin Ambush" |
slug |
string |
Yes | A URL-friendly identifier for the encounter. Used to link to the encounter as /encounter/goblin-ambush. Examples: "goblin-ambush" |
descr |
string |
Yes | The description of the encounter. Setup notes, tactics, or read-aloud text for when the fight begins. |
combatants |
Array<Object> |
No | The roster, stored as JSON. Each entry names a creature and, optionally, where it starts on the map. Kept encoded rather than as Realm objects because the roster is a template read and written whole. SeeAlso: Encounter/Combatant |
parentId |
string |
Yes | The identifier of the Group containing this encounter in the library tree. Empty for an encounter at the top level of its container. |
rank |
integer |
Yes | The manual sort position among its siblings. Lower values sort first. |
Combatant
Section titled “Combatant”One entry in an Encounter’s roster.
A template for a creature that will take part, not the creature itself and not the live
Combatant it becomes when the fight starts. It records only what is decided in advance:
which creature, what to call it, whose side it is on, and where it stands.
- SeeAlso:
Encounter,Combatant
| Property | Type | Required | Description |
|---|---|---|---|
label |
string |
No | The label distinguishing this entry from identical ones. Examples: "G1", "G2" |
name |
string |
No | A name overriding the referenced creature’s own. Lets one monster entry appear as a named NPC. Examples: "Klarg" — for a bugbear |
role |
Role | No | Which side the creature is on; nil is treated as hostile. SeeAlso: Role |
reference |
string |
No | The app URL of the creature this entry represents. A soft link, so an encounter can be distributed without the creatures it uses. Examples: "/monster/goblin" SeeAlso: referenceURL, entity |
x |
integer |
No | The creature’s starting horizontal position in map coordinates. Lets an encounter place its creatures as well as list them. Note: nil or -1 means unplaced — see center. |
y |
integer |
No | The creature’s starting vertical position in map coordinates. |
center |
any |
No | The creature’s starting position, or nil if it has none. Both nil and -1 coordinates read as unplaced, so an entry saved by an older version still behaves correctly. |

