SkillLineAbility.dbc
技能线-法术关联表(技能面板上的技能熟练度和技能存放在哪个位置)。CHM 详解涵盖了:编号、技能编号、法术编号、种族掩码、职业掩码、排除种族、排除职业、最小技能等级、法术取代(取代这个技能的法术)、自动学习类型(1=学习本专业时学到技能)、最高技能等级(技能变成灰色)、最低技能等级(技能变成黄色)、角色点数等核心字段。
文件概述
SkillLineAbility.dbc 是专业技能系统的核心关联表,它连接了 SkillLine.dbc(技能线定义)和 Spell.dbc(法术定义)。CHM 详解将其描述为"技能面板上的技能熟练度和技能存放在哪个位置"。每一行指定了某个技能线在达到指定等级时可以学习的法术配方,以及该法术/配方在何种技能等级范围内提供经验值(黄/绿/灰机制)。CHM 特别说明了 法术取代(取代这个技能的法术)和 自动学习类型(1=学习本专业时学到技能)。
数据库对应表:world.skilllineability_dbc。
列结构
| 序号 | 字段名 | 类型 | 说明 |
|---|---|---|---|
| 1 | ID | int | 编号(CHM:编号)。唯一标识 (主键) |
| 2 | SkillLine | int | 技能编号(CHM:技能编号)。技能线ID,关联 SkillLine.dbc |
| 3 | Spell | int | 法术编号(CHM:法术编号)。关联 Spell.dbc,该技能线上可学习的法术/配方 |
| 4 | RaceMask | int | 种族掩码(CHM:种族掩码)。种族限制。0=无限制,否则按位组合的种族限制 |
| 5 | ClassMask | int | 职业掩码(CHM:职业掩码)。职业限制。0=无限制,否则按位组合的职业限制 |
| 6 | ExcludeRace | int | 排除种族(CHM:排除种族)。排除的种族掩码(反向限制)。0=不排除 |
| 7 | ExcludeClass | int | 排除职业(CHM:排除职业)。排除的职业掩码(反向限制)。0=不排除 |
| 8 | MinSkillLineRank | int | 最小技能等级(CHM:最小技能等级)。学习该法术所需的最低技能等级 |
| 9 | SupercededBySpell | int | 法术取代(CHM:法术取代,取代这个技能的法术)。当学习更高等级法术时,此法术将被替换 |
| 10 | AcquireMethod | int | 自动学习类型(CHM:自动学习类型,1=学习本专业时学到技能)。获取方式:0=可训练 1=配方学习 2=任务/其他 |
| 11 | TrivialSkillLineRankHigh | int | 最高技能等级(CHM:最高技能等级,技能变成灰色(绿色=(灰色+黄色)/2))。技能经验升变上限 |
| 12 | TrivialSkillLineRankLow | int | 最低技能等级(CHM:最低技能等级,技能变成黄色(下面是橙色))。技能经验升变下限 |
| 13-14 | CharacterPoints_1,2 | int | 角色点数(CHM:角色点数)。角色点数消耗(如学习配方的训练点等) |
重要字段详解
技能等级升变系统(黄/绿/灰)- CHM详解
CHM 详细说明了技能颜色的变化机制:
CHM 给出公式:绿色 = (灰色 + 黄色)/ 2,即中间值由高低两端的平均值决定。
CHM 详细说明了技能颜色的变化机制:
| 技能等级 | 配方颜色 | 升级几率 | 判断条件 |
|---|---|---|---|
| 技能 < TrivialSkillLineRankLow | 橙色(下面是橙色) | 100% | 必定升级 |
| TrivialSkillLineRankLow ≤ 技能 < 中间值 | 黄色(最低技能等级使技能变黄) | ~75% | 高几率升级 |
| 中间值(绿色≈(灰色+黄色)/2) | 绿色 | ~25% | 低几率升级 |
| 技能 ≥ TrivialSkillLineRankHigh | 灰色(最高技能等级使技能变灰) | 0% | 不再升级 |
AcquireMethod / 自动学习类型
CHM 特别说明1=学习本专业时学到技能:
CHM 特别说明1=学习本专业时学到技能:
- 0 可训练:可从技能训练师处学习(最常用)
- 1 配方学习/自动学习:学习本专业时自动学到技能(CHM详解)
- 2 任务/其他:通过完成任务或其他方式获得
RaceMask/ClassMask 限制
- RaceMask = 0, ClassMask = 0:所有种族和职业都可以学习
- ExcludeRace 和 ExcludeClass:反向排除特定种族/职业
- 位掩码计算同 ChrRaces.dbc/ChrClasses.dbc 中的规则
使用技巧
查询锻造技能在300级时可学的所有配方:
SELECT sla.Spell, s.SpellName_Lang_zhCN AS 配方名,
sla.MinSkillLineRank, sla.TrivialSkillLineRankHigh,
sla.TrivialSkillLineRankLow
FROM skilllineability_dbc sla
JOIN spell_dbc s ON sla.Spell = s.ID
WHERE sla.SkillLine = 164 -- 锻造
AND sla.MinSkillLineRank = 300
ORDER BY sla.TrivialSkillLineRankHigh;
- 自定义配方:在 Spell.dbc 创建法术后,在 skilllineability_dbc 添加关联行
- 限制配方:通过 RaceMask/ClassMask 控制特定种族/职业可用
- 平衡经验:调整 TrivialSkillLineRankHigh/Low 可改变配方提供经验的范围
- 配方升级链:使用 SupercededBySpell(法术取代)定义配方的等级升级关系