📊 SpellFocusObject.dbc
SpellFocusObject.dbc 定义了法术施放所需的焦点对象/材料要求。控制需要特定物品或GameObject才能施放的法术(如需要材料,需要特定物体等)。
📋 字段结构
| 索引 | 字段名 | 类型 | 说明 |
|---|---|---|---|
| 0 | ID | uint32 | 焦点对象唯一标识符 |
| 1 | Name | string | 焦点对象名称(多语言) |
📌 关键字段详解
ID - 焦点对象索引
被 Spell.dbc 的 RequiresSpellFocus(第 30 列)字段引用。当法术需要特定目标焦点时,设置该字段指向此表的 ID。
Name - 名称
焦点对象的内部名称。包含多语言字段。常见值:Anvil(铁砧)、Forge(锻造台)、Moonwell(月亮井)、Campfire(营火)、Cooking Pot(烹饪锅)等。
💡 常见焦点对象
| ID | 名称 | 用途 |
|---|---|---|
| 1 | Anvil (铁砧) | 锻造制作 |
| 2 | Loom (织布机) | 裁缝制作 |
| 3 | Forge (锻造台) | 熔炼/锻造 |
| 4 | Campfire (营火) | 烹饪基础食物 |
| 5 | Moonwell (月亮井) | 特定任务/仪式 |
🔧 使用示例
查询需要特定焦点的法术
-- 查询所有需要在铁砧(1)旁施放的法术
SELECT s.ID, s.Name, sfo.Name AS FocusObject
FROM spell_dbc s
JOIN spell_focus_object sfo ON s.RequiresSpellFocus = sfo.ID
WHERE sfo.ID = 1;
添加自定义焦点
-- 添加一个自定义焦点对象,配合新法术使用
INSERT INTO spell_focus_object (ID, Name_enUS) VALUES (100, 'Custom Altar');
💡 使用技巧
- 专业技能关联:大部分焦点对象与专业技能制作相关,确保玩家在正确位置使用技能。
- RequiresSpellFocus=0:大多数法术不需要焦点对象,字段值为 0。
- 任务关联:某些任务法术需要特定对象(如仪式道具),通过此表关联。
- 客户端提示:法术需要焦点对象时,客户端会在操作栏显示"需要XXX"的提示。
- 参考链接:AzerothCore Wiki - spell_focus_object