v50 Steam/Premium information for editors
  • v50 information can now be added to pages in the main namespace. v0.47 information can still be found in the DF2014 namespace. See here for more details on the new versioning policy.
  • Use this page to report any issues related to the migration.
This notice may be cached—the current version can be found here.

Editing v0.31:Reactions

Jump to navigation Jump to search

Warning: You are not logged in.
Your IP address will be recorded in this page's edit history.

You are editing a page for an older version of Dwarf Fortress ("Main" is the current version, not "v0.31"). Please make sure you intend to do this. If you are here by mistake, see the current page instead.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.

Latest revision Your text
Line 7: Line 7:
 
In [[Fortress mode]], reactions are linked to specific buildings, and must be added to a civilization's [[Entities|entity file]] to be usable by that civilization.  This has the useful effect of limiting new items and materials (such as special [[wood]] or [[metal]]) to civilizations that have the requisite reaction -- so that if you give your custom civilization a reaction to produce star metal or some other custom material, only they will be able to use it.
 
In [[Fortress mode]], reactions are linked to specific buildings, and must be added to a civilization's [[Entities|entity file]] to be usable by that civilization.  This has the useful effect of limiting new items and materials (such as special [[wood]] or [[metal]]) to civilizations that have the requisite reaction -- so that if you give your custom civilization a reaction to produce star metal or some other custom material, only they will be able to use it.
  
In [[Adventure mode]], reactions are freely available via x > create, and any adventurer character can make free use of them.  Reagents may be held in the hands or dropped on the ground, but cannot be used within a backpack or quiver.  As of .10, there are several bugs with Adventure mode reactions, chief of which is the fact that you cannot select liquid reagents. <!-- reaction product tag works now, liquids and improvement quality dont -->
+
In [[Adventure mode]], reactions are freely available via x > create, and any adventurer character can make free use of them.  Reagents may be held in the hands or dropped on the ground, but cannot be used within a backpack or quiver.  As of .10, there are several bugs with Adventure mode reactions, chief of which is the fact that the [HAS_MATERIAL_REACTION_PRODUCT] token is completely ignored, leading to dragon eye tissue tanned hides, among other things.
  
Prior to version 31.10, a reaction could only result in an object of base [[quality]].  However, in .10 items produced via reactions have been observed to have quality modifiers.  The way skill factors into them has yet is the same as for normal items{{version|0.31.21}}.
+
Prior to version 31.10, a reaction could only result in an object of base [[quality]].  However, in .10 items produced via reactions have been observed to have quality modifiers.  The way skill factors into them has yet to be determined.
  
 
==Anatomy of a reaction==
 
==Anatomy of a reaction==
Line 40: Line 40:
 
=== Reaction name ===
 
=== Reaction name ===
  
This can be anything at all, and is usually used to describe the reaction.  '''Tan a hide''', for example, is the name of the default leather-producing reaction.  Generally this should be written as a small descriptive verb phrase, with the first letter capitalized, for consistency with the existing reactions.
+
This can be anything at all, and is usually used to describe the reaction.  '''Tan a hide''', for example, is the name of the default leather-producing reaction.  Generally this should be written as a small descriptive verb phrase, with the first letter capitalised, for consistency with the existing reactions.
  
 
=== Building ===
 
=== Building ===
Line 49: Line 49:
  
 
The BUILDING NAME is the name of the building that will house this reaction, and the building key is the keyboard shortcut that will queue up the reaction.  If two reactions have the same key, then one of them will be assigned a different key, the first alphabetically available at the building.
 
The BUILDING NAME is the name of the building that will house this reaction, and the building key is the keyboard shortcut that will queue up the reaction.  If two reactions have the same key, then one of them will be assigned a different key, the first alphabetically available at the building.
 
Valid buildings are KILN, SMELTER, TANNER, KITCHEN, QUERN, MILLSTONE, STILL, CRAFTSMAN, and any custom buildings.
 
 
Specifying multiple BUILDING tokens will cause the reaction to be available at all of the specified buildings.
 
  
 
=== Reagents ===
 
=== Reagents ===
Line 60: Line 56:
 
* ''[[#name|name]]'': The name of the reagent, local to the reaction.
 
* ''[[#name|name]]'': The name of the reagent, local to the reaction.
 
* ''[[#quantity|quantity]]'': The amount of the item that will be used in the reaction.
 
* ''[[#quantity|quantity]]'': The amount of the item that will be used in the reaction.
* ''[[#item_token|item token]]'': The type (and subtype) of the item you require.
+
* ''[[#item_token|item token]]'': The type of the item you require.
 
* ''[[#material_token|material token]]'': The material the item should be made of.
 
* ''[[#material_token|material token]]'': The material the item should be made of.
 
* ''[[#Modifiers|...modifiers...]]'': Zero or more tokens which further clarify the acceptable types when the item type and material types are insufficient to distinguish them.
 
* ''[[#Modifiers|...modifiers...]]'': Zero or more tokens which further clarify the acceptable types when the item type and material types are insufficient to distinguish them.
Line 77: Line 73:
 
Item tokens are of the form ITEM_TYPE:ITEM_SUBTYPE.
 
Item tokens are of the form ITEM_TYPE:ITEM_SUBTYPE.
  
The item type is the sort of item you require; WEAPON, TOY or SKIN_TANNED, for example.  A [[item token|full list]] is available.
+
The item type is the sort of item you require; WEAPON, TOY or SKIN_TANNED, for example.  A {{L|item token|full list}} is available.
 
 
For reagents, the item token can also be set to ANY_RAW_MATERIAL:NONE (to permit BAR, BOULDER, POWDER_MISC, or GLOB) or ANY_CRAFT:NONE (to permit FIGURINE, AMULET, SCEPTER, CROWN, RING, EARRING, or BRACELET). Internally, these special values are both converted to NONE:NONE and merely set special modifiers (similar to [BUILDMAT]) - they cannot be used in any other context.
 
  
The item subtype is name of the exact item that you require.  Examples are ITEM_WEAPON_SPEAR or ITEM_TOY_PUZZLEBOX.  Some items, like quivers or backpacks, or chunks of stone or metal, only require the item token to be filled in, so if you're asking for those you should set the subtype to NONE.  Subtypes are defined within the local raw data files and their exact names can be referenced by looking at the corresponding file.
+
*For reagents, the item type can also be set to ANY_RAW_MATERIAL (to permit POWDER_MISC, BAR, BOULDER, or GLOB{{verify}}) or ANY_CRAFT (to permit FIGURINE, AMULET, SCEPTER, CROWN, RING, EARRING, or BRACELET).
 +
*For products, the item type can also be set to CRAFTS to randomly pick a type of {{L|craft}} (and possibly produce more than one{{verify}}).
  
For backwards compatibility, reagents can also accept "METAL_ORE:metal_id" in place of both the item and material tokens - this is equivalent to using the reagent BOULDER:NONE:NONE:NONE with the modifier [METAL_ORE:metal_id] (see below).
+
The item subtype is name of the exact item that you require.  Examples are ITEM_WEAPON_SPEAR or ITEM_TOY_PUZZLEBOX.  Some items, like quivers or backpacks, or chunks of stone or metal, only require the item token to be filled in, so if you're asking for those you should set the subtype to NONE.  Subtypes are the entities defined within the local raw data files and their exact names can be referenced by looking at the corresponding file.
  
 
==== material token ====
 
==== material token ====
Material tokens come in several forms - see [[material token|here]] for a full list. For reagents, this will typically be INORGANIC:MATERIAL_ID, whereas products will typically use GET_MATERIAL_FROM_REAGENT:REAGENT_ID:REACTION_PRODUCT_ID.
+
Material tokens come in several forms - see {{L|material token|here}} for a full list. For reagents, this will typically be INORGANIC:MATERIAL_ID, whereas products will typically use GET_MATERIAL_FROM_REAGENT:REAGENT_ID:REACTION_PRODUCT_ID.
  
 
==== Modifiers ====
 
==== Modifiers ====
Line 97: Line 92:
 
! Token
 
! Token
 
! Meaning
 
! Meaning
 +
|-
 +
| [PRESERVE_REAGENT]
 +
| Reagent is not destroyed, which is the normal effect, at the completion of the reaction. Typically used for containers.
 
|-
 
|-
 
| [REACTION_CLASS:X]
 
| [REACTION_CLASS:X]
Line 110: Line 108:
 
| Reagent must not be rotten, mainly for organic materials.
 
| Reagent must not be rotten, mainly for organic materials.
 
|-
 
|-
| [CONTAINS_LYE]
+
| [BUILDMAT]
| Reagent must be a BARREL or TOOL which contains at least one item of type LIQUID_MISC made of LYE.
+
| Reagent is able to be used to build structures (Stone, Wood, Blocks, Bars?).
|-
 
| [POTASHABLE]
 
| Alias for [CONTAINS_LYE].
 
|-
 
| [NOT_WEB]
 
| Reagent must be collected (to distinguish silk thread from webs). Only makes sense for items of type THREAD.
 
|-
 
| [WEB_ONLY]
 
| Reagent must be undisturbed (to distinguish silk thread from webs). Only makes sense for items of type THREAD.
 
|-
 
| [EMPTY]
 
| If the reagent is a container, it must be empty.
 
|-
 
| [NOT_CONTAIN_BARREL_ITEM]
 
| If the reagent is a container, it must not contain [[lye]] or [[milk]]. Not necessary if specifying [EMPTY].
 
|-
 
| [BAG]
 
| Reagent must be a bag - that is, a BOX made of plant fiber, silk, yarn, or leather.
 
 
|-
 
|-
 
| [GLASS_MATERIAL]  
 
| [GLASS_MATERIAL]  
| Reagent material must have the [IS_GLASS] token. All 3 types of [[glass]] have this token hardcoded.
+
| Reagent is made of one of the 3 types of glass.
 
|-
 
|-
| [BUILDMAT]
+
| [WORTHLESS_STONE_ONLY]
| Reagent must be a general [[building material]] - BAR, BLOCKS, BOULDER, or WOOD.
+
| The reagent respects allowed and forbidden economic stones from the Stone menu.
 
|-
 
|-
 
| [FIRE_BUILD_SAFE]
 
| [FIRE_BUILD_SAFE]
| Reagent material must be stable at temperatures below 11000. Currently broken - requires material's IGNITE_POINT to be set to "NONE". Only works with items of type BAR, BLOCKS, BOULDER, WOOD, and ANVIL - all others are considered unsafe.
+
| Reagent must be considered fire safe - ie. not wood, and not coal.
 
|-
 
|-
 
| [MAGMA_BUILD_SAFE]
 
| [MAGMA_BUILD_SAFE]
| Reagent material must be stable at temperatures below 12000. Currently broken - requires material's IGNITE_POINT to be set to "NONE". Only works with items of type BAR, BLOCKS, BOULDER, WOOD, and ANVIL - all others are considered unsafe.
+
| Reagent must have a melting point greater than the temperature of Magma.
 
|-
 
|-
 
| [CAN_USE_ARTIFACT]
 
| [CAN_USE_ARTIFACT]
 
| Reagent can be an Artifact.  Using [PRESERVE_REAGENT] with this is strongly advised.
 
| Reagent can be an Artifact.  Using [PRESERVE_REAGENT] with this is strongly advised.
|-
 
| [WORTHLESS_STONE_ONLY]
 
| Reagent material must be non-[[economic]].
 
 
|-
 
|-
 
| [ANY_PLANT_MATERIAL]  
 
| [ANY_PLANT_MATERIAL]  
| Reagent material must be subordinate to a PLANT object.
+
| Reagent material must have any of the [STRUCTURAL_PLANT_MAT], [SEED_MAT], or [LEAF_MAT] tokens.
 
|-
 
|-
 
| [ANY_SILK_MATERIAL]  
 
| [ANY_SILK_MATERIAL]  
Line 167: Line 144:
 
| Reagent material must have the [BONE] token.
 
| Reagent material must have the [BONE] token.
 
|-
 
|-
| [ANY_STRAND_TISSUE]
+
| [ANY_STRAND_MATERIAL]
| Reagent is made of a tissue having [TISSUE_SHAPE:STRANDS], intended for matching hair and wool. Must be used with [USE_BODY_COMPONENT].
+
| Unknown
 
|-
 
|-
 
| [ANY_SHELL_MATERIAL]
 
| [ANY_SHELL_MATERIAL]
Line 183: Line 160:
 
|-
 
|-
 
| [USE_BODY_COMPONENT]
 
| [USE_BODY_COMPONENT]
| Reagent must be a body part (CORPSE or CORPSEPIECE).
+
| Reagent material must come off a creature's body.
 
|-
 
|-
 
| [NO_EDGE_ALLOWED]
 
| [NO_EDGE_ALLOWED]
| Reagent must not have an edge - excludes sharp stones (produced using knapping) and most types of weapon/ammo.
+
| Reagent must not be sharpened (used for knapping).
 
|-
 
|-
 
| [NOT_ENGRAVED]
 
| [NOT_ENGRAVED]
| Reagent has not been engraved (excludes memorial slabs).
+
| ?
 
|-
 
|-
 
| [NOT_IMPROVED]
 
| [NOT_IMPROVED]
Line 197: Line 174:
 
| Reagent material must have [ABSORPTION:0]
 
| Reagent material must have [ABSORPTION:0]
 
|-
 
|-
| [FOOD_STORAGE_CONTAINER]
+
| [NOT_PRESSED]
| Reagent is either a BARREL or a TOOL with the FOOD_STORAGE use.
+
| Reagent must not be in the SOLID_PRESSED state.
 +
|-
 +
| [METAL_ORE]
 +
| Reagent material must be a metal ore.
 +
|-
 +
| [NOT_WEB]
 +
| States that the material cannot be a web (For making only plant/adamantine thread?).
 +
|-
 +
| [WEB_ONLY]
 +
| States that the material has to be a web (For making only silk thread?).
 
|-
 
|-
| [HARD_ITEM_MATERIAL]
+
| [POTASHABLE]
| Material has the [ITEMS_HARD] token.
+
| The reagent must be able to be turned into potash - thus, it must be either ASH or LYE.
 
|-
 
|-
| [NOT_PRESSED]
+
| [EMPTY]
| Reagent must not be in the SOLID_PRESSED state.
+
| If the reagent is a container, it must be empty.
 +
|-
 +
| [CONTAINS_LYE]
 +
| If the reagent is a container, it must contain LYE. No longer used - instead, use one reagent for the LYE itself and another reagent with [CONTAINS:lye_reagent].
 +
|-
 +
| [NOT_CONTAIN_BARREL_ITEM]
 +
| If the reagent is a Barrel, it must not contain an item that has to reside in a barrel.  Barrel items appear to be lye and milk.  Alcohol appears to be covered as part of [EMPTY].  A reaction which places an item in a barrel should probably have both tags.
 
|-
 
|-
| [METAL_ORE:X]
+
| [BAG]
| Reagent material must be an ore of the specified metal.
+
| Reagent has to be a bag. Intended to be used with an item type of BOX, to prevent chests, coffers, and other containers from being used instead.
 
|-
 
|-
| [MIN_DIMENSION:X]
+
| [MIN_DIMENSION]
| Reagent's item dimension must be at least this large. The reagent's item type must be BAR, POWDER_MISC, LIQUID_MISC, DRINK, THREAD, or CLOTH for this to work.
+
| ?
 
|-
 
|-
 
| [HAS_TOOL_USE:X]
 
| [HAS_TOOL_USE:X]
| Reagent must be a [[tool]] with the specific TOOL_USE value. The reagent's item type must be TOOL:NONE for this to make any sense.
+
| Reagent must be a {{L|tool}} with the specific TOOL_USE value. The reagent's item type must be TOOL:NONE for this to make any sense.
|-
 
| [PRESERVE_REAGENT]
 
| Reagent is not destroyed, which is the normal effect, at the completion of the reaction. Typically used for containers.
 
 
|-
 
|-
 
| [DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
 
| [DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
| Reagent quantity is ignored for the purposes of producing extra outputs. Typically used for containers so that [[stack]]s of reagents will correctly produce additional outputs.
+
| ?
 
|}
 
|}
  
Generally speaking, if you set a field in a reagent to NONE, the reaction won't discriminate when it comes to that particular field.  For example, if you require a BOULDER reagent but leave the material as NONE:NONE, it will grab any available BOULDER-type item regardless of material.
+
Generally speaking, if you set a field in a reagent to NONE, the reaction won't discriminate when it comes to that particular field.  For example, if you require a BOULDER reagent but leave the matgloss fields as NONE:NONE, it will grab any available BOULDER-type item irrespective of matgloss.
  
 
===Products===
 
===Products===
 
Products are the end product of the reaction.  A reaction can have as many products as it likes.
 
Products are the end product of the reaction.  A reaction can have as many products as it likes.
  
Products are almost identical to reagents, except that they do not need to be named, can't have fields undefined, and don't use the quantity field to determine the product size. Instead, the token PRODUCT_DIMENSION:X is tacked on after the PRODUCT token, determining the size of the product.
+
Restating this in the above style, we have:
 +
  [PRODUCT:<probability>:<quantity>:<item token>:<material token>][...modifiers...][PRODUCT_DIMENSION:X][PRODUCT_TO_CONTAINER:<IDENTIFIER>]
 +
 
 +
probability: The percentage chance the product will be produced when the reaction is completed.
  
Products can be produced directly to a container using the [PRODUCT_TO_CONTAINER:<IDENTIFIER>] token, where the IDENTIFIER is the name of a reagent.  This requires the reagent to have the PRESERVE_REAGENT token.
+
quantity: how many of the product will be produced.
  
Restating this in the above style, we have:
+
item token: The type:subtype of the item you produce.
  [PRODUCT:<probability>:<quantity>:<item token>:<material token>][...modifiers...][PRODUCT_DIMENSION:X][PRODUCT_TO_CONTAINER:<IDENTIFIER>]
 
  
====probability====
+
material token: A {{L|material token}} describing what the product will be made of.
The percentage chance the product will be produced when the reaction is completed.
 
  
====quantity====
+
...modifiers...: Zero or more tokens which further clarify the acceptable types when the item type and material types are insufficient to distinguish them.  Probably unnecessary for products.
Determines how many of the product will be produced.
 
  
====item token====
+
product dimension: size of the product
The [[item token]] and subtype of the item you produce.
 
  
For products, this can also be set to CRAFTS:NONE to produce up to three random [[craft]] items. This value cannot be used in any other context.
+
product to container: uses a reagent to store the result.
  
====material token====
+
Products are almost identical to reagents, except that they do not need to be named, can't have fields undefined, and don't use the quantity field to determine the product size.  Instead, the token PRODUCT_DIMENSION:X is tacked on after the PRODUCT token, determining the size of the product.
A [[material token]] describing what the product will be made of.
 
  
====Product modifiers====
+
Products can be produced directly to a container using the [PRODUCT_TO_CONTAINER:<IDENTIFIER>] token, where the IDENTIFIER is the name of a reagent.  This requires the reagent to have the PRESERVE_REAGENT token.
Zero or more tokens which further clarify the acceptable types when the item type and material types are insufficient to distinguish them.
 
  
 +
Product modifiers:
 
{| {{prettytable}}
 
{| {{prettytable}}
 
|- bgcolor="#dddddd"
 
|- bgcolor="#dddddd"
Line 264: Line 251:
 
| [PRODUCT_PRESSED]
 
| [PRODUCT_PRESSED]
 
| Product is created in the SOLID_PRESSED state.
 
| Product is created in the SOLID_PRESSED state.
|-
 
| [PRODUCT_DIMENSION:<size>]
 
| Specifies the size of the product. A size of 150 is typical for BAR, POWDER_MISC, LIQUID_MISC, and DRINK. A size of 15000 is typical for THREAD, and a size of 10000 is typical for CLOTH. Has no effect on any other item types.
 
|-
 
| [PRODUCT_TO_CONTAINER:<id>]
 
| Places the product in a container; <id> must be the name of a reagent with the PRESERVE_REAGENT token and a container item type.
 
 
 
|}
 
|}
  
Line 279: Line 259:
 
   [IMPROVEMENT:<probability>:<reagent name>:<improvement type>:<material token>]
 
   [IMPROVEMENT:<probability>:<reagent name>:<improvement type>:<material token>]
  
====probability====
+
probability: The percentage chance the improvement will be applied to the reagent when the reaction is completed.
The percentage chance the improvement will be applied to the reagent when the reaction is completed.
 
  
====reagent name====
+
reagent name: The name of the reagent that will be improved. In order to be meaningful, this reagent must have [PRESERVE_REAGENT].
The name of the reagent that will be improved. In order to be meaningful, this reagent must have [PRESERVE_REAGENT].
 
  
====improvement type====
+
improvement type: The type of improvement to be added to the item. Valid types are COVERED (encrusted, studded, or decorated), RINGS_HANGING (decorated with hanging rings), SPIKES (menaces with spikes), BANDS (encircled with bands), or GLAZED. It is not possible to add a picture decoration; it is not known if a random decoration type can be chosen.
The following improvement types can be used:
 
{| {{prettytable}}
 
|- bgcolor="#dddddd"
 
! Token
 
! Meaning
 
|-
 
| COVERED
 
| Item is encrusted/studded/decorated with <material>.
 
|-
 
| GLAZED
 
| Item is glazed with <material>.
 
|-
 
| RINGS_HANGING
 
| Item is adorned with hanging rings of <material>.
 
|-
 
| BANDS
 
| Item is encircled with bands of <material>.
 
|-
 
| SPIKES
 
| Item menaces with spikes of <material>.
 
|}
 
  
All other item improvement tokens (ART_IMAGE, ITEMSPECIFIC, THREAD, CLOTH, and SEWN_IMAGE) are ignored.
+
material token: A {{L|material token}} describing what the decoration will be made of.
 
 
====material token====
 
A [[material token]] describing what the decoration will be made of.
 
  
 
===Other tokens===
 
===Other tokens===
  
 
==== fuel ====
 
==== fuel ====
The FUEL token means that the reaction requires coke or charcoal to be performed. Fuel is not needed when the reaction is performed at a magma workshop (a [[magma kiln]], [[magma smelter]], or any custom building having [NEEDS_MAGMA]).
+
The FUEL token means that the reaction requires coke or charcoal to be performed, or magma in magma workshops.
  
 
==== skill ====
 
==== skill ====
The SKILL token determines what [[Skill token|skill]] the reaction requires and what skill it trains.  Only one skill may be specified.
+
The SKILL token determines what [[Skill tokens|skill]] the reaction requires and what skill it trains.  Multiple skills can be listed but only one will be used.
  
 
==== automatic ====
 
==== automatic ====
Line 340: Line 294:
 
In short, they require the material to have a token such as  
 
In short, they require the material to have a token such as  
 
   [MATERIAL_REACTION_PRODUCT:X:Y]
 
   [MATERIAL_REACTION_PRODUCT:X:Y]
...where X is the name of the reaction product that will be referred to in the reaction (RENDER_MAT, in the reaction class example, or TAN_MAT for leather) and Y is a [[material token]] indicating the material of the desired product (such as LOCAL_CREATURE_MAT:LEATHER]).
+
...where X is the name of the reaction product that will be referred to in the reaction (RENDER_MAT, in the reaction class example, or TAN_MAT for leather) and Y is a {{L|material token}} indicating the material of the desired product (such as LOCAL_CREATURE_MAT:LEATHER]).
  
 
==Reactions and world generation==
 
==Reactions and world generation==
Line 350: Line 304:
 
* You can alter an existing reaction in any way you like without regenning the world, so long as you don't alter the reaction identifier.
 
* You can alter an existing reaction in any way you like without regenning the world, so long as you don't alter the reaction identifier.
  
==Full Token List==
+
[[Category:DF2010:Modding]]
For the sake of convenience and readability this is a complete compilation of the previously listed reaction tokens in alphabetical order
 
 
 
{| {{prettytable}}
 
|- bgcolor="#dddddd"
 
! Token
 
! Arguments
 
! Description
 
 
 
|-
 
| ADVENTURE_MODE_ENABLED
 
|
 
| this version of the reaction is not used by dwarves at home in a fortress, but rather the wanderers of Adventure Mode.  When using this token, it will be allowed for adventurers of any race, without editing Entity files
 
 
 
|-
 
| ANY_BONE_MATERIAL
 
|
 
| Reagent material must have the [BONE] token.
 
 
 
|-
 
| ANY_HORN_MATERIAL
 
|
 
| Reagent material must have the [HORN] token.
 
 
 
|-
 
| ANY_LEATHER_MATERIAL
 
|
 
| Reagent material must have the [LEATHER] token.
 
 
 
|-
 
| ANY_PEARL_MATERIAL
 
|
 
| Reagent material must have the [PEARL] token.
 
 
 
|-
 
| ANY_PLANT_MATERIAL
 
|
 
| Reagent material must be subordinate to a PLANT object.
 
 
 
|-
 
| ANY_SHELL_MATERIAL
 
|
 
| Reagent material must have the [SHELL] token.
 
 
 
|-
 
| ANY_SILK_MATERIAL
 
|
 
| Reagent material must have the [SILK] token.
 
 
 
|-
 
| ANY_SOAP_MATERIAL
 
|
 
| Reagent material must have the [SOAP] token.
 
 
 
|-
 
| ANY_STRAND_TISSUE
 
|
 
| Reagent is made of a tissue having [TISSUE_SHAPE:STRANDS], intended for matching hair and wool. Must be used with [USE_BODY_COMPONENT].
 
 
 
|-
 
| ANY_TOOTH_MATERIAL
 
|
 
| Reagent material must have the [TOOTH] token.
 
 
 
|-
 
| ANY_YARN_MATERIAL
 
|
 
| Reagent material must have the [YARN] token.
 
 
 
|-
 
| AUTOMATIC
 
|
 
| the reaction will be queued automatically if the reaction reagents are all present.
 
 
 
|-
 
| BAG
 
|
 
| Reagent has to be a bag. Intended to be used with an item type of BOX, to prevent chests, coffers, and other containers from being used instead.
 
 
 
|-
 
| BUILDING
 
|
 
* Building name
 
* in-building reaction hotkey
 
| Sets the building that the reaction will be performed in, and the button used to queue the reaction once that building's menu is accessed in-game
 
 
 
|-
 
| BUILDMAT
 
|
 
| Reagent is able to be used to build structures (Stone, Wood, Blocks, Bars?).
 
 
 
|-
 
| CAN_USE_ARTIFACT
 
|
 
| Reagent can be an Artifact.  Using [PRESERVE_REAGENT] with this is strongly advised.
 
 
 
|-
 
| CONTAINS
 
| required content
 
| Reagent is a container that holds the specified reagent.
 
 
 
|-
 
| CONTAINS_LYE
 
|
 
| If the reagent is a container, it must contain LYE. No longer used - instead, use one reagent for the LYE itself and another reagent with [CONTAINS:lye_reagent].
 
 
 
|-
 
| DOES_NOT_ABSORB
 
|
 
| Reagent material must have [ABSORPTION:0]
 
 
 
|-
 
| DOES_NOT_DETERMINE_PRODUCT_AMOUNT
 
|
 
| Performing a reaction with large [[stack]]s of inputs can allow multiple sets of outputs to be produced. Setting this flag causes the reagent to be ignored in this process - for example, with the reaction "1 plant + 1 barrel -> 5 alcohol (into barrel)", using this on the barrel allows the reaction to be performed as "5 plant + 1 barrel -> 25 alcohol" instead of "5 plant + 5 barrel -> 25 alcohol".
 
 
 
|-
 
| EMPTY
 
|
 
| If the reagent is a container, it must be empty.
 
 
 
|-
 
| FIRE_BUILD_SAFE
 
|
 
| Reagent must be considered fire safe - ie. not wood, and not coal.
 
 
 
|-
 
| FORCE_EDGE
 
|
 
| Product is given a sharp edge. Used for knapping.
 
 
 
|-
 
| FUEL
 
|
 
| Requires that the reaction either use up a unit of coal or charcoal or else be performed at a magma workshop
 
 
 
|-
 
| GLASS_MATERIAL
 
|
 
| Reagent material has [IS_GLASS].
 
 
 
|-
 
| HAS_MATERIAL_REACTION_PRODUCT
 
| required reaction product
 
|
 
 
 
|-
 
| HAS_TOOL_USE
 
| Tool-use token
 
| Reagent must be a [[tool]] with the specific TOOL_USE value. The reagent's item type must be TOOL:NONE for this to make any sense.
 
 
 
|-
 
| IMPROVEMENT
 
|
 
* Probability
 
* Reagent Name
 
* Improvement type
 
* Material Token
 
| Improvement types include BANDS, COVERED, GLAZED, RINGS_HANGING, and SPIKES
 
 
 
|-
 
| MAGMA_BUILD_SAFE
 
|
 
| Currently broken - behaves exactly the same as FIRE_BUILD_SAFE.
 
 
 
|-
 
| METAL_ORE
 
|
 
* Inorganic material
 
| Reagent material must be an ore of the specified metal
 
 
 
|-
 
| MIN_DIMENSION
 
|
 
* size
 
| Requires that the reagent have a dimension of at least this value. Only effective with BAR, POWDER_MISC, LIQUID_MISC, DRINK, THREAD, and CLOTH items.
 
 
 
|-
 
| NAME
 
| name
 
| defines the name used by the reaction in-game
 
 
 
|-
 
| NO_EDGE_ALLOWED
 
|
 
| Reagent must not be sharpened (used for knapping).
 
 
 
|-
 
| NOT_CONTAIN_BARREL_ITEM
 
|
 
| If the reagent is a Barrel, it must not contain an item that has to reside in a barrel.  Barrel items appear to be lye and milk.  Alcohol appears to be covered as part of [EMPTY].  A reaction which places an item in a barrel should probably have both tags.
 
 
 
|-
 
| NOT_ENGRAVED
 
|
 
| Reagent must not be engraved?
 
 
 
|-
 
| NOT_IMPROVED
 
|
 
| Reagent has not been decorated.
 
 
 
|-
 
| NOT_PRESSED
 
|
 
| Reagent must not be in the SOLID_PRESSED state.
 
 
 
|-
 
| NOT_WEB
 
|
 
| Reagent must be "collected" - used with THREAD:NONE to exclude webs.
 
 
 
|-
 
| POTASHABLE
 
|
 
| Alias for CONTAINS_LYE.
 
 
 
|-
 
| PRESERVE_REAGENT
 
|
 
| Reagent is not destroyed, which is the normal effect, at the completion of the reaction. Typically used for containers.
 
 
 
|-
 
| PRODUCT
 
|
 
*Probability
 
*Quantity
 
*Item Token
 
*Material Token
 
| Defines one of the products to be outputted by the reaction
 
 
 
|-
 
| PRODUCT_DIMENSION
 
| size
 
| Specifies the size of the product. A size of 150 is typical for BAR, POWDER_MISC, LIQUID_MISC, and DRINK.  A size of 15000 is typical for THREAD, and a size of 10000 is typical for CLOTH.
 
 
 
|-
 
| PRODUCT_PASTE
 
|
 
| Product is created in the SOLID_PASTE state.
 
 
 
|-
 
| PRODUCT_PRESSED
 
|
 
| Product is created in the SOLID_PRESSED state.
 
 
 
|-
 
| PRODUCT_TO_CONTAINER
 
| Reagent ID
 
| Places the product in a container; <id> must be the name of a reagent with the PRESERVE_REAGENT token and a container item type.
 
 
 
|-
 
| REACTION
 
| Identifier
 
| defines a new reaction
 
 
 
|-
 
| REACTION_CLASS
 
|
 
|
 
 
 
|-
 
|REAGENT
 
|
 
* name/id
 
* quantity
 
* [[item token]]
 
* [[material token]]
 
| Requires a given reagent as an input for a reaction
 
 
 
|-
 
| SKILL
 
| Skill Token
 
| Skill used by the reaction
 
 
 
|-
 
| UNROTTEN
 
|
 
| Reagent must not be rotten, mainly for organic materials.
 
 
 
|-
 
| USE_BODY_COMPONENT
 
|
 
| Reagent material must come off a creature's body.
 
 
 
|-
 
| WEB_ONLY
 
|
 
| Reagent must be "undisturbed" - used with THREAD:NONE to gather webs.
 
 
 
|-
 
| WORTHLESS_STONE_ONLY
 
|
 
| Reagent is not made of an economic stone.
 
 
 
|}
 
 
 
{{Category|Modding}}
 

Please note that all contributions to Dwarf Fortress Wiki are considered to be released under the GFDL & MIT (see Dwarf Fortress Wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following CAPTCHA:

Cancel Editing help (opens in new window)