Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Recipes that imply using a clay canning pot/canning pot don't work even if you fulfill all requirements #65679

Closed
Kordian459 opened this issue May 16, 2023 · 9 comments
Labels
<Bug> This needs to be fixed [C++] Changes (can be) made in C++. Previously named `Code` Crafting / Construction / Recipes Includes: Uncrafting / Disassembling (P2 - High) High priority (for ex. important bugfixes) (S2 - Confirmed) Bug that's been confirmed to exist

Comments

@Kordian459
Copy link

Describe the bug

I was trying to craft a 3L jug tomato sauce.
Had all components and tools required but the game doesn't allow me to start crafting.
Had the crafting book I needed in my inventory.
Tested with "nearby fire" and oven with full powered hotplate.
Also tested 0.5 L jug fruit jam, doesn't work.
"Byproduct: clean water" stays grey.

Tested similar recipes that use "pressure cooker" and have similar issues.

Attach save file

N/A

Steps to reproduce

  1. get all tools needed for 3L jug tomato sauce
  2. get all components needed for 3L jug tomato sauce
  3. get an heating source (fire or electricity powered tools)
  4. get a crafting book with 3L jug tomato sauce (like You Can Can At Home or Cucina Italiana)
  5. try to craft 3L jug tomato sauce
  6. game will show you that you have all requirements fulfilled (green lighted)
  7. Byproduct line will stay grey
  8. game won't allow you to craft this recipe

Expected behavior

I'd expect to be able to craft my 3L tomato sauce jar

Screenshots

Immagine

Versions and configuration

  • OS: Windows
    • OS Version: 10.0.19044.2965 (21H2)
  • Game Version: a5245ca [64-bit]
  • Graphics Version: Tiles
  • Game Language: English [en]
  • Mods loaded: [
    Dark Days Ahead [dda],
    Disable NPC Needs [no_npc_food],
    Portal Storms Ignore NPCs [personal_portal_storms],
    No Fungal Growth [no_fungal_growth],
    Bionic Professions [package_bionic_professions],
    Mining Mod [Mining_Mod],
    Mythical Martial Arts [MMA],
    MSX Alternative Floor Tiles [UDP_Old_Floor],
    MSX Black Military Cars [UDP_BlackMilitaryCars],
    MSX Fake Snow [UDP_BN_FAKE_SNOW]
    ]

Additional context

No response

@Kordian459 Kordian459 added the (S1 - Need confirmation) Report waiting on confirmation of reproducibility label May 16, 2023
@RenechCDDA
Copy link
Member

RenechCDDA commented May 16, 2023

No idea what is going on here but something that immediately strikes me is that the acid portion of the recipe is missing.

{
"type": "recipe",
"activity_level": "NO_EXERCISE",
"result": "sauce_red",
"id_suffix": "jarred_3l",
"byproducts": [ [ "water_clean", 12 ] ],
"container": "jar_3l_glass_sealed",
"category": "CC_FOOD",
"subcategory": "CSC_FOOD_VEGGI",
"skill_used": "cooking",
"difficulty": 4,
"time": "2 h",
"charges": 48,
"book_learn": [ [ "cookbook_italian", 4 ], [ "manual_canning", 3 ] ],
"proficiencies": [ { "proficiency": "prof_food_prep" }, { "proficiency": "prof_preservation" }, { "proficiency": "prof_food_canning" } ],
"batch_time_factors": [ 80, 4 ],
"using": [ [ "canning_low_heat", 6, "LIST" ] ],
"//": "https://www.clemson.edu/extension/food/canning/canning-tips/32acidifying-pressure-canned-tomatoes.html",
"//1": "Tomatoes are borderline and should be pressure canned and acidified for maximum safety.",
"//2": "pressure canning is measured in 0.5 liter quantities, so 6u of canning_high_heat.",
"components": [
[ [ "jar_3l_glass_sealed", 1 ] ],
[ [ "water_clean", 12 ] ],
[ [ "can_tomato", 24 ], [ "tomato", 24 ], [ "irradiated_tomato", 24 ] ],
[ [ "canning_acid_large", 1, "LIST" ] ]
]
},

@Karol1223
Copy link
Contributor

Karol1223 commented May 16, 2023

It looks like the problem that happens when you're trying to use cooking oil as both a tool and an ingredient. If your water is all in the same container it may consider it one item and fail, thinking that since it's just one item it can't be used for both tool and ingredient purposes at the same time. Try splitting it into separate containers.

...or maybe it tries to give back the byproduct water but doesn't register as you having a viable container to put it in?

@RenechCDDA
Copy link
Member

Debugging hammerspace gives us an actual error message:
image

It does not like that the tools and components (clean water) are the same.

@Karol1223
Copy link
Contributor

Ah so it IS the same problem as with the cooking oil. Well, and here I was thinking it was just a display error and not an actual problem...

@RenechCDDA
Copy link
Member

I've confirmed this issue goes all the way back to the merging commit for the cooking energy cost rebalance (4508944).

So it was not broken by a subsequent change.

@RenechCDDA RenechCDDA added <Bug> This needs to be fixed (S2 - Confirmed) Bug that's been confirmed to exist (P2 - High) High priority (for ex. important bugfixes) Crafting / Construction / Recipes Includes: Uncrafting / Disassembling [C++] Changes (can be) made in C++. Previously named `Code` and removed (S1 - Need confirmation) Report waiting on confirmation of reproducibility labels May 16, 2023
@RenechCDDA
Copy link
Member

Interestingly, if we remove the canning_acid_large component (which isn't showing up in the GUI for some reason) it actually works.

Doubly interestingly, removing the using canning_low_heat entry does not allow it to work.

Ah and.... canning_acid_large needs to be components not tools. Trying to define a second set of tools silently fails!

"id": "canning_acid_large",
"type": "requirement",
"//": "acidic additives to lower PH and prevent the growth of botulinum, for a 3L jar.",
"//1": "lemon is about 20-25% juice by weight. Formic acid is non toxic and can be safely ingested in dilute amounts.",
"//2": "Even many pressure canning recipes should require this for safety.",
"tools": [ [ [ "chem_citric_acid", 6 ], [ "formic_acid", 2 ], [ "lemon", 1 ], [ "irradiated_lemon", 1 ], [ "vinegar", 6 ] ] ]
},

So we have two issues.

First, the direct symptom: canning_acid_large needs to be components! Simple json fix.

Second, including a requirements set like that silently fails... this needs fixing on the back-end.

@RenechCDDA
Copy link
Member

Second, including a requirements set like that silently fails... this needs fixing on the back-end.

Aaand this part is going to be someone else's problem as I have become thoroughly convinced it's outside my abilities.

@GuardianDll
Copy link
Member

what about close this one as fixed by #65761, and make a new, that specify the silent fail issue separately?

@I-am-Erk
Copy link
Member

I-am-Erk commented Apr 2, 2024

I agree with GuardianDLL, it sounds like this was closed by #65761 but if nobody's done it yet, the silent fail should probably get an issue post.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
<Bug> This needs to be fixed [C++] Changes (can be) made in C++. Previously named `Code` Crafting / Construction / Recipes Includes: Uncrafting / Disassembling (P2 - High) High priority (for ex. important bugfixes) (S2 - Confirmed) Bug that's been confirmed to exist
Projects
Status: Completed
Development

No branches or pull requests

5 participants