“item_template” table¶
The item_template
table holds information on every item that exists
in the game.
Table structure¶
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
entry | mediumint(8) unsigned | NO | PRI | 0 | |
class | tinyint(3) unsigned | NO | MUL | 0 | |
subclass | tinyint(3) unsigned | NO | 0 | ||
name | varchar(255) | NO | |||
displayid | mediumint(8) unsigned | NO | 0 | ||
Quality | tinyint(3) unsigned | NO | 0 | ||
Flags | int(10) unsigned | NO | 0 | ||
BuyCount | tinyint(3) unsigned | NO | 1 | ||
BuyPrice | int(10) unsigned | NO | 0 | ||
SellPrice | int(10) unsigned | NO | 0 | ||
InventoryType | tinyint(3) unsigned | NO | 0 | ||
AllowableClass | mediumint(9) | NO | -1 | ||
AllowableRace | mediumint(9) | NO | -1 | ||
ItemLevel | tinyint(3) unsigned | NO | 0 | ||
RequiredLevel | tinyint(3) unsigned | NO | 0 | ||
RequiredSkill | smallint(5) unsigned | NO | 0 | ||
RequiredSkillRank | smallint(5) unsigned | NO | 0 | ||
requiredspell | mediumint(8) unsigned | NO | 0 | ||
requiredhonorrank | mediumint(8) unsigned | NO | 0 | ||
RequiredCityRank | mediumint(8) unsigned | NO | 0 | ||
RequiredReputationFaction | smallint(5) unsigned | NO | 0 | ||
RequiredReputationRank | smallint(5) unsigned | NO | 0 | ||
maxcount | smallint(5) unsigned | NO | 0 | ||
stackable | smallint(5) unsigned | NO | 1 | ||
ContainerSlots | tinyint(3) unsigned | NO | 0 | ||
stat_type1 | tinyint(3) unsigned | NO | 0 | ||
stat_value1 | smallint(6) | NO | 0 | ||
stat_type2 | tinyint(3) unsigned | NO | 0 | ||
stat_value2 | smallint(6) | NO | 0 | ||
stat_type3 | tinyint(3) unsigned | NO | 0 | ||
stat_value3 | smallint(6) | NO | 0 | ||
stat_type4 | tinyint(3) unsigned | NO | 0 | ||
stat_value4 | smallint(6) | NO | 0 | ||
stat_type5 | tinyint(3) unsigned | NO | 0 | ||
stat_value5 | smallint(6) | NO | 0 | ||
stat_type6 | tinyint(3) unsigned | NO | 0 | ||
stat_value6 | smallint(6) | NO | 0 | ||
stat_type7 | tinyint(3) unsigned | NO | 0 | ||
stat_value7 | smallint(6) | NO | 0 | ||
stat_type8 | tinyint(3) unsigned | NO | 0 | ||
stat_value8 | smallint(6) | NO | 0 | ||
stat_type9 | tinyint(3) unsigned | NO | 0 | ||
stat_value9 | smallint(6) | NO | 0 | ||
stat_type10 | tinyint(3) unsigned | NO | 0 | ||
stat_value10 | smallint(6) | NO | 0 | ||
dmg_min1 | float | NO | 0 | ||
dmg_max1 | float | NO | 0 | ||
dmg_type1 | tinyint(3) unsigned | NO | 0 | ||
dmg_min2 | float | NO | 0 | ||
dmg_max2 | float | NO | 0 | ||
dmg_type2 | tinyint(3) unsigned | NO | 0 | ||
dmg_min3 | float | NO | 0 | ||
dmg_max3 | float | NO | 0 | ||
dmg_type3 | tinyint(3) unsigned | NO | 0 | ||
dmg_min4 | float | NO | 0 | ||
dmg_max4 | float | NO | 0 | ||
dmg_type4 | tinyint(3) unsigned | NO | 0 | ||
dmg_min5 | float | NO | 0 | ||
dmg_max5 | float | NO | 0 | ||
dmg_type5 | tinyint(3) unsigned | NO | 0 | ||
armor | smallint(5) unsigned | NO | 0 | ||
holy_res | tinyint(3) unsigned | NO | 0 | ||
fire_res | tinyint(3) unsigned | NO | 0 | ||
nature_res | tinyint(3) unsigned | NO | 0 | ||
frost_res | tinyint(3) unsigned | NO | 0 | ||
shadow_res | tinyint(3) unsigned | NO | 0 | ||
arcane_res | tinyint(3) unsigned | NO | 0 | ||
delay | smallint(5) unsigned | NO | 1000 | ||
ammo_type | tinyint(3) unsigned | NO | 0 | ||
RangedModRange | float | NO | 0 | ||
spellid_1 | mediumint(8) unsigned | NO | 0 | ||
spelltrigger_1 | tinyint(3) unsigned | NO | 0 | ||
spellcharges_1 | tinyint(4) | NO | 0 | ||
spellppmRate_1 | float | NO | 0 | ||
spellcooldown_1 | int(11) | NO | -1 | ||
spellcategory_1 | smallint(5) unsigned | NO | 0 | ||
spellcategorycooldown_1 | int(11) | NO | -1 | ||
spellid_2 | mediumint(8) unsigned | NO | 0 | ||
spelltrigger_2 | tinyint(3) unsigned | NO | 0 | ||
spellcharges_2 | tinyint(4) | NO | 0 | ||
spellppmRate_2 | float | NO | 0 | ||
spellcooldown_2 | int(11) | NO | -1 | ||
spellcategory_2 | smallint(5) unsigned | NO | 0 | ||
spellcategorycooldown_2 | int(11) | NO | -1 | ||
spellid_3 | mediumint(8) unsigned | NO | 0 | ||
spelltrigger_3 | tinyint(3) unsigned | NO | 0 | ||
spellcharges_3 | tinyint(4) | NO | 0 | ||
spellppmRate_3 | float | NO | 0 | ||
spellcooldown_3 | int(11) | NO | -1 | ||
spellcategory_3 | smallint(5) unsigned | NO | 0 | ||
spellcategorycooldown_3 | int(11) | NO | -1 | ||
spellid_4 | mediumint(8) unsigned | NO | 0 | ||
spelltrigger_4 | tinyint(3) unsigned | NO | 0 | ||
spellcharges_4 | tinyint(4) | NO | 0 | ||
spellppmRate_4 | float | NO | 0 | ||
spellcooldown_4 | int(11) | NO | -1 | ||
spellcategory_4 | smallint(5) unsigned | NO | 0 | ||
spellcategorycooldown_4 | int(11) | NO | -1 | ||
spellid_5 | mediumint(8) unsigned | NO | 0 | ||
spelltrigger_5 | tinyint(3) unsigned | NO | 0 | ||
spellcharges_5 | tinyint(4) | NO | 0 | ||
spellppmRate_5 | float | NO | 0 | ||
spellcooldown_5 | int(11) | NO | -1 | ||
spellcategory_5 | smallint(5) unsigned | NO | 0 | ||
spellcategorycooldown_5 | int(11) | NO | -1 | ||
bonding | tinyint(3) unsigned | NO | 0 | ||
description | varchar(255) | NO | |||
PageText | mediumint(8) unsigned | NO | 0 | ||
LanguageID | tinyint(3) unsigned | NO | 0 | ||
PageMaterial | tinyint(3) unsigned | NO | 0 | ||
startquest | mediumint(8) unsigned | NO | 0 | ||
lockid | mediumint(8) unsigned | NO | 0 | ||
Material | tinyint(4) | NO | 0 | ||
sheath | tinyint(3) unsigned | NO | 0 | ||
RandomProperty | mediumint(8) unsigned | NO | 0 | ||
block | mediumint(8) unsigned | NO | 0 | ||
itemset | mediumint(8) unsigned | NO | 0 | ||
MaxDurability | smallint(5) unsigned | NO | 0 | ||
area | mediumint(8) unsigned | NO | 0 | ||
Map | smallint(6) | NO | 0 | ||
BagFamily | mediumint(9) | NO | 0 | ||
ScriptName | varchar(64) | NO | |||
DisenchantID | mediumint(8) unsigned | NO | 0 | ||
FoodType | tinyint(3) unsigned | NO | 0 | ||
minMoneyLoot | int(10) unsigned | NO | 0 | ||
maxMoneyLoot | int(10) unsigned | NO | 0 | ||
Duration | int(11) unsigned | NO | 0 | ||
ExtraFlags | tinyint(1) unsigned | NO | 0 |
Fields¶
entry¶
The unique identifier of the item template entry.
class¶
The class of the item template.
ID | Name | ID | Name |
---|---|---|---|
0 | Consumable | 7 | Trade Goods |
1 | Container | 9 | Recipe |
2 | Weapon | 11 | Quiver |
4 | Armor | 12 | Quest |
5 | Reagent | 13 | Key |
6 | Projectile | 15 | Miscellaneous |
Note
The table only contains active classes, obsolete classes have been stripped.
subclass¶
The subclass of the item template.
Class ID | Subclass ID | Subclass |
---|---|---|
0 | 0 | Consumable |
1 | 0 | Container, Bag |
1 | 1 | Container, Soul bag |
1 | 2 | Container, Herb bag |
1 | 3 | Container, Enchanting bag |
1 | 4 | Container, Engineering bag |
2 | 0 | Weapon, Axe 1H |
2 | 1 | Weapon, Axe 2H |
2 | 2 | Weapon, Bow |
2 | 3 | Weapon, Gun |
2 | 4 | Weapon, Mace 1H |
2 | 5 | Weapon, Mace 2H |
2 | 6 | Weapon, Polearm |
2 | 7 | Weapon, Sword 1H |
2 | 8 | Weapon, Sword 2H |
2 | 10 | Weapon, Staff |
2 | 13 | Weapon, Fist weapon |
2 | 14 | Weapon, Miscellaneous |
2 | 15 | Weapon, Dagger |
2 | 16 | Weapon, Thrown |
2 | 17 | Weapon, Spear |
2 | 18 | Weapon, Crossbow |
2 | 19 | Weapon, Wand |
2 | 20 | Weapon, Fishing pole |
4 | 0 | Armor, Miscellaneous |
4 | 1 | Armor, Cloth |
4 | 2 | Armor, Leather |
4 | 3 | Armor, Mail |
4 | 4 | Armor, Plate |
4 | 6 | Armor, Shield |
4 | 7 | Armor, Libram |
4 | 8 | Armor, Idol |
4 | 9 | Armor, Totem |
5 | 0 | Reagent |
6 | 2 | Projectile, Arrow |
6 | 3 | Projectile, Bullet |
7 | 0 | Trade goods, Trade goods |
7 | 1 | Trade goods, Parts |
7 | 2 | Trade goods, Explosives |
7 | 3 | Trade goods, Devices |
9 | 0 | Recipe, Book |
9 | 1 | Recipe, Leatherworking |
9 | 2 | Recipe, Tailoring |
9 | 3 | Recipe, Engineering |
9 | 4 | Recipe, Blacksmithing |
9 | 5 | Recipe, Cooking |
9 | 6 | Recipe, Alchemy |
9 | 7 | Recipe, First aid |
9 | 8 | Recipe, Enchanting |
9 | 9 | Recipe, Fishing |
11 | 2 | Quiver |
11 | 3 | Ammo pouch |
12 | 0 | Quest |
13 | 0 | Key |
13 | 1 | Lockpick |
15 | 0 | Miscellaneous, Junk |
Note
The table only contains active subclasses, obsolete classes have been stripped.
name¶
The item’s name that will be displayed.
displayid¶
A display model identifier. The value has to match with a model identifier defined in ItemDisplayInfo.dbc.
Quality¶
The quality of the item.
ID | Color | Quality |
---|---|---|
0 | Grey | Poor |
1 | White | Common |
2 | Green | Uncommon |
3 | Blue | Rare |
4 | Purple | Epic |
5 | Orange | Legendary |
6 | Red | Artifact |
Flags¶
This is a bit-mask field, describing the item. Multiple flags may be combined. The following table lists available flags.
Value | Name | Description | |
---|---|---|---|
1 | ITEM_FLAG_RESERVED_0 | Reserved for later usage | |
2 | ITEM_FLAG_CONJURED | Items created by spells having a SPELL_EFFECT_CREATE_ITEM | |
4 | ITEM_FLAG_LOOTABLE | Used on items of any class != 1 (containers), allows for looting an item | |
8 | ITEM_FLAG_WRAPPED | Reserved for later usage (3.x and newer) | |
16 | ITEM_FLAG_DEPRECATED | Item is deprecated and can not be equipped or used | |
32 | ITEM_FLAG_INDESTRUCTIBLE | used for totem. Item can not be destroyed, except by using spell (item can be reagent for spell and then allowed) | |
64 | ITEM_FLAG_USABLE | Items that can be used via right-click | |
128 | ITEM_FLAG_NO_EQUIP_COOLDOWN | Items without an equip cooldown (and usually a USABLE flag) 256 | ITEMFLAG_RESERVED_1 | Reserved for later usage |
512 | ITEM_FLAG_WRAPPER | used or not used wrapper | |
1024 | ITEM_FLAG_STACKABLE | Items which can be stacked | |
2048 | ITEM_FLAG_PARTY_LOOT | Items which can be looted by all party member | |
4096 | ITEM_FLAG_RESERVED_2 | Reserved for later usage | |
8192 | ITEM_FLAG_CHARTER | Guild charter | |
16384 | ITEM_FLAG_LETTER | Readable letter items | |
32768 | ITEM_FLAG_PVP_REWARD | Items rewarded for PvP ranks and/or honor standing | |
65536 | ITEM_FLAG_UNK16 | Seems to be unique items, or items which only allow one stack in bags | |
131072 | ITEM_FLAG_UNK17 | Items related to world events |
BuyCount¶
If an item is sold in stacks, the holds the number of items in a stack.
Note
If an item has limited supplies, the item is refresh to this count.
BuyPrice¶
The item’s price in copper.
SellPrice¶
The price for which a vendor will buy an item in copper. If an item can
not be sold to vendors, this value is set to o
.
InventoryType¶
Defines if and in which slot an item can be equipped. The following table shows all allowed values.
Value | Slot name | Value | Slot name |
---|---|---|---|
0 | Not equipable | 15 | Ranged |
1 | Head | 16 | Cloak |
2 | Neck | 17 | 2H weapon |
3 | Shoulders | 18 | Bag |
4 | Body | 19 | Tabard |
5 | Chest | 20 | Robe |
6 | Waist | 21 | Weapon, main hand |
7 | Legs | 22 | Weapon, offhand |
8 | Feet | 23 | Holdable |
9 | Wrists | 24 | Ammo |
10 | Hands | 25 | Thrown |
11 | Finger | 26 | Ranged, right |
12 | Trinket | 27 | Quiver |
13 | Weapon | 28 | Relic |
14 | Shield |
AllowableClass¶
A bit-mask corresponding to class that should be able to use the item. The value has to match with classes defined in ChrClasses.dbc.
Note
Set to -1
to allow usage by all classes.
AllowableRace¶
A bit-mask corresponding to races that should be able to use the item. The value has to match with races defined in ChrRaces.dbc.
Note
Set to -1
to allow usage by all races.
ItemLevel¶
The item’s base level.
RequiredLevel¶
The character level require to use the item.
RequiredSkill¶
If the item requires a skill to use, this references the skill’s entry in SkillLine.dbc.
RequiredSkillRank¶
If RequiredSkill
is set, this has to be set to the skill points
required to use the item
requiredhonorrank¶
The honor system rank required to use an item. The following table contains allowed values.
Value | Alliance rank | Horde rank | Officer rank |
---|---|---|---|
0 | Unranked | No | |
5 | Private | Scout | No |
6 | Corporal | Grunt | No |
7 | Sergeant | Sergeant | No |
8 | Master Sergeant | Senior Sergeant | No |
9 | Sergeant Major | First Sergeant | No |
10 | Knight | Stone Guard | Yes |
11 | Knight-Lieutenant | Blood Guard | Yes |
12 | Knight-Captain | Legionnaire | Yes |
13 | Knight-Champion | Centurion | Yes |
14 | Lieutenant-Commander | Champion | Yes |
15 | Commander | Lieutenant General | Yes |
16 | Marshal | General | Yes |
17 | Field Marshal | Warlord | Yes |
18 | Grand Marshal | High Warlord | Yes |
RequiredCityRank¶
DEPRECATED: the city rank required. City ranks did not make it into WoW.
RequiredReputationFaction¶
A faction for which reputation is required to use the item. The value has to match with a faction identifier defined in Faction.dbc.
RequiredReputationRank¶
If a faction is set in RequiredReputationFaction
this value is set
to a reputation rank. The following table lists valid ranks.
Value | Rank |
---|---|
0 | Hated |
1 | Hostile |
2 | Unfriendly |
3 | Neutral |
4 | Friendly |
5 | Honored |
6 | Revered |
7 | Exalted |
maxcount¶
The maximum amount of copies of the item which a character may have.
Setting this to 0
will allow an infinite amount.
stackable¶
Defines how many copies of an item can be stacked. By default this is one item.
ContainerSlots¶
Defines the amount of slots for items of type container or ammunition container.
stat_type[1-10]¶
An item modifier to apply for this item. The following list shows available modifiers.
Value | Description |
---|---|
0 | No stats |
1 | Health |
3 | Agility |
4 | Strength |
5 | Intellect |
6 | Spirit |
7 | Stamina |
stat_value[1-10]¶
The value to add for the matching modifier.
dmg_min[1-5]¶
The minimum damage caused by the item.
dmg_max[1-5]¶
The maximum damage caused by the item.
dmg_type[1-5]¶
The type of damage the matching dmg_min/dmg_max fields cause. The following table lists available spell schools for damage types.
Value | Description |
---|---|
0 | Physical |
1 | Holy |
2 | Fire |
3 | Nature |
4 | Frost |
5 | Shadow |
6 | Arcane |
armor¶
The armor value of the item.
holy_res¶
Holy resistance.
fire_res¶
Fire resistance.
nature_res¶
Nature resistance.
frost_res¶
Frost resistance.
shadow_res¶
Shadow resistance.
arcane_res¶
Arcane resistance.
delay¶
The delay in milliseconds between successive hits for the item.
ammo_type¶
The ammunition consumed by an item of class 2
and subclass 2
,
3
and 16
aka bows, guns, and thrown weapons.
The value usually equals the subclass value, where
2
means arrows,3
means bullets,4
means thrown.
RangedModRange¶
spellid_[1-5]¶
If the item can cast or trigger a spell, this references the spell’s entry in Spell.dbc.
spelltrigger_[1-5]¶
The type of trigger for the matching spellid entry. The following tables shows valid trigger types
Value | Description |
---|---|
0 | On use |
1 | On equip |
2 | Chance on hit |
4 | Soulstone |
5 | On use without delay |
spellcharges_[1-5]¶
The amount of charges for the spell referenced in the matching spellid entry. If
- set to
0
, the item can be used infinitely, - set to a value >
0
, the item will will stay unusable in the characters inventory once charges are depleted. - set to a value <
0
, the item will will be removed from the characters inventory once charges are depleted.
spellppmRate_[1-5]¶
If the matching spelltrigger field is of type 2
, this controls the
proc per minute rate for a spell.
spellcooldown_[1-5]¶
The cooldown in milliseconds for the matching spell. If set to -1
,
the default cooldown from the Spell.dbc table
will be used.
spellcategory_[1-5]¶
A spell category identifier. The value has to match with a category identifier defined in SpellCategory.dbc.
spellcategorycooldown_[1-5]¶
The cooldown in milliseconds for the matching spell category. If set to
-1
, the default cooldown from the Spell.dbc
table will be used.
bonding¶
Defines if and how and item will be bound to a character. The following table shows available variations for item bonding.
Value | Description |
---|---|
0 | No binding |
1 | Bind on pickup |
2 | Bind on equip |
3 | Bind on use |
4 | Quest item |
description¶
A short - usually one sentence - description of the item. Mostly flavor texts.
PageText¶
If the item should be readable, e.g. for letters, this references a page text identifier in the “page_text” table table.
LanguageID¶
If an item should have text in a specific language this references a language identifier from Languages.dbc.
PageMaterial¶
The material to be used as background for items with page texts set. This references a page text material identifier from PageTextMaterial.dbc.
startquest¶
If right-clicking the item should start a quest, this references the quest identifier from the “quest_template” table table.
lockid¶
If the item is a key, this references the lock mechanism’s identifier in the Lock.dbc table. The key will then only work on locks that require the referenced lock mechanism.
Material¶
The material that the item is made of. The value here affects the sound
the item uses when moved in bags. Use -1
for consumable items like
food, reagents, etc. This references a material identifier from
Material.dbc.
The following table contains valid material identifiers.
Value | Material |
---|---|
1 | Metal |
2 | Wood |
3 | Liquid |
4 | Jewelry |
5 | Chain |
6 | Plate |
7 | Cloth |
8 | Leather |
sheath¶
The value of this field controls how characters will show or hide items worn, e.g. for weapons. The following table shows a list of supported sheath types.
Value | Type | Description |
---|---|---|
0 | None | No sheathing |
1 | Main hand | On the back, pointing down |
2 | Off hand | On the back, pointing up |
3 | Large weapon left | |
4 | Large weapon right | |
5 | Hip weapon left | To the side |
6 | Hip weapon right | To the side |
7 | Shield | On the back, in the middle |
RandomProperty¶
If an item has a chance to be created with a random enchantment, this references an entry from the “item_enchantment_template” table table.
block¶
If an item is a shield, this field holds the block chance.
itemset¶
If an item is part of an item set, this references the item set’s identifier in the ItemSet.dbc table.
MaxDurability¶
The maximum durability for an item.
area¶
If an item is only usable in a specific area, this reference a zone identifier in the AreaTable.dbc table.
Map¶
If an item is only usable on a specific map, this reference a map identifier in the Map.dbc table.
BagFamily¶
If an item is a bag, this holds a bit-mask corresponding to bag families to which the bag belongs. The value has to match with bag families defined in ItemBagFamily.dbc.
Note
Multiple bag families may be combined.
ScriptName¶
To assign a script from the script library to the item_template, set this string to the script’s exported name.
DisenchantID¶
If an item can be disenchanted, this references an entry in the “disenchant_loot_template” table table.
FoodType¶
If an item is usable as pet food, this table references an entry in the ItemPetFood.dbc table.
minMoneyLoot¶
If an item is a container holding money, this field specifies the minimum amount of money in copper possibly looted.
maxMoneyLoot¶
If an item is a container holding money, this field specifies the maximum amount of money in copper possibly looted.
Duration¶
Items may have a duration set until the get removed from a character’s inventory.
- if the value is >
0
, the item will disappear after the set time in seconds, measured in game time, - if the value is <
0
, the item will disappear after the set time in seconds, measured in real time.
Note
Items set to be deleted in real time, require ExtraFlags
set accordingly.
ExtraFlags¶
With these flags it is possible to set rare conditions on an item. The following table shows valid conditions.
Value | Description |
---|---|
0 | Nothing special |
1 | Item is not consumable |
2 | Item will be deleted in real time, when Duration is set |