So I recently did some investigations on how I might be able to make a dummy creature which dies instantly for the purposes of some modding shenanigans, and figured I should share the results to save anyone else looking into it some time (so only my time was wasted on this endeavour
). If you want the best results, just jump to the summary.
The TestI tested all of these results in the testing arena, staying within the fort mode... mode. All test creatures were based around a basic prototype creature, which was edited to suit the tests. I ran each test at least a couple of times before drawing my conclusions. Tests were performed on version 0.44.12 because I haven't gotten around to updating yet. Because it takes a bit of effort to test vermin in the arena, and I'm lazy, I didn't test the creatures in vermin form to see if that makes any difference.
[CREATURE:TEST_BASE]
[NAME:test proto:test proto:test proto]
[CASTE_NAME:test proto:test proto:test proto]
[BODY_SIZE:0:0:1]
[BODY:BASIC_1PARTBODY]
[MATERIAL:MAIN]
[STATE_NAME_ADJ:ALL:test material]
-- I think they default to none anyway, but just to be safe
[SPEC_HEAT:1]
[IGNITE_POINT:NONE]
[MELTING_POINT:NONE]
[BOILING_POINT:NONE]
[HEATDAM_POINT:NONE]
[COLDDAM_POINT:NONE]
[MAT_FIXED_TEMP:NONE]
[TISSUE:MAIN]
[TISSUE_NAME:test tissue:test tissue]
[TISSUE_MATERIAL:LOCAL_CREATURE_MAT:MAIN]
[MUSCULAR]
[FUNCTIONAL]
[STRUCTURAL]
[RELATIVE_THICKNESS:1]
[CONNECTS]
[TISSUE_SHAPE:LAYER]
[TISSUE_LAYER:BY_CATEGORY:ALL:MAIN]
Death Style: RottingI figured that inflicting the creature with instant and severe necrosis would cause its body to instantly rot away. The creature was made to constantly secrete a severity 1000, localised, contact syndrome from its body. The body became rotten instantly (its body being described as rotten), however the creature continued to live just fine. Adding [ROTS] to the creature's material didn't cause any changes.
Status: Creature livesDeath Style: Melting / BoilingI think I've seen this as a recommended method. Setting the creature's material's MELTING_POINT and BOILING_POINT to 0 in different tests resulted in the creatures melting to death after some time, alongside the message "x has melted". Increasing the temperature of the creature by giving it a high homeotherm didn't seem to have any impact on how long it took to melt - all meltings no matter the temperature or whether caused by MELTING_POINT:0 or BOILING_POINT:0 took the same amount of time. This seems to suggest that there might be some universal timer for how long a creature can survive while melting. Death leaves an unmangled body, which after 1 step turns to a pool of the creature's material (if using MELTING_POINT:0), or small cloud of gas of the creature's material (if using BOILING_POINT:0).
Additionally, varying the SPEC_HEAT value of the creature's material didn't seem to have any impact on the creature's rate of melting.
Status: Creature dies after some time with message "x has melted". Leaves unmangled body for 1 tick. Body then melts / boils.Death Style: Being Non-solidI attempted to alter the tissue TISSUE_MAT_STATE of the creature to both LIQUID and GAS in separate tests to see if the creature would instantly fall apart. The creatures seemed perfectly fine. The addition of TISSUE_LEAKS didn't seem to change anything. Maintaining TISSUE_LEAKS, I created a second tissue layer which I made rot, to see if that would cause leakage - it didn't.
Combining a TISSUE_MAT_STATE with an alteration to the material's associated POINT (e.g. LIQUID state with a low MELTING_POINT) prevents the creature from melting when they normally would.
Status: Creature livesDeath Style: BleedingMy main intention was to find a method that would be quick and leave no mess, so I didn't actually test bleeding
Death Style: SuffocationI added the BREATHE type to the creature's body, and copied the syndrome used for the rotting tests, but set it to impair function instead of necrosis. After quite a while, the creature eventually suffocated with the message "x has suffocated", and leaving an unmangled corpse.
Status: Creature dies after some time with message "x has suffocated". Leaves unmangled body which remains.Death Style: !!Burning!!Setting the IGNITION_POINT of the creature's material to 0 causes it to instantly burst into flames. Lots of smoke is generated, however the area isn't actually any hotter. After a decently long time, the creature eventually dies, leaving a burning corpse (the corpse doesn't ever go away because of my test setup, since the material has no heat damage point).
Status: Creature dies after some time with message "x has burned to death". Leaves an unmangled body which is on fire.Death Style: Heat / Cold DamageSetting the HEATDAM_POINT of the creature's material to 0 causes the creature to die instantly (1 step passed after creation)! The corpse left is treated as mangled, and after 17 steps it vanishes. By combining HEATDAM_POINT:0 with BOILING_POINT:0, you can create a creature that dies in 1 step, whose corpse turns into a cloud of gas after 1 step.
I couldn't get cold damage to work, but that might be because I set the value too high in my only test (hey, I already got what I wanted, who wants to test even more?
)
Status: Creature dies instantly with message "The x has died in the heat". Leaves mangled body which disappears after 17/18 steps.
SummaryMethods that cause deathSo here's a summary of the methods that I tested that successfully caused the creatures to die. They're sorted in order of fastest to slowest:
- Heat Damage - Instant. Set material HEATDAM_POINT to 0.
- Melting - Set material MELTING_POINT or BOILING_POINT to 0.
- Suffocation - Include BREATHE type BP and target it with CE_IMPAIR_FUNCTION syndrome.
- Burning - Slowest. Causes lots of smoke. Set material IGNITION_POINT to 0.
Unfortunately, all methods do have the drawback of reporting the creature's death in the announcement screen. Additionally, all deaths cause a corpse to be left behind, even if just for a step - if you absolutely don't want a corpse to be available, consider using ITEMCORPSE to cause an item to be dropped instead.
I reduced the test creature down to the minimum amount of tokens that are required to work in arena mode while dying by the fastest method (heat damage). Here it is, in case anyone might find it useful:
[CREATURE:TEST_MIN]
[CASTE_NAME:test minimum:test minimum:test minimum]
[BODY:BASIC_1PARTBODY]
[MATERIAL:MAIN]
[HEATDAM_POINT:0]
[TISSUE:MAIN]
[TISSUE_MATERIAL:LOCAL_CREATURE_MAT:MAIN]
[TISSUE_LAYER:BY_CATEGORY:ALL:MAIN]