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 "v0.31:Building token"

From Dwarf Fortress Wiki
Jump to navigation Jump to search
(complete list - not all of the reagent modifiers can be used with buildings (rather oddly, REACTION_CLASS does not appear to be allowed))
m
 
(27 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{quality|Fine|16:29, 20 February 2011 (UTC)}}These tokens control the functionality of custom buildings.
+
{{quality|Fine|22:04, 2 March 2011 (UTC)}}{{av}}
  
All custom buildings are defined as objects of type BUILDING_WORKSHOP or BUILDING_FURNACE.
+
These tokens control the functionality of custom buildings.
 +
 
 +
All custom buildings are defined as objects of type BUILDING_WORKSHOP or BUILDING_FURNACE; workshops show up in the {{K|b}}-{{K|w}} menu, while furnaces show up in the {{K|b}}-{{K|e}} menu.
 +
 
 +
You also must add any new custom buildings to the [[Entity token|civilization]] that you want to use it.
 +
 
 +
Additionally, furnaces must be designed by an [[architect]] before being constructed (and will gain [[quality]] accordingly), though they will always use the labor(s) specified in the building definition rather than ones based on the materials being used.
  
 
{| {{prettytable}}
 
{| {{prettytable}}
Line 17: Line 23:
 
| NAME_COLOR
 
| NAME_COLOR
 
| fg:bg:bright
 
| fg:bg:bright
| The color of the building's name when {{K|q}}uerying it.
+
| The color of the building's name when {{K|q}}uerying it. Seemingly ignored for furnaces, which are hardcoded to 4:0:1.
  
 
|-
 
|-
 
| DIM
 
| DIM
 
| width:height
 
| width:height
| The size of the custom building, in number of tiles.
+
| The size of the custom building, in number of tiles. Defaults to 3:3. Maximum possible size is 31x31.
  
 
|-
 
|-
 
| WORK_LOCATION
 
| WORK_LOCATION
 
| x:y
 
| x:y
| The tile in which dwarves will stand when they are performing tasks. Upper-left is 1:1.
+
| The tile (1:1 for upper-left) in which dwarves will stand when they are performing tasks. Defaults to 3:3 (bottom-right).
  
 
|-
 
|-
 
| BUILD_LABOR
 
| BUILD_LABOR
| labor token
+
| [[labor token]]
| The labor required to build the custom building.
+
| The labor required to construct the custom building. If multiple BUILD_LABOR tokens are specified, then any of the indicated labors can be used to construct the building; if none are specified, then no labors are required.<br />For furnaces, this labor does not come into play until after the workshop has been designed by an [[architect]].
  
 
|-
 
|-
Line 44: Line 50:
 
* row
 
* row
 
* tiles...
 
* tiles...
| Specifies whether or not each workshop tile blocks movement. The first parameter is the row (1 = top), and each subsequent parameter is a 0 or 1 for each column (1 = left).
+
| Specifies whether or not each workshop tile blocks movement. The first parameter is the row (1 = top), and each subsequent parameter is a 0 (nonblocking) or 1 (blocking) for each column, left to right.
  
 
|-
 
|-
Line 52: Line 58:
 
* row
 
* row
 
* tiles...
 
* tiles...
| Specifies the characters used to represent the custom building. The first parameter is the building stage, varying either from 0 to 3 (0 = awaiting construction, 1 = partially constructed, 2 = nearly constructed, 3 = completed) or from 0 to 1 (0 = awaiting construction, 1 = completed, similar to simple buildings like the {{L|quern}}), the 2nd parameter is the row number, and each subsequent parameter is a character number (or literal character enclosed in 'quotes').
+
| Specifies the characters used to represent the custom building. The first parameter is the building stage, varying from 0 (awaiting construction) to N (completed) where N is between 1 and 3, the 2nd parameter is the row number, and each subsequent parameter is a character number (or literal character enclosed in 'quotes').
  
 
|-
 
|-
Line 66: Line 72:
 
|
 
|
 
* quantity
 
* quantity
* {{L|item token}} (with subtype)
+
* [[item token]]
* {{L|material token}}
+
* [[material token]]
 
| Specifies one of the objects necessary to construct the custom building. Each BUILD_ITEM can be followed by zero or more modifiers.
 
| Specifies one of the objects necessary to construct the custom building. Each BUILD_ITEM can be followed by zero or more modifiers.
  
Line 73: Line 79:
 
| NEEDS_MAGMA
 
| NEEDS_MAGMA
 
|
 
|
| Specifies that one of the building's tiles (other than the WORK_LOCATION) must be hanging over {{L|magma}} in order for the building to function.
+
| Specifies that one of the building's tiles (other than the WORK_LOCATION) must be hanging over [[magma]] in order for the building to function. Buildings with this token also ignore the [FUEL] token in their reactions.
 
|}
 
|}
  
 
==Item Modifiers==
 
==Item Modifiers==
Building items have many of the same modifiers as {{L|Reactions#Modifiers|reagents}} in custom reactions.
+
Building items have many of the same modifiers as [[Reactions#Modifiers|reagents]] in custom reactions.
  
 
{| {{prettytable}}
 
{| {{prettytable}}
Line 83: Line 89:
 
! Token
 
! Token
 
! Meaning
 
! Meaning
 +
|-
 +
| [REACTION_CLASS:X]
 +
| Item's material has a [REACTION_CLASS] token with the appropriate ID.
 
|-
 
|-
 
| [HAS_MATERIAL_REACTION_PRODUCT:X]
 
| [HAS_MATERIAL_REACTION_PRODUCT:X]
Line 91: Line 100:
 
|-
 
|-
 
| [CONTAINS_LYE]
 
| [CONTAINS_LYE]
| If the item is a container, it must contain LYE.
+
| Item must be a BARREL or TOOL which contains at least one item of type LIQUID_MISC made of LYE.
 
|-
 
|-
 
| [POTASHABLE]
 
| [POTASHABLE]
| The item must be able to be turned into potash - thus, it must be either ASH or LYE.
+
| Alias for [CONTAINS_LYE].
 
|-
 
|-
 
| [NOT_WEB]
 
| [NOT_WEB]
| States that the material cannot be a web (For only plant/adamantine thread?).
+
| Item must be collected (to distinguish silk thread from webs). Only makes sense for items of type THREAD.
 
|-
 
|-
 
| [WEB_ONLY]
 
| [WEB_ONLY]
| States that the material has to be a web (For only silk thread?).
+
| Item must be undisturbed (to distinguish silk thread from webs). Only makes sense for items of type THREAD.
 
|-
 
|-
 
| [EMPTY]
 
| [EMPTY]
Line 106: Line 115:
 
|-
 
|-
 
| [NOT_CONTAIN_BARREL_ITEM]
 
| [NOT_CONTAIN_BARREL_ITEM]
| If the item is a Barrel, it must not contain an item that has to reside in a barrel. A building which is built from a barrel should probably have both this and [EMPTY].
+
| If the item is a container, it must not contain [[lye]] or [[milk]]. Not necessary if specifying [EMPTY].
 
|-
 
|-
 
| [BAG]
 
| [BAG]
| Item 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.
+
| Item must be a bag - that is, a BOX made of plant fiber, silk, yarn, or leather.
 
|-
 
|-
 
| [GLASS_MATERIAL]  
 
| [GLASS_MATERIAL]  
| Item is made of one of the 3 types of glass.
+
| Item material must have the [IS_GLASS] token. All 3 types of [[glass]] have this token hardcoded.
 
|-
 
|-
 
| [BUILDMAT]
 
| [BUILDMAT]
| Item is a general building component - BAR, BLOCKS, BOULDER, or WOOD.
+
| Item must be a general [[building material]] - BAR, BLOCKS, BOULDER, or WOOD.
 
|-
 
|-
 
| [FIRE_BUILD_SAFE]
 
| [FIRE_BUILD_SAFE]
| Item must be considered fire safe - ie. not wood, and not coal.
+
| Item 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.
 
|-
 
|-
 
| [MAGMA_BUILD_SAFE]
 
| [MAGMA_BUILD_SAFE]
| Item must have a melting point greater than the temperature of Magma.
+
| Item 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.
 
|-
 
|-
 
| [CAN_USE_ARTIFACT]
 
| [CAN_USE_ARTIFACT]
Line 127: Line 136:
 
|-
 
|-
 
| [WORTHLESS_STONE_ONLY]
 
| [WORTHLESS_STONE_ONLY]
| Item is not made of an economic stone.
+
| Item material must be non-[[economic]].
 
|-
 
|-
 
| [ANY_PLANT_MATERIAL]  
 
| [ANY_PLANT_MATERIAL]  
| Item material must have any of the [STRUCTURAL_PLANT_MAT], [SEED_MAT], or [LEAF_MAT] tokens.{{verify}}
+
| Item material must be subordinate to a PLANT object.
 
|-
 
|-
 
| [ANY_SILK_MATERIAL]  
 
| [ANY_SILK_MATERIAL]  
Line 148: Line 157:
 
|-
 
|-
 
| [ANY_STRAND_TISSUE]
 
| [ANY_STRAND_TISSUE]
| Unknown
+
| Item is made of a tissue having [TISSUE_SHAPE:STRANDS], intended for matching hair and wool. Must be used with [USE_BODY_COMPONENT].
 
|-
 
|-
 
| [ANY_SHELL_MATERIAL]
 
| [ANY_SHELL_MATERIAL]
Line 163: Line 172:
 
|-
 
|-
 
| [USE_BODY_COMPONENT]
 
| [USE_BODY_COMPONENT]
| Item material must come off a creature's body.
+
| Item must be a body part (CORPSE or CORPSEPIECE).
 
|-
 
|-
 
| [NO_EDGE_ALLOWED]
 
| [NO_EDGE_ALLOWED]
| Item must not have been sharpened
+
| Item must not have an edge - excludes sharp stones (produced using knapping) and most types of weapon/ammo.
 
|-
 
|-
 
| [NOT_ENGRAVED]
 
| [NOT_ENGRAVED]
| ?
+
| Item has not been engraved (excludes memorial slabs).
 
|-
 
|-
| [METAL_ORE]
+
| [METAL_ORE:X]
| Item material must be a metal ore.
+
| Item material must be an ore of the specified metal.
 
|-
 
|-
| [MIN_DIMENSION]
+
| [MIN_DIMENSION:X]
| ?
+
| Item's dimension must be at least this large. The 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]
| Item must be a {{L|tool}} with the specific TOOL_USE value. The item type must be TOOL:NONE for this to make any sense.
+
| Item must be a [[tool]] with the specific TOOL_USE value. The item type must be TOOL:NONE for this to make any sense.
 
|}
 
|}
  
 
{{Category|Modding}}
 
{{Category|Modding}}
 
{{Category|Tokens}}
 
{{Category|Tokens}}

Latest revision as of 18:07, 2 February 2012

This article is about an older version of DF.

These tokens control the functionality of custom buildings.

All custom buildings are defined as objects of type BUILDING_WORKSHOP or BUILDING_FURNACE; workshops show up in the b-w menu, while furnaces show up in the b-e menu.

You also must add any new custom buildings to the civilization that you want to use it.

Additionally, furnaces must be designed by an architect before being constructed (and will gain quality accordingly), though they will always use the labor(s) specified in the building definition rather than ones based on the materials being used.

Token Arguments Description
NAME name The name of the custom building.
NAME_COLOR fg:bg:bright The color of the building's name when querying it. Seemingly ignored for furnaces, which are hardcoded to 4:0:1.
DIM width:height The size of the custom building, in number of tiles. Defaults to 3:3. Maximum possible size is 31x31.
WORK_LOCATION x:y The tile (1:1 for upper-left) in which dwarves will stand when they are performing tasks. Defaults to 3:3 (bottom-right).
BUILD_LABOR labor token The labor required to construct the custom building. If multiple BUILD_LABOR tokens are specified, then any of the indicated labors can be used to construct the building; if none are specified, then no labors are required.
For furnaces, this labor does not come into play until after the workshop has been designed by an architect.
BUILD_KEY key token The shortcut key used in the Build menu for selecting the custom building.
BLOCK
  • row
  • tiles...
Specifies whether or not each workshop tile blocks movement. The first parameter is the row (1 = top), and each subsequent parameter is a 0 (nonblocking) or 1 (blocking) for each column, left to right.
TILE
  • stage
  • row
  • tiles...
Specifies the characters used to represent the custom building. The first parameter is the building stage, varying from 0 (awaiting construction) to N (completed) where N is between 1 and 3, the 2nd parameter is the row number, and each subsequent parameter is a character number (or literal character enclosed in 'quotes').
COLOR
  • stage
  • row
  • colors...
Specifies the colors in which the custom building's tiles will be displayed. The first parameter is the building stage, the 2nd parameter is the row number, and subsequent parameters are either sets of 3 numbers (foreground:background:brightness) or the token "MAT" to use the color of the primary building material.
BUILD_ITEM Specifies one of the objects necessary to construct the custom building. Each BUILD_ITEM can be followed by zero or more modifiers.
NEEDS_MAGMA Specifies that one of the building's tiles (other than the WORK_LOCATION) must be hanging over magma in order for the building to function. Buildings with this token also ignore the [FUEL] token in their reactions.

Item Modifiers[edit]

Building items have many of the same modifiers as reagents in custom reactions.

Token Meaning
[REACTION_CLASS:X] Item's material has a [REACTION_CLASS] token with the appropriate ID.
[HAS_MATERIAL_REACTION_PRODUCT:X] Item's material has a [MATERIAL_REACTION_PRODUCT] token with the appropriate ID.
[UNROTTEN] Item must not be rotten, mainly for organic materials.
[CONTAINS_LYE] Item must be a BARREL or TOOL which contains at least one item of type LIQUID_MISC made of LYE.
[POTASHABLE] Alias for [CONTAINS_LYE].
[NOT_WEB] Item must be collected (to distinguish silk thread from webs). Only makes sense for items of type THREAD.
[WEB_ONLY] Item must be undisturbed (to distinguish silk thread from webs). Only makes sense for items of type THREAD.
[EMPTY] If the item is a container, it must be empty.
[NOT_CONTAIN_BARREL_ITEM] If the item is a container, it must not contain lye or milk. Not necessary if specifying [EMPTY].
[BAG] Item must be a bag - that is, a BOX made of plant fiber, silk, yarn, or leather.
[GLASS_MATERIAL] Item material must have the [IS_GLASS] token. All 3 types of glass have this token hardcoded.
[BUILDMAT] Item must be a general building material - BAR, BLOCKS, BOULDER, or WOOD.
[FIRE_BUILD_SAFE] Item 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.
[MAGMA_BUILD_SAFE] Item 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.
[CAN_USE_ARTIFACT] Item can be an Artifact.
[WORTHLESS_STONE_ONLY] Item material must be non-economic.
[ANY_PLANT_MATERIAL] Item material must be subordinate to a PLANT object.
[ANY_SILK_MATERIAL] Item material must have the [SILK] token.
[ANY_YARN_MATERIAL] Item material must have the [YARN] token.
[ANY_SOAP_MATERIAL] Item material must have the [SOAP] token.
[ANY_LEATHER_MATERIAL] Item material must have the [LEATHER] token.
[ANY_BONE_MATERIAL] Item material must have the [BONE] token.
[ANY_STRAND_TISSUE] Item is made of a tissue having [TISSUE_SHAPE:STRANDS], intended for matching hair and wool. Must be used with [USE_BODY_COMPONENT].
[ANY_SHELL_MATERIAL] Item material must have the [SHELL] token.
[ANY_TOOTH_MATERIAL] Item material must have the [TOOTH] token.
[ANY_HORN_MATERIAL] Item material must have the [HORN] token.
[ANY_PEARL_MATERIAL] Item material must have the [PEARL] token.
[USE_BODY_COMPONENT] Item must be a body part (CORPSE or CORPSEPIECE).
[NO_EDGE_ALLOWED] Item must not have an edge - excludes sharp stones (produced using knapping) and most types of weapon/ammo.
[NOT_ENGRAVED] Item has not been engraved (excludes memorial slabs).
[METAL_ORE:X] Item material must be an ore of the specified metal.
[MIN_DIMENSION:X] Item's dimension must be at least this large. The item type must be BAR, POWDER_MISC, LIQUID_MISC, DRINK, THREAD, or CLOTH for this to work.
[HAS_TOOL_USE:X] Item must be a tool with the specific TOOL_USE value. The item type must be TOOL:NONE for this to make any sense.