法术致命、命中和抗性的理论和测试
(修正了原文里有关“直接伤害魔法”的说法,改为“非二元魔法”。直接伤害魔法是与DOT相对的,而我之前将其当作与二元魔法相对应来使用,这属于常识性错误。,一些数据错误也得到了修正,像1和1%的混淆,并且在同一讨论中将1和100%进行了统一。感谢风飞羽在跟帖中指出原文的多处错误。以后对于原文中的错误,不再直接编辑,发现错误和修正错误这个过程也是很有意义的。)
一、关于实验的设计
二、法术的致命一击与命中情况
三、抗性相关
四、法术命中和抗性之间的关系
五、致命一击率与抗性的关联
六、单一Roll规则
七、法师元素专注天赋的作用模式
八、高等级怪物身上无法消除的抗性情况
九、装备的选择
一、实验设计方面
法术的致命一击、命中以及抗性这三者都是以概率的形式发挥作用的,这就导致通过实验归纳出理论是不可行的——进行上万次的测试,也只能把误差缩小到1%,而要是进行10万次以上的测试,没有相关部门提供研究经费的话,恐怕没人会去做。
我在此所做的事情,就是从官网主页以及论坛蓝贴当中找寻相关的理论,依据这些理论,针对官方尚未明确阐述的问题,做出一些可能的推断,借助装备和天赋的差异,让不同推断所应得到的实验数据之间的差异达到最大程度。如此一来,如果仅仅是判定不同推断哪一个更接近事实的话,就能够允许存在较大的误差,从而减少所需的测试样本数量。
二、法术暴击与命中
假设某玩家的命中概率为H(H≤99%),致命一击概率为C(C≤H),那么在N次攻击当中,致命一击的次数n存在两个计算公式:
公式1:
(修正了原文里有关“直接伤害魔法”的说法,改为“非二元魔法”。这一概念的混淆其实是很容易犯的错误,直接伤害魔法在传统的设定里是与DOT(持续性伤害法术)相对应的概念,而我之前错误地将它与二元魔法联系起来,这是在魔法体系理解上的一个失误。,数据方面的一些差错也不容小觑,像1和1%这种基础数据的混淆,会对整个理论推导产生影响,所以我在同一讨论中将1和100%进行了统一处理。非常感谢风飞羽在跟帖中细致地指出原文的多处错误。这一过程让我认识到,以后对于原文中的错误,不再采取直接编辑的方式,因为发现错误去修正错误,这个过程本身也是一种学习和进步的过程,是非常有意义的。)
一、关于实验的设计
在进行任何实验之前,我们都需要有一个清晰的框架和思路。对于法术相关的研究,尤其是涉及到法术致命一击、命中以及抗性这几个要素时,其复杂程度远超想象。这几个要素都不是以一种确定性的方式发挥作用,而是基于概率。这种概率性就像一把双刃剑,一方面它反映了游戏中法术系统的随机性和丰富性,另一方面却给我们的研究带来了巨大的挑战。想象一下,如果想要通过实验来出一个准确的理论,那得进行多少次实验呢?仅仅上万次的测试,就算是在理想的状态下,也只能把误差控制在1%的范围内。而要想让误差更小,比如要达到更高的精度,那测试的次数就得大幅增加,10万次以上都是有可能的。但这可不是一个小数字,没有专门的相关部门来提供研究经费的话,谁会有精力和资源去做这么多次的测试呢?这几乎是一个不可能完成的任务。所以,我们必须要另辟蹊径,找到一种更有效的研究方法。
在相关计算中,存在公式n = N * H * C以及公式n = N * C。
这里的n、N、H、C分别代表不同的意义。具体来说,这涉及到一个关于攻击计算的问题。假设某人的命中率为90%,致命一击率为10%,那么在100次攻击的情况下,就会产生一个疑问:到底是按照公式1计算会出现9次致命一击呢,还是按照公式2计算会出现10次致命一击。
在我们能够获取到的官方说明里,仅仅只有关于物理攻击致命一击和命中计算方式的内容(这一内容来源于欧服官方论坛Aeus发布的蓝帖,不过其原始地址如今已经失效了)。下面对相关部分进行翻译:《魔兽世界》(WoW)计算致命一击率的方式,是把所有攻击都涵盖在内的。也就是说,致命一击率并非仅仅依据命中的攻击来计算。换一种说法,如果某人有5%的致命一击率,那么这个5%的概率所基于的基数,是包含了未命中的攻击的。这就好比是在一个大的攻击样本集合中,不管攻击是否命中目标,只要进行了攻击操作,就都被纳入到计算致命一击率的基数当中了。这是游戏在计算此类数据时的一种设定规则,它对游戏中的战斗结果以及角色战斗能力的评估等方面都有着重要的影响。例如,在玩家进行战斗策略规划时,就需要考虑到这种计算方式对自身角色输出能力的影响。如果不了解这一规则,可能会在装备属性选择、技能释放顺序等方面做出不太合理的决策。
要是法术的致命一击计算模式和物理攻击的计算模式一样的话,那公式2就是正确的。
当H的值小到一定程度时,按照公式1计算得到的数值与依据公式2算出的数值之间的差异会比较大。因此,在我所进行的这个测试里,施法者为41级的法师,目标是60级的圣骑士,所使用的技能是1级寒冰箭。
在实际的情况中,数值的大小对于计算结果有着至关重要的影响。就像这里提到的H值,一旦它足够小,那么在不同公式下计算结果的差异就变得十分明显。这一现象促使我进行相关的测试。而在这个测试的设定方面,我精心选择了施法者与目标的等级,41级的法师和60级的圣骑士,这样不同等级的组合能够更好地反映出测试中的各种情况。同时,1级寒冰箭这个技能的选择也并非随意,它是在考虑到技能等级对结果可能产生的影响等多种因素之后确定的。
测试数据如下:
测试1:
41级法师智力199,致命一击率大约为4%。
样本数量:400
命中数量:222
抵抗数量:178
致命一击:15
依据公式1来计算的话,致命一击的数量应当为8.88个;而按照公式2进行计算,致命一击的数量则应为16个。其允许存在2%的误差,经过400次测试,基本上能够满足这一要求。从测试数据方面来看,公式2是更符合实际情况的。
当下比较热门的两款伤害统计插件,即DM和SW_stats,在计算致命一击率的时候,都是采用致命一击数量除以命中数量这种方式。所以,在针对Raid Boss的大量统计数据里,致命一击率往往会比理论计算得出的数据要高。(在这个测试数据当中,还能够发现其他一些问题,例如比理论数值高出许多的命中概率。)
至此,我们可以得出初步的:
假设存在某一位玩家,其命中率设定为H(这里H的值是小于等于99%的),而致命一击率设为C(C的值小于等于H),那么在进行N次攻击的情况下:
致命一击的数量 c=N*C
一般命中的数量 h=N*(H-C)
被抵抗的数量 r=N*(1-H)
c+h+r=N
例如,假定某人的命中率是90%,致命一击的概率为10%。如此一来,在100次攻击里,就会出现10次致命一击、80次普通命中以及10次抵抗的情况。要是在装备上增添1个百分点的致命一击率的话,那么对应的各项数据便会变为11次致命一击、79次普通命中以及10次抵抗。
进一步来说,这种概率的计算在游戏或者一些战斗模拟场景中是非常关键的。它可以帮助玩家或者模拟者更好地理解装备属性提升所带来的实际影响。通过精确地计算每次属性调整后的各种结果概率,能让人们更合理地去规划装备的选择和战斗策略的制定等,从而在相应的场景中获取更大的优势。
曾经被大量讨论过的“暴击是否必然命中”这一问题,实际上是个伪命题。暴击与命中的计算,并非有先后顺序,而是同步开展的。
在游戏或者相关的数值计算体系里,有很多玩家会陷入这样的思维误区,认为暴击和命中之间存在着一种必然的先后顺序关系,就像很多人会习惯性地觉得先有命中判定,才有暴击判定。但实际上,从游戏的数值计算机制来讲,暴击和命中的计算是在同一时刻启动的,二者不存在谁先谁后的问题。这种理解上的偏差,可能是由于玩家在游戏过程中观察到的一些表面现象所导致的。例如,有时候玩家可能会觉得自己的攻击先产生了命中的效果,才看到暴击数字跳出,但这只是一种视觉上的错觉,在游戏后台的数值运算中,暴击和命中的计算是同时进行的。
盗贼的冷血剔骨以及法师在1.10版本时燃烧火球被抵抗的情况,实际上属于另一个问题。这个问题就是,实际的致命一击率肯定是小于或者等于命中率的,而且命中率必定小于或者等于99%。
盗贼的冷血剔骨技能,还有法师在1.10版本下燃烧火球被抵抗的现象,这实际上涉及到另一个问题。在游戏的机制当中,存在着这样的规则:实际的致命一击出现的概率肯定不会超过命中率,而且命中率最高也只能达到99%。这是因为游戏在设定各项概率数值的时候,需要保持一种平衡性。命中率如果过高,就可能导致攻击效果过于强大,影响游戏的公平性和趣味性;而致命一击率如果高于命中率,那更是违背了正常的游戏逻辑。所以,盗贼的技能和法师技能所出现的这些情况,从本质上来说都是受到这种概率规则的制约。
三、抗性
1、抗性与伤害减免
先对官网“魔法&技能”页面中的一段话进行翻译,内容为:在与施法者等级作比较时,你的抗性点数越高,那么你的平均抵抗百分比也就越高,这个数值会一直增长直至达到75%的上限为止。
通过这句话,我们能够了解到,抗性与伤害减免之间的关系会受到两个因素的左右:其一为施法者的等级,其二是受攻击目标的抗性点数。
在这里,我们能够看到两种不一样的计算方式。敏捷能够提升闪躲,这一计算与敏捷的数值以及受攻击者的等级相关;而护甲和抗性同伤害减免之间的关系呢,其相关因素却是攻击者的等级。
官网主页仅仅呈现了针对50级施法者的攻击法术、抗性以及伤害减免之间关系的表格。在此,依据其他相关数据,推导出有关60级法术和63级法术(即Boss的攻击法术)的抗性与伤害减免关系表格:
这里我们可以给出抗性与平均伤害减免的函数:
平均伤害减免的计算方式为:用目标抗性数值除以(施法者等级乘以5),所得结果再乘以0.75。
2、抗性与收益
若要进行对比的话,能够参考Nga(艾泽拉斯国家地理)上有关护甲收益的一个帖子。
“大多数收益递减论者仅仅着眼于表面数据,却全然不顾及实际情况,他们完全误解了每点护甲值收益相同这一概念真正的含义。”
在探讨护甲和伤害减免之间的关系时,要考量的是每1点护甲对受到伤害与伤害减免这一数值所产生的影响,换句话说,就是每1点护甲会如何影响在无治疗状况下的存活时间。
存活的时长等于(血量除以(伤害乘以(400加上85乘以攻击者等级)))乘以护甲。
在游戏或者相关的战斗模拟场景里,有一个计算存活时间的公式。这个存活时间的计算是基于几个重要的因素的,包括血量、伤害以及攻击者的等级。具体的计算方式是这样的,在括号内,我们要计算出(400加上85乘以攻击者等级)的数值,用伤害去乘以这个数值。之后,再用血量除以这个乘积。最后,将得到的结果乘以护甲,这样就得出了存活的时长。
换句话说,在没有接受治疗的时候,存活时长与护甲之间存在着一次函数的关联。就存活时长而言,每一点护甲所带来的收益都是相同的。
在很多游戏或者特定的情境设定中,这样的关系有着重要意义。例如在一些战斗类游戏里,角色的存活时长往往是决定胜负的关键因素之一。而护甲作为影响存活时长的重要因素,这种每一点护甲都能带来相同收益的特性,会让玩家在制定策略时有更明确的方向。他们可以根据自身的需求,在提升护甲和其他属性之间进行权衡,以达到最佳的战斗效果或者生存能力。
存在上面所提到的这个公式,在此基础之上,能够推算出另一个涉及护甲收益的参数,也就是护甲提升与伤害减免之间的关系。
伤害减免的计算方式为:用护甲除以(护甲加上400再加上85乘以攻击者等级),将所得结果乘以100,即伤害减免=(护甲/(护甲+400+85*攻击者等级))*100。
就伤害减免这一方面而言,护甲所带来的边际收益是呈递减趋势的。护甲在减免伤害方面,其边际收益并非是一成不变的。随着护甲数值的不断增加,每增加一点护甲所带来的伤害减免的提升效果会变得越来越小。这就好比在一个数学函数中,自变量(护甲值)不断增大时,因变量(边际收益)的增长速度却越来越慢,这种递减规律在考虑伤害减免与护甲关系时是非常重要的一点,它会影响到在不同游戏或战斗场景下,对于护甲获取和提升的策略制定等多方面的决策。
在Raid当中,若要考量护甲所带来的收益,就必然得考虑治疗的难易程度这一问题。有部分Boss由于瞬间攻击所造成的伤害过高,从而致使治疗的难度极大,在这种情况下,需要考虑的便是护甲与伤害减免之间的关联;还有些Boss,其治疗的难点在于治疗者会耗尽法力值(OOM)或者治疗量有限,就像Loatheb这个Boss,此时往往要考虑的则是存活时长与护甲之间的关系。
在Raid作战中,护甲的收益评估并不是一个孤立的考量。它与整个战斗环境,特别是治疗相关的各种状况紧密相连。当面对那些瞬间爆发伤害极高的Boss时,治疗者面临着巨大的压力,因为要在短时间内补充大量生命值,这对治疗的及时性和有效性要求极高。而护甲能够在一定程度上减免伤害,所以此时理解护甲与伤害减免的关系就显得尤为重要。,像Loatheb这样特殊的Boss,其战斗机制使得治疗者面临着法力值快速耗尽或者治疗总量受限的困境。在这种状况下,团队成员的存活时间就和护甲有了不可忽视的联系,因为足够的护甲或许能够延长存活时间,从而增加团队应对挑战的机会。
从两个方面综合考量的话,护甲的边际收益大体上呈递减趋势。
对于抗性,同样可以从以上二个方面来看。
公式3所表示的平均伤害减免,其计算方式为:(0.75除以(施法者等级乘以5))再乘以目标抗性数值。
此公式显示,抗性与伤害减免呈一次函数关系,每一点抗性所带来的收益都是相同的。
在游戏或者相关的数值体系里,我们常常会遇到各种各样的计算公式,它们用以界定不同属性之间的关系。就像这里提到的这个公式,它清晰地表明了抗性和伤害减免之间存在着一种特定的关系,即一次函数关系。这意味着在这个体系当中,抗性这个属性在影响伤害减免时,是按照一种非常规律的方式进行的。每一个单位的抗性,无论它是第一个抗性点,还是第一百个抗性点,所产生的收益都是一模一样的,不存在随着抗性点数增加收益递增或者递减的情况。这种特性对于理解整个游戏或者数值体系中的角色防御机制有着至关重要的意义。
公式4表明:存活时间等于(血量乘以施法者等级再乘以5)除以(伤害乘以(施法者等级乘以5减去目标抗性数值乘以0.75))。
[这里给出的是一个网址:http://www.ngclub.net/bbs/attachments/Magicdamagesoak_qlRT5064eTIA.gif ,它看起来像是指向某个论坛(bbs)附件中的一个.gif格式的文件,具体文件名为Magicdamagesoak_qlRT5064eTIA.gif,这个文件可能与某种魔法伤害(Magic damage)或者浸泡(soak)相关的内容有关,但仅从这个网址我们无法确切得知更多信息。]
根据这个公式来看,若从存活时间这一角度进行考量的话,抗性所带来的边际收益是呈递增趋势的。
同样,就Raid而言,部分Boss只需考虑公式3即可,而有些Boss却得考虑公式4。比如说Sapphiron这个Boss,它就需要考虑公式4。所以呢,要是在物品等级一样的装备里进行挑选的话,那就要尽可能地选择冰抗较高的物品。
当然,Boss发起的攻击通常不单单局限于物理攻击或者魔法攻击,如此一来,在进行装备选择的时候就需要考量更多的因素了。比如说,有的Boss可能会释放一些特殊的技能,像能够干扰玩家视野的迷雾技能,或者是使玩家行动迟缓的迟缓技能等。这些特殊技能的存在,就要求玩家在挑选装备时,除了要考虑对物理攻击和魔法攻击的防御之外,还要思考如何应对这些特殊技能带来的影响。
四、法术命中与抗性
1、官方的说明
下面这段话在关于法术命中的讨论中已被多次引用,在此我们再引用一次。,不做任何增删地对其进行翻译。原因在于,后来许多人将自己的推论与官方原文混为一谈了。而这段话呢,它一方面对以前的某些问题予以了澄清,另一方面却又引发了更多的问题。
+1%法术命中增加你法术命中的基础命中率1%
如果目标和你同级,基础命中率为96%
如果目标高你
1级:95%
2级:94%
3级的情况下,要是目标是怪物的话,概率为83%;而当目标是玩家时,概率则为87%。
4级的时候,要是目标是怪物,那命中率为72%;而当目标是玩家时,命中率则为80%。
若目标是怪物的话,命中率为61%;要是目标为玩家,则命中率达到73%,这是5级时的情况。
等等
要是佩戴上能增加1%法术命中几率的物品,那么上述的百分比就会增加1;要是佩戴的物品能增加2%的法术命中几率,那么上述百分比便会增加2。
等等
仅就二元法术而言,此处存在另一种修正情况,那便是依据目标针对你某一系法术抗性所做出的修正,这些法术包括火系法术、冰系法术、暗系法术、自然系法术以及奥术系法术等。而你的实际命中概率,是由这个修正系数与你的命中概率相乘得出的结果。需要注意的是,这仅仅适用于二元法术,原因在于二元法术从未有过部分抵抗的情况。
例子:
有一位60级的法师名叫Eyonix,他用冰箭去攻击63级的怪物Yeti of Doom。Eyonix的装备加起来具备6%的法术命中属性,而Yeti of Doom的冰抗相当高,面对60级攻击者所造成的冰系伤害时,它能够减免50%的伤害。接下来,为大家介绍命中的计算方式:
我们可以这样计算:0.83(这里的0.83表示的是83%,也就是比施法者高3级的怪物所对应的数值)加上0.06(这里的0.06代表的是 +6%,是装备上的法术命中数值),其结果等于0.89。
0.89乘以0.5(也就是50%的冰霜法术伤害减免),其结果为0.445。
游戏会进行一次(0 - 1)之间的Roll点。要是Roll出的点数小于0.445的话,冰箭就会击中目标,同时造成全额伤害。要是Roll出的点数不小于0.445呢,那就会出现抵抗的提示信息。在很多游戏中,这种类似的随机判定机制十分常见,它为游戏增添了许多不确定性和趣味性。通过这样的设定,玩家在游戏中的体验会更加丰富多样,因为结果并不是完全可预测的,每一次的操作都可能因为这种随机判定而产生不同的结果。
第2个例子
在冰箭遭到抵抗之后,Eyonix做出了用火球去攻击Yeti of Doom的决定,此时Eyonix仍然有着6%的法术命中率。要知道,火球并非二元法术,以下便是相关的计算方式:
0.83+0.06= 0.89
游戏会进行(0 - 1)的Roll点操作。要是Roll出的点数小于0.89的话,火球就能命中目标;反之,则会出现抵抗的提示信息。当火球命中时,游戏会依据法术抵抗的情况判定是否为部分抵抗。例如,倘若Yeti还拥有针对火系法术50%的伤害减免能力,那么平均下来将会有50%的伤害被抵抗掉。
上面的这段话,最开始是源于美服官方论坛Eyonix所发的蓝贴。其原地址如今已经无法使用了,现在能够看到的仅仅是一个复制版本: +Spell Hit Chance
同时,在上述提到的“法术&技能”官方主页中也能看到。
2、装备所附带的+%法术命中属性,是否能够对抗性抵抗产生作用呢?
Eyonix针对命中和抗性给出了详尽的示例,然而并未提供计算公式,这便是引发诸多误解的根源所在。就像给出“5级:若目标为怪物,61%;目标为玩家,73%”之后,仅仅写了“等等(以此类推)”这几个字,完全没有给出计算公式。这就致使许多人产生这样的想法:对于怪物而言,之后每提升1级,抵抗概率就增加11%;对于玩家来说则是每提升1级增加7%的抵抗概率。不过,我们通过测试1能够发现,到了后面等级惩罚并没有如此严重。(关于等级差距5级以上对命中的等级惩罚问题,在此并不打算进行讨论。因为要开展这方面的测试极为麻烦,需要不同等级差的两个人物,针对每个等级差进行大量测试,可收获却不大,毕竟我并不打算去攻击比我高5级以上的怪物。)
在游戏的各种机制中,命中和抗性的计算方式一直是玩家们十分关注的焦点。Eyonix虽然提供了部分命中和抗性相关的数据,但这种数据的呈现方式并不完整。这种不完整就像给玩家们只看了一个谜题的部分碎片,而没有给出完整的拼图线索。玩家们只能根据现有的这些碎片去推测整个拼图的模样,也就是去推测命中和抗性的完整计算方式。然而这种推测往往会因为信息的不全面而产生偏差,从而导致误解的产生。就像在之前提到的例子中,很多玩家仅仅依据那有限的几个数据和简单的“等等(以此类推)”字样,就得出了自己认为合理的计算方式,但实际上通过测试发现并非如此。而对于等级差距5级以上对命中的等级惩罚问题,考虑到测试的复杂性和实际收益,确实没有深入探究的必要,毕竟大多数玩家在游戏中的正常操作并不会涉及到去攻击比自身高5级以上的怪物。
还有一个被广泛讨论的问题,那就是命中装备在抗性抵抗方面是否有效的问题。就拿Eyonix所举的第一个例子来说吧,如果Eyonix法师的命中率为30%,那该如何计算呢?是按照(0.83 + 30%)*50% = 56.5%来计算,还是按照Min[(0.83 + 30%),99%]*50% = 49.5%来计算呢?这里面的“Min”是取最小值的意思,在这个计算中它起到了关键的作用,决定了最终结果的取值方式。这两种计算方式存在差异,而这种差异也反映出在涉及命中装备与抗性抵抗计算时的复杂性,是大家在深入探讨这个问题时需要仔细考量的关键因素。
以前有一种观点,认为基于等级产生的未命中与基于抗性产生的抵抗是彼此毫无关联、互不作用的。就像Edwin在其较早发表的《“Faxmonkey”录象推荐、抵抗、防御和命中分析及近期感想》一文中所阐述的那样,他觉得基于等级的抵抗发生时,目标的头上会显示“Miss”;而要是基于抗性的抵抗的话,目标头上则会显示“Resist”。然而实际情况是,在法术攻击的时候,只会出现“Resist”,并不会出现“Miss”这种情况。而且,这一现象在很多实际的法术战斗场景中都得到了印证。不少玩家在参与法术战斗的过程中发现,不管是何种等级差异下的法术攻击,只要涉及到抵抗情况,就只有“Resist”的显示,这也从侧面说明了之前那种认为两者互不作用且会有不同显示结果的观点存在错误。
还有一部分人觉得,二者的区分在于白字Resist(抵抗)和黄字Resist(抵抗)。可实际上呢,冰箭所产生的所有抵抗情况都是黄字抵抗。白字抵抗只会出现在AOE(范围性攻击)魔法中,像冰霜新星就是如此。等到1.11版本的时候,暴雪干脆就把法术攻击的白字抵抗给取消掉了。这样一来,所有技能的抵抗信息都以黄字的形式呈现出来。
其实,这种关于游戏中技能抵抗信息显示方式的改变,对于游戏的平衡性以及玩家的游戏体验有着不小的影响。从游戏平衡性来看,统一为黄字抵抗信息有助于简化游戏中的伤害计算机制。在之前白字抵抗和黄字抵抗同时存在的时候,玩家需要分别考虑不同类型魔法在面对不同抵抗情况时的伤害输出,这增加了游戏的复杂性。而对于玩家的游戏体验来说,这种改变使得玩家能够更直观地了解技能的抵抗情况,不需要再去纠结白字和黄字抵抗的区别,从而能将更多精力放在游戏的策略性操作上。
这里有2个不同的计算公式(对于二元法术):
公式5:
命中的计算方式为:命中等于最小值[(基本命中与装备所获命中之和乘以抗性修正系数),99%]。
公式6
命中的计算方式为:取(基本命中与装备所获得的命中之和)和99%两者中的最小值,再乘以抗性修正系数。
将以上两个公式进行对比就能够发觉,当穿上高命中的装备,并且目标具备合适的抗性时,会让这两个公式计算出来的命中数值的差异达到最大。
测试2
我这儿所采用的攻击者是一名60级的法师,其装备附带15%的命中率。而目标是60级的牧师,这个牧师拥有40点冰抗,所使用的技能为1级冰箭。从这篇文章有关抗性的部分能够得知,对于60级的法术来说,40点冰抗能够削减10%的伤害,也就是说抗性修正系数为90%。
我这儿所采用的攻击者是一名60级的法师,在他的装备配置里,有一项属性是附带15%的命中率。而我们设定的目标是60级的牧师,这个牧师具有40点冰抗,在战斗中使用的技能为1级冰箭。这里要解释一下关于抗性的相关知识,从这篇文章有关抗性的部分能够得知,在游戏里,抗性的数值与法术等级之间存在着一定的关联。就像对于60级的法术来说,40点冰抗能够削减10%的伤害,这意味着在实际的伤害计算中,抗性修正系数为90%。这种伤害的计算方式在很多类似的战斗场景中都是非常关键的因素,它会影响到战斗的走向以及双方的策略选择等多方面情况。
那么根据公式5来计算:
命中率的计算方式为:先计算(96%加上15%)之后再乘以90%,即(0.96 + 0.15)×0.9 = 1.11×0.9 = 0.999,取这个结果与99%中的最小值,按照数学中的最小值函数Min的规则,最终得到命中率等于99%。
根据公式6来计算:
命中率的计算方式为:先计算括号内的值,96%加上15%得到111%,但是由于命中率不能超过100%,所以取最小值与99%相比,即Min[(96% + 15%), 99%],这个结果为99%,再乘以90%,也就是99% * 90%,最后得出命中率为89.1%。
测试结果:
样本数量:405
命中次数:400
抵抗次数:5
命中概率:98.8%
3. 装备所附带的+%法术命中属性,其对非二元法术会起到何种作用呢?
Eyonix的帖子在有关命中是否对因抗性引发的二元法术抵抗起作用这一问题上,解说得并不清晰。然而,对于抗性所导致的非二元法术(就像火球术)抵抗是否有效的问题,阐述得却非常明确,即命中装备对非二元法术的抵抗是没有效果的。
我们知道,在游戏的法术机制里,二元法术和非二元法术有着不同的特性和判定方式。二元法术在面对抗性时,可能存在一种特殊的抵抗机制,而Eyonix的帖子没能清楚解释命中在这种抵抗机制下的作用。但是对于非二元法术,比如常见的火球术这种,它的抵抗判定相对比较明确,而命中装备在这个过程中并不会对其抵抗产生任何有效的影响,这一点在Eyonix的帖子里是十分肯定的表述。
不过,依据测试2以及“一次性Roll”理论,我推测或许存在另一种计算方法。那就是,命中装备对由于抗性而产生的非二元法术的100%抵抗部分同样有作用。
进一步来说,在研究相关法术抗性等问题时,这种计算方式的推测有着重要意义。因为它可能会影响到我们对于整个法术作用机制以及相关装备效果的理解。从测试2中所获取的数据以及“一次性Roll”理论所涵盖的原理出发,我们能够发现这种计算方式存在的可能性。而命中装备与法术抗性之间的关系,特别是在非二元法术100%抵抗部分的关联,此前可能被忽视或者未被深入探究。这种推测一旦被证实,将会对该领域的理论研究以及实际应用带来新的思路和调整方向。
依据Eyonix的理论,就非二元法术而言,出现完全抵抗情况的概率是:
公式7表明:非二元法术完全抵抗的概率计算方式为,先取(100%减去基本命中百分比再减去装备命中百分比)与1%中的最大值,加上(基本命中百分比加上装备命中百分比两者中的最小值与99%中的较小者)乘以抗性所导致的完全抵抗百分比。
在这之中,红色的部分表示的是等级或者命中所固有的抵抗。而绿色的部分呢,则代表着抗性抵抗。
在我看来,命中装备对于因抗性而产生的完全抵抗也是有效的。
公式8表明:非二元法术完全抵抗的概率等于100%减去最小值[99%,(基本命中的百分比加上装备命中的百分比)乘以(100%减去抗性所导致的完全抵抗的百分比)]。
测试3
测试2中的法师,其装备具备15%的命中属性,目标是一位60级的牧师,该牧师拥有216点火抗。我寻觅不到火抗达到240的目标(盗贼和战士虽然有较高的抗性,但他们没有治疗能力,我很容易就能将其击杀),对于216点火抗,我们无法精准地知晓造成完全抵抗的概率到底有多大。依据本文第二部分的表格内容,我推测216点火抗导致完全抵抗的概率为6%,那么按照公式7:
完全抵抗概率=1%+99%*6%=6.94%
根据公式8:
完全抵抗的概率是这样计算的:先算出99%和114%乘以94%这一结果中的较小值,114%乘以94%等于1.0716,99%小于1.0716,所以取99%。用100%减去这个较小值,也就是100% - 99%,得到的结果为1%,这就是完全抵抗的概率。
(写到这儿我发现允许的误差比较小)
测试结果:
样本数量:401
完全抵抗次数:2
完全抵抗概率:0.5%
相对而言,公式8的准确性更高。换一种说法就是,命中装能够削减非二元法术由于抗性而产生的完全抵抗情况。
具体来说,在法术的相关机制里,二元法术和非二元法术有着不同的特性。非二元法术在面对抗性时,容易出现完全抵抗的现象,而命中装在这种情况下就起到了关键作用。公式8在衡量这一关系时,相比其他的方式或者公式,表现出更高的准确性,它能够更好地反映出命中装对于减少非二元法术完全抵抗(这种由抗性引发的状况)的效果。
一个佐证:
按照公式9进行计算的话,要是火抗为216,那么所受到的伤害是:99%×(1 - 216÷400) = 0.4554%。
SW_stats所统计出的有效伤害率为46.5%,这个数值比0.4554%稍高一些。但由于二者总体上十分接近,所以还需要开展进一步的测试才行。
通过查看Combatlog能够发现,在总共401次的灼烧操作里,完全造成伤害的次数竟然为零。
五、致命一击率与抗性
依据公式2与公式5,我们得考虑抗性抵抗给致命一击率带来的影响。或许存在两个可能的计算公式。
公式9:实际致命一击率=C*抗性修正系数
公式10:实际致命一击率=C
测试4
有一个法师,其命中率为13%,致命一击率是12.87%(C),这个法师去攻击冰抗为293的圣骑士。要知道,293的冰抗加上13%的命中,这就表明法师的命中率为29.16%。此次测试的样本数量是1300,而关于致命一击的数量则存在两种计算方式。
根据公式9, 结果应该是48.78次致命一击
按照公式10来计算的话,得出的结果应当为167.31次致命一击。
测试结果:
样本数量:1300
命中次数:378
抵抗次数:922
致命一击次数:50
测试结果表明,公式9更加准确。
六、单一Roll规则
Aeus在欧服论坛发布了有关致命一击率和命中率关系的帖子之后,针对物理攻击和远程攻击,有人提出了“单一Roll规则”。其含义为,就物理攻击和远程攻击而言,服务器端仅进行一次Roll操作,便能够确定某次攻击到底是致命一击、普通命中,亦或是躲闪、格挡等情况。详细内容可查看WOWWIKI的相关论述。
Eyonix发的帖子,使得不少人觉得单一Roll规则对法术并不适用。不过,从我之前所做的测试能够发现,采用单一Roll规则来阐释法术的行为,同样是一种较为简捷的方式。
Eyonix所举的二元法术的例子,也表明了服务器端存在一种单一Roll规则。这一规则为:只进行1次Roll,这一次Roll就能够判定某个冰箭是暴击、普通命中,还是抵抗。并且,在判定为抵抗的时候,不再去区分到底是由于等级差异造成的,还是因为抗性而造成的。
Eyonix所举的例子表明,对于非二元法术而言,服务器端进行了两次掷骰(Roll)操作。不过在我看来,单一掷骰(Roll)规则在解释起来的时候会更加简明扼要。
七、关于法师的元素专注天赋(此天赋类似于奥术集中天赋、牧师的暗影集中天赋以及术士的镇压天赋),它的作用方式是怎样的呢?
标题里列出的天赋描述,全都是“使你的目标抵抗X系法术的概率降低Y%”,这和装备上的属性描述“使你的法术击中敌人的概率提升Y%”存在差异,二者作用的原理也不一样。
在游戏等相关情境中,我们常常会关注各种属性对角色能力的影响。就拿标题中的天赋描述来说,它着重于降低目标抵抗特定系别法术的可能性,这是从目标的抵抗角度出发的一种影响机制。而装备上的属性描述则是聚焦于自身法术击中敌人概率的提高,这是从自身法术命中的方面来考量的。这两种描述所涉及的角度不同,自然其背后作用的原理也大相径庭。这就好比是从两个不同的方向去对一场战斗中的法术相关情况施加影响,一个是减少对方抵抗的因素,另一个是增加自己命中的因素。
在1.10版本的时候,美服论坛上曾有人针对奥术集中天赋开展过测试。测试的结果显示,5点奥术集中天赋具有这样的效果:“能够让敌人抵抗你的奥术魔法的概率降低10%”。其作用原理是,在经过基本命中以及抗性修正系数调整后的命中数值基础之上,再额外增加10%的命中率,并且这个命中率是能够达到100%的。
为了进一步解释这个原理,我们可以想象一下整个过程。就好比在一个复杂的魔法对抗体系中,存在着各种影响魔法命中的因素,基本命中是最初始的一个衡量标准,而抗性修正系数则像是一个根据敌人防御能力而进行调整的参数。当这两个因素共同作用得出一个命中数值后,奥术集中天赋会在这个数值的基础上,再为使用者增加10%的命中可能性。这种增加并非是无限制的随意增加,而是在整个游戏机制的框架内合理地提升。而且这个提升的最终结果是,它有可能让玩家的奥术魔法命中率达到100%,这在游戏中的战斗策略和技能运用方面都有着非常重要的意义。
在1.11版本的时候,100%命中存在的Bug已经被修正了。我推测其作用方式和1.10版本依旧较为类似,这里所说的命中是指在拥有3点元素专注天赋之后的情况。元素专注天赋能够让你的目标抵抗火焰和冰霜系法术的几率降低6%。
公式11:命中率的计算方式为,先计算(基本命中加上从装备上获取的命中)乘以抗性修正系数,再加上6%,取这个结果与99%中的最小值,即命中率=Min[(((基本命中+装备上获得的命中)*抗性修正系数)+6%),99%]。
有一种观点称元素专注仅仅在对抗性抵抗时才有效,然而,借助对大量Boss战数据的统计,就能够比较轻松地驳斥这一观点。在游戏中的各种战斗场景,尤其是具有代表性的Boss战里,玩家们会收集到海量的数据信息。这些数据包含了角色技能释放、元素效果触发以及战斗结果等多方面的情况。通过对这些丰富数据的详细统计与深入分析,我们就可以发现元素专注并非只在对抗性抵抗方面才起作用,从而有力地反驳了之前的那种观点。
还有一种或许存在的计算方法,那便是元素专注天赋的效果与6%命中是完全等同的,其计算方式如下:
公式12表明:命中率等于Min[((基本命中+装备所获取的命中+6%)×抗性修正系数),99%]。
在目标具备较高抗性的情况下,公式11与公式12的理论数值之间会出现较大的差异。
测试5
有一个法师,其装备带有13%的命中属性,并且在天赋方面加了3点元素专注。这个法师去攻击一名圣骑士,该圣骑士的冰抗达到293。
根据公式11,命中率=35.2%
根据公式12,命中率=30.8%
测试结果:
样本数量:400
命中次数:142
抵抗次数:258
命中率:35.5%
公式11更加准确。
从中我们能够发现,元素专注这一天赋,在目标抗性较低之时,其发挥的作用和6%命中相类似。而当目标具备较高抗性的时候,该天赋所起的作用就远远超出了6%命中。所以呢,它作为第一层天赋,并且对两系魔法均有效,这确实是过于强大了。也正因如此,在TBC(燃烧的远征)里,这个天赋遭到了削弱(Nerf)。
我们不妨进一步深入理解这个问题。在游戏的机制中,天赋的平衡性是非常关键的一个要素。元素专注天赋原本设计的初衷可能是为了给特定的职业或者玩法提供一定的优势,但由于它在面对不同抗性目标时表现出的这种不平衡性,就打破了游戏内部的平衡状态。这种不平衡如果不加以调整,就可能会导致在游戏的PVP(玩家对战玩家)或者PVE(玩家对战环境)场景中,拥有这个天赋的玩家或者角色过于强势,影响其他玩家的游戏体验。这也就是为什么在TBC版本中,开发团队不得不对这个天赋进行Nerf处理的根本原因所在。
八、高等级怪物身上无法消除的抗性
1. 在使用非二元法术对高等级怪物进行法术攻击的时候,会出现部分抵抗的情况。
当使用非二元法术去攻击61级及以上的怪物时,总会出现部分抵抗的情况。并且,这种部分抵抗是不能凭借元素诅咒、暗影诅咒、天赋或者装备上的减抗属性来去除的。就拿PW(可能是某个特定的怪物或BOSS)来说吧,有术士装备了能减60抗的装备,在给BOSS施加了暗影诅咒之后,再用暗影箭进行攻击,却依旧存在部分抵抗。要是认为PW具备135以上的暗影抗性,这是不符合实际情况的。
在游戏中的战斗机制往往比较复杂,就像这样关于法术攻击与抵抗的情况,很多玩家可能都曾遇到过类似的疑惑。也许在其他的法术攻击场景或者针对其他怪物时,也会有类似的状况发生。毕竟游戏中的数值设定和相互作用关系繁多,不同的法术、怪物等级、装备属性以及各种增益减益效果交织在一起,就会产生这种看似难以理解的现象。
用火球去攻击PW的时候,也会面临同样的状况。PW的火抗显然不可能超出75(这是元素诅咒能够削减的抗性数值)。实际上,在MC(熔火之心)里的那些Boss,除了焚化者古雷之外,其余并非火免疫的Boss,它们的火抗都是在100以下的。
我们来看PW战斗中的一些统计数据
测试6
装备有减抗60的术士,用暗影箭攻击PW
样本数量:92
命中次数:85
完全抵抗次数:7
完全抵抗概率:7.6%
有效率:87.6%
由本文第三部分的抗性表格可知,出现7次完全抵抗不太可能是抗性所致。那么,由于部分抵抗而减少的伤害为(1 - 87.6% - 7.6%),经计算得出结果为4.8%。
测试7
有这样的法师,其装备和天赋加起来能提供20点减抗效果,这个法师会使用灼烧攻击PW。
样本数量:122
命中次数:119
完全抵抗次数:3
完全抵抗概率:2.5%
有效率:93.4%
从中能够计算得出,由于存在部分抵抗,从而减少的伤害量为(1-93.4%-2.5%),其结果是4.1%。
1.9补丁出现了一种毫无理由的部分抵抗现象。在1.9补丁的说明里,有这样一条内容:“暗影诅咒与元素诅咒——暗影诅咒和元素诅咒不会再让目标的抗性变为负值,如今这两种诅咒能够使相应类型的法术对目标造成的伤害值提升。”这或许就是产生这种部分抵抗现象的原因。
在此处要借用他在1.10版本时测试得到的几个数据,那个时候他点了奥术集中天赋以后,奥术飞弹的命中率能够达到百分之百。
测试8
哈霍兰公主
存在暗影诅咒的情况下,装备具备7%的命中率(这也就意味着奥术飞弹能够达到100%的命中率)。
3269样本
有效率:0.94103
从抗性以及伤害减免的计算公式来看,能够推算出哈霍兰公主的奥术抗性为23.588。
测试9
哈霍兰公主
没有暗影诅咒,装备有7%命中
679样本
有效率:0.95361
从抗性与伤害减免的计算公式来看,能够得出哈霍兰公主的奥抗数值为18.556。
通过测试9我们能够推断,哈霍兰公主的实际奥术抗性不会超过30。然而,这不到30的奥术抗性并不能被暗影诅咒所带来的-75奥术抗性效果给消除掉。
Kavan还对阿努比萨斯防御者的冰抗进行了测试。为了形成对比,我们先来看看使用奥术飞弹攻击阿努比萨斯防御者的测试情况。
测试10
阿努比萨斯防御者, 62级
装备有5%命中,奥蛋攻击
样本数量:776
有效率:0.96327 = 14.692奥抗
测试11
阿努比萨斯防御者,62级
装备有5%命中,冰箭攻击
样本数量:768
命中率:99.218%
要是阿努比萨斯防御者具备与奥抗一样的冰抗,那么冰箭的命中率应当为95.36%。
换一种说法,二元法术不会受到这种无法被消除的抗性的干扰。
对于这种专门作用于非二元法术且无法被消除的抗性,到目前为止,还没有一种能让人信服的理论可以做出解释。在此只是把这个情况提出来,同时也给法系职业提个醒:在Boss战中常常会出现部分抵抗的情况,但不要因为这个就去搜集减抗装备,由于这种抗性的存在,减抗装备也不能将其消除。
根据Kavan的众多测试数据显示,这种无法去除的抗性所带来的伤害减免数值大概在5%上下。5%左右的伤害减免是个什么概念呢?这就意味着如果进行100次攻击的话,或许会有20次攻击被抵抗掉四分之一的伤害,所以在感觉上就好像Boss有着很高的抗性一样。
相关的测试:
测试12
攻击者是一名41级的法师,其攻击目标为60级的牧师。这个牧师的火抗为0,而法师所使用的技能是1级的灼烧术。在这样的战斗场景下,等级上的差距以及牧师毫无火抗的情况,都可能会对战斗结果产生重大的影响。法师使用的1级灼烧术虽然等级不高,但面对0火抗的牧师,也可能会造成不容小觑的伤害。
测试结果:
样本数量:400
命中数量:219
完全抵抗:181
部分抵抗:0
2、Romeneva关于抗性的等级惩罚理论
在美服论坛的法师专区,Norgannon的Romeneva曾经在一个精华帖里提及抗性的等级惩罚理论。很可惜,现在已经找不到那个帖子了,下面是相关部分的翻译:
怪物有时会具备内在的抵抗能力,而玩家的抗性则是从装备、天赋、增益效果(Buff)以及种族等方面获取。怪物的这种内在抗性,会依据攻击者和目标之间的等级差来进行调整,每相差一级,抗性就调整5点。例如,有一个目标其原始抗性为50,那么它的有效抗性将会是:
这里补充一些内容方便理解,在游戏的机制里,这种抗性调整系统的存在增加了战斗的变数。无论是玩家还是怪物,抗性的变化都会影响战斗中的伤害输出与承受。玩家需要通过合理搭配装备、选择合适的天赋、利用好各种Buff并且根据自身种族特性来调整自己的抗性,从而在与怪物战斗时取得更好的战斗效果。而怪物的内在抗性,也是游戏开发者平衡游戏难度的一种手段,不同等级的怪物因为这个机制会给玩家带来不同的挑战。
怪物等级 有效抗性
你的等级-3 35
你的等级-2 40
你的等级-1 45
你的等级 50
你的等级+1 55
你的等级+2 60
你的等级+3 65
也许这能够解释高等级怪物身上那些无法去除的抗性是怎么来的。不过,按照这个理论的说法,抗性和伤害减免存在这样两个相关项:其一,目标的抗性数值;其二,攻击者与目标之间的等级差。然而,这与官网主页上有关抗性的阐述是相互矛盾的。
玩家面对Rag(拉格纳罗斯)时,要达到75%的伤害减免上限需要多少火抗呢?针对这个问题,有一种理论和本文第三部分所阐述的理论,它们采用不同的计算方法,最终却得出了一样的:315点火抗。
九、装备选择
从第二部分得出的能够让我们知晓,在Raid装备的挑选方面,冰法这个职业的致命一击与命中(在命中未超上限时)是完全对等的。
在第四部分的讨论里能够发现,命中装备在抗性抵抗方面仍然是有效的。不过,想要依靠提升命中来降低抗性抵抗,这种做法并不划算。减抗属性所占用的属性值与命中相同时,在减少抗性抵抗上会更具成效。
问题往往就是如此,研究得越深入就越令人感到迷惑。并且只要涉及到概率方面的内容,测试数据就始终存在着为错误理论提供支持的可能性。
最后,要向阿呆、彩虹以及偷光表达感谢。感谢他们扮演木桩,来协助完成以上数据的测试工作。
澄拾游戏