DB/ItemSubClass: Difference between revisions
Jump to navigation
Jump to search
Barncastle (talk | contribs) m (→m_displayFlags: official names) |
|||
(22 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
== | ==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 [[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 | '''Column Field Type Notes''' | ||
1 iRefID_[[ItemClass.dbc|ItemClass]] | 1 iRefID_[[ItemClass.dbc|ItemClass]] Integer | ||
2 subClassID | 2 subClassID Integer Index, non-unique, type. | ||
3 prerequisiteProficiency | 3 prerequisiteProficiency Integer | ||
4 postrequisiteProficiency | 4 postrequisiteProficiency Integer | ||
5 flags | 5 flags Integer | ||
6 displayFlags | 6 displayFlags Integer | ||
7 weaponParrySeq | 7 weaponParrySeq Integer | ||
8 weaponReadySeq | 8 weaponReadySeq Integer | ||
9 weaponAttackSeq Integer | 9 weaponAttackSeq Integer | ||
10 WeaponSwingSize Integer Melee slots required. | 10 WeaponSwingSize Integer Melee slots required. | ||
11-27 displayName | 11-27 displayName String + [[Loc]] | ||
28-44 verboseName | 28-44 verboseName String + [[Loc]] | ||
==6.0.1.18179== | ==6.0.1.18179== | ||
struct ItemSubClassRec { | struct ItemSubClassRec { | ||
uint8_t padding_0[4]; | uint8_t padding_0[4]; | ||
foreign_key | {{Template:Type/foreign_key|table=ItemClass|column=m_classID}} m_classID; | ||
uint32_t m_subClassID; | uint32_t m_subClassID; | ||
uint32_t m_prerequisiteProficiency; | uint32_t m_prerequisiteProficiency; | ||
Line 35: | Line 56: | ||
uint32_t m_weaponAttackSeq; | uint32_t m_weaponAttackSeq; | ||
uint32_t m_WeaponSwingSize; // match with [[WeaponSwingSounds2.dbc|WeaponSwingSounds2Rec]]::m_SwingType | 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_WotLK]] | ||
[[Category:DBC_WoD]][[Category:6.0.1.18179]] | [[Category:DBC_WoD]][[Category:6.0.1.18179]] |
Latest revision as of 12: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, (0.5.3.3368) excludes m_displayName_lang from tooltips HideSubClassInAuction = 2, // Script_QueryAuctionItems, Script_GetDetailColumnString, Script_GetAuctionItemSubClasses, Script_GetAuctionInvTypes ShowItemCount = 4, // Script_GetInventoryItemCount };