SkillResponseProcedure
Defender-side response to a SkillProcedure contest. Hydrates from the export and replies with a single roll to the contest service.
Role in the system
- Defender-only; never initiates a contest.
- Uses the skill id and names from the export to configure dice and labels.
- Mirrors specialization cap logic for pool dice when needed.
- Does not self-publish; replies into the contest.
API reference
- Construction: via export +
ProcedureFactory.Create("skill-response", { actor, args: { contestId } }). hasTargets: false;isOpposed: false.shouldSelfPublish(): false.getKindOfRollLabel()/getPrimaryActionLabel(): localized Respond.setResponseBasis(basis): configure from a hydrated{ type: "skill", id, name, specialization?, poolKey?, dice }.async fromContestExport(exportCtx, { contestId }): resolve skill from id and setdice,title, and pool cap when relevant.async execute({ OnClose?, CommitEffects? }): attachesoptions.type = "skill"plus skill/specialization/pool metadata; delivers response.- Serialization extras: contest id and skill/spec/pool identifiers and names.