Baseitems.2da
From NWN1 Custom Content Guide
Contents |
Overview
The baseitems.2da file defines all the basic properties of all item categories in the game. It is here that damage capability, weight, and so on are set.
Notably, at least some changes to the baseitems.2da file do not require the file to be distributed to the clients via hakpak. Properties where this has been tested:
- Critical Threat Range
- Critical Damage Multiplier
- Weight
- Damage
Table
| Column | Desciption | Values |
| ID | An integer ID# identifying the weapon internally. | I chose 200. When choosing an ID for a .2da file, Bioware has suggested padding guidelines so that if they add a new resource later, they do not overwrite yours. For baseitems.2da they suggest starting at line 200. |
| Name | A string reference to dialog.tlk containing the name for your weapon. | My first thought is that this should be **** (should tell the game engine to use the label for a name). However, this does not work. Instead, I went for a jog through dialog.tlk (it is a big file) and found that some forward-thinking individual at Bioware actually included many of the unused weapon names so I chose 67251 (Trident). If you can’t find the right name for your weapon, re-use one of the other weapon names. This will give it the same name as that item in the Item Wizard (more on this issue at the end of this section). |
| Label | The internal programmer’s label for your weapon. | I chose Trident. Use ‘_’ underscore instead of spaces if necessary. |
| InvSlotWidth
InvSlotHeight | Inventory slot width and height, measured in number of inventory grid squares. | Make sure it matches the size of the icon you created earlier (in our case 1 x 4 because our icon is 32 x 128). Each inventory grid square is 32 x 32 pixels.
Note that the icon must be a power of 2 so if your If your slot width and height is is 1 x 3 squares, the icon actually needs to be 32 x 128 (and not 32 x 96). The lower part of the icon will not be used. |
| EquipableSlots | Identifies which slots you can equip the item into. This is a hexadecimal value. You must identify all of the appropriate slots, add together the values, and enter the corresponding hex value into this column. |
0x00000 – Not equipable 0x00001 – Helmet 0x00002 – Armor 0x00004 – Boots 0x00008 – Arms 0x00010 – Right Hand 0x00020 – Left Hand 0x00040 – Cloak 0x00080 – Left Ring 0x00100 – Right Ring 0x00200 – Neck 0x00400 – Belt 0x00800 – Arrow 0x01000 – Bullet 0x02000 – Bolt 0x1C000 – Creature Weapon 0x1C010 – Two-handed Weapon 0x1C030 – One-handed Weapon 0x20000 – Creature Armor |
| CanRotateIcon | 1 if inventory icon for this item may be rotated 90 degrees clockwise, such as when placed on a player's quickbar. If the inventory slot is bigger than 2x2, you *MUST* set the canRotate icon column to 1 if there is any chance that the item will have a Unique Power (i.e., will go in the Quickbar) – otherwise the game will crash. |
0 if no 1 if yes |
| ModelType | Defines how the item's model and icon are constructed. |
0 – simple (e.g., torch) 1 – layered (e.g., helmet) 2 – composite (weapon) 3 – armor |
| ItemClass | Name of the new model you have created (without the _t_001 extension). | I used WPlTr to create a new class. Refer to your naming standards for the basics. |
| GenderSpecific | Are there gender specific versions of this item? No for everything except armor. I can’t for the life of me explain why arrows are gender specific, the one exception to this rule. Female characters get a different kind of arrow? That just seems… politically incorrect.
(Possibly due to differing model heights/animations, Armor & cloak also gender specfic - Umb'ra) |
0 if no 1 if yes |
| Part1EnvMap
Part2EnvMap Part3EnvMap | Defines how the environment map is applied to the alpha channel in the model's textures.
There is one map for each of the three weapon parts: Part 1 – bottom Part 2 – middle Part 3 – top | 1 will apply the environment map, giving you reflective surfaces. This is used for metal surfaces.
0 will not apply the environment map. This is for wood-like textures and is typically used on the handle of a mace, etc. **** not applicable. This is used for items that do not have 3 pieces or that do not have an actual model. |
| Default Model | The default model for when the item is laying on the ground. | Typically it_bag. |
| Default Icon | Does not appear to be used for anything | **** |
| Container | Is the item a container? |
0 if no 1 if yes This only true for one item, the ‘large box’. This same item is also used to create ‘large bag’ items like the magic bags of holding. Go figure. |
| WeaponWield | Identifies the animations a character uses to wield the item. |
1 Non-weapon 4 Two-handed items (e.g. halberd) 5 Bow 6 Crossbow 7 Shield 8 Double-headed weapons 9 Creature weapon 10 Dart and sling 11 Shuriken and throwing axe **** Standard weapons where the item cannot be wielded or is a melee weapon that is held in one or two hands depending on the size of the creature wielding it. |
| WeaponType | The type of weapon and type of damage it does. |
0 None 1 Piercing 2 Bludgeoning 3 Slashing 4 Slashing and Piercing |
| WeaponSize | Size of the weapon. |
1 Tiny 2 Small 3 Medium 4 Large 5 Huge |
| RangedWeapon | Index to the type of ammunition used by a ranged weapon.
Note: it does not appear to be possible, at least as of v1.29, to create a new ranged weapon. It is possible to replace an existing ranged weapon with a new one. | This can point to either another item (for items that are projectile weapons - e.g., 20 for an arrow) or to the item itself (for items that are thrown – e.g., 59 for a shuriken).
**** if this is not a ranged weapon. |
| PrefAttackDist | The preferred attacking distance when using this weapon. The distance is selected so that attack animations look their best in the most commonly anticipated situations. | **** if not a weapon |
| MinRange | The minimum number of weapon models of this type. Used to tell NWN the part number to scan for in the toolset. | The actual value to put in here for a weapon is the range you want x 10 because for weapons the model number if the first two digits only (which has a range from 01 to 25) |
| MaxRange | The maximum allowed number of weapon models of this type. Most weapons have a limit of 10 models (and 3 colors). The game will ignore any models higher numbered than this figure unless you change this value. | For weapons, the actual value to put in here is the range you want x 10. So it is 100 for most weapons. If you want 11 longswords instead of 10, make it 110.
For other items this field is not multiplied by 10 because the model number is not driven by the first two digits. This has a limit of 255 (i.e., it is a one-byte integer) so you cannot have more than 25 weapons of one type. Or 255 of other items. |
| NumDice
DieToRole | Number of dice to roll of type… | E.g., for damage of 2d6 you would put 2 in NumDice and 6 in DieToRole
**** for non-weapons. |
| CritThreat | Chance out of 20 that you will get a critical hit: |
20 only 1 19-20 2 18-20 3, etc. **** for non-weapons. |
| CritHitMult | Damage multiplier if you get a critical hit. | I chose 2 (if you look in the PHB, a spear has a critical hit multiplier of 3 but a trident is only 2)
**** for non-weapons. |
| Category | I haven’t quite figured this one out. It appears to be related to the Category definition in other tables (like spells.2da) where it defines what the item is used for. This is used for the AI engine to allow NPCs to properly use the item if equipped with it. |
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 |
| BaseCost | Basic cost in gold pieces for a non-magical, standard item. For weapons it maps back to the cost in the PHB.
As soon as you start adding magical properties to weapons, the cost goes up accordingly. That is what the cost line items in the item property definition tables account for. | See ItemMultiplier for additional information. |
| Stacking | Number of identical items that can be stacked together in your inventory (this is why you get 99 arrows in a bundle, 10 potions, etc.) | |
| ItemMultiplier | Multiplies the BaseCost to give the actual item cost. | If you look at the BaseCost field for a shortsword, for example, it is set to 10. The ItemMultiplier for shortsword is set to 2. The in-game cost for shortsword is 20.
Set the ItemMultiplier to 3, and the shortsword costs 30 in-game. (tested by Zimero) |
| Description | StrRef of basic description when examining an item of this type, if the item is unidentified, or if there is no description for the item in its Description CExoLocString Field. | Use 198 (0 no longer works because with SoU this gives a Bad StrRef text). This leaves the description blank because there is no entry for a trident description in dialog.tlk. In the next section I will show you how to use a blueprint to overcome this problem in a different manner. |
| InvSoundType | The sound made when clunking items around in your inventory. | Refer to inventorysnds.2da for detailed values.
0 – Armor 1 – Shield 2 - Wood Melee Weapon 3 - Metal Melee Weapon 4 - Ranged Weapon 5 – Ammo 6 – Potion 7 – Paper 8 – Treasure 9 - Generic The resref is contructed in the following way: Non-Armor XX_YYYYY XX = PU or DR for pickup/equipping and drop/unequpping. YYYYY is hardcoded to correspond to one of the above inventory sound types. |
| MaxPropsMinProps | The maximum and minimum number of spell properties that an item can have. This can be seen in the item properties page where scrolls, wands, etc. can cast 1 spell and most other items are able to hold up to 8. Other properties are not included in that max, only cast spells. | For some items, the min/max values are 1/1, implying they must have one property (like a scroll). For most others it ranges from 0 to 8.
I don't know what would happen if you tried to set something to have more than 8 since there is only room for that many around the radial menu without have sub-menus. |
| PropColumn | This column determines what properties can be assigned to a given item. | Refer to itemprops.2da. However, this is not an index to the row in that table, it is an index to the column. For example, melee weapons at column 0 can have almost any property assigned to them, but torches at column 20 can only have light.
**** if the item cannot have properties. |
| StorePanel | The panel of the merchant inventory that this item shows up in. |
0 – Armor and clothing 1 – Weapon 2 – Potions 3 – Scrolls 4 - Miscellaneous |
| ReqFeat0 to ReqFeat4 | The feats required to use this weapon. |
44 Exotic 45 Martial 46 Simple 48 Druid 49 Monk 50 Rogue 51 Wizard |
| AC_Enchant | The type of AC bonus this item provides. |
0 Dodge 1 Natural 2 Armor 3 Shield 4 Deflection |
| BaseAC | The standard or base AC bonus that this item imparts. Shields use this column but armor does not. |
AC1 (e.g., Small Shield) AC2 (e.g., Large Shield) AC3 (e.g., Tower Shield) |
| ArmorCheckPen | The penalty to your skills that equipping this item makes (refer to skills.2da; skills affected are those with a 1 in the column ArmorCheckPenalty). | This is actually the penalty on a d20 roll. E.g., a 1 is a 5% penalty. 2 is a 10%, 10 is a 50%, etc. |
| BaseItemStatRef | String reference to dialog.tlk for a description of the statistics of this item (e.g., required feats, critical hits, etc.) in text form. This goes below the weapon in the inventory when you identify the item. | I use 198 (59 no longer works because it was used in SoU by another text description. This leaves the description blank because there is no entry for a trident’s statistics in dialog.tlk. If we left in the description for a spear we would be close (but no cigar). In the next section I will show you how to use a blueprint to overcome this problem in a different manner. |
| ChargesStarting | Starting # of charges | 0 for most items. 50 for wands, etc.
value is caped at 50. doesn't seem to be possible to have more charges. |
| RotateOnGround | An indicator that tells you how to rotate the model so it lays flat on the ground (e.g., you don’t want a sword standing on its edge when you lay it down). | 0 Do not rotate (this is used for most items without models)
1 Rotate 90 deg. about y axis (this is used for most weapons) 2 Rotate 90 deg. about x axis (this is used for crossbows and potions) |
| WeaponMatType | Type of material the weapon is made out of – used to define the sound the weapon makes against different types of armor. | Refer to weaponsounds.2da for detailed listings of the different items. |
| AmmunitionType | Type of ammunition the weapon uses. | I think this should map to ammunitiontypes.2da but everything seems offset by +1.
1 – arrow (0 in ammunitiontypes.2da) 2 – bolt (1) 3 – bullet (2) 4 – dart (3) 5 – shuriken (4) 6 – throwing axe (5) |
| QBBehaviour | Determines the behaviour when this property appears on the player's quick bar. |
0 – default 1 - select spell, targets normally 2 - select spell, always targets self |
| ArcaneSpellFailure | Increased chance this item will cause a spell failure. | Only values are used for shields. |
| TenthLBS | Weight of the item in tenths of pounds (take the weight from the PHB and multiple by 10). | There is a bug with this field: 255 is the maximum value for this field (a weight of 25.5 lbs). Anything over that becomes mod 255 (i.e., resets back to 0 at 256 and goes up again). It appears that this is only a one byte integer value whose max value is FF hex = 255 decimal.
An alternate solution, if you really must have a heavier item, is to add the Base Item Weight Increase property in the toolset (depending on the item you may have to open this option up by adding the flag in itemprops.2da). |
%AnimSlashL %AnimSlashR %AnimSlashS | % of the time that your character will use this animation type when wielding this weapon. | % 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. |
| StorePanelSort | Not sure. Looks like sorting order for the merchant panels. | 0 to 99. Lower-numbered items appear first in the store panel display in the game. Higher-numbered items appear last. |
| ILRStackSize | No idea. It looks like a repeat of the Stacking column. ILR typically refers to Item Level Restriction but I don’t know how this applies here. | Sometimes used instead of StackSize when calculating item cost |
