DB/ItemSubClass: Difference between revisions

From wowdev
Jump to navigation Jump to search
(+ Loc)
m (→‎m_displayFlags: official names)
 
(29 intermediate revisions by 6 users not shown)
Line 1: Line 1:
==Header Info ==
==0.5.3.3368, 1.12.1.5875==
Records....................76
struct ItemSubClassRec {
  Fields.....................28
  uint32_t m_classID;
  Record Size...............112
  uint32_t m_subClassID;
  String Block Size.........920
  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 [[WeaponSwingSounds2.dbc|WeaponSwingSounds2Rec]]::m_SwingType
  {{Template:Type|langstringref}} m_displayName_lang;
  {{Template:Type|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==
==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 Unknown Integer
  3 prerequisiteProficiency Integer
  4 Unknown Integer
  4 postrequisiteProficiency Integer
  5 Unknown Integer
  5 flags Integer
  6 Unknown Integer
  6 displayFlags Integer
  7 Unknown Integer
  7 weaponParrySeq Integer
  8 Unknown Integer
  8 weaponReadySeq Integer
  9 Unknown Integer
  9 weaponAttackSeq Integer
  10 handsNumber Integer Melee slots required.  
  10 WeaponSwingSize Integer Melee slots required.  
  11-19 sRefName String + [[Loc]]
  11-27 displayName String + [[Loc]]
  20-28 Unique plural String + [[Loc]]
  28-44 verboseName String + [[Loc]]


Retrieved from "http://www.sourcepeek.com/wiki/ItemSubClass.dbc"
==6.0.1.18179==
struct ItemSubClassRec {
  uint8_t padding_0[4];
  {{Template:Type/foreign_key|table=ItemClass|column=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 [[WeaponSwingSounds2.dbc|WeaponSwingSounds2Rec]]::m_SwingType
  {{Template:Type|langstringref}} m_displayName_lang;
  {{Template:Type|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, {{Template:Sandbox/PrettyVersion|expansionlevel=0|build=0.5.3.3368}} excludes m_displayName_lang from tooltips
  HideSubClassInAuction = 2,      // Script_QueryAuctionItems, Script_GetDetailColumnString, Script_GetAuctionItemSubClasses, Script_GetAuctionInvTypes
  ShowItemCount = 4,              // Script_GetInventoryItemCount
};


[[Category:DBC]]
[[Category:DBC]]
[[Category:DBC_Alpha]]
[[Category:DBC_Vanilla]]
[[Category:DBC_WotLK]]
[[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
};