Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0010057Dwarf FortressCombat -- Generalpublic2016-10-27 09:392017-08-08 21:35
Assigned To 
PlatformOSOS Version
Product Version0.43.05 
Target VersionFixed in Version 
Summary0010057: In combat/death, units are not 'struck down' or die and remain alive after being converted into corpse objects/items
DescriptionThis is a Fortress mode explicit bug without further investigation, into adventure mode. It is confirmed in the stated version to not be present in arena mode which runs as normal.

When delivered with such a force to instantly kill a unit such as a instantly fatal injury (having your head cut off as a primary example) the unit that is being affected is not truly struck down and dead but is instantly turned into a corpse object and only 'registed' as dead for turning into that corpse.

> There are omissions to dying in the combat log, where it is cut off suddenly instead of finalizing with purple text to signify that they are dead, health continues to function on a non-interface level.

This corpse object via a separate bug, can be interacted with by accessing another dwarf's relationship screen which they are included inside (this is a bug in itself) and traveling to the named dwarf which should be accessible with (v)view recounting their mind screen and additional screens still functional.

> Relationships are not updated to respect that someone has died and left the mortal world and likewise dwarves will not recognize or grieve, but instead express horror of seeing a familiar body repeatedly without a follow up thought to dispel.

> The body's health will deteriorate even if it died in pristine condition, and the exploited mind screen will still display information as parts of it rots away and loses functionality.

Even after the body is destroyed, the 'mind or soul' of the corpse object now not manifested as a unit will remain, and remain ownership of whatever corpse parts are left in whatever condition (and summary status on the (dead) unit screen persistently)as if they were alive.

> This extends to all units, including non-intelligent wildlife but these can be butchered as usual and are under the effect of other bugs that give units emotional behaviors (like distraction, prayer, loneliness and anxiety)via a overlapping mind menu only interfacable with Dwarf Therapist

(you cannot slaughter a corpse of a pet if it is still 'alive' whilst a corpse object using the bug rhetoric despite dying of old age/non combat instances but still remaining alive personality/mind wise like a intelligent entity but non interfacable).

> Ownership of body parts persists. On wild creatures that can be butchered and tanned body pieces the only strict restraint on butchering their corpse items is in regards to teeth and other extra parts (horns, ivory etc) because they are 'huntable' animals and hardcoded in for reactions, also explains the persistence of wild hunts on the (dead) unit screen post butchering and unit body destruction being listed continuously

> The lingering presence is responsible for ghosts conjuring when 1 piece of a dwarf is irreclaimable for tomb burial or the unit's dead status hasn't been put to rest (since the unit is registered as dead but actually alive though a discarded tooth the ghost manifests anyway)
Steps To ReproduceReproducibility should apply to all vanilla versions of 0.43.05

> Start up a In-game fortress on vanilla 'Dwarf Fortress'
> Establish your military with bronze tier cutting weapons (pickaxes/axes with good values for dismemberment, bronze or above sharpness ideally) and equip with combat skills
> Hunt humanoid (easiest definable parts) creatures like troglodytes and proceed to strike down as many as required for kills (and log the combat reports particularly of instantly fatal injuries)
> All head dismemberment should result in unconsciousness but not 'death' on the combat log, and there will be no instances of ''____' has been struck down'


> Establish a hospital with a chief medical dwarf to enable the health screens
> Either wait for a 'fatal' casualty of your own dwarves or deliberately cause one of them to die from fighting/accidents, manner of death is irrelevant, it must die through the game not dev commands (as to it might contaminate the result)
> Through the relationship screen of another dwarf who knew them you can view the dead dwarf's current mind status and health, post death they will be more disfigured as they decompose
> Continue to monitor the dwarves open health even as it decomposes into skeletal remains months onwards as it will remain relevant. (death incurs a inability to see from your eyes being rotted away in the skeleton phase particularly as a giveaway)


> After death, assigned tombs and memorial sites for 'dead' dwarves will be listed as the dwarf's personal holding, its mind screen will update to its new accomodation after death (though no thoughts will be interred because that requires not being a corpse item)
> This can be observed by setting additional sites like memorial sites once the dwarf is interred into its tomb

Not to mention for animal related hoof/teeth ivory based jobs in relation to body part ownership while still alive behaviours.

> Punch a snake (12 teeth and normally a central point to attack on a limbless snake) in the mouth/mob a snake with wrestlers/non armed opponents and remove its teeth
> Setup a craftman workshop, and a teeth refuse pile, link the two and observe inability to craft despite having the defined appropriate singular reagent
> (Optional) butcher the snake then repeat step two, it should still remain non functional
> (Optional) burrow yourself and go through the previous steps, it will still be un-workable material yielding error messages.
Additional Information> Though my own research and observation i have been exploring this bug from different angles and have made two threads discussing ways i think it could be amended.

Technically in regards to a binary patch/plugin via dfhack in the modding section of the DF forum (discussing background technical code stored in github)
> [^]

And as a DF suggestion to make amendments.
> [^]

Below are some pictures of this bug. Accounting for instant death injuries in the defined fortress mode version playable mode (1) & (2) are head dismemberment while (3) is 'explosion into gore' in fistfighting against humanoid bodied troggs with bronze tier cutting weapons (all of them died after the logs ended).

(4) is a staged fight in arena mode (not fortress mode) to demonstrate normal combat behaviour with eventual defined death ('struck down'), while (5) is arena mode death with a edged weapon in how death by dismemberment of the head SHOULD occur under normal conditions.

Image (1) [^]
Image (2) [^]
Image (3) [^]
Image (4) [^]
Image (5) [^]

Because this is tied to animals and death is a prerequisite to butchery, there is a suggested relationship connection by my own opinion between this and these listed issues

> 0009171: Butcher returns of sentient creatures are unusable, regardless of adventurer's ethics - [^]

> 0009550: Unable to craft any items from bones, skulls or hooves/horns. (Note - The dead entity's ownership of the teeth renders workshops unable to claim teeth and those parts regardless of wild/sentient status)- [^]

> 0001275: Dwarves refuse to butcher tame animals unless they're directly slaughtered - [^]

> 0008978: Ghost raised despite remains being interred (Note - related to body part ownership while 'dead but still alive' and the body being still manifested, all the corpse must be laid to rest or given a slab to appease) - [^]

> 0009763: Dwarf missing upper body, but still alive. - (note - highly relevant) [^]

> 0009083: Dwarves no longer grieve for friends and family (note - Because they are not updated as dead, especially relationship wise, all the dwarves see are corpses of a familiar person rather than someone who has died) - [^]

> 0007435: Dwarves overwhelmed by horror at the sight of the refuse stockpile (note- Emotional response conflict over mutilated but still 'alive' bodies/corpse items vs lack of grief from the actual unit dying) - [^]
Tagsbody parts, combat, corpse, death, decay, dismemberment, health, struck down
Attached Files

- Relationships

-  Notes
chaosvolt (reporter)
2016-10-31 00:06

I find it questionable that it's actually related to the "can't eat sentient meat/use for crafting" bug, unless the same update that borked that introduced this.

Otherwise, it is purely a code regressing Toady somehow committed and (as stated by a FotF reply) is uncertain as to how it occurred.
FantasticDorf (reporter)
2016-10-31 05:18
edited on: 2016-11-02 13:05

Id agree with regression also, as the exploit in the description shows, the 'unit_bp_health_flags' or just health flags in diagnosis (and more specifically individual health readings on the (Z) interface) doesn't have a health state to define death, only decomposition through body part BP. On top of regressional bugs with creatures via other code structures having their own health screens via unseeable GUI/UI to experience the same thing, with implications that a lot of behaviour could be shared between units as seen in > [^] and ( [^] <- = -> [^])

If a unit never truly dies its item corpse is only ever recognized as a 'living' item corpse, since its unit ID is separate and alive from the object despite the transition into a corpse registered as death. Its entity even after item corpse destruction is still around but non interfacable. Items that are strictly BP anatomical (also tied to decoration ethics) such as teeth and ivory, are unworkable because they still belong to the abstract creature ID as its physical body, given that they are only usable when they are dead for crafting, and these items remain as part of the creature's alive state, hence why ghosts rise from lost teeth despite everything else being entombed properly or animated dead INSIDE the tomb coffin rising because of a improper burial.

The ethic system must work in such a way that unless the creature is classed as huntable (Work orders - Forbid (O -> F)) via [ETHIC:KILL ANIMAL] and [ANIMAL PRODUCTS] nothing else can be done, as separate to the ethic, [ANIMAL_PRODUCTS] allows for products like meat leather and bones normally as well as milk and hair/yarn. (Ethic animals = Workable item corpses, but animals are exclusive and hard-coded anyway dead or not for corpse item processing so hunting works right,[ANIMAL PRODUCTS] = Meat, bones, products from animals carrying the allowed classes id of ethic animals, includes sentients but sentients are not 'huntable' animals as defined by the FORBID screen which even when set to allow sentients, fails)

The ethics for entity butchery and both classes of decoration also forbid using those materials. Trolls that are slaughtered for instance, don't 'die', as their tusks and meat are discarded from use post slaughter as a un-legitimate ethic kill even with the right site entity ethics [EAT_SENTIENT_OTHER], though troll meat and objects brought on embark are fine (troll ivory goblets etc) while collected on site materials are put to the refuse pile.

> This suggests all death is broken to some degree, even slaughtering interactions where the unit is immediately destroyed whilst in a alive state. None of the objects from a slaughtered intelligent will be defined as {{forbidden}} as your workers handle them and move them to the refuse piles, and remain with the creatures ID, unusable.

> The state of a animated corpse unit is set back into a 'huntable' state where it can be butchered (now stripped of its intelligence) though its materials if ethically controversial will still be restricted. Pets would be allowed since the only ethic that covers is [ETHIC:KILL_ANIMAL] and the process has been completed. The ID states after zombification remains, as the illegal proceeds will still be put to refuse if it is still listed as 'alive' and has a active id while still tied to a destroyed corpse

You can't butcher a item corpse which is defined as 'alive', since that would require slaughtering it, as a huntable class of creature like a non-intelligent animal it can be butchered but this is factionally subjective, as only wild animals are huntable, not fortress member pets. If its wild its legitimate, if its tamed then its not huntable anymore because its a fortress entity citizen and need to be dead/slaughtered first, before the game runs it through.

Apologies if this is a rehash of some of the description but questions around the link to butchery required addressing.

FantasticDorf (reporter)
2016-11-02 13:25

Here is a relevant save that is also covering bugs from (0010059) on the same shared save. Only 1 download of it is requires to address both bugs in this current form. [^] [^]

Areas of interest have (N)otes around them. For this specific bug there is...

> A kiwi on the surface engaged in combat with a snake, because the snake only has 1 method of attack, it uses that. Relatably, biting is considered a lethal form of combat above brawling (and on animals because its not a sheath/unsheathed weapon does not escalate the fight for the victim), the kiwi only scratches the snake with its legs while the snake delivers a venomous bite directly to the blood. The kiwi succumbs to the poison but is not struck down while still in combat dodging. (Image attached - [^])

> In the caverns (north, north west z level 11-13) a group of troggs dies, headless example B is rendered unconscious when it is decapitated in combat logs and the other troglodyte is only remarkable for still having a tendon in the skull pulled and bust arteries after having its head cut off with a axe. Neither were struck down upon these fatal blows. (image attached - [^])

> The most northern trogg noted as (headless example A) had both its lungs attacked prior to death asphyxiating it with difficulty breathing, before giving into pain, having a axe lodged in its head (and removed) before having its head cut off before the dwarf remarked it was dead and disengaged. Curiously because it was already deprived of air & in pain it is not marked as unconscious when the head was removed. It was not 'stuck down' and its ID is still alive (Image attached of combat log - [^])

> The militia commander Asen Keskaluman (listed as a sword dwarf - immigrant) remarks at the item corpses despite the unit not really dying once they disengage combat before continuing station and being attacked again.

> All deaths (image attached - [^])
FantasticDorf (reporter)
2016-11-07 07:47

As for a important note, there is significant research being done here within this dfforum thread [^]

Identified within Max's part of the research (via dfhack) is a workaround by disabling dead_dwarf true on the corpse object. I am ongoing my own research into BP relationships between the health system, especially in regards to external BP features like teeth and ivory.

Application in using the latest alpha version 43.05 (at own risk) will allow you to properly probe the states with 'gui/gm-editor' on the save.
Putnam (reporter)
2017-08-08 21:35

It was determined in the linked thread above that units are, indeed, actually killed, and "struck down" not being displayed is merely a display bug.

- Issue History
Date Modified Username Field Change
2016-10-27 09:39 FantasticDorf New Issue
2016-10-29 09:39 FantasticDorf Tag Attached: body parts
2016-10-29 09:39 FantasticDorf Tag Attached: combat
2016-10-29 09:39 FantasticDorf Tag Attached: corpse
2016-10-29 09:39 FantasticDorf Tag Attached: death
2016-10-29 09:39 FantasticDorf Tag Attached: decay
2016-10-29 09:39 FantasticDorf Tag Attached: dismemberment
2016-10-29 09:39 FantasticDorf Tag Attached: health
2016-10-29 09:39 FantasticDorf Tag Attached: struck down
2016-10-31 00:06 chaosvolt Note Added: 0036013
2016-10-31 05:18 FantasticDorf Note Added: 0036015
2016-11-02 13:05 FantasticDorf Note Edited: 0036015 View Revisions
2016-11-02 13:25 FantasticDorf Note Added: 0036024
2016-11-02 13:32 FantasticDorf Issue Monitored: FantasticDorf
2016-11-07 07:47 FantasticDorf Note Added: 0036039
2017-08-08 21:35 Putnam Note Added: 0036692
2018-01-19 10:12 hertggf Issue Monitored: hertggf

Copyright © 2000 - 2010 MantisBT Group
Powered by Mantis Bugtracker