Post by simplifiedmodding on Aug 19, 2021 19:45:14 GMT -5
Hi all,
Like it says on the tin; I'm making a mod to be able to brew the Eco Lifestyle dyes on the stove (inspired by Zero & BloodfireMage's awesome work on the wool and yarn system and Icemunmun's stovetop magic potion mod). One specific recipe, for an orange dye made with ingredients (carrot, pumpkin, chocoberry), throws this error on completion of the brew:
If you try to use the orange dye this interaction generates for any other purpose (like dying wool with the mod I mentioned above, or in the fabricator) it also throws similar errors. Here's the broken recipe code:
I overwrote the object tuning for dyes to make them carryable (they pick up the dye from the stovetop and carry it to the nearest coffee table, like they would with a drink); so it might be related to that, but I didn't add any states... I also don't think the recipe calls for anything that requires state in object tuning. Anyway, the object tuning is here:
I also don't entirely understand how it's having for one recipe but not the others (I made one that worked and then duplicated it for all of the others, swapping out ingredients and strings). I did a bunch of diff-checking to see if I'd made a typo somewhere, or if I was doing something somewhere that would require a state to be set, but it doesn't look like there's a super meaningful difference in what's going on from recipe to recipe.
Interestingly enough, the orange dye recipe that works by combining red and yellow dyes does work fine, however. And all of the other ones work without error, too.
Here's the file (SimFileShare) I'm currently working from; it requires XML Injector, and, uh, a bunch of packs (Eco Lifestyle, Outdoor Retreat, Cottage Living I think are the main ones for the specific recipe that's broken, although the other recipes use items from Vampires, Seasons, and Realm of Magic). It's possible there are other pack requirements (I have everything except Batuu and some of the kits).
Oh and WARNING: if you're going to test this, please be careful to do so in a save that is specifically for testing. I have at least once been locked out of loading a lot because of the error that's thrown from the broken dye existing on the lot/in a sim's inventory on region load; I can't say what other weirdness you may encounter.
EDIT on 1/12/24:
In case it's ever useful to anyone, I did actually just take a second look at this, and the issue was with these lines in the recipe:
Commenting that out fixed everything. Still not sure if that's an issue with that particular pumpkin tag or something I got wrong syntactically. I'm re-working the recipe ingredients anyhow, so no longer an issue on my end.
Like it says on the tin; I'm making a mod to be able to brew the Eco Lifestyle dyes on the stove (inspired by Zero & BloodfireMage's awesome work on the wool and yarn system and Icemunmun's stovetop magic potion mod). One specific recipe, for an orange dye made with ingredients (carrot, pumpkin, chocoberry), throws this error on completion of the brew:
If you try to use the orange dye this interaction generates for any other purpose (like dying wool with the mod I mentioned above, or in the fabricator) it also throws similar errors. Here's the broken recipe code:
<?xml version="1.0" encoding="utf-8"?>
<I c="Recipe" i="recipe" m="crafting.recipe" n="SimplifiedModding:Recipe_Stove_Dye_Orange" s="9372297752805136295">
<L n="_first_phases">
<E>1-ICO-Transition</E>
</L>
<L n="_phases">
<U>
<E n="key">1-ICO-Transition</E>
<V n="value" t="simple_phase_ref">
<U n="simple_phase_ref">
<T n="factory">112103<!--phaseSimple_Food_Pot_Herbalism_Stove--></T>
<L n="next_phases">
<E>2-Staging</E>
</L>
</U>
</V>
</U>
<U>
<E n="key">2-Staging</E>
<V n="value" t="multi_stage_phase">
<U n="multi_stage_phase">
<T n="_num_turns">7</T>
<U n="content_set">
<L n="phase_affordances">
<U>
<T n="key">None</T>
<L n="value">
<U>
<L n="affordance_links">
<T>109020<!--stove_SaucePot_Stir_Herbalism--></T>
</L>
</U>
</L>
</U>
<U>
<T n="key">None_2</T>
<L n="value">
<U>
<L n="affordance_links">
<T>13259<!--Cooking_Shared_AddIngredient_Tomato--></T>
</L>
</U>
</L>
</U>
<U>
<T n="key">None_3</T>
<L n="value">
<U>
<L n="affordance_links">
<T>109020<!--stove_SaucePot_Stir_Herbalism--></T>
</L>
</U>
</L>
</U>
<U>
<T n="key">None_4</T>
<L n="value">
<U>
<L n="affordance_links">
<T>110502<!--cooking_Shared_AddHerb_Fireleaf--></T>
</L>
</U>
</L>
</U>
<U>
<T n="key">None_5</T>
<L n="value">
<U>
<L n="affordance_links">
<T>109020<!--stove_SaucePot_Stir_Herbalism--></T>
</L>
</U>
</L>
</U>
<U>
<T n="key">None_6</T>
<L n="value">
<U>
<L n="affordance_links">
<T>110495<!--cooking_Shared_AddHerb_Elderberry_Toxic--></T>
</L>
</U>
</L>
</U>
<U>
<T n="key">None_7</T>
<L n="value">
<U>
<L n="affordance_links">
<T>109020<!--stove_SaucePot_Stir_Herbalism--></T>
</L>
</U>
</L>
</U>
</L>
</U>
<L n="next_phases">
<E>5-ICO-Transition</E>
</L>
<T n="super_affordance">32043<!--stove_MakeFood_Pot_Staging_Basic--></T>
</U>
</V>
</U>
<U>
<E n="key">3-ICO-Transition</E>
<V n="value" t="simple_phase">
<U n="simple_phase">
<V n="_object_info" t="use_final_product" />
<L n="next_phases">
<E>5-ICO-Transition</E>
</L>
<T n="super_affordance">111526<!--stove_Ico_Transition_Herb--></T>
<T n="target_ico">True</T>
</U>
</V>
</U>
<U>
<E n="key">5-ICO-Transition</E>
<V n="value" t="simple_phase">
<U n="simple_phase">
<V n="_object_info" t="use_final_product" />
<T n="point_of_no_return">True</T>
<T n="super_affordance">110545<!--Stove_CreateFinalFood--></T>
</U>
</V>
</U>
</L>
<T n="_retail_price">75</T>
<T n="autonomy_weight">1</T>
<T n="available_in_restaurant">False</T>
<T n="crafted_by_text">0x2642142E<!--Made By: {0.SimName}--></T>
<V n="crafting_cost" t="flat_fee">
<T n="flat_fee">18</T>
</V>
<U n="final_product">
<L n="apply_tags">
<E>Func_FabricationDye</E>
<E>Func_FabricationDyeCommon</E>
<E>Func_Ingredient</E>
<E>Inventory_Consumable_Other</E>
<E>Color_Orange <!-- Note this tag is actually Color_Red in the file I uploaded; only noticed this was wrong when I looked at it here... whoops--></E>
</L>
<V n="carry_track" t="enabled">
<E n="enabled">RIGHT</E>
</V>
<L n="conditional_apply_states">
<U>
<T n="state">32305<!--Marketable_HigherValue--></T>
<V n="test" t="trait">
<U n="trait">
<L n="whitelist_traits">
<T>31924<!--trait_Marketable--></T>
</L>
</U>
</V>
</U>
</L>
<T n="definition">245926<!--GameObject: Amber Orange Dye--></T>
<L n="loot_list">
<T>231768<!--loot_Trait_Maker_MakinMaterials--></T>
</L>
<L n="simoleon_value_modifiers_map">
<U>
<T n="key">32305<!--Marketable_HigherValue--></T>
<U n="value">
<T n="upper_bound">3</T>
</U>
</U>
</L>
</U>
<T n="name">0x8B8FCC8B<!--Amber Orange Dye--></T>
<T n="phase_interaction_name">0xB084C5E3<!--SimplifiedModding_AddMakeDyeOnStove_String_BrewAmberOrangeDye--></T>
<T n="push_consume">False</T>
<T n="recipe_description">0xB86709C4<!--Wholesome and exciting, this bright orange adds a bit of spice and a welcoming splash of color.--></T>
<E n="recipe_difficulty">1</E>
<T n="restaurant_base_price">7</T>
<T n="resumable_by_different_sim">True</T>
<V n="resume_affordance" t="disabled" />
<U n="skill_loot_data">
<E n="effectiveness">Tiny</E>
<V n="level_range" t="disabled" />
<T n="stat">231908<!--statistic_Skill_AdultMajor_Fabrication--></T>
</U>
<V n="skill_test" t="enabled">
<U n="enabled">
<T n="skill">231908<!--statistic_Skill_AdultMajor_Fabrication--></T>
</U>
</V>
<V n="use_ingredients" t="enabled">
<U n="enabled">
<T n="all_ingredients_required">True</T>
<L n="ingredient_list">
<V t="ingredient_by_definition">
<U n="ingredient_by_definition">
<T n="ingredient_ref">45299<!--Game Object: Carrot--></T>
</U>
</V>
<V t="ingredient_by_definition">
<U n="ingredient_by_definition">
<T n="ingredient_ref">270258<!--Game Object: Chocoberry--></T>
</U>
</V>
<V t="ingredient_by_tag">
<U n="ingredient_by_tag">
<E n="ingredient_tag">Func_Ingredient_Pumpkin_BG</E>
</U>
</V>
</L>
</U>
</V>
</I>
I overwrote the object tuning for dyes to make them carryable (they pick up the dye from the stovetop and carry it to the nearest coffee table, like they would with a drink); so it might be related to that, but I didn't add any states... I also don't think the recipe calls for anything that requires state in object tuning. Anyway, the object tuning is here:
<?xml version="1.0" encoding="utf-8"?>
<I c="GameObject" i="object" m="objects.game_object" n="object_Dye" s="228000">
<U n="_components">
<V n="carryable" t="enabled">
<U n="enabled">
<T n="prefer_owning_sim_inventory_when_not_on_home_lot">False</T>
<V n="put_down_tuning" t="reference">
<L n="reference">
<U>
<T n="value">35852<!--PutDownStrategy_Drink--></T>
</U>
</L>
</V>
</U>
</V>
<V n="focus" t="enabled">
<U n="enabled">
<V n="_focus_score" t="globally">
<U n="globally">
<E n="base">LOW</E>
</U>
</V>
</U>
</V>
<V n="inventory_item" t="enabled">
<U n="enabled">
<T n="skip_carry_pose">True</T>
<E n="stack_scheme">DEFINITION</E>
<L n="valid_inventory_types">
<E>MAILBOX</E>
<E>SIM</E>
<E>TRASHCAN</E>
<E>DELIVERY_BAG</E>
<E>STORAGE_CHEST</E>
<E>CRAFT_SALES_TABLE_EP03</E>
<E>STORAGE_CHEST_DORM</E>
</L>
</U>
</V>
<V n="tooltip_component" t="enabled">
<U n="enabled">
<L n="custom_tooltips">
<U>
<L n="tooltip_fields">
<U>
<E n="key">recipe_description</E>
<U n="value">
<V n="text" t="single">
<T n="single">0xD6740541<!--{0.ObjectDescription}--></T>
</V>
<V n="text_tokens" t="enabled">
<U n="enabled">
<L n="tokens">
<V t="participant_type">
<U n="participant_type">
<V n="objects" t="from_participant">
<U n="from_participant">
<E n="participant">Object</E>
</U>
</V>
</U>
</V>
</L>
</U>
</V>
</U>
</U>
<U>
<E n="key">recipe_name</E>
<U n="value">
<V n="text" t="single">
<T n="single">0x41A0F856<!--{0.ObjectCatalogName}--></T>
</V>
<V n="text_tokens" t="enabled">
<U n="enabled">
<L n="tokens">
<V t="participant_type">
<U n="participant_type">
<V n="objects" t="from_participant">
<U n="from_participant">
<E n="participant">Object</E>
</U>
</V>
</U>
</V>
</L>
</U>
</V>
</U>
</U>
</L>
</U>
</L>
</U>
</V>
</U>
<L n="_super_affordances">
<T>13328<!--debug_Reset--></T>
<T>13326<!--debug_ObjectDestroy--></T>
<T>103888<!--cheat_set_as_head--></T>
</L>
<U n="recycling_data">
<L n="recycling_values">
<U>
<E n="Bucks Type">RecycleBitsBucks</E>
<T n="Value">0.5</T>
</U>
<U>
<E n="Bucks Type">RecyclePiecesBucks</E>
<T n="Value">0.5</T>
</U>
</L>
</U>
</I>
I also don't entirely understand how it's having for one recipe but not the others (I made one that worked and then duplicated it for all of the others, swapping out ingredients and strings). I did a bunch of diff-checking to see if I'd made a typo somewhere, or if I was doing something somewhere that would require a state to be set, but it doesn't look like there's a super meaningful difference in what's going on from recipe to recipe.
Interestingly enough, the orange dye recipe that works by combining red and yellow dyes does work fine, however. And all of the other ones work without error, too.
Here's the file (SimFileShare) I'm currently working from; it requires XML Injector, and, uh, a bunch of packs (Eco Lifestyle, Outdoor Retreat, Cottage Living I think are the main ones for the specific recipe that's broken, although the other recipes use items from Vampires, Seasons, and Realm of Magic). It's possible there are other pack requirements (I have everything except Batuu and some of the kits).
Oh and WARNING: if you're going to test this, please be careful to do so in a save that is specifically for testing. I have at least once been locked out of loading a lot because of the error that's thrown from the broken dye existing on the lot/in a sim's inventory on region load; I can't say what other weirdness you may encounter.
EDIT on 1/12/24:
In case it's ever useful to anyone, I did actually just take a second look at this, and the issue was with these lines in the recipe:
<V t="ingredient_by_tag">
<U n="ingredient_by_tag">
<E n="ingredient_tag">Func_Ingredient_Pumpkin_BG</E>
</U>
</V>
Commenting that out fixed everything. Still not sure if that's an issue with that particular pumpkin tag or something I got wrong syntactically. I'm re-working the recipe ingredients anyhow, so no longer an issue on my end.