Body Destructibility xml files can be found in this folder: GameSDK/Libs/BodyDamage/
Any number of files can be created, usually one per actor type is enough. The naming convention is the following: BodyDestructibility_NameOfCharacter.xml
For example:
These files will be usually edited by tech artist together with game designers.
They define a mapping of character bones and attachments to destructible 'body parts', destruction events, actor health thresholds and special death events.
Let's explain it with an example. The following is a collapsed version of the body parts setup for the alien grunt.
<BodyDestructibility>
  <DestructibleParts>
    <!-- Attachments -->
    <Attachment name="armor_chest_l" >
      <Health ratio="0.05" ratioToDestroyOnDeath="0.01" eventOnDestruction="armor_chest_l_explode" eventOnActorDeath="armor_chest_l_explode" />
      <HitTypes>
        <HitType name="gaussbullet" damageMultiplier="1.0" eventOnDestruction="armor_chest_l_explode" eventOnActorDeath="jelly_explode" />
        <HitType name="mike_burn" damageMultiplier="0" />
        <HitType name="frag" damageMultiplier="0.5" />
      </HitTypes>
    </Attachment>
    ...
 
    <!-- Bones -->
    <Bone name="Head" >
      <Health ratio="1" ratioToDestroyOnDeath="0" eventOnDestruction="head_explode" eventOnActorDeath="head_explode" />
      <HitTypes>
        <HitType name="mike_burn" damageMultiplier="0.0" />
      </HitTypes>
    </Bone>
    ...
  </DestructibleParts>
 
  <Events>
    <Event name="head_explode" >
      <AttachmentsToHide>
        <Attachment name="armor_head" />
        <Attachment name="jelly_alive" />
        <Attachment name="armor_head_tentacles" />
        <Attachment name="eye_left" />
        <Attachment name="eye_right" />
      </AttachmentsToHide>
      <AttachmentToUnhide>
        <Attachment name="jelly_destroyed_head" />
      </AttachmentToUnhide>
      <Effect name="Crysis2_alien_effects.grunt.jelly_head_explode" />
      <DisableEvents>
        <Event name="head_damaged" />
        <Event name="jelly_explode" />
      </DisableEvents>
    </Event>
    ...
  </Events>
  <HealthRatioEvents>
    <HealthRatio ratio="0" bone="" event=""  material="Objects/characters/alien/grunt/grunt_dead" />
  </HealthRatioEvents>
  <ExplosionDeaths>
    <GibEvent minExplosionDamage="200" probability="0.5" event="aliengrunt_gib" bone="jellyBone" /> <!-- Trigger event, and hide actor -->
    <NonGibEvent event="jelly_boiling_explode" bone="jellyBone" material="Objects/characters/alien/grunt/grunt_dead" />
  </ExplosionDeaths>
  <MikeDeath>
    <Destruction event="jelly_boiling_explode" bone="jellyBone" />
    <Attachment name="jelly_destroyed_mike_attach" object="Objects/characters/alien/grunt/jelly_destroyed_mike.cdf" animation="jelly_destroyed_mike" alphaTestFadeOutDelay="0.85" alphaTestFadeOutTimeOut="0.25" />
  </MikeDeath>
</BodyDestructibility>Contains a list of Bones and Bone Attachments that can be destroyed. Each part has a certain amount of health points - when they are depleted a Destruction Event is triggered.
The following parameters are available:
Contains a list of Destruction Events that can be triggered by destroyed body parts or actor health thresholds being crossed.
Each event has a enabled/disabled state and can only be triggered if enabled. Once triggered an event will be disabled.
The following parameters are available:
Contains a list of Destruction Events which will happen as the health of the character reaches certain levels.
The following parameters are available:
When a character dies by an explosion, two different events can be triggered.
The mike death block is a special destruction event for Crysis2. This events triggers a destruction event at a bone location, and additionally it spawns and attaches an extra animated chr to the base character.
Additionally some alpha blend operations are done in the attached chr material.