ITM v1 (original BG1 and BG2, Enhanced Editions)

Sorted alphabetically (sort by order in the file)

Effect headers ('fx') occur either as top-level headers (on-equip effects) or as child headers of ability headers ('ab_fx'). Note that the spec for the itm_v1_fx header is hardcoded by SFO to clone the spl_v1_fx header spec.

Main Header

For readability, 'unusable' flags are listed separately.

Standard keys
KeyType
adamantineBoolean
categoryInteger
cold_ironBoolean
conversableBoolean
critical_itemBoolean
cursedBoolean
desc_imageString (8 bytes)
displayableBoolean
droppableBoolean
enchantmentInteger
equipped_appearanceString (2 bytes)
fake_two_handedBoolean
forbid_offhandBoolean
ground_iconString (8 bytes)
iconString (8 bytes)
identified_descriptionStrref
identified_nameStrref
left_handedBoolean
lore_to_identifyInteger
magicalBoolean
max_in_stackInteger
min_chaInteger
min_conInteger
min_dexInteger
min_intInteger
min_levelInteger
min_strInteger
min_str_exInteger
min_wisInteger
not_copyableBoolean
off_handedBoolean
priceInteger
proficiencyid lookup (stats)
silverBoolean
toggle_critical_hitsBoolean
two_handedBoolean
undispellableBoolean
unidentified_descriptionStrref
unidentified_nameStrref
used_up_itemString (8 bytes)
weightInteger

Usability flags
KeyType
unusable_abjurerBoolean
unusable_archerBoolean
unusable_assassinBoolean
unusable_avengerBoolean
unusable_barbarianBoolean
unusable_bardBoolean
unusable_beastmasterBoolean
unusable_berserkerBoolean
unusable_bladeBoolean
unusable_bounty_hunterBoolean
unusable_cavalierBoolean
unusable_chaoticBoolean
unusable_clericBoolean
unusable_cleric_mageBoolean
unusable_cleric_of_helmBoolean
unusable_cleric_of_lathanderBoolean
unusable_cleric_of_talosBoolean
unusable_cleric_rangerBoolean
unusable_cleric_thiefBoolean
unusable_conjurerBoolean
unusable_divinerBoolean
unusable_druidBoolean
unusable_dwarfBoolean
unusable_elfBoolean
unusable_enchanterBoolean
unusable_evilBoolean
unusable_fighterBoolean
unusable_fighter_clericBoolean
unusable_fighter_druidBoolean
unusable_fighter_mageBoolean
unusable_fighter_mage_clericBoolean
unusable_fighter_mage_thiefBoolean
unusable_fighter_thiefBoolean
unusable_generalistBoolean
unusable_geneutralBoolean
unusable_gnomeBoolean
unusable_goodBoolean
unusable_half_elfBoolean
unusable_half_orcBoolean
unusable_halflingBoolean
unusable_humanBoolean
unusable_illusionistBoolean
unusable_inquisitorBoolean
unusable_invokerBoolean
unusable_jesterBoolean
unusable_kensaiBoolean
unusable_lawfulBoolean
unusable_lcneutralBoolean
unusable_mageBoolean
unusable_mage_thiefBoolean
unusable_monkBoolean
unusable_necromancerBoolean
unusable_paladinBoolean
unusable_rangerBoolean
unusable_shapeshifterBoolean
unusable_skaldBoolean
unusable_stalkerBoolean
unusable_swashbucklerBoolean
unusable_thiefBoolean
unusable_totemic_druidBoolean
unusable_transmuterBoolean
unusable_undead_hunterBoolean
unusable_wild_mageBoolean
unusable_wizard_slayerBoolean

ab

Standard keys
KeyType
add_strength_bonusBoolean
alternate_damagebonusInteger
alternate_dicenumberInteger
alternate_dicesizeInteger
attack_bonusInteger
attack_strength_bonusBoolean
backhandInteger
break_sanctuaryBoolean
breakableBoolean
bypass_armorBoolean
cannot_target_invisibleBoolean
damage_bonusInteger
damage_strength_bonusBoolean
damage_typeLookup (0=None, 1=Piercing, 2=Crushing, 3=Slashing, 4=Missile, 5=Fist, 6=PiercingCrushing, 7=PiercingSlashing, 8=CrushingSlashing, 9=BluntMissile)
dicenumberInteger
dicesizeInteger
exclusive_effectsBoolean
hostileBoolean
iconString (8 bytes)
is_arrowInteger
is_boltInteger
is_bulletInteger
keen_edgeBoolean
launcherLookup (0=None, 1=Bow, 2=Crossbow, 3=Sling, 40=Spear, 100=ThrowingAxe)
locationLookup (0=None, 1=Weapon, 2=Spell, 3=Item, 4=Innate)
number_chargesInteger
overhandInteger
primary_typeInteger
projectile[1]Integer
rangeInteger
recharge_after_restingBoolean
secondary_typeInteger
speedInteger
targetLookup (0=Invalid, 1=LivingActor, 2=Inventory, 3=DeadActor, 4=PointWithinRange, 5=Caster, 6=Crash, 7=CasterSpecial)
target_countInteger
thrustInteger
toggle_backstabBoolean
typeLookup (0=None, 1=Melee, 2=Ranged, 3=Magical, 4=Launcher)
usable_after_idBoolean
usable_before_idBoolean
when_drainedLookup (0=Remains, 1=Vanishes, 2=UsedUp, 3=Recharges)

fx

Effects can occur as top-level headers (on-equip effects) or as child headers of ability headers. Use the 'ab_fx' special type to edit child headers.

Standard keys
KeyType
bypass_mirror_imageBoolean
damagetypeLookup (0=Crushing, 1=Acid, 2=Cold, 4=Electricity, 8=Fire, 16=Piercing, 32=Poison, 64=Magic, 128=Missile, 256=Slashing, 512=MagicFire, 1024=MagicCold, 2048=Stunning)
dicenumberInteger
dicesizeInteger
dispel_resistLookup (0=Nonmagical, 1=DispelResist, 2=NoDispelIgnoreResist, 3=DispelIgnoreResist)
durationInteger
opcodeInteger
parameter1Integer
parameter2Integer
parameter2aInteger
parameter2bInteger
powerInteger
probability1[100]Integer
probability2Integer
resourceString (8 bytes)
save_vs_breathBoolean
save_vs_poisonBoolean
save_vs_polymorphBoolean
save_vs_spellBoolean
save_vs_wandBoolean
savebonusInteger
specialInteger
targetLookup (0=None, 1=Self, 2=PresetTarget, 3=Party, 4=Everyone, 5=EveryoneExceptParty, 6=CasterGroup, 7=TargetGroup, 8=EveryoneExceptSelf, 9=OriginalCaster)
timingLookup (0=InstantLimited, 1=InstantPermanent, 2=Equipped, 3=DelayLimited, 4=DelayPermanent, 5=DelayEquipped, 6=LimitedAfterDuration, 7=PermanentAfterDuration, 9=InstantPermanentAfterDeath)

test title
KeyType
ignore_difficultyBoolean
ignore_primary_targetBoolean
ignore_secondary_targetBoolean