baseitems.2da defines (most) of the base item types in the game and allows new ones to be added.
There is a game engine limit of 256 (0-255) lines in baseitems.2da. It is recommended to reuse "reserved" lines for new ones. One problem with going over 255 lines is that the base item type TLK identifier will not be loaded correctly, such as in this example. In a MP game it might just not even appear properly for players, so do not use lines higher than 255.

The "armor" line is hardcoded. There is no way to add fully functional new armor even if the slot type is defined correctly (ie it fits on the chest). This is because the actual AC value of armor is linked to the appearance, which is in turn hardcoded to the armor line in baseitems.2da.
Not sure why - needs investigating. There are some engine hardcoded aspects around it however, even if you reuse the ammo (given there are limited ammo slots) similar to an existing items.
There are some "use item" animations that are hardcoded:
Everything else uses the default "Hands, forward" use item animation.
Some possibly interesting reviews of deleted lines; see also Cut Items.
There's a number of dummied/padding/"XP2SpecReq" which presumably are just unused for XP1 and XP2 item types.
| Column | Example Contents | Valid Values | Description and Notes |
|---|---|---|---|
| Name | 106 | String reference | Odd it's first but it's the base game item name (eg; unidentified items, in toolset, etc.) |
| label | shortsword | Anything | Human readable name of the item |
| InvSlotWidth | 1 | 1 - 10 | The number of horizontal squares occupied by this item's icon in the inventory panel. |
| InvSlotHeight | 2 | 1 - 6 | The number of vertical squares occupied by this item's icon in the inventory panel. |
| EquipableSlots | 0x1C030 | Bitflag of slots | A bit flag indicating the inventory slots into which this item can be placed. See the Equippable Slots notes at the bottom for more information. |
| CanRotateIcon | 1 if inventory icon for this item may be rotated 90 degrees clockwise, such as when placed on a player's quickbar.0 if the icon may not be rotated. | ||
| ModelType | A code indicating how much the look of this item can be customized. 0 = a simple item (can only select an icon/model pair); | ||
| ItemClass | Model resref | Resref of the item's model | |
| GenderSpecific | Indicates if the item changes appearance based on the gender of the possessor. 0 = no change; 1 = changes. | ||
| Part1EnvMap | Indicates how the alpha channel for model part 1 is used. 0 = transparency; 1 = reflectiveness. | ||
| Part2EnvMap | Indicates how the alpha channel for model part 2 is used. 0 = transparency; 1 = reflectiveness. (Only used for model type "2" items.) | ||
| Part3EnvMap | Indicates how the alpha channel for model part 3 is used. 0 = transparency; 1 = reflectiveness. (Only used for model type "2" items.) | ||
| DefaultModel | The default model used when the item is lying on the ground. | ||
| DefaultIcon | The default icon used when the item's icon doesn't exist. | ||
| Container | Indicates if this item can contain other items, like a bag. 0 = not a container; 1 = is a container. | ||
| WeaponWield | **** = standard one-handed weapon; 1 = not wieldable; 4 = two-handed weapon (polearm) 5 = bow 6 = crossbow 7 = shield 8 = double-sided weapon 9 = creature weapon 10 = sling 11 = throwing weapon (dart, shuriken or throwing axe) | Indicates which animation set is used when this item is wielded (equipped) in one of the weapon slots. May also affect which slots it can work in (eg; double sided weapons take both slots) | |
| WeaponType | 1 = Piercing 2 = Bludgeoning 3 = Slashing 4 = Slashing and Piercing 5 = Piercing and Bludgeoning | The type of damage inflicted by this weapon (item). | |
| WeaponSize | 1 - tiny 2 - small 3 - medium 4 - large 5 - huge | The size of the weapon item. These numbers correspond to the rows in creaturesize.2da - and is relative to them (eg; what weapons are considered "2 handed" for Small creatures like Halflings for instance, and which weapons are too large or small for certain sized creatures to wield). Note while the Bioware documentation suggests just 1- 5 (with 5 not being used by the game by default) there's no reason to suggest it couldn't go a bit higher (although no lower). Should be blank **** for non-weapons. | |
| RangedWeapon | Index to the row in Baseitems.2da specifying the type of ammunition used by a ranged weapon. Projectile weapons point to either row 20, 25, or 27. Thrown weapons point to themselves (i.e. they are their own ammunition) but the exact number does not make a difference as long as it is positive. Note: it does not appear to be possible to create a new ranged weapon, although it is possible to replace an existing one with a new ranged weapon. | ||
| PrefAttackDist | **** if not a weapon. The preferred distance for attacking with this item. Only relevant for weapons. Used to determine how far away the character wielding the weapon can be from the target and considered to be in melee range - although really this is controlled by the appearance.2da sizes of each creature. | ||
| MinRange | The minimum number of models of this type. The actual value to put in here is the range you want x 10. For Multi-Part Items (Weapons): A value of 10 here indicates that your model numbering starts at 011, incrementing by one to 019, before indexing by 10 (e.g. 019 >> 021-029 >> 031 etc. | ||
| MaxRange | The maximum allowed number of models of this type. The actual value to put in here is the range you want x 10. The maximum possible value is 255 (although the Bioware docs suggest 999). For Multi-Part Items (e.g. Weapons): The MaxRange should be set no higher than 249, as the hard-limit is 255, capping the range for model 25 below 9. When reading model numbers, the first two digits correspond to the Model field of the drop down menus under "Item Properties>>Appearance" in the Toolset. The last digit of the MDL filename corresponds to the Color field in the drop down menus. The range of colors available for higher Model numbers is solely dependent upon the number of colors available in the lowest range. For example, if you only have models numbered 011-014, higher level Model numbers will only display a range of 4 Colors. Thus, continuing the example, if you added models 015-019, you would enable colors 5-9 in the Color drop down menu. Note, model numbers ending as "0" (e.g. 010, 020, 030, etc.) appear as Color 0 in the Color drop down menu. For Single-Part Items: The full range of numbers is available starting at the MinRange value and ending at the MaxRange value. | ||
| NumDice | The number of dice rolled for this weapon's (item's) damage. | ||
| DieToRoll | The number of sides of the dice rolled for this weapon's (item's) damage. | ||
| CritThreat | The chance (out of 20) that this weapon (item) will threaten a critical hit. For example, "2" would mean two chances out of 20, for a threat range of 19-20. | ||
| CritHitMult | The critical multiplier for this weapon (item). | ||
| Category | 0 - none 1 - melee 2 - ranged 3 - shield 4 - armor 5 - helmet 6 - ammo 7 - thrown 8 - staves 9 - potion 10 - scroll 11 - thieves' tools 12 - misc 13 - wands 14 - rods 15 - traps 16 - misc unequippable 17 - container 19 - healers | Not sure what this is used for tbh. Possibly legacy Toolset categorisation. Can be blank with no issues it seems (eg; Creature Weapons are blank). Maybe was once going to be used to sort the inventory? Or does something hidden in the engine? Worth setting just in case. | |
| BaseCost | Float value probably (since Darts are 0.1) | The base value (in gold pieces) of an unenchanted item of this type. Note that darts use the value "0.1" for this so need to determine the real properties of this column. The game UTC files use a DWORD to store the value for later use. | |
| Stacking | 0 - 65535 | The maximum number of this item type that can be combined (stacked) in one inventory icon. For example, most items have this set to 1, while arrows have this set to 99. Absolute realistic maximum is 65535 as defined by the UTC file WORD stored value - which means if a save game (or BIC is exported) with a stack over this number it will probably make the value mess up incredibly. | |
| ItemMultiplier | Float value | A multiplier for the base value, used after the value of enhancements is added in? Used to reduce the per-item cost of some stacked items, such as arrows. | |
| Description | StringRef | A StringRef that indicates the default description for this item type. This will be used in the game for items that lack specific descriptions. It is also displayed as part of an item's properties (above the unidentified and identified descriptions) in the Toolset. | |
| InvSoundType | inventorysnds.2da line index | An index into inventorysnds.2da indicating the sound used when this item is placed (or moved) in a character's inventory. | |
| MaxProps | 0 - 8 | The maximum number of "cast spell" properties items of this type can be given when designed in the Toolset. | |
| MinProps | 0 or 1 | The minimum number of "cast spell" properties items of this type must be given when designed in the Toolset. Need to test: Does this realistically do anything other than affect the item wizard? | |
| PropColumn | A number indicating which column of itemprops.2da is used to determine what types of properties this item can have. | ||
| StorePanel | 0 = armor and clothing 1 = weapons 2 = potions and scrolls 3 = wands and magic items 4 = miscellaneous. | A number indicating where this item can be found in a store. | |
| ReqFeat0 | **** or feat.2da line index | An index into feat.2da indicating a feat that grants proficiency with this item. A character must be proficient with an item in order to equip it. If this column is "****" then either all characters are automatically proficient with this item or this item is armor. (The default proficiencies are 32 = shield; 44 = exotic; 45 = martial; 46 = simple; 48 = druid; 49 = monk; 50 = rogue; and 51 = wizard. However, any feat can be used as a proficiency, if desired.) | |
| ReqFeat1 | **** or feat.2da line index | An index into feat.2da indicating a feat that grants proficiency with this item. If not "****", this is an alternate to that in the preceding column. | |
| ReqFeat2 | **** or feat.2da line index | An index into feat.2da indicating a feat that grants proficiency with this item. If not "****", this is an alternate to those in the preceding columns. | |
| ReqFeat3 | **** or feat.2da line index | An index into feat.2da indicating a feat that grants proficiency with this item. If not "****", this is an alternate to those in the preceding columns. | |
| ReqFeat4 | **** or feat.2da line index | An index into feat.2da indicating a feat that grants proficiency with this item. If not "****", this is an alternate to those in the preceding columns. | |
| AC_Enchant | 0 = dodge 1 = natural 2 = armor 3 = shield 4 = deflection | The type of armor class bonus granted, if this item grants one. | |
| BaseAC | The armor class value of this item (before enchantments). Not used for armor. (By default, this column is only set for shields. This column appears to ignored by the game engine. Setting this on other lines or even changing the shield numbers has no effect in game.) | ||
| ArmorCheckPen | The armor check penalty inherent to this item. Not used for armor. (By default, this column is only set for shields.) | ||
| BaseItemStatRef | A StringRef that indicates the basic statistics of this item. This is displayed under the description when an item is examined in the game. | ||
| ChargesStarting | The starting number of charges this item has by default. | ||
| RotateOnGround | 0 - no rotation 1 - rotate 90 degrees around positive y-axis 2 - rotate 90 degrees around positive x-axis | Rotation of the item model when laid on the ground. Helps potions stay upright! | |
| TenthLBS | Ten times the weight of this item in pounds. (Prior to version 1.69, this value was divided by 256, and the remainder was used as ten times the item's weight.) | ||
| WeaponMatType | An index into weaponsounds.2da indicating what sounds this weapon (item) makes when it hits an opponent. | ||
| AmmunitionType | 1 = arrow 2 = bolt 3 = bullet 4 = dart 5 = shuriken 6 = throwing axe | The index+1 into ammunitiontypes.2da that indicates the type of ammunition used by this weapon (item). This determines the models and sounds used during ranged attacks. This may well be hardcoded according to the Bioware documentation (although admittedly the slots for ammo is hardcoded, as it were). | |
| QBBehaviour | 0 - default 1 - select spell, targets normally 2 - select spell, always targets self | Determines the behaviour when this property appears on the player's quick bar. If set to 2, any cast spell item properties on an item of this type will always target the item's possessor (c.f. potions). | |
| ArcaneSpellFailure | The percentage this item adds to the chance for arcane spell failure. Not used for armor. (By default, this column is only set for shields.) | ||
| %AnimSlashL | The chance (expressed as a percentage) that a character wielding this weapon (item) will be animated as making a slash from the left during an attack. % chance to use the left-slash, right-slash, or stab animation when using this weapon. **** if the item is not a melee weapon. Left-Slash and Stab should add up to 100, and Right-Slash and Stab should add up to 100. The Left and Right slash percentages are the chances of doing that move if the wielder is in the already proper stance. For example, a creature in the right-ready combat animation can only left-slash or stab, and after a left-slash, it enters the left-ready stance | ||
| %AnimSlashR | The chance (expressed as a percentage) that a character wielding this weapon (item) will be animated as making a slash from the right during an attack. | ||
| %AnimSlashS | The chance (expressed as a percentage) that a character wielding this weapon (item) will be animated as making a straight slash (from the center) during an attack. | ||
| StorePanelSort | A number indicating the order in which this item will be listed in a store (within the panel indicated by the "StorePanel" column). | ||
| ILRStackSize | The stack size used when calculating this item's value in regards to item level restrictions. | ||
| WeaponFocusFeat | NWN:EE. An index into feat.2da indicating which feat provides weapon focus for this item. | ||
| EpicWeaponFocusFeat | NWN:EE. An index into feat.2da indicating which feat provides epic weapon focus for this item. | ||
| WeaponSpecializationFeat | NWN:EE. An index into feat.2da indicating which feat provides weapon specialization for this item. | ||
| EpicWeaponSpecializationFeat | NWN:EE. An index into feat.2da indicating which feat provides epic weapon specialization for this item. | ||
| WeaponImprovedCriticalFeat | NWN:EE. An index into feat.2da indicating which feat allows improved criticals to be performed with this item. | ||
| EpicWeaponOverwhelmingCriticalFeat | NWN:EE. An index into feat.2da indicating which feat allows overwhelming criticals to be performed with this item. | ||
| EpicWeaponDevastatingCriticalFeat | NWN:EE. An index into feat.2da indicating which feat allows devastating criticals to be performed with this item. | ||
| WeaponOfChoiceFeat | NWN:EE. An index into feat.2da indicating which feat identifies this item as a weapon of choice. |
The "EquipableSlots" column is a bit field expressed in hexadecimal notation. The following table lists the values that can be added together to produce a value for this column.
| Value | Inventory slot | Value | Inventory slot | |
|---|---|---|---|---|
| 0x00001 | Helmet | 0x00200 | Amulet | |
| 0x00002 | Armor | 0x00400 | Belt | |
| 0x00004 | Boots | 0x00800 | Arrow | |
| 0x00008 | Gloves | 0x01000 | Bullet | |
| 0x00010 | Main hand | 0x02000 | Bolt | |
| 0x00020 | Off-hand | 0x1C000 | Creature weapons | |
| 0x00040 | Cloak | 0x20000 | Creature armor | |
| 0x00180 | Rings | |||
Example: Since most melee weapons should be able to go into the main hand, off-hand, and creature weapon slots, the value of the "EquipableSlots" column would be "0x1C030".