- 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.
Difference between revisions of "Syndrome"
Line 809: | Line 809: | ||
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 [[Syndrome#CAVE_ADAPT|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, [[Syndrome#MILK_COUNTER|MILK_COUNTER]] is only present for some time ''after'' a creature is milked. | 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 [[Syndrome#CAVE_ADAPT|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, [[Syndrome#MILK_COUNTER|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. [[Syndrome#Periodic_Triggers|Periodic triggers]] can also be specified for the same effect, in which case | + | 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. [[Syndrome#Periodic_Triggers|Periodic triggers]] can also be specified for the same effect, in which case both a counter trigger and a periodic 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: | The following is a list of valid counter types including a couple of notable values: |
Revision as of 19:40, 2 August 2020
v50.14 · v0.47.05 This article is about the current version of DF.Note that some content may still need to be updated. |
In Dwarf Fortress, a syndrome can be thought of as a disease 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, venemous 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
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 in Adventure Mode or temples in Fortress Mode (random chance). | None | None | Victim becomes a vampire. |
Werebeast curse | Divine curse | Being bitten by a werebeast or toppling statues in shrines in Adventure Mode (random chance). | 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 werebeasts 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, werebeasts, 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
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
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_IDENTIFIERv0.42.01 | <your text> | Can be included to give the syndrome an identifier which can be shared between multiple syndromes. Only one identifier may be specified per syndrome.
Syndrome identifiers are used in the SYNDROME_DILUTION_FACTOR creature token. For example, every alcoholic beverage in unmodded games comes with its own inebriating syndrome, each of which has a [SYN_IDENTIFIER:INEBRIATION] token. Dwarves have [SYNDROME_DILUTION_FACTOR:INEBRIATION:150], enabling them to drink relatively larger quantities of alcohol before 'INEBRIATION' syndrome effects become significant. Syndromes which share the same identifier also contribute to the same concentration pool with regards to SYN_CONCENTRATION_ADDED. Thus, in the above example, different types of alcohol would all contribute to a common 'INEBRIATION' syndrome concentration when consumed. |
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' 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 (but are not limited to):
This token can be used for syndromes intended to be applied via poisoned 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 smear/covering 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 containing or contaminated with this material will contract the syndrome if this token is included. | |
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.
Note that creatures with NOBREATHE (and presumably also AQUATIC creatures) never inhale gaseous materials, and creatures which do breathe air aren't guaranteed to inhale gases when exposed to them for a short time. | |
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 poisoned 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_CONCENTRATION_ADDEDv0.42.01 | <amount>:<max> | If this is included, repeated exposure to the syndrome will result in the effects becoming more intense. Different syndromes with a common SYN_IDENTIFIER contribute to a common concentration pool as explained above. "First one in wins (the rest just stack)".
"Each 100 of <amount> will contribute SEV in general to each effect (before dilution), <max> goes up to 1000. The concentration does not decrease, but will stay at the maximum attained until the syndrome wears off." For example, alcohol inebriation syndromes in unmodded games have [SYN_CONCENTRATION_ADDED:100:1000]. |
Creature effect tokens
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. PEAK and END aren't required.
- CE_X
The effect type. This can be a number of different tokens, as detailed in the table below this list.
- SEV:X
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:X
The probability of the effect actually manifesting in the victim, as a percentage. 100 means always, 1 means a 1 in 100 chance.
- LOCALIZED (Overwrites 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 syndrome have no effect. This token also makes inhaled syndromes have no effect.
- BP:BODY_PART:TISSUE (Overwritten by LOCALIZED)
Specifies which body parts and tissues are to be affected by the syndrome. 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 in the [BP] token). For example, if you wanted to target the lungs of a creature, you would use BP:BY_CATEGORY:LUNG:ALL. The syndrome would act on all bodyparts 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 bodyparts. Multiple targets can be given in one syndrome 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 bodyparts relevant to the contagion, like lungs for coal dust inhalation, or the eyes for exposure to an acid gas. Not everything takes a target!
- VASCULAR_ONLY (Optional)
This syndrome only affects tissue layers with the VASCULAR token.
- MUSCULAR_ONLY (Optional)
This syndrome only affects tissue layers with the MUSCULAR token. Are you seeing a trend here?
- SIZE_DILUTES (Optional)
This token presumably causes the effects of the syndrome 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 a syndrome according to the size of the victim.
- DWF_STRETCH:Xv0.42.01 (Optional)
Multiplies the duration of the syndrome by X in Fortress mode. If X is 72, syndrome will last the same amount of ticks in fortress and adventure mode.
- ABRUPTv0.42.01 (Optional)
Makes the symptom begin immediately rather than ramping up.[Verify]
- CAN_BE_HIDDEN (Optional)
Can be hidden by a unit assuming a secret identity, such as a vampire.[Verify]
- RESISTABLE (Optional)
Determines if the effect can be hindered by the target creature's disease resistance attribute. Without this token, disease resistance is ignored.
Symptomatic Effects
The following table contains creature effect tokens which cause purely medical symptoms.
Non-targeted syndromes 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_BLEEDING | Yes | Causes the targeted bodypart 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_BLISTERS | Yes | Covers the targeted bodypart with blisters. |
CE_BRUISING | Yes | Causes the targeted bodypart to undergo bruising. |
CE_IMPAIR_FUNCTION | Yes | An organ afflicted with this CE 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_NECROSIS | Yes | Causes the targeted bodypart 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 | Yes | Causes numbness in the affected body part, blocking pain. Extreme numbness may lead to sensory nerve damage. |
CE_OOZING | Yes | Causes pus to ooze from the afflicted bodypart. |
CE_PAIN | Yes | Afflicts the targeted bodypart with intense pain. |
CE_PARALYSIS | Yes | Causes paralysis. Paralysis is complete paralysis and will cause suffocation in smaller creatures. Paralysis on a limb may lead to motor nerve damage. |
CE_SWELLING | Yes | Causes the targeted bodypart to swell up. Extreme swelling may lead to necrosis. |
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_FEVER | No | Causes the Fever condition. |
CE_NAUSEA | No | Causes the Nausea condition, and heavy vomiting. Can eventually lead to dehydration and death. |
CE_UNCONSCIOUSNESS | No | Renders unconscious. |
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
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 bodypart. The SEV value probably controls by how much the pain is decreased. |
CE_REDUCE_SWELLING | Yes | Decreases the severity of swelling on the targeted bodypart. |
CE_REDUCE_PARALYSIS | Yes | Decreases the severity of any paralysis effects on the targeted bodypart. |
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 bodypart. The SEV value probably controls by how much the bleeding is decreased. |
CE_CLOSE_OPEN_WOUNDS | Yes | Closes any wounds on the targeted bodypart 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 bodypart with speed depending on the SEV value. |
CE_HEAL_NERVES | Yes | Heals the nerves of the targeted bodypart with speed depending on the SEV value. |
CE_REGROW_PARTS | Yes | Causes missing bodyparts to regrow. SEV controls how quickly bodyparts are regrown. In adventure, parts will be regrown until you travel or wait/sleep Bug:0011396. |
Special Effects
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 substance or custom 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.
It is unclear whether or not these tags do anything when added to a creature, but they can nevertheless be used as interaction target requirements, as with any of the other tags listed here.
|
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. Special tags:
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. |
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 physical attributes of a creature. |
CE_MENT_ATT_CHANGE | No | Attribute:percentage:fixed boost(?) | Alters the mental attributes of a creature. |
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_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_SPEED_CHANGE | No | speed modifier:number | Changes the speed of a creature.
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_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 identifier 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 identifier. 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_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 creature and/or caste flag restrictions listed below (of which multiple may be specified).
Note that any wounds the creature has suffered will instantly heal upon transforming, both into and out of the target form. If an undead limb happens to be transformed, its entire body will regenerate upon transforming back. | |
CE_SKILL_ROLL_ADJUST | No | PERC:percentage:PERC_ON:percentage | Alters the skill level of a creature. 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_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_CHANGE_PERSONALITYv0.42.01 | No | FACET:trait:amount | Changes a personality trait by amount. Multiple FACET:trait:amount sets may be used. |
CE_FEEL_EMOTIONv0.42.01 | No | EMOTION:emotion | Makes the creature feel a specific emotion; severity based on standard SEV value. The thought the creature receives is: "[creature] feels [emotion] due to [syndrome name]". See Emotion for the list of valid emotions. |
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
[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's END time is reached before this happens).
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
[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 [1]; 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. Periodic triggers can also be specified for the same effect, in which case both a counter trigger and a periodic 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 removed and the creature becomes available for milking again. |
EGG_SPENT | This counter is created and set to 100800 (the total number of ticks in 3 months) when a creature lays eggs, and thereafter decreases by 1 each tick until it reaches 0, at which point the counter 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 blood-sucking creatures such as vampires. When it rises high enough (generally around 100800), 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. |
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), seemingly preventing the creature from doing other activities 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. |
MOD | 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!
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 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
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
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.