Index  •  2DA  •  Effects  •  File Formats  •  Actions  •  Identifiers  •  Triggers  •  Appendices  •  Site Info  •  Legal

ITM file format

Applies to:
PST

General Description
This file format describes an "item". Items include weapons, armor, books, scrolls, rings and more. Items can have attached abilties, occuring either when a target creature it hit, or when the item is equipped. ITM files have a similar structure to SPL files.

Header: Size=114 Bytes Ext. Header: Size= 56 Bytes Feature Block: Size=48 Bytes

Detailed Description
ITM files consist of a main header, zero or more extended headers (each containing zero or more feature blocks) and zero or more casting feature blocks. All the feature blocks are stored as a continuous data segment, with each extended header containing an offset into this data, and the main header containing an offset into this data for the casting feature blocks.

Overall structure:



Offset Size (datatype) Description
0x0000 4 (char array) Signature ('ITM ')
0x0004 4 (char array) Version ('V1.1')
0x0008 4 (strref) Item name - generic (strref)
0x000c 4 (strref) Item name - identified (strref)
0x0010 8 (resref) Drop sound (played when the item is dropped in the inventory)
0x0018 4 (dword) Flags
0x001c 2 (word) Item type
0x001e 1*4 (char) Usability bitmask
0x0022 2 (chars) Weapon animation (Nameless character only)
  • AX = Axe
  • CL = Club
  • DD = Dagger
  • WH = Warhammer
  • Blank (0x2020) = Fist
0x0024 2 (word) Min Level
0x0026 2 (word) Min Strength
0x0028 2 (word) Min Strength Bonus (unused in BG1)
Note: A strength of 19 or above is considred to have a Strength Bonus of 0, and would therefore not be able to equip any weapon with a Strength Bonus restriction.
0x002a 2 (word) Min Intelligence
0x002c 2 (word) Min Dexterity
0x002e 2 (word) Min Wisdom
0x0030 2 (word) Min Constitution
0x0032 2 (word) Min Charisma
0x0034 4 (dword) Price
0x0038 2 (word) Stack amount
0x003a 8 (resref) Item icon
0x0042 2 (word) Lore to ID
0x0044 8 (resref) Ground icon
0x004c 4 (dword) Weight
0x0050 4 (strref) Item description - generic (strref)
0x0054 4 (strref) Item description - identified (strref)
0x0058 8 (resref) Pickup sound (played when the item is picked up in the inventory)
0x0060 4 (dword) Enchantment
0x0064 4 (dword) Offset to extended headers
0x0068 2 (word) Count of extended headers
0x006a 4 (dword) Offset to feature blocks
0x006e 2 (word) Offset to equipping feature blocks
0x0070 2 (word) Count of equipping feature blocks
0x0072 8 (char) Dialog
0x007a 4 (dword) Conversable label strref
0x0076 4 (dword)
Unknown
0x007a 4 (dword)
Unknown
0x007e 2 (dword) Paperdoll animation colour
0x0080 2 (dword)
Unknown
0x0082 4 (dword)
Unknown
0x0086 4 (dword)
Unknown
0x008a 4 (dword)
Unknown
0x008e 4 (dword)
Unknown
0x0092 4 (dword)
Unknown
0x0096 4 (dword)
Unknown


Items can have several "abilities" that correspond to an action the item can do (e.g. melee attacks, projectile attacks, spell-casting etc.). Each of these abilities is specified through an extended header. Only the first three extended headers can have charges (extended headers further than this use the charges of the first extended header). Tooltips for item abilities are set through tooltips.2da.

NB. For items to be stackable, they must contain at least one extension header, even if it is empty.
NB. For an attack type of projectile, if the projectile type is set to 1,2 or 3, the weapon will use the attack speed of the ammunition.

Offset Size (datatype) Description
0x0000 1 (char) Attack type
  • 0 = None
  • 1 = Melee
  • 2 = Projectile
  • 3 = Magic
  • 4 = Launcher
0x0001 1 (char) ID Req.
  • bit 0: ID Required
  • bit 1: Non-ID Required
0x0002 1 (char) Location
  • 0 = None
  • 1 = Weapon
  • 2 = Spell
  • 3 = Equipment
  • 4 = Innate
0x0003 1 (char) Unknown
0x0004 8 (resref) Use icon
0x000c 1 (char) Target type
  • 0 = Invalid (cannot be selected)
  • 1 = Creature
  • 2 = Inventory
  • 3 = Dead char
  • 4 = Area
  • 5 = Self
  • 6 = Crash
  • 7 = None (Self, ignores game pause)
0x000d 1 (char) Target count
0x000e 2 (word) Range
0x0010 2 (word) Projectile type
  • 0 = None
  • 1 = Arrow
  • 2 = Bolt
  • 3 = Bullet
0x0012 2 (word) Speed
0x0014 2 (word) THAC0 bonus
0x0016 2 (word) Dice sides
0x0018 2 (word) Dice thrown
0x001a 2 (word) Damage bonus
0x001c 2 (word) Damage type
  • 0 = None
  • 1 = Piercing/Magic
  • 2 = Blunt
  • 3 = Slashing
  • 4 = Ranged
  • 5 = Fists
0x001e 2 (word) Count of feature blocks
0x0020 2 (word) Offset to feature blocks
0x0022 2 (word) Charges
0x0024 2 (word) Charge depletion behaviour
  • 0 = Don't vanish
  • 1 = Expended
  • 2 = Expended (w/o sound)
  • 3 = Recharge each day
0x0026 2 (word) Flags
0x0028 2 (word) Unknown
0x002a 2 (word) Projectile animation (projectl.ids/missile.ids)
0x002c 2*3 (word) Melee animation
0x0032 2 (word) Bow/Arrow qualifier
0x0034 2 (word) Crossbow/Bolt qualifier
0x0036 2 (word) Misc. Projectile qualifier


Any action carried out by an item is done by feature blocks, each of which holds an effect number as well as targetting and timing information.

Offset Size (datatype) Description
0x0000 2 (word) Opcode number
0x0002 1 (char) Target
  • 0=None
  • 1=Self
  • 2=Pre-Target
  • 3=Party
  • 4=Global
  • 5=Non-Party
  • 6=Non-evil
  • 7=Unknown
  • 8=Except Self
  • 9=Original Caster
  • 10=Unknown
  • 11=Unknown
  • 12=Unknown
  • 13=Unknown
0x0003 1 (char) Power
0x0004 4 (dword) Parameter 1
0x0008 4 (dword) Parameter 2
0x000c 1 (char) Timing mode
  • 0=Duration
  • 1=Permanent
  • 2=While equipped
  • 3=Delayed Duration
  • 4=Delayed
  • 5=Delayed (transforms to 8)
  • 6=Duration?
  • 7=Permanent?
  • 8=Permanent (unsaved)
  • 9=Permanent (after Death)
  • 10=Trigger
0x000d 1 (char) Resistance
  • 0=Nonmagical
  • 1=Dispel/Not Bypass
  • 2=Not Dispel/Not Bypass
  • 3=Dispel/Bypass
0x000e 4 (dword) Duration
0x0012 1 (char) Probability 1
0x0013 1 (char) Probability 2
0x0014 8 (resref) Resource
0x001c 4 (dword) Dice Thrown
0x0020 2 (word) Dice Sides
0x0024 4 (dword) Saving throw type
  • bit 0: Spells
  • bit 1: Breathe
  • bit 2: Death
  • bit 3: Wands
  • bit 4: Polymorph
NB. If more than 1 saving throw type is specified, the target rolls against their best save.
0x0028 4 (dword) Saving throw bonus
0x002c 4 (dword) Unknown



Header Flags

Bit Byte 1 Byte 2 Byte 3 Byte 4
0 Unsellable (critical item) Silver Unknown Unknown
1 Two-handed Cold-Iron Unknown Unknown
2 Movable Unsellable (stolen) Unknown Unknown
3 Displayable Converable Unknown Unknown
4 Cursed Pulsating Unknown Unknown
5 Unknown Unknown Unknown Unknown
6 Magical Unknown Unknown Unknown
7 Bow Unknown Unknown Unknown

Header Item Type

The item type of an item affects the pick-up/put-down sound when moving the item in the inventory, whether stores will buy the item and the ability ubttons shown on the item description screen.

Code Item type>
0x0000 Books/misc
0x0001 Amulets and necklaces
0x0002 Armor
0x0003 Belts and girdles
0x0004 Boots
0x0005 Arrows
0x0006 Bracers and gauntlets
0x0007 Helms, hats, and other head-wear
0x0008 Keys (not in Icewind Dale?)
0x0009 Potions
0x000a Rings
0x000b Scrolls
0x000c Shields (not in IWD)
0x000d Food
0x000e Bullets (for a sling)
0x000f Bows
0x0010 Daggers
0x0011 Maces (in BG, this includes clubs)
0x0012 Slings
0x0013 Short swords
0x0014 Long swords (in BG, this includes 2-handed and bastard swords)
0x0015 Hammers
0x0016 Morning stars
0x0017 Flails
0x0018 Darts
0x0019 Axes (specifically, 1-handed axes -- halberds and 2-handed polearms not included)
0x001a Quarterstaff
0x001b Crossbow
0x001c Hand-to-hand weapons (fist, fist irons, punch daggers, etc)
0x001d Spears
0x001e Halberds (2-handed polearms)
0x001f Crossbow bolts
0x0020 Cloaks and robes
0x0021 Gold pieces (not an inventory item, but can appear as "monster dropped" treasure)
0x0022 Gems
0x0023 Wands
0x0024 Bag/eye/broken armor
0x0025 Broken shield/bracelet
0x0026 Broken sword/earring
0x0027 Tattoos (PST)
0x0028 Lenses(PST)
0x0029 Buckler/teeth
0x002a Candle
0x002b
Unknown
0x002c Clubs(IWD)
0x002d
Unknown
0x002e
Unknown
0x002f Large Shield(IWD)
0x0030
Unknown
0x0031 Medium Shield(IWD)
0x0032 Notes
0x0033
Unknown
0x0034
Unknown
0x0035 Small Shield(IWD)
0x0036
Unknown
0x0037 Telescope(IWD)
0x0038 Drink(IWD)
0x0039 Great Sword(IWD)
0x003a Container
0x003b Fur/pelt
0x003c Leather Armor
0x003d Studded Leather Armor
0x003e Chain Mail
0x003f Splint Mail
0x0040 Half Plate
0x0041 Full Plate
0x0042 Hide Armor
0x0043 Robe
0x0044
Unknown
0x0045 Bastard Sword
0x0046 Scarf
0x0047 Food(IWD2)
0x0048 Hat
0x0049 Gauntlet

Header Usability

Bit Byte 1 Byte 2 Byte 3 Byte 4
0 Unusable by Chatoic Unusable by Godsmen Unusable by Indeps Unusable by Ignus
1 Unusable by Evil Unknown Unknown Unusable by Morte
2 Unusable by Good Unusable by Chaosmen Unusable by Mage Unusable by Nordom
3 Unusable by Good-Evil Neutral Unusable by Fighter Unknown Unknown
4 Unusable by Lawful No Faction Unusable by Dak'kon Unusable by Annah
5 Unusable by Lawful-Chaotic Neutral Unknown Unusable by Fall-From-Grace Unknown
6 Unusable by Sensates Unusable by Dustmen Unusable by Thief Unusable by Nameless One
7 Unusable by Priest Unusable by Mercykillers Unusable by Vhailor Unknown

Extension Header Flags

Bit Byte 1 Byte 2
0 Add strength bonus Unknown
1 Breakable Unknown
2 Unknown Hostile
3 Unknown Recharges
4 Unknown Unknown
5 Unknown Unknown
6 Unknown Unknown
7 Unknown Unknown