Optional__kindDiscriminator kind, written on serialization (SohlEntity.toJSON) and read back on revival. Optional as constructor input — it is derived from the concrete class, not supplied by callers.
Shortcode of the skill governing this mode, resolved to a SkillLogic at runtime.
Attack-roll configuration for this mode.
Optionaldisabled?: booleanWhen true, the mode cannot be used to attack.
Optionalmodifier?: numberFlat attack mastery-level modifier seeded as the "AtkMod" delta.
Optionalspread?: numberHit-location scatter for the attack. Melee-only in practice, but declared on the base Data so schema validation accepts it.
Base impact (damage) definition before runtime modifiers.
Damage aspect (e.g., blunt, edged, piercing) this mode inflicts.
Die size. null when the strike mode's die "does not apply"
(e.g., a bow whose impact die comes from the projectile);
combination logic then uses whichever source's die is non-null.
When specified, an integer ≥ 2.
Flat amount added to the rolled impact total. null when this
mode's modifier "does not apply" (use the other source's);
0 means an explicit modifier of none.
Number of impact dice contributed by the mode itself. 0 means
this mode contributes no dice.
Minimum body parts (limbs) required to wield the weapon in this mode.
Display name of the mode (e.g., "Cut", "Thrust", "Shoot").
Short code identifying this strike mode within its parent weapon's
strikeModes array — unique among that weapon's modes. Blank for a
combat technique's single strike mode (which is keyed by its skill).
Arbitrary trait/flag bag (e.g., noAttack, noBlock).
Discriminator selecting the concrete strike-mode type ("melee" or "missile").
Common persisted fields shared by all strike mode types.