Cataclysm-DDA icon indicating copy to clipboard operation
Cataclysm-DDA copied to clipboard

invalid recipe id "meal_bone_mill...

Open IdleSol opened this issue 1 year ago • 4 comments

Describe the bug

Examine the tiny canine skull

 DEBUG    : invalid recipe id "meal_bone_mill_2_1"

 FUNCTION : const T& string_id<T>::obj() const [with T = recipe]
 FILE     : src/recipe_dictionary.cpp
 LINE     : 66
 VERSION  : cdda-experimental-2024-09-10-0339 c73e4c6

Examine the small canine skull

 DEBUG    : invalid recipe id "meal_bone_mill_1_1"

 FUNCTION : const T& string_id<T>::obj() const [with T = recipe]
 FILE     : src/recipe_dictionary.cpp
 LINE     : 66
 VERSION  : cdda-experimental-2024-09-10-0339 c73e4c6

Attach save file

n/a

Steps to reproduce

Kill and butcher a dachshund (small) and a dachshund puppy (tiny). Check the skull

Expected behavior

n/a

Screenshots

No response

Versions and configuration

  • OS: Windows
    • OS Version: 10.0.19043 (21H1)
  • Game Version: cdda-experimental-2024-09-10-0339 c73e4c6 [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], Slowdown Fungal Growth [no_fungal_growth] ]

Additional context

Skull spawning causes the game to crash

  • #76332

IdleSol avatar Sep 10 '24 15:09 IdleSol

Looks like I made a bad assumption about how milling recipes are added when adding those. Would have expected it to throw errors on load, though...

EDIT: Or not? It seems there are no manually written milling recipes anywhere in the JSON to things I didn't touch either. Weird.

Karol1223 avatar Sep 10 '24 15:09 Karol1223

no manually written milling recipe

check
https://github.com/CleverRaven/Cataclysm-DDA/blob/98be1d4185bb06b07b18929057fef378eefd2f9e/data/json/recipes/food/milling.json#L562-L580 It looks like if there is meal_bone_mill_1_4 - there should be "result": "meal_bone" with "id_suffix": "mill_1_4",

Like this. This seems to fix 2_1 and 1_1 skulls from bone.json:

[
  {
    "id": "skull_small",
    "type": "requirement",
    "//": "Small skulls",
    "components": [ [ [ "skull_feline_small", 1 ], [ "skull_canis_small", 1 ], [ "skull_opossum", 1 ], [ "skull_skunk", 1 ] ] ]
  },
  {
    "id": "skull_medium",
    "type": "requirement",
    "//": "Medium skulls",
    "components": [ [ [ "skull_feline_medium", 1 ], [ "skull_canis_medium", 1 ], [ "skull_raccoon", 1 ], [ "skull_rabbit", 1 ] ] ]
  },
  {
    "//": "For use by mills, so the only entries used are the charges and components.",
    "//1": "Note that there should only be a single component with no extras such as lubricants, etc.",
    "result": "meal_bone",
    "type": "recipe",
    "activity_level": "NO_EXERCISE",
    "id_suffix": "mill_2_1",
    "category": "CC_FOOD",
    "subcategory": "CSC_FOOD_OTHER",
    "skill_used": "cooking",
    "difficulty": 2,
    "charges": 1,
    "time": "0 s",
    "autolearn": false,
    "flags": [ "SECRET" ],
    "tools": [  ],
    "components": [ [ [ "skull_small", 2, "LIST" ] ] ]
  },
  {
    "//": "For use by mills, so the only entries used are the charges and components.",
    "//1": "Note that there should only be a single component with no extras such as lubricants, etc.",
    "result": "meal_bone",
    "type": "recipe",
    "activity_level": "NO_EXERCISE",
    "id_suffix": "mill_1_1",
    "category": "CC_FOOD",
    "subcategory": "CSC_FOOD_OTHER",
    "skill_used": "cooking",
    "difficulty": 2,
    "charges": 1,
    "time": "0 s",
    "autolearn": false,
    "flags": [ "SECRET" ],
    "tools": [  ],
    "components": [ [ [ "skull_medium", 1, "LIST" ] ] ]
  }
]

HadeanLake avatar Sep 10 '24 18:09 HadeanLake

check

Ah I was searching for the full ID, didn't expect an ID suffix. That explains it. I can fix that up when PRs can be merged again, currently the Basic Build seems to be failing on everything.

Karol1223 avatar Sep 10 '24 18:09 Karol1223

Yes, the fact that the milling recipe are made from a base and a suffix has the unfortunate effect of them not being found via a normal search.

PatrikLundell avatar Sep 11 '24 09:09 PatrikLundell