Just a random list of ideas:
- Edible items should have a tag called [FOOD], which can have stuff defined under it.
First, some cosmetic attributes to food to add depth
- There should be flavors, which Dwarves can have personal preferences about. For example: [FLAVOR:SALTY]. These flavors are combined in cooking and the quality is based on a defined set of good and bad combinations.
- There should be textures, which Dwarves wouldn’t have preferences about, but rather they may not like certain textures, like chewy or crunchy.
- Some foods should also be edible by certain pets, and sometimes pets can be fed these foods.
- Foods should have recipes, defined with [RECIPE] under [FOOD]
- Some selectors such as GRAIN, SUGAR, ADD-IN, etc.
- These selectors should also be defined under items, outside of [FOOD], using [FOOD_INGREDIENT]
- These would be put together like this: [RECIPE:GRAIN:2:SALT:1:ADD-IN:OPTIONAL] (optional would be added based on preference or request.
- Dwarves should have preference for certain types of foods, and request certain foods with recipes defined, possibly asking for certain main ingredients based on taste preference. (Main ingredients are the first ones in the recipe.)
- There should also be preference for fresh fruits and vegetables, and this could be weighted for elves.
- Chefs should be more advanced than just a profession
- Chefs can be assigned to certain people, and it could be a requirement for nobles (I don’t care how annoying that sounds)
- Chefs should cook upon request or payment (when economy is back) Some nobles should have priority.
- Kitchens should be activity zones and ovens should be buildable. Kitchens’ capacity depends on the chef assigned to it and how many ovens/ingredient containers are available. Higher capacity means more requests at once, possibly to the extent of multiple chefs being assigned at once.
- Possibly a placement for foods that are finished where they cannot rot
- Assigning waiting rooms, or setting taverns as waiting places. Waiting and claims on food are cancelled if a priority (eg. Military duty where invaders are involved)