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 range (feet) seeding MissileStrikeMode.baseRange before modifiers.
Base draw/reload time seeding MissileStrikeMode.draw before modifiers.
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.
Maximum volley multiplier permitted when firing rapidly.
Minimum body parts (limbs) required to wield the weapon in this mode.
Display name of the mode (e.g., "Cut", "Thrust", "Shoot").
Ammunition type consumed, or "none" when the weapon itself is thrown.
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 fixing this as a missile mode.
Persisted fields for a missile strike mode (extends StrikeModeBase.Data).