- 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.
DF2014:Syndrome
This article is about an older version of DF. |
In Dwarf Fortress, a syndrome can be thought of as a condition which applies a collection of effects to creatures who contract it. Syndromes give rise to several of the game's more interesting medical predicaments, such as alcohol inebriation, venomous snake bites, and the brain-rotting secretions of certain uninvited guests. That said, the syndrome system isn't functionally restricted to the simulation of disease - many of the game's supernatural features, such as werewolves, vampires, necromancers, mummy curses and the undead, are in fact produced by applying various special effects to creatures via syndromes.
"Yeah, I know this. I was looking for examples..."
List of syndromes[edit]
In unmodded games, syndromes are generally named after the animal, substance or effect that delivers them. They can cause unpleasant and sometimes fatal symptoms over a short to long duration, but some will clear up over time or with the assistance of a doctor. A hospital is required to diagnose and potentially treat those that can be helped by treatment. Note that in a world with dragons and giant elephants, dwarves (and elves and humans) fall into the "small creatures" category for purposes of this discussion.
Syndrome | Venom | Acquired | Short-term Symptoms | Long-term Symptoms | Chronic Symptoms |
---|---|---|---|---|---|
Adder bite | adder venom (injected) | Being bitten by an adder, giant adder or adder man | Strong pain | Swelling Blisters Nausea |
None |
Bark scorpion sting | bark scorpion venom (injected) | Being stung by a bark scorpion, giant bark scorpion or bark scorpion man | Strong pain | None | None |
Black mamba bite | black mamba venom (injected) | Being bitten by a black mamba, giant black mamba or black mamba man | Dizziness Drowsiness Strong pain Fever Unconsciousness Complete paralysis1 |
None | None |
Blob blisters | cave blob fluid (contact or ingested) |
Touching a cave blob | Mild pain Mild blisters |
None | None |
Brown recluse spider bite | brown recluse spider venom (injected) | Being bitten by a brown recluse spider, giant brown recluse spider or brown recluse spider man | Nausea Fever Pain |
Severe localized necrosis | None |
Bumblebee sting | bumblebee venom (injected) | Being stung by a bumblebee worker | Pain Strong swelling |
None | None |
Bushmaster bite | bushmaster venom (injected) | Being bitten by a bushmaster, giant bushmaster or bushmaster man | Strong pain Mild bleeding Dizziness Nausea Unconsciousness Complete paralysis1 |
None | None |
Cave floater sickness | cave floater gas (inhaled or ingested) |
Expelled from cave floater | Mild nausea | Fever Strong drowsiness (delayed) Strong dizziness (delayed) |
None |
Cave spider bite | cave spider venom (injected) |
Being bitten by a cave spider | None | None | Very mild dizziness |
Copperhead snake bite | copperhead snake venom (injected) | Being bitten by a copperhead snake, giant copperhead snake or copperhead snake man | Pain Swelling Nausea |
None | None |
Giant cave spider bite | giant cave spider venom (injected) |
Being bitten by a giant cave spider | Size-dependant paralysis. | Death by asphyxiation, in small targets. Large targets are generally unhindered...unless you count the high probability of being eaten by the giant cave spider as a hindrance. | None, not that it really matters. |
Gila monster bite | gila monster venom (injected) | Being bitten by a gila monster, giant gila monster or gila monster man | Pain Mild swelling |
None | None |
Gnomeblight | gnomeblight (contact, inhaled, injected, or ingested) |
Purposely exposing oneself to the extract. Only affects mountain gnomes and dark gnomes. | None | Severe systemic necrosis2 | None |
Giant desert scorpion sting | giant desert scorpion venom (injected) |
Being stung by a giant desert scorpion | Necrosis of the brain and nervous system | Certain death | None, not that it really matters. |
Helmet snake bite | helmet snake venom (injected) |
Being bitten by a helmet snake | Minor bleeding | Fever Nausea Dizziness Localized swelling Localized oozing Localized bruising Strong pain Intense localized necrosis Possible loss of limb |
None |
Honey bee sting | honey bee venom (injected) | Being stung by a honey bee worker | Pain Strong swelling |
None | None |
Inebriationv0.42.01 | Alcohol (consumed/injected) | Consuming alcoholic drinks | Nausea Dizziness Unconsciousness Personality changes Euphoria Erratic behavior Trouble breathing |
None | None |
Iron man cough | iron man gas (inhaled) |
Expelled by iron man | Coughing blood | None | None |
King cobra bite | king cobra venom (injected) |
Being bitten by a king cobra | Complete paralysis1 Pain, dizziness, drowsiness |
None | None |
Phantom spider bite | phantom spider venom (injected) |
Being bitten by a phantom spider | None | Numbness and mild dizziness | None |
Platypus sting | platypus venom (injected) |
Being kicked by a platypus, giant platypus or platypus man | Pain and swelling | Extreme pain, swelling possibly to the point of necrosis | None |
Rattlesnake bite | rattlesnake venom (injected) |
Being bitten by a rattlesnake, giant rattlesnake or rattlesnake man | Pain, nausea, blisters, swelling, bruising | Severe localized necrosis | None |
Serpent man bite | serpent man venom (injected) |
Being bitten by a serpent man | Complete paralysis1 | None | None |
Mummy's curse | Disturbance interaction. | Being cursed by a mummy, when caught raiding their tombs | None | None | 20% chance of any skill roll failing, regardless of skill. |
Vampirism | Divine curse | Drinking the blood of a vampire. Toppling statues in shrines and temples (random chance), rolling divination dice too frequently. | None | None | Victim becomes a vampire. |
Werebeast curse | Divine curse | Being bitten by a werebeast, toppling statues in shrines and temples (random chance), rolling divination dice too frequently. | None | None | Victim becomes a werebeast. |
Necromancy | Divine 'curse' | Reading a book/slab that contains the secrets of life and death. | None | None | Reader becomes a necromancer. |
evil rain sickness3 | Random | Being caught outside in freakish weather in an evil biome | Random | Random | Random |
evil cloud sickness4 | Being caught in a creeping cloud in an evil biome | ||||
beast sickness5 | Encounters with forgotten beasts | ||||
titan sickness5 | Encounters with titans | ||||
night sickness5 | Encounters with nightmares or experiments | ||||
demon sickness5 | Encounters with demons | ||||
divine sickness5 | Encounters with angels |
- 1. For small creatures such as humans and dwarves, paralysis tends to result in suffocation.
- 2. Necrosis of the brain will eventually result in death once the brain rots away completely.
- 3. Evil rain typically only causes minor symptoms such as blisters, bruising, coughing blood, dizziness, fever, nausea, oozing, and pain.
- 4. Evil clouds either cause major symptoms (as with beast/titan/demon sicknesses) or permanently transform creatures into zombie-like forms.
- 5. Titans, forgotten beasts, nightmares, experiments, demons and angels have a chance to have a randomized syndrome. These range from mildly hazardous (mild blisters from inhaling boiling blood) to instantly fatal (severe necrosis from a contact poison attached to a breath weapon/creature made of blood).
The anatomy of a syndrome[edit]
Modding |
---|
Tokens |
Biome · Building · Entity · Ethic · Interaction · Labor · Language · Personality · Plant · Position · Reaction · Skill · Syndrome · Tissue definition · Unit type · World |
Body tokens |
Body · Body detail plan · Bodygloss |
Creature tokens |
Creature · Creature mannerism · Creature texture · Creature variation |
Descriptor tokens |
Descriptor color · Descriptor pattern · Descriptor shape |
Item tokens |
Item · Item definition · Ammo · Armor · Instrument · Tool · Trap component · Weapon |
Material tokens |
Material · Material definition · Inorganic material definition |
To recap, syndromes are "diseases" which inflict effects upon creatures who acquire them. Mechanically, they're composed of a bunch of different syndrome tokens which detail how it works and what it does. Syndrome acquisition can be boiled down into two main routes: (1) via materials and (2) via interactions. Unlike most objects in the game, syndromes aren't defined in their own raw file; they're instead built up within the raw definition of the material or interaction effect to which they are tied, as described below.
1) Transmission via Materials
Any material (be it inorganic, creature-derived, or plant-derived) can have one or more syndromes added to it, simply by defining the syndrome within the material's own raw definition. The addition of certain tokens (detailed below) to the syndrome will determine what must be done to the material so as to transmit the syndrome to a creature; the current modes of transmission are as follows: bodily contact with the material, ingestion or inhalation of the material, or injection of the material into the bloodstream. Any combination of transmission modes can be specified per syndrome.
Here's the material definition of giant cave spider venom with its associated syndrome as an example:
(See here for the complete creature raw.)
[USE_MATERIAL_TEMPLATE:POISON:CREATURE_EXTRACT_TEMPLATE] [STATE_NAME:ALL_SOLID:frozen giant cave spider venom] [STATE_ADJ:ALL_SOLID:frozen giant cave spider venom] [STATE_NAME:LIQUID:giant cave spider venom] [STATE_ADJ:LIQUID:giant cave spider venom] [STATE_NAME:GAS:boiling giant cave spider venom] [STATE_ADJ:GAS:boiling giant cave spider venom] [PREFIX:NONE] [ENTERS_BLOOD] [SYNDROME] [SYN_NAME:giant cave spider bite] [SYN_AFFECTED_CLASS:GENERAL_POISON] [SYN_IMMUNE_CREATURE:SPIDER_CAVE_GIANT:ALL] [SYN_INJECTED] [CE_PARALYSIS:SEV:100:PROB:100:RESISTABLE:SIZE_DILUTES:START:5:PEAK:10:END:20]
In the above, the non-bolded section consists of various material definition tokens used to define and customise the venom material. (USE_MATERIAL_TEMPLATE defines a material called 'POISON', and creates it using the template 'CREATURE_EXTRACT_TEMPLATE' as a basis, which is then altered by the other tokens placed below it. See STATE_NAME, STATE_ADJ, and PREFIX for more information about these tokens). The relevance of ENTERS_BLOOD in this context is explained below.
The bolded section consists of the syndrome definition, which is initiated using the [SYNDROME] token. The tokens placed after this (which are described in further detail below) flesh out the syndrome - in this case they name it "giant cave spider bite", make it work only against creatures belonging to the 'GENERAL_POISON' creature class, render giant cave spiders immune to it, and cause creatures to contract it if the venom is injected into them. The creature effect at the very bottom makes the syndrome inflict progressive complete paralysis upon the victim after a short delay, for what would be a relatively short-lived period were it not for the fact that most small creatures tend to suffocate before the effect wears off.
Great, so how do we get this lethal venom into a creature's bloodstream to transmit the syndrome? Giant cave spiders are able to do this via the SPECIALATTACK_INJECT_EXTRACT token appended to their bite attack as such:
[SPECIALATTACK_INJECT_EXTRACT:LOCAL_CREATURE_MAT:POISON:LIQUID:100:100]
This makes their bites inject 100 units of the 'POISON' material in its liquid state. Note that 'LOCAL_CREATURE_MAT:POISON' indicates that the 'POISON' material is defined amidst the same creature raws where the attack was detailed i.e. within the SPIDER_CAVE_GIANT creature definition; we could have written 'CREATURE_MAT:SPIDER_CAVE_GIANT:POISON' instead for the same result. Also note that we can make the attack inject any material we want it to, not just creature-associated materials. (Want your spider to inject molten gold into its victims to melt them from the inside out instead of bothering with syndromes? Simply replace 'LOCAL_CREATURE_MAT:POISON:LIQUID' with 'INORGANIC:GOLD:LIQUID' and you're good to go).
Note that [ENTERS_BLOOD] must be added to the material definition for injection attacks making use of this material to function properly. Without this token, the material would simply splatter over the attacked bodypart instead of entering the bloodstream, so the above syndrome, which relies solely on the injectable transmission route, wouldn't be contracted. [ENTERS_BLOOD] can of course be left out intentionally, if the aim is to cover creatures with a material that transmits syndromes on contact. Keep in mind that splattering in lieu of injection also occurs with blunt attacks, on attacked body parts devoid of VASCULAR tissue, and on bloodless victims (including creatures who've had their blood removed via CE_REMOVE_TAG:HAS_BLOOD).
A fun variation on typical creature venoms is to add a contact-transmissible syndrome to the creature's blood material - this tends to end poorly for any predator that chooses to attack them.
2) Transmission via Interactions
The interaction system can be used to add syndromes to creatures directly via certain interaction effects, most notably I_EFFECT:ADD_SYNDROME. After placing this I_EFFECT in an interaction definition, the syndrome to be added is defined beneath it in exactly the same manner as that used for the material-bound syndromes described above. (Note that any IE_ tokens used with this I_EFFECT can be placed before or after the syndrome definition; the order doesn’t really matter). The ANIMATE and RESURRECT interaction effects also allow syndromes to be tied to them in the same manner; in this case the syndrome is applied to the target creature after it is animated or resurrected respectively.
See below for an example of a syndrome-transmitting interaction.
Basic syndrome tokens[edit]
Token | Arguments | Description |
---|---|---|
SYNDROME | Used to begin defining a new syndrome. | |
SYN_NAME | <your text> | Used to specify the name of the syndrome as it appears in-game. Names don't have to be unique; it's perfectly acceptable to have multiple syndromes with identical names. |
SYN_CLASS | <your text> | Can be included to create a syndrome class and assign the syndrome to it, for use with the IT_CANNOT_HAVE_SYNDROME_CLASS interaction token. Can be specified more than once to assign the syndrome to multiple classes. Other syndromes can also be assigned to the same class. |
SYN_CONTACT | If the syndrome is tied to a material, creatures who come into contact with this material will contract the syndrome if this token is included in the syndrome definition. Contact transmission occurs when a creature's body becomes contaminated with the material (visible as [material name] 'smear', 'dusting' or 'covering' over body parts when viewing the creature's inventory). Note that contact with items made of a syndrome-inducing material currently doesn't result in transmission.
Methods of getting a material contaminant onto a creature's body include:
It is possible to use this token for syndromes intended to be applied via envenomed weapons (but also check out SYN_INJECTED). When a creature's body is struck with an item which is contaminated with a contact syndrome-inducing material, the syndrome will be transmitted to the struck creature, even if the attack doesn't pierce the flesh. Syndrome transmission in this context often occurs in the absence of a visible contaminant on the body. Contact transmission only appears to occur at the moment of contamination (which is to say, when a new bodily spatter is created). If the syndrome ends (once all its creature effects reach their END point, at which point it will be removed from the creature), it will NOT be reapplied by the original syndrome-inducing contaminant (assuming it hasn't been cleaned off yet); the creature will need to be recontaminated with the causative material for this to occur. (Note that in the case of secretions, the secreted contaminants are continuously reapplied to the secretory body parts, so any associated short-lasting contact syndromes allowed to target the secreting creature can potentially be reapplied at the rate of secretion; this may work differently in adventurer mode). | |
SYN_INGESTED | If the syndrome is tied to a material, creatures who eat or drink substances comprising, containing or contaminated with this material will contract the syndrome if this token is included. This includes prepared meals when any of the constituent ingredients contains the material in question.
This also applies to grazing creatures which happen to munch on a grass that has an ingestion-triggered syndrome tied to any of its constituent materials. | |
SYN_INHALED | If the syndrome is tied to a material, creatures who inhale the material will contract the syndrome if this token is included. Materials can only be inhaled in their gaseous state, which is attainable by boiling, or in the form of a TRAILING_GAS_FLOW, UNDIRECTED_GAS or WEATHER_CREEPING_GAS. Creatures can also be made to leak gaseous tissue when damaged.
Note that | |
SYN_INJECTED | If the syndrome is tied to a material, the injection of this material into a creature's bloodstream will cause it to contract the syndrome if this token is included. Injection can be carried out as part of a creature attack via SPECIALATTACK_INJECT_EXTRACT, or by piercing the flesh of a creature with an item that has been contaminated with the material. Thus, this token can be used as a more specific alternative to SYN_CONTACT for syndromes intended to be administered by envenomed weapons.
For injection to work, the material definition must include ENTERS_BLOOD, the attacked body part needs to have VASCULAR tissue, and the intended victim must have BLOOD (so it won't work on creatures with the CE_REMOVE_TAG:HAS_BLOOD syndrome effect). Getting the weapon "lodged into the wound" isn't a requirement. | |
SYN_AFFECTED_CLASS | <creature class> | If this is included, only creatures which belong to the specified creature class (as well as creatures which pass the SYN_AFFECTED_CREATURE check if this is included) will be able to contract the syndrome. This token can be specified multiple times per syndrome, in which case creatures which have at least one matching class will be considered susceptible. If SYN_IMMUNE_CLASS and/or SYN_IMMUNE_CREATURE are included, creatures which fail these checks will be unable to contract the syndrome even if they pass this class check. |
SYN_IMMUNE_CLASS | <creature class> | If this is included, creatures which belong to the specified creature class will be unable to contract the syndrome. This token can be specified multiple times per syndrome, in which case creatures with at least one matching class will be considered immune (unless overridden by SYN_AFFECTED_CREATURE). |
SYN_AFFECTED_CREATURE | <creature>:<caste> | If this is included, only the specified creature (and, if SYN_AFFECTED_CLASS is included, also creatures which pass this check as explained above) will be able to contract the syndrome. This token can be used multiple times per syndrome. If used alongside SYN_IMMUNE_CLASS, the specified creature will be able to contract the syndrome regardless of this class check.
DWARF:FEMALE is an example of a valid <creature>:<caste> combination; "ALL" can be used in place of a specific caste so as to indicate that this applies to all castes of the specified creature. |
SYN_IMMUNE_CREATURE | <creature>:<caste> | If this is included, the specified creature will be unable to contract the syndrome (even if it matches SYN_AFFECTED_CLASS). It can be specified multiple times per syndrome. As above, "ALL" can be used in place of a specific caste. |
SYN_NO_HOSPITALv0.42.01 | Prevents creatures from being admitted to hospital for problems arising directly as a result of the syndrome's effects, no matter how bad they get. | |
SYN_IDENTIFIERv0.42.01 | <your text> | This token can be included to give a syndrome an identifier which can be shared between multiple syndromes. Only one identifier may be specified per syndrome.
Syndrome identifiers can be used in conjunction with the SYNDROME_DILUTION_FACTOR creature token to alter a creature’s innate resistance to the relevant effects of any syndromes that possess the specified identifier. For example, every alcoholic beverage in unmodded games comes with its own copy of an intoxicating syndrome, each of which has a A creature can only possess a single syndrome with a particular identifier at any given time. As such, if a creature contracts a syndrome with a particular identifier and is subsequently exposed to another syndrome with a matching identifier whilst that first syndrome is still active, then this later obtained syndrome will not be contracted. If the latter comes with a SYN_CONCENTRATION_ADDED token, it will instead adjust the first syndrome's concentration as described below. Taking the above example once again, a sober dwarf drinking their first alcoholic beverage would be exposed to an INEBRIATION syndrome, contracting it and having its effects manifest normally. If the dwarf were to have another drink before the effects of this first syndrome have all worn off (by reaching their END point), then exposure to the second INEBRIATION syndrome would only increase the severity of the original syndrome's effects, making the dwarf progressively more intoxicated. |
SYN_CONCENTRATION_ADDEDv0.42.01 | <amount>:<max> | Syndrome concentration is essentially a quantity which impacts the severity of the syndrome's relevant effects. The higher the syndrome's concentration, the greater its severity. When a syndrome is contracted, the value specified in <amount> is its initial concentration level.
As described above, if a creature is exposed to a syndrome with a particular SYN_IDENTIFIER when already possessing an active syndrome with the same identifier, then this later syndrome isn't contracted, instead contributing to the original syndrome's concentration as indicated by its SYN_CONCENTRATION_ADDED token, if present. The syndrome in question will increase the original syndrome's concentration by <amount> whenever the creature is exposed to it, until its specified <max> concentration is reached by the original syndrome, causing subsequent exposure to this particular syndrome to do nothing (that is, until the original syndrome ends, at which point a new one may be contracted normally). Should the creature be exposed to a different syndrome with the same identifier and a higher <max> value, the concentration will of course increase further. For example, all forms of alcohol in the vanilla game have a syndrome with Some of the generated interaction-derived syndromes come with |
Creature Effect Tokens[edit]
Each and every syndrome has a number of creature effect tokens, represented by CE_X - these lovely little beauties determine exactly how the poor creature suffering from the syndrome is affected. An example CE token is as follows:
[CE_NECROSIS:SEV:100:PROB:100:LOCALIZED:VASCULAR_ONLY:RESISTABLE:START:50:PEAK:1000:END:2000]
In this example, we have an effect that will always cause severe necrosis in whichever bodypart it touches, so long as that bodypart is vascular and that the creature is not able to resist it in some manner. The effect begins shortly after the syndrome is contracted, peaks 1000 time units afterwards, and finally ceases another 1000 time units later.
As a general rule of thumb, so long as CE_X starts the string and START/(PEAK/END) ends it, the order of the intervening tokens isn't important.
Token | Arguments | Description |
---|---|---|
CE_X | The effect type. This can be a number of different tokens, as detailed in the tables that follow this one. | |
SEV | <amount> | The severity of the effect. Higher values appear to be worse, with SEV:1000 CE_NECROSIS causing a part to near-instantly become rotten. |
PROB | <amount> | The probability of the effect actually manifesting in the victim, as a percentage. 100 means always, 1 means a 1 in 100 chance. |
BP | <body part>:<tissue> | (Optional; overridden by LOCALIZED) Specifies which body parts and tissues the effect is to be applied to. Not every effect requires a target!
<body part> can be BY_CATEGORY:X to target body parts with a matching [CATEGORY:X] body token (or ALL to affect everything), BY_TYPE:X to target body parts having a particular type (UPPERBODY, LOWERBODY, HEAD, GRASP, or STANCE), or BY_TOKEN:X to target individual body parts by their ID as specified by the [BP] token of the body plan definition. For example, if you wanted to target the lungs of a creature, you would use BP:BY_CATEGORY:LUNG:ALL. The effect would act on all body parts within the creature with the CATEGORY tag LUNG and affect all tissue layers. For another example, say you wanted to cause the skin to rot off a creature - you could use BP:BY_CATEGORY:ALL:SKIN, targeting the SKIN tissue on all body parts. Multiple targets can be given in one effect by placing the BP tokens end to end. This is one of the most powerful and useful aspects of the syndrome system, as it allows you to selectively target body parts relevant to the contagion, like lungs for coal dust inhalation, or the eyes for exposure to an acid gas. |
LOCALIZED | (Optional; overrides BP tokens) This tag causes an effect to ignore all BP tokens and then forces the game to attempt to apply the effect to the limb that came into contact with the contagion - i.e. the part that was bitten by the creature injecting the syndrome material, or the one that was splattered by a contact contagion. If an effect can not be applied to the contacted limb (such as IMPAIR_FUNCTION on a non-organ) then this token makes the effect do nothing. This token also makes inhaled syndromes have no effect. | |
VASCULAR_ONLY | (Optional) This effect only affects tissue layers with the VASCULAR token. | |
MUSCULAR_ONLY | (Optional) This effect only affects tissue layers with the MUSCULAR token. | |
SIZE_DILUTES | (Optional) This token presumably causes the severity of the effect to scale with the size of the creature compared to the size of the dose of contagion they received, but has yet to be extensively tested. | |
SIZE_DELAYS | (Optional) As above, this token has yet to be tested but presumably delays the onset of an effect according to the size of the victim. | |
CAN_BE_HIDDEN | (Optional) Can be hidden by a unit assuming a secret identity, such as a vampire. [Verify] | |
RESISTABLE (sic) | (Optional) Determines if the effect can be hindered by the target creature's disease resistance attribute. Without this token, disease resistance is ignored. (yes, it's spelled incorrectly) | |
DWF_STRETCHv0.42.01 | <amount> | (Optional) Multiplies the duration values of the effect by the specified amount in Fortress mode. |
ABRUPTv0.42.01 | (Optional) Makes the effect begin immediately rather than ramping up. [Verify] | |
START | Determines the time after exposure, in ticks, when the effect starts. Required for all effects. | |
PEAK | (Optional) Determines the time after exposure, in ticks, when the effect reaches its peak intensity. | |
END | (Optional) Determines the time after exposure, in ticks, when the effect ends. |
A key point that needs to be understood with regards to damaging syndrome effects such as bruising is that they deal a quantity of damage (based on the effect's SEV and other modifiers) every tick, and this damage accumulates over time. Thus, even a bruising effect at the lowest possible severity value will eventually lead to destruction of the affected body part(s) if the effect has a long enough duration. Similarly, healing effects undo a specific amount of damage every tick whilst the effect lasts.
Symptomatic Effects[edit]
The following table contains creature effect tokens which cause purely medical symptoms.
Non-targeted effects will ignore any BP tokens and LOCALIZED tokens.
The details of this table are still being thrashed out by modders, so if you have anything to add, please don't hesitate to hit the edit button!
Token | Accepts Target | Description |
---|---|---|
CE_BRUISING | Yes | Causes the targeted body part to undergo bruising. |
CE_BLISTERS | Yes | Covers the targeted body part with blisters. |
CE_OOZING | Yes | Causes pus to ooze from the afflicted body part. |
CE_BLEEDING | Yes | Causes the targeted body part to start bleeding, with heavy enough bleeding resulting in the death of the sufferer. Some conditions seem to cause bleeding to be fatal no matter how weak. |
CE_SWELLING | Yes | Causes the targeted body part to swell up. Extreme swelling may lead to necrosis. |
CE_NECROSIS | Yes | Causes the targeted body part to rot, with associated tissue damage, miasma emission and bleeding. The victim slowly bleeds to death if the wound is not treated. Badly necrotic limbs will require amputation. |
CE_NUMBNESS | Optional | Causes numbness in the affected body part, blocking pain. Extreme numbness may lead to sensory nerve damage. If no target is specified this applies to all body parts. |
CE_PAIN | Optional | Afflicts the targeted body part with intense pain. If no target is specified this applies to all body parts. |
CE_PARALYSIS | Optional | Causes complete paralysis of the affected body part. Paralysis on a limb may lead to motor nerve damage. If no target is specified this causes total paralysis, which can lead to suffocation of smaller creatures. |
CE_IMPAIR_FUNCTION | Yes | An organ afflicted with this effect is rendered inoperable - for example, if both lungs are impaired the creature can't breathe and will suffocate. This token only affects organs, not limbs. Note that this effect is currently bugged, and will not "turn off" until the creature receives a wound to cause its body parts to update. |
CE_DIZZINESS | No | Inflicts the Dizziness condition, occasional fainting and a general slowdown in movement and work speed. |
CE_DROWSINESS | No | Causes the Drowsiness condition. |
CE_UNCONSCIOUSNESS | No | Renders the creature unconscious. |
CE_FEVER | No | Causes the Fever condition. |
CE_NAUSEA | No | Causes the Nausea condition, and heavy vomiting. Can eventually lead to dehydration and death. |
CE_COUGH_BLOOD | No | This effect results in the sufferer periodically coughing blood, which stains the tile they're on and requires cleanup. It doesn't appear to be lethal, but may cause minor bleeding damage. |
CE_VOMIT_BLOOD | No | This effect results in the sufferer periodically vomiting blood, which stains the tile they're on and requires cleanup. It doesn't appear to be lethal, but may cause minor bleeding damage. |
Healing Effects[edit]
As of version 0.47.01, most of the above effects have counterparts to alleviate symptoms and heal physical damage:
Token | Accepts Target | Description |
---|---|---|
CE_REDUCE_PAIN | Yes | Decreases the severity of pain produced by wounds or syndrome effects on the targeted body part. The SEV value probably controls by how much the pain is decreased. |
CE_REDUCE_SWELLING | Yes | Decreases the severity of swelling on the targeted body part. |
CE_REDUCE_PARALYSIS | Yes | Decreases the severity of any paralysis effects on the targeted body part. |
CE_REDUCE_DIZZINESS | No | Decreases the severity of any dizziness the creature has. |
CE_REDUCE_NAUSEA | No | Decreases the severity of any nausea the creature has. |
CE_REDUCE_FEVER | No | Decreases the severity of any fever the creature has. |
CE_STOP_BLEEDING | Yes | Decreases the severity of the bleeding of any wounds or syndrome effects on the targeted body part. The SEV value probably controls by how much the bleeding is decreased. |
CE_CLOSE_OPEN_WOUNDS | Yes | Closes any wounds on the targeted body part with speed depending on the SEV value. |
CE_CURE_INFECTION | Yes? | Probably decreases the severity of the infection from infected wounds over time. |
CE_HEAL_TISSUES | Yes | Heals the tissues of the targeted body part with speed depending on the SEV value. |
CE_HEAL_NERVES | Yes | Heals the nerves of the targeted body part with speed depending on the SEV value. |
CE_REGROW_PARTS | Yes | Causes missing body parts to regrow. SEV controls how quickly body parts are regrown. In adventure, parts may be lost again once you travel or wait/sleep Bug:0011396. |
Special Effects[edit]
Several special syndrome effects take different arguments than the above. These are used for generated interactions in unmodded games, but may be used as well for any custom substance or interaction.
Token | Accepts Target | Arguments | Description |
---|---|---|---|
CE_ADD_TAG | No | <tag 1>:<tag 2>:etc | Adds the specified tag(s) to the affected creature. Multiple tags can be specified sequentially within a single effect token. Valid tags:
Halts the creature's aging process and prevents death by old age.
Makes the creature unable to produce offspring.
Adding these tags to a creature doesn't appear to do anything.
Adding tags will cause the creature to pass/fail any relevant |
CE_REMOVE_TAG | No | <tag 1>:<tag 2>:etc | Removes the specified tag(s) from the affected creature. Multiple tags can be specified sequentially within a single effect token. The tags listed above can all be removed via this effect.
If a particular tag is targeted by both CE_REMOVE_TAG and CE_ADD_TAG, and both effects are active simultaneously, CE_REMOVE_TAG takes precedence (i.e. the overall effect is that of tag removal for as long as CE_REMOVE_TAG remains active). The order in which the effects activate doesn't affect this, not even if CE_ADD_TAG is added later/earlier via a different syndrome. Removing tags will cause the creature to fail/pass any relevant
If this tag is removed, the creature behaves as though it has no blood; it doesn't bleed when VASCULAR tissues are damaged (and thus cannot die of blood loss), and substances cannot be injected into it.
Removing these tags doesn't appear to do anything unless they've been added to a creature via CE_ADD_TAG, in which case their effects will be negated as described above.
Removing these tags doesn't appear to do anything. |
CE_DISPLAY_NAME | No | NAME:singular:plural:adjective | Attaches the specified name to the creature's normal name. |
CE_DISPLAY_TILE | No | TILE:<tile value or character>:<foreground color>:<background color>:<foreground brightness> | Causes the creature to display the specified tile instead of its normal one. |
CE_FLASH_TILE | No | TILE:<tile value or character>:<foreground color>:<background color>:<foreground brightness>:FREQUENCY:<frames default tile>:<frames syndrome tile> | Causes the creature to flash between its normal tile and the one specified here. |
CE_PHYS_ATT_CHANGE | No | Attribute:percentage:fixed boost(?) | Alters the creature's specified physical attribute. |
CE_MENT_ATT_CHANGE | No | Attribute:percentage:fixed boost(?) | Alters the creature's specified mental attribute. |
CE_SPEED_CHANGE | No | speed modifier:number | Changes the creature's speed.
Speed modifier contains one or both of:
The minimum and maximum speeds able to be created by CE_SPEED_CHANGE are 99 and 10,000 respectively. |
CE_SKILL_ROLL_ADJUST | No | PERC:percentage:PERC_ON:percentage | Alters the creature's specified skill level. The argument PERC specifies a percentage of the creature's current skill, and PERC_ON the probability of the effect being applied on a particular roll. |
CE_BODY_APPEARANCE_MODIFIER | No | APPEARANCE_MODIFIER:HEIGHT/LENGTH/BROADNESS:percentage(?) | Alters the size of the creature. |
CE_BP_APPEARANCE_MODIFIER | Yes | body part:APPEARANCE_MODIFIER:attribute:number | Alters the characteristics (height, width etc.) of a body part. |
CE_BODY_TRANSFORMATION | No | Makes the affected unit transform into a different creature. The target creature may either be specified directly by following this with a CE:CREATURE token, or else set to be randomly selected as indicated by the additional tokens listed below (of which multiple may be specified).
Note that transformation into or out of the target form causes the creature to drop all items in its inventory and instantly heals all of its wounds. If an undead limb happens to be transformed, its entire body will regenerate upon transforming back.
This can be used to specify a target creature to transform into ([CE:CREATURE:DWARF:FEMALE], for example). ALL or ANY can be used in place of a specific caste to randomise this for every transformation. Do note that using ALL or ANY for transformation castes will make the creature transform over and over again with the interval depending on the START token. This can lead to an unending transformation loop. However, there is a way to get around this.
Narrows down the selection to creatures which have the specified creature flag. May be used multiple times per transformation effect; creatures which lack any of the indicated flags will never be transformed into.
Excludes creatures with the specified creature flag from the random selection pool. May be used multiple times per transformation effect; creatures which possess any of the indicated flags will never be transformed into.
Narrows down the selection to creatures which have the specified caste flag. May be used multiple times per transformation effect; creatures which lack any of the indicated flags will never be transformed into.
Excludes any creature with the specified caste flag from the random selection pool. May be used multiple times per transformation effect; creatures which possess any of the indicated flags will never be transformed into.
Narrows down the selection to creatures which have at least one gait with an <energy expenditure> of 0 and a <max speed> less than or equal to the specified <minimum gait speed> ("less than" because lower is faster in the scale used for gait speed). This is used in generated divination curses to prevent the player from being transformed into a creature that is frustratingly slow to play as. [2]
Excludes any creatures which have at least one gait with an <energy expenditure> of 0 and a <max speed> value less than or equal to the specified <maximum gait speed> (note that larger values are slower in the scale used for gait speed). [3] | |
CE_MATERIAL_FORCE_MULTIPLIER | No | MAT_MULT:<material token>:<value A>:<value B> | When the affected creature is struck with a weapon made of the specified material, the force exerted will be multiplied by A/B, thus making the creature more or less susceptible to this material. For example, if A is 2 and B is 1, the force exerted by the defined material will be doubled. If A is 1 and B is 2, it will be halved instead. NONE:NONE can be used in place of a specific material token so as to make the effect applicable to all materials. Note that this syndrome effect is equivalent to the MATERIAL_FORCE_MULTIPLIER creature token. |
CE_CAN_DO_INTERACTION | No | Makes the creature able to perform an interaction. Follow this effect token with [CDI:INTERACTION:<interaction name>] to specify the desired interaction, and add other CDI tokens as required. | |
CE_SPECIAL_ATTACK_INTERACTIONv0.47.01 | Yes | INTERACTION:<interaction name>:BP:<selection criteria>:<name of category,type, or token of designated part/parts> | Makes the creature able to perform an interaction when using an attack with a designated body part/parts. See below for an example |
CE_BODY_MAT_INTERACTION | No | MAT_TOKEN:<body material token> | This is used to tie an interaction to one of the creature’s body materials. Generated vampire syndromes use this effect to make vampire blood pass on the vampirism curse when consumed.
The target body material is specified by inserting its ID as defined in the creature raws. For example, when a syndrome with “CE_BODY_MAT_INTERACTION:MAT_TOKEN:SWEAT” is gained by a unit, the effect will apply to any material defined as “SWEAT” in the creature raws of that unit, if such a material is present. RESERVED_BLOOD is a special body material token which can be used to specify the [BLOOD] material of any creature, regardless of the material's actual ID. The following tokens should be placed after this effect:
This currently only works on materials obtained from historical figures. That is to say, the material must bear the source unit's name, such as "Urist McVampire's dwarf blood" as opposed to mere "dwarf blood". |
CE_SENSE_CREATURE_CLASS | No | CLASS:<creature class>:
<tile value or character>: <foreground color>:<background color>:<foreground brightness> |
Provides the ability to sense creatures belonging to the specified creature class even when such creatures lie far beyond line of sight, including through walls and floors. It also appears to reduce or negate the combat penalty of blind units when fighting creatures they can sense. In adventure mode, the specified tile will be used to represent sensed creatures when they cannot be seen directly. |
CE_FEEL_EMOTIONv0.42.01 | No | EMOTION:<emotion> | Makes the creature feel a specific emotion. The effect's SEV value determines how intense the emotion is. The creature also receives a thought in the following format: "[creature] feels [emotion] due to [syndrome name]". See Emotion for the list of valid emotions. |
CE_CHANGE_PERSONALITYv0.42.01 | No | FACET:<personality trait>:<amount> | Changes a personality trait by the given amount. Multiple FACET:<trait>:<amount> sets may be used, and <amount> can be negative. For example, generated necromancer syndromes come with the following effect:
According to Toady, CE_CHANGE_PERSONALITY effects can cause creatures to re-evaluate their goals in worldgen; the boost to anxiety and distrust given to necromancers makes it more likely for them to develop the goal of ruling the world. [4] |
CE_ERRATIC_BEHAVIORv0.42.01 | No | Causes erratic behavior, meaning "People that like to brawl have a chance of starting a brawl-level fight with any nearby adult." -Toady |
All creature effect tokens take START, END and PROB numbers, and can be followed by [CE:PERIODIC] and/or [CE:COUNTER_TRIGGER] to restrict when they actually take effect.
Periodic Triggers[edit]
[CE:PERIODIC:<period_type>:<min_value>:<max_value>]
When this token is placed after a syndrome effect, it will prevent that effect from working unless within the specified period range.
For example, generated werebeast syndromes have a body transformation effect with [CE:PERIODIC:MOON_PHASE:27:0]
, which makes the transformation active only throughout moon phases 27 to 0 (the full moon period). Once the moon phase changes from 0 to 1, the transformation will end and remain inactive until phase 27 is reached again (unless of course the effect has an END time which is reached before this happens. On that note, keep in mind that the START time of the effect needs to have been reached for activation to have become possible).
Only one periodic trigger may currently be specified per effect. Counter triggers can also be specified for the same effect, in which case both the periodic trigger and at least one counter trigger will need to have its conditions met for the effect to be allowed to work.
MOON_PHASE is currently the only valid period type:
Period | Description |
---|---|
MOON_PHASE | The lunar cycle in Dwarf Fortress is composed of 28 segments (each slightly shorter than a day in duration), with each segment represented by a value ranging from 0 to 27. These correspond to moon phases as follows:
|
Counter Triggers[edit]
[CE:COUNTER_TRIGGER:<counter_name>:<min_value>:<max_value>:REQUIRED]
Creatures in Dwarf Fortress possess internal counters which keep track of their various activities and statuses. When this token is placed after a syndrome effect, it will prevent the effect from working unless the affected creature has the indicated counter, and its value lies within the specified range.
For example, generated vampire syndromes use [CE:COUNTER_TRIGGER:DRINKING_BLOOD:1:NONE:REQUIRED]
with an appearance modifier to make the vampire's teeth temporarily lengthen whilst leeching blood.
Note that NONE
can be used in place of <max_value> to indicate that any value above <min_value> is valid. NONE
can also be used in place of <min_value>, which is equivalent to the lowest value attainable by a counter.
REQUIRED
implies that the effect won't proceed if the counter exists but doesn't lie within the range provided. However, it's actually redunant as COUNTER_TRIGGER always checks for both of these conditions [5]; replacing it with NONE
doesn't alter the way the trigger functions, though it will fail to work if this slot is left empty instead.
As detailed below, most counters only exist temporarily, so their use as triggers is somewhat more restricted than intuition suggests. For example, specifying 0
or NONE
as the <min_value> for a CAVE_ADAPT trigger wouldn't permit the effect to work when the affected creature is outside, since this counter is removed from the unit as soon as its value decreases past 1. Similarly, MILK_COUNTER is only present for some time after a creature is milked.
Multiple counter triggers can be specified per effect, in which case the effect will be permitted to work if at least one of the trigger conditions is met. A periodic trigger can also be specified for the same effect, in which case both the periodic trigger and at least one counter trigger will need to have their conditions met for the effect to work.
The following is a list of valid counter types including a couple of notable values:
Counter | Description |
---|---|
ALCOHOLIC | For [ALCOHOL_DEPENDENT] creatures, this counter increases by 1 each tick, and is reset to 0 when the creature drinks alcohol. The following messages are added after "needs alcohol to get through the working day" in the creature's description when the counter reaches the specified values:
|
CAVE_ADAPT | For creatures with the [CAVE_ADAPT] token, this counter is created and increases by 1 each tick when the creature is in the Dark, and decreases by 10 each tick when Outside. The counter is removed if it decreases to 0. See cave adaptation for more information.
|
MILK_COUNTER | When a creature is milked, this counter is created and set to the frequency value specified in the creature's [MILKABLE] token, and subsequently decreases by 1 each tick until it reaches 0, at which point it is immediately removed, making the creature available for milking again.
|
EGG_SPENT | This counter is created and set to 100800 (3 months' worth of ticks in fortress mode) when a creature lays eggs, and thereafter decreases by 1 each tick until it reaches 0, at which point it is removed and the creature regains the ability to lay eggs. |
GROUNDED_ANIMAL_ANGER | How angry (and likely to attack) an animal is from being in an overcrowded location. The counter is created and set to 200 when the animal is forced to lie on the ground whilst sharing a tile with another creature. It subsequently decreases by 1 each tick, but this is overcome by the addition of 200 every so often (with a variable delay between each spike) if the creature remains grounded. The counter is removed if it decreases to 0. |
TIME_SINCE_SUCKED_BLOOD | This counter rises by 1 every tick for creatures with the [BLOODSUCKER] token. When it rises high enough (generally around 100800; 3 months in fortress mode time), the creature will seek an unconscious victim to leech off of. Blood-sucking causes the counter to decrease, and will continue until either the victim is dead or the counter reaches 0. Note that this counter isn't removed when 0 is reached.
When playing as a bloodsucker in adventure mode, the following bloodthirst indicators are displayed when this counter reaches the specified values:
Various penalties are applied as bloodthirst increases; see the vampire article for more information. |
DRINKING_BLOOD | This appears to be created and set to a fixed value of 20 whilst the creature is sucking blood, and begins to decrease by 1 each tick once blood-sucking ceases (as described above) until it reaches 0, at which point the counter is removed. |
PARTIED_OUT | How long before the creature will decide to attend another party. The counter is set to the tick equivalent of around 3 months when the party being attended ends, and subsequently counts down to 0. Redundant as of 0.42.01, since parties no longer occur. |
This page includes mods. The content is not part of normal DF as released. Changing game files can sometimes cause unexpected results, and should always be done with care and caution. |
Inorganic syndromes and you![edit]
It's perfectly possible - and quite simple - to add a nasty syndrome to a type of rock or metal - you simply add the syndrome tokens to the material definition in the same manner that you would add them to a creature material definition. The only catch is that since your hapless dwarves will only normally encounter the material in metal, gem or boulder form, a bit of creativity must be used to actually get them inside your citizens - that is, you need to make them 'explosively boil' as soon as they're mined or produced. This has the sad side effect of destroying the actual item - sorry, no highly radioactive uranium this release.
The easiest way to accomplish this is to assign the material a low boiling point, usually just under room temperature, and make sure its temperature is fixed to a point above it.
[MELTING_POINT:NONE] [BOILING_POINT:10000] [MAT_FIXED_TEMP:10001]
Now, as soon as this substance hits the open air - by being mined, smelted or reaction-produced at a custom workshop - it will EXPLOSIVELY BOIL, flooding a small area with delicious syndrome-rich gas. Creatures who inhale the gas will be immediately hit with the SYN_INHALED syndrome you thoughtfully attached to the material definition earlier!
There are a number of other tokens you can use to control the colour and naming conventions of your syndrome material, referred to as material definition tokens.
Spreading diseases[edit]
It's fully possible to make a nasty disease capable of spreading itself from an infected dwarf to others, though it requires some skill in modding interactions as well. Here is an example of a plague-inflicting interaction:
[INTERACTION:PLAGUE] [I_TARGET:A:CREATURE] [IT_LOCATION:CONTEXT_CREATURE] [IT_FORBIDDEN:NOT_LIVING] [IT_AFFECTED_CLASS:GENERAL_POISON] [IT_MANUAL_INPUT:creatures] [I_EFFECT:ADD_SYNDROME] [IE_TARGET:A] [IE_IMMEDIATE] [SYNDROME] [SYN_NAME:the plague] [SYN_AFFECTED_CLASS:GENERAL_POISON] [CE_FEVER:SEV:250:PROB:100:START:250:PEAK:1500:END:25000] [CE_BLISTERS:SEV:325:PROB:100:BP:BY_CATEGORY:ALL:SKIN:START:250:PEAK:1500:END:25000] [CE_NECROSIS:SEV:300:PROB:100:BP:BY_CATEGORY:ALL:ALL:VASCULAR_ONLY:START:22500:PEAK:23750:END:25000] [CE_CAN_DO_INTERACTION:START:1500:END:25000] [CDI:ADV_NAME:Spread the plague] [CDI:INTERACTION:PLAGUE] [CDI:TARGET:A:LINE_OF_SIGHT] [CDI:TARGET_RANGE:A:10] [CDI:WAIT_PERIOD:30]
As you can see, the syndrome here inflicts blisters, fever and, after roughly a month, necrosis of the whole body - that's when the infected creatures will start dying out. But before that happens, CE_CAN_DO_INTERACTION makes them capable of spreading the plague further.
You also need a disease vector that will bring the plague straight to your fort. (hint: use various species of rats - they're perfect for that). The following code, added to a creature's raws, ensures the creature will infect anybody it encounters:
[CAN_DO_INTERACTION:PLAGUE] [CDI:ADV_NAME:Spread the plague] [CDI:TARGET:A:LINE_OF_SIGHT] [CDI:TARGET_RANGE:A:10] [CDI:WAIT_PERIOD:30]
As soon as the said creature is startled by your dwarves, the fun will begin.
In 0.47.01[edit]
As of version 0.47.01, it may be possible to use a creature's established methods of attack for use in disease-spreading.
Let's use the borrowed example of the plague above. This time, the plague will spread through biting, using the following syndrome code:
[INTERACTION:PLAGUE] [I_TARGET:A:CREATURE] [IT_LOCATION:CONTEXT_CREATURE] [IT_FORBIDDEN:NOT_LIVING] [IT_AFFECTED_CLASS:GENERAL_POISON] [IT_MANUAL_INPUT:creatures] [I_EFFECT:ADD_SYNDROME] [IE_TARGET:A] [IE_IMMEDIATE] [SYNDROME] [SYN_NAME:the plague] [SYN_AFFECTED_CLASS:GENERAL_POISON] [CE_FEVER:SEV:250:PROB:100:START:250:PEAK:1500:END:25000] [CE_BLISTERS:SEV:325:PROB:100:BP:BY_CATEGORY:ALL:SKIN:START:250:PEAK:1500:END:25000] [CE_NECROSIS:SEV:300:PROB:100:BP:BY_CATEGORY:ALL:ALL:VASCULAR_ONLY:START:22500:PEAK:23750:END:25000] [CE_SPECIAL_ATTACK_INTERACTION:INTERACTION:PLAGUE:BP:BY_CATEGORY:TOOTH:START:0:ABRUPT]
The line [CE_SPECIAL_ATTACK_INTERACTION:INTERACTION:BITE_PLAGUE:BP:BY_CATEGORY:MOUTH:BP:BY_CATEGORY:TOOTH:START:0:ABRUPT] allows any infected creature with an attack using mouth or tooth category body parts to immediately spread the disease using said attack. The victim of the attack may then spread the disease if they are able to attack with the needed body part/parts.
Multi-caste/multi-creature body transformations[edit]
This is a way to get around the looping problem when using ANY or ALL castes for CE_BODY_TRANSFORMATION and not being limited to a single creature for transformations. It's an incredibly simple solution as you can see in this example code:
[SYNDROME] [SYN_NAME:draconic curse] [SYN_CLASS:DRACONIC_CURSE] [CE_BODY_TRANSFORMATION:PROB:100:START:0] [CE:CREATURE:HYDRA:MALE] [CE_BODY_TRANSFORMATION:PROB:100:START:0] [CE:CREATURE:DRAGON:MALE] [CE_BODY_TRANSFORMATION:PROB:100:START:0] [CE:CREATURE:HYDRA:FEMALE] [CE_BODY_TRANSFORMATION:PROB:100:START:0] [CE:CREATURE:DRAGON:FEMALE]
This code will transform a creature into either a female/male hydra or a female/male dragon. In conclusion, for every caste/creature you want a victim to transform into, you add a [CE_BODY_TRANSFORMATION] token with a [PROB] token attached to it.