D3Inferno

Recipes*.gam Files

This section discusses the "\GameBalance\Recipes*.gam" files in the "CoreData.mpq" file. MPQ Patches to this file are located in the "base" subdirectory of the Diablo 3 "MPQs" directory. Please see the MPQs section for general MPQ information and basic information about how files are encoded.

There are three "Recipes*.gam" files that correspond to the three types of "crafting" in Diablo 3. Each of these files contain all of their corresponding recipes.

These "Recipes*.gam" files work in conjunction with the Recipe *.rcp files. Each "*.rcp" file corresponds to a single crafted item, enchant, or gem combination.

Note that the non-training Mystic Enchant recipes are found in the ItemEnhancements.gam file.

Recipe Structure

The Recipe structure size is 0x14C bytes. The recipe name accounts for 0x100 bytes so it is not a very large structure. Here are the details of this structure:

struct Recipe// sizeof 0x14C
{
0x000DWord unknown1;// always 0x00000000
0x004char recipeName[256];// non-NLS key name of the recipe
0x104DWord rcpId;// MPQ Id of the corresponding *.rcp file
0x108DWord type;// recipe type: 0=BS, 1=Jeweler, 2=Mystic
0x10CDWord source;// recipe source: 0=Auto, 1=Plan
0x110DWord goldCost;// crafting gold cost
0x114DWord level;// crafting level required (internal)
0x118DWord numMats;// number of materials required to craft
0x11CRecipeMats mats[6];// recipe materials required to craft
}

The Recipes.stl (StringList) data allows you to map the non-NLS key name ("recipeName") to the language appropriate name for the recipe. For example, the "T01_Armor_Helm" key maps to the "Apprentice Leather Hood" (enUS) string.

The "rcpId" is what binds a given recipe from this file to the corresponding Recipe *.rcp files.

The crafting "level" used in this structure is an internal (not displayed in-game) value between 1 and 46. In contrast, the level of the artisan displayed in-game go from "tier" 1 through 10: Apprentice, Journeyman, Adept, Master, Grandmaster, Illustrious, Magnificent, Resplendent, Glorious, and Exalted. As such, an in-game level (or tier, if you will) corresponds to 5 of the levels in this Recipe structure. This explains the fact that you need to train the artisan 5 times before they "level up", but you learn new patterns each time you train. As an example from the actual recipe data, we see that "Apprentice" items range from level 1-4, and "Journeyman" items range from 5-9.

RecipeMats Structure

The structure for the recipe materials that are required for crafting is:

struct RecipeMats// sizeof 0x08
{
0x00DWord materialHash;// item hash of the materal
0x04DWord materialQty;// quantity of the material
}

Crafting Materials

Any given recipe can have at most 6 different types of materials required to craft it. This is reflected by the size of the "mats" array. The recipe material items are all found in the "Items_Other.gam" file. Below is a table containing most of the recipe material item hashes, item non-NLS key name, and item description from the from the Items.stl (StringList) file.

Hash ValueItem non-NLS NameItem Description (enUS)
4034BA7DCrafting_Training_TomeTome of Training
7B0EDEA2Crafting_Tier_01ACommon Scrap
7B0EDEA3Crafting_Tier_01BSubtle Essence
7B0EDEA4Crafting_Tier_01CFallen Tooth
7B0EDEA5Crafting_Tier_01DPetrified Bark
7B0EDEC3Crafting_Tier_02AAssorted Fragment
7B0EDEC4Crafting_Tier_02BShimmering Essence
7B0EDEC5Crafting_Tier_02CLizard Eye
7B0EDEC6Crafting_Tier_02DCorpse Ash
7B0EDEE4Crafting_Tier_03AReusable Part
7B0EDEE5Crafting_Tier_03BWishful Essence
7B0EDEE6Crafting_Tier_03CEncrusted Hoof
7B0EDEE7Crafting_Tier_04DVolcanic Coal
7B0EDF05Crafting_Tier_04AValuable Component
7B0EDF06Crafting_Tier_04BExquisite Essence
7B0EDF07Crafting_Tier_04CIridescent Tear
7B0EDF08Crafting_Tier_04DFiery Brimstone

Note that the "Tome of Training" is assembled from combining 5 "Pages of Training".

The Mystic "gem combination" recipes simply take the different tiers of gems to craft. To craft a tier "n" gem (e.g., "Perfect Amethyst"), you will need 3 tier "n-1" gems (e.g., "Flawless Amethyst"). This is identical to how it was done in Diablo 2 except that you didn't need an artisan to learn the recipes. Also note that Diablo 3 has eleven tiers of gems (from Chipped to Radiant Star), up from Diablo 2's five — that's a huge increase.

There are also crafting materials that can be obtained from salvaging runes. These are only used in Mystic Enchant crafting recipes.

Hash ValueItem non-NLS NameItem Description (enUS)
1695D8F4Crafting_Rune_Alabaster_DustAlabaster Anima
8B530900Crafting_Rune_Crimson_DustCrimson Anima
38F53AFECrafting_Rune_Golden_DustGolden Anima
D55356DFCrafting_Rune_Indigo_DustIndigo Anima
A176802ECrafting_Rune_Obsidian_DustObsidian Anima

For a complete list of recipes, check out D3Lexicon's Blacksmith and Jeweler. Please note that the Mystic was removed from the game during the Beta!

Email Contact:

contact_email