Wow, wow... You ask fantastic things which can't be done, the body system is very simple for now.
There's no external tag. Every bodypart is considered external unless it has "internal" tag and what internal does is only makes the bodypart to be the part of the bodypart it connects to.
So, if you set internal on heart it will be internal for upperbody (because it connects to it) and thus it won't be chopped off by axeman and also when someone damages upperbody the heart have a chance to be damaged too because it's an internal part of upperbody.
If you know the theory of multitudes: if the part is
internal the part it is connected to
includes it.
And as I understood you don't know how to make body right.
OK, let's start from basics.
1) You have a creature you want to make a body for.
2) You look in the creature file (creature_***.txt) which includes the creature info.
3) You look at the [BODY: ***] token. Under *** are body templates of the creature which are separated by ":" symbols. The templates are descripted in the body file (body_default.txt for basic bodies, you can add your body templates there).
4) Let's edit the [BODY:***]
Case 1:
You want your creature to consist of already pre-defined body templates.
Body templates are connected to other body templates/bodyparts in body templates, generally by type ([UPPERBODY], [LOWERBODY], [HEAD] etc).
Some bodyparts are not connected to anything and they serve as "core" of your creature, usually it's an upperbody.
The general rule: if the bodypart/template was connected to something, its carrier should be defined before it for game to know where to connect this bodypart.
Let's make a human from basic components.
So, your first intention should be to find a "core" body template.
There're some basic ones: BASIC_1PARTBODY and BASIC_2PARTBODY. They differ only by contents: 1st consists of 1 bodypart (upper and lowerbody at the same time, i.e. for small creatures or creatures which doesn't have waist), 2nd one consists of "torso+abdomen" 2 bodyparts which are linked together. These bodies have [UPPERBODY] and [LOWERBODY] included thus we try to make it first because other bodyparts are connected to UPPERBODY/LOWERBODY and their branch parts.
***At this point we have [BODY:BASIC_2PARTBODY] in ur creature file.
Then we want our creature to have limbs.
We have BASIC_3PARTARMS and BASIC_3PARTLEGS. The both templates have main bodyparts connected to UPPERBODY and LOWERBODY respectfully. Thus we can join them to our BASIC_2PARTBODY which has these tokens.
***Now we have [BODY:BASIC_2PARTBODY:BASIC_3PARTARMS:BASIC_3PARTLEGS]
The order of limb templates is not important since they don't linked together in anyway, the only rule is to list them after main body which they are joined to.
Then we want to add head (BASIC_HEAD template), which is connected to UPPERBODY too.
*** [BODY:BASIC_2PARTBODY:BASIC_3PARTARMS:BASIC_3PARTLEGS:BASIC_HEAD]
Now we have body-arms-legs-head human frame without any "contents".
You can stay with this if you want a golem (but make sure it has [NOTHOUGHT] in creature info since it doesn't have a brain and [NOBREATHE] because it has no lungs).
If you want to make fully functional humanoid (like human/elf/dwarf) you will add internal and external organs.
Standard internal organs are BRAIN (well, brain...), GUTS (they are slashed out when someone critical hits you in the lowerbody), 2LUNGS (breathing organs), HEART (heart circulation controller), ORGANS (standard abdomen organs like stomach).
Standard external organs are 2EYES, 2EARS, NOSE, MOUTH.
There're more details like NECK, HUMANOID_JOINTS (joints which can be broken by wrestling), THROAT (can be strangled for creature to suffocate), SPINE and fingers (5FINGERS, 5TOES).
If you add them all you get standard human body.
[BODY:HUMANOID:2EYES:2EARS:NOSE:2LUNGS:HEART:GUTS:ORGANS:HUMANOID_JOINTS:THROAT:NECK:SPINE:BRAIN:5FINGERS:5TOES:MOUTH]
Case 2:
You want to go with your custom bodyparts.
You start with adding your custom body template.
Open the body_default.txt and write a new line:
[BODY:MYBODYPART] <- MYBODYPART = your ID for body template, not displayed in-game
[BP:BP1:bodypart1] <- This section lists all bodyparts in this template
[BP:BP2:bodypart2] <- BP1, BP2 and further are bodypart IDs, also call them
[BP:BP3:bodypart3] <- as you want, they're not displayed.
[BP:BP4:bodypart4] <- bodypart1 etc. are names for your bodyparts which are
[BP:BP5:bodypart5] <- displayed in game (like "right upper arm").
The general "grammar" is next:
[BODY:CUSTOMBODY]
[BP:BP1:body part which connects to upperbody][CONTYPE:UPPERBODY]
[BP:BP2:body part which connects to BP1][CON:BP1]
[BP:BP3:bodypart which is internal part of BP2][CON:BP2][INTERNAL]
[BP:BP4:bodypart which is internal part of upperbody][CONTYPE:UPPERBODY][INTERNAL]
Note that you use [CONTYPE: ] when you connect the BP to bodypart with specific token (like UPPERBODY, LOWERBODY, HEAD etc.) so if you have multiple bodyparts with these tokens your new one will multiply and connect to every specified type,
And you use [CON: ] when you connect BP npt to the bodypart with token but with specific name, like [CON:RUA] (RUA usually stands for right upper arm).
Thus you can have multiple bodytypes with the same token (like HEAD for ettin) but every bodypart has specific UNIQUE name (like [BP:RLA:right lower arm], id RLA should be used once in the whole body), so if you have CONTYPE this bodypart may multiply and join for every specific bodypart but if you use CON the bodypart will join to only one bodypart which has specified unique id.
Also try to remember all the time you work on your body that the rule is still here: IF YOU HAVE ANYTHING JOINED TO SOMETHING, THE SOMETHING SHOULD BE DEFINED BEFORE THE ANYTHING.
You can read bodypart tokens and their meaning if you click the link to the wiki I gave you before.
Sorry if my answer is too shor or I didn't touch details but it's all I can tell for now. Ask more specific questions. But the first suggestion: try to maka a simple body, like bird, and see if it works. The best way to learn is to practice and you can't learn by just asking.
Good luck with your bird .
[ June 01, 2008: Message edited by: Deon ]