Skip to content

Latest commit

 

History

History
53 lines (39 loc) · 2.63 KB

File metadata and controls

53 lines (39 loc) · 2.63 KB

Item System

How items are defined and wired together. The master table is item_template; every physical item in play is an item_instance row in the characters database.


Item Classes

The full class table (0-15, from enum ItemClass) lives on the item_template page together with the rest of its columns.

Field Groups of item_template

Group Fields Purpose
Identity entry, patch, class, subclass, name, displayid, quality/inventory what it is and looks like
Requirements ItemLevel, RequiredLevel, RequiredSkill, RequiredSpell, RequiredReputation*, AllowedClasses? who can use it
Combat armor, block, weapon damage fields (dmg_min1..5, dmg_type1..5, delay), stat blocks (stat_type1..10, stat_value1..10) combat contribution
Resistances holy_resarcane_res passive resists
Spells spellid_1..5, spelltrigger_1..5, spellcharges_*, spellcooldown_*, spellcategory* on-use/on-equip effects
Enchant / disenchant RandomProperty group id, DisenchantID see below and Loot System
Economy BuyPrice, SellPrice, MaxCount, BuyCount, vendor references via npc_vendor trade rules
Loot containers item_loot via item_loot_template clams etc.

Random Properties

item_template.RandomProperty selects a weighted pool in item_enchantment_template; one entry of that pool becomes the item's random_property_id.

Column-level details (stat ids, spell triggers, bonding, and the full flags table) live on the item_template page.

Wiring to Other Systems

  • Vendors: npc_vendor/npc_vendor_template reference item entries; rows may carry a condition.
  • Loot: every *_loot_template.item must exist here - the loader reports missing ones.
  • Quests: quest_template.ReqItemId* / RewItemId*.
  • Forbidden items: forbidden_items hides items per progression patch, also filtering loot rolls.
  • Instances: each owned copy is an item_instance; charges/durability live there, not in the template.

Related Pages