From ece0f101aa67ceab742ee895c7e4ed1f79ba63f8 Mon Sep 17 00:00:00 2001 From: rope Date: Wed, 28 Oct 2026 12:51:40 +0000 Subject: [PATCH] Work order slots link to the recipe when empty Co-Authored-By: Claude Opus 5.5 --- game.py | 1 + static/app.js | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/game.py b/game.py index bde367c..4ae1ed2 100644 --- a/game.py +++ b/game.py @@ -6593,6 +6593,7 @@ PATCH_NOTES = [ {"date": "2026-10-28", "title": "Queue", "notes": [ ("new", "Work orders no longer erase your crafting queue"), ("new", "Items link to where they're made: click to jump to the recipe."), + ("new", "Work order slots link to the recipe when you have none."), ("new", "Queue: ▲ on #1 swaps it with the current make."), ("new", "Updated Guard kit, added recipes for crafting professions to contribute to defence of town without needing combat-related loot."), ("new", "Townsfolk mood: food, firewood and seasonal clothes. Kindling (Firekeeping), smocks and cloaks (Tailoring)."), diff --git a/static/app.js b/static/app.js index b252c9e..a9feceb 100644 --- a/static/app.js +++ b/static/app.js @@ -2459,8 +2459,10 @@ function orderSlots(o) { const give = Math.min(have, need - pool); // What putting them in pays you once they're crafted: your value's slice of the reagents' share. const share = o.by === S.uid ? 0 : Math.round(o.reward / o.qty * out * C.input_share * item(id).value / worth * give); - const fill = give ? `${tip} · +${fmt(give)}${share ? ` → ${fmt(share)} gold` : ""}` : `${tip} · 🎒 0`; - return `
+ const fill = give ? `${tip} · +${fmt(give)}${share ? ` → ${fmt(share)} gold` : ""}` : `${tip} · 🎒 0${gotoTip(id)}`; + // None to give: the slot links to where it's made instead. + const click = give ? `data-order-fill="${o.id}" data-item="${id}"` : sourceOf(id) ? goto(id) : "disabled"; + return `
${fmt(pool)} / ${fmt(need)}${esc(name)}
`; }).join(""); }