Dwarf Fortress Bug Tracker - Dwarf Fortress
View Issue Details
0010255Dwarf FortressDwarf Mode -- Jobs, Generalpublic2017-06-21 12:362018-06-02 11:06
resolvedno change required 
0010255: Lost-in-combat teeth smaller than [1] unit unusable for crafting jobs & clutter refuse
Small creatures like badgers have body parts that cannot be reclaimed from normal corpse butchery like teeth have the material tooth content of [0] when inspected in dfhack's tgui editor under 'materials'

Editing the tooth materials will cause the tooth's bone stack to increase (badger boar tooth [100]) and free it to be used in a ivory crafting job, however no matter the amount it will not produce a final product. Has been tried with 100 and a 1000 bone content with no result.

Creatures larger than badgers like Yaks yield normal workable horns/ivory etc, this exclusively seems to apply to creatures that are very small. There's no scientifically determined upper limit to when this starts happening and tooth content becomes lower than 0.
Obtain teeth from a small animal like a badger (presupplied in save in additional content) and using dfhack raise the tooth content to a 100 or more from the flat [0] content it already has.

> via the materials listing in gui-editor, second page.

Immediately call a dwarf worker to try and craft the raised stack of teeth, they will pick up that particular item and work, but both the tooth & the expected ivory craft will dissapear.
Running with dfhack version 43.05-alpha0

Lack of a final product might be related to http://www.bay12games.com/dwarves/mantisbt/view.php?id=8562 [^] speculatively

Was mentioned by Loci in http://www.bay12games.com/dwarves/mantisbt/view.php?id=10130#c36249 [^] [^] where i misapplied a fix and became confused since this is a seperate bug.

Save here - http://dffd.bay12games.com/file.php?id=12977 [^]
No tags attached.
has duplicate 0010254resolved Loci Creatures have body parts with material lower than [0 
Issue History
2017-06-21 12:36FantasticDorfNew Issue
2017-06-22 20:40LociRelationship addedhas duplicate 0010254
2017-06-22 20:50LociNote Added: 0036626
2017-06-22 20:50LociAssigned To => Loci
2017-06-22 20:50LociStatusnew => needs feedback
2017-06-24 09:11FantasticDorfNote Added: 0036628
2017-06-24 09:11FantasticDorfStatusneeds feedback => assigned
2017-06-24 09:32FantasticDorfNote Edited: 0036628bug_revision_view_page.php?bugnote_id=0036628#r14782
2017-06-25 16:35LociNote Added: 0036632
2017-06-25 16:35LociStatusassigned => resolved
2017-06-25 16:35LociResolutionopen => no change required
2017-06-26 11:24FantasticDorfNote Added: 0036634
2017-06-26 11:24FantasticDorfStatusresolved => needs feedback
2017-06-26 11:24FantasticDorfResolutionno change required => reopened
2017-06-26 19:18LociNote Added: 0036635
2017-06-26 19:18LociStatusneeds feedback => resolved
2017-06-26 19:18LociResolutionreopened => no change required
2017-06-27 02:25FantasticDorfNote Added: 0036636
2017-06-27 02:25FantasticDorfStatusresolved => needs feedback
2017-06-27 02:25FantasticDorfResolutionno change required => reopened
2017-06-27 15:12LociNote Added: 0036637
2017-06-27 15:12LociStatusneeds feedback => resolved
2017-06-27 15:12LociResolutionreopened => no change required
2017-07-03 13:12FantasticDorfNote Added: 0036646
2017-07-03 13:12FantasticDorfStatusresolved => needs feedback
2017-07-03 13:12FantasticDorfResolutionno change required => reopened
2018-06-02 11:06LociNote Added: 0038423
2018-06-02 11:06LociStatusneeds feedback => resolved
2018-06-02 11:06LociResolutionreopened => no change required
2018-06-02 11:06LociSummaryCreatures with material in bodyparts (particularly teeth) lower than [0] block crafting jobs & clutter refuse => Lost-in-combat teeth smaller than [1] unit unusable for crafting jobs & clutter refuse

2017-06-22 20:50   
How did you obtain a tooth stack from animals that do not produce teeth when butchered?
2017-06-24 09:11   
(edited on: 2017-06-24 09:32)
I in the save beat it out of them by accident using a dog, since the badger felt un-threatened enough to fight it.

( as seen from the attack report 23rd of granite, combat line nine from the top )
"The stray dog scratches the badger boar in the teeth and the severed part sails off in an arc!"

Using a adventurer & depositing the gathered teeth at the current player fortress would also be a satisfactory way to collect in test conditions more reliably. Alternatively capturing a wild badger and setting it up to fight a pitted dog might also yield teeth.

2017-06-25 16:35   
Lost-in-combat teeth are known to be unusable, which, while possibly a bug, is rather trivial. They do tend to clutter the refuse pile, but I have never seen them block a crafting job.

As to your DFHack-modified teeth causing problems, it's likely that DFHack did not properly modify the tooth-stack for usability (that is, it's likely that something other than material size makes the tooth unusable in artifacts, etc.). However, this bug tracker is for vanilla Dwarf Fortress bugs; problems which can only be experienced using DFHack may be reported to the DFHack maintainers.
2017-06-26 11:24   
I would like to mention that there is still potential for investigating why badgers drop abnormal and anatomically impossible [0] content teeth, as to say the tooth does not exist creating reports of having no usable content via "Needs unrotten ivory/tooth parts" and are hence unusable. In workshop code if there is a demand for material to initiate a reaction such as crafting a object, it will call upon it, and what i see in this bug as being unable to fulfill the order despite having the materials present.

Which is presented on the save with the badger boar teeth that cannot be processed until the material content is modified and raised above [0].

Dwarfu has mentioned otherwise about relative size material differences in small creatures of a similar size index of a badger [15000, a crundle is 10000], in that a crundle horn may yet be too small to be collected and is omitted entirely - http://www.bay12games.com/dwarves/mantisbt/view.php?id=4950#c18963 [^]

And other such animals being un-processable via workshop rejections on the basis of their small stature or not giving their full table of contents such as bones - http://www.bay12games.com/dwarves/mantisbt/view.php?id=874 [^]

I will forward dfhack relevant feedback where it is needed, but it was applied here in a pro-active investigative purpose; i understand the argument you present on how the data may be interpreted & used by the game through un-optimised third party editors & data viewers.

Using DFhack to increase the badger or small tooth to 1 will yield a single tooth as to intended game default rather than a exploitative stack if that is satisfactory enough to dissuade arguments about unintentional game interference. Yet else i would like to know if there are any more requirements such as a non-dfhack second submitted save you would like further, and i will try to arrange them for you.
2017-06-26 19:18   
Tested in v0.43.03x32 by spawning giants and badgers until I had a tooth explosion event. The badger teeth did not display a stack size (no "[0]"), were properly hauled to the refuse pile, were properly unusable for crafting jobs requiring ivory/tooth, and did not trigger a conditional manager order monitoring the count of "unrotten ivory/tooth body part". Further, when usable ivory and tooth were made available, the craftsdwarf correctly selected the usable stacks to perform jobs.

To answer your questions, badgers drop teeth in combat because Toady thought it would be a nice bit of realism to have teeth knocked out. Badger teeth are automatically discarded during butchery because they are too small to be usable for crafting. Lost-in-combat teeth are unusable either intentionally, or because they are calculated to be too small for crafting. Even a dragon, one of the largest animals in the game, which has 30 separate teeth, only produces a stack of [3] teeth for crafting when butchered. There is (currently) no way in vanilla Dwarf Fortress to increase the material content/stack size at all, so all results after doing so are irrelevant.
2017-06-27 02:25   
I apologize for pressing this further but there are some final details i want to clarify.

There was no stack size of [0]; that is lost in translation, i have already mentioned that raising the material tooth amount to 1 does not change the name of the tooth, but raising it to 2 or above creates plural numerals.

"Badger boar tooth" as a single stack (one 'material stack' no plural) is indistinguishable from "Badger boar tooth" with a stack value of 0 (0 'material stack' but still a object with no plural) which is created by those badgers you killed in your test and the items unusable as to confirm the initial report that this happens accurately on small creatures.

"Creatures with material in bodyparts (particularly teeth) lower than [0]" does not refer to the creature having a literal stack of [0] teeth. Instead in game terms it would be a realizable outcome of small teeth not being set to 1 by default and instead being set to 0 because its technically a exploit to get them via tooth sprays.

The presented bug is that even if the workshop formula was changed to allow small creatures by Toady themselves, you would still not be able to gather the small creatures because they have abnormal values and can't be tasked to a workshop.

Hence badger teeth crafts are still impossible to create, like on the original report i created a modified stack of badger teeth that was used successfully for crafting but still recieved no item back because the workshop does not store its material like a smelter locally for accumulative products and the game system clumsily uses all of the teeth for the same reaction.

One thousand or more badger teeth in a stack still does not suffice, and the stack vanishes after the worker has processed the workshop request. Meaning some objects like what you could need with mandates are impossible to obtain.

So badger teeth are technically ready to use and not illicit, like your manager from your test feedback says, but have the wrong values to deny crafting and are the wrong material -> item ratio when they have their content modified to be used.

Creatures that are too small to use (partially verfied by yourself & dwarfu) seems to be a wider gameplay problem/hinderance but not a bug with other animals that are relevant for being small.
2017-06-27 15:12   
I modded badgers to have one giant tooth (RELSIZE 1000) and confirmed that both butcher-recovered and combat-lost badger teeth were correctly usable. Your badger-tooth issues arise from using DFHack to modify game structures, which is not a vanilla bug.
2017-07-03 13:12   
Relevant to your confirmation that changing the size index of the teeth by a 1000, a string dump from version 0.40.24 describes the following bone crafting reaction from the base game as -


So as to the existing behavior provided assuming nothing has changed and that teeth fall within the same index as bone material, there is a problem in which unusable teeth like badgers do not fufill the pre-requisite of 1 bone material required to craft based on relative size. Supporting that they are too small by unintentional game design after being loosed by tooth explosion effects.

And subsequently teeth that are large and have conglomerated into a tooth stack as seen on your issue 0010260 ( http://www.bay12games.com/dwarves/mantisbt/view.php?id=10260 [^] ) only return 1 object each, rather than using the material's contents and relative size to make multiple objects out of one oversized tooth on a individual item basis.

If you think there is enough evidence, i would like you to attach a relationship to issue 0010260 please.

String dump is available at the DF wiki at the link ( http://dwarffortresswiki.org/index.php/DF2014:String_dump [^] ) and copy-pasting the RAW into notepad, then using the 'find' function on notepad to locate a relevant piece of code will take you to the aforementioned reactions

It also has instructions how to create your own string dump if a investigation into the relevant version is required.

On a final note, you mention in issue 0010260 summary that changing the dragon teeth to [RELSIZE:1] results in the normal amount of teeth (30), which would be usable by the crafting reaction and actually produce more products than the larger stack dragon teeth.
2018-06-02 11:06   
Lost-in-combat teeth are known to be unusable; testing has confirmed this stems from the teeth being too small (large lost teeth *are* usable). The limitation on tooth-size necessary for crafting is presumably intentional, as is the loss of teeth in combat.