DB/ChrClasses: Difference between revisions

From wowdev
Jump to navigation Jump to search
m (Added Category WotLK)
 
(17 intermediate revisions by 8 users not shown)
Line 1: Line 1:
==Header Info ==
==Classic==
Records....................10
===0.5.3.3368===
  Fields.....................60
====Struct====
  Record Size...............240
  struct ChrClassesRec {
String Block Size.........160
  uint32_t m_ID;
 
  uint32_t m_PlayerClass;
==9183==
  uint32_t m_DamageBonusStat;
  uint32_t m_DisplayPower;
  {{Template:Type|stringref}} m_petNameToken;
  {{Template:Type|langstringref}} m_name_lang;
  };
===1.12.1.5875===
====Struct====
struct ChrClassesRec {
  uint32_t m_ID;
  uint32_t m_PlayerClass;
  uint32_t m_DamageBonusStat;
  uint32_t m_DisplayPower;
  {{Template:Type|stringref}} m_petNameToken;
  {{Template:Type|langstringref}} m_name_lang;
  {{Template:Type|stringref}} m_filename;
  uint32_t m_spellClassSet;
  uint32_t m_flags;
};


==Wrath==
===3.0.3.9183-3.3.5.12340===
====Table====
{| style="background:#FCFCFC; color:black"
{| style="background:#FCFCFC; color:black"
|-  
|-  
Line 20: Line 40:
|2||PowerType||Integer||0 = Mana, 1 = Rage, 2 = Focus, 3 = Energy, 4 = Happiness, 6 = Runes   
|2||PowerType||Integer||0 = Mana, 1 = Rage, 2 = Focus, 3 = Energy, 4 = Happiness, 6 = Runes   
|-
|-
|3||DisplayPower||String||Pet type. Warlock is 101 (DEMON) while all other classes are 1 (PET).
|3|| m_petNameToken ||String||Pet type. Warlock is 101 (DEMON) while all other classes are 1 (PET).
|-
|-
|4-19||Name||[[Loc]]||
|4-20||Name||[[Loc]]||
|-
|-
|21-36||Name_female||[[Loc]]||
|21-37||Name_female||[[Loc]]||
|-
|-
|38-53||Name_male||[[Loc]]||
|38-54||Name_male||[[Loc]]||
|-
|-
|55||fileName||String||in CAPS, english
|55||fileName||String||in CAPS, english
|-
|-
|56||spellClassSet||Integer||
|56||spellClassSet||Integer|| See below.
|-
|-
|57||Flags||Integer||See below.
|57||Flags||Integer||See below.
Line 39: Line 59:
|-
|-
|}
|}
===additional fields with cataclysm===
=====additional fields with cataclysm=====
     m_attackPowerPerStrength; // +0x2C, size 0x4, type 0
     m_attackPowerPerStrength; // +0x2C, size 0x4, type 0
     m_attackPowerPerAgility; // +0x30, size 0x4, type 0
     m_attackPowerPerAgility; // +0x30, size 0x4, type 0
     m_rangedAttackPowerPerAgility; // +0x34, size 0x4, type 0
     m_rangedAttackPowerPerAgility; // +0x34, size 0x4, type 0
===Flags===
 
  0b00100000 - Can wear plate
==Warlords==
===6.0.1.18179===
====Struct====
struct ChrClassesRec {
  uint32_t m_ID;
  uint32_t m_DisplayPower;
  {{Template:Type|stringref}} m_petNameToken;
  {{Template:Type|langstringref}} m_name_lang;
  {{Template:Type|langstringref}} m_name_female_lang;
  {{Template:Type|langstringref}} m_name_male_lang;
  {{Template:Type|stringref}} m_filename;
  uint32_t m_spellClassSet;
  uint32_t m_flags;
  uint32_t m_cinematicSequenceID;
  uint32_t m_attackPowerPerStrength;
  uint32_t m_attackPowerPerAgility;
  uint32_t m_rangedAttackPowerPerAgility;
  uint32_t m_defaultSpec;
  uint32_t m_createScreenFileDataID;
  uint32_t m_selectScreenFileDataID;
  uint32_t m_lowResScreenFileDataID;
  uint32_t m_iconFileDataID;
};
 
==Flags==
Official definitions from the TBC classic client : (same structure as shadowlands)
0b00000000001 - Use Loincloth
0b00000000010 - Player Class
0b00000000100 - Display Pet
''0b00000001000 - Unused (used to be for the relic slot in older clients)''
0b00000010000 - Can wear mail
0b00000100000 - Can Wear Scaling-Stat Plate
0b00001000000 - Bind Starting Area
0b00010000000 - Pet Bar Initially Hidden
0b00100000000 - Send Stable at Login
0b01000000000 - Monk-Style Unarmed
0b10000000000 - Requires Stance
 
OLD (and probably wrong) :
0b00000001 - Can wear leather
  0b00000010 - Can wear cloth
0b00000100 - Can summon pet
0b00001000 - UsesRelicSlot / Can switch aura
  0b00010000 - Can wear mail  
  0b00010000 - Can wear mail  
  0b00001000 - UsesRelicSlot / Can switch aura
  0b00100000 - Can wear plate
0b00000100 - Can summon pet
0b00000010 - Can wear cloth
0b00000001 - Can wear leather
 


[[Category:DBC]][[Category:DBC_WotLK]]
==spellClassSet==
    SPELLFAMILY_GENERIC    = 0,
    SPELLFAMILY_UNK1        = 1,                            // events, holidays
    // 2 - unused
    SPELLFAMILY_MAGE        = 3,
    SPELLFAMILY_WARRIOR    = 4,
    SPELLFAMILY_WARLOCK    = 5,
    SPELLFAMILY_PRIEST      = 6,
    SPELLFAMILY_DRUID      = 7,
    SPELLFAMILY_ROGUE      = 8,
    SPELLFAMILY_HUNTER      = 9,
    SPELLFAMILY_PALADIN    = 10,
    SPELLFAMILY_SHAMAN      = 11,
    SPELLFAMILY_UNK2        = 12,                          // 2 spells (silence resistance)
    SPELLFAMILY_POTION      = 13,
    // 14 - unused
    SPELLFAMILY_DEATHKNIGHT = 15,
    // 16 - unused
    SPELLFAMILY_PET        = 17
[[Category:DBC]]
[[Category:DBC_Alpha]]
[[Category:DBC_Vanilla]]
[[Category:DBC_WotLK]][[Category:3.0.3.9183]][[Category:3.3.5.12340]]
[[Category:DBC_WoD]][[Category:6.0.1.18179]]

Latest revision as of 23:45, 9 April 2022

Classic

0.5.3.3368

Struct

struct ChrClassesRec {
  uint32_t m_ID;
  uint32_t m_PlayerClass;
  uint32_t m_DamageBonusStat;
  uint32_t m_DisplayPower;
  stringref m_petNameToken;
  langstringref m_name_lang;
};

1.12.1.5875

Struct

struct ChrClassesRec {
  uint32_t m_ID;
  uint32_t m_PlayerClass;
  uint32_t m_DamageBonusStat;
  uint32_t m_DisplayPower;
  stringref m_petNameToken;
  langstringref m_name_lang;
  stringref m_filename;
  uint32_t m_spellClassSet;
  uint32_t m_flags;
};

Wrath

3.0.3.9183-3.3.5.12340

Table

Column Field Type Notes
0 ID Integer
1 Unknown Integer Hunter,Shaman and Rogue got 1, Deathknight 9; others 0 -- seems to be removed in cataclysm.
2 PowerType Integer 0 = Mana, 1 = Rage, 2 = Focus, 3 = Energy, 4 = Happiness, 6 = Runes
3 m_petNameToken String Pet type. Warlock is 101 (DEMON) while all other classes are 1 (PET).
4-20 Name Loc
21-37 Name_female Loc
38-54 Name_male Loc
55 fileName String in CAPS, english
56 spellClassSet Integer See below.
57 Flags Integer See below.
58 Camera iRefID Used for the opening cinematic. Only Deathknight has 165, others got 0
59 required_expansion Integer 0=WoW, 1=TBC, 2=Wotlk
additional fields with cataclysm
   m_attackPowerPerStrength; // +0x2C, size 0x4, type 0
   m_attackPowerPerAgility; // +0x30, size 0x4, type 0
   m_rangedAttackPowerPerAgility; // +0x34, size 0x4, type 0

Warlords

6.0.1.18179

Struct

struct ChrClassesRec {
  uint32_t m_ID;
  uint32_t m_DisplayPower;
  stringref m_petNameToken;
  langstringref m_name_lang;
  langstringref m_name_female_lang;
  langstringref m_name_male_lang;
  stringref m_filename;
  uint32_t m_spellClassSet;
  uint32_t m_flags;
  uint32_t m_cinematicSequenceID;
  uint32_t m_attackPowerPerStrength;
  uint32_t m_attackPowerPerAgility;
  uint32_t m_rangedAttackPowerPerAgility;
  uint32_t m_defaultSpec;
  uint32_t m_createScreenFileDataID;
  uint32_t m_selectScreenFileDataID;
  uint32_t m_lowResScreenFileDataID;
  uint32_t m_iconFileDataID;
};

Flags

Official definitions from the TBC classic client : (same structure as shadowlands)

0b00000000001 - Use Loincloth
0b00000000010 - Player Class
0b00000000100 - Display Pet
0b00000001000 - Unused (used to be for the relic slot in older clients)
0b00000010000 - Can wear mail 
0b00000100000 - Can Wear Scaling-Stat Plate
0b00001000000 - Bind Starting Area
0b00010000000 - Pet Bar Initially Hidden
0b00100000000 - Send Stable at Login
0b01000000000 - Monk-Style Unarmed
0b10000000000 - Requires Stance

OLD (and probably wrong) :

0b00000001 - Can wear leather
0b00000010 - Can wear cloth 
0b00000100 - Can summon pet
0b00001000 - UsesRelicSlot / Can switch aura
0b00010000 - Can wear mail 
0b00100000 - Can wear plate

spellClassSet

   SPELLFAMILY_GENERIC     = 0,
   SPELLFAMILY_UNK1        = 1,                            // events, holidays
   // 2 - unused
   SPELLFAMILY_MAGE        = 3,
   SPELLFAMILY_WARRIOR     = 4,
   SPELLFAMILY_WARLOCK     = 5,
   SPELLFAMILY_PRIEST      = 6,
   SPELLFAMILY_DRUID       = 7,
   SPELLFAMILY_ROGUE       = 8,
   SPELLFAMILY_HUNTER      = 9,
   SPELLFAMILY_PALADIN     = 10,
   SPELLFAMILY_SHAMAN      = 11,
   SPELLFAMILY_UNK2        = 12,                           // 2 spells (silence resistance)
   SPELLFAMILY_POTION      = 13,
   // 14 - unused
   SPELLFAMILY_DEATHKNIGHT = 15,
   // 16 - unused
   SPELLFAMILY_PET         = 17