Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Some possibly interesting reviews of deleted lines; see also Cut Items for more details.

  • Line 23: Probably another Was "Misc" item due to the small box" - a type of container. The only remaining information being is EquippableSlots (set to the same as other misc/inventory only items) sized 2x1 - it_sbox
  • Line 30: Looks to be a Was the Repeater Crossbow - models WBwXr - still are in the game files, and look like your "classic" repeater crossbow. However additional ranged items can't be added apparently.
  • Line 43: Probably another Was "Misc" item due to the , Tall". The only remaining information being was EquippableSlots (set to the same as other misc/inventory only items). Unknown size.
  • Line 48: Looks to be a Was the Nunchaku - models WSpNn - still are in the game files, and look like one (chain connecting two end points). No idea if there are any animations left engine references / animations remain however.
  • Line 54: Was "Divine Spell Scroll". iit_spscroll000.tga and iit_spscroll001.tga exists (a green scroll, BG style) which in a referenced TLK line is for divine spell scrolls. Presumably they did this before scroll icons were dynamic based on what was cast.
    • This actually is reusable (like, the use animation is "reading", the description is the spell being cast, etc.) but has some quirks - ie it acts like a scroll where in some cases just assumes 1 castable property and the item's icon is used without the spell appearing in the background as with misc items. There are other issues like Learn Scroll isn't present (may be a good thing) and the last use of the item - even if it is 1 use/day - removes it from the inventory unless it's plot.
  • Line 67: A Was "Bag". "it_bag" - so an old container bag perhaps. it_bag.mdl is one of the more common default droppable item models/loot bags and even has an icon iit_bag.tga (1x1 icon)
  • Line 68: Probably another "Misc" item due to the only remaining information being EquippableSlots (set to the same as other misc/inventory only items). Unknown size.

There's a number of dummied/padding/"XP2SpecReq" which presumably are just unused for XP1 and XP2 item types.

Not sure if any of these have any hardcoded relevance, probably not but sometime it might be worth testingThe only one with any remaining engine coding is line 54 as noted above, the others can be reused freely without issues.

2DA Columns

ColumnExample ContentsValid ValuesDescription and Notes
Name106String referenceOdd it's first but it's the base game item name (eg; unidentified items, in toolset, etc.) string reference point to rows in dialog.tlk / custom .tlk file
labelshortswordAnythingHuman readable name of the item
InvSlotWidth11 - 10*

The number of horizontal squares occupied by this item's icon in the inventory panel.

  • Equipable item may have a height/width limit, if you experience crashes adjust this number down. The number of pixel the icon has does not need to change, just number setting. 1 point = 32 pixels in art program .(at minimum, you can make a bigger icon)
InvSlotHeight21 - 6*The number of vertical squares occupied by this item's icon in the inventory panel.
  • Equipable item may have a height/width limit, if you experience crashes adjust this number down. The number of pixel the icon has does not need to change, just number setting. 1 point = 32 pixels in art program .(at minimum, you can make a bigger icon)
EquipableSlots0x1C030Bitflag of slotsA 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 - rotated in quickbbar (eg; swords)

0 - not rotated in quickbar (eg; potions)

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
0 = a simple item (can only select an icon/model pair);
1 = a colored item, e.g. cloaks and helms (can additionally select colors);
2 = a configurable item, e.g. weapons (select three item parts instead of an overall model);
3 = armor.

A code indicating how much the look of this item can be customized.

Given some of the ModelType values are tied to specific lines due to the hardcoded of armor and so forth only a few are really usable for new lines.

ValueDescriptionHas Color LayersNumber of Parts
0simple (one icon to one model)no1
1layered (PLT coloured icon and model)yes1
2composite (weapons, 3 item parts)no3
3armor (PLT, complex parts)yes18


ItemClassWSwSsModel resref

Resref of the item's model, or the base part of the resref

Due to the above ModelType, MinRage and MaxRange this will end up being:

  • 0 - Simple - ItemClass_XXX.mdl - eg; Small Shield is AShSw, MinRange is 10 and MaxRange is 100, meaning ashsw_011.mdl is the first one (01 is model 1, 1 is the first color variant, so 3 colour variants are for instance ashsw_031, ashsw_032 and ashsw_033)
  • 1 - Layered - ItemClass_XXX.mdl - eg: Helmet is helm, MinRange is 0 and MaxRange is 50, meaning helm_001.mdl is the first one and it increments by 1 (so helm_001 is the next and so on). Cloaks are special and rely on extra copies for different phenotypes (but use a similar naming convention, in this case the first cloak is pfa0_cloak_001.mdl)
  • 2 - Composite - ItemClass_L_XXX.mdl - eg; Shortsword is WSwSs, MinRange is 10 and MaxRange is 100. This type has the special letter "L" which is "t", "m" and "b" (top, middle, bottom) meaning swwss_t_001.mdl is the top, swwss_m_001.mdl is the middle and swwss_b_001.mdl is the bottom. There is no color selection so it's just incremental numbers.
  • 3 - Armor - Armor is special with multi-parts based on phenotypes essentially replacing the "Naked" model used when armor is unequipped. See parts_XXX.2da (based on the type) model IDs and AC given (if chest piece). For instance a normal human female phenotype belt piece is called pfh0_belt001.mdl. (p = phenotype, f = female, h = human (RACE column in appearance.2da, 0 = "normal" phenotype.2da entry).

This is used to prefix the visual effects you can apply using iprp_visualfx.2da so don't make it too long. 5 characters is the recommended maximum.

GenderSpecific0

0 if icons and models identical for all genders of players

1 if the icons and models differ

Indicates if the item changes appearance based on the gender of the possessor.

Only works for non-composite items, ie; simple, layered and armor

Needs further testing since the only two instances of this are armor and cloaks which are special and weird, and for some reason arrows which as above it will ignore it for since it's composite.

It changes the naming convention adding a gender into it - eg: ItemClass_gender_modelnumber.mdl - miscgen_m_001.plt / dds / mdl for a "miscgen" item, male (m), ID 001. At least cloaks are named this way, although since the cloaks only have icloak_m_001.plt preusmably it'll just default to loading the "m" variant if the "f" isn't found?

Part1EnvMap1

1 to use environment mapping

0 to not use environment mapping (transparency instead)

Indicates how the alpha channel for model part 1 is used.
Part2EnvMap1

1 to use environment mapping

0 to not use environment mapping (transparency instead)

Indicates how the alpha channel for model part 2 is used. Only used for model type "2" items.
Part3EnvMap1

1 to use environment mapping

0 to not use environment mapping (transparency instead)

Indicates how the alpha channel for model part 3 is used. Only used for model type "2" items.
DefaultModelit_bagResref of MDL file

Items can have a model named after their ItemClass identifier - eg: it_midmisc_151.mdl - which is a gem model - and that is loaded. All weapons need this setting up properly (with different numbers for different parts, and sometimes top, middle and bottom references). See existing items for examples.

If a model is not found then this is the default model used, usually when the item is lying on the ground.

Armor and cloaks get a seemingly hardcoded ground item (at least a replacement for this value, not sure if it can be changed) see Items for more info on what they are. This makes this not work for those particular hardcoded entries.

DefaultIconinvalid_1x1Resref of a texture inventory Icon fileThe default icon used when the item's icon doesn't exist.
Container

0 if this item is not a container

1 if this item is a container and can contain other items

Indicates if this item can contain other items, like a bag. 
WeaponWield
**** = standard one-handed weapon (although may be two handed if small creature is wielding it)
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)

This defines the base kind of weapon it is (or if it isn't a weapon as such, such as if you added equippable wands)

This affects:

  • Which animation set is used when this item is wielded (equipped) in one of the weapon slots
  • If the weapon is a bow, crossbow or sling it changes the ammo needed
  • If the weapon is a throwing weapon then the ammo is the weapon stack itself
  • If a double sided weapon it takes both slots
  • If a two handed weapon being of a certain size may affect if it is single or two handed
  • May also affect which slots it can work in (eg; double sided weapons take both slots, and small creatures wielding larger weapons do so two handed).

Note that since you can't add more ranged weapons (See notes at the top) 5 and 6, 10 and 11 are pretty much hardcoded to their respective lines.

WeaponType


1 = Piercing

2 = Bludgeoning

3 = Slashing

4 = Slashing and Piercing

5 = Piercing and Bludgeoning

The type of damage inflicted by this weapon (item).

If it is of two types, the game tests both types and takes the better one to do damage.

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 presumably). If you test this add a note here.

Should be blank **** for non-weapons.

RangedWeapon

1 or more if ranged weapon

**** or 0 if not ranged

Bioware set this to an 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 not 0.

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

Float values if a melee weapon


**** if not a weapon.

Otherwise the preferred distance for attacking with this weapon. The distance is selected so that attack animations look their best in the most commonly anticipated situations. Interacts with creature size values in appearance.2da for each creature, and their WeaponScale value (eg; Half Orcs are bigger so can stand slightly further away and swing).

Ranged weapons tend to just use the value "30".

MinRange
0 through 255, although logically 0 is fine to have as a default (see notes)

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
0 through 255, although logically 255 is fine to have as a default (see notes)

The maximum allowed number of models of this type. Only used in the toolset.

The actual value to put in here is the range you want x 10 but setting it to the maximum possible value of 255 is fine (although the Bioware docs suggest 999) due to network limitations (any higher than 255 it loops back to 0).

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. 

In the toolset the icon of the bottom part actually determines what is available, oddly. For instance iashto_091 would enable model line "9" for all the colours available (in this case tower shields go colours 1 - 4 by default). The MDL file may not even be present for some variants (it'll just be blank). You can see this on the Bioware staffs where one model has just one available colour variant, and conversely they included more longsword weapon model variants but no icons thus they're not used.

Note, model numbers ending as "0" (e.g. 010, 020, 030, etc.) appear as Color 0 in the Color drop down menu. This might work in game - needs testing - but the script functions suggest only colours 1-9 are valid.

For simple single-part and PLT items (shields, helms, slings, bullets, books, etc.): The full range of numbers is available starting at the MinRange value and ending at the MaxRange value. Again the icon determines availability.

NumDice
**** for non-weapon, else positive IntegerThe number of dice rolled for this weapon's (item's) damage.
DieToRoll
**** for non-weapon, else positive IntegerThe number of sides of the dice rolled for this weapon's (item's) damage.
CritThreat
**** for non-weapon, else positive IntegerThe 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
**** for non-weapon, else positive IntegerThe 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

20 - torches?

This seems to not be used by the engine much or if at all.

It might be mostly a holdover and intended for the toolset but the ItemProps column is what the toolset uses to decide what item properties are valid for what item.

The categories to the left are from the Bioware documentation/from baseitems.2da.

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.

Likely used in the cost calculation of magical items as well, see itemprops.2da, itempropdef.2da, iprp_costtable.2da and iprp_paramtable.2da.

Stacking
0 - 65535 (but setting it to over 57600 won't work in the toolset properly).

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.

Realistically don't set this too high, you'll encounter pain.

The toolset sets the maximum to be 57600 regardless of this value, so really should stick to this as a maximum.

Absolute maximum is pretty much 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 not work correctly. Having tried much higher values in this field it sort of works but it'll likely break things badly.

ItemMultiplier
Float value

Used in the cost calculation of magical items, see itemprops.2da, itempropdef.2da, iprp_costtable.2da and iprp_paramtable.2da.

Description
StringRefA 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.

For reference these are the default values:

Expand

0 soft_plate

1 hard_material

2 soft_material

3 cloth

4 leather_armour

5 chain_armour

6 plate_armour

7 small_blade

8 med_blade

9 large_blade

10 huge_blade

11 med_chain

12 large_chain

13 med_metal_blunt

14 large_metal_blunt

15 large_pole

16 small_wood

17 med_wood

18 arrow&bolt

19 med_wood_twang

20 large_wood_twang

21 gem_ping

22 key_ping

23 ring_ping

24 potion_ping

25 amulet_jingle

26 coin_jingle

27 paper_rustle

28 misc_tiny

29 misc_small

30 misc_med

31 misc_big

32 whip


MaxProps

0 - ?

The maximum number of "cast spell" properties items of this type can be given when designed in the Toolset.

The maximum appears to be 8, since setting it to 10 just changes the error message - it says "More than 10" when at 11 or more, but "More than 8" when at 9 or 10.

Whether or not the game loads all of the spell cast properties if edited by script commands or GFF edits separately, I'm not sure - edit here if someone knows. But 8 spell cast properties per item should be sufficient!

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? Likely not. The game won't check for this.

PropColumn
itemprops.2da column ID

This actually links to itemprops.2da, itempropdef.2da, iprp_costtable.2da and iprp_paramtable.2da. The main file it links to is itemprops.2da.

In the toolset itemprops.2da lists what item property lines are valid for which item types, the game then validates scripted added item properties using this value too.

You can technically add new ones - for instance if you put in column number 22 you'd need to add a new column to itemprops.2da after the "21_Gloves" column, then set corresponding item properties that are valid.

In most cases however it is much easier to reuse an existing appropriate Bioware one.

It is doubtful that item properties GFF edited into an item will be checked by the game but this is untested.

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 indexAn 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 indexAn 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 indexAn 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 indexAn 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 indexAn 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
Used but only for 3 shield lines.

The armor class value of this shield (before enchantments). Not used for armor.

NWN:EE has made it so this column now works, but only for lines 14, 56 and 57. No new shield can be added currently.

ArmorCheckPen
IntegerThe armor check penalty inherent to this item. Not used for armor which uses armor.2da. (By default, this column is only set for shields.) This is used by the game.
BaseItemStatRef
StringRefA StringRef that indicates the basic statistics of this item. This is displayed under the description when an item is examined in the game.
ChargesStarting
Integer

The starting number of charges this item has by default in the toolset. Usually 50.

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
IntegerTen 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. For reference default weaponsounds.2da entries are:

Expand

0 Unarmed

1 Blade

2 Metal_Blunt

3 Chain

4 Wood_Blunt

5 Bow

6 Sling

7 Dart

8 Throw_Axe

9 Crossbow

10 Unarmed_Low

11 Blade_Low

12 Metal_Blunt_Low

13 Chain_Low

14 Bow_low

15 Crossbow_Low

16 Axe

17 Polearm

18 Dagger

19 Whip

20 Halaster

21 Shark


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 is pretty much hardcoded according to the Bioware documentation (although admittedly the slots for ammo is hardcoded anyway, as it were, so no new ranged ammo types).

QBBehaviour

**** or 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
**** or IntegerThe percentage this item adds to the chance for arcane spell failure. Not used for armor which uses armor.2da. (By default, this column is only set for shields.)
%AnimSlashL

**** for non-weapon

Or Integer, see right

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

**** for non-weapon

Or Integer, see right

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

**** for non-weapon

Or Integer, see right

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
Integer

A number indicating the order in which this item will be listed in a store (within the panel indicated by the "StorePanel" column).

Since Bioware uses identical numbers for some rows (possibly for weapons of identical inventory sizes? maybe?) presumably those with matching values will just be sorted as they come in sale-wise.

Bioware uses 0 - 99 for this, but it could be set higher most likely.

ILRStackSize
Integer

The stack size used when calculating this item's value in regards to item level restrictions.

Bioware only used this for ammunition - presumably because the "value" of the item in those cases are more important when stacked, and stops a someone just splitting 99 arrows into size-1 stacks to get around Item Level Restrictions.

Not sure if it has any effect on Use Magical Device.

WeaponFocusFeat
**** or feat.2da line indexNWN:EE. An index into feat.2da indicating which feat provides weapon focus for this item.
EpicWeaponFocusFeat
**** or feat.2da line indexNWN:EE. An index into feat.2da indicating which feat provides epic weapon focus for this item.
WeaponSpecializationFeat
**** or feat.2da line indexNWN:EE. An index into feat.2da indicating which feat provides weapon specialization for this item.
EpicWeaponSpecializationFeat
**** or feat.2da line indexNWN:EE. An index into feat.2da indicating which feat provides epic weapon specialization for this item.
WeaponImprovedCriticalFeat
**** or feat.2da line indexNWN:EE. An index into feat.2da indicating which feat allows improved criticals to be performed with this item.
EpicWeaponOverwhelmingCriticalFeat
**** or feat.2da line indexNWN:EE. An index into feat.2da indicating which feat allows overwhelming criticals to be performed with this item.
EpicWeaponDevastatingCriticalFeat
**** or feat.2da line indexNWN:EE. An index into feat.2da indicating which feat allows devastating criticals to be performed with this item.
WeaponOfChoiceFeat
**** or feat.2da line indexNWN:EE. An index into feat.2da indicating which feat identifies this item as a weapon of choice.
IsMonkWeapon
**** / 0 or 1

NWN:EE. If set to 1 it will be considered a Monk weapon, and have Flurry of Blows available plus the Unarmed Base attack Bonus progression. Can even be applied to ranged weapons like Shurikens. If set to 0 or left blank will not be considered a Monk weapon.

Note the fist-only aspects (eg Stunning Fist) are not affected, and for dual weapons you'd need both hands to have one in to allow the bonuses (Eg; 2 Kamas, not 1 Kama and 1 Shortsword).

WeaponFinesseMinimumCreatureSize
**** / 0 or a creaturesize.2da valueNWN:EE. If set to 1 or higher, a creaturesize.2da size ID, it will be considered to be a finesse weapon. If the FEAT_FINESSE_WEAPON is taken then dexterity may be used for the attack roll instead of strength. This unhardcodes the feat.

...