SpellDuration.dbc
法术持续时间表(单位毫秒)。CHM 详解:包含编号、基础持续时间、每级持续时间、最大持续时间。控制 DeBuff、Buff、控制效果等各类法术状态的持续时长。
字段结构 - CHM详解
| 索引 | 字段名 | 类型 | 说明 |
|---|---|---|---|
| 1 | ID | uint32 | 编号(CHM:编号)。持续时间唯一标识符,被 Spell.dbc 的 DurationIndex 引用 |
| 2 | Base | uint32 | 基础持续时间(CHM:基础持续时间)。基础持续时间(毫秒),0=瞬发,-1=无限 |
| 3 | PerLevel | uint32 | 每级持续时间(CHM:每级持续时间)。每等级增加的持续时间(毫秒) |
| 4 | Max | uint32 | 最大持续时间(CHM:最大持续时间)。最大持续时间(毫秒) |
关键字段详解
ID / 编号 - 持续时间索引
CHM 详解说明该列为"编号"。被 Spell.dbc 的 DurationIndex(第 41 列)引用。常见 ID:1=0ms(瞬发)、3=10000ms、5=30000ms、8=15000ms、9=20000ms、21=-1(无限持续)、29=3600000ms(1小时)、31=120000ms(2分钟)、35=5000ms、36=86400000ms(24小时)、37=3000ms。
Base / 基础持续时间
CHM 详解说明该列为"基础持续时间"。以毫秒为单位。特殊值:0=瞬发/无持续时间、-1=永久持续。常见场景:魅惑=15000ms、变形=50000ms、恐惧=8000ms(PvE)/6000ms(PvP)。
PerLevel / 每级持续时间
CHM 详解说明该列为"每级持续时间"。持续时间随等级提升增加的毫秒数。多数为 0。
Max / 最大持续时间
CHM 详解说明该列为"最大持续时间"。持续时间上限。当 PerLevel 非零时,Base + PerLevel × Level 的结果不能超过此值。
使用示例
-- 查询所有超过 10 分钟的 Buff 法术
SELECT s.ID, s.Name, d.Base AS DurationMs
FROM spell_dbc s
JOIN spell_duration d ON s.DurationIndex = d.ID
WHERE d.Base > 600000 OR d.Base = -1
ORDER BY d.Base DESC;