CleverRaven / Cataclysm-DDA

Cataclysm - Dark Days Ahead. A turn-based survival game set in a post-apocalyptic world.
http://cataclysmdda.org
Other
10.26k stars 4.12k forks source link

Several Food Items Spawn Without Vitamins #75791

Open JeveGreen opened 4 weeks ago

JeveGreen commented 4 weeks ago

Describe the bug

What it says on the tin. Some of the ones I've personally encountered includes fruit jam, mayonnaise, BBQ sauce, honey mustard, human organs (all of them except the meat) and butter.

Attach save file

debug.log

Steps to reproduce

  1. Spawn any of the affected items.
  2. No vitamins. :(

Expected behavior

Food spawning with vitamins. :)

Screenshots

No response

Versions and configuration

Additional context

I'm told this is a problem with the new vitamin code that affects a number of items, so while I listed off some examples I'm certain that I haven't seen every affected item. So for anyone passing by, feel free to add any other items you've seen without vitamins.

PatrikLundell commented 4 weeks ago

When it comes to human organs I suspect the copy-from logic is used incorrectly for vitamins as it seems the implementation assumes a vitamin entry extends the entry of the copied item. Unless vitamins are handled differently from other entries, you'd need to use the extend logic to extend, otherwise you replace. See #75540 for this.

Karol1223 commented 4 weeks ago

75426 is likely what caused this sort of stuff with the organs. I noticed this happening with a bunch of bird eggs as well, where they lost their egg allergen.

Its also worth pointing out not all food is supposed to spawn with vitamins. Fruit jam comes to mind - in JSON the only vitamin it has is the fruit allergen. Should it have some token vitamin content? Probably. But the bug here isn't the spawning.

GuardianDll commented 4 weeks ago

Just to clarify, the food should have vitamin definition in json always - if food is crafted by player, vitamins in json are simply not used, and picked from ingredients (unless NUTRIENT_OVERRIDE flag is used), but if it's spawned naturally, vitamin definition in json is used

Human organs is a separate issue, posted by Patrik, and it's tad more difficult than this

JeveGreen commented 2 weeks ago

So it looks like human organs have been fixed, which is great. But stuff like butter and fruit jam still spawn without vitamins, which sucks.

Karol1223 commented 2 weeks ago

Do you mean that they spawn without any vitamins, or with only allergen vitamins? If it's the latter, that's not a bug at all.

JeveGreen commented 2 weeks ago

Do you mean that they spawn without any vitamins, or with only allergen vitamins? If it's the latter, that's not a bug at all.

I mean the "actual" vitamins, not the allergens. Unless the butter in Cataclysm magically got rid of all of its calcium, for example.