Mods / Gourmand

Category: #Food #Other
Author: bluelightning32
Side: Both
Created: Sep 7th at 9:50 PM
Last modified: 23 hours ago
Downloads: 866
Follow Unfollow 29

Latest file for v1.19.8:
gourmand_1.2.4.zip 1-click install


Gourmand gives a health reward for eating a greater variety of foods and using the various food mechanics in the game. The goal is to encourage the player to grow more foods, preserve more foods, forage more foods, and use more cooking mechanics.

The player is granted food points for eating foods that meet the criteria of the food achievements. Each achievement can only be earned once (unless it is forgotten through death). So that eating another food in the same category does not earn any additional points. The food points are converted into health points using a semi-logarithmic function.

When the player dies, 30% of their achieved foods are lost (configurable with the gourmandDeathPenalty worldconfig).

The design doc has more details about the internals of the mod.

Food achievements

  • Food types - 1 point for each food code
  • Meals - 10 points per type of meal (like meatystew), with a bonus of 100 after eating all 6 types
    • Bonus after eating all 10 meal types with Expanded Foods
  • Pies - 2 points per type of pie, with a bonus of 100 points after eating 32 types
    • Bonus after eating 217 with Expanded Foods
  • Pickled foods
  • Breads
  • Climate spanning - 50 points for eating meals that require crops from hot and cold climates
  • Mushrooms
  • Juices
  • Ciders
  • Poisons
  • Alcohol types
  • Expanded Foods only achievements
    • Sweet and savory treats
    • Sushi
    • Fried foods
    • Deluxe fried foods
    • Hardtack bake levels

Finding what to eat next

Open the character dialog ('c' hotkey), and go to the Gourmand tab. First it lists any foods that were lost through death. You likely have these ingredients on hand and want to eat these again first. Following that, it shows all of the food categories and any foods that have not been eaten yet in that category.

FAQ

Instead of rewarding the player for eating a variety of foods, can you punish them for eating the same food too often?

The base game already punishes the player for eating too narrow of a diet. There's not much room for improvement on this mechanic.

Can you give a greater variety of buffs than just increased health?

There are other mods that provide buffs to other stats, like foraging. Adding those buffs in Gourmand would cause some server owners to view Gourmand as conflicting with those other mods or the class system.

Also Elephant Studios is working on a mod called Gluttony that would give a variety of buffs for eating different foods.

Contributors

  • DeanBro - Ukrainian translation
  • - Expanded Foods achievements

 

Discord

Version For Game version Downloads Release date Changelog Download 1-click mod install*
v1.2.4 29 23 hours ago Show gourmand_1.2.4.zip Install now
v1.2.3 199 Oct 2nd at 8:21 AM Show gourmand_1.2.3.zip Install now
v1.2.2 22 Oct 2nd at 6:01 AM Show gourmand_1.2.2.zip Install now
v1.2.1 23 Oct 2nd at 3:43 AM Show gourmand_1.2.1.zip Install now
v1.2.0 50 Oct 1st at 7:39 AM Show gourmand_1.2.0.zip Install now
v1.1.0 94 Sep 28th at 3:48 AM Show gourmand_1.1.0.zip Install now
v1.0.1 205 Sep 17th at 3:36 AM Show gourmand_1.0.1.zip Install now
v1.0.0 61 Sep 16th at 12:39 AM Show gourmand_1.0.0.zip Install now
v0.9.1 111 Sep 8th at 8:45 AM Show gourmand_0.9.1.zip Install now
v0.9.0 30 Sep 8th at 3:45 AM Show gourmand_0.9.0.zip Install now
v0.8.0 42 Sep 7th at 9:51 PM Show gourmand.zip Install now

17 Comments (oldest first | newest first)

💬 bluelightning32Author, 1 day ago

Kattifnatt in the future, please use the issue tracker for bugs. I copied your bug report into https://github.com/bluelightning32/vs-gourmand/issues/4.

💬 Kattifnatt, 1 day ago

Very awesome mod! 👌

I just ran into an issue where my game crashes when I click the Gourmand-tab in the character menu. I can't figure out why it keeps happening but here is the crash report:


Running on 64 bit Windows 10.0.22631.0 with 32620 MB RAM
Game Version: v1.19.8 (Stable)
2024-10-09 01:29:20: Critical error occurred in the following mod: gourmand@1.2.3
Loaded Mods: acorns@0.5.3, aculinaryartillery@1.1.4, irregularguybetterjam@1.0.0, chiseltools@1.11.3, distillationinfo@1.0.0, hqzlights@1.1.1, geodesandgemstones@1.1.1, hideandfabric@1.3.0, mycodiversity@1.0.1, nailsmold@1.0.1, oils@1.2.2, plumpkins@1.0.3, primitivesurvival@3.5.2, roas@1.0.0, she1fish@1.2.0, visibleore@1.0.1, game@1.19.8, vtr@1.0.1, wlts@1.0.0, ancienttools@1.5.18, animalcages@3.0.2, egocaribautomapmarkers@3.1.0, betterfirepit@1.1.4, betterhoe@1.1.2, butterflycases@1.0.1, carryon@1.7.4, commonlib@2.3.7, expandedfoods@1.6.9, foodshelves@1.3.1, fromgoldencombs@1.5.1, gourmand@1.2.3, hudclock@3.4.0, sailboat@1.3.0, levelup@1.2.5, manualdough@1.0.2, moreanimals@1.3.3, spearexpantion@0.1.4, petai@2.2.4, claywheel@1.1.1, prospecttogether@1.3.0, rivers@2.7.0, scythemold@1.0.1, creative@1.19.8, vsimgui@1.1.3, survival@1.19.8, workbenchexpansion@1.8.0, configlib@1.3.5, em@2.6.3, kevinsfurniture@1.0.0, playercorpse@1.9.0, shearlib@1.0.0, slanted_display_cases@1.3.2, stonequarry@3.2.1, xinvtweaks@1.6.1, statushudcont@2.1.1, tailorsdelight@1.5.8, wool@1.2.0, upholstery@1.0.0
System.ArgumentException: Supplied slot is not part of this inventory (dummy-1784)!
at Vintagestory.API.Common.InventoryBase.DidModifyItemSlot(ItemSlot slot, ItemStack extractedStack) in VintagestoryApi\Common\Inventory\InventoryBase.cs:line 480
at Vintagestory.API.Common.ItemSlot.MarkDirty() in VintagestoryApi\Common\Inventory\ItemSlot.cs:line 456
at Vintagestory.GameContent.BlockMeal.UpdateAndGetTransitionStates(IWorldAccessor world, ItemSlot inslot) in VSSurvivalMod\Systems\Cooking\BlockMeal.cs:line 871
at Vintagestory.API.Common.CollectibleObject.UpdateAndGetTransitionState(IWorldAccessor world, ItemSlot inslot, EnumTransitionType type) in VintagestoryApi\Common\Collectible\Collectible.cs:line 2403
at Vintagestory.Client.NoObf.InventoryItemRenderer.GetItemStackRenderInfo(ClientMain game, ItemSlot inSlot, EnumItemRenderTarget target, Single dt) in VintagestoryLib\Client\Render\InventoryItemRenderer.cs:line 315
at Vintagestory.Client.NoObf.InventoryItemRenderer.RenderItemstackToGui(ItemSlot inSlot, Double posX, Double posY, Double posZ, Single size, Int32 color, Single dt, Boolean shading, Boolean origRotate, Boolean showStackSize) in VintagestoryLib\Client\Render\InventoryItemRenderer.cs:line 194
at Vintagestory.Client.NoObf.RenderAPIGame.RenderItemstackToGui(ItemSlot inSlot, Double posX, Double posY, Double posZ, Single size, Int32 color, Boolean shading, Boolean rotate, Boolean showStacksize) in VintagestoryLib\Client\API\RenderAPIGame.cs:line 274
at Vintagestory.API.Client.SlideshowItemstackTextComponent.RenderInteractiveElements(Single deltaTime, Double renderX, Double renderY, Double renderZ) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\Text\Richtext\SlideshowItemstackTextComponent.cs:line 211
at Vintagestory.API.Client.GuiElementRichtext.RenderInteractiveElements(Single deltaTime) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\Text\GuiElementRichtext.cs:line 484
at Vintagestory.API.Client.GuiComposer.Render(Single deltaTime) in VintagestoryApi\Client\UI\GuiComposer.cs:line 716
at Gourmand.Gui.GuiDialogPatch.OnRenderGUI(GuiDialogCharacter __instance, Single deltaTime, Int32& ___curTab, Matrixf& ___mat, Vec4f& ___lighPos, ElementBounds& ___insetSlotBounds, Single& ___yaw, Boolean& ___rotateCharacter)
at Vintagestory.Client.NoObf.GuiDialogCharacter.OnRenderGUI_Patch1(GuiDialogCharacter this, Single deltaTime)
at Vintagestory.Client.NoObf.GuiManager.OnRenderFrameGUI(Single deltaTime) in VintagestoryLib\Client\Systems\Gui\GuiManager.cs:line 318
at Vintagestory.Client.NoObf.ClientEventManager.TriggerRenderStage(EnumRenderStage stage, Single dt) in VintagestoryLib\Client\Util\ClientEventManager.cs:line 186
at Vintagestory.Client.NoObf.ClientMain.TriggerRenderStage(EnumRenderStage stage, Single dt) in VintagestoryLib\Client\ClientMain.cs:line 809
at Vintagestory.Client.NoObf.ClientMain.RenderToDefaultFramebuffer(Single dt) in VintagestoryLib\Client\ClientMain.cs:line 1013
at Vintagestory.Client.ScreenManager.Render(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 676
at Vintagestory.Client.ScreenManager.OnNewFrame(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 651
at Vintagestory.Client.NoObf.ClientPlatformWindows.window_RenderFrame(FrameEventArgs e) in VintagestoryLib\Client\ClientPlatform\GameWindow.cs:line 88
at OpenTK.Windowing.Desktop.GameWindow.Run()
at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs) in VintagestoryLib\Client\ClientProgram.cs:line 324
at Vintagestory.Client.ClientProgram.<>c__DisplayClass9_0.<.ctor>b__1() in VintagestoryLib\Client\ClientProgram.cs:line 128
at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 93

 
 
 
 
 
 
💬 l33tmaan, 6 days ago

Oh, sick mod... I'll have to run it on my server to see how it feels!

💬 bluelightning32Author, 6 days ago

lord_luba yes, it is certainly possible to add compatibility for more mods. However, it takes quite a bit of work to design good food achievements for a mod. After the design, it also takes some work to code them up.

Can you do the initial design and propose how the achievements should be modified? That's what Kwehlani did on Discord for Expanded Foods. If you don't like Discord, you can also send me the proposed achievements on the issue tracker.

💬 lord_luba, 6 days ago

Great addition to my modlist, thank you.

Question: Would it be possible or more like would you mind spending time to also add compatibility to Wildcraft mods as well?

💬 Kwehlani, Sep 25th at 6:59 AM

bluelightning32 Hey! I used Expanded Foods during my last playthrough and can try to take a look into helping expand objectives for it. :)

💬 bluelightning32Author, Sep 21st at 1:09 AM

Quiche sorry, I can't reproduce it. This is probably going to take some back and forth to fix. Can you file a bug in the issue tracker with more info? You can also ping me on Discord.

💬 Quiche, Sep 20th at 8:51 PM

Very curious bug! Seems that when it is dark that the info box gets nighttime as well?

💬 bluelightning32Author, Sep 17th at 3:39 AM

DeanBro thanks, I added it to the 1.0.1 release.

💬 DeanBro, Sep 16th at 8:41 AM

Hi bluelightning32

I made a translation for your mod

💬 Quiche, Sep 16th at 1:38 AM

Looking forward to testing this and hopefully implementing this on our server. Gourmand seems like a very fun way to buff up, RP moments to order specific foods and motivate cooks sell more than just super pies and god breads.

💬 bluelightning32Author, Sep 14th at 10:30 AM

Buggi Thanks

💬 Buggi, Sep 12th at 6:26 PM

Congrats on the debut of your new mod!

💬 Parvum, Sep 9th at 3:47 PM

I'm still in the phase of playing vintage story more than designing mods for it, so I haven't played with expanded foods yet-- I'm eyeing it for a future run after I've had my fill and done most of the things in the base game. But if you still need this sort of thing by the time I'm actually exploring it I'll offer what I can.

💬 bluelightning32Author, Sep 9th at 1:30 AM

Parvum I haven't tested compatibility with Expanded Foods. The food achievements are written in a very extensible way. My guess is that most of the expanded foods would be recognized, but they may end up adding more values to the existing achievements, and thus end up with completion bonuses that are too low (too each to achieve). Any feedback from play testing with the mod would be appreciated.

The bigger issue is that Gourmand doesn't have any achievements specifically designed around Expanded Foods. This is the part I really need help on. I haven't used Expanded Foods enough to know what all the mechanics are, and how much the player should be rewarded for trying them (how difficult they are). If you can design some Expanded Foods achievements for me, please use a format similar to the "Food achievements" section of the design doc. Basically:

  1. How does rewarding the player for eating that food make the game richer?
  2. How many points should each food be worth? Players should be rewarded more points based on the difficulty of the food.
  3. A list of example foods that satisfy the achievement.
  4. Should the player be rewarded for completing most of foods in the achievement? If so, after how many? Knowing how many possible values there are helps for setting the completion bonus target.

I can translate that info into the matchers that the Gourmand uses to identify the foods. The matchers a little complicated because many of the foods share the same block code (such as game:bowl-meal) but represent different foods based on the item stack attributes. Also Gourmand has to be able to both match foods and enumerate foods that match achievements, whereas the game never enumerates most of the foods (most pies and meals are not shown in the handbook).

If you're up for it, you can send me the info on Discord. You can find me in the main Vintage Story Discord server.

💬 Parvum, Sep 8th at 8:55 PM

Does this mod recognize all the different foods from Expanded Food?

💬 LarekFlynn, Sep 8th at 8:29 AM

That changlog for 9.0 is not what I thought I' d see in this game lol

(edit comment delete)