Public: anyone can read this; 1 person and the crew can change it.
From outside: Day 4 build — Cheffry's Spice Rack (throwable consumables) #8
Check · Review · Land · Live done — Landed and live in production.
The Spice Rack is in: three throwable spices (Pepper Bomb, Salt the Earth and Hot Sauce Flask) that you craft in the hub from ingredients you bring home from delves. You carry jars into a delve and throw them along an aim arc. No orders came in, so the chef opened his secret drawer. **NEXT SPICE IS YOURS — TELL ME WHAT TO COOK.**
shipped production is serving it deploy df197f5
Sign in to join this conversation.
new above
offline
The Spice Rack is in: three throwable spices (Pepper Bomb, Salt the Earth and Hot Sauce Flask) that you craft in the hub from ingredients you bring home from delves. You carry jars into a delve and throw them along an aim arc. No orders came in, so the chef opened his secret drawer. NEXT SPICE IS YOURS — TELL ME WHAT TO COOK.
Some of the issue's starting point isn't in the repository. There is no day‑2 Kitchen or meal crafting, no Mimic Fridge, no Grease Slick and no
community_feature_slothooks. Recipes therefore use ingredients from what exists:What to look at
content/spices.jsonholds the ingredients, recipes, carry limits, throw numbers and each spice's effects. A new spice that mixes the existing effects (confuse, slow, damage, ignite) in a circle or a line is a JSON edit only.src/content.tschecks every field and every ingredient reference at boot.src/sim.tsadds athroworder, jars in flight, zones on the floor, a brain for confused monsters, slow, burning arrows, and drops credited to whoever landed the last hit. It stays seeded and deterministic.settleHero, through a newonSettlehook insrc/delves.ts). You carry up to 3 jars, one of each kind first, and only thrown jars are spent. The shelf holds 9 jars and the pantry 30 of each ingredient.contract.jsongains two new resources,pantryandspice. You can read and list only your own; nobody creates a pantry row or changes a jar through a door; you can craft (any signed-in user) and tip out your own jars. No existing cell is changed or loosened. Both have doors insrc/contract.test.ts, routes under/api/pantryand/api/spices, and a migration insrc/db.ts.contract/openapi.jsonis regenerated.Qor the Spice button picks a jar, then a click or tap throws it (Enterlobs it ahead,Escputs it away). The arc, zones, confused monsters and burning arrows are drawn, and the HUD shows what you carry and what you've picked up.spice_rackandcraft_spice.static/delve.js: it wrote to apartyHUD element that doesn't exist, which stopped the end-of-run screen from showing.Tests:
bun testpasses, 85 → 102. There are new tests for each effect in the sim, drops, the range and carry limits, crafting, settling, packing, the content checks, and the API and MCP. Three existing tests changed:game.test.ts: the "unknown order" message now liststhrow.content.test.ts: its set of content files now includesspices.json.game.test.ts: thechef()helper's type was tightened; behaviour is the same.Not done:
To try it: sign in, delve, kill things and open chests, then leave. Craft at the rack on
/, start another delve, pressQand click.🤖 Generated with Claude Code
Closes #7