aboutsummaryrefslogtreecommitdiff
path: root/internal/item/item.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/item/item.go')
-rw-r--r--internal/item/item.go16
1 files changed, 16 insertions, 0 deletions
diff --git a/internal/item/item.go b/internal/item/item.go
index c083d8e..6cb0e42 100644
--- a/internal/item/item.go
+++ b/internal/item/item.go
@@ -218,6 +218,22 @@ func (d *ItemDef) Stats() ItemStats {
type CraftList []CraftDef
+// KnownCraftKeys is the set of craft type/subtype names the production engine
+// understands, plus "combine" (which has its own path). A recipe whose type
+// and subtype are both outside this set produces a non-advancing action, so
+// the validator rejects it.
+var KnownCraftKeys = map[string]bool{
+ "combine": true,
+ "cooking": true,
+ "smelting": true,
+ "smithing": true,
+ "crafting": true,
+ "fletching": true,
+ "pharmacy": true,
+ "cleaning": true,
+ "construction": true,
+}
+
func (d *ItemDef) FirstCraft() *CraftDef {
if len(d.Craft) == 0 {
return nil