文件概述

ChrClasses.dbc 是魔兽世界客户端中最基础的 DBC 文件之一,定义了游戏中的可玩职业。每个职业有一个唯一编号(ID),对应一套完整的属性配置包括显示能量类型(0=法力、1=怒气、2=集中值、3=能量、4=快乐度、5=符文)、多语言名称(含女性/中性变体)、角色创建界面的图标文件名、以及技能族(SpellClassSet)。根据 CHM 中文详解,第2列为职业特征标识:1=猎人、萨满和潜行者,9=死亡骑士,0=其他职业

数据库对应表:world.chrclasses_dbc,服务端通过这些 _dbc 表覆盖或扩展客户端数据。

魔兽版本:3.3.5a (Wrath of the Lich King),共 10 个职业。

列结构

序号字段名类型说明
1IDint职业编号(主键)。1=战士 2=圣骑士 3=猎人 4=盗贼 5=牧师 6=死亡骑士 7=萨满 8=法师 9=术士 10=德鲁伊(未使用)
2Field01int职业特征标识(CHM:未知字段,但有明确规律)。1=猎人、萨满和潜行者,9=死亡骑士,0=其他职业
3DisplayPowerint显示能量类型(能量类型)。0=法力 1=怒气 2=集中值 3=能量 4=快乐度 5=符文。控制角色界面资源条显示
4PetNameTokenint宠物名称标识(CHM:未使用)。用于宠物命名系统
5Unusedint未使用(CHM 标记为未使用)
6-21Unused_Blockint未使用(CHM:貌似总为 0xFF01FF)。16个字段的值通常固定为 0xFF01FF
22-37Name_Female_Lang_*varchar(100)女性角色使用的职业名称(CHM:女性使用名称)。多语言文本(16种语言)
38Female_Name_Maskint女性名称分隔标识(CHM:未使用,貌似总为 0xFF01EC)。固定值标记
39-54Name_Neutral_Lang_*varchar(100)中性角色使用的职业名称(CHM:中性角色使用)。多语言通用名称(16种语言)
55Neutral_Name_Maskint中性名称分隔标识(CHM:未使用,貌似总为 0xFF01EC)。固定值标记
56Filenamevarchar(100)英文名称/图标文件名(CHM:名称,英文)。如 "WARRIOR"、"MAGE"、"PALADIN" 等
57SpellClassSetint技能族(CHM:技能族)。法术分类集ID,关联 Spell.dbc 中的法术类别
58Flagsint标识(CHM:标识)。标志位,控制职业的特殊行为(如是否在角色创建界面显示)
59CinematicSequenceIDint开场动画(CHM:动画)。165=死亡骑士,0=其他职业。关联 CinematicSequences.dbc
60Required_Expansionint所需资料片(CHM:要求说明)。0=经典旧世(WoW),1=燃烧的远征(TBC),2=巫妖王之怒(Wotlk)

重要字段详解

DisplayPower(显示能量类型)
定义该职业在游戏界面中显示的资源条类型。CHM 详解明确了每种取值对应的能量类型:
  • 0 法力 - 法师/牧师/术士/德鲁伊/萨满/圣骑士
  • 1 怒气 - 战士/德鲁伊(熊形态)
  • 2 集中值 - 猎人
  • 3 能量 - 盗贼/德鲁伊(猫形态)
  • 4 快乐度 - 宠物相关(宠物幸福度)
  • 5 符文 - 死亡骑士
Field01(职业特征标识)
CHM 中文详解发现该字段有明确规律:
  • 1 猎人、萨满、潜行者(这三者共享相同标识值)
  • 9 死亡骑士
  • 0 其他所有职业(战士、圣骑士、牧师、法师、术士、德鲁伊)
该字段似乎标记了需要使用特殊能量或特殊机制的职业类型。
职业ID对照表
ChrClasses.dbc 和 ChrRaces.dbc 的 ID 在代码中广泛使用。
ID职业战斗力类型可用种族
1战士近战物理全种族
2圣骑士近战/治疗人类/矮人/德莱尼/血精灵/牛头人
3猎人远程物理除人类/亡灵外
4盗贼近战物理除德莱尼/牛头人外
5牧师治疗/法系除兽人外
6死亡骑士近战/坦克全种族
7萨满祭司近战/法系/治疗兽人/巨魔/牛头人/德莱尼
8法师远程法系除牛头人/德莱尼外
9术士远程法系除德莱尼外
名称列的结构说明
CHM 详解指出名称分为三组,由固定分隔值 0xFF01FF 和 0xFF01EC 分隔:
  • 第22-37列:女性角色使用名称(16种语言),多个游戏客户端使用此列显示女性职业名
  • 第38列:分隔值 0xFF01EC(未使用,固定值)
  • 第39-54列:中性角色使用名称(16种语言),这是最通用的职业名称
  • 第55列:分隔值 0xFF01EC(未使用,固定值)
  • 第56列:英文名称(图标文件名),全大写如 "WARRIOR"、"MAGE"、"PALADIN"、"HUNTER"、"ROGUE"、"PRIEST"、"DEATHKNIGHT"、"SHAMAN"、"WARLOCK"、"DRUID"
Filename(英文名称/图标文件名)
角色创建界面的职业图标文件引用。CHM 特别指出该列为"名称,英文"。值为全大写英文,如 "WARRIOR"、"MAGE"、"PALADIN"、"HUNTER"、"ROGUE"、"PRIEST"、"DEATHKNIGHT"、"SHAMAN"、"WARLOCK"、"DRUID"。

使用技巧

查询职业中文名称:
SELECT ID, Name_Lang_zhCN AS '职业名称', DisplayPower, Filename, Required_Expansion
FROM chrclasses_dbc
ORDER BY ID;
查找战士可用的法术集合:
SELECT ID, SpellClassSet FROM chrclasses_dbc WHERE ID = 1;
-- SpellClassSet (技能族) 可用于关联 Spell.dbc 的 m_spellClassSet 字段