aboutsummaryrefslogtreecommitdiff
path: root/internal/item
diff options
context:
space:
mode:
authorhistoria <[not public]>2026-10-05 19:20:17 -0400
committerhistoria <[not public]>2026-10-05 19:20:17 -0400
commit1091d0fae96d152c11aec1bb2dd949f51ed5aa1e (patch)
tree0d867d42726cd3910c9851ec69e15b9a4b031001 /internal/item
parent9d8c43cd68c960b9a6b8f781684f763e204a4498 (diff)
downloadthehouseoficarus-1091d0fae96d152c11aec1bb2dd949f51ed5aa1e.tar.gz
feat: shared tls cert, validation fixes
Diffstat (limited to 'internal/item')
-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