Expanded skills¶
Create RpgExpandedSkill definitions with an id, governing attribute,
difficulty (0 easy, 1 average, 2 hard, 3 very hard), optional techLevel,
specialty, defaults and prerequisite. Each default edge is [skill, penalty].
Give the profile one owned RpgExpandedTraining per skill, containing skill and
points. defaultFrom explicitly selects a paid-up default basis; the engine
rejects cycles and does not treat an unpaid default chain as training.
rpgExpandedSkillLevel and rpgExpandedSkillCost expose the point table.
profile.skillScore(skill) combines legal trained and default scores. Optional
wildcards require rules.wildcardSkills; they use the very-hard difficulty and
triple cost. Character validation and learning reject purchased wildcard skills
when the campaign option is disabled. Definition validation rejects a wildcard
with any other difficulty or with attribute/skill defaults, including before a
score is requested.
RpgExpandedPrerequisite supports skill, trait, all and any requirements with
explicit definitions. The learning hooks also reject unsupported technology-level
access. Use skillLearningWithTeacherReason for advancement above personal
technology where an appropriate teacher is required; do not bypass it by writing
training points directly during play.
Techniques, optional specialties and relative-skill contexts are exposed in the
source-derived API reference. Their prerequisites and default bases must be
explicitly authored. Optional specialties are not a free extra broad skill.
Owned RpgExpandedFamiliarity records track equipment-type practice and recognition;
practice consumes the shared clock and recognition retains failure as well as
success. An authored equipment type is an identity, not a second inventory item.
The module supplies mechanisms for authored definitions, not a full skill catalogue.
The Town Registry's two skills are original integration examples. Source mapping:
full-2008 B168-B175, B230-B233. See the prerelease validation record.