DB/ItemSubClass: Difference between revisions

From wowdev
Jump to navigation Jump to search
mNo edit summary
m (→‎m_displayFlags: official names)
 
(12 intermediate revisions by the same user not shown)
Line 1: Line 1:
==0.5.3.3368==
==0.5.3.3368, 1.12.1.5875==
  struct ItemSubClassRec {
  struct ItemSubClassRec {
   uint32_t m_classID;
   uint32_t m_classID;
Line 7: Line 7:
   uint32_t m_flags;
   uint32_t m_flags;
   uint32_t m_displayFlags;
   uint32_t m_displayFlags;
   uint32_t m_weaponParrySeq;
   uint32_t m_weaponParrySeq;     // index into s_anims_parry, WEAPONPARRYSEQ enum
   uint32_t m_weaponReadySeq;
   uint32_t m_weaponReadySeq;     // index into s_anims_ready, WEAPONREADYSEQ enum
   uint32_t m_weaponAttackSeq;
   uint32_t m_weaponAttackSeq;   // index into s_anims_attack, WEAPONATTACKSEQ enum
   uint32_t m_WeaponSwingSize;
   uint32_t m_WeaponSwingSize;   // match with [[WeaponSwingSounds2.dbc|WeaponSwingSounds2Rec]]::m_SwingType
   {{Template:Type|langstringref}} m_displayName_lang;
   {{Template:Type|langstringref}} m_displayName_lang;
   {{Template:Type|langstringref}} m_verboseName_lang;
   {{Template:Type|langstringref}} m_verboseName_lang;
  uint32_t m_generatedID;
  };
  };
==1.12.1.5875==
  struct ItemSubClassRec {
enum WEAPONSWING_SOUNDTYPES
   uint32_t m_classID;
  {
   uint32_t m_subClassID;
   WEAPONSWING_LIGHT = 0x0,
   uint32_t m_prerequisiteProficiency;
   WEAPONSWING_MEDIUM = 0x1,
   uint32_t m_postrequisiteProficiency;
   WEAPONSWING_HEAVY = 0x2,
   uint32_t m_flags;
   NUM_WEAPONSWINGSOUNDTYPES = 0x3,
  uint32_t m_displayFlags;
   WEAPONSWING_UNUSED = 0xFFFFFFFF,
  uint32_t m_weaponParrySeq;
  uint32_t m_weaponReadySeq;
  uint32_t m_weaponAttackSeq;
  uint32_t m_WeaponSwingSize;
  {{Template:Type|langstringref}} m_displayName_lang;
  {{Template:Type|langstringref}} m_verboseName_lang;
  };
  };
ANIMENUMERATION s_anims_parry[4] = { ANIM_PARRY2HTIGHT, ANIM_PARRY2HLOOSE, ANIM_PARRY1H, ANIM_STAND };
ANIMENUMERATION s_anims_ready[6] = { ANIM_READY2HTIGHT, ANIM_READY2HLOOSE, ANIM_READY1H, ANIM_READYBOW, ANIM_READYRIFLE, ANIM_READYTHROWN };
ANIMENUMERATION s_anims_attack[6] = { ANIM_ATTACK2HTIGHT, ANIM_ATTACK2HLOOSE, ANIM_ATTACKBOW, ANIM_ATTACK1H, ANIM_ATTACKRIFLE, ANIM_ATTACKTHROWN };
==Structure==
==Structure==
  '''Column Field Type Notes'''  
  '''Column Field Type Notes'''  
  1 iRefID_[[ItemClass.dbc|ItemClass]] Integer
  1 iRefID_[[ItemClass.dbc|ItemClass]] Integer
  2 subClassID Integer Index, non-unique, type.  
  2 subClassID Integer Index, non-unique, type.  
  3 prerequisiteProficiency Integer
  3 prerequisiteProficiency Integer
  4 postrequisiteProficiency Integer
  4 postrequisiteProficiency Integer
  5 flags Integer
  5 flags Integer
  6 displayFlags Integer
  6 displayFlags Integer
  7 weaponParrySeq Integer
  7 weaponParrySeq Integer
  8 weaponReadySeq Integer
  8 weaponReadySeq Integer
  9 weaponAttackSeq Integer
  9 weaponAttackSeq Integer
  10 WeaponSwingSize Integer Melee slots required.  
  10 WeaponSwingSize Integer Melee slots required.  
  11-27 displayName String + [[Loc]]
  11-27 displayName String + [[Loc]]
  28-44 verboseName String + [[Loc]]
  28-44 verboseName String + [[Loc]]


==6.0.1.18179==
==6.0.1.18179==
Line 63: Line 61:
=m_flags=
=m_flags=
  enum {
  enum {
   flag_unk_0x20 = 0x20,               // CGPlayer_C::AttachObjComponent  CGUnit_C::AttachVirtualComponent  
   flag_melee = 0x1,
   flag_unk_0x40 = 0x40,               // Spell_C_HaveEquippedSpellItems : Appears to disable the itemsubclass check
  flag_affect_hand_state = 0x2,                // ClientDBWeaponSubclassSetsFingerSeq
   flag_unk_0x200 = 0x200,             // Script_GetAuctionInvTypes
  flag_unarmed = 0x4,                          // is the default unarmed subclass
  flag_forcealternate = 0x20,                   // CGPlayer_C::AttachObjComponent  CGUnit_C::AttachVirtualComponent  
   flag_skip_reagent_subclass_check = 0x40,     // Spell_C_HaveEquippedSpellItems : skips item subclass validation for spell reagents
   flag_unk_0x200 = 0x200,                       // Script_GetAuctionInvTypes
  };
  };


=m_displayFlags=
=m_displayFlags=
  enum {
  enum {
   displayFlag_unk_0x01 = 1,           // CGContainerInfo::IsSearchFiltered, SendItemInfo
   HideSubClassInTooltip = 1,     // CGContainerInfo::IsSearchFiltered, SendItemInfo, {{Template:Sandbox/PrettyVersion|expansionlevel=0|build=0.5.3.3368}} excludes m_displayName_lang from tooltips
   displayFlag_unk_0x02 = 2,           // Script_QueryAuctionItems, Script_GetDetailColumnString, Script_GetAuctionItemSubClasses, Script_GetAuctionInvTypes
   HideSubClassInAuction = 2,     // Script_QueryAuctionItems, Script_GetDetailColumnString, Script_GetAuctionItemSubClasses, Script_GetAuctionInvTypes
   displayFlag_unk_0x04 = 4,           // Script_GetInventoryItemCount
   ShowItemCount = 4,             // Script_GetInventoryItemCount
  };
  };


[[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 11:10, 20 November 2018

0.5.3.3368, 1.12.1.5875

struct ItemSubClassRec {
  uint32_t m_classID;
  uint32_t m_subClassID;
  uint32_t m_prerequisiteProficiency;
  uint32_t m_postrequisiteProficiency;
  uint32_t m_flags;
  uint32_t m_displayFlags;
  uint32_t m_weaponParrySeq;     // index into s_anims_parry, WEAPONPARRYSEQ enum
  uint32_t m_weaponReadySeq;     // index into s_anims_ready, WEAPONREADYSEQ enum
  uint32_t m_weaponAttackSeq;    // index into s_anims_attack, WEAPONATTACKSEQ enum
  uint32_t m_WeaponSwingSize;    // match with WeaponSwingSounds2Rec::m_SwingType
  langstringref m_displayName_lang;
  langstringref m_verboseName_lang;
};

enum WEAPONSWING_SOUNDTYPES
{
  WEAPONSWING_LIGHT = 0x0,
  WEAPONSWING_MEDIUM = 0x1,
  WEAPONSWING_HEAVY = 0x2,
  NUM_WEAPONSWINGSOUNDTYPES = 0x3,
  WEAPONSWING_UNUSED = 0xFFFFFFFF,
};

ANIMENUMERATION s_anims_parry[4] = { ANIM_PARRY2HTIGHT, ANIM_PARRY2HLOOSE, ANIM_PARRY1H, ANIM_STAND };
ANIMENUMERATION s_anims_ready[6] = { ANIM_READY2HTIGHT, ANIM_READY2HLOOSE, ANIM_READY1H, ANIM_READYBOW, ANIM_READYRIFLE, ANIM_READYTHROWN };
ANIMENUMERATION s_anims_attack[6] = { ANIM_ATTACK2HTIGHT, ANIM_ATTACK2HLOOSE, ANIM_ATTACKBOW, ANIM_ATTACK1H, ANIM_ATTACKRIFLE, ANIM_ATTACKTHROWN };

Structure

Column	Field 				Type 		Notes 
1 	iRefID_ItemClass 		Integer 	
2 	subClassID 			Integer 	Index, non-unique, type. 
3 	prerequisiteProficiency 	Integer 	
4 	postrequisiteProficiency 	Integer	 	
5 	flags 				Integer	 	
6 	displayFlags 			Integer 	
7 	weaponParrySeq 			Integer 	
8 	weaponReadySeq 			Integer 	
9 	weaponAttackSeq 		Integer 	
10 	WeaponSwingSize 		Integer 	Melee slots required. 
11-27 	displayName 			String + Loc
28-44 	verboseName 			String + Loc

6.0.1.18179

struct ItemSubClassRec {
  uint8_t padding_0[4];
  foreign_key<uint32_t, &ItemClassRec::m_classID> m_classID;
  uint32_t m_subClassID;
  uint32_t m_prerequisiteProficiency;
  uint32_t m_postrequisiteProficiency;
  uint32_t m_flags;
  uint32_t m_displayFlags;
  uint32_t m_weaponParrySeq;
  uint32_t m_weaponReadySeq;
  uint32_t m_weaponAttackSeq;
  uint32_t m_WeaponSwingSize;                                         // match with WeaponSwingSounds2Rec::m_SwingType
  langstringref m_displayName_lang;
  langstringref m_verboseName_lang;
};

m_flags

enum {
  flag_melee = 0x1,
  flag_affect_hand_state = 0x2,                 // ClientDBWeaponSubclassSetsFingerSeq
  flag_unarmed = 0x4,                           // is the default unarmed subclass
  flag_forcealternate = 0x20,                   // CGPlayer_C::AttachObjComponent  CGUnit_C::AttachVirtualComponent 
  flag_skip_reagent_subclass_check = 0x40,      // Spell_C_HaveEquippedSpellItems : skips item subclass validation for spell reagents
  flag_unk_0x200 = 0x200,                       // Script_GetAuctionInvTypes
};

m_displayFlags

enum {
  HideSubClassInTooltip = 1,      // CGContainerInfo::IsSearchFiltered, SendItemInfo, PreVanilla (0.5.3.3368) excludes m_displayName_lang from tooltips
  HideSubClassInAuction = 2,      // Script_QueryAuctionItems, Script_GetDetailColumnString, Script_GetAuctionItemSubClasses, Script_GetAuctionInvTypes
  ShowItemCount = 4,              // Script_GetInventoryItemCount
};