找回密码
 注册
查看: 2388|回复: 1

[攻略心得] 【扫盲帖:关于Mordenkainen's Disjunction】

[复制链接]
发表于 2007-2-19 17:46:27 | 显示全部楼层
游侠里有人提出疑问,这里补充比较重要的一点:区域MDK的话若自己在范围内,则只会出现DISPEL效果,而不会出现BREACH效果。

说得更明白点:BREACH列表中的BUFF被BREACH效果解除后是不会有任何说明出现的,而被DISPEL后则会有说明。

比如你和某个友好NPC身上都有魔法盔甲(在BREACH列表中)和牛力(不在BREACH列表中)这两个BUFF,区域MDK时(自己和NPC都在范围内),若你和NPC身上所有的的BUFF都被成功解除了,那么提示栏里会显示NPC的牛力,自己的牛力和魔法盔甲被解除,而NPC身上的魔法盔甲虽然也被解除,但是那是BREACH效果
 楼主| 发表于 2007-2-15 14:08:29 | 显示全部楼层 |阅读模式
该法术相当于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的影响。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|奥德赛公会

GMT+8, 2026-6-17 04:50 , Processed in 0.011555 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表