v0.31:Syndrome

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

A syndrome is a disease or effect that a poor hapless creature might get through encountering certain creatures, extracts or vindictive modders. They generally cause unpleasant and frequently fatal symptoms over a short to long period of time, but some will clear up over time or with the assistance of a doctor. A Hospital is required to diagnose and potentially treat the syndrome.

An example of a syndrome in effect. This hippo did not ultimately survive the encounter despite one bite being the only injury sustained.

List of syndromes[edit]

Syndrome Venom Acquired Short-term Symptoms Long-term Symptoms Chronic Symptoms
Blob blisters cave blob fluid
(contact)
Touching a cave blob Mild pain
Mild blisters
None None
Cave floater sickness cave floater gas
(inhaled)
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
Phantom spider bite phantom spider venom
(injected)
Being bitten by a phantom spider None Numbness and mild dizziness None
Giant cave spider bite giant cave spider venom
(injected)
Being bitten by a giant cave spider Complete paralysis1
Being eaten by the GCS
None, not that it really matters. None
Gnomeblight gnomeblight
(contact, inhaled, or injected)
Unknown. Affects gnomes only None Severe systemic necrosis2 None
Giant desert scorpion sting giant desert scorpion
(injected)
Being stung by a giant desert scorpion None Necrosis of the brain and nervous system2 None
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
Iron man cough iron man gas
(inhaled)
Expelled by iron man Coughing blood None 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
Serpent man bite serpent man venom
(injected)
Being bitten by a serpent man Complete paralysis1 None None
beast sickness3 random Encounters with forgotten beasts random random random
titan sickness3 random Encounters with titans random random random
demon sickness3 random Encounters with demons random random random
1. For small creatures such as humans and dwarves, paralysis tends to result in suffocation.
2. Necrosis of the brain will eventually result in instant death once the brain rots away completely.
3. Titans, forgotten beasts, and demons have a chance to have a randomized syndrome. These range from pointless (mild blisters from inhaling boiling blood) to instantly deadly (Severe necrosis from a contact poison attached to a breath weapon/creature made of blood.

The anatomy of a syndrome[edit]

Mechanically, syndromes are bundles of tokens attached to a material - they're confined to creature materials in vanilla DF, but it's a simple matter to add them to inorganic materials. When the material is injected, touched or inhaled (depending on the syndrome), the creature suffers the predations of a nasty disease or poison. Here's an example syndrome, taken from the Giant Cave Spider raws.

If you are having troubles getting the syndromes to work (ie, in combat reports, getting "supersnake n/a splatters~etc"), then simply throw the venom template into the actual creature's raw, which is what the LOCAL_CREATURE_MAT actually calls on; the venom being in the same file.

   [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:ALL]
           [SYN_INJECTED]
           [CE_PARALYSIS:SEV:100:PROB:100:RESISTABLE:SIZE_DILUTES:START:5:PEAK:10:END:20]

The first line, USE_MATERIAL_TEMPLATE, is creating a new material, called POISON, using the CREATURE_EXTRACT_TEMPLATE as the basis. After this, the STATE_NAME and STATE_ADJ tokens are used to define the names and adjectives assigned to different states of the material - GAS, LIQUID and ALL_SOLID, in this case, though ALL is also a valid token. At this stage, you can use any material tags like MAT_FIXED_TEMP or similar to set further material properties, though this usually isn't necessary.

 ENTERS_BLOOD

This tag determines whether a poison enters the blood or not. If it is not included, the poison will splatter (if liquid) or flow (if gas) over the affected body part instead when injected. If you're using a contact poison, leave this out. Necessary for injected poisons.

 SYNDROME

This tag ends the material details and begins the definition of the actual syndrome.

 SYN_NAME

This one is self-explanatory - the name of the syndrome as it will appear in-game.

 SYN_AFFECTED_CLASS

This token defines what CREATURE_CLASS will be affected by the syndrome. Most creatures are classed under GENERAL_POISON. Multiple tokens can be used in a single syndrome.

 SYN_IMMUNE_CLASS

As above, but makes class immune.

 SYN_IMMUNE_CREATURE

This token defines which creatures CANNOT be affected by the syndrome - useful for addressing specific instances within a population, such as a specific caste or an individual creature that falls under GENERAL_POISON. Syntax is [SYN_IMMUNE_CREATURE:creature:caste]. ALL can be used for the caste.

 SYN_AFFECTED_CREATURE

As above, but makes creature or caste susceptible.

 SYN_INJECTED, SYN_CONTACT, SYN_INHALED

This token determines the method of infection - injected syndromes must be injected via a creature attack, while contact syndromes result from any contamination of a creature by material splatter (such as blood) and inhaled syndromes must be inhaled in gaseous form, such as from boiling or a creature breath attack. Any combination of these tags can be used. A fun variation on the usual creature injection routine is to create a material with a SYN_CONTACT syndrome and have a creature use it for blood - this tends to end poorly for any predator that chooses to attack them.


 [SPECIALATTACK_INJECT_EXTRACT:LOCAL_CREATURE_MAT:VENOM:LIQUID:100:100]

This is one method for getting a poison into a creature. If [ENTERS_BLOOD] is applied, it will be injected into the bloodstream. Otherwise, it will just splatter over the area. Put this on a creature attack. Substance type (gas, liquid, solid) does not appear to have an effect. The numbers on the end are minimum and maximum.


CE_X, or creature effect tokens, are the real meat and bones of your syndrome. They're detailed below.

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 end it, the order of the intervening tokens isn't important.

  • 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 - ie. 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 (i.e. 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.

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!

Non-targeted syndromes will ignore any BP tokens and LOCALIZED tokens.

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.
CE_NECROSIS Yes Causes the targeted bodypart to rot, with associated tissue damage and miasma. Badly necrotic limbs will require amputation and heavy rot will eventually result in bleeding. Necrosis has some strange behavior involving bleeding to death that isn't fully understood; a 100% necrotic creature can survive fine with no non-yellow bodyparts but will die of bleeding as soon as they end a round of combat, even if they never take a hit. Because of this, fairly useless unless targeting the lungs or eyes.
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 in the affected body part. Targeted causes sluggishness and significantly reduces speed. Untargeted paralysis is 'complete paralysis' and will cause suffocation in smaller creatures.
CE_SWELLING Yes Causes the targeted bodypart to swell up. Extreme swelling may lead to necrosis.
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_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_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.

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.

 [MAT_FIXED_TEMP:9001]
 [BOILING_POINT:9000]

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 tokens.

Breath attacks[edit]

If you want to really make a creature deadly, you can give it a breath attack to shoot your neurotoxin at your hapless dwarves from range. Some of these attacks have the unfortunate side effect of preventing a critter from using its regular attacks unless the enemy is on the same tile. You decide if it's worth it.

To use a breath attack, place something like the following anywhere in your creature entry:

 [MATERIAL_BREATH_ATTACK:LOCAL_CREATURE_MAT:SPITTER_SPIT:SOLID_GLOB]

The LOCAL_CREATURE_MAT:SPITTER_SPIT refers to the material the breath attack will be made of - in this case, it is another material defined within the creature entry.

Breath Attack Types[edit]

Token Description
TRAILING_GAS_FLOW Shoots a trail of gas substance at the creature. Fairly easy to dodge. Creature will attack as normal.
TRAILING_VAPOR_FLOW Similar to the trailing gas, but easier to breathe in, and condensed, so it will collect on creatures. Creature will attack as normal.
TRAILING_DUST_FLOW Lets out a cloud of solid dust. Appears to use cave-in dust physics, causing this to fling around anything it comes in contact with, making it capable of smashing creatures into the ground and flinging them over walls. Creature will attack as normal.
SOLID_GLOB Shoots a solid glob of spinning substance at the creature, leaving symbols similar to broken arrows. Essentially a projectile weapon. Some creatures with this breath attack will not move, preferring instead to stay and shoot globs at you, even when you are literally right next to them.
LIQUID_GLOB Shoots a liquid glob of spinning substance at the creature. Essentially the same as SOLID_GLOB. May do less damage.
UNDIRECTED_GAS Creature occasionally releases a cloud of substance. Similar to TRAILING_GAS_FLOW, but undirected, thus affecting a larger area but losing the distance. Creature will attack as normal.
UNDIRECTED_VAPOR Creature occasionally releases a cloud of substance. Similar to TRAILING_VAPOR_FLOW, but undirected, thus affecting a larger area but losing the distance. Creature will attack as normal.
UNDIRECTED_DUST Creature occasionally releases a large cloud of substance, which will spread and dissipate. Similar to TRAILING_DUST_FLOW, but undirected, thus affecting a larger area but losing the distance - range is roughly the same as that of a cave-in. Creature will attack as normal. DO NOT USE THIS TAG UNLESS YOU WANT TO KILL THE CREATURE AND EVERYTHING NEAR IT AND SEND PEOPLE FLYING. You know you want to.

Keep in mind that you can use multiple breath attacks, which appears to make the creature choose between them at random.