ChrClasses.dbc
职业定义表(主角职业),定义了魔兽世界中所有可玩职业的基本属性。该文件包含职业ID(职业编号)、显示能量类型(法力/怒气/集中值/能量/快乐度/符文)、多语言名称(含男女和中性变体)、英文图标文件名、法术分类集ID、开场动画、所需资料片等关键信息。
文件概述
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 个职业。
列结构
| 序号 | 字段名 | 类型 | 说明 |
|---|---|---|---|
| 1 | ID | int | 职业编号(主键)。1=战士 2=圣骑士 3=猎人 4=盗贼 5=牧师 6=死亡骑士 7=萨满 8=法师 9=术士 10=德鲁伊(未使用) |
| 2 | Field01 | int | 职业特征标识(CHM:未知字段,但有明确规律)。1=猎人、萨满和潜行者,9=死亡骑士,0=其他职业 |
| 3 | DisplayPower | int | 显示能量类型(能量类型)。0=法力 1=怒气 2=集中值 3=能量 4=快乐度 5=符文。控制角色界面资源条显示 |
| 4 | PetNameToken | int | 宠物名称标识(CHM:未使用)。用于宠物命名系统 |
| 5 | Unused | int | 未使用(CHM 标记为未使用) |
| 6-21 | Unused_Block | int | 未使用(CHM:貌似总为 0xFF01FF)。16个字段的值通常固定为 0xFF01FF |
| 22-37 | Name_Female_Lang_* | varchar(100) | 女性角色使用的职业名称(CHM:女性使用名称)。多语言文本(16种语言) |
| 38 | Female_Name_Mask | int | 女性名称分隔标识(CHM:未使用,貌似总为 0xFF01EC)。固定值标记 |
| 39-54 | Name_Neutral_Lang_* | varchar(100) | 中性角色使用的职业名称(CHM:中性角色使用)。多语言通用名称(16种语言) |
| 55 | Neutral_Name_Mask | int | 中性名称分隔标识(CHM:未使用,貌似总为 0xFF01EC)。固定值标记 |
| 56 | Filename | varchar(100) | 英文名称/图标文件名(CHM:名称,英文)。如 "WARRIOR"、"MAGE"、"PALADIN" 等 |
| 57 | SpellClassSet | int | 技能族(CHM:技能族)。法术分类集ID,关联 Spell.dbc 中的法术类别 |
| 58 | Flags | int | 标识(CHM:标识)。标志位,控制职业的特殊行为(如是否在角色创建界面显示) |
| 59 | CinematicSequenceID | int | 开场动画(CHM:动画)。165=死亡骑士,0=其他职业。关联 CinematicSequences.dbc |
| 60 | Required_Expansion | int | 所需资料片(CHM:要求说明)。0=经典旧世(WoW),1=燃烧的远征(TBC),2=巫妖王之怒(Wotlk) |
重要字段详解
DisplayPower(显示能量类型)
定义该职业在游戏界面中显示的资源条类型。CHM 详解明确了每种取值对应的能量类型:
定义该职业在游戏界面中显示的资源条类型。CHM 详解明确了每种取值对应的能量类型:
- 0 法力 - 法师/牧师/术士/德鲁伊/萨满/圣骑士
- 1 怒气 - 战士/德鲁伊(熊形态)
- 2 集中值 - 猎人
- 3 能量 - 盗贼/德鲁伊(猫形态)
- 4 快乐度 - 宠物相关(宠物幸福度)
- 5 符文 - 死亡骑士
Field01(职业特征标识)
CHM 中文详解发现该字段有明确规律:
CHM 中文详解发现该字段有明确规律:
- 1 猎人、萨满、潜行者(这三者共享相同标识值)
- 9 死亡骑士
- 0 其他所有职业(战士、圣骑士、牧师、法师、术士、德鲁伊)
职业ID对照表
ChrClasses.dbc 和 ChrRaces.dbc 的 ID 在代码中广泛使用。
ChrClasses.dbc 和 ChrRaces.dbc 的 ID 在代码中广泛使用。
| ID | 职业 | 战斗力类型 | 可用种族 |
|---|---|---|---|
| 1 | 战士 | 近战物理 | 全种族 |
| 2 | 圣骑士 | 近战/治疗 | 人类/矮人/德莱尼/血精灵/牛头人 |
| 3 | 猎人 | 远程物理 | 除人类/亡灵外 |
| 4 | 盗贼 | 近战物理 | 除德莱尼/牛头人外 |
| 5 | 牧师 | 治疗/法系 | 除兽人外 |
| 6 | 死亡骑士 | 近战/坦克 | 全种族 |
| 7 | 萨满祭司 | 近战/法系/治疗 | 兽人/巨魔/牛头人/德莱尼 |
| 8 | 法师 | 远程法系 | 除牛头人/德莱尼外 |
| 9 | 术士 | 远程法系 | 除德莱尼外 |
名称列的结构说明
CHM 详解指出名称分为三组,由固定分隔值 0xFF01FF 和 0xFF01EC 分隔:
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"。
角色创建界面的职业图标文件引用。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 字段
- 职业ID 用于:CharStartOutfit.dbc、SkillLineAbility.dbc、TalentTab.dbc、item_template.AllowableClass 等多种表
- ClassMask 计算方式:位掩码,值为 2^(classID-1),如战士=1, 圣骑士=2, 猎人=4, 盗贼=8
- 修改职业名称:在 chrclasses_dbc 表中修改 Name_Lang_zhCN 字段即可更改客户端显示的中文名称
- 注意:ID=10 (德鲁伊) 在官方 3.3.5a 中未使用,德鲁伊实际使用 ID=7,但部分文件中有预留