From a5447965e7808d656a5e5d9326a9ca0231148f85 Mon Sep 17 00:00:00 2001 From: historia <[not public]> Date: Mon, 5 Oct 2026 19:30:49 -0400 Subject: feat: sym-link containment, batch count prompt for crafting --- internal/game/production_menu.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'internal/game/production_menu.go') diff --git a/internal/game/production_menu.go b/internal/game/production_menu.go index 5d712da..ad44853 100644 --- a/internal/game/production_menu.go +++ b/internal/game/production_menu.go @@ -290,6 +290,18 @@ func itemIDs(defs []*item.ItemDef) []string { func (g *Game) promptHowMany(sess *net.Session, itemID string) { sess.PendingItemID = itemID sess.SetState(net.StateHowMany) + yield := 1 + if item := g.loadCraftItem(itemID); item != nil { + if c := g.usableCraft(sess.Player, item); c != nil && c.OutputQty > 0 { + yield = c.OutputQty + } + } + // The count is batches, not units: say so and show the per-batch yield so + // "15" cannot silently mean 225 arrow shafts. + if yield > 1 { + sess.Write(fmt.Sprintf("How many batches (each makes %d, return for all)?: ", yield)) + return + } sess.Write("How many (return for all)?: ") } -- cgit v1.2.3