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.

Graphics token

From Dwarf Fortress Wiki
Revision as of 04:39, 29 January 2023 by OddballJoeAuto (talk | contribs) (→‎Vermin Conditions: (awb) typos, typos fixed: etc → etc. (2))
Jump to navigation Jump to search
This article is about the current version of DF.
Note that some content may still need to be updated.


For an explanation of how to use the various graphics types, see Graphics.


The [OBJECT:GRAPHICS] token defines the use of various tile-based graphics in the game. As of version 50.01, graphics tokens have been greatly expanded to accommodate the release of the Steam & Itch premium version. These tokens, and explanations on how to use them, are listed below; the list will expand as the tokens are discovered and understood.


Creature Graphics

Creature graphics are found within graphics_creature_x files (such as graphics_creature_domestic or graphics_creature_layered). All graphics files must begin with the file name, followed by the [OBJECT:GRAPHICS] type that tells the game that the file contains graphics definitions. A more detailed explanation on how to use these can be found in creature graphics.


Types

Type Arguments Description
CREATURE_GRAPHICS The simplest and most common form of creature graphics for defining one sprite for each basic condition.

Further conditions are required for this to function following the creature graphics format. Accepts large graphics tokens.

Additionally used to start defining a layered graphics set.

CREATURE_CASTE_GRAPHICS Nearly the same as [CREATURE_GRAPHICS], but allows a separate sprite to be defined for [MALE] and [FEMALE] castes.

A simple alternative to Layered Graphics.

Requires conditions defined in creature graphics format. Accepts large graphics tokens.

STATUE_CREATURE_GRAPHICS Format for beginning a creature statue definition. Defines a 1x2 vertical rectangle to be displayed when a statue depicts one of these creatures.
TILE_GRAPHICS_RECTANGLE Graphics for a 3x2 rectangle that is used exclusively for representing Forgotten Beasts based on their body parts. Uses forgotten beast graphics.


Basic Conditions

Different graphics can be defined for the same creature based on some properties about it. Below is a list of all conditions that can be used for creature graphics that accept a condition token.

Condition Accepts
Secondary
Description
DEFAULT No The default condition that will be displayed unless overwritten by a more specific one below.
CHILD Yes Will only be displayed if the creature is a [CHILD] or [BABY] and is younger than one of those ages.
ANIMATED Yes Displayed if the creature is raised from the dead, although it is not known how this is decided. Raised status is not related to having a syndrome with the class from [CONDITION_SYN_CLASS] or from having [NOT_LIVING]/[OPPOSED_TO_LIFE].
CORPSE Yes Displayed as soon as the creature dies.
TRAINED_HUNTER Yes Shown for hunting-trained versions of this creature.
TRAINED_WAR Yes Shown for war-trained versions of this creature.
LIST_ICON Unknown Displayed in menus. Useful for large images that would extend beyond the menu boxes otherwise/
SKELETON Unknown Decayed remains of the creature.[Verify]
SKELETON_WITH_SKULL Unknown Decayed remains of the creature with a skull.[Verify]


Layered Conditions

Layers aren't very useful on their own, so they come with a set of conditions to define how when they are displayed and how they interact.

Token Arguments Type Description
LAYER_GROUP Layer
Group
Begins defining a layer group. Current effect unknown.[Verify]
END_LAYER_GROUP Layer
Group
marks the end of a layer group. Current effect unknown.[Verify]
CONDITION_ITEM_WORN Armor
Wieldables
Defines a clothing or armor graphic by the specific part it is equipped to, the type of armor it is, and the internal id of that item.

For example, a condition representing a right handed mitten or glove would be defined as: [CONDITION_ITEM_WORN:BY_TOKEN:RH:GLOVES:ITEM_GLOVES_GLOVES:ITEM:GLOVES:MITTENS]

SHUT_OFF_IF_ITEM_PRESENT Armor Causes the current layer to not be rendered if the creature has one of the items worn or equipped. Also accepts the input ANY_HELD or WIELD (e.g. WIELD:WEAPON:ANY).
CONDITION_DYE
  • dye color
Armor Should represent which color the clothing is dyed. Currently nonfunctional.v50.05
CONDITION_NOT_DYED Armor Should check if the clothing is dyed. Currently nonfunctional.v50.05
CONDITION_MATERIAL_FLAG
  • material flag
Material Changes graphics based on the material an equipped item is made of. Valid material flags are similar to reactant conditions including:
  • WOVEN_ITEM
  • ANY_X_MATERIAL
with X being:
  • PLANT, SILK, YARN, LEATHER, WOOD, SHELL, BONE, STONE, GEM, TOOTH, HORN, PEARL
  • IS_DIVINE_MATERIAL
  • NOT_ARTIFACT
  • IS_CRAFTED_ARTIFACT
  • METAL_ITEM_MATERIAL
  • GLASS_MATERIAL
  • FIRE_BUILD_SAFE
  • MAGMA_BUILD_SAFE

among other, less useful ones.

CONDITION_MATERIAL_TYPE
  • material token
Material Changes graphics based on the material an equipped item is made of. Valid material types take the form METAL:COPPER where copper can be replaced with any weapons-grade metal. Initial testing has shown that some material tokens are not functional. [CONDITION_MATERIAL_FLAG] is a better option for any material condition other than metal.
CONDITION_PROFESSION_CATEGORY General Checks the profession of the creature to act as a condition. Multiple profession tokens can be chained together.
CONDITION_RANDOM_PART_INDEX
  • body part
  • integer index
  • integer range
General Chooses a random layer within the same group of body parts. Index is which option this condition is, out of Range number of options. Ex:

[CONDITION_RANDOM_PART_INDEX:HEAD:3:4] Is the third possible random head out of four total options. One of these random conditions each will be put into a set of four slightly different heads to add some random variation in the appearance of the creature's head.

CONDITION_HAUL_COUNT_MIN
  • integer
General Counts how many items the creature is hauling. Used for [PACK_ANIMAL]s in vanilla.
CONDITION_HAUL_COUNT_MAX
  • integer
General Counts how many items the creature is hauling. Used for [PACK_ANIMAL]s in vanilla.
CONDITION_CHILD General Checks if the creature is a child or baby.
CONDITION_NOT_CHILD General Checks if the creature is an adult.
CONDITION_GHOST General Checks if the creature is a ghost.
CONDITION_SYN_CLASS Syndrome Changes graphics based on any syndromes the creature is affected by. Vanilla values include:
  • ZOMBIE
  • NECROMANCER
  • VAMPCURSE
  • RAISED_UNDEAD
  • GHOUL
CONDITION_TISSUE_LAYER Tissue Selects a tissue layer to use for checking other conditions. Ex:

[CONDITION_TISSUE_LAYER:BY_CATEGORY:ALL:SKIN]

TISSUE_MIN_LENGTH
  • integer
Tissue Checks the current [CONDITION_TISSUE_LAYER]'s LENGTH appearance modifier. Is true if the LENGTH is greater than the integer input.
TISSUE_MAX_LENGTH
  • integer
Tissue Checks the current [CONDITION_TISSUE_LAYER]'s LENGTH appearance modifier. Is true if the LENGTH is less than the integer input.
TISSUE_MAY_HAVE_COLOR Tissue Checks the selected tissue's color. Accepts multiple color tokens, and is true if the any of the colors is present in the selected tissues.
TISSUE_MAY_HAVE_SHAPING
  • styling token
Tissue Checks the current [CONDITION_TISSUE_LAYER]'s shaping (hairstyle). Valid tokens are NEATLY_COMBED, BRAIDED, DOUBLE_BRAIDS, PONY_TAILS, CLEAN_SHAVEN and STANDARD_HAIR/BEARD/MOUSTACHE/SIDEBURNS_SHAPINGS.[Verify]
TISSUE_NOT_SHAPED Tissue Checks the current [CONDITION_TISSUE_LAYER]'s color. Accepts multiple color tokens, and is true if the any of the colors is present in the selected tissues.
TISSUE_SWAP
  • IF_MIN_CURLY
  • integer
  • tile page id
  • x position
  • y position
Tissue Checks if a tissue is sufficiently curly, and if so swaps to display a different image. The new image is defined by the tile page ID, x position, and y position.

This condition should be within a [LAYER:... ] that has a similar graphic to the on in the TISSUE_SWAP. The current [CONDITION_TISSUE_LAYER] group must also include a [TISSUE_MIN_LENGTH].

Vermin Conditions

Special Conditions for [VERMIN] creature graphics:

Condition Description
VERMIN Necessary for defining graphics that use the tokens below.[Verify]
VERMIN_ALT Image cycles every 1 second.
SWARM_SMALL For swarming vermin like flies and fairies in small groups.
SWARM_MEDIUM For swarming vermin like flies and fairies in medium-sized groups.
SWARM_LARGE For swarming vermin like flies and fairies in large groups.
LIGHT_VERMIN For fireflies etc. Does not replace [VERMIN].
LIGHT_VERMIN_ALT Like [VERMIN_ALT] for fireflies etc.
LIGHT_SWARM_SMALL Like [SWARM_SMALL] for fireflies etc. in small groups.
LIGHT_SWARM_MEDIUM Like [SWARM_LARGE] for fireflies etc. in large groups.
LIGHT_SWARM_LARGE Like [SWARM_LARGE] for fireflies etc.
REMAINS Vermin corpses.
HIVE Vermin hives.

Item Graphics

Item graphics can also be defined, but are mostly hardcoded. This section of the wiki needs to be fleshed out.


World Map Graphics

World map graphics are defined in Dwarf Fortress\data\vanilla\vanilla_world_map\graphics\graphics_world_map.txt Tokens that accept variants have 5 of them:

   [TILE_GRAPHICS:<tile page identifier>:<x position>:<y position>:<TOKEN>:1]
   [TILE_GRAPHICS:<tile page identifier>:<x position>:<y position>:<TOKEN>:2]
   [TILE_GRAPHICS:<tile page identifier>:<x position>:<y position>:<TOKEN>:3]
   [TILE_GRAPHICS:<tile page identifier>:<x position>:<y position>:<TOKEN>:4]
   [TILE_GRAPHICS:<tile page identifier>:<x position>:<y position>:<TOKEN>:5]

Otherwise:

  [TILE_GRAPHICS:<tile page identifier>:<x position>:<y position>:<TOKEN>]

See Also