CleverRaven / Cataclysm-DDA

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

Autolearned recipes need an audit. #37122

Closed I-am-Erk closed 9 months ago

I-am-Erk commented 4 years ago

Is your feature request related to a problem? Please describe.
Many recipes are autolearned currently when they are non-trivial things that you can't just 'figure out'. For example, making hard cheese or sauerkraut. Even sausages aren't that easy to make without some sort of guide. I'm a very skilled and experienced cook (I have a chemistry degree so officially in game my cooking skill must be at least 8) and I would need a guide to do any of those things, except sauerkraut because I'm a great krauter - because I learned how to do it from a book.

Describe the solution you'd like
A careful audit of autolearned recipes. Especially at higher levels, autolearning should be the exception, not the rule.

Reducing the number of autolearned recipes and moving them to recipe books would allow the creation of many more recipe books, which in turn would reduce the ability to gain all crafting knowledge from a handful of books.

Describe alternatives you've considered
We have other ways to fix book learning too, like proficiencies, but this is an important step.

Additional context
This issue should be solved bit by bit, not as a single giant PR. someone could go make a book on fermenting or cheese making and move the recipes to that and off autolearn.

ralreegorganon commented 4 years ago

In case it helps, here's everything that is currently auto-learned. List was generated using jq like this:

jq 'map(select(.autolearn == false or .autolearn == null | not )) | .[] | { result:.result, id_suffix:.id_suffix, autolearn:.autolearn, skills_required:.skills_required, skill_used:.skill_used, difficulty:.difficulty } | .result + " " + .id_suffix' data/json/recipes/**/*.json

where striking the last | .result + " " + .id_suffix will provide a json object with the various attributes that control the actual auto-learn requirements, e.g.:

{
  "result": "survivor_machete",
  "autolearn": true,
  "skills_required": [
    "melee",
    5
  ],
  "skill_used": "fabrication",
  "difficulty": 6
}

or

{
  "result": "element",
  "autolearn": [
    [
      "electronics",
      3
    ]
  ],
  "skills_required": null,
  "skill_used": "electronics",
  "difficulty": 1
}

But just the list of IDs follows here. Note that in some cases the id is followed by the suffix, because multiple distinct recipes may produce the same result.

Current auto-learned recipes: ``` 2_shot_special 2byarm_guard 2byshin_guard 2h_flail_wood 2lcanteen 2x4 from wooden beams 30gal_barrel 30gal_drum from_scratch 30gal_drum welded 30gal_firebarrel 55gal_drum from_scratch 55gal_drum welded 55gal_firebarrel acid acid from batteries acidbomb acidchitin_plate acog_scope_mod acorn_roasted acorns_cooked acorns_cooked mortar adjustable_stock adobe_pallet_full almond_milk almond_milk mortar almond_roasted ammo_pouch ammo_satchel analytical_set_basic anesthetic_kit animal_locker animal_locker repurpose_wire_basket anvil anvil_bronze apple_canned apple_canned jarred apple_canned jarred_3l apple_cider apple_sugar vacuum_packed apron_leather ar10_makeshiftmag arm_splint arm_warmers arm_xlsplint armguard_acidchitin armguard_chitin armguard_larmor armguard_metal armguard_paper armguard_scrap armor_acidchitin armor_chitin armor_farmor armor_larmor armor_nomad armor_nomad_light armor_scavenger armor_scrapsuit arrow_field_point_fletched arrow_fire_hardened_fletched arrow_heavy_field_point_fletched arrow_heavy_fire_hardened_fletched arrow_metal_sharpened_fletched arrow_plastic arrow_small_game_fletched arrow_wood arrow_wood_heavy arrowrest ash ashot atomic_coffee attached_ear_plugs_off aux_flamer aux_pressurized_tank awl_bone awl_steel ax axe_ring back_holster backpack backpack_hiking backpack_leather backpack_tactical_large bag_canvas bag_canvas_small balclava baldric ballistic_vest_esapi bandages bandages_makeshift bandages_makeshift_bleached bandages_makeshift_boiled bandana bandolier_pistol bandolier_rifle bandolier_shotgun bandolier_wrist basket bastsandals battery_ups battletorch bead_bracelet bead_necklace beans_cooked beansnrice bearing beartrap bee_balm_tea beet_syrup beret_wool bholster bigback bigun bike_basket bikini_bottom bikini_top bikini_top_fur bikini_top_leather bindle bipod bipod_mod birchbark_funnel birdfood biscuit blackjack blade blade from steel blade_scythe blanket blazer blindfold blindfold from_tape blt blun_flechette blun_shot blun_shot using_big_scrap blun_slug blun_slug using_lead blunderbuss board_trap board_trap use_nailboards boat_board boiled_egg bolas bologna bolt_crude bolt_makeshift bolt_metal bolt_simple_small_game bolt_simple_wood bolt_wood bolt_wood_bodkin bolt_wood_small_game boltcutters bone_flute bone_glue bone_plate bookplate boots boots_acidchitin boots_chitin boots_fsurvivor boots_fur boots_h20survivor boots_hsurvivor boots_larmor boots_lsurvivor boots_scrap boots_survivor boots_winter boots_wsurvivor boots_xlsurvivor bootsheath bootstrap bottle_metal bottle_plastic bottle_plastic_small bottle_suppressor bottle_twoliter bow_sight bow_sight_pin bow_sling bow_stabilizer bowl_clay bowl_plastic bowling_axe boxer_briefs boxer_shorts boxpack boy_shorts bp_shot_scrap bra brain_cooked brandy brass_catcher bratwurst_sausage brazier bread brew_fruit_wine brew_mead brew_milk_curdled brew_mycus_wine brew_vinegar brew_vodka brick brick_kiln briefcase_smg briefs brioche broth broth canned broth jarred broth jarred_3l broth_bone broth_bone canned broth_bone jarred broth_bone jarred_3l bscabbard bucket buckwheat_cooked bullwhip bundle_leather bundle_rag bundle_wool bwirebat cable cac2powder cake2 caltrops caltrops from wire caltrops_glass camera_control can_beans can_beans jarred can_beans jarred_3l can_bomb can_chowder can_coconut can_medium_unsealed can_sealer can_tomato can_tomato jarred can_tomato jarred_3l candle canister_empty canister_goo canned_liver canned_liver jarred canteen canteen_wood carbine_flintlock carbine_flintlock_double carbine_flintlock_double from_antiques carding_paddles cargo_aisle cargo_lock cargo_rack catfood catfood canned catfood jarred catfood jarred_3l cattlefodder chai_tea chain chainmail_hauberk chainmail_suit chainmail_suit hauberk chaps_leather char_kiln char_purifier charcoal_cooker cheese_fries cheese_hard cheeseburger chem_acetic_acid chem_aluminium_powder chem_aluminium_sulphate chem_ammonium_nitrate chem_hydrogen_peroxide chem_manganese_dioxide chem_match_head_powder chem_methanol chem_methanol from wood chem_nitric_acid chem_saltpetre niter chem_sulphur chem_sulphuric_acid chem_thermite chem_zinc_powder chemical_thrower chestnut_roasted chestpouch chestrig chestwrap chestwrap_fur chestwrap_leather chestwrap_wool chicken_cage chicory_coffee chilidogs chilly-p chilly-p with_from_food_processor chipper chips2 chisel chitin_plate choc_pancakes choc_waffles choco_coffee_beans chocpretzels circsaw_blade claw_bar clay_canister clay_hydria clay_pot clay_pot_flower clay_quern clay_teapot clay_watercont cloak cloak_fur cloak_leather cloak_wool clogs coat_fur coat_gut coat_rain coffee coffee_raw coffee_raw_kentucky coffee_substitute coffee_syrup cola_meth combatnail combatsaw_off compositebow compositecrossbow con_milk con_milk canned con_milk jarred con_milk jarred_3l con_mix concrete cooked_cattail_stalk cooked_dinner cooked_pumpkin cookies cooking_oil cooking_oil2 copper_ax copper_knife cordage_36 cordage_6 cornbread corndogs_cooked cornmeal cornmeal mortar cornmeal with_from_food_processor cotton_ball cotton_ball by hand cowboy_hat cowl_wool cracklins crackpipe crafted_suppressor cranberry_juice crispycran crossbow_trap crowbar crucible_clay crude_firestarter crude_picklock cs_lajatang_off cu_pipe cudgel cuirass_scrap cured_hide cured_hide scraped cured_pelt curry_meat curry_veggy currywurst dandelion_cooked dandelion_fried decorative_wreath dehydrator deluxe_beans deluxe_beansnrice deluxe_eggs deluxe_eggs from_powder deluxe_rice deluxe_veggy_beans deluxe_veggy_beansnrice deluxe_veggy_rice digging_stick disincotton_ball disinfectant_makeshift disinrag distaff_spindle diveknife dogfood dogfood canned dogfood jarred dogfood jarred_3l donut_holes doublespeargun down_blanket down_mattress down_pillow dragonskin drink_beeknees drink_boozeberry drink_hobo drink_kalimotxo drink_martini drink_rumcola drink_screwdriver drink_sewerbrew drink_strawberry_surprise drink_wild_apple drink_wsour drinking_hat dry_beans dry_beans frozen_ingredients dry_fish dry_fish frozen_ingredients dry_fruit dry_fruit frozen_ingredients dry_lentils dry_lentils frozen_ingredients dry_meat dry_meat frozen_ingredients dry_meat_tainted dry_meat_tainted frozen_ingredients dry_mushroom dry_mushroom frozen_ingredients dry_tofu dry_tofu frozen_ingredients dry_veggy dry_veggy frozen_ingredients dry_veggy_tainted dry_veggy_tainted frozen_ingredients duffelbag duster duster_fur duster_leather duster_survivor e_combatsaw_off e_tool earthbag ecs_lajatang_off edamame_roasted eggs_ferment elbow_pads electrolysis_kit electronics_controls element fal_makeshiftmag felt_patch fencing_epee_sharpened fencing_foil_sharpened fencing_sabre_sharpened fertilizer_bomb fertilizer_liquid fertilizer_liquid simple fiber_mat fiddlehead_boiled fiddlehead_sauteed from_boiled fiddlehead_sauteed from_raw filter_suppressor fire_brick fire_drill fire_drill_large firecracker firecracker_pack fish_canned fish_canned jarred fish_canned jarred_3l fish_cooked fish_fried fish_pickled jarred fish_pickled jarred_3l fish_sandwich fish_smoked fishing_hook_basic fishing_hook_bone fishing_rod_basic fishspear flask_hip flask_yeast flatbread flintlock_ammo flintlock_pouch flintlock_shot flotation_vest_ms flour flour mortar flour with_from_food_processor foldframe folding_basket folding_stock foldwoodframe food_processor foot_crank footrags footrags_fur footrags_leather footrags_wool forge fragment_bomb frame frame_wood frame_wood_light frenchtoast fresh_fries fried_seeds fried_spam fruit_cooked fruit_leather fruit_pancakes fruit_waffles fsurvivor_suit fuel_bunker fungicidalbomb_makeshift funnel fur_blanket fur_rollmat fuse fuse with gunpowder fuse with paper & gunpowder g_shovel g3_makeshiftmag gambeson gasbomb_makeshift gasfilter_m gasfilter_s gasoline_cooker gasoline_lantern gauntlets_acidchitin gauntlets_chitin gauntlets_larmor gin from_mash glass_macuahuitl glass_sheet glass_shiv glasses_safety gloves_bag gloves_fingerless gloves_fingerless from patches gloves_fingerless_mod gloves_fsurvivor gloves_fur gloves_h20survivor gloves_hsurvivor gloves_leather gloves_light gloves_lsurvivor gloves_survivor gloves_survivor_fingerless gloves_wool gloves_wraps gloves_wraps_fur gloves_wraps_leather gloves_wraps_wool gloves_wsurvivor gloves_xlsurvivor goggles_swim goggles_welding granola greatcoat grenade_pouch grenadebandolier grip grip_hook grip_mod h20survivor_suit hacksaw hamburger hammer hammer_sledge hand_axe hand_drill hand_paddles hand_rims handrolled_cig hardtack hat_boonie hat_cotton hat_fur hat_hard hat_hard_hooded hat_hunting hat_knit hat_noise_cancelling hatchet hazelnut_roasted hdframe heavy_rail_rifle helmet_acidchitin helmet_chitin helmet_hsurvivor helmet_larmor helmet_nomad helmet_scavenger helmet_scrap helmet_survivor helmet_xlsurvivor helsing herbal_tea hickory_nut_roasted hide_bag hide_tainted_bag hinge hk417_makeshiftmag hobo_stove hoe hollow_cane holster holy_symbol_wood homemade_burrito homewrecker honey_bottled honey_bottled from_honey_glassed honey_glassed honey_gold hood_fsurvivor hood_h20survivor hood_lsurvivor hood_rain hood_survivor hood_wsurvivor hood_xlsurvivor hoodie hot_chocolate hotdogs_campfire hotdogs_cooked house_coat hstomach_boiled hsurvivor_suit human_cooked human_lard human_tallow humble_pie i_staff iceaxe icecream icecream_candy icecream_custard icecream_fruit icecream_sorbet icecream_yogurt iggaak insecticidalbomb_makeshift insta_salad irish_coffee it_battery_mount jacket_leather jacket_leather_mod jam_fruit jam_fruit jarred jam_fruit jarred_3L javelin javelin_bag javelin_iron jerky jerrycan jerrycan_big jerrycan_big welder jerrypack johnnycake joint jug_clay jug_plastic jug_plastic plastic-mod juice juice fresh jumper_cable jumper_cable_heavy keffiyeh keg_steel ketchup kevlar_armor_horse kiln kiln_full kitchen_unit knee_pads knife_bread knife_butcher knife_carving knife_chef knife_combat_mod knife_folding knife_meat_cleaver knife_paring knife_rambo knife_steak knife_vegetable_cleaver knit_scarf knitting_needles knuckle_nail knuckle_steel kompot kompot jarred kompot jarred_3l l_car_223 l_dsr_223 l_lmg_223 l_mbr_223 lajatang lamp_oil lard large_space_heater large_stomach_sealed large_tent_kit lasagne_raw laser_cannon launcher_simple lawn_dart leather leather_belt leather_funnel leather_harness_dog from_scratch leather_pouch leather_tarp leatherbone_armor_horse from_leatherarmor leatherbone_harness_dog from_leatherharness leatherbone_harness_dog from_scratch leathersandals leg_splint leg_warmers leg_warmers_f leg_xlsplint leggings legguard_bronze legguard_metal legguard_paper legguard_scrap legpouch legpouch_large legrig lemonade lemonade from_mix lentils_cooked leotard livestock_carrier livestock_carrier repurpose_cargo_rack lobotomizer loincloth loincloth_fur loincloth_leather loincloth_wool long_island long_knit_scarf long_patchwork_scarf long_underpants long_undertop long_undertop_sleeveless long_undertop_sleeveless cutting longbow longshirt lsurvivor_armor lsurvivor_pants lsurvivor_suit lutefisk lye lye_powder from_lye m_fishspear m14_makeshiftmag m203_mod m2browning_sawn m320 m320_mod_mod macaroni_cooked macaroni_helper macaroni_raw machete magazine_battery_heavy_mod magazine_battery_light_mod magazine_battery_medium_mod magazine_battery_mod magnifying_glass makeshift_axe makeshift_bayonet makeshift_crowbar makeshift_funnel makeshift_grenade makeshift_halberd makeshift_hammer makeshift_knapsack makeshift_knife makeshift_machete makeshift_sap makeshift_scythe_war makeshift_sling marble mask_fsurvivor mask_fsurvivorxl mask_h20survivor mask_h20survivorxl mask_hsurvivor mask_lsurvivor mask_rioter mask_ski mask_survivor mask_survivorxl mask_wsurvivor mask_wsurvivorxl masterkey_mod material_cement material_quicklime mayonnaise meal_bone meal_bone mortar meal_bone with_from_food_processor meal_bone_tainted meal_bone_tainted mortar meal_bone_tainted with_from_food_processor meal_chitin_piece meal_chitin_piece mortar meal_chitin_piece with_from_food_processor meat_aspic meat_canned meat_canned jarred meat_canned jarred_3l meat_cooked meat_pickled jarred meat_pickled jarred_3l meat_salted vacuum_packed meat_smoked mess_tin metal_butcher_rack metal_funnel metal_smoking_rack metal_smoother metal_tank metal_tank_little milk milk_coffee milk_cream milk_cream_rising milk_powder milk_powder frozen_ingredients milk_reconstituted from_condensed milk_reconstituted from_powder milk_tea milkshake milkshake_deluxe miner_hat minispeargun mirror from_steel misc_repairkit mittens mixed_alcohol_strong mixed_alcohol_weak mocassins modularvest modularvestceramic modularvesthard modularvestkevlar modularveststeel modularvestsuper mold_plastic molotov mop morel_cooked morel_fried mortar_adobe mortar_build mortar_pestle mosin44 mosin44_ebr mosin91_30 mosin91_30_ebr mountable_heater mounted_spare_tire muffler mugwort_oil mushroom_cooked mutagen_jabberblood mutant_human_cooked mutant_meat_cooked muzzle_brake_mod nachos nachosc nachosm nachosmc nail nail_bomb nailbat nailboard nailmag nailrifle needle_bone needle_curved needle_wood net noise_emitter radio-mod noodles_fast nopalitos oatmeal oatmeal mortar oatmeal with_food_processor oatmeal_cooked oatmeal_deluxe offal_canned offal_canned jarred offal_canned jarred_3l offal_pickled jarred offset_sight_rail_mod offset_sights_mod oil_cooker oil_lamp oj omnicamera from-cameras onion_rings paint_brush pallet_lifter pancakes panties pants_fur pants_leather pants_survivor paper pastaextruder patchwork_scarf peacoat peanutbutter peanutbutter_imitation pebble pebble_clay pecan_roasted pelmeni pemmican pet_carrier_wooden petpack pickaxe pickles_ferment pie pie_maple pie_meat pie_veggy pillow pilot_light pine_nuts pipe pipe_combination_gun pipe_double_shotgun pipe_shotgun pipebomb pistachio_roasted pistol_bayonet pistol_flintlock pistol_grip pistol_stock pitchfork plant_fibre plastic_boat_hull plastic_chunk plastic_chunk from_cash_cards plastic_chunk from_plastic_bags plastic_jack_o_lantern plastic_shopping_bag platinum_grille pliers pneumatic_shotgun pointy_stick poncho poncho knitted popcorn popcorn2 pot pot_canning pot_copper pot_helmet pot_makeshift pot_makeshift_copper pot_xlhelmet potato_baked powder_eggs powder_eggs frozen_ingredients press_dowel pressurized_tank_chem primitive_adze primitive_axe primitive_hammer primitive_knife primitive_shovel protein_drink protein_powder protein_powder with_from_food_processor protein_shake punch_dagger q_solarpack q_staff quesadilla_cheese quiver quiver_birchbark quiver_large quiver_large_birchbark radio_mod rag rag knitting ragpouch railroad_track_small raw_butter razor_shaving rebar rebar_plate rebar_rail rebar_rifle rebreather_xl mod_existing recoil_stock rehydrated_fish rehydrated_fruit rehydrated_meat rehydrated_veggy reinforced_glass_sheet reinforced_solar_panel remotevehcontrol revolver_shotgun rice_cooked rifle_22 rifle_223 rifle_3006 rifle_308 rifle_38 rifle_40 rifle_44 rifle_45 rifle_9mm rifle_flintlock rifle_scope_mod rm121aux_mod roasted_coffee_bean rock_quern rock_sock rolling_paper rope_30 rope_6 from_cloth rope_6 from_string rope_makeshift_30 rope_makeshift_6 rosin royal_beef rubber_armor_horse rubber_armor_horse from_scratch rubber_harness_dog rubber_harness_dog from_scratch ruger_makeshiftmag saddlebag sail salsify_baked salt salt from_hickory salt from_mineral salt from_salt_water salt_water salted_fish salted_fish vacuum_packed sandbag sandwich_cheese sandwich_cheese_grilled sandwich_cucumber sandwich_deluxe sandwich_honey sandwich_jam sandwich_pb sandwich_pbh sandwich_pbj sandwich_pbm sandwich_sauce sandwich_t sandwich_veggy sauce_red sauce_red canned sauce_red jarred sauce_red jarred_3l sauerkraut_ferment sauerkraut_onions sausage sausage_cooked sausage_raw sausage_wasteland sausage_wasteland_raw sausagegravy saw scabbard scarf scarf_fur scarf_fur_long scarf_fur_long merge_scarves scarf_long scarh_makeshiftmag scarh_makeshiftmag conversion scarhmag scarhmag_30rd scissors scrambled_eggs scrambled_eggs from_powder scrap_bronze scrap_copper screwdriver screwdriver_set forged scythe scythe_war forge seasoning_salt seat seat_leather seed_barley seed_beans seed_bee_balm seed_blackberries seed_blueberries seed_buckwheat seed_cattail seed_chamomile seed_chicory seed_chili_pepper seed_corn seed_cranberries seed_cucumber seed_dogbane seed_elderberries seed_garlic seed_grapes seed_huckleberries seed_lentils seed_mugwort seed_mulberries seed_mushroom seed_mushroom_morel seed_oats seed_potato_raw seed_pumpkin seed_raspberries seed_raw_dandelion seed_rhubarb seed_rose seed_salsify_raw seed_strawberries seed_sugar_beet seed_sunflower seed_thyme seed_tomato seed_veggy_wild seed_wheat seed_wild_herbs seed_wildcarrot seed_zucchini selfbow sewing_kit shark_suit_faraday sheath sheet sheet_metal sheet_metal welding sheet_metal_small shelter_kit shelter_kit repair shillelagh shillelagh_weighted shoes_birchbark sholster shortbow shorts shorts_cargo shorts_cargo from_pants shorts_denim shot_scrap shotbelt_20 shotcanister_bearing shotcanister_flechette shotcanister_pebble shotcanister_scrap shotgun_trap shoulder_strap shovel sickle sieve_primitive sieve_steel skewer_bone sleeping_bag_fur_roll sleeping_bag_roll sleeveless_duster sleeveless_duster from_duster sleeveless_duster_faux_fur from_duster_faux_fur sleeveless_duster_fur sleeveless_duster_fur from_duster_fur sleeveless_duster_leather sleeveless_duster_leather from_duster_leather sleeveless_duster_survivor sleeveless_duster_survivor from_duster_survivor sleeveless_trenchcoat sleeveless_trenchcoat from_trenchcoat sleeveless_trenchcoat_faux_fur from_trenchcoat_faux_fur sleeveless_trenchcoat_fur sleeveless_trenchcoat_fur from_trenchcoat_fur sleeveless_trenchcoat_leather sleeveless_trenchcoat_leather from_trenchcoat_leather sleeveless_trenchcoat_survivor sleeveless_trenchcoat_survivor from_trenchcoat_survivor sleeveless_tunic sleeveless_tunic cutting sling sling cord slingshot sloppyjoe small_hstomach_boiled small_space_heater small_stomach_boiled smg_40_mag smg_45_mag smokebomb smores soap soap_flakes soap_flakes fast_cut soapy_water sockmitts socks socks_ankle socks_bag socks_wool soft_adobe_brick solar_panel solarpack solder_wire soldering_iron soup_fish soup_fish canned soup_fish jarred soup_fish jarred_3l soup_meat soup_meat canned soup_meat jarred soup_meat jarred_3l soup_mushroom soup_mushroom canned soup_mushroom jarred soup_mushroom jarred_3l soup_veggy soup_veggy canned soup_veggy jarred soup_veggy jarred_3l soup_woods soup_woods canned soup_woods jarred soup_woods jarred_3l sourdough_bread sourdough_split sourdough_young soy_milk soy_nuts spaghetti_cooked spaghetti_raw spear_copper spear_forked spear_homemade_halfpike spear_knife spear_knife_superior spear_knife_superior from simple version spear_pipe spear_rebar spear_spike spear_steel spear_survivor spear_wood speargun spearsling spezi spike sponge_cake sports_bra spring spring_plate stabilizer_mod staff_sling starch starch from_fibrous_stuff steel_armor steel_chunk steel_grille steel_lump steel_pan steel_plate steel_rail stepladder stockings stockings_tent_arms stockings_tent_arms from_stockings stockings_tent_legs stockings_tent_legs from_stockings stomach_boiled stomach_sealed stone_pouch straw_basket straw_hat straw_sandals string_36 string_6 sugar sugar from_sweets sugar_fried sundress superglue suppressor surv_carbine_223 surv_hand_cannon surv_six_shooter survival_marker survivor_belt survivor_belt_notools survivor_duffel_bag survivor_goggles survivor_hairtrimmer survivor_light survivor_machete survivor_mess_kit survivor_pack survivor_rucksack survivor_runner_pack survivor_scope survivor_shavingkit survivor_suit survivor_vest survivor223mag survivor9mm_mag swag_bag swage sweater sweet_water switchblade sword_bayonet_mod sword_crude sword_nail sword_wood syrup taco tacvest taint_tornado tallow tallow_tainted tank_top tanned_hide tanning_hide tanning_pelt tarp_raincatcher tea teapot tearer tent_kit thermal_shirt thompson_makeshiftmag thread throwing_axe throwing_knife throwing_stick thyme_oil tihar tinder tinderbox tinfoil_hat toasterpastry tobacco tofu_rice tongs tool_belt toolbox toolbox_workshop torch torch pine torso_bandolier_shotgun tortilla_corn tourist_table towel towel knitting towel_hanger travelpack tree_spile trenchcoat trenchcoat_fur trenchcoat_leather trenchcoat_survivor tricorne triple_launcher_simple tripwire tshirt tunic tunic_rag turban turret_controls u_shotgun_mod ugl_buttstock ump45_makeshiftmag under_armor under_armor_shorts undershirt unitard UPS_off V8 V8 jarred vacutainer vambrace_larmor veggy_aspic veggy_canned veggy_canned jarred veggy_canned jarred_3l veggy_cooked veggy_pickled jarred veggy_pickled jarred_3l veggy_salad veggy_salted vacuum_packed veggy_wild_cooked vest_leather vest_leather from_patches vest_leather_mod vh_autoclave vine_30 vinegar vodka from_ethanol vodka from_wash w_table waffleiron waffles walnut_roasted wash_kit washboard wastebread water_clean water_clean using_water_purifier water_faucet water_mill water_wheel waterproof_gunmod waterskin waterskin2 waterskin3 wearable_atomic_light wearable_light welder_crude welding_mask_crude well_pump wheel_caster wheel_metal wheel_mount_light wheel_rail_small_pair wheel_wheelchair wheel_wood wheel_wood_b wind_mill wind_turbine wire wire_barbed wire_mesh wood_beam from logs wood_panel from nailed planks wood_panel from wooden beams wood_panel from wooden sheets wood_plate wood_smoother wooden_barrel wooden_bead wool_hoodie wool_suit workbench wrench wsurvivor_suit XL_holster xl_water_wheel xl_wind_turbine xlframe xlhsurvivor_suit xlkevlar xlsurvivor_suit zinc_metal ```
scrotty commented 4 years ago

This could also open the door for more bookshelves (which could themselves provide crafting bonuses for using as book storage). [Apologies if this is already available in game]

I-am-Erk commented 4 years ago

Wow, it's worse than I thought. By far.

I-am-Erk commented 4 years ago

I am working on a spreadsheet that reviews all the items currently set to autolearn, suggests a proficiency to assign them to (for later), and offers a rationale for why they shouldn't be autolearned, if it's not obvious. I will convert the simple part of the results into a checklist for this issue later, and that should make it easier for people to start converting recipes and adding recipe books

I-am-Erk commented 4 years ago

Putting it here so I don't forget: the book 101 crafts for beginners, while humorous, needs to be broken up. So does the DIY compendium.

l29ah commented 4 years ago

I'd suggest https://github.com/CleverRaven/Cataclysm-DDA/issues/27312 to be addressed first.

I-am-Erk commented 4 years ago

Balancing for people who choose particular crippling negative traits is definitely not on the radar here.

Inglonias commented 4 years ago

this is also a great opportunity to diversify available books

I-am-Erk commented 4 years ago

Yeah, on my review of recipes, with recipe books added in, I think we'll probably wind up with a ton of new books, maybe five to ten times as many. Fewer recipes per book and hundreds of new recipes to add.

It should do a lot to reduce the ability to quickly grind up skills

TechyBen commented 4 years ago

I think we need a "knowledgeable" trait, that "auto learns recipes", to counterbalance this. ;) Well, I'm just wondering how this affects gameplay. I agree with it. Just wondering what unintended or intended consequences it has.

Inglonias commented 4 years ago

I don't know how plausible something like that trait would be, but a "Tinkerer" trait that has a better chance of learning recipes via disassembly might be easier to implement and accomplish much the same goal.

I-am-Erk commented 4 years ago

The major negative gameplay impact is going to be that innawoods characters are totally borked for a bit until we figure out a solution. I might make a mod that keeps these autolearn, for that reason, until figuring it out is possible

GGgatherer commented 4 years ago

Maybe some professions - like churl, blacksmith, electrician and so on - should have access to a broader recipes variety? As in they should know them from the start if they have high enough skills for that, and probably even some recipes which require +1/+2 skills from what they can do (obviously uncraftable until skills are raised).

I-am-Erk commented 4 years ago

That will require a proficiency system, ie. subskills that connect similar recipes together, and that's a system for another day. It's desirable, but not part of this issue

TechyBen commented 4 years ago

The major negative gameplay impact is going to be that innawoods characters are totally borked for a bit until we figure out a solution. I might make a mod that keeps these autolearn, for that reason, until figuring it out is possible

Yeah. I totally understand that it's not the main gameplay type/loop. But it does have some relevancy in that, it still needs balancing to some degree. Just to make sure obvious/needed (lore or gameplay)/simple recipes are not accidentally gated off. Inna woods totally won't be making a laser pistol. But if a "helicopter crash" survivor, should have no trouble making a makeshift wind generator and night light out of spares from the crash (motor + light etc). But as you say, a lot of the recipe limits is not as simple as "what level/skill is this", but more "can someone learn this on their own/in a small survivor community?" Some things/chemicals/electrics took decades with teams/industries. Even though we do take it for granted now.

So I understand it's hard to balance, and it's great it's under careful consideration to the changes.

Barhandar commented 4 years ago

I disagree with sauerkraut not being autolearned, along with anything else that can be learnt by letting something spoil or otherwise not requiring any specific knowledge (sauerkraut, sourdough, cider/wine/any other fruit alcohols that can be made from the yeast present on fruit itself, charcoal kiln - any campfire is going to make charcoal, kilns just make it much more efficient - et cetera).

And I don't think autolearn = NONE, GAMESTART, ALWAYS would need proficiency/subskill system, only autolearning new recipes on skill-up if you had some amount of that skill on starting the game would. And I don't think it even makes all that much sense, a blacksmith wouldn't be any better equipped to figure out how to smith something they don't know already than a layman of equal skill, and hence would have to be taught.

kevingranade commented 4 years ago

Sauerkraut fermentation is very much not a matter of, "letting it go bad", if you do it wrong you can produce something poisonous. Same with sourdough and fruit fermentation.
With a campfire as charcoal production, yes you can literally build a campfire and get a minuscule amount of charcoal out if it, but that has nothing to do with the process for making a charcoal kiln.

kwl01skz commented 4 years ago

When you have enough knowledge and have a preliminary idea of ​​what you want, you should be able to try to make it, although you may experience a lot of failures. For example, when I have "strips" and " adhesives", I should naturally think of making "tape". Proposal: If player can make something with reference books at Lv3. They can make the same thing at Lv5 through experiments and failed attempts, without the help of books.

I-am-Erk commented 4 years ago

It amuses me how much of a demonstration of my point it is that someone asserted sauerkraut production is just a matter of letting cabbage go bad.

NicholasDM commented 4 years ago

https://www.reddit.com/r/cataclysmdda/comments/j0ih2l/a_possible_solution_to_autolearned_recipes/

This is a proposal I'm now working on that would heavily mitigate a lot of the autolearning concerns.

I-am-Erk commented 4 years ago

Your reddit post is similar to my own thoughts, but I don't really want the discussion to fade into reddit.

Basically, I want a few things.

Proficiency books

Autolearn recipes by proficiency

Recipe book changes

actual-nh commented 3 years ago

When you have enough knowledge and have a preliminary idea of ​​what you want, you should be able to try to make it, although you may experience a lot of failures. For example, when I have "strips" and " adhesives", I should naturally think of making "tape".

I agree; it makes sense for someone to autolearn a recipe at a higher skill level than needed to do the recipe (which should also be available in books).

For instance, I can fix some basic cooking recipes on my own - meaning they require cooking something like 1-2 - if I have a recipe book. My spouse, OTOH, not only doesn't need a recipe book for such basic recipes (and in-game should have them already learned), but is quite capable of creating (delicious!) variants "on the fly" (which might be written as a recipe someplace - but not one my spouse has ever read). Is this a high cooking skill "only", or a proficiency that enabled my spouse to autolearn these recipes? About the only thing I can think of for this case would be a proficiency of vegetarian_cooking_but_not_baking. This would be rather broad, IMHO; broad enough that just it should not cause autolearning of every recipe one is capable of following in a recipe book. (It plus high cooking skill should result in autolearning all of the easier recipes. For more complex recipes, my spouse will typically follow a (written) recipe the first time, then start trying variations.)

If player can make something with reference books at Lv3. They can make the same thing at Lv5 through experiments and failed attempts, without the help of books.

Add to this some combination of (higher) skill level and proficiency at which experimentation won't be needed - at least for up to some (low) difficulty of recipe. For your example above, someone at Lv5 will only autolearn the recipe after they succeed (possibly more than once). Someone at Lv9 with an appropriate proficiency may have it autolearned automatically.

aahue1889 commented 1 year ago

This issue looks like its getting stale; so to bump it a bit

Can the folks here confirm if this is the work that we need to do? Or if there is something that can be done to make this process more streamlined?

---- Step 1 - Identify Recipes to Group into a Book

So to go over what must be done in order to appropriately make these changes:

First: Identify the Recipes that have autolearn:

image

I chose these 7 recipes that require knapping proficiency and skill fabrication

----- Step 2 - Create Book

create a book that is going to contain these recipes

image

------ Step 3 - Edit Recipe JSON files and make them Associated to Book

Add and delete attributes in the 7 Recipe Items

image

---- Step 4 - Test Verification

If your trying to test: all you need to do is confirm that the Recipe isn’t magically something you know unless your around the book

image


The bigger question that formed upon me naively approaching this work; We need to come up with some documentation on how we plan on grouping the Recipes Together for a book. And divvy out the work.

anothersimulacrum commented 1 year ago

Yes, those are the appropriate steps. Grouping is the larger question.

DeltaR9A2 commented 1 year ago

An idea I had for helping with availability of recipes: With certain skill levels, the player could autolearn recipes to craft a recipe book. Like the player should probably always autolearn something like pointy stick, and at the same time could autolearn a recipe craft to "Improvised Spear Designs" which would result in a hand written notebook with recipes for things like knife spears. It could require paper and pen/pencil/etc. Or for innawoods like... charcoal and birch bark? Whatever strikes the right combination of fun/realistic/balanced.

I would really love any change that reduces the number of recipes in the crafting interface. Right now I find it completely unmanageable; only the excellent search function makes it usable. I've been experimenting on my own with generating mods to blacklist things or disable autolearn, but I don't have much experience modding the game and haven't had much success so far.

I-am-Erk commented 9 months ago

I think, while this issue is going to be a permanently ongoing one, it's save to close it. The situation is nowhere near as bad as it was when I opened this, and there's never going to be a point where it's "finished". Some of the more complex ideas for improving autolearn should really be separate issues of their own as they'll be lost if they're just comments in here.