(以3.3.5为例)这类 “击中时” 的触发器有3种;
1、作用在装备上的,在 item_template表 设置(设置“ppm机制触发”模式):
spellid_1-5 :对应的法术id(即“击中时” 触发的那个法术)
spelltrigger_1-5 :法术触发类型=2(击中时可能)
spellcharges_1-5 :使用次数(一般和“击中时”触发无关)
spellppmRate_1-5 :触发概率,每分钟触发多少次(ppm机制触发),仅在“spelltrigger_1为2=击中时可能”有效
spellcooldown_1-5 :技能冷却时间(毫秒)
spellcategory_1-5 :技能族
spellcategorycooldown_1-5 :技能族冷却时间(毫秒)
例:“12592-沙赫拉姆黑剑” 在 item_template表 中设置如下
spellid_1 :16602
spelltrigger_1 :2
spellppmRate_1 :0.5
spellcooldown_1 :-1
spellcategory_1 :0
spellcategorycooldown_1 :-1
即表示“12592-沙赫拉姆黑剑”在 “击中时”每分钟0.5次的几率触发法术16602.
2、以法术形式出现的(包括套装奖励的特效法术),并用 spell.dbc 设置的;
在 spell.dbc (非0序);
第[35]列 :发动类型/触发类型(掩码值)
第[36]列 :技能触发发动几率(%)
第[37]列 :技能能触发次数
第[69]列 :装备的分类
第[70]列 :装备的子类(掩码值)
第[72-74]列 :6(上Buff)
第[87-89]列 :目标A
第[90-92]列 :目标B
第[96-98]列 :42(被触发法术/技能)
第[117-119]列 :被触发法术id
第[123-131]列 :由特定的法术“击中时”触发的目标(即特定的法术)掩码(3组掩码值)
恩,好多是吧?其实主要看 第[35]列(触发时机)、第[36]列(触发几率)、第[123-131]列(触发的技能) 这3个
3、以法术形式出现的(包括套装奖励的特效法术),但是spell_proc_event 表覆盖了 spell.dbc 的触发设置;
在 spell_proc_event 表
注意:本表所有技能必须带有SPELL_AURA_PROC_TRIGGER_SPELL光环([96-98]列=42 触发法术/技能),并且覆盖spell.dbc文件中的技能触发过程设置
entry:技能编号
SchoolMask:触发的技能伤害类型
SpellFamilyName:触发技能的技能族名称(对应spell.dbc中的[209]列法术大类别)
SpellFamilyMask0-2:触发技能的技能族类型(对应Spell.dbc的[210~212]列法术所在小类别/法术掩码)
procFlags:触发技能的事件(类似Spell.dbc的[35]列发动类型)
procEx:触发技能的事件扩展
ppmRate:每分钟的次数(ppm机制触发),若为0,则从dbc文件里取值
CustomChance:触发概率(%)
Cooldown:技能触发的冷却时间,单位是毫秒
和 spell.dbc 的区别在于 spell_proc_event 表多了procEx,且技能可 CustomChance 也可 ppmRate ,故比单纯的 spell.dbc 更灵活吧。
例;”被动技能A”的效果:使用”主动技能B”时能触发”技能C”
◆ 被动技能A:萨满套装技能3-70807:
[35]:0x4000(发出有益魔法并命中)、[36]:100(100%)、[96]:42(触发技能)、[117]:70806(触发的技能id)、[175]:你的激流法术使你在$70806d内施放的下一个法术的急速等级提高$70806s1%
◆ 主动技能B:萨满激流1-61295:技能掩码:11、0x0(0)、0x0(0)、0x10(16)
spell_proc_event 表设置;
entry 技能id: 70807
SchoolMask 伤害类型: 0(物理)
SpellFamilyName法术类别 11(萨满)
SpellFamilyMask0 掩码1:0
SpellFamilyMask1 掩码2:0
SpellFamilyMask2 掩码3:16(0x10,对应技能“激流”)
procFlags 发动类型: 0(无)
procEx 触发技能的扩展: 0(无)
ppmRate 每分钟的次数: 0
CustomChance 触发概率: 100(100%)
Cooldown 冷却时间: 0
◆ 触发技能C:触发的技能-70806:提高法术急速等级$s1%。
暂无评论内容