Dwarf Fortress Bug Tracker - Dwarf Fortress
View Issue Details
0011665Dwarf FortressDwarf Mode -- Itemspublic2020-12-30 11:202021-01-10 13:56
FantasticDorf 
 
normalminoralways
newopen 
0.47.04 
 
0011665: CORPSE item token is synonmous with bones despite supposed differences
When used in a reaction bones and skulls are used indiscriminately as CORPSE than to other things indicating their true nature, including the terror they inflict (see additional details), also making it impossible to specify bones individually apart from divisively seperating stockpiles.
Run a reaction using enclosed reagent to a building for a product output, then slaughter a sizable animal and restrict use of its meat and typified body-parts besides the skull and bones.

[REAGENT:A:5:CORPSE:NO_SUBTYPE:INORGANIC:NONE]
[USE_BODY_COMPONENT]
[UNROTTEN]
Teeth used to inflict significant and numerous corpse terror 0011194 , but were rebalanced to lesser effect.

Bones still inflict corpse-terror when they are sourced from hostile creatures in enough exposure stacks 0008813 & general refuse 0007435

Corpse designation may apply wider to a scope of 0009171
No tags attached.
Issue History
2020-12-30 11:20FantasticDorfNew Issue
2021-01-08 02:33FantasticDorfNote Added: 0040842
2021-01-08 02:34FantasticDorfNote Added: 0040843
2021-01-08 02:59FantasticDorfNote Added: 0040844
2021-01-10 13:56lethosorNote Added: 0040856

Notes
(0040842)
FantasticDorf   
2021-01-08 02:33   
A extracted string dump of 47.04 in the public domain (enclosed below) adds some supplimentary evidence to my report, as may also conducting your own string dump analysis relating that the instrument creation code that was supplied afterwards to the base game object creation recipies.

< http://dwarffortresswiki.org/index.php/DF2014:String_dump [^] >
(0040843)
FantasticDorf   
2021-01-08 02:34   
[REAGENT:shell:1:NONE:NONE:NONE:NONE]
[USE_BODY_COMPONENT][UNROTTEN]
[ANY_SHELL_MATERIAL]
:GET_MATERIAL_FROM_REAGENT:shell:NONE]
[SKILL:BONECARVE]
[REAGENT:bone:1:NONE:NONE:NONE:NONE]
[ANY_BONE_MATERIAL]
:GET_MATERIAL_FROM_REAGENT:bone:NONE]
[DESCRIPTION:USE_TOOL:
[CATEGORY:INSTRUMENT_PIECE]
(0040844)
FantasticDorf   
2021-01-08 02:59   
Unlike other entries on the string dump that 'skip lines' (possibly due to formatting restrictions of the stringdump compiler), entries with only a colon ( : ) apply tokens to non left-to-start bracketed reactions, and a closed bracket breaking the 'chain' of arguements.

[USE_BODY_COMPONENT] and [UNROTTEN] is stretched over both, in accordance with the example, with [SKILL:BONECARVE] seemingly dividing them but due to the incomplete nature of the compile, it seems like [USE_BODY_COMPONENT] and unrotten overlaps both of them.

I dont personally claim to understand C++ in total accordance but i do have a little bit of coding experience from other languages.
(0040856)
lethosor   
2021-01-10 13:56   
The string dump is literally just a collection of human-readable strings extracted from the Dwarf Fortress executable. You could obtain the same information by opening "Dwarf Fortress.exe" (on Windows) in a text editor and ignoring any special characters. The strings are sometimes informative when determining what is hardcoded (as opposed to things that are randomly-generated or stored in the raws), but I'm not seeing how they apply to this bug report.

Perhaps a full reaction would be helpful here - or is the reaction you listed under "steps to reproduce" a complete example that reproduces this bug?