spell_enchant_proc_data表是AzerothCore中定义武器附魔触发机制的核心表格。它控制着武器附魔在攻击、被攻击或其他特定事件时触发特殊效果的概率、冷却时间和触发条件,是武器附魔系统的重要组成部分。
字段名 | 数据类型 | 默认值 | 说明 |
---|---|---|---|
EnchantID | INT UNSIGNED | 0 | 附魔ID |
详细说明:武器附魔的ID,对应SpellItemEnchantment.dbc中的附魔定义。
常见附魔类型:
|
|||
Chance | FLOAT | 0 | 触发概率 |
详细说明:附魔效果触发的概率,以百分比表示(0-100)。
概率设置原则:
平衡考虑:
|
|||
ProcsPerMinute | FLOAT | 0 | 每分钟触发次数 |
详细说明:每分钟期望的触发次数,用于更精确的触发频率控制。
PPM机制:
常见PPM值:
|
|||
HitMask | INT UNSIGNED | 0 | 命中类型掩码 |
详细说明:定义哪些类型的攻击可以触发附魔效果。
命中类型掩码:
常用组合:
|
|||
AttributesMask | INT UNSIGNED | 0 | 属性掩码 |
详细说明:附魔触发的特殊属性和行为控制。
属性标志:
触发时机:
|
-- 查看所有附魔的触发设置
SELECT EnchantID, Chance, ProcsPerMinute, HitMask, AttributesMask
FROM spell_enchant_proc_data
ORDER BY EnchantID;
-- 添加火焰武器附魔的触发数据
INSERT INTO spell_enchant_proc_data (EnchantID, Chance, ProcsPerMinute, HitMask, AttributesMask)
VALUES
(1, 0, 6.0, 3, 4), -- 火焰武器:6PPM,普通命中和暴击,近战攻击
(2, 15.0, 0, 3, 4); -- 冰霜武器:15%概率,普通命中和暴击,近战攻击
-- 设置只在暴击时触发的附魔
INSERT INTO spell_enchant_proc_data (EnchantID, Chance, ProcsPerMinute, HitMask, AttributesMask)
VALUES (123, 100.0, 0, 2, 4); -- 100%概率,仅暴击,近战攻击
-- 设置受到攻击时触发的防御性附魔
INSERT INTO spell_enchant_proc_data (EnchantID, Chance, ProcsPerMinute, HitMask, AttributesMask)
VALUES (456, 0, 3.0, 3, 8); -- 3PPM,普通命中和暴击,受到攻击时
检查以下几点:
PPM计算公式:
实际触发概率 = (PPM * 武器速度) / 60
例如:6 PPM的附魔在2.5速度武器上
实际概率 = (6 * 2.5) / 60 = 25%