Custom Recipe Tutorial: Part 2 - Multi Serving


This is part two of my custom recipe tutorial. In this tutorial, we will be going over how to make a large and medium serving size to accompany the single-serving you made in part one.

I will be referencing part one, so please be sure to read over it if you have any questions.

Let's get started!

Step 1

Open Sims 4 Studio.
We will be making a "Selective Clone".
In the "Debug > Search" box type in: foodplateeatmulti
(This is all of the multi-serving foods you can clone from.)

Since I cloned from pancakes for my single serving, I will be cloning from its multi-serving.


Click "Next", and make sure all boxes are checked.
Save your new file in your mods folder, with a unique name.
(Example: SrslySims_BG_Recipe_Waffles-Multi)

Step 2

Under the "Studio" > "Catalog" tab, give your multi-serving a name.
Under the "Texture" tab, import your new texture.

Step 3

Under the "Meshes" tab, you will have 4 meshes.
You need the one for the "multiServeLarge" and "multiServeSmall".
The Large will be for your Party (8) Serving Size.
The Small will be for your partially gone party size, and Family (4) Serving Size.

"Import" your new Large and Small multi meshes, for each LOD and Shadow.


Step 4

Under the "Warehouse" Tab, (optional) remove your other language strings.
I only work in English, so I delete the rest and add them back when I am done.

Next, we need to get the recipes for our Large and Medium serving sizes.
Large = Party (8) Serving
Medium = Family (4) Serving

Go to "Tools" > "Extract Tuning".
Since I cloned from pancakes, I am going to search for "pancakes".
Select both the "Large" and "Medium" recipe with "Shift+Left Click" and "Add to Current Package".

First, we need to rename our "Large" Serving size. So it has a unique name and doesn't override EA.
(Do not bother changing the medium, we will get to this later.)
Example: SrslySims:recipe_Food_Homestyle_Waffles-Large

Rename your "Sim Data" for your large recipe.
Copy your "Instance" number from the "Recipe Tuning" "Data" tab and paste in on the "Sim Data" "Data" tab.


So, now your "Recipe Tuning" and "Sim Data" for the recipe both have the same name, and instance number.

Step 5

Scroll down or Search (Ctrl+F) for "_retail_price".
Give your large serving Retail Price, Crafting Cost, and Delta Ingredient Price.
If you change any of these prices be sure to change them in "Sim Data" as well.

In the section with the prices you will see:

 <V n="base_recipe" t="enabled">  
   <T n="enabled">15771<!--recipe_Food_Homestyle_Pancakes-Single--></T>  
  </V>  


Here you will need to get the "Recipe Tuning" ID from your Single Serving and replace it.
(Do not close your Single Serving, we will need to reference it again.)


Step 6

Scroll down or Search for "definition".
We need to give it the definition for the Multi Serving.

Go to your "Object Definition" and copy the "Instance" ID.
Go to "Tools" > "Hash Generator" and paste the instance you just copied into the "Hexadecimal" line.
Copy your "Decimal" to the "Definition" line in your tuning.


Step 7

In your "Single Serving" package "Recipe Tuning", copy the "phase_interaction_name".
Paste this instead of the phase interaction name in your "Large Serving" package "Recipe Tuning".

Example Mine Is: Make Breakfast


Next, we need to give it a new name.
You can either use the name from your Single Serving or use the name in your "String Table" for the large version.

If you use the single-serving name, you can delete the "String Table" for all languages from the Large. Since we will not be using it.

If you want to use the new string from the "Catalog" tab, go get the hash from the "String Table" or in the "Object Catalog".


Step 8

Get your "Decimal" for your "Object Definition" from Step 4.
In the "Recipe Tuning" scroll/search for "restaurant_menu_icon_definition" and replace the current one.
Open your "Sim Data" for the recipe and change it there too.


Step 9

If you changed the "Skill" or "level_range" for the single serving, be sure the large is the same!
If you changed the "Ingredient_list" for the single serving, be sure the large is the same too!

Now you are done with the large serving! 

Step 10 

Now to make the medium serving. 
Instead of doing ALL of that over again, we are going to do this the easy way.

We have already done just about everything we need in the "Large" serving of the recipe.
So we are going to "Duplicate" it.

Click on the "Recipe Tuning" for the large, then Click "Duplicate".
A box will pop up, change a few numbers in the instance number, I just change the last 3 numbers.
(This doesn't matter, because we will change it soon. We have to give it a new number to duplicate.)

Next, click on the "Sim Data" for the large, then Click "Duplicate"
Once again, change the last 3 numbers. Do not use the same 3 numbers as the duplicated recipe tuning.


Now you should have 2 Large "Recipe Tunings" and 2 Large "Sim Data".

Next, rename the duplicated "Recipe Tuning" and "Sim Data"
Example: SrslySims:recipe_Food_Homestyle_Waffles-Medium

Copy the "Instance" number from your new "Medium Recipe Tuning" and give the "Medium Sim Data" the same instance.


Step 11

Open the EA medium "Recipe Tuning" we extracted earlier but did not change.
Scroll down or search for: "final_product"

 <T>15327<!--Servings_SmallUntouched--></T>  

Copy the code above from that file, then open up your medium "Recipe Tuning" and replace the "final_product" for the servings_largeuntouched.

This is what tells the game which meshes geostate to use.
  • The "Large" is the "multiServeLarge" geostate.
  • The "Small" is the "multiServeSmall" geostate.

Next, we have to change the one for the plate. Because each serving size has its own empty plate size.
Go into the EA medium "Recipe Tuning" and search for "definition".
Under the definition, you will see:

 <T>15326<!--Servings_SmallEmpty--></T>  

Once again, replace the Servings_LargeEmpty with the Small in your medium "Recipe Tuning".

Now, go back to the EA medium one last time. Scroll down or search until you see:

 <V n="multi_serving_name" t="use_multi_serving_name">  
   <T n="use_multi_serving_name">0xD8F7F320<!--Family Size (4)--></T>  
  </V>  

Copy this, and replace the one for the Large "Party Serving" in your medium "Recipe Tuning".

This snippet of code is available for every serving size. This changes the text in the menus in-game when there are multiple serving sizes. So you know by looking which is the medium, and which is large.

Step 12

Delete the EA medium recipe tuning.
If you made a new text string and deleted the other language string add them back.
To add back: "Tools" > "Modding" > "Copy Strings to all Languages".

Step 13

Using the example "Srsly's Crafting Enabler XML.package".
Make a "Snippet" for your Large/Medium size, or add it to your current snippet for your small serving size.

Go in-game and test your new Medium and Large serving sizes!

No comments:

Post a Comment

---- READ BEFORE LEAVING A COMMENT ----
If you are leaving a comment for a Bug Report or needing Help in any way. Come to Discord!!

I will not answer help/bug report questions in comments.
They will be ignored.
----