Attachment:
Items seem to either have an <AttachmentType> which is always set to "skinned" or an <Attachment> tag with an Attachment point.
How do these work? Is there either an <AttachmentType> XOR <Attachment> or can they both be in an Model? and are they each unique?
looking at all the art defs in ArtGameItem.xml and CoreClothes.xml this seems to be the case, but i would like some confirmation before I Hard code that;
This is something that is "hardcoded" into the model. An item that is SKINNED means that it has been bound to a skeleton (K_Male_Skeleton_01.hkb) for animation. This means the modelfile can't be used on any other skeleton.This is the first reason why creating "monster" champions is very difficult.
AttachmentType and Attachment are effectively either or, because the model only supports one type (it is either skinned to the skeleton for animation, or it can be applied to a fixed point).
Color :
there are several color tags so far i have identified
Color_Clothing1
Color_Clothing2
Color_Metal
Color_All
with values either being R,G,B ; Color_Metal;Color_Clothing1 ; Color_Clothing2 which i guess correspond to the colors of the chosen faction
are these all? or did i miss any color tags?
Texture:
they seem to be coming in tags of the format
<Texture_Color> i.e. <Texture_Clothing1> will texture the fields that are colored by Color_Clothing1 same questions as with colors here, is that the general form? and do all Colors have a corresponding Texture tag?
These are materials that, again, are hardcoded into each model. Note that the game does not tell you what all the materials are that are used by the model.
You cannot alter which material is used without altering the model. Also, if the color for a particular material is not given in the <GameItemTypeModel> it will be inherited from the UnitType that is wearing it. If the UnitType does not have those colours it will be inherited from the Faction being played. I don't know how color_all interacts with this inheritance system.
Similar to colour, the texture_ allocations are hardcoded into the models. You can change what texture is used, but you can't change the type of the material (like colors). Some of the very old files do not have any textures assigned to them. In that case, the texture is hardcoded into the model but you CAN change it using <Texture_All>. There is no reference for what texture belongs to what model for these hardcoded textures (you can open the file in notepad and search for .png or .dds files).
Basically, to sum up, I would recommend sticking to the tags used for each gameitemtypemodel.