DB/ChrClasses

From wowdev
Revision as of 00:45, 10 April 2022 by T1ti (talk | contribs) (→‎Flags)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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