Difference between revisions of "Crafting(Builder)"

From CoffeeMud Wiki
Jump to navigation Jump to search
 
(3 intermediate revisions by the same user not shown)
Line 9: Line 9:
 
**If the * is the first character, then the ; separates different ability ids.
 
**If the * is the first character, then the ; separates different ability ids.
 
**If there is no leading *, then the first ; separates an ability id from the parameters for that ability.
 
**If there is no leading *, then the first ; separates an ability id from the parameters for that ability.
 +
 +
====Maximum Recipe Level====
 +
Some abilities limit the level of recipes based on the ability, including learned recipes from other items in the game (Tailoring/Weaponsmithing/Armorsmithing/Leatherworking are limited to level 1-31, while the Master versions of those abilities are 31+ (and 61+ for legendary weaponsmithing)).  These limitations are applied before considerations for special materials.  Special materials may affect the recipe's final level, resulting in more earned XP for artisans.  If you don't want items crafted above the maximum level defined in your ini, you may wish to limit the maximum level of your recipes based on the availability of materials (For armorsmithing and weaponsmithing, the modifier is 3*(hardness-6).  Find the highest hardness value of metal resources in your envresources and use that to determine the maximum overall level.  Similar modifiers apply in fletching and tailoring).  If you DO wish to limit this value, you will also wish to ensure that any item in game above a certain level has restrictions (such as prop_nocraftability) to prevent them from being learned as a recipe.  There are scenarios where some players may find use of items above their level (specifically fighter expertises and mage spells), so this isn't addressed generically by the system.
  
 
===Balancing Recipes===
 
===Balancing Recipes===
Line 18: Line 21:
  
 
===Recipe Testing===
 
===Recipe Testing===
It is highly recommended that you test your recipe to ensure it properly generates each item on the page.  Some properties of the item may be ill-defined in the initial recipe code.  You can use the CODED_SPELL_LIST to provide additional key field information (like damage=5).
+
It is highly recommended that you test your recipe to ensure it properly generates each item on the page.
  
 
===GenRecipes===
 
===GenRecipes===
Line 49: Line 52:
 
=Notes=
 
=Notes=
 
*When making recipe names, the name should be unique.  If you make a recipe for a SMALL UMBER, then do not also make a recipe for UMBER.  Instead, make a MEDIUM UMBER so that the parser can distinguish it from (SMALL) UMBER.
 
*When making recipe names, the name should be unique.  If you make a recipe for a SMALL UMBER, then do not also make a recipe for UMBER.  Instead, make a MEDIUM UMBER so that the parser can distinguish it from (SMALL) UMBER.
 +
**Otherwise, players will have to learn to use the CRAFTINGSKILL UMBER.1 and CRAFTINGSKILL UMBER.2 nomenclature to properly control which umber is created.
 
*All recipe names should be in lower case for consistency.
 
*All recipe names should be in lower case for consistency.
 
*Make sure your recipe names don't have a double space in them.  It can be hard to spot the difference between SMALL CHEST and SMALL  CHEST on some clients (and very confusing to players).
 
*Make sure your recipe names don't have a double space in them.  It can be hard to spot the difference between SMALL CHEST and SMALL  CHEST on some clients (and very confusing to players).
Line 55: Line 59:
 
*When making new GenResource subtypes, such as through smelting or textiling, the resultant TYPE of resource should not be more valuable than the subtypes.  For example:  If you combine COPPER and GOLD into a new GREENGOLD subtype of GOLD, then any recipe which requires GOLD (including GREENGOLD) could use GREENGOLD instead (since it it a GOLD type, GREENGOLD subtype).  Instead, consider making the material the lesser value, or an alternate TYPE (so, for the GREENGOLD example, make it either COPPER or BRONZE as the type, and GREENGOLD as the subtype).
 
*When making new GenResource subtypes, such as through smelting or textiling, the resultant TYPE of resource should not be more valuable than the subtypes.  For example:  If you combine COPPER and GOLD into a new GREENGOLD subtype of GOLD, then any recipe which requires GOLD (including GREENGOLD) could use GREENGOLD instead (since it it a GOLD type, GREENGOLD subtype).  Instead, consider making the material the lesser value, or an alternate TYPE (so, for the GREENGOLD example, make it either COPPER or BRONZE as the type, and GREENGOLD as the subtype).
 
**Any GenResource with a Property will pass that adjustment on to crafted items.
 
**Any GenResource with a Property will pass that adjustment on to crafted items.
***Any GenResource with a Property made from ingredients with Property will get its Property overwritten by the ingredients Property (if the same property).  Therefore, GenResources should require ingredients without similar properties, and perhaps no properties at all (they will all be added to the new product if different).
+
***A recipe will override material properties if there is a conflict (same property type), potentially negating the effects of the material property.
 
**The resultant GenResource has a weight equal to the combined weight of all ingredients.  Take this into consideration when determining crafting time.  Uru, for example, produces 24 pounds of material at a time, and as a high-level material has a craft time of 2500.  This will add to the scarcity of the material, and encourage Uru to be used in only the rarest of items.
 
**The resultant GenResource has a weight equal to the combined weight of all ingredients.  Take this into consideration when determining crafting time.  Uru, for example, produces 24 pounds of material at a time, and as a high-level material has a craft time of 2500.  This will add to the scarcity of the material, and encourage Uru to be used in only the rarest of items.
 
*When adding an article to your crafted item before a material wildcard (%) be sure the article fits.  For example, use "a(n) % sword" so that it chances case for a steel sword vs an iron sword.
 
*When adding an article to your crafted item before a material wildcard (%) be sure the article fits.  For example, use "a(n) % sword" so that it chances case for a steel sword vs an iron sword.
 
*Thrown weapons should generally be quicker to craft.  Recommend dividing craft time by 4.  This is due to the nature of using thrown weapons generally requires multiples to be effective.
 
*Thrown weapons should generally be quicker to craft.  Recommend dividing craft time by 4.  This is due to the nature of using thrown weapons generally requires multiples to be effective.

Latest revision as of 21:15, 7 August 2022

CoffeeMUD
Administrator                                                  Builder                                                              Player
=CoffeeMUD Builder Information=
Basics Praetor     Player Support     Commands     Zapper Masks Advanced Races     Classes     Abilities     Socials     Scripting    
Building Behaviors     Properties     Areas     Rooms     Exits     Items     Mobs Systems Achievements     Crafting     Help Info     Ships     Planes of Existence     Quests     Triumphs    

Creating Recipes

There are two ways to create recipes for crafting skills. One is to modify the skill's recipe list, the other is to create an item (GenRecipe) that players must have in their inventory in order to create that item.

Modifying recipe lists

A builder may use the shell commands or file browser to edit the skill's recipe list, or may use the Skill Recipes editor in the grinder to create a new recipe. After creating the new recipe(s) it is advised to view the skill's entire recipe list using the Skill Recipes editor in the grinder. If the grinder fails to pull up this skill's list, it means that one or more recipes in the list have an error. If you review the Server Log, you will see the line number of the first invalid recipe (remember, the list starts at line 0, not at line 1). Fix the error in the recipe list, and try to view the skill through the Skill Recipe editor again, repeating as often as required until you can see the full list of recipes through the editor.

  • The asterisk (*) in the Spell_Code field announces what the semicolon(;) means in the string.
    • If the * is the first character, then the ; separates different ability ids.
    • If there is no leading *, then the first ; separates an ability id from the parameters for that ability.

Maximum Recipe Level

Some abilities limit the level of recipes based on the ability, including learned recipes from other items in the game (Tailoring/Weaponsmithing/Armorsmithing/Leatherworking are limited to level 1-31, while the Master versions of those abilities are 31+ (and 61+ for legendary weaponsmithing)). These limitations are applied before considerations for special materials. Special materials may affect the recipe's final level, resulting in more earned XP for artisans. If you don't want items crafted above the maximum level defined in your ini, you may wish to limit the maximum level of your recipes based on the availability of materials (For armorsmithing and weaponsmithing, the modifier is 3*(hardness-6). Find the highest hardness value of metal resources in your envresources and use that to determine the maximum overall level. Similar modifiers apply in fletching and tailoring). If you DO wish to limit this value, you will also wish to ensure that any item in game above a certain level has restrictions (such as prop_nocraftability) to prevent them from being learned as a recipe. There are scenarios where some players may find use of items above their level (specifically fighter expertises and mage spells), so this isn't addressed generically by the system.

Balancing Recipes

Items should be balanced with your other items from your MUD. You may need to use Appendix C in the Archon's Guide, or your own scale. From the command line, you can rebalance gear by creating/crafting the item in question, setting all the stats the way you basically want them. Then compare the item level to the item's power level by using the Thief_Lore skill or Identify spell. You can RESCORE the item by setting the item to level 0, then setting the item to the desired level, which will auto-adjust the basic characteristics of the item to values to make the power level of the item equal to the item level.

GenRecipes may be intentionally overbalanced due to scarcity, prop_itembinders or how to obtain them (GenShopkeepers requiring a special faction rating, a specific tattoo, etc). My recommendation is to keep the power level within a factor of 1.5 of the item level, except for very rare items. If your MUD is a magic-starved mud, I would keep the power levels even closer to the item level, to ensure players are more reliant upon their abilities than their gear.

One important consideration for item balancing is that classes are assumed to require a certain amount/type of gear. Mages, for example, are assumed to use cloth armor an light weapons. They are not as reliant upon gear as Fighters and Clerics, who can use heavy metal armors for added protection, and a variety of weapons. A mage can perform fairly well without gear, while a high-level fighter with only a starter equipment will struggle with most fights.

Recipe Testing

It is highly recommended that you test your recipe to ensure it properly generates each item on the page.

GenRecipes

GenRecipes allow a builder to add new items to a skill through discovery, instead of through leveling. A GenRecipe can contain a specified number of recipes for one skill.

Ingredient Nomenclature

When specifying the required material types for a recipe the following names have special meaning:

Name Result
GEMSTONE Precious rocks
ROCK All non-precious of rocks
STONE Only the STONE GenResource
WOODEN All types of wood
WOOD Only the WOOD GenResource


Notes

  • When making recipe names, the name should be unique. If you make a recipe for a SMALL UMBER, then do not also make a recipe for UMBER. Instead, make a MEDIUM UMBER so that the parser can distinguish it from (SMALL) UMBER.
    • Otherwise, players will have to learn to use the CRAFTINGSKILL UMBER.1 and CRAFTINGSKILL UMBER.2 nomenclature to properly control which umber is created.
  • All recipe names should be in lower case for consistency.
  • Make sure your recipe names don't have a double space in them. It can be hard to spot the difference between SMALL CHEST and SMALL CHEST on some clients (and very confusing to players).
  • The seventh column in boatbuilding is the RIDE_BASIS, which doesn't really apply, since we are making GenBoats. RIDE_BASIS examples include AIR, WATER, LADDER, etc. Just leave this column blank.
  • Item Restrings are not generally available as skills due to huge potential for player abuse. In a text-based game, the ability to modify the text of an item has huge impact. Therefore, all crafting abilities that do allow for a form of restring use specific formulas. Examples: Jewelmaking and Locksmithing.
  • When making new GenResource subtypes, such as through smelting or textiling, the resultant TYPE of resource should not be more valuable than the subtypes. For example: If you combine COPPER and GOLD into a new GREENGOLD subtype of GOLD, then any recipe which requires GOLD (including GREENGOLD) could use GREENGOLD instead (since it it a GOLD type, GREENGOLD subtype). Instead, consider making the material the lesser value, or an alternate TYPE (so, for the GREENGOLD example, make it either COPPER or BRONZE as the type, and GREENGOLD as the subtype).
    • Any GenResource with a Property will pass that adjustment on to crafted items.
      • A recipe will override material properties if there is a conflict (same property type), potentially negating the effects of the material property.
    • The resultant GenResource has a weight equal to the combined weight of all ingredients. Take this into consideration when determining crafting time. Uru, for example, produces 24 pounds of material at a time, and as a high-level material has a craft time of 2500. This will add to the scarcity of the material, and encourage Uru to be used in only the rarest of items.
  • When adding an article to your crafted item before a material wildcard (%) be sure the article fits. For example, use "a(n) % sword" so that it chances case for a steel sword vs an iron sword.
  • Thrown weapons should generally be quicker to craft. Recommend dividing craft time by 4. This is due to the nature of using thrown weapons generally requires multiples to be effective.