【扫盲帖:关于Mordenkainen's Disjunction】
该法术相当于Dispel和Breach的结合,我更喜欢理解成是“Superior Dispel”和“Superior Breach”的结合。
目标为个体的情况:
首先无鉴定直接解除Breach可解法术列表中的6个BUFF,并在60秒内降低其SR 10(Superior Breach)。在函数void spellsDispelMagic(object oTarget, int nCasterLevel, effect eVis, effect eImpac, int bAll = TRUE, int bBreachSpells = FALSE)
中有一条专门用来支持MDK's Disjunction的语句:
if (bBreachSpells)
{
DoSpellBreach(oTarget, 6, 10, nId);
}。
DoSpellBreach(oTarget, 6, 10, nId)里的6表示在BREACH列表中的6个BUFF,10表示降低的SR;
接下来再试图对每个目标身上的法术作如DISPEL鉴定(1d20 + 1/施法者等级 VS 11 + 魔法效果的施法者等级),在这个鉴定中无施法等级限制(Superior Dispel),具体原因如下:
if(nCasterLevel > 20)
{
nCasterLevel = 20;
}
这条语句在MDK's Disjunction中用“/*”屏蔽掉了,也就是说MDK's Disjunction已经取消了施法等级为20这一上限。这点在今后的EPIC等级中将会是高等施法职业对付各类双修职业的独门杀手锏。
目标为区域的情况,由于区域函数稍微复杂一些,这里就不再作枯燥的函数分析了,直接给出结论:
首先解除任何区域法术效果;
其次无鉴定解除区域内所有生物身上在Breach列表中的2个BUFF并在60秒内降低其SR 10(区域Breach);
再次试图对区域内每个目标身上拥有最高施法等级的法术做DISPEL鉴定(1d20 + 1/施法者等级 VS 11 + 魔法效果的施法者等级),该鉴定同样没有施法等级为20的上限。
注:法术在被成功解除后的0.1到0.3秒后消失。并且该法术可以很有效得解除DEBUFF,比如 Bigby's Crushing Hand的影响。