In caste_body_info there is a vector attacks which is padding. I was interested in using this creature body part attack data for a script, so I looked at the memory to determine the structure:
The structure, which could probably be called caste_attack, has a size of 0x148 (328) bytes. There is one structure in the vector for each body part attack option that you can choose from when aiming an attack (i.e. punch left, punch right, kick left, kick right, scratch left, scratch right, bite for most humanoids).
-Offset 0x0, size 0x1c is a string for the word X in "[ATTACK:X:BODYPART:BY_TYPE:Y]"
-Offset 0x1c, size 0x1c is a string for the 3rd person verb i.e. "punches"
-Offset 0x38, size 0x1c is a string for the 2nd person verb i.e. "punch"
-Offset 0x54, size 0x4 is flags. In ascending order (1,2,4,8) known flags are "with", "latch", "main", "edge". Secondary attacks don't get a flag, but just the absence of the "main" flag.
-Unknown stuff follows, which may be related to poison injection attacks (needs more research)
-Offset 0xe8, size 0x4 is the contact% of the body part attack, defaulting to 0x64 (100)
-Offset 0xec, size 0x4 is the penetration% of the body part attack, defaulting to 0x64 (100)
-Offset 0xf0, size 0x10 appears to be a [EDIT] vector of body part id numbers.
-[EDIT2] Offset 0x100, size 0x10 appears to be another vector of unknowns.
-Offset 0x110, size 0x4 is the skill number of the skill used for the attack (typically 0x66, 0x67, or 0x68)
-Offset 0x114, size 0x4 is the speed of the attack, defaulting to 0x3e8 (1000)
-Unknown stuff follows to the end of the structure.
[EDIT3]
It seems highly likely based on further probing and looking at how code uses the data, that the remaining unknown space is used for several size 0x10 vectors. The offsets are: 0x58, 0x68, 0x78, 0x88, 0x98, 0xa8, 0xb8, 0xc8, 0xd8, and also 0x118, 0x128, 0x138.