📖 表说明
法术附魔触发数据表定义了附魔效果的触发条件和参数。这个表主要用于武器附魔、装备附魔等触发型附魔效果,控制附魔的触发几率、触发频率和触发条件。例如:武器上的火焰附魔、冰霜附魔、生命偷取附魔等。
数据来源: 本文档基于AzerothCore官方Wiki和官方数据表借鉴.sql编写。
📊 表结构
| 字段名 | 数据类型 | 属性 | 键 | 默认值 | 描述 |
|---|---|---|---|---|---|
| entry | int UNSIGNED | 不为空 | 主键 | 附魔ID | |
| customChance | int UNSIGNED | 不为空 | 0 | 自定义触发几率 | |
| PPMChance | float | 不为空 | 0 | 每分钟触发次数 | |
| procEx | int UNSIGNED | 不为空 | 0 | 扩展触发标志 | |
| attributeMask | int UNSIGNED | 不为空 | 0 | 属性掩码 |
主键: entry
表注释: Spell enchant proc data
🔑 核心字段详解
🆔 entry - 附魔ID
详细说明:附魔效果的ID,对应Spell.dbc文件中的附魔法术记录。
取值范围:对应Spell.dbc中的附魔法术ID
- 主键字段,标识附魔效果
- 对应Spell.dbc中的附魔法术ID
- 用于定义附魔的触发条件
- 每个附魔只能有一条记录
示例:
- entry=12345 - 火焰附魔
- entry=23456 - 冰霜附魔
🎲 customChance - 自定义触发几率
详细说明:附魔的自定义触发几率(百分比)。
取值范围:0-100(百分比)
- 定义附魔的固定触发几率
- 值为0表示不使用固定几率
- 值为100表示每次都触发
- 与PPMChance配合使用
示例:
- customChance=10 - 10%几率触发
- customChance=50 - 50%几率触发
📊 PPMChance - 每分钟触发次数
详细说明:附魔每分钟的平均触发次数(PPM机制)。
取值范围:浮点数,通常为0-10
- 定义附魔的平均触发频率
- 值为0表示不使用PPM机制
- 值为1表示每分钟平均触发1次
- PPM机制会根据武器速度调整触发几率
示例:
- PPMChance=1 - 每分钟平均触发1次
- PPMChance=3 - 每分钟平均触发3次
⚡ procEx - 扩展触发标志
详细说明:附魔触发的扩展条件标志。
取值范围:位掩码值(整数)
- 定义附魔触发的具体条件
- 例如:攻击时触发、被攻击时触发等
- 使用位掩码组合多个触发条件
- 与spell_proc_event表的procEx类似
示例:
- procEx=0x00000001 - 攻击时触发
- procEx=0x00000002 - 被攻击时触发
🔧 attributeMask - 属性掩码
详细说明:附魔的属性掩码,定义附魔的特殊属性。
取值范围:位掩码值(整数)
- 定义附魔的特殊属性
- 例如:是否在PVP中生效、是否受冷却影响等
- 使用位掩码组合多个属性
- 具体属性值参考官方文档
💡 实际案例
附魔 火焰附魔触发配置
配置武器火焰附魔的触发条件
-- 火焰附魔触发配置
DELETE FROM spell_enchant_proc_data WHERE entry = 12345;
INSERT INTO spell_enchant_proc_data VALUES
(12345, 0, 3.0, 0x00000001, 0);
效果: 火焰附魔每分钟平均触发3次,在攻击时触发。
附魔 固定几率触发配置
配置附魔使用固定触发几率
-- 固定几率触发配置
DELETE FROM spell_enchant_proc_data WHERE entry = 23456;
INSERT INTO spell_enchant_proc_data VALUES
(23456, 10, 0, 0x00000001, 0);
效果: 附魔23456在攻击时有10%的固定几率触发。
🔗 相关表格
- spell_proc - 法术触发表
- spell_proc_event - 法术触发事件表