Serialized action definitions used to build the logic's actions map.
The logic of the owning actor — this actor's own logic when the data is
an actor's, the owning actor's logic when it is an item's, or null.
OptionalassocShortcode of the faction/Affiliation whose standing confers this
mystery — a religion, an arcane or alchemical school, an
ancestor/totem/spirit — null when the mystery is not
affiliation-associated. Resolved to MysteryLogic.affiliation
during MysteryLogic.evaluate.
OptionalassocShortcode of the skill this mystery is associated with (the skill a boon or boost affects, a fate success-level bump applies to, etc.); blank for mysteries that name no skill.
Usage tracking: current charges and maximum. Whether the mystery uses
charges at all is carried by max alone — there is no separate flag.
Maximum number of charges. 0 means no maximum; null means the
mystery does not use charges.
Current number of charges remaining. null means infinite.
Rich-text description shown on the item's sheet and chat cards.
The owning document's id.
Whether the current user owns the document (edit permission).
The document kind (its actor or item type id).
OptionallastGeneric run record (issue #579) — a map of actionName → the world
time (seconds) that action last performed on this document, stamped at the
action chokepoint for actions flagged recordsLastRun. The past-tense
mirror of scheduledActions: "when did X last happen here?" for any
action, without a bespoke field, and it survives after a schedule ends. For
an event-driven trigger (no computable next fire) it is the only meaningful
temporal fact.
The base level of the mystery, or null if not applicable. For a boon it
is the flat ±N modifier magnitude; for a boost it is the boost count
N applied to the associated skill.
The logic instance built from this data.
The owning document's name.
Rich-text GM/player notes for the item.
The Foundry document (actor or item) this data belongs to, or null.
OptionalscheduledPersisted recurring/deferred schedules for this document (issue #588) —
each entry defers actionName to anchor + interval. The generic store
that replaces the retired bespoke last*Date anchors; a recurring effect's
finalize() re-arms these into the event queue on every preparation. Only
documents whose data model extends the base SohlDataModel (actors, items,
combatants) carry it — hence optional here. See
https://kb.heroiclands.org/dev/reference/event-queue/.
Short identity code for this document.
The mystery's subtype: boon / boost name a skill-affecting mystery,
fate / grace / piety a passive pool, and other a catch-all.
The owning document's type (its actor or item kind).
The owning document's globally-unique id, treated as an opaque
identity token: pass it through (e.g. into chat-card data) and resolve it
back to logic via fvttLogicFromUuid / fvttLogicFromUuidSync — never fromUuid
it to a Foundry document inside the logic layer.
Remarks
The shape of
systemon amysteryitem — i.e.item.system(equivalentlyitem.logic.data) whenitem.type === "mystery". The backing DataModel implements this interface.