TalentTab.dbc
天赋选项卡表(天赋选项卡),定义了每个职业的天赋树页面。根据 CHM 中文详解,第1列为选项卡编号(未使用)、第2-17列名称(未使用)、第18列标识、第19列法术图标(未使用)、第20列种族掩码(仅玩家可用)、第21列职业掩码(仅玩家可用)、第22列宠物天赋(仅猎人宠物可用)、第23列选项卡页面、第24列内部名称(仅代码内使用)。
文件概述
TalentTab.dbc 定义了所有职业的天赋树页面。每个职业有3个天赋页(Tab),每个天赋页包含该天赋树的名称、图标、可用种族/职业掩码、在天赋界面中的显示顺序以及天赋窗口的背景图片。CHM 详解指出:第1列(选项卡编号)和第2-17列(名称)标记为"未使用",第19列法术图标也标记为"未使用"。第20-21列的种族掩码和职业掩码标记为"仅玩家可用",第22列标记为"仅猎人宠物可用",第24列为"内部名称,仅代码内使用"。
数据库对应表:world.talenttab_dbc。
列结构
| 序号 | 字段名 | 类型 | 说明 |
|---|---|---|---|
| 1 | ID | int | 选项卡编号(CHM:选项卡编号,未使用)。Talent.dbc.TabID 引用此值 |
| 2-17 | Name_Lang_* | varchar(100) | 名称(CHM:名称,未使用)。天赋页名称多语言文本 |
| 18 | Name_Lang_Mask | int | 标识(CHM:标识)。固定值标记 |
| 19 | SpellIconID | int | 法术图标(CHM:法术图标,未使用)。天赋页图标ID,关联 SpellIcon.dbc |
| 20 | RaceMask | int | 种族掩码(CHM:种族掩码,仅玩家可用)。0=无限制(所有种族) |
| 21 | ClassMask | int | 职业掩码(CHM:职业掩码,仅玩家可用)。决定了该天赋页属于哪个职业。值为 2^(ClassID-1) |
| 22 | PetTalentMask | int | 宠物天赋(CHM:宠物天赋,仅猎人宠物可用)。非0表示该页是宠物天赋页 |
| 23 | OrderIndex | int | 选项卡页面(CHM:选项卡页面)。控制天赋页在窗口中的排列顺序 (0=最左, 2=最右) |
| 24 | BackgroundFile | varchar(100) | 内部名称(CHM:内部名称,仅代码内使用)。天赋窗口的背景图片文件名。如 "Interface\TalentFrame\Warrior-Arms" |
重要字段详解
战士天赋页示例(3个Tab)
| TabID | 名称 | OrderIndex | ClassMask | 说明 |
|---|---|---|---|---|
| 161 | 武器 (Arms) | 0 | 1 | 双手武器专精,左侧标签 |
| 164 | 狂怒 (Fury) | 1 | 1 | 双持狂暴输出,中间标签 |
| 163 | 防护 (Protection) | 2 | 1 | 坦克专精,右侧标签 |
全部职业天赋页速查
| 职业 | ClassMask | Tab1 (左) | Tab2 (中) | Tab3 (右) |
|---|---|---|---|---|
| 战士 | 1 | 武器(161) | 狂怒(164) | 防护(163) |
| 圣骑士 | 2 | 神圣(382) | 防护(383) | 惩戒(381) |
| 猎人 | 4 | 野兽控制(361) | 射击(363) | 生存(362) |
| 盗贼 | 8 | 刺杀(182) | 战斗(181) | 敏锐(183) |
| 牧师 | 16 | 戒律(201) | 神圣(202) | 暗影(203) |
| 死亡骑士 | 32 | 鲜血(398) | 冰霜(399) | 邪恶(400) |
| 萨满祭司 | 64 | 元素(261) | 增强(263) | 恢复(262) |
| 法师 | 128 | 奥术(81) | 火焰(41) | 冰霜(61) |
| 术士 | 256 | 痛苦(302) | 恶魔学识(303) | 毁灭(301) |
| 德鲁伊 | 1024 | 平衡(283) | 野性战斗(281) | 恢复(282) |
宠物天赋 (PetTalentMask) - CHM详解
CHM 特别注明该列为"仅猎人宠物可用":
CHM 特别注明该列为"仅猎人宠物可用":
- PetTalentMask > 0:该天赋页属于宠物(而非玩家)
- 猎人宠物的3个天赋树(狡诈/狂野/坚韧)有独立的 TalentTab 条目
- 术士宠物的部分天赋也可能使用独立的 TalentTab
CHM 中标记为"未使用"的字段
- 第1列(选项卡编号):CHM 标记为"未使用",但在实际系统中作为主键ID
- 第2-17列(名称):CHM 标记为"未使用",但在 WotLK 3.3.5a 中确实存储了名称数据
- 第19列(法术图标):CHM 标记为"未使用",但游戏客户端实际使用此图标
- CHM 的这些标记可能反映的是更早版本或不同的 DBC 结构理解
内部名称(第24列)
CHM 说明该列为"内部名称,仅代码内使用"。在 WotLK 中,该字段实际上存储了天赋窗口背景图片路径,用于控制天赋窗口的背景视觉外观。如战士武器天赋页的 "Interface\TalentFrame\Warrior-Arms"。
CHM 说明该列为"内部名称,仅代码内使用"。在 WotLK 中,该字段实际上存储了天赋窗口背景图片路径,用于控制天赋窗口的背景视觉外观。如战士武器天赋页的 "Interface\TalentFrame\Warrior-Arms"。
使用技巧
查询某职业的所有天赋页:
SELECT ID, Name_Lang_zhCN AS 天赋树名称,
OrderIndex AS 排序, SpellIconID, BackgroundFile AS 内部名称
FROM talenttab_dbc
WHERE ClassMask = 1 -- 战士 (2^(1-1) = 1)
ORDER BY OrderIndex;
- 自定义天赋页:在 talenttab_dbc 新增行定义新天赋树,设置 ClassMask 限制职业
- 修改排序:修改 OrderIndex(选项卡页面)可改变天赋页在窗口中的位置
- 宠物天赋:通过 PetTalentMask(仅猎人宠物可用)定义宠物专用天赋页
- 内部名称:BackgroundFile(内部名称,仅代码内使用)控制天赋窗口的背景视觉效果
- 完整天赋系统:TalentTab → Talent → SpellRank_* → Spell.dbc,四层关联完整定义天赋