SpellRange.dbc
法术射程表。CHM 详解:包含编号、最小敌方射程、最小友方射程、最大敌方射程、最大友方射程、类型,以及大量标记为"未使用"的名称字段。被 Spell.dbc 的 RangeIndex 字段引用。
字段结构 - CHM详解
| 索引 | 字段名 | 类型 | 说明 |
|---|---|---|---|
| 1 | ID | uint32 | 编号(CHM:编号)。射程唯一标识符 |
| 2 | MinRangeHostile | float | 最小敌方射程(CHM:最小敌方射程)。攻击敌方的最小射程(码) |
| 3 | MinRangeFriend | float | 最小友方射程(CHM:最小友方射程)。对友方的最小射程(码) |
| 4 | MaxRangeHostile | float | 最大敌方射程(CHM:最大敌方射程)。攻击敌方的最大射程(码) |
| 5 | MaxRangeFriend | float | 最大友方射程(CHM:最大友方射程)。对友方的最大射程(码) |
| 6 | Type | uint32 | 类型(CHM:类型)。射程类型标识 |
| 7-41 | Name/Name2/String | varchar(100) | 名称相关字段(CHM:未使用)。包括名称、名称类型、名称2、字串类型等均标记为未使用 |
关键字段详解
ID / 编号 - 射程索引
CHM 详解说明该列为"编号"。被 Spell.dbc 的 RangeIndex 引用。常见值:1=自身(0码)、2=近战(5码)、3=远端近战(20码)、4=中距(30码)、5=远距(40码)、6=超远(100码)、7=极远(50000码)、8=短距(15码)、9=8码、10=10码、11=50码。
MinRangeHostile/最小敌方射程 & MinRangeFriend/最小友方射程
CHM 分别定义为"最小敌方射程"和"最小友方射程"。近战武器为 0-5 码。弓箭/枪械有 5 码最小射程限制(猎人远程武器盲区)。大部分法术最小射程为 0。
MaxRangeHostile/最大敌方射程 & MaxRangeFriend/最大友方射程
CHM 分别定义为"最大敌方射程"和"最大友方射程"。5码=近战、20码=短距法术、30码=中距法术、40码=远距、100码=超远距。
第7-41列名称字段(CHM:未使用)
CHM 指出第7-23列名称、第24列名称类型、第25-40列名称2、第41列字串类型均标记为"未使用"。这些字段在 WotLK 3.3.5a 中可能为空或包含历史遗留数据。
使用示例
-- 查询所有 40 码射程的法术
SELECT s.ID, s.Name, r.MaxRangeHostile
FROM spell_dbc s
JOIN spell_range r ON s.RangeIndex = r.ID
WHERE r.MaxRangeHostile = 40
LIMIT 20;