Hi guys,
I'm trying to figure out the exact "flow" for how creatures are constructed. I've looked over the wiki at length, but it only really explains what each individual file does, but not specifically how they interact and the like.
For your reference:
Wiki | File |
| body_default.txt |
| b_detail_plan_default.txt |
| material_template_default.txt |
| tissue_template_default.txt |
For example, someone described it to me as the Body being "what it has", the Tissues being "what it does", the Body Detail Plan being "where it is" (and also linking the material to it?) and the Materials being "how it reacts" (to environment, damage, etc). Is this accurate? If so, the fact that bodypart connections are defined in the body tokens and not the body detail tokens is unintuitive. Or would it be more fair to say that body defines something, while body details goes into further detail (hence the name)?
Secondly, I find it somewhat confusing the way the BDP works. It seems weird to me that the material and tissues are used here and not by some superclass or the like; it includes a method to define several ADD_MATERIAL and ADD_TISSUE calls together, further down the file when applying them I notice that in the
[BODY_DETAIL_PLAN:VERTEBRATE_TISSUE_LAYERS] entry, for example, it lists pretty much every possible body part; I assume it only applies to the parts that are actually on the creature (so the stinger is ignored on Dwarves) ... I'm
assuming that the point of the ADD_MATERIAL and ADD_TISSUE entries don't actually do anything directly, but rather add the material/tissue token to a pool of sorts, which is then referenced when generating the creature in question. Does anyone know the specifics of that?
Something else I've noticed - there's a bit of overlap between the body and tissue definitions. Why?
In particular, something like a [HEART]:
[BODY:HEART]
[BP:HEART:heart:STP][CONTYPE:UPPERBODY][CIRCULATION][INTERNAL][SMALL][CATEGORY:HEART]
[DEFAULT_RELSIZE:100]
Here you can see it's an internal bodypart which is in the upper body. Great.
But it's also got the [CIRCULATION] tag, which means it keeps the blood flowing.
[TISSUE_TEMPLATE:HEART_TEMPLATE]
[TISSUE_NAME:heart tissue:NP]
[FUNCTIONAL]
[STRUCTURAL]
[SCARS]
[TISSUE_MATERIAL:LOCAL_CREATURE_MAT:HEART]
[RELATIVE_THICKNESS:1]
[HEALING_RATE:100]
[VASCULAR:10]
[PAIN_RECEPTORS:5]
[CONNECTS]
[TISSUE_SHAPE:LAYER]
And here in the tissue template, it's a connective tissue which is [FUNCTIONAL]. Wouldn't this be redundant, or at the very least, make more sense to put the [CIRCULATION] tag in the tissue template (because it manages the "how")? I realize of course that tags belong in different areas because of how DF looks them up, but in terms of how the files are set up, it just seems a little counterintuitive.
Oh yes, and one last thing. How long-lived are tokens and user-defined categories? For example, I see a lot of LUAs (left upper arm) skimming over the file, and there is presumably no naming conflict for those. So I think it would be unique within the body part being defined. Same thing for categories, maybe? [CATEGORY:HEART] is common to all hearts, [CATEGORY:ARM] is common to all arms, etc. I
assume these ones are more global in scope and seen by other files (maybe god forbid there was an item that was equipped to the heart, for example, as Dorfy as that would be).
Anyways, sorry for the long-winded post, I'm just trying to get a good grasp on the system here.