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.

Difference between revisions of "Material definition token"

From Dwarf Fortress Wiki
Jump to navigation Jump to search
Line 18: Line 18:
 
| {{text_anchor|USE_MATERIAL_TEMPLATE}}
 
| {{text_anchor|USE_MATERIAL_TEMPLATE}}
 
|
 
|
* <material name>
 
 
* <template name>
 
* <template name>
| Starts defining a new local material with the given name and using the properties of the specified preexisting material template.  
+
| Imports the properties of the specified preexisting material template.  
  
 
|-
 
|-

Revision as of 08:06, 31 March 2022

This article is about the current version of DF.
Note that some content may still need to be updated.


The following tokens can be used in material definitions (whether for inorganics or those within plants and creatures) as well as in material templates.

Material properties

Token Arguments Description
USE_MATERIAL_TEMPLATE
  • <template name>
Imports the properties of the specified preexisting material template.
PREFIX
  • <prefix> or NONE
Applies a prefix to all items made from the material. For PLANT and CREATURE materials, this defaults to the plant/creature name. Not permitted in material template definitions.
STONE_NAME
  • <name>
Overrides the name of BOULDER items (i.e. mined-out stones) made of the material (used for native copper/silver/gold/platinum to make them be called "nuggets" instead of "boulders").
IS_GEM
  • <name>
  • <plural>
  • OVERWRITE_SOLID (optional)
Used to indicate that said material is a gemstone - when tiles are mined out, rough gems will be yielded instead of boulders. Plural can be "STP" to automatically append an "s" to the singular form, and OVERWRITE_SOLID will override the relevant STATE_NAME and STATE_ADJ values.
TEMP_DIET_INFO
  • <type>
Specifies what the material should be treated as when drinking water contaminated by it, for generating unhappy thoughts. Valid values are BLOOD, SLIME, VOMIT, ICHOR, PUS, GOO, GRIME, and FILTH.
POWDER_DYE Allows the material to be used as dye, and defines color of dyed items.
TILE Specifies the tile that will be used to represent unmined tiles made of this material. Generally only used with stones. Defaults to 219 ('█').
ITEM_SYMBOL Specifies the tile that will be used to represent BOULDER items made of this material. Generally only used with stones. Defaults to 7 ('•').
DISPLAY_COLOR The on-screen color of the material. Uses a standard 3-digit color token. Equivalent to [TILE_COLOR:a:b:c], [BUILD_COLOR:b:a:X] (X = 1 if 'a' equals 'b', 0 otherwise), and [BASIC_COLOR:a:c]
BUILD_COLOR The color of objects made of this material which use both the foreground and background color: doors, floodgates, hatch covers, bins, barrels, and cages. Defaults to 7:7:1 (white).
TILE_COLOR The color of unmined tiles containing this material (for stone and soil), as well as engravings in this material. Defaults to 7:7:1 (white).
BASIC_COLOR The color of objects made of this material which use only the foreground color, including workshops, floors and boulders, and smoothed walls. Defaults to 7:1 (white).
STATE_COLOR Determines the color of the material at the specified state. See below for a list of valid material states. Color comes from descriptor_color_standard.txt. The nearest color value is used to display contaminants and body parts made of this material. Example:

[STATE_COLOR:ALL_SOLID:GRAY]

STATE_NAME Determines the name of the material at the specified state, as displayed in-game.

[STATE_NAME:ALL_SOLID:stone]

STATE_ADJ Like STATE_NAME, but used in different situations. Equipment made from the material uses the state adjective and not the state name.
STATE_NAME_ADJ Sets both STATE_NAME and STATE_ADJ at the same time.
ABSORPTION
  • <value>
The material's tendency to absorb liquids. Containers made of materials with nonzero absorption cannot hold liquids unless they have been glazed. Defaults to 0.
IMPACT_YIELD
  • <value>
Specifies how hard of an impact (in kilopascals) the material can withstand before it will start deforming permanently. Used for blunt-force combat. Defaults to 10000.
IMPACT_FRACTURE
  • <value>
Specifies how hard of an impact the material can withstand before it will fail entirely. Used for blunt-force combat. Defaults to 10000.
IMPACT_STRAIN_AT_YIELD or IMPACT_ELASTICITY
  • <value>
Specifies how much the material will have given (in parts-per-100000) when the yield point is reached. Used for blunt-force combat. Defaults to 0. Apparently affects in combat whether the corresponding tissue is bruised (value >= 50000), torn (value between 25000 and 49999), or fractured (value <= 24999)
COMPRESSIVE_YIELD
  • <value>
Specifies how hard the material can be compressed before it will start deforming permanently. Determines a tissue's resistance to pinching and response to strangulation. Defaults to 10000.
COMPRESSIVE_FRACTURE
  • <value>
Specifies how hard the material can be compressed before it will fail entirely. Determines a tissue's resistance to pinching and response to strangulation. Defaults to 10000.
COMPRESSIVE_STRAIN_AT_YIELD or COMPRESSIVE_ELASTICITY
  • <value>
Specifies how much the material will have given when it has been compressed to its yield point. Determines a tissue's resistance to pinching and response to strangulation. Defaults to 0.
TENSILE_YIELD
  • <value>
Specifies how hard the material can be stretched before it will start deforming permanently. Determines a tissue's resistance to a latching and tearing bite. Defaults to 10000.
TENSILE_FRACTURE
  • <value>
Specifies how hard the material can be stretched before it will fail entirely. Determines a tissue's resistance to a latching and tearing bite. Defaults to 10000.
TENSILE_STRAIN_AT_YIELD or TENSILE_ELASTICITY
  • <value>
Specifies how much the material will have given when it is stretched to its yield point. Determines a tissue's resistance to a latching and tearing bite. Defaults to 0.
TORSION_YIELD
  • <value>
Specifies how hard the material can be twisted before it will start deforming permanently. Used for latching and shaking with a blunt attack (no default creature has such an attack, but they can be modded in). Defaults to 10000.
TORSION_FRACTURE
  • <value>
Specifies how hard the material can be twisted before it will fail entirely. Used for latching and shaking with a blunt attack (no default creature has such an attack, but they can be modded in). Defaults to 10000.
TORSION_STRAIN_AT_YIELD or TORSION_ELASTICITY
  • <value>
Specifies how much the material will have given when it is twisted to its yield point. Used for latching and shaking with a blunt attack (no default creature has such an attack, but they can be modded in). Defaults to 0.
SHEAR_YIELD
  • <value>
Specifies how hard the material can be sheared before it will start deforming permanently. Used for cutting calculations. Defaults to 10000.
SHEAR_FRACTURE
  • <value>
Specifies how hard the material can be sheared before it will fail entirely. Used for cutting calculations. Defaults to 10000.
SHEAR_STRAIN_AT_YIELD or SHEAR_ELASTICITY
  • <value>
Specifies how much the material will have given when sheared to its yield point. Used for cutting calculations. Defaults to 0.
BENDING_YIELD
  • <value>
Specifies how hard the material can be bent before it will start deforming permanently. Determines a tissue's resistance to being mangled with a joint lock. Defaults to 10000.
BENDING_FRACTURE
  • <value>
Specifies how hard the material can be bent before it will fail entirely. Determines a tissue's resistance to being mangled with a joint lock. Defaults to 10000.
BENDING_STRAIN_AT_YIELD or BENDING_ELASTICITY
  • <value>
Specifies how much the material will have given when bent to its yield point. Determines a tissue's resistance to being mangled with a joint lock. Defaults to 0.
MAX_EDGE
  • <value>
How sharp the material is. Used in cutting calculations. Does not allow an inferior metal to penetrate superior armor. Applying a value of at least 10000 to a stone will allow weapons to be made from that stone. Defaults to 10000.
MATERIAL_VALUE
  • <value>
Value modifier for the material. Defaults to 1. This number can be made negative by placing a "-" in front, resulting in things that you are paid to buy and must pay to sell.
MULTIPLY_VALUE
  • <value>
Multiplies the value of the material. Not permitted in material template definitions.
SPEC_HEAT
  • <specific heat capacity>
Rate at which the material heats up or cools down (in joules/kilogram-kelvin). If set to NONE, the temperature will be fixed at its initial value. See Temperature for more information. Defaults to NONE.
HEATDAM_POINT
  • <temperature>
Temperature above which the material takes damage from heat. May be set to NONE. If the material has an ignite point but no heatdam point, it will burn for a very long time (9 months and 16.8 days). Defaults to NONE.
COLDDAM_POINT
  • <temperature>
Temperature below which the material takes damage from cold. Defaults to NONE.
IGNITE_POINT
  • <temperature>
Temperature at which the material will catch fire. Defaults to NONE.
MELTING_POINT
  • <temperature>
Temperature at which the material melts. Defaults to NONE.
BOILING_POINT
  • <temperature>
Temperature at which the material boils. Defaults to NONE.
MAT_FIXED_TEMP
  • <temperature>
Items composed of this material will initially have this temperature. Used in conjunction with [SPEC_HEAT:NONE] to make material's temperature fixed at the specified value. Defaults to NONE.
IF_EXISTS_SET_HEATDAM_POINT
  • <temperature>
Changes a material's HEATDAM_POINT, but only if it was not set to NONE. Not permitted in material template definitions.
IF_EXISTS_SET_COLDDAM_POINT
  • <temperature>
Changes a material's COLDDAM_POINT, but only if it was not set to NONE. Not permitted in material template definitions.
IF_EXISTS_SET_IGNITE_POINT
  • <temperature>
Changes a material's IGNITE_POINT, but only if it was not set to NONE. Not permitted in material template definitions.
IF_EXISTS_SET_MELTING_POINT
  • <temperature>
Changes a material's MELTING_POINT, but only if it was not set to NONE. Not permitted in material template definitions.
IF_EXISTS_SET_BOILING_POINT
  • <temperature>
Changes a material's BOILING_POINT, but only if it was not set to NONE. Not permitted in material template definitions.
IF_EXISTS_SET_MAT_FIXED_TEMP
  • <temperature>
Changes a material's MAT_FIXED_TEMP, but only if it was not set to NONE. Not permitted in material template definitions.
SOLID_DENSITY
  • <density>
Specifies the density (in kilograms per cubic meter) of the material when in solid form. Also affects combat calculations; affects blunt-force damage and ability of edged weapons to pierce tissue layers[Verify]. Defaults to NONE.
LIQUID_DENSITY
  • <density>
Specifies the density of the material when in liquid form. Defaults to NONE.
MOLAR_MASS
  • <value>
Supposedly not used[Verify]. Theoretically, should determine density (at given pressure) in gas state, on which in turn would depend (together with weight of vaporized material) on the volume covered by spreading vapors. Defaults to NONE.
EXTRACT_STORAGE * BARREL or FLASK Specifies the type of container used to store the material. Used in conjunction with the [EXTRACT_BARREL], [EXTRACT_VIAL], or [EXTRACT_STILL_VIAL] plant tokens. Defaults to BARREL.
BUTCHER_SPECIAL Specifies the item type used for butchering results made of this material. Stock raws use GLOB:NONE for fat and MEAT:NONE for other meat materials.
MEAT_NAME
  • <prefix>
  • <name>
  • <adjective>
When a creature is butchered, meat yielded from organs made from this material will be named via this token.
BLOCK_NAME
  • <singular>
  • <plural>
Specifies the name of blocks made from this material.
WAFERS The material forms "wafers" instead of "bars".
MATERIAL_REACTION_PRODUCT Used with reaction raws to associate a reagent material with a product material. The first argument is used by HAS_MATERIAL_REACTION_PRODUCT and GET_MATERIAL_FROM_REAGENT in reaction raws. The remainder is a material reference, generally LOCAL_CREATURE_MAT:SUBTYPE or LOCAL_PLANT_MAT:SUBTYPE or INORGANIC:STONETYPE.

[MATERIAL_REACTION_PRODUCT:TAN_MAT:LOCAL_CREATURE_MAT:LEATHER]

ITEM_REACTION_PRODUCT Used with reaction raws to associate a reagent material with a complete item. The first argument is used by HAS_ITEM_REACTION_PRODUCT and GET_ITEM_DATA_FROM_REAGENT in reaction raws. The rest refers to the type of item, then its material.

[ITEM_REACTION_PRODUCT:BAG_ITEM:PLANT_GROWTH:LEAVES:LOCAL_PLANT_MAT:LEAF]

REACTION_CLASS
  • <reaction class name>
Used to classify all items made of the material, so that reactions can use them as generic reagents.

In default raws, the following are used:

  • FAT, TALLOW, SOAP, PARCHMENT, PAPER_PLANT, PAPER_SLURRY, MILK, CHEESE, WAX
  • CAN_GLAZE - items made from this material can be glazed.
  • FLUX - can be used as flux in pig iron and steel making.
  • GYPSUM - can be processed into gypsum plaster.
  • CALCIUM_CARBONATE - can be used in production of quicklime.v0.42.01
METAL_ORE
  • <inorganic material name e.g. LEAD>
  • <value>
Makes BOULDER acceptable as a reagent in reactions that require "METAL_ORE:MATERIAL_NAME", as well as smelting directly into metal bars.
Places the material under "Metal Ores" in Stone stockpiles.
The specified value determines the probability for this product (see Tetrahedrite or Galena for details).
THREAD_METAL Makes BOULDER items made of the material acceptable for strand extraction into threads; see also STOCKPILE_THREAD_METAL. Value presumably determines the probability of this product extracted.[Verify]
HARDENS_WITH_WATER Allows the material to be used to make casts.
SOAP_LEVEL
  • <value>
Soap has [SOAP_LEVEL:2]. Effects unknown. Defaults to 0.
SYNDROME Begins defining a syndrome applied by the material. Multiple syndromes can be specified. See Syndrome token.

Material states

The following is a list of valid material states:

SOLID
LIQUID
GAS
POWDER (or SOLID_POWDER)
PASTE (or SOLID_PASTE)
PRESSED (or SOLID_PRESSED)

The following can be specified within tokens such as STATE_NAME, STATE_NAME_ADJ and STATE_ADJ to make them apply to several of the above material states simultaneously:

Value Description
ALL Denotes all possible material states.
ALL_SOLID Denotes 'SOLID', 'POWDER', 'PASTE' and 'PRESSED'.

Material usage tokens

Token Arguments Description
IMPLIES_ANIMAL_KILL Lets the game know that an animal was likely killed in the production of this item. Entities opposed to killing animals (which currently does not include Elves) will refuse to accept these items in trade.
ALCOHOL_PLANT Classifies the material as plant-based alcohol, allowing its storage in food stockpiles under "Drink (Plant)".
ALCOHOL_CREATURE Classifies the material as animal-based alcohol, allowing its storage in food stockpiles under "Drink (Animal)".
ALCOHOL Classifies the material as generic alcohol. Implied by both ALCOHOL_PLANT and ALCOHOL_CREATURE. Exact behavior unknown, possibly vestigial.
CHEESE_PLANT Classifies the material as plant-based cheese, allowing its storage in food stockpiles under "Cheese (Plant)".
CHEESE_CREATURE Classifies the material as animal-based cheese, allowing its storage in food stockpiles under "Cheese (Animal)".
CHEESE Classifies the material as generic cheese. Implied by both CHEESE_PLANT and CHEESE_CREATURE. Exact behavior unknown, possibly vestigial.
POWDER_MISC_PLANT Classifies the material as plant powder, allowing its storage in food stockpiles under "Milled Plant".
POWDER_MISC_CREATURE Classifies the material as creature powder, allowing its storage in food stockpiles under "Bone Meal". Unlike milled plants, such as sugar and flour, "Bone Meal" barrels or pots may not contain bags. Custom reactions using this product better use buckets or jugs instead.
POWDER_MISC Classifies the material as generic powder. Implied by both POWDER_MISC_PLANT and POWDER_MISC_CREATURE. Exact behavior unknown, possibly vestigial.
STOCKPILE_GLOB or STOCKPILE_GLOB_SOLID Permits globs of the material in solid form to be stored in food stockpiles under "Fat" - without it, dwarves will come by and "clean" the items, destroying them (unless [DO_NOT_CLEAN_GLOB] is also included).
STOCKPILE_GLOB_PASTE Classifies the material as milled paste, allowing its storage in food stockpiles under "Paste".
STOCKPILE_GLOB_PRESSED Classifies the material as pressed goods, allowing its storage in food stockpiles under "Pressed Material".
STOCKPILE_PLANT_GROWTH Classifies the material as a plant growth (e.g. fruits, leaves), allowing its storage in food stockpiles under Plant Growth/Fruit.
LIQUID_MISC_PLANT Classifies the material as a plant extract, allowing its storage in food stockpiles under "Extract (Plant)".
LIQUID_MISC_CREATURE Classifies the material as a creature extract, allowing its storage in food stockpiles under "Extract (Animal)".
LIQUID_MISC_OTHER Classifies the material as a miscellaneous liquid, allowing its storage in food stockpiles under "Misc. Liquid" along with lye.
LIQUID_MISC Classifies the material as a generic liquid. Implied by LIQUID_MISC_PLANT, LIQUID_MISC_CREATURE, and LIQUID_MISC_OTHER. Exact behavior unknown, possibly vestigial.
STRUCTURAL_PLANT_MAT Classifies the material as a plant, allowing its storage in food stockpiles under "Plants".
SEED_MAT Classifies the material as a plant seed, allowing its storage in food stockpiles under "Seeds".
BONE Classifies the material as bone, allowing its use for bone carvers and restriction from stockpiles by material.
WOOD Classifies the material as wood, allowing its use for carpenters and storage in wood stockpiles. Entities opposed to killing plants (i.e. Elves) will refuse to accept these items in trade.
THREAD_PLANT Classifies the material as plant fiber, allowing its use for clothiers and storage in cloth stockpiles under "Thread (Plant)" and "Cloth (Plant)".
TOOTH Classifies the material as tooth, allowing its use for bone carvers and restriction from stockpiles by material.
HORN Classifies the material as horn, allowing its use for bone carvers and restriction from stockpiles by material.
PEARL Classifies the material as pearl, allowing its use for bone carvers and restriction from stockpiles by material.
SHELL Classifies the material as shell, allowing its use for bone carvers and restriction from stockpiles by material.
LEATHER Classifies the material as leather, allowing its use for leatherworkers and storage in leather stockpiles.
SILK Classifies the material as silk, allowing its use for clothiers and storage in cloth stockpiles under "Thread (Silk)" and "Cloth (Silk)".
SOAP Classifies the material as soap, allowing it to be used as a bath detergent and stored in bar/block stockpiles under "Bars: Other Materials".[Verify]
GENERATES_MIASMA Material generates miasma when it rots.
MEAT Classifies the material as edible meat.[Verify]
ROTS Material will rot if not stockpiled appropriately. Currently only affects food and refuse, other items made of this material will not rot.
BLOOD_MAP_DESCRIPTOR Tells the game to classify contaminants of this material as being "blood" in Adventurer mode tile descriptions ("Here we have a Dwarf in a slurry of blood.").
ICHOR_MAP_DESCRIPTOR Tells the game to classify contaminants of this material as being "ichor".
GOO_MAP_DESCRIPTOR Tells the game to classify contaminants of this material as being "goo".
SLIME_MAP_DESCRIPTOR Tells the game to classify contaminants of this material as being "slime".
PUS_MAP_DESCRIPTOR Tells the game to classify contaminants of this material as being "pus".
SWEAT_MAP_DESCRIPTOR Tells the game to classify contaminants of this material as being "sweat".
TEARS_MAP_DESCRIPTOR Tells the game to classify contaminants of this material as being "tears".
SPIT_MAP_DESCRIPTOR Tells the game to classify contaminants of this material as being "spit".
EVAPORATES Contaminants composed of this material evaporate over time, slowly disappearing from the map. Used internally by water.
ENTERS_BLOOD Used for materials which cause syndromes, causes it to enter the creature's blood instead of simply spattering on the surface.
EDIBLE_VERMIN Can be eaten by vermin.
EDIBLE_RAW Can be eaten raw.
EDIBLE_COOKED Can be cooked and then eaten.
DO_NOT_CLEAN_GLOB Prevents globs made of this material from being cleaned up and destroyed.
NO_STONE_STOCKPILE Prevents the material from showing up in Stone stockpile settings.
ITEMS_METAL Allows the creation of metal furniture at the metalsmith's forge.
ITEMS_BARRED Equivalent to ITEMS_HARD. Given to bone.
ITEMS_SCALED Equivalent to ITEMS_HARD. Given to shell.
ITEMS_LEATHER Equivalent to ITEMS_SOFT. Given to leather.
ITEMS_SOFT Random crafts made from this material cannot be made into rings, crowns, scepters or figurines. Given to plant fiber, silk and wool.
ITEMS_HARD Random crafts made from this material include all seven items. Given to stone, wood, bone, shell, chitin, claws, teeth, horns, hooves and beeswax. Hair, pearls and eggshells also have the tag.
IS_STONE Used to define that the material is a stone. Allows its usage in masonry and stonecrafting and storage in stone stockpiles, among other effects.
UNDIGGABLE Used for a stone that cannot be dug into.
DISPLAY_UNGLAZED Causes containers made of this material to be prefixed with "unglazed" if they have not yet been glazed.
YARN Classifies the material as yarn, allowing its use for clothiers and its storage in cloth stockpiles under "Thread (Yarn)" and "Cloth (Yarn)".
STOCKPILE_THREAD_METAL Classifies the material as metal thread, permitting thread and cloth to be stored in cloth stockpiles under "Thread (Metal)" and "Cloth (Metal)".
IS_METAL Defines the material as being metal, allowing it to be used at forges.
IS_GLASS Used internally by green glass, clear glass, and crystal glass.
CRYSTAL_GLASSABLE Can be used in the production of crystal glass.
ITEMS_WEAPON Melee weapons can be made out of this material.
ITEMS_WEAPON_RANGED Ranged weapons can be made out of this material.
ITEMS_ANVIL Anvils can be made out of this material.
ITEMS_AMMO Ammunition can be made out of this material.
ITEMS_DIGGER Picks can be made out of this material.
ITEMS_ARMOR Armor can be made out of this material.
ITEMS_DELICATE Used internally by amber and coral. Functionally equivalent to ITEMS_HARD.
ITEMS_SIEGE_ENGINE Siege engine parts can be made out of this material. Does not appear to work.
ITEMS_QUERN Querns and millstones can be made out of this material.[Verify]

Syndrome tokens

Below is a table with some of the tokens you can use when declaring a [SYNDROME] token. For all the tokens you can use, see the Syndrome token page.

Token Arguments Description
SYN_NAME
  • text
Defines the name of the syndrome
SYN_INJECTED Syndrome can be contracted by injection (by a creature)
SYN_CONTACT Syndrome can be contracted on contact (e.g. poison dust or liquid)
SYN_INHALED Syndrome can be contracted by inhalation (e.g. poison vapor or gas)
SYN_INGESTED Syndrome can be contracted by ingestion (when the material is eaten in solid or liquid form)
SYN_AFFECTED_CLASS
  • creature class name
Adds a class of creatures to those affected, such as CREATURE_CLASS:GENERAL_POISON
SYN_IMMUNE_CLASS
  • creature class name
Makes the class of creatures immune to the syndrome
SYN_AFFECTED_CREATURE
  • creature name
  • caste name or ALL
Adds a specific creature to those affected.
SYN_IMMUNE_CREATURE
  • creature name
  • caste name or ALL
Makes the creature immune to the syndrome
CE_PAIN
CE_SWELLING
CE_OOZING
CE_BRUISING
CE_BLISTERS
CE_NUMBNESS
CE_PARALYSIS
CE_FEVER
CE_BLEEDING
CE_COUGH_BLOOD
CE_VOMIT_BLOOD
CE_NAUSEA
CE_UNCONSCIOUSNESS
CE_NECROSIS
CE_IMPAIR_FUNCTION
CE_DROWSINESS
CE_DIZZINESS
  • SEV:<value> (severity, higher is worse)
  • PROB:<value(1-100)> (probability)
  • RESISTABLE (optional) allows resistance
  • SIZE_DILUTES (optional) lessens effect based on size

Place affected:

  • LOCALIZED (optional)
  • VASCULAR_ONLY (optional)
  • MUSCULAR_ONLY (optional)
  • BP:BY_CATEGORY:category:tissue (optional)
  • BP:BY_TYPE:type:tissue (optional)
  • BP:BY_TOKEN:token:tissue (optional)

Timeline:

  • Start:effect start time
  • Peak:effect peak time
  • End:effect end time
Specifies the way that a syndrome affects a creature -- more detail can be found on the Syndromes page

See also