Skip to content

Feature: Crafting Checks and Process #122

@misterpotts

Description

@misterpotts

Description

Salvaging components and crafting recipes may be instantaneous, or require several stages to complete. For both types of crafting attempt, they may be successful, or unsuccessful.

I'm opinionated about whether a crafting system should allow different types of checks per recipe. When I look at crafting systems published by Wizards of the Coast and 3rd party publishers for 5th Edition, as well as game systems such as Pathfinder 2nd Edition, all popular crafting systems have a consistent crafting process, difficulty class calculation, and set of checks across all of their recipes.

This makes sense to me; crafting process variability by recipe is an unnecessary level of complexity for a crafting system. It doesn't appeal to players and it isn't worth solving for me. Fabricate will therefore not support this directly. I.e. there will only be one crafting check and one salvage check per crafting system. If you want variability you can still achieve this with Fabricate, but you will have to take on the additional effort of creating an additional crafting system, or writing custom check macros that handle this.

Benefit(s)

  • Checks are a major feature required for submission to the official module list
  • Checks have been a much requested feature

Potential Implementation(s)

The crafting process can be used to represent each kind of crafting, from salvaging to recipe crafting. It might look something like this.

classDiagram
class CraftingProcess
<<interface>> CraftingProcess
CraftingProcess : +number steps
CraftingProcess : +number progress
CraftingProcess : Check[] checksPerformed
CraftingProcess: +boolean isCheckRequired
CraftingProcess: +boolean isComplete
Loading

Additional Context

Relates to #88

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions