From e42952469dadfb3535633c66c881050ac128703c Mon Sep 17 00:00:00 2001 From: historia <[not public]> Date: Mon, 5 Oct 2026 17:05:14 -0400 Subject: fix: gather verbs, walk oom, admin path bypass, roulette refund --- internal/game/production_index.go | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'internal/game/production_index.go') diff --git a/internal/game/production_index.go b/internal/game/production_index.go index 22e944e..4ded387 100644 --- a/internal/game/production_index.go +++ b/internal/game/production_index.go @@ -229,6 +229,12 @@ func planIngredients(c *item.CraftDef, countItem func(string) int) []consumption if c == nil { return nil } + // A craft with no ingredient entries is not "always satisfied": it would + // consume nothing and loop forever producing output. Treat it as + // unsatisfiable; the validator also rejects it. + if len(c.Ingredients) == 0 { + return nil + } reserved := make(map[string]int, len(c.Ingredients)) plan := make([]consumption, 0, len(c.Ingredients)) for i := range c.Ingredients { -- cgit v1.2.3