Food Mill & bazaar variety
Optional Enhanced feature: bazaars fill food variety before pottery, and a Food Mill stages mixed foods for smarter buyers. Default is OFF (original Pharaoh buyer priorities).
What it does
- Enable bazaar food variety + Food Mill under Features → Gameplay (gameplay_enhanced_food_mill).
- Even without a mill, bazaars prefer understocked foods over empty goods until they hold enough distinct food types.
- Build a Food Mill from Distribution (next to Granary) when the flag is on — placeholder green cubes until art lands.
- Set mill orders to GET foods from granaries / storage yards. Farms still deliver to granaries first.
- On the bazaar Orders panel, set Desired / Minimum food variety (defaults 2 / 1).
This is not Pharaoh/Cleopatra parity — inspired by Emperor: Rise of the Middle Kingdom mills, without salt/spices. House evolution still uses ordinary food slots (no quality token in homes).
Without a mill (Slice B)
While the bazaar inventory has fewer than Desired food types (capped by how many foods the city allows and the bazaar accepts), buyers fetch foods before empty pottery/linen/etc. If no food is available anywhere, they still fall back to goods so the city does not soft-lock.
With multi-buyer bazaars also enabled, complementary “goods first while a food buyer is out” is suspended until variety is satisfied.
Food Mill
| Field | v1 |
|---|---|
| Size / labor | 3×3, Food Production category (~12 workers) |
| Capacity | Food only; per-type cap (default 800) + total capacity |
| Quality label | Number of distinct foods in stock: Bland → Tasty (0–4) |
| City food months | Staffed mill stock (≥50% workers, road access) counts like granary food |
Bazaars prefer a staffed mill on the same road network for foods it holds; missing types still come from granary/yard. If some mill has partial variety below your Minimum and none meet the minimum, buyers wait (no pottery substitute). Empty mills do not block granary fetches.
Bazaar orders (flag ON)
- Desired food types — Slice B target and how many distinct foods a mill visit may take in one trip (loop pickup with delivery boys).
- Minimum mill variety — wait while mills are partially stocked below this level (default 1 → wait mainly when you raise it to 2+).
The bazaar info panel shows Waiting for mill food variety when that wait is active.
Supply chain
Related: Bazaar (multi-buyer is a separate flag).
Developer Reference
Flag: gameplay_enhanced_food_mill (default OFF)
Engine: src/building/building_food_mill.*, building_bazaar.*, figure_market_buyer.*, city_resource.cpp (mill in food months)
UI: src/scripts/ui_food_mill_info.js, ui_bazaar_orders_window.js
Overlay: Food Stocks lists BUILDING_FOOD_MILL
Tests: tests/149_bazaar_food_variety.js, 153|155|156_food_mill*.js, 159_bazaar_mill_buyer.js
Save: bazaar desired_variety / min_variety from version 185