法术触发事件表定义了法术触发(Proc)的详细条件和参数。触发机制是魔兽世界中重要的战斗系统,允许某些法术在特定条件下自动激活,为战斗增加随机性和策略性。
字段名 | 类型 | 描述 |
---|---|---|
entry | smallint unsigned | 法术ID (主键) |
详细说明:指定具有触发机制的法术ID。对应Spell.dbc文件中的法术记录。
适用法术类型:
|
||
SchoolMask | tinyint | 法术学派掩码 |
详细说明:指定触发法术的学派类型掩码。只有指定学派的法术才能触发这个效果。
学派掩码值:
|
||
SpellFamilyName | smallint unsigned | 法术家族名称 |
详细说明:指定触发法术的家族类型。用于限制只有特定职业的法术才能触发。
常见家族值:
|
||
SpellFamilyMask | bigint unsigned | 法术家族掩码 |
详细说明:指定具体的法术掩码,用于精确控制哪些法术可以触发效果。
使用方式:与SpellFamilyName配合使用,进一步细化触发条件 |
||
procFlags | int unsigned | 触发标志 |
详细说明:指定触发事件的类型标志。决定了在什么情况下会触发效果。
常用标志:
|
||
procEx | int unsigned | 扩展触发标志 |
详细说明:扩展的触发条件标志,提供更精确的触发控制。
常用扩展标志:
|
||
ppmRate | float | 每分钟触发次数 |
详细说明:指定每分钟的平均触发次数。用于控制触发频率,避免过于频繁或稀少的触发。
设置建议:
|
||
CustomChance | float | 自定义触发概率 |
详细说明:指定自定义的触发概率百分比。覆盖默认的触发概率计算。
取值范围:0.0 - 100.0 (百分比) 使用场景:
|
||
Cooldown | int unsigned | 触发冷却时间(毫秒) |
详细说明:指定触发效果的内置冷却时间,防止过于频繁的触发。
时间设置:
|
-- 火焰武器附魔,攻击时有概率触发火焰伤害
INSERT INTO spell_proc_event (entry, SchoolMask, SpellFamilyName, SpellFamilyMask, procFlags, procEx, ppmRate, CustomChance, Cooldown) VALUES
(13898, 1, 0, 0, 0x00000002, 0x0000001, 6.0, 0.0, 0);
-- 寒冰武器附魔,攻击时有概率减速敌人
INSERT INTO spell_proc_event (entry, SchoolMask, SpellFamilyName, SpellFamilyMask, procFlags, procEx, ppmRate, CustomChance, Cooldown) VALUES
(13896, 1, 0, 0, 0x00000002, 0x0000001, 3.5, 0.0, 1000);
-- 法师天赋:法术暴击时有概率回复法力
INSERT INTO spell_proc_event (entry, SchoolMask, SpellFamilyName, SpellFamilyMask, procFlags, procEx, ppmRate, CustomChance, Cooldown) VALUES
(12536, 126, 3, 0, 0x00000020, 0x0000002, 0.0, 15.0, 5000);
-- 盗贼天赋:攻击时有概率获得连击点
INSERT INTO spell_proc_event (entry, SchoolMask, SpellFamilyName, SpellFamilyMask, procFlags, procEx, ppmRate, CustomChance, Cooldown) VALUES
(13877, 1, 8, 0, 0x00000002, 0x0000001, 0.0, 20.0, 1000);
SELECT spe.*, s.SpellName
FROM spell_proc_event spe
LEFT JOIN spell_template s ON spe.entry = s.ID
ORDER BY spe.entry;
SELECT spe.*, s.SpellName
FROM spell_proc_event spe
LEFT JOIN spell_template s ON spe.entry = s.ID
WHERE spe.ppmRate > 5.0 OR spe.CustomChance > 20.0
ORDER BY spe.ppmRate DESC;