Realms Reference

Complete documentation for tabs/realms.json.

Schema

interface Realm {
  name: string            // ✅ Display name, must match object key
  basicInfo: string     // ✅ Prose realm description
  known?: boolean         // ✅ Defaults to true; set false to hide at game start
}

Legend

  • Predefine-able: Can be set in config, preserved via spread
  • Always overwritten: Set by initialization regardless of what exists in config

Hierarchy Position

Realms sit at the top of the location hierarchy:

Realm (optional, thematic container)
  └── Region (grid cell with coordinates)
        └── Location (point within region with radius)
              └── Area (node in location graph)

Runtime Behavior

When the game initializes, realms default to known: true unless the config explicitly sets known: false. Players cannot access locations in unknown realms.

To reveal or hide a realm dynamically, use a trigger effect:

{
  type: 'known-entity',
  entity: 'Shadow Realm',
  operator: 'set',
  value: true
}

Or set the party’s realm directly (auto-reveals):

{
  type: 'party-realm',
  operator: 'set',
  value: 'Shadow Realm'
}

Location Cascading

When setting party-location, the system automatically updates the realm:

Set party-location: "Shadow Gate"
        ↓
currentLocation = "Shadow Gate"
currentRegion = location.region
currentRealm = region.realm

For cross-realm travel to work, locations must have their region’s realm field set correctly.

Cross-References

Field References
Region’s realm Keys in tabs/realms.json
Trigger party-realm Keys in tabs/realms.json
Story start realm Keys in tabs/realms.json

This site uses Just the Docs, a documentation theme for Jekyll.