DB/SpellItemEnchantment: Difference between revisions

From wowdev
Jump to navigation Jump to search
mNo edit summary
 
(21 intermediate revisions by 5 users not shown)
Line 1: Line 1:
==Header Info ==
==0.5.3.3368==
  Records..................1919
struct SpellItemEnchantmentRec {
  Fields.....................38
  uint32_t m_ID;
  Record Size...............104
  uint32_t m_effect[3];            // ITEM_ENCHANTMENT
  String Block Size.......31981
  uint32_t m_effectPointsMin[3];
  uint32_t m_effectPointsMax[3];
  uint32_t m_effectArg[3];        // if ITEM_ENCHANTMENT_PROC || ITEM_ENCHANTMENT_BUFF_EQUIPPED then {{Template:DBField|table=Spell|column=m_ID}} else 0
  {{Template:Type|langstringref}} m_name_lang;
  {{Template:Type/foreign_key|table=ItemVisuals}} m_itemVisual;
  };
 
==1.12.1.5875==
  struct SpellItemEnchantmentRec {
  uint32_t m_ID;
  uint32_t m_effect[3]; // ITEM_ENCHANTMENT
  uint32_t m_effectPointsMin[3];
  uint32_t m_effectPointsMax[3];
  uint32_t m_effectArg[3];
  {{Template:Type|langstringref}} m_name_lang;
  uint32_t m_itemVisual;
  uint32_t m_flags
  };


==Structure==
==Structure==
Line 9: Line 26:
  1 ID Integer   
  1 ID Integer   
  2 charges Integer Mostly unused. Added 3.x?
  2 charges Integer Mostly unused. Added 3.x?
  3 [[SpellDispelType.dbc]]_1 Integer Enchantment Type of effect 1  
  3 [[SpellDispelType.dbc]]_1 Integer ITEM_ENCHANTMENT of effect 1
  4 [[SpellDispelType.dbc]]_2 Integer Enchantment Type of effect 2  
  4 [[SpellDispelType.dbc]]_2 Integer ITEM_ENCHANTMENT of effect 2
  5 [[SpellDispelType.dbc]]_3 Integer Enchantment Type of effect 3  
  5 [[SpellDispelType.dbc]]_3 Integer ITEM_ENCHANTMENT of effect 3
  6 minAmount1 Integer Amount of damage/armor/apply/spell for effect 1  
  6 minAmount1 Integer Amount of damage/armor/apply/spell for effect 1  
  7 minAmount2 Integer Amount of damage/armor/apply/spell for effect 2  
  7 minAmount2 Integer Amount of damage/armor/apply/spell for effect 2  
Line 23: Line 40:
  15-31 sRefName String+[[Loc]] The name of the enchantment  
  15-31 sRefName String+[[Loc]] The name of the enchantment  
  32 [[ItemVisuals.dbc]] Integer The glow to add to the items that has this enchant  
  32 [[ItemVisuals.dbc]] Integer The glow to add to the items that has this enchant  
  33 Flags Integer
  33 Flags Integer See below
  34 [[ItemCache.wdb]] Integer Reference to the Gem that has this ability (Added in 2.0.0.5610)  
  34 [[ItemCache.wdb]] Integer Reference to the Gem that has this ability (Added in 2.0.0.5610)  
  35 [[SpellItemEnchantmentCondition.dbc]] Integer Conditions for the effect to take place (Added in 2.0.0.5610)  
  35 [[SpellItemEnchantmentCondition.dbc]] Integer Conditions for the effect to take place (Added in 2.0.0.5610)  
  36 [[SkillLine.dbc]] Integer A required profession.
  36 [[SkillLine.dbc]] Integer A required profession.
  37 SkillLevel Integer And the level for that profession.
  37 SkillLevel Integer And the level for that profession.
  38    requiredLevel Integer Required level to use the enchant  [http://db.mmo-champion.com/enchants/?required_level__gt=1 1]
  38    requiredLevel Integer Required level to use the enchant
 
enum ITEM_ENCHANTMENT
{
  ITEM_ENCHANTMENT_MISC = 0x0,
  ITEM_ENCHANTMENT_PROC = 0x1,
  ITEM_ENCHANTMENT_DAMAGE = 0x2,
  ITEM_ENCHANTMENT_BUFF_EQUIPPED = 0x3,
  ITEM_ENCHANTMENT_ADD_ARMOR = 0x4,
   #if {{Template:Sandbox/VersionRange|min_expansionlevel=2}}
  ITEM_ENCHANTMENT_TYPE_STAT  = 0x5,
  #end
  #if {{Template:Sandbox/VersionRange|min_expansionlevel=3}}
  ITEM_ENCHANTMENT_TYPE_TOTEM = 0x6,
  ITEM_ENCHANTMENT_TYPE_USE_SPELL = 0x7,
  ITEM_ENCHANTMENT_TYPE_PRISMATIC_SOCKET = 0x8
  #end
};


==4.3.4.15595==
  struct SpellItemEnchantmentEntry // sizeof(0x5C)
  struct SpellItemEnchantmentEntry // sizeof(0x5C)
  {
  {
Line 38: Line 73:
     m_effectPointsMax; // +0x20, size 0xC, type 0
     m_effectPointsMax; // +0x20, size 0xC, type 0
     m_effectArg; // +0x2C, size 0xC, type 0
     m_effectArg; // +0x2C, size 0xC, type 0
     m_name_lang; // +0x38, size 0x4, type 2
     {{Template:Type|langstringref}} m_name_lang; // +0x38, size 0x4, type 2
     m_itemVisual; // +0x3C, size 0x4, type 0
     m_itemVisual; // +0x3C, size 0x4, type 0
     m_flags; // +0x40, size 0x4, type 0
     m_flags; // +0x40, size 0x4, type 0
Line 56: Line 91:
   uint32_t m_effectPointsMin[3];
   uint32_t m_effectPointsMin[3];
   uint32_t m_effectArg[3];
   uint32_t m_effectArg[3];
   stringref m_name_lang;
   {{Template:Type|langstringref}} m_name_lang;
   uint32_t m_itemVisual;
   uint32_t m_itemVisual;
   uint32_t m_flags;
   uint32_t m_flags;
Line 70: Line 105:
   float m_effectScalingPoints[3];
   float m_effectScalingPoints[3];
  };
  };
===Flags===
{| style="background:#FCFCFC; color:black"
|-
! width="80" | Value
! width="400" | Description
|-
| 0x001 || causes souldbound whilst applied <code>CGItem_C::IsBound</code>
|-
| 0x002 || suppress enchantment log
|-
| 0x004 || Mainhand Only
|-
| 0x008 || player spell enchantment e.g. [Rockbiter] / TBC classic : Allow Entering Arena
|-
| 0x010 || Do Not Save To DB
|-
| 0x020 || bonus increments by 1 <code>CalculateEnchantmentBonus</code> / TBC classic : Scale As A Gem
|-
| 0x040 || Disable In Challenge Modes
|-
| 0x080 || Disable in Proving Grounds
|-
| 0x100 || collectable / Allow transmog
|-
| 0x200 || hidden if not collected
|}
[[Category:DBC]]
[[Category:DBC]]
[[Category:DBC_Alpha]]
[[Category:DBC_Vanilla]]
[[Category:DBC_WotLK]]
[[Category:DBC_WotLK]]
[[Category:DBC_WoD]][[Category:6.0.1.18179]]
[[Category:DBC_WoD]][[Category:6.0.1.18179]]

Latest revision as of 03:52, 9 October 2021

0.5.3.3368

struct SpellItemEnchantmentRec {
  uint32_t m_ID;
  uint32_t m_effect[3];            // ITEM_ENCHANTMENT
  uint32_t m_effectPointsMin[3];
  uint32_t m_effectPointsMax[3];
  uint32_t m_effectArg[3];         // if ITEM_ENCHANTMENT_PROC || ITEM_ENCHANTMENT_BUFF_EQUIPPED then SpellRec::m_ID else 0
  langstringref m_name_lang;
  foreign_key<uint32_t, &ItemVisualsRec::m_ID> m_itemVisual;
};

1.12.1.5875

struct SpellItemEnchantmentRec {
  uint32_t m_ID;
  uint32_t m_effect[3];  // ITEM_ENCHANTMENT
  uint32_t m_effectPointsMin[3];
  uint32_t m_effectPointsMax[3];
  uint32_t m_effectArg[3];
  langstringref m_name_lang;
  uint32_t m_itemVisual;
  uint32_t m_flags
};

Structure

Column	Field 					Type 		Notes 
1 	ID 					Integer  
2 	charges 				Integer 	Mostly unused. Added 3.x?
3 	SpellDispelType.dbc_1 			Integer 	ITEM_ENCHANTMENT of effect 1
4 	SpellDispelType.dbc_2 			Integer 	ITEM_ENCHANTMENT of effect 2
5 	SpellDispelType.dbc_3			Integer 	ITEM_ENCHANTMENT of effect 3
6 	minAmount1 				Integer 	Amount of damage/armor/apply/spell for effect 1 
7 	minAmount2 				Integer 	Amount of damage/armor/apply/spell for effect 2 
8 	minAmount3 				Integer 	Amount of damage/armor/apply/spell for effect 3 
9 	maxAmount1 				Integer 	Mostly dupe
10 	maxAmount2 				Integer 	Mostly dupe
11 	maxAmount3 				Integer 	Mostly dupe
12 	objectId1 				Integer 	if type1 == 5, then Stat Types, else Spell.dbc 
13 	objectId2 				Integer 	if type2 == 5, then Stat Types, else Spell.dbc 
14 	objectId2 				Integer 	if type3 == 5, then Stat Types, else Spell.dbc 
15-31 	sRefName 				String+Loc	The name of the enchantment 
32 	ItemVisuals.dbc 			Integer 	The glow to add to the items that has this enchant 
33 	Flags 					Integer 	See below
34 	ItemCache.wdb 				Integer 	Reference to the Gem that has this ability (Added in 2.0.0.5610) 
35 	SpellItemEnchantmentCondition.dbc 	Integer 	Conditions for the effect to take place (Added in 2.0.0.5610) 
36 	SkillLine.dbc				Integer 	A required profession.
37 	SkillLevel 				Integer 	And the level for that profession.
38     requiredLevel				Integer		Required level to use the enchant
enum ITEM_ENCHANTMENT
{
  ITEM_ENCHANTMENT_MISC = 0x0,
  ITEM_ENCHANTMENT_PROC = 0x1,
  ITEM_ENCHANTMENT_DAMAGE = 0x2,
  ITEM_ENCHANTMENT_BUFF_EQUIPPED = 0x3,
  ITEM_ENCHANTMENT_ADD_ARMOR = 0x4,
 #if ≥ BC
  ITEM_ENCHANTMENT_TYPE_STAT  = 0x5,
 #end
 #if ≥ Wrath
  ITEM_ENCHANTMENT_TYPE_TOTEM = 0x6,
  ITEM_ENCHANTMENT_TYPE_USE_SPELL = 0x7,
  ITEM_ENCHANTMENT_TYPE_PRISMATIC_SOCKET = 0x8
 #end
};

4.3.4.15595

struct SpellItemEnchantmentEntry // sizeof(0x5C)
{
   m_ID; // +0x0, size 0x4, type 0
   m_charges; // +0x4, size 0x4, type 0
   m_effect; // +0x8, size 0xC, type 0
   m_effectPointsMin; // +0x14, size 0xC, type 0
   m_effectPointsMax; // +0x20, size 0xC, type 0
   m_effectArg; // +0x2C, size 0xC, type 0
   langstringref m_name_lang; // +0x38, size 0x4, type 2
   m_itemVisual; // +0x3C, size 0x4, type 0
   m_flags; // +0x40, size 0x4, type 0
   m_src_itemID; // +0x44, size 0x4, type 0
   m_condition_id; // +0x48, size 0x4, type 0
   m_requiredSkillID; // +0x4C, size 0x4, type 0
   m_requiredSkillRank; // +0x50, size 0x4, type 0
   m_minLevel; // +0x54, size 0x4, type 0
   m_itemLevel; // +0x58, size 0x4, type 0
};

6.0.1.18179

struct SpellItemEnchantmentRec {
  uint32_t m_ID;
  uint32_t m_charges;
  uint32_t m_effect[3];
  uint32_t m_effectPointsMin[3];
  uint32_t m_effectArg[3];
  langstringref m_name_lang;
  uint32_t m_itemVisual;
  uint32_t m_flags;
  uint32_t m_src_itemID;
  uint32_t m_condition_id;
  uint32_t m_requiredSkillID;
  uint32_t m_requiredSkillRank;
  uint32_t m_minLevel;
  uint32_t m_maxLevel;
  uint32_t m_itemLevel;
  uint32_t m_scalingClass;
  uint32_t m_scalingClassRestricted;
  float m_effectScalingPoints[3];
};

Flags

Value Description
0x001 causes souldbound whilst applied CGItem_C::IsBound
0x002 suppress enchantment log
0x004 Mainhand Only
0x008 player spell enchantment e.g. [Rockbiter] / TBC classic : Allow Entering Arena
0x010 Do Not Save To DB
0x020 bonus increments by 1 CalculateEnchantmentBonus / TBC classic : Scale As A Gem
0x040 Disable In Challenge Modes
0x080 Disable in Proving Grounds
0x100 collectable / Allow transmog
0x200 hidden if not collected