DB/ItemSubClass

From wowdev
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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
};