INI file format: Creature Animations

Applies to:
PST, BGEE

General Description

Detailed Description
Each INI file contains the definition for a single creature animation. INI filenames are made up from the hexadecimal representation of the creature animation slot value and the .INI file extension. Example: Animation of 0x6004 CLERIC_MALE_GNOME is defined in 6004.INI. Even with animation definitions provided by the INI files there are many aspects still hardcoded by the engine. This feature is available since BGEE patch version 2.0 (and version 1.4 for IWDEE). Before that creature animations could be defined in a limited manner by the files EXTANIM.2DA and EXTSPEED.2DA.

Animation slots are limited to the numeric 16-bit range (0x0000 - 0xffff) and are further divided into subranges for different animation types. These subranges are hardcoded by the engine, most likely to retain backwards compatibility with the original games.
More general information about the various creature animation types can be found here: Avatar Naming Schemes

Note: The INI file format was originally invented for defining PST creature animation properties. More details can be found in the section Type F000 (monster_planescape).


Animation definitions are generally divided into three sections: [general], [type_specific_name] and [sounds].

The [type_specific_name] section contains attributes which are tied to the specific animation type. They are described in detail for each individual type further below.
The following action sequence codes are used throughout the majority of animation types:
- A1SEQ_SLASH
- A2SEQ_BACKSLASH
- A3SEQ_JAB / SEQ_SHOOT
- S1SEQ_SHOOT
- CASEQ_CAST
- DESEQ_DIE
- GHSEQ_DAMAGE
- GUSEQ_AWAKE
- SCSEQ_READY / SEQ_HEAD_TURN
- SDSEQ_HEAD_TURN
- SLSEQ_SLEEP
- SPSEQ_CONJURE
- TWSEQ_TWITCH
- WKSEQ_WALK
- EMERGESEQ_EMERGE (type 3000 only)
- HIDESEQ_HIDE (type 3000 only)

The [general] section contains attributes which are common to all available animation types. However, not all available attributes are considered by all animation types because of animation type restrictions or implementation-specific reasons. The following attributes are available:

  • animation_type = 4-digits_hex_value
    This attribute expects the creature type of the animation slot as a hexadecimal number. The INI file requires a section of the specified creature type.
  • move_scale = int_or_decimal
    This attribute expects the default walking speed for the creature animation. The value can be specified as integer or decimal value. The default movement speed for humanoid creatures is 9.
  • ellipse = int
    This attribute expects the selection circle radius. The default radius for humanoid creatures is 16.
  • color_blood = int
    This attribute expects the color gradient index for blood splatter.
  • color_chunks = int
    This attribute accepts color gradient values 0-255, but contrary to the key name, it does not change the blood color of the chunked death animation. Instead, it currently works like a switch to enable or disable the chunking animation on death. Any value 0-254 enables the chunked death, and 255 disables it.
  • sound_freq = int
    This attribute specifies the frequency of playing walking sounds to match them with walking animations. It is measured in ticks (1 tick = 1/15 second). For example, "sound_freq=150" plays walking sounds every 10 seconds, and "sound_freq=8" plays walking sounds every 0.5 second.
  • sound_death = resref
    It is likely that this attribute specifies the sound file played back when dying.
  • personal_space = int
    This attribute expects the diameter of the personal space the creature takes up on the world map. It is measured in search map units. The default diameter for humanoid creatures is 3.
  • cast_frame = int
    It is likely that this attribute specifies the sound delay (in animation frames) for casting animations.
  • height_offset = int
    This attribute expects a numeric value that is used to calculate the bounding box for effects, health bar and other visual markers.
  • brightest = boolean
    This attribute defines a blending mode when the sprite is rendered onto the screen. If set without the "multiply_blend" attribute then GL_ONE_MINUS_DST_COLOR blending is performed. If both "brightest" and "multiply_blend" are set then GL_SRC_COLOR blending is performed.
  • multiply_blend = boolean
    This attribute defines a blending mode when the sprite is rendered onto the screen. If set without the "brightest" attribute then GL_DST_COLOR blending is performed. If both "brightest" and "multiply_blend" are set then GL_SRC_COLOR blending is performed.
  • light_source = boolean
    When this attribute is set then environmental lighting such as day/night, weather or shadows do not affect the creature animation.
  • new_palette = resref
    This attribute applies a replacement palette from the specified BMP resource to the creature animation.
  • sound_ref = resref
    The meaning of this attribute is unknown.
  • combat_round_0 = resref
    combat_round_1 = resref
    combat_round_2 = resref
    combat_round_3 = resref
    combat_round_4 = resref

    It is likely that these attributes define BMP resources that are repurposed for controlling how attack animation sequences are triggered within a combat round.
  • walk_sound = resref
    This attribute applies the specified sound resource for the default walking sound of the creature.

The [sounds] section contains creature-specific sound effects and their associated timing. Generally each sound slot is accompanied by a *_frame attribute which specifies the starting frame when the sound should be triggered (e.g. attack is associated with attack_frame). It is possible to assign a comma-separated list of sound files to a single sound slot. The sounds are randomly chosen by the engine. The same number of entries should also be defined by the associated *_frame attribute.

The following sound slots are available: attack, awake, cast, conjure, damage, die, head_turn, ready, shoot, twitch, walk, attack_slash, attack_backslash, attack_jab, emerge, hide, sleep, battle_cry, selection and fall.


This animation type is primarily used for internal visual effects, such as specific spell effects or body parts of exploding creatures.

Animation scheme: [resref].BAM, where [resref] indicates the value assigned to the "resref" attribute. The internal structure of the BAM resource depends heavily on the specified attributes.

The following attributes are supported:
  • resref = string
    This attribute defines the prefix which is used to determine the BAM resources associated with the creature animation. For this animation type the prefix is identical to the BAM resref.
  • shadow = resref
    This attribute specifies a separate shadow BAM resref.
  • palletized = boolean
    This attribute appears to be unimplemented.
  • translucent = boolean
    This attribute indicates whether the animation is translucent.
  • random_render = boolean
    This attributes indicates whether a random BAM animation cycle is chosen at spawn.
  • delta_z = int
    This attribute determines how fast certain hardcoded effects move along the (fake) z-axis.
  • alt_palette = resref
    It is likely that this attribute specifies a replacement palette for the creature animation.
  • height_code_shield = string
    This attribute appears to be unimplemented.
  • height_code_helmet = string
    This attribute appears to be unimplemented.
  • height_code = string
    This attribute appears to be unimplemented.
  • resref_paperdoll = string
    This attribute appears to be unimplemented.
  • resref_armor_base = string
    This attribute appears to be unimplemented.
  • resref_armor_specific = string
    This attribute appears to be unimplemented.

This is one of three available animation types tied to the 0x1000 range of animation slots. The type uses a simplified split-part animation scheme to draw big creatures. Supported animation slot range: 0x1000 - 0x11ff

Animation scheme: [resref][seq].BAM, with
seq:
- G1[quadrant]: WK=0-9
- G1[quadrant]E: WK=10-15
- G2[quadrant]: SD=0-9, SC=16-25, GH=32-41, DE=48-57, TW=64-73
- G2[quadrant]E: SD=10-15, SC=26-31, GH=42-47, DE=58-63, TW=74-79
- G3[quadrant]: A1=0-9, A2=16-25, A3=32-41
- G3[quadrant]E: A1=10-15, A2=26-31, A3=42-47

quadrant:
- index in range 1 - quadrants, one digit
- ordered left → right, top → bottom

Available orientations (sequence → direction):
- 0 → S, 1 → S, 2 → SW, 3 → SW, 4 → W, 5 → W, 6 → NW, 7 → NW, 8 → N, 9 → N
- 10 → NE, 11 → NE, 12 → E, 13 → E, 14 → SE, 15 → SE

The following attributes are supported:
  • resref = string
    This attribute defines the prefix which is used to determine the BAM resources associated with the creature animation.
  • caster = boolean
    This attribute indicates whether sequence A3 is used as sequence CA.
  • extend_direction = boolean
    This attributes indicates whether eastern directions are calculated. 0: eastern directions are calculated by the engine, 1: eastern directions are available as *E.BAM resources.
  • extend_direction_test = int
    This attribute specifies the number of western directions available if eastern directions are to be calculated by the engine.
  • false_color = boolean
    This attribute indicates whether false color replacement is applied.
  • path_smooth = boolean
    This attribute indicates how pathfinding should be calculated. 0: pathfinding ensures that only major creature directions (S,SW,W,NW,N,...) are used. 1: pathfinding allows arbitrary angles.
  • quadrants = int
    This attribute defines the number of quadrants animation frames have been split into.

This is one of three available animation types tied to the 0x1000 range of animation slots. The type uses an advanced split-part animation scheme to draw huge creatures such as dragons. Supported animation slot ranges: 0x1200 - 0x12ff, 0x1400 - 0x1fff

Important: Due to a buggy implementation in the game engine this animation type allows new definitions only in split_bams=0 mode. Predefined animations slots are unaffected as they are directly hardcoded in the engine.

Animation scheme: [resref][seq].BAM, with
seq:
If split_bams=0:
- G1[quadrant]: WK=0-8 (S,SSW,SW,WSW,W,WNW,NW,NNW,N)
- G2[quadrant]: SD/SC/SP=0-8, SD=9-17 (unused), SC=18-26 (unused)
- G3[quadrant]: A1=0-8, A2=9-17 (unused), A3=18-26 (unused)
- G4[quadrant]: GH=0-8, DE/SL/GU*=9-17, TW=18-26, SL=27-35 (unused), DE=36-44 (unused)
- G5[quadrant]: SP=0-8 (unused), CA=9-17
- *: GU (get up) sequence: frames are played back in reversed order

Available orientations (sequence → direction):
- 0 → S, 1 → SSW, 2 → SW, 3 → WSW, 4 → W, 5 → WNW, 6 → NW, 7 → NNW, 8 → N
- eastern directions are calculated by the engine

If split_bams=1:
- 1[quadrant]0[dir]: WK=[dir]
- 2[quadrant]0[dir]: SD/SC/SP=[dir], SD=9+[dir] (unused), SC=18+[dir] (unused)
- 3[quadrant]0[dir]: A1=[dir], A2=9+[dir] (unused), A3=18+[dir] (unused)
- 4[quadrant]0[dir]: GH=[dir], DE=9+[dir] (unused), TW=18+[dir] (unused), SL=27+[dir] (unused), DE=36+[dir] (unused)
- 4[quadrant]1[dir]: GH=[dir] (unused), DE/SL/GU*=9+[dir], TW=18+[dir] (unused), SL=27+[dir] (unused), DE=36+[dir] (unused)
- 4[quadrant]2[dir]: GH=[dir] (unused), DE=9+[dir] (unused), TW=18+[dir], SL=27+[dir] (unused), DE=36+[dir] (unused)
- 5[quadrant]0[dir]: SP=[dir], CA=9+[dir]
- *: GU (get up) sequence: frames are played back in reversed order

quadrant:
- index in range 1 - quadrants, one digit
- ordered left → right, top → bottom

dir:
- a single-digit number indicating a direction (0=S, 1=SSW, 2=SW, 3=WSW, 4=W, 5=WNW, 6=NW, 7=NNW, 8=N)
- eastern directions are calculated by the engine

The following attributes are supported:
  • resref = string
    This attribute defines the prefix which is used to determine the BAM resources associated with the creature animation.
  • double_blit = boolean
    This attribute appears to be unused in BGEE.
  • quadrants = int
    This attribute defines the number of quadrants animation frames have been split into.
  • split_bams = boolean
    This attributes indicates which animation scheme to use (see details above). 0: animations are packed in G1 and G2 files, 1: animations are spread over various subfiles.
  • palette1 = resref
    palette2 = resref
    palette3 = resref
    palette4 = resref
    palette5 = resref

    These attributes are supposed to specify replacement palettes for the individual main animation groups (e.g. palette1 → G1* or 1* animations). However, due to a buggy implementation they are basically defunct. Falls back to the general section attribute "new_palette" + number of animation group (e.g. the Green Dragon palette resref "MDR1_GR" implies that palette resrefs MDR1_GR1, MDR1_GR2, MDR1_GR3, MDR1_GR4 and MDR1_GR5 are used).

This is one of three available animation types tied to the 0x1000 range of animation slots. The type was introduced by BG2:ToB and uses a simplified split-part animation scheme to draw big creatures such as Demogorgon. Supported animation slot range: 0x1300 - 0x13ff

Note: This animation type is currently incorrectly assigned to a number of original animation slots in the 0x1200 range. However, these definitions are ignored because they are overridden by hardcoded definitions in the game engine.

Animation scheme: [resref][seq].BAM, with
seq:
If split_bams=0:
- G1[quadrant]: WK=0-8, SC=9-17, SD=18-26, GH=27-35, DE=36-44, TW=45-53
- G2[quadrant]: A1=0-8, A2=9-17, A3=18-26, A4=27-35 (ranged), A5=36-44 (unused?), SP=45-53, CA=54-62

If split_bams=1:
- G1[quadrant]: SC=9-17, SD=18-26, GH=27-35, DE=36-44, TW=45-53
- G1[quadrant]1: WK=0-8
- G1[quadrant]2: SD=18-26
- G1[quadrant]3: GH=27-35
- G1[quadrant]4: GH=27-35, DE=36-44
- G1[quadrant]5: TW=45-53
- G2[quadrant]: A1=0-8
- G2[quadrant]1: A2=9-17
- G2[quadrant]2: A3=18-26
- G2[quadrant]3: A4=27-35 (ranged)
- G2[quadrant]4: A5=36-44 (unused?), SP=45-53, CA=54-62
- G2[quadrant]5: SP=45-53
- G2[quadrant]6: CA=54-62

quadrant:
- index in range 1 - quadrants, one digit
- ordered left → right, top → bottom

Available orientations (sequence → direction):
- 0 → S, 1 → SSW, 2 → SW, 3 → WSW, 4 → W, 5 → WNW, 6 → NW, 7 → NNW, 8 → N
- eastern directions are calculated by the engine

The following attributes are supported:
  • resref = string
    This attribute defines the prefix which is used to determine the BAM resources associated with the creature animation.
  • can_lie_down = boolean
    This attribute specifies internal engine behavior when a creature "gets up" after being created (e.g. summoned).
  • detected_by_infravision = boolean
    This attribute indicates whether a red tint is applied to the creature when it is spotted by infravision.
  • false_color = boolean
    This attribute indicates whether false color replacement is applied.
  • path_smooth = boolean
    This attribute indicates how pathfinding should be calculated. 0: pathfinding ensures that only major creature directions (S,SW,W,NW,N,...) are used. 1: pathfinding allows arbitrary angles.
  • quadrants = int
    This attribute defines the number of quadrants animation frames have been split into.
  • split_bams = boolean
    This attributes indicates which animation scheme to use (see details above). 0: animations are packed in G1 and G2 files, 1: animations are spread over various subfiles.
  • translucent = boolean
    This attribute indicates whether the animation is translucent.

This animation type is used for a small selection of BG1 animations with spellcasting abilities such as Volo, sirines and ogre mages. It supports false color replacements and weapon overlays, and provides a limited set of unmirrored orientations.

Note: Slots of this type are currently mislabled as [monster_layered] by predefined animation slots. However, these definitions are ignored because they are overridden by hardcoded definitions in the game engine.

Animation scheme: [resref][wovl]?[seq].BAM, with
seq:
- G1: WK=0-4, SC=8-12, SD=16-20, GH=24-28, DE=32-36, TW=40-44
- G1E: WK=5-7, SC=13-15, SD=21-23, GH=29-31, DE=37-39, TW=45-47
- G2: A1=0-4, A2/CA=8-12, A3/SP=16-20
- G2E: A1=5-7, A2/CA=13-15, A3/SP=21-23

Note: A1 and A2 are used with 1-h weapons, A3 is used with 2-h weapons.

wovl:
An optional part of the animation naming scheme that is derived from the first letter of the string assigned to the attributes "resref_weapon1" and "resref_weapon2".

Available orientations (sequence → direction):
- 0 → S, 1 → SW, 2 → W, 3 → NW, 4 → N
- 5 → NE, 6 → E, 7 → SE

The following attributes are supported:
  • resref = string
    This attribute defines the prefix which is used to determine the BAM resources associated with the creature animation.
  • dual_attack = boolean
    When set then SEQ_SHOOT transforms into SEQ_READY, A3 has a chance to use A1 instead.
  • false_color = boolean
    This attribute indicates whether false color replacement is applied.
  • invulnerable = boolean
    This attribute indicates whether the creature is unkillable by default (e.g. children).
  • resref_weapon1 = string
    This attribute expects the prefix of the weapon animation overlay for 1-h weapons. The first letter is used for the "wovl" part of the animation naming scheme.
  • resref_weapon2 = string
    This attribute expects the prefix of the weapon animation overlay for 2-h weapons. The first letter is used for the "wovl" part of the animation naming scheme.

This animation type is used for monsters that can bury beneath the ground such as ankhegs. For that reason this type supports the two additional animation sequences SEQ_EMERGE and SEQ_HIDE.

Animation scheme: [resref][D]?[seq].BAM, with
seq:
If mirror=1 (and extend_direction != 0):
- G1: DE=9-17, TW=18-26, SD=27-35
- G2: SC=0-8, EMERGE=9-17, HIDE=18-26
- G3: A1=0-8, CA=9-17

Available orientations (sequence → direction):
- 0 → S, 1 → SSW, 2 → SW, 3 → WSW, 4 → W, 5 → WNW, 6 → NW, 7 → NNW, 8 → W
- eastern directions are calculated by the engine

If mirror=0 (and extend_direction == 0):
- G1: DE=8-12, TW=16-20, SD=24-28
- G1E: DE=13-15, TW=21-23, SD=29-31
- G2: SC=0-4, EMERGE=8-12, HIDE=16-20
- G2E: SC=5-7, EMERGE=13-15, HIDE=21-23
- G3: A1=0-4, CA=8-12
- G3E: A1=5-7, CA=13-15

Available orientations (sequence → direction):
- 0 → S, 1 → SW, 2 → W, 3 → NW, 4 → N
- 5 → NE, 6 → E, 7 → SE

D:
- indicates the overlay animation that is drawn where the creature is connected with the ground
- rendered synchroneously with Gx sequences

The following attributes are supported:
  • resref = string
    This attribute defines the prefix which is used to determine the BAM resources associated with the creature animation.
  • detected_by_infravision = boolean
    This attribute indicates whether a red tint is applied to the creature when it is spotted by infravision.
  • false_color = boolean
    This attribute indicates whether false color replacement is applied.
  • mirror = boolean
    This attributes indicates whether eastern directions are calculated. 0: eastern directions are available as *E.BAM resources, 1: eastern directions are calculated by the engine.
  • extend_direction = int
    This attribute expects the number of available directions per animation sequence. The default value is 5.

This simple animation type is used for static (unmoving) creatures such as sitting or sleeping characters.

Animation scheme: [resref].BAM, with the following sequences:
- SC=0-15, SD=16-31, GH=32-47, DE=48-63, TW=64-79

Available orientations (sequence → direction):
- 0 → S, 1 → S, 2 → SW, 3 → SW, 4 → W, 5 → W, 6 → NW, 7 → NW, 8 → N, 9 → N
- 10 → NE, 11 → NE, 12 → E, 13 → E, 14 → SE, 15 → SE

The following attributes are supported:
  • resref = string
    This attribute defines the prefix which is used to determine the BAM resources associated with the creature animation.
  • can_lie_down = boolean
    This attribute specifies internal engine behavior when a creature "gets up" after being created (e.g. summoned).
  • false_color = boolean
    This attribute indicates whether false color replacement is applied.

This is one of two available animation types tied to the 0x5000/0x6000 ranges of animation slots. The type was introduced by BG2 and supports an advanced set of features to visualize different armor levels, various kinds of equipment overlays and false color replacements.
Supported slot ranges: 0x5000 - 0x53ff, 0x5500 - 0x55ff, 0x6000 - 0x63ff, and 0x6500 - 0x65ff. The 0x6000 range is generally reserved for party-joinable characters, but otherwise identical to the 0x5000 range.

Animation scheme: [resref][armor][action][detail].BAM, with

resref:
- naming scheme: [char][race][gender][class]

char: an arbitrary character

race:
- D=dwarf/gnome, H=human, E=elf/half-elf, I=halfling, O=half-orc

gender:
- F=female, M=male

class:
- B=common base*, C=cleric/druid/shaman, F=fighter/ranger/paladin, M=monk, T=thief/bard, W=mage/sorcerer
- *: shared character animation across multiple classes which will be overridden if class-specific animations are available

armor: number in range 1 - armor_max_code, where 1=none, 2=leather, 3=chain/robe and 4=plate

action: A=Attack, CA=Cast, G=Misc, S=Shoot, W=Walk

detail:
- for action=A: 1=1h-overhead, 2=2h-overhead, 3=1h-backslash, 4=2h-backslash, 5=1h-thrust, 6=2h-thrust, 7=2weapon-v1, 8=throwing?, 9=2weapon-v2
- for action=S: A=bow, S=sling, X=crossbow
- for action=CA: none

sequences:
If split_bams=0 (unverified, there are no instances in the game):
- G1: WK=0-8, SC1=9-17, SD1=18-26, SC2=27-35 (with 2-h weapon?), GH=36-44, DE=45-53, TW=54-62, SD2=63-71, SD3=72-80, SL1=81-89, SL2=90-98
- CA: CA1=0-8, SP1=9-17, CA2=18-26, SP2=27-35, CA3=36-44, SP3=45-53, CA4=54-62, SP4=63-71

If split_bams=1:
- G1: SC1=9-17 (1-h weapon)
- G11: WK=0-8
- G12: SD1=18-26
- G13: SC2=27-35 (2-h weapon)
- G14: GH=36-44
- G15: GH=36-44, DE=45-53
- G16: TW=54-62
- G17: SD2=63-71
- G18: SD3=72-80
- G19: SL1=81-89, SL2=90-98
- CA: CA1=0-8, SP1=9-17, CA2=18-26, SP2=27-35, CA3=36-44, SP3=45-53, CA4=54-62, SP4=63-71

Available orientations (sequence → direction):
- 0 → S, 1 → SSW, 2 → SW, 3 → WSW, 4 → W, 5 → WNW, 6 → NW, 7 → NNW, 8 → W
- eastern directions are calculated by the engine

The following attributes are supported:
  • resref = string
    This attribute defines the base prefix which is used to determine the BAM resources associated with the creature animation. It can be overridden by animations with class-specific suffix if available (see attributes "resref_armor_base" and "resref_armor_specific" below).
  • armor_max_code = int
    This attribute defines the maximum armor code available for the creature animation (see animation scheme above).
  • can_lie_down = boolean
    This attribute specifies internal engine behavior when a creature "gets up" after being created (e.g. summoned).
  • detected_by_infravision = boolean
    This attribute indicates whether a red tint is applied to the creature when it is spotted by infravision.
  • double_blit = boolean
    This attribute appears to be unimplemented.
  • equip_helmet = boolean
    This attribute indicates whether helmet animation overlays can be drawn.
  • split_bams = boolean
    This attributes indicates which animation scheme to use (see details above). 0: animations are packed in G1 and CA files (unverified), 1: animations are spread over various subfiles.
  • false_color = boolean
    This attribute indicates whether false color replacement is applied.
  • height_code = string
    The default height code prefix used to determine animation overlays.
  • height_code_helmet = string
    The height code prefix used to determine helmet animation overlays.
  • height_code_shield = string
    The height code prefix used to determine shield animation overlays.
  • resref_paperdoll = string
    The BAM resref prefix for inventory paperdoll graphics. Naming scheme: [resref_paperdoll][armor]INV.BAM.
  • resref_armor_base = char
    A single letter that replaces the last character of the "resref" attribute for shared character animations.
  • resref_armor_specific = char
    A single letter that replaces the last character of the "resref" attribute for class-specific character animations.

This is one of two available animation types tied to the 0x5000/0x6000 ranges of animation slots. The type was originally used by BG1 and supports a limited set of features to visualize different armor levels, various kinds of equipment overlays and false color replacements.
Supported slot ranges: 0x5400 - 0x54ff, 0x5600 - 0x5fff, 0x6400 - 0x64ff, and 0x6600 - 0x6fff. The 0x6000 range is generally reserved for party-joinable characters, but otherwise identical to the 0x5000 range.

Animation scheme: [resref][armor][sequence].BAM, with

armor: number in range 1 - armor_max_code, where 1=none, 2=leather, 3=chain/robe and 4=plate

sequence:
- A1: 0-4 (1-h overhead)
- A1E: 5-7 (1-h overhead)
- A2: 0-4 (2-h overhead)
- A2E: 5-7 (2-h overhead)
- A3: 0-4 (1-h backslash)
- A3E: 5-7 (1-h backslash)
- A4: 0-4 (2-h backslash)
- A4E: 5-7 (2-h backslash)
- A5: 0-4 (1-h thrust)
- A5E: 5-7 (1-h thrust)
- A6: 0-4 (2-h thrust)
- A6E: 5-7 (2-h thrust)
- SA: 0-4 (bow)
- SAE: 5-7 (bow)
- SX: 0-4 (crossbow)
- SXE: 5-7 (crossbow)
- CA: CA=0-4, SP1=8-12, CA2=16-20, SP2=24-28, CA3=32-36, SP3=40-44, CA4=48-52, SP4=56-60
- CAE: CA=5-7, SP1=13-15, CA2=21-23, SP2=29-31, CA3=37-39, SP3=45-47, CA4=53-55, SP4=61-63
- G1: WK=0-4, SC1=8-12 (1-h weapon), SD1=16-20, SC2=24-28 (2-h weapon), SD2=32-36, GH=40-44, DE=48-52, TW=56-60, SL=64-68 (still frame?)
- G1E: WK=5-7, SC1=13-15 (1-h weapon), SD1=21-23, SC2=29-31 (2-h weapon), SD2=37-39, GH=45-47, DE=53-55, TW=61-63, SL=69-71 (still frame?)
- W2: WK2=0-4 (supplementary directions: SSW, WSW, WNW, NNW, NNE), for walking animation sequence only
- W2E: WK2=5-7 (supplementary directions: ENE, ESE, SSE), for walking animation sequence only

Available orientations (sequence → direction):
- 0 → S, 1 → SW, 2 → W, 3 → NW, 4 → N
- 5 → NE, 6 → E, 7 → SE

The following attributes are supported:
  • resref = string
    This attribute defines the base prefix which is used to determine the BAM resources associated with the creature animation.
  • armor_max_code = int
    This attribute defines the maximum armor code available for the creature animation (see animation scheme above).
  • can_lie_down = boolean
    This attribute specifies internal engine behavior when a creature "gets up" after being created (e.g. summoned).
  • detected_by_infravision = boolean
    This attribute indicates whether a red tint is applied to the creature when it is spotted by infravision.
  • double_blit = boolean
    This attribute appears to be unimplemented.
  • equip_helmet = boolean
    This attribute indicates whether helmet animation overlays can be drawn.
  • false_color = boolean
    This attribute indicates whether false color replacement is applied.
  • hide_weapons = boolean
    This attribute indicates whether the weapon overlay should be drawn. 0: draw weapon overlays, 1: do not draw weapon overlays
  • height_code = string
    The default height code prefix used to determine animation overlays.
  • height_code_helmet = string
    The height code prefix used to determine helmet animation overlays.
  • shadow = string
    This attribute overrides the default shadow animation prefix "CSHD" to what is provided. Note: The engine is hardcoded to override shadows for the Drizzt and Sarevok animations by "CSHD" and "SSHD" respectively.


This is one of two available animation types tied to the 0x7000 range of animation slots. It was introduced by BG2 and primarily used for various monsters. The animation type provides support for false color replacements, full palette replacements, glow layers, and an extended set of mirrored orientations.

To retain backwards compatibility with the original game engines valid slot subranges are wildly spread over the whole 0x7000 range:

0x7002 - 0x700f, 0x7012 - 0x701f, 0x7022 - 0x702f, 0x7032 - 0x703f, 0x7042 - 0x704f, 0x7052 - 0x705f, 0x7062 - 0x706f, 0x7072 - 0x707f, 0x7082 - 0x708f, 0x7092 - 0x709f, 0x70a2 - 0x70af, 0x70b2 - 0x70bf, 0x70c2 - 0x70cf, 0x70d2 - 0x70df, 0x70e2 - 0x70ef, 0x70f2 - 0x70ff, 0x7102 - 0x710f, 0x7112 - 0x711f, 0x7122 - 0x712f, 0x7132 - 0x713f, 0x7142 - 0x714f, 0x7152 - 0x715f, 0x7162 - 0x716f, 0x7172 - 0x717f, 0x7182 - 0x718f, 0x7192 - 0x719f, 0x71a2 - 0x71af, 0x71b2 - 0x71bf, 0x71c2 - 0x71cf, 0x71d2 - 0x71df, 0x71e2 - 0x71ef, 0x71f2 - 0x71ff

0x7204 - 0x720f, 0x7214 - 0x721f, 0x7224 - 0x722f, 0x7234 - 0x723f, 0x7244 - 0x724f, 0x7254 - 0x725f, 0x7264 - 0x726f, 0x7274 - 0x727f, 0x7284 - 0x728f, 0x7294 - 0x729f, 0x72a4 - 0x72af, 0x72b4 - 0x72bf, 0x72c4 - 0x72cf, 0x72d4 - 0x72df, 0x72e4 - 0x72ef, 0x72f4 - 0x72ff

0x7300 - 0x73ff

0x7403 - 0x740f, 0x7413 - 0x741f, 0x7423 - 0x742f, 0x7433 - 0x743f, 0x7443 - 0x744f, 0x7453 - 0x745f, 0x7463 - 0x746f, 0x7473 - 0x747f, 0x7483 - 0x748f, 0x7493 - 0x749f, 0x74a3 - 0x74af, 0x74b3 - 0x74bf, 0x74c3 - 0x74cf, 0x74d3 - 0x74df, 0x74e3 - 0x74ef, 0x74f3 - 0x74ff

0x7502 - 0x750f, 0x7512 - 0x751f, 0x7522 - 0x752f, 0x7532 - 0x753f, 0x7542 - 0x754f, 0x7552 - 0x755f, 0x7562 - 0x756f, 0x7572 - 0x757f, 0x7582 - 0x758f, 0x7592 - 0x759f, 0x75a2 - 0x75af, 0x75b2 - 0x75bf, 0x75c2 - 0x75cf, 0x75d2 - 0x75df, 0x75e2 - 0x75ef, 0x75f2 - 0x75ff

0x7703 - 0x770f, 0x7713 - 0x771f, 0x7723 - 0x772f, 0x7733 - 0x773f, 0x7743 - 0x774f, 0x7753 - 0x775f, 0x7763 - 0x776f, 0x7773 - 0x777f, 0x7783 - 0x778f, 0x7793 - 0x779f, 0x77a3 - 0x77af, 0x77b3 - 0x77bf, 0x77c3 - 0x77cf, 0x77d3 - 0x77df, 0x77e3 - 0x77ef, 0x77f3 - 0x77ff

0x7905 - 0x790f, 0x7915 - 0x791f, 0x7925 - 0x792f, 0x7935 - 0x793f, 0x7945 - 0x794f, 0x7955 - 0x795f, 0x7965 - 0x796f, 0x7975 - 0x797f, 0x7985 - 0x798f, 0x7995 - 0x799f, 0x79a5 - 0x79af, 0x79b5 - 0x79bf, 0x79c5 - 0x79cf, 0x79d5 - 0x79df, 0x79e5 - 0x79ef, 0x79f5 - 0x79ff, 0x7a05 - 0x7a0f, 0x7a15 - 0x7a1f, 0x7a25 - 0x7a2f, 0x7a35 - 0x7a3f, 0x7a45 - 0x7a4f, 0x7a55 - 0x7a5f, 0x7a65 - 0x7a6f, 0x7a75 - 0x7a7f, 0x7a85 - 0x7a8f, 0x7a95 - 0x7a9f, 0x7aa5 - 0x7aaf, 0x7ab5 - 0x7abf, 0x7ac5 - 0x7acf, 0x7ad5 - 0x7adf, 0x7ae5 - 0x7aef, 0x7af5 - 0x7aff

0x7b07 - 0x7b0f, 0x7b17 - 0x7b1f, 0x7b27 - 0x7b2f, 0x7b37 - 0x7b3f, 0x7b47 - 0x7b4f, 0x7b57 - 0x7b5f, 0x7b67 - 0x7b6f, 0x7b77 - 0x7b7f, 0x7b87 - 0x7b8f, 0x7b97 - 0x7b9f, 0x7ba7 - 0x7baf, 0x7bb7 - 0x7bbf, 0x7bc7 - 0x7bcf, 0x7bd7 - 0x7bdf, 0x7be7 - 0x7bef, 0x7bf7 - 0x7bff

0x7c02 - 0x7c0f, 0x7c12 - 0x7c1f, 0x7c22 - 0x7c2f, 0x7c32 - 0x7c3f, 0x7c42 - 0x7c4f, 0x7c52 - 0x7c5f, 0x7c62 - 0x7c6f, 0x7c72 - 0x7c7f, 0x7c82 - 0x7c8f, 0x7c92 - 0x7c9f, 0x7ca2 - 0x7caf, 0x7cb2 - 0x7cbf, 0x7cc2 - 0x7ccf, 0x7cd2 - 0x7cdf, 0x7ce2 - 0x7cef, 0x7cf2 - 0x7cff

0x7e02 - 0x7e0f, 0x7e12 - 0x7e1f, 0x7e22 - 0x7e2f, 0x7e32 - 0x7e3f, 0x7e42 - 0x7e4f, 0x7e52 - 0x7e5f, 0x7e62 - 0x7e6f, 0x7e72 - 0x7e7f, 0x7e82 - 0x7e8f, 0x7e92 - 0x7e9f, 0x7ea2 - 0x7eaf, 0x7eb2 - 0x7ebf, 0x7ec2 - 0x7ecf, 0x7ed2 - 0x7edf, 0x7ee2 - 0x7eef, 0x7ef2 - 0x7eff

0x7f00 - 0x7fff
      

Animation scheme: [resref][seq][wovl]?.BAM, with
seq:
If split_bams=0:
- G1: WK=0-8, SC=9-17, SD=18-26, GH=27-35, DE=36-44, TW=45-53, SL=54-62, GU=63-71
- G2: A1=0-8, A2=9-17, A3=18-26, A4=27-35, A5=36-44, SP=45-53, CA=54-62

If split_bams=1:
- G1: SC=9-17
- G11: WK=0-8
- G12: SD=18-26
- G13: GH=27-35
- G14: GH=27-35 (unused), DE=36-44, TW=45-53
- G15: TW=45-53
- G2: A1=0-8
- G21: A2=9-17
- G22: A3=18-26
- G23: A4=27-35
- G24: A5=36-44
- G25: SP=45-53
- G26: CA=54-62

wovl:
- an optional weapon animation overlay as separate BAM
- it uses the "equipped appearance" string defined by the ITM V1 resources at offset 0x34
- weapon animation is always stored as an unsplit BAM

Available orientations (sequence → direction):
- 0 → S, 1 → SSW, 2 → SW, 3 → WSW, 4 → W, 5 → WNW, 6 → NW, 7 → NNW, 8 → N
- eastern directions are calculated by the engine

The following attributes are supported:
  • resref = string
    This attribute defines the prefix which is used to determine the BAM resources associated with the creature animation.
  • can_lie_down = boolean
    This attribute specifies internal engine behavior when a creature "gets up" after being created (e.g. summoned).
  • detected_by_infravision = boolean
    This attribute indicates whether a red tint is applied to the creature when it is spotted by infravision.
  • false_color = boolean
    This attribute indicates whether false color replacement is applied.
  • path_smooth = boolean
    This attribute indicates how pathfinding should be calculated. 0: pathfinding ensures that only major creature directions (S,SW,W,NW,N,...) are used. 1: pathfinding allows arbitrary angles.
  • split_bams = boolean
    This attributes indicates which animation scheme to use (see details above). 0: animations are packed in G1 and G2 files, 1: animations are spread over various subfiles.
  • translucent = boolean
    This attribute indicates whether the animation is translucent.
  • glow_layer = resref
    This attribute expects a BAM resref prefix that is used as an additional background sprite to enable special aura-like blending effects. It is defined by (currently unused) special deva and planetar animations.
  • palette1 = resref
    palette2 = resref

    These attributes define replacement palettes for individual animation groups (G1, G2).

This is one of two available animation types tied to the 0x7000 range of animation slots. It was originally used in BG1 for various monsters such as dogs, bears and basilisks. The animation type provides support for false color replacements and a reduced set of unmirrored orientations.

To retain backwards compatibility with the original game engines valid slot subranges are wildly spread over the whole 0x7000 range:

0x7000, 0x7001, 0x7010, 0x7011, 0x7020, 0x7021, 0x7030, 0x7031, 0x7040, 0x7041, 0x7050, 0x7051, 0x7060, 0x7061, 0x7070, 0x7071, 0x7080, 0x7081, 0x7090, 0x7091, 0x70a0, 0x70a1, 0x70b0, 0x70b1, 0x70c0, 0x70c1, 0x70d0, 0x70d1, 0x70e0, 0x70e1, 0x70f0, 0x70f1, 0x7100, 0x7101, 0x7110, 0x7111, 0x7120, 0x7121, 0x7130, 0x7131, 0x7140, 0x7141, 0x7150, 0x7151, 0x7160, 0x7161, 0x7170, 0x7171, 0x7180, 0x7181, 0x7190, 0x7191, 0x71a0, 0x71a1, 0x71b0, 0x71b1, 0x71c0, 0x71c1, 0x71d0, 0x71d1, 0x71e0, 0x71e1, 0x71f0, 0x71f1, 

0x7200 - 0x7203, 0x7210 - 0x7213, 0x7220 - 0x7223, 0x7230 - 0x7233, 0x7240 - 0x7243, 0x7250 - 0x7253, 0x7260 - 0x7263, 0x7270 - 0x7273, 0x7280 - 0x7283, 0x7290 - 0x7293, 0x72a0 - 0x72a3, 0x72b0 - 0x72b3, 0x72c0 - 0x72c3, 0x72d0 - 0x72d3, 0x72e0 - 0x72e3, 0x72f0 - 0x72f3

0x7400 - 0x7402, 0x7410 - 0x7412, 0x7420 - 0x7422, 0x7430 - 0x7432, 0x7440 - 0x7442, 0x7450 - 0x7452, 0x7460 - 0x7462, 0x7470 - 0x7472, 0x7480 - 0x7482, 0x7490 - 0x7492, 0x74a0 - 0x74a2, 0x74b0 - 0x74b2, 0x74c0 - 0x74c2, 0x74d0 - 0x74d2, 0x74e0 - 0x74e2, 0x74f0 - 0x74f2

0x7500, 0x7501, 0x7510, 0x7511, 0x7520, 0x7521, 0x7530, 0x7531, 0x7540, 0x7541, 0x7550, 0x7551, 0x7560, 0x7561, 0x7570, 0x7571, 0x7580, 0x7581, 0x7590, 0x7591, 0x75a0, 0x75a1, 0x75b0, 0x75b1, 0x75c0, 0x75c1, 0x75d0, 0x75d1, 0x75e0, 0x75e1, 0x75f0, 0x75f1

0x7600 - 0x76ff

0x7700 - 0x7702, 0x7710 - 0x7712, 0x7720 - 0x7722, 0x7730 - 0x7732, 0x7740 - 0x7742, 0x7750 - 0x7752, 0x7760 - 0x7762, 0x7770 - 0x7772, 0x7780 - 0x7782, 0x7790 - 0x7792, 0x77a0 - 0x77a2, 0x77b0 - 0x77b2, 0x77c0 - 0x77c2, 0x77d0 - 0x77d2, 0x77e0 - 0x77e2, 0x77f0 - 0x77f2

0x7800 - 0x78ff

0x7900 - 0x7904, 0x7910 - 0x7914, 0x7920 - 0x7924, 0x7930 - 0x7934, 0x7940 - 0x7944, 0x7950 - 0x7954, 0x7960 - 0x7964, 0x7970 - 0x7974, 0x7980 - 0x7984, 0x7990 - 0x7994, 0x79a0 - 0x79a4, 0x79b0 - 0x79b4, 0x79c0 - 0x79c4, 0x79d0 - 0x79d4, 0x79e0 - 0x79e4, 0x79f0 - 0x79f4, 0x7a00 - 0x7a04, 0x7a10 - 0x7a14, 0x7a20 - 0x7a24, 0x7a30 - 0x7a34, 0x7a40 - 0x7a44, 0x7a50 - 0x7a54, 0x7a60 - 0x7a64, 0x7a70 - 0x7a74, 0x7a80 - 0x7a84, 0x7a90 - 0x7a94, 0x7aa0 - 0x7aa4, 0x7ab0 - 0x7ab4, 0x7ac0 - 0x7ac4, 0x7ad0 - 0x7ad4, 0x7ae0 - 0x7ae4, 0x7af0 - 0x7af4

0x7b00 - 0x7b06, 0x7b10 - 0x7b16, 0x7b20 - 0x7b26, 0x7b30 - 0x7b36, 0x7b40 - 0x7b46, 0x7b50 - 0x7b56, 0x7b60 - 0x7b66, 0x7b70 - 0x7b76, 0x7b80 - 0x7b86, 0x7b90 - 0x7b96, 0x7ba0 - 0x7ba6, 0x7bb0 - 0x7bb6, 0x7bc0 - 0x7bc6, 0x7bd0 - 0x7bd6, 0x7be0 - 0x7be6, 0x7bf0 - 0x7bf6

0x7c00, 0x7c01, 0x7c10, 0x7c11, 0x7c20, 0x7c21, 0x7c30, 0x7c31, 0x7c40, 0x7c41, 0x7c50, 0x7c51, 0x7c60, 0x7c61, 0x7c70, 0x7c71, 0x7c80, 0x7c81, 0x7c90, 0x7c91, 0x7ca0, 0x7ca1, 0x7cb0, 0x7cb1, 0x7cc0, 0x7cc1, 0x7cd0, 0x7cd1, 0x7ce0, 0x7ce1, 0x7cf0, 0x7cf1

0x7d00 - 0x7dff

0x7e00, 0x7e01, 0x7e10, 0x7e11, 0x7e20, 0x7e21, 0x7e30, 0x7e31, 0x7e40, 0x7e41, 0x7e50, 0x7e51, 0x7e60, 0x7e61, 0x7e70, 0x7e71, 0x7e80, 0x7e81, 0x7e90, 0x7e91, 0x7ea0, 0x7ea1, 0x7eb0, 0x7eb1, 0x7ec0, 0x7ec1, 0x7ed0, 0x7ed1, 0x7ee0, 0x7ee1, 0x7ef0, 0x7ef1
      

Animation scheme: [resref][seq].BAM, with
seq:
- G1: WK=0-4, SC=8-12, SD=16-20, GH=24-28, DE=32-36, TW=40-44
- G1E: WK=5-7, SC=13-15, SD=21-23, GH=29-31, DE=37-39, TW=45-47
- G2: A1=0-4, CA=8-12, A3=16-20
- G2E: A1=5-7, CA=13-15, A3=21-23

Available orientations (sequence → direction):
- 0 → S, 1 → SW, 2 → W, 3 → NW, 4 → N
- 5 → NE, 6 → E, 7 → SE

The following attributes are supported:
  • resref = string
    This attribute defines the prefix which is used to determine the BAM resources associated with the creature animation.
  • detected_by_infravision = boolean
    This attribute indicates whether a red tint is applied to the creature when it is spotted by infravision.
  • false_color = boolean
    This attribute indicates whether false color replacement is applied.
  • translucent = boolean
    This attribute indicates whether the animation is translucent.

This animation type is similar to animation type 2000 and used for a small selection of BG1 animations. It supports false color replacements and weapon overlays, and provides a limited set of unmirrored orientations.

Animation scheme: [resref][wovl]?[seq].BAM, with
seq:
- G1: WK=0-4, SC=8-12, SD=16-20, GH=24-28, DE=32-36, TW=40-44
- G1E: WK=5-7, SC=13-15, SD=21-23, GH=29-31, DE=37-39, TW=45-47
- G2: A1=0-4, A2/CA=8-12, A3/SP=16-20
- G2E: A1=5-7, A2/CA=13-15, A3/SP=21-23

Note: A1 and A2 are used with 1-h weapons, A3 is used with 2-h weapons.

wovl:
An optional part of the animation naming scheme that is derived from the first letter of the string assigned to the attributes "resref_weapon1" and "resref_weapon2".

Available orientations (sequence → direction):
- 0 → S, 1 → SW, 2 → W, 3 → NW, 4 → N
- 5 → NE, 6 → E, 7 → SE

The following attributes are supported:
  • resref = string
    This attribute defines the prefix which is used to determine the BAM resources associated with the creature animation.
  • caster = boolean
    This attribute indicates whether sequences A2 and A3 are used as CA and SP respectively. This is overridden if weapon overlays are defined.
  • detected_by_infravision = boolean
    This attribute indicates whether a red tint is applied to the creature when it is spotted by infravision.
  • false_color = boolean
    This attribute indicates whether false color replacement is applied.
  • resref_weapon1 = string
    This attribute expects the prefix of the weapon animation overlay for 1-h weapons. The first letter is used for the "wovl" part of the animation naming scheme.
  • resref_weapon2 = string
    This attribute expects the prefix of the weapon animation overlay for 2-h weapons. The first letter is used for the "wovl" part of the animation naming scheme.

This simple animation type was originally used in BG1. It supports false color replacements and provides a limited set of unmirrored orientations.

Animation scheme: [resref][seq].BAM, with
seq:
- G1: SD=0-4, SC=8-12, WK=16-20
- G1E: SD=5-7, SC=13-15, WK=21-23
- G2: A1=0-4, A2=8-12
- G2E: A1=5-7, A2=13-15
- G3: A3=0-4, GH2=8-12, DE=16-20, TW=24-28
- G3E: A3=5-7, GH=13-15, DE=21-23, TW=29-31

Available orientations (sequence → direction):
- 0 → S, 1 → SW, 2 → W, 3 → NW, 4 → N
- 5 → NE, 6 → E, 7 → SE

The following attributes are supported:
  • resref = string
    This attribute defines the prefix which is used to determine the BAM resources associated with the creature animation.
  • detected_by_infravision = boolean
    This attribute indicates whether a red tint is applied to the creature when it is spotted by infravision.
  • false_color = boolean
    This attribute indicates whether false color replacement is applied.

This animation type is very similar to animation type 9000 but provides an extended set of unmirrored orientations.

Animation scheme: [resref][seq].BAM, with
seq:
- G1: WK=0-9
- G1E: WK=10-15
- G2: SD=0-9, SC=16-25, GH=32-41, DE=48-57, TW=64-73
- G2E: SD=10-15, SC=26-31, GH=42-47, DE=58-63, TW=74-79
- G3: A1=0-9, A2=16-25, A3=32-41
- G3E: A1=10-15, A2=26-31, A3=42-47

Available orientations (sequence → direction):
- 0 → S, 1 → SSW, 2 → SW, 3 → WSW, 4 → W, 5 → WNW, 6 → NW, 7 → NNW, 8 → N, 9 → NNE
- 10 → NE, 11 → ENE, 12 → E, 13 → ESE, 14 → SE, 15 → SSE

The following attributes are supported:
  • resref = string
    This attribute defines the prefix which is used to determine the BAM resources associated with the creature animation.
  • detected_by_infravision = boolean
    This attribute indicates whether a red tint is applied to the creature when it is spotted by infravision.
  • false_color = boolean
    This attribute indicates whether false color replacement is applied.

This simple animation type is used for static (unmoving) creatures which are mostly added as "decoration", such as beggars, nobles, horses and cows.

Animation scheme: [resref][seq].BAM, with
seq:
- G1: SC=0-4, SD=8-12, GH=16-20, DE=24-28, TW=32-36
- G1E: SC=5-7, SD=13-15, GH=21-23, DE=29-31, TW=37-39
- G2: A1=0-4, CA=8-12, A3=16-20
- G2E: A1=5-7, CA=13-15, A3=21-23

Available orientations (sequence → direction):
- 0 → S, 1 → SW, 2 → W, 3 → NW, 4 → N
- 5 → NE, 6 → E, 7 → SE

The following attributes are supported:
  • resref = string
    This attribute defines the prefix which is used to determine the BAM resources associated with the creature animation.
  • false_color = boolean
    This attribute indicates whether false color replacement is applied.
  • invulnerable = boolean
    This attribute indicates whether the creature is unkillable by default (e.g. children).

This animation type is very similar to animation type B000 but also supports walking animation sequences.

Animation scheme: [resref][seq].BAM, with
seq:
- G1: WK=0-4, SC=8-12, SD=16-20, GH=24-28, DE=32-36, TW=40-44
- G1E: WK=5-7, SC=13-15, SD=21-23, GH=29-31, DE=37-39, TW=45-47
- G2: A1=0-4, CA=8-12, A3=16-20
- G2E: A1=5-7, CA=13-15, A3=21-23

Available orientations (sequence → direction):
- 0 → S, 1 → SW, 2 → W, 3 → NW, 4 → N
- 5 → NE, 6 → E, 7 → SE

The following attributes are supported:
  • resref = string
    This attribute defines the prefix which is used to determine the BAM resources associated with the creature animation.
  • false_color = boolean
    This attribute indicates whether false color replacement is applied.
  • invulnerable = boolean
    This attribute indicates whether the creature is unkillable by default (e.g. children).
  • list_type = int
    This attribute is used internally by the engine to apply special behavior to the creature. For example, list_type=2 indicates flying creatures, such as bats. The engine transforms WK to SC, disables detection by infravision and applies numerous exceptions related to pathfinding, polymorph, and other aspects.
  • path_smooth = boolean
    This attribute indicates how pathfinding should be calculated. 0: pathfinding ensures that only major creature directions (S,SW,W,NW,N,...) are used. 1: pathfinding allows arbitrary angles.

This animation type is exclusively used by flying creatures which are handled specially by the engine.

Animation scheme: [resref].BAM, with the following sequences:
- still/SD=0-8, flapping/WK=9-17

Available orientations (sequence → direction):
- 0 → S, 1 → SSW, 2 → SW, 3 → WSW, 4 → W, 5 → WNW, 6 → NW, 7 → NNW, 8 → N
- eastern directions are calculated by the engine

The following attributes are supported:
  • resref = string
    This attribute defines the prefix which is used to determine the BAM resources associated with the creature animation.
  • false_color = boolean
    This attribute indicates whether false color replacement is applied.

This animation type is primarily used for creatures introduced by Icewind Dale and its successor. It supports separate weapon animation overlays and a reduced unmirrored set of orientations.

Animation scheme: [resref][wovl]?[seq].BAM, with
seq:
The following animation sequences are known: A1, A2, A3, A4, CA, DE, GH, GU, SC, SD, SL, SP, TW, WK
- [seq]: 0=S, 1=SW, 2=W, 3=NW, 4=N
- [seq]E: 5=NE, 6=E, 7=SE

wovl:
Known weapon overlays: A=Axe, B=Bow, C=Club, D=Dagger, F=Flail, H=Halberd, M=Mace, Q=Quarterstaff, S=Sword, W=Warhammer.
Note: Weapon animation overlays are not restricted to the weapon alone, and may also contain additional content such as shields, off-hand weapons or helmets.

The following attributes are supported:
  • resref = string
    This attribute defines the prefix which is used to determine the BAM resources associated with the creature animation.
  • weapon_left_hand = boolean
    This attribute appears to be unimplemented.
  • translucent = boolean
    This attribute indicates whether the animation is translucent.
  • detected_by_infravision = boolean
    This attribute indicates whether a red tint is applied to the creature when it is spotted by infravision.

This animation type is exclusively supported only by original Planescape Torment and PSTEE. It uses a special animation structure with an extended set of action sequences which can be expanded by custom sequences. The difference is reflected by the associated INI file where supported action sequences are listed individually in place of a common resref attribute.

Animation scheme: [C|D][action][resref].BAM, with

The first letter of the animation file is either 'C' or 'D'. The reason for this is unknown, but it is likely that 'D' is used for creatures which provide false color replacements.

action: Name of the action sequence defined by the INI file (see below for details). The game uses a common set of action names, but they can theoretically be arbitrary chosen.

resref: This is an arbitrary string that identifies the creature name.

Available orientations (sequence → direction):
- 0 → S, 1 → SSW, 2 → SW, 3 → WSW, 4 → W, 5 → WNW, 6 → NW, 7 → NNW, 8 → N
- eastern directions are calculated by the engine

The following attributes are supported:
  • bestiary = int
    This attribute expects a numeric value that is associated with the creature's bestiary entry.
  • armor = int
    The meaning of this attribute is unknown.
  • clown = boolean
    This attribute indicates that the creature uses false color replacements.
  • walkscale = decimal
    This attribute defines the walking speed of the creature. It overrides the "move_scale" attribute in the general section if available.
  • runscale = decimal
    This attribute defines the running speed of the creature.
  • foot1walk = int
    foot2walk = int
    foot3walk = int
    foot4walk = int

    The meaning of these attributes is unknown.
  • foot1run = int
    foot2run = int
    foot3run = int
    foot4run = int

    The meaning of these attributes is unknown.
  • color1 = int
    color2 = int
    color3 = int
    color4 = int
    color5 = int
    color6 = int
    color7 = int

    These attributes defines the palette locations where a specific color range should be replaced by a gradient defined in the CRE resource of the associated creature. They are only considered if clown=1.
  • Action sequence = resref
    This attribute expects the full BAM animation resref associated with the specified action. The following sequences are supported:
    • attack1, attack2, attack3: Attack animations for slash, backslash and thrust actions. However, in practice they may contain any kind of attack animations.
    • gethit: Twitch animation when getting hit.
    • run: Run animation.
    • walk: Walk animation.
    • spell1, spell2, spell3: Various spellcasting animations.
    • getup: Animation for getting up from death, sleep or unconsciousness.
    • dieforward, diebackward, diecollapse: Various dying animations.
    • talk1, talk2, talk3: Various gestures that are mostly initiated during conversations.
    • standfidget1, standfidget2: Various gestures that are initiated in random intervals when the creature is in an idle stand.
    • stancefidget1, stancefidget2: Various gestures that are initiated in random intervals when the creature is in a tense stance.
    • stand: The idle stand animation.
    • stance: Animation used when being combat ready or tense.
    • stance2stand: Transition animation to switch from stance to stand behavior.
    • stand2stance: Transition animation to switch from stand to stance behavior.
    • misc1, misc2, ..., misc20: Up to 20 miscellaneous animations can be defined for custom action sequences. Best known example is the Nameless One waking up on a slab in the Mortuary.

Notes about original PST creature animation definitions:
PST stores all creature animation definitions in the file RESDATA.INI.

Individual animation definitions are placed under numeric section names which are treated as the effective animation slot number used by the game engine internally. The slot numbers stored in ANIMATE.IDS or the animation field of CRE V1.2 resources are stripped off their higher byte value if it matches 0x60 or 0xE0 before they are further processed.

The content of the animation definition may include the attributes available for the [sounds] section, as well as all of the attributes available for the [monster_planescape] section, except attributes "color1" to "color7" which are stored directly in the CRE V1.2 resources instead.