Overview

This file controls the functionalities for armor type items

This file is loaded together with other similar files in the following order: weapons.txt, armor.txt, misc.txt

These combined files form the items structure. Technically these files share the same fields, but some fields are exclusive for specific item types, so they are not displayed in the data files that do not need them.

Any column field name starting with “*” is considered a comment field and is not used by the game

Data Fields

name – This is a reference field to define the item

version – Defines which game version to create this item (0 = Classic mode | 100 = Expansion mode)

compactsave – Boolean Field. If equals 1, then only the item’s base stats will be stored in the character save, but not any modifiers or additional stats. If equals 0, then all of the items stats will be saved.

rarity – Determines the chance that the item will randomly spawn (1/#). The higher the value then the rarer the item will be. This field depends on the “spawnable” field being enabled, the “quest” field being disabled, and the item level being less than or equal to the area level. This value is also affected by the relative Act number that the item is dropping in, where the higher the Act number, then the more common the item will drop.

spawnable – Boolean Field. If equals 1, then this item can be randomly spawned. If equals 0, then this item will never randomly spawn.

speed – If the item type is an armor, then this will affect the Walk/Run Speed reduction when wearing the armor. If the item type is a weapon, then this will affect the Attack Speed reduction when wearing the weapon.

reqstr – Defines the amount of the Strength attribute needed to use the item

reqdex – Defines the amount of the Dexterity attribute needed to use the item

durability – Defines the base durability amount that the item will spawn with.

nodurability – Boolean Field. If equals 1, then the item will not have durability. If equals 0, then the item will have durability.

level – Controls the base item level. This is used for determining when the item is allowed to drop, such as making sure that the item level is not greater than the monster’s level or the area level.

ShowLevel – Boolean Field. If equals 1, then display the item level next to the item name. If equals 0, then ignore this.

levelreq – Controls the player level requirement for being able to use the item

cost – Defines the base gold cost of the item when being sold by an NPC. This can be affected by item modifiers and the rarity of the item.

gamble cost – Defines the gambling gold cost of the item on the Gambling UI

code – Defines a unique 3 letter/number code for the item. This is used as an identifier to reference the item.

namestr – String Key that is used for the base item name

magic lvl – Defines the magic level of the item, which can affect how magical item modifiers that can appear on the item (See automagic.txt)

auto prefix – Automatically picks an item affix name from a designated “group” value from the automagic.txt file, instead of using random prefixes. This is only used when the item is Magical quality.

alternategfx – Uses a unique 3 letter/number code similar to the defined “code” fields to determine what in-game graphics to display on the player character when the item is equipped

normcode – Links to a “code” field to determine the normal version of the item

ubercode – Links to a “code” field to determine the Exceptional version of the item

ultracode – Links to a “code” field to determine the Elite version of the item

component – Determines the layer of player animation when the item is equipped. This uses a code referenced from the Composit.txt file.

CodeDescription
0Head
1Torso
2Legs
3Right Arm
4Left Arm
5Right Hand
6Left Hand
7Shield
8Special 1
9Special 2
10Special 3
11Special 4
12Special 5
13Special 6
14Special 7
15Special 8
16Do not display anything

invwidth & invheight – Defines the width and height of grid cells that the item occupies in the player inventory

hasinv – Boolean Field. If equals 1, then the item will have its own inventory allowing for the capability to socket gems, runes, or jewels. If equals 0, then the item cannot have sockets.

gemsockets – Controls the maximum number of sockets allowed on this item. This is limited by the item’s size based on the “invwidth” and “invheight” fields. This also compares with the “MaxSock1”, “MaxSock25” and “MaxSock40” fields from the ItemTypes.txt file.

gemapplytype – Determines which affect from a gem or rune will be applied when it is socketed into this item (See gems.txt)

CodeDescription
0Weapon
1Armor or Helmet
2Shield

flippyfile – Controls which DC6 file to use for displaying the item in the game world when it is dropped on the ground (uses the file name as the input)

invfile – Controls which DC6 file to use for displaying the item graphics in the inventory (uses the file name as the input)

uniqueinvfile – Controls which DC6 file to use for displaying the item graphics in the inventory when it is a Unique quality item (uses the file name as the input)

setinvfile – Controls which DC6 file to use for displaying the item graphics in the inventory when it is a Set quality item (uses the file name as the input)

useable – Boolean Field. If equals 1, then the item can be used with the right-click mouse button command (this only works with specific belt items or quest items). If equals 0, then ignore this.

stackable – Boolean Field. If equals 1, then the item will use a quantity field and handle stacking functionality. This can depend on if the item type is throwable, is a type of ammunition, or is some other kind of miscellaneous item. If equals 0, then the item cannot be stacked.

minstack – Controls the minimum stack count or quantity that is allowed on the item. This field depends on the “stackable” field being enabled.

maxstack – Controls the maximum stack count or quantity that is allowed on the item. This field depends on the “stackable” field being enabled.

spawnstack – Controls the stack count or quantity that the item can spawn with. This field depends on the “stackable” field being enabled.

Transmogrify – Boolean Field. If equals 1, then the item will use the transmogrify function. If equals 0, then ignore this. This field depends on the “useable” field being enabled.

TMogType – Links to a “code” field to determine which item is chosen to transmogrify this item to.

TMogMin – Controls the minimum quantity that the transmogrify item will have. This depends on what item was chosen in the “TMogType” field, and that the transmogrify item has quantity.

TMogMax – Controls the minimum quantity that the transmogrify item will have. This depends on what item was chosen in the “TMogType” field, and that the transmogrify item has quantity.

type – Points to an Item Type defined in the ItemTypes.txt file, which controls how the item functions

type2 – Points to a secondary Item Type defined in the ItemTypes.txt file, which controls how the item functions. This is optional but can add more functionalities and possibilities with the item.

dropsound – Points to sound defined in the sounds.txt file. Used when the item is dropped on the ground.

dropsfxframe – Defines which frame in the “flippyfile” animation to play the “dropsound” sound when the item is dropped on the ground.

usesound – Points to sound defined in the sounds.txt file. Used when the item is moved in the inventory or used.

unique – Boolean Field. If equals 1, then the item can only spawn as a Unique quality type. If equals 0, then the item can spawn as other quality types.

transparent – Boolean Field. If equals 1, then the item will be drawn transparent on the player model (similar to ethereal models). If equals 0, then the item will appear solid on the player model.

transtbl – Controls what type of transparency to use, based on the “transparent” field being enabled.

CodeDescription
0Transparency at 25%
1Transparency at 50%
2Transparency at 75%
3Black Alpha Transparency
4White Alpha Transparency
5No Transparency
6Dark Transparency (Unused)
7Highlight Transparency (Used when mousing over the unit)
8Blended

lightradius – Controls the value of the light radius that this item can apply on the monster. This only affects monsters with this item equipped, not other types of units. This is ignored if the item’s component on the monster is “lit”, “med”, or “hvy”.

belt – Controls which belt type to use for belt items only. This field determines what index entry in the belts.txt file to use.

quest – Controls what quest class is tied to the item which can enable certain item functionalities for a specific quest. Any value greater than 0 will also mean the item is flagged as a quest item, which can affect how it is displayed in tooltips, how it is traded with other players, its item rarity, and how it cannot be sold to an NPC. If equals 0, then the item will not be flagged as a quest item.

CodeDescription
0Not a quest item
1Act 1 Prologue
2Den of Evil
3Sisters’ Burial Grounds
4Tools of the Trade
5The Search for Cain
6The Forgotten Tower
7Sisters to the Slaughter
8Act 2 Prologue
9Radament’s Lair
10The Horadric Staff
11The Tainted Sun
12The Arcane Sanctuary
13The Summoner
14The Seven Tombs
15Act 2 Traversed
16Lam Esen’s Tome
17Khalim’s Will
18Blade of the Old Religion
19The Golden Bird
20The Blackened Temple
21The Guardian
22Act 4 Prologue
23The Fallen Angel
24Terror’s End
25The Hellforge
26Rogue Warning
27Guard in Town Warning
28Guard in Desert Warning
29Dark Wanderer Seen
30Angel Warning
31Respec from Akara Complete
Act 5 Prologue
32Siege on Harrogath
33Rescue on Mount Arreat
34Prison of Ice
35Betrayal of Harrogath
36Rite of Passage
37Eve of Destruction

questdiffcheck – Boolean Field. If equals 1 and the “quest” field is enabled, then the game will check the current difficulty setting and will tie that difficulty setting to the quest item. This means that the player can have more than 1 of the same quest item as long each they are obtained per difficulty mode (Normal / Nightmare / Hell). If equals 0 and the “quest” field is enabled, then the player can only have 1 count of the quest item in the inventory, regardless of difficulty.

missiletype – Points to the “Id” field from the Missiles.txt file, which determines what type of missile is used when using the throwing weapons

durwarning – Controls the threshold value for durability to display the low durability warning UI. This is only used if the item has durability.

qntwarning – Controls the threshold value for quantity to display the low quantity warning UI. This is only used if the item has stacks.

mindam – The minimum physical damage provided by the item

maxdam – The maximum physical damage provided by the item

StrBonus – The percentage multiplier that gets multiplied the player’s current Strength attribute value to modify the bonus damage percent from the equipped item. If this equals 1, then default the value to 100.

DexBonus – The percentage multiplier that gets multiplied the player’s current Dexterity attribute value to modify the bonus damage percent from the equipped item. If this equals 1, then default the value to 100.

gemoffset – Determines the starting index offset for reading the gems.txt file when determining what effects gems or runes will have the item based on the “gemapplytype” field. For example, if this value equals 9, then the game will start with index 9 (“Chipped Emerald”) and ignore the previously defined gems in the gems.txt file, which can mean that those ignored gems will not apply modifiers when socketed into the item.

bitfield1 – Controls different flags that can affect the item. Uses an integer value to check against different bit fields by using the “&” operator. For example, if the value equals 5 (binary = 101) then that returns true for both the 4 (binary = 100) and 1 (binary = 1) bit field values.

Bit Field One BitsBinary Equivalent ValueDescription
11Allow the item to be capable of having Magic quality
210The item is classified as metal
4100The item is classified as a spellcaster item (currently does nothing)
81000The item is classified as a skill based item (currently does nothing)

The following fields are separated per NPC in each Act:

[NPC]Min – Minimum amount of this item type in Normal rarity that the NPC can sell at once

[NPC]Max – Maximum amount of this item type in Normal rarity that the NPC can sell at once. This must be equal to or greater than the minimum amount.

[NPC]MagicMin – Minimum amount of this item type in Magical rarity that the NPC can sell at once

[NPC]MagicMax – Maximum amount of this item type in Magical rarity that the NPC can sell at once. This must be equal to or greater than the minimum amount.

[NPC]MagicLvl – Maximum magic level allowed for this item type in Magical rarity

Where [NPC] is one of the following:

Charsi
Gheed
Akara
Fara
Lysander
Drognan
Hratli
Alkor
Ormus
Elzix
Asheara
Cain
Halbu
Jamella
Larzuk
Malah
Anya

Transform – Controls the color palette change of the item for the character model graphics

InvTrans – Controls the color palette change of the item for the inventory graphics

CodeColor
0No color change
1Grey
2Grey 2
3Gold
4Brown
5Grey Brown
6Inventory Grey
7Inventory Grey 2
8Inventory Grey Brown

SkipName – Boolean Field. If equals 1 and the item is Unique rarity, then skip adding the item’s base name in its title. If equals 0, then ignore this.

NightmareUpgrade – Links to another item’s “code” field. Used to determine which item will replace this item when being generated in the NPC’s store while the game is playing in Nightmare difficulty. If this field’s code equals “xxx”, then this item will not change in this difficulty.

HellUpgrade – Links to another item’s “code” field. Used to determine which item will replace this item when being generated in the NPC’s store while the game is playing in Hell difficulty. If this field’s code equals “xxx”, then this item will not change in this difficulty.

Nameable – Boolean Field. If equals 1, then the item’s name can be personalized by Anya for the Act 5 Betrayal of Harrogath quest reward. If equals 0, then the item cannot be used for the personalized name reward.

PermStoreItem – Boolean Field. If equals 1, then this item will always appear on the NPC’s store. If equals 0, then the item will randomly appear on the NPC’s store when appropriate.

diablocloneweight – The amount of weight added to the diablo clone progress when this item is sold. When offline, selling this item will instead immediately spawn diablo clone.

The following fields are exclusive to the armor.txt file, because these fields only work with Armor type items:

minac – The minimum amount of Defense that an armor item type can have

maxac – The maximum amount of Defense that an armor item type can have

block – Controls the block percent chance that the item provides (out of 100, but caps at 75).

rArm – Controls the character’s graphics and animations for the Right Arm component when wearing the armor, where the value 0 = Light or “lit”, 1 = Medium or “med”, and 2 = Heavy or “hvy”

lArm – Controls the character’s graphics and animations for the Left Arm component when wearing the armor, where the value 0 = Light or “lit”, 1 = Medium or “med”, and 2 = Heavy or “hvy”

Torso – Controls the character’s graphics and animations for the Torso component when wearing the armor, where the value 0 = Light or “lit”, 1 = Medium or “med”, and 2 = Heavy or “hvy”

Legs – Controls the character’s graphics and animations for the Legs component when wearing the armor, where the value 0 = Light or “lit”, 1 = Medium or “med”, and 2 = Heavy or “hvy”

rSPad – Controls the character’s graphics and animations for the Right Shoulder Pad component when wearing the armor, where the value 0 = Light or “lit”, 1 = Medium or “med”, and 2 = Heavy or “hvy”

lSPad – Controls the character’s graphics and animations for the Left Shoulder Pad component when wearing the armor, where the value 0 = Light or “lit”, 1 = Medium or “med”, and 2 = Heavy or “hvy”