The item's unique string ID.
Alternate names for this item, including: names it had earlier in development that have since changed, alternate spellings/punctuation, common misspellings, and so on.
Subcategories contained by this oracle category.
This key appears only on IOracleCategory, and thus only on 'branch' nodes of the oracle hierarchy 'tree.
The ID of the most recent OracleCategory ancestor of this item, if any.
Metadata that describes an oracle's semantic or lexical content.
A user-facing markdown description of the item, consisting of one or more paragraphs.
Data relevant to this item's display/rendering.
The ID of the most recent Oracle ancestor of this item, if any.
The item's internal name. Should be unique among its sibling elements, as this key is often used (along with the object's ancestors) to generate its $id.
If the item has Display.Title, that should be preferred for most user-facing labels.
Describes the match behaviour of this oracle's table, if any, and provides a Text
string describing it. Only appears on a handful of move oracles like Ask the Oracle and Advance a Threat.
This key appears only on IOracles that have a Table
.
Oracle objects contained by this object.
This key appears only on 'branch' nodes of the oracle hierarchy 'tree': IOracleCategory, and IOracle (when it contains multiple closely-related tables).
Information on this item's source.
Represents a single oracle table, where 'table' is defined as being something with a single roll range.
This key appears only on 'leaf' nodes of the oracle hierarchy 'tree' - in other words, many (but not all) IOracle objects.
Information on the usage of this oracle: recommended number of rolls, etc.
Generated using TypeDoc
Interface with elements common to various Oracle-related interfaces and classes.
If you're trying to crawl the tree for a specific ID, I'd recommend using some flavour of JSONpath (I like
jsonpath-plus
) - it's purpose-made for this sort of nested data structure.But if for some reason you can't, you can use this interface to type both IOracle and IOracleCategory as you recurse the oracle hierarchy. Objects with
Categories
andOracles
are "branches", and objects withTable
are "leaves".