Item Note Frontmatter

See also: The Authoring Workflow, Actor Notes, Asset Conventions

Every item note carries the frontmatter envelope described in The Authoring Workflowname.full, type, shortcode, id, and the required sohl.archetype. This page covers what each type adds to that: the fields under its sohl: block, and nothing else.

The tables are rendered from the declaration that builds each document, not from a description of it, so a field listed here is a field the compiler reads and a field absent here is one it ignores. An unrecognised sohl: key is silently dropped, so a typo shows up as a missing value rather than an error — check the spelling here first.

13 of the 13 item types this repository compiles declare their frontmatter below. Every field is written under a note’s sohl: block; a dotted name such as impact.die is a nested key. A field a note does not carry takes the default shown, and a required field has none — omitting it fails the build rather than guessing.

affiliation

FieldShapeRequiredDefaultDescription
subTypestringyesWhich kind of affiliation this is — the society’s character.
societystringno""The body a member belongs to.
officestringno""The post a member holds within it.
titlestringno""The style of address the office carries.
levelnumberno0Standing within the society.
relationmap of affiliation shortcode → standingno{}How this society regards others: aligned, unaligned, rival or nemesis.
---
name:
  full: An Example affiliation
type: affiliation
shortcode: xmpl
id: <16-character id>
sohl:
  archetype: null
  subType: <string>
---

The prose here compiles into the item's documentation.

affliction

FieldShapeRequiredDefaultDescription
subTypestringyesWhat kind of affliction it is.
categoryas authoredno""The grouping it belongs to within its subtype.
levelBasenumberno0Severity, before any modifier.
healingRateBasenumberno0How readily the host throws it off.
contagionIndexnumberno0How readily it passes to someone else.
transmissionas authorednononeThe route by which it spreads.
onsetFormulaas authored, blank is unsetnonullDays from contracting to onset, rolled by the receiving actor. Unset means no incubation.
outcomeas authored, blank is the defaultnocuredWhat running the course to the end does to the host: death, or the benign default cured.
---
name:
  full: An Example affliction
type: affliction
shortcode: xmpl
id: <16-character id>
sohl:
  archetype: null
  subType: <string>
---

The prose here compiles into the item's documentation.

armorgear

FieldShapeRequiredDefaultDescription
weightas authoredno0Weight of one, in pounds.
valueas authoredno0Worth of one, in pence.
qualityas authoredno0Craftsmanship, as a modifier to what the article does.
durabilityas authoredno0How much punishment the article takes before it fails.
materialas authoredno""What the article is made of.
flexlocas authored, blank is the defaultno[]Body locations the article covers flexibly, by location shortcode.
rigidlocas authored, blank is the defaultno[]Body locations the article covers rigidly, by location shortcode.
facinglist of {location, side}no[]For a one-sided article, which side of each location it protects. Everything else protects from any direction and leaves this empty.
protection.bluntnumberno0Protection against blunt impact.
protection.edgednumberno0Protection against edged impact.
protection.piercingnumberno0Protection against piercing impact.
protection.firenumberno0Protection against fire and heat.
encumbrancenumberno0What wearing it costs in encumbrance.
encumbranceGroupas authored, blank is unsetnonullThe set an article’s encumbrance is charged to instead of carrying its own — the arm harness.
perceptionPenaltyBasenumberno0What wearing it costs in perception.
---
name:
  full: An Example armorgear
type: armorgear
shortcode: xmpl
id: <16-character id>
sohl:
  archetype: null
---

The prose here compiles into the item's documentation.

attribute

FieldShapeRequiredDefaultDescription
scoreBasenumberno0The attribute’s score before any modifier.
valueDesclist of Label: max strings, or {label, maxValue} objectsno[]Descriptive bands for the score, each a label and the highest value it covers.
initDiceFormulaas authoredno""Dice expression rolled to generate the score during character creation.
impairedByRolesas authoredno[]Body-part roles whose impairment penalises tests against this attribute.
---
name:
  full: An Example attribute
type: attribute
shortcode: xmpl
id: <16-character id>
sohl:
  archetype: null
---

The prose here compiles into the item's documentation.

concoctiongear

FieldShapeRequiredDefaultDescription
weightas authoredno0Weight of one, in pounds.
valueas authoredno0Worth of one, in pence.
qualityas authoredno0Craftsmanship, as a modifier to what the article does.
durabilityas authoredno0How much punishment the article takes before it fails.
subTypestringyesWhat kind of concoction it is.
potencyas authorednonotApplicableHow concentrated the preparation is.
strengthnumberno0How strongly it acts when it does.
---
name:
  full: An Example concoctiongear
type: concoctiongear
shortcode: xmpl
id: <16-character id>
sohl:
  archetype: null
  subType: <string>
---

The prose here compiles into the item's documentation.

containergear

FieldShapeRequiredDefaultDescription
weightas authoredno0Weight of one, in pounds.
valueas authoredno0Worth of one, in pence.
qualityas authoredno0Craftsmanship, as a modifier to what the article does.
durabilityas authoredno0How much punishment the article takes before it fails.
maxCapacitynumberno0How much the container holds, in pounds.
---
name:
  full: An Example containergear
type: containergear
shortcode: xmpl
id: <16-character id>
sohl:
  archetype: null
---

The prose here compiles into the item's documentation.

miscgear

FieldShapeRequiredDefaultDescription
weightas authoredno0Weight of one, in pounds.
valueas authoredno0Worth of one, in pence.
qualityas authoredno0Craftsmanship, as a modifier to what the article does.
durabilityas authoredno0How much punishment the article takes before it fails.
---
name:
  full: An Example miscgear
type: miscgear
shortcode: xmpl
id: <16-character id>
sohl:
  archetype: null
---

The prose here compiles into the item's documentation.

mystery

FieldShapeRequiredDefaultDescription
subTypestringyesWhich tradition the mystery belongs to.
assocSkillCodeas authored, blank is unsetnonullShortcode of the skill the mystery is tested against.
assocAffiliationCodeas authored, blank is unsetnonullShortcode of the affiliation whose standing confers the mystery — a religion, school, or ancestor/totem/spirit.
levelBasenumberno0The mystery’s level before any modifier.
skillAptitudesmap of skill selector → whole numberno{}Aptitude the mystery grants, per skill selector.
charges{value, max}, both whole numbers or unsetno{"value":null,"max":null}Uses available and the pool’s size. A blank maximum means the mystery does not use charges.
---
name:
  full: An Example mystery
type: mystery
shortcode: xmpl
id: <16-character id>
sohl:
  archetype: null
  subType: <string>
---

The prose here compiles into the item's documentation.

mysticalability

FieldShapeRequiredDefaultDescription
subTypestringyesWhich tradition the ability belongs to.
assocSkillCodeas authoredno""Shortcode of the skill the ability is tested against.
assocAffiliationCodeas authored, blank is unsetnonullShortcode of the affiliation whose standing confers the ability — a religion, school, or ancestor/totem/spirit.
masteryLevelBasenumberno0Mastery in the ability before any modifier.
improveFlagbooleannofalseWhether it is flagged for improvement.
levelBasenumberno0The ability’s level before any modifier.
charges{value, max}, both whole numbers or unsetno{"value":null,"max":null}Uses available and the pool’s size. A blank maximum means the ability does not use charges.
---
name:
  full: An Example mysticalability
type: mysticalability
shortcode: xmpl
id: <16-character id>
sohl:
  archetype: null
  subType: <string>
---

The prose here compiles into the item's documentation.

projectilegear

FieldShapeRequiredDefaultDescription
weightas authoredno0Weight of one, in pounds.
valueas authoredno0Worth of one, in pence.
qualityas authoredno0Craftsmanship, as a modifier to what the article does.
durabilityas authoredno0How much punishment the article takes before it fails.
subTypestringyesWhat kind of projectile it is.
impact.overrideDicebooleannoWhether the projectile’s dice replace the launching weapon’s. Defaults to true when the projectile declares a die.
impact.overrideModifierbooleannoWhether the projectile’s modifier replaces the launching weapon’s.
impact.dienumberno0The impact die’s size.
impact.modifiernumberno0Flat addition to the impact roll.
impact.aspectas authored, blank is the defaultnopiercingHow the projectile wounds.
---
name:
  full: An Example projectilegear
type: projectilegear
shortcode: xmpl
id: <16-character id>
sohl:
  archetype: null
  subType: <string>
---

The prose here compiles into the item's documentation.

skill

FieldShapeRequiredDefaultDescription
subTypestringyesWhich family of skill it is.
skillBaseFormulaas authoredno""Expression deriving the skill’s base from the actor’s attributes, e.g. sb(attr.str, attr.agl).
masteryLevelBasenumber or unsetnonullOpened mastery level. Unset means not yet opened — an embedded copy opens on its actor at Skill Base × initSkillMult.
improveFlagbooleannofalseWhether it is flagged for improvement.
combatCategoryas authorednononeWhich combat role the skill fills, if any.
parentSkillCodeas authoredno""Shortcode of the skill this one specialises, for a specialisation.
initSkillMultnumberno0Multiplier applied to Skill Base when the skill opens on an actor.
impairedByRolesas authoredno[]Body-part roles whose impairment penalises tests against this skill.
---
name:
  full: An Example skill
type: skill
shortcode: xmpl
id: <16-character id>
sohl:
  archetype: null
  subType: <string>
---

The prose here compiles into the item's documentation.

trauma

FieldShapeRequiredDefaultDescription
subTypestringyesWhat kind of trauma it is.
categoryas authorednonullThe grouping it belongs to within its subtype.
levelBasenumber or unsetnonullInjury level. Unset on a descriptive condition, which has no level.
healingRateBasenumberno0How readily it heals.
aspectas authorednonullHow the injury was inflicted. Unset on a descriptive condition.
isTreatedbooleannofalseWhether it has been treated.
isBleedingbooleannofalseWhether it is bleeding.
bodyLocationCodeas authorednonullShortcode of the body location injured. Unset on a descriptive condition.
---
name:
  full: An Example trauma
type: trauma
shortcode: xmpl
id: <16-character id>
sohl:
  archetype: null
  subType: <string>
---

The prose here compiles into the item's documentation.

weapongear

FieldShapeRequiredDefaultDescription
weightas authoredno0Weight of one, in pounds.
valueas authoredno0Worth of one, in pence.
qualityas authoredno0Craftsmanship, as a modifier to what the article does.
durabilityas authoredno0How much punishment the article takes before it fails.
encumbrancenumberno0What carrying it costs in encumbrance.
heftnumberno0How unwieldy it is in the hand.
strikeModeslist of strike modes, each with a unique shortcodeno[]The ways the weapon can be used to strike.
---
name:
  full: An Example weapongear
type: weapongear
shortcode: xmpl
id: <16-character id>
sohl:
  archetype: null
---

The prose here compiles into the item's documentation.