I recently started modifying my game, and have a couple questions about some of the creatures I am making:
1. One of the creatures I am making is a 'carnivorous tree' kind of thing. I want it to be immobile, but still capable of attacking and eating dwarves. Is there any tag or body type that stops it from wandering around?
2. Another creature I am trying to make is a shadowman. If i give them only one tissue layer (made of a custom 'shadowflesh') will they act as normal, or do they need an underlying skeleton?
3. If I make a race whose bodies are made out of wood,with different types serving as different tissues (i.e. a flexible wood for the tendons/ligaments, a harder type for bones, etc.) will they leave a usable wood item if they are butchered without making their corpse explicitly be an item? If so, is there any way to keep my dwarves from eating *twigman wood roasts*?
The shadow race should work fine. I did a similar thing for a creature once that worked.
--
The last one is a little bit more difficult. This might require some significant trial and error, and probably requires a fair bit of modding experience with creatures, reactions, and material tokens. It's possible to define these tissues, give them the proper names, and prevent butchering. If you wanted them to actually yield usable wood without using an itemcorpse token, that's a bit more difficult... This is a challenge that I have never personally tackled, but I'll give it a go.
Technically, it SHOULD be possible. What you would need to do is set up a new reaction that takes a corpse of this specific creature and produces wood, although you would have to assign it to a building that wasn't hard coded (a custom one would be a good solution). The problematic part is the actual lines of the reaction code...
[REACTION:BUTCHER_FOR_WOOD]
[NAME:salvage wood from (creature name)]
[BUILDING:(building ID):CUSTOM_W]
[REAGENT]
[PRODUCT:100:(number of logs):WOOD:NONE:PLANT_MAT:(tree ID):(material ID)]
[SKILL:BUTCHER]
The problem is going to come from the bold line, which is obviously missing a fair number of parameters. The issue here is that I don't fully understand how DF handles corpses as objects - as in, specifically, what material is a "corpse" of a creature made from if the creature consists of multiple materials? Bearing that in mind, the first thing I would try is this:
[REAGENT:A:1:CORPSE:NONE:CREATURE_MAT:(creature ID):NONE]
What this *should* do is designate any corpse of a material belonging to that creature as eligible to be used for the reaction. What it will *actually* do is take any object, corpse or otherwise, of a material belonging to that creature as a reagent (because the CORPSE tag is currently broken and the game treats it exactly the same as NONE). My guess is that this will result in one of two things...
1) The reaction not recognizing anything as a possible reagent (possible if DF does not handle materials of body parts in the way it handles others). If this is the case, I'm afraid I'm outside of my field of experience.
2) The reaction using any body part of the creature in question, rather than just the corpse. This will likely mean that severing a limb before killing the creature will yield twice as much wood (two reactions worth of reagents), even though this doesn't make any sense. Nevertheless, it is similar to the intended result.
--
Unfortunately, that's the closest approximation I can come up with right now. Hopefully at least something in this post helps you out.