DF2014:Creature variation token

From Dwarf Fortress Wiki
Jump to navigation Jump to search
This article is about the current version of DF.

Creature variations are used to create creatures which are derived from another already-existing creature without having to duplicate every single token. They are defined as CREATURE_VARIATION objects, and the default variations are defined in c_variation_default.txt

From the raws:

Order of application: Remove tags are applied starting from the bottom, then convert tags from the bottom, then add tags from the top.

Arguments: If APPLY_CREATURE_VARIATION in the creature raws sends in arguments, you can use them below as !ARG1, !ARG2, etc. The GAIT variations below have some examples. In the creature raws, if an argument is of the form "5|6", for example, it'll be converted to "5:6" in the creature variation, so you can handle variable-token arguments with the | character.

Conditional tags: Change TAG to CTAG and add, for example, CV_REMOVE_CTAG:1:YES:<regular stuff> to require !ARG1 to be YES to execute the changes.

Token Arguments Description
  • token (plus any additional parameters)
Adds a new token to the creature's variant.
  • token
Alias for CV_NEW_TAG.
  • token
Removes a token from the creature's variant.
  • ARG number
  • token
As CV_NEW_TAG, but only activates if !ARG(num) is YES, e.g. CV_NEW_CTAG:1:YES:<regular stuff> to require !ARG1 to be YES to execute the changes.
  • ARG number
  • token
Alias for CV_NEW_CTAG.
  • ARG number
  • token
As CV_REMOVE_TAG with conditions as described above.
CV_CONVERT_TAG Begins altering tokens within the creature's variant using the CVCT_MASTER, CVCT_TARGET, and CVCT_REPLACEMENT tokens below. If a variation template contains multiple CV_CONVERT_TAG blocks for the same CVCT_MASTER, the replacements will be applied in reverse order.
  • token
Specifies the token that will be modified.
  • value
Locates the specified parameter within the token specified by CVCT_MASTER.
  • value
Replaces the parameter specified by CVCT_TARGET within the token specified by CVCT_MASTER. If no replacement is specified, the target will simply be removed.