2016-10-20 作者:特玩整理 来源:dota2.te5.com
导读:上一篇文章里讲的是几种常见的叠加机制,其中提到了攻击速度。今天我将把攻击速度讲得更详细一些(因为V社挖了一个大坑)。
上一篇文章里讲的是几种常见的叠加机制,其中提到了攻击速度。今天我将把攻击速度讲得更详细一些(因为V社挖了一个大坑)。
首先还是像那篇文章一样,我们明确几个概念:基础攻击间隔BAT,攻击速度AS,额外攻击速度IAS,基础攻击速度,攻击间隔(每X秒攻击一次,AT),每秒攻击次数。为了叙述方便,下文均用英文代替。
除了肉山,每个单位的初始攻击速度都是100,因此下文不再引用初始攻击速度的名词,直接用100来代替。
BAT的定义是一个英雄在没有任何IAS时的AT。
举例,1级炼金的BAT为1.7,若敏捷被偷成0,不学技能不买物品,那么他的AT即为1.7,即每1.7秒攻击一次。如果是神谕者,则每1.4秒攻击一次。下文会上图。
AS=100+IAS,这个不多赘述。
IAS指的是除了100攻击速度之外的任何攻击速度加成。比如敏捷、加速手套、振奋宝石、兽王光环等。
AT即为攻击力面板显示的每XX秒攻击一次。
每秒攻击次数=AT的倒数。
AS有范围,20-600。对于BAT为1.7的英雄来说,AS不会低于20,超过600不会有任何变化。这个大家自己感受吧。
公式:AT=
或
每秒攻击次数=1/AT。
好,以上为知识背景,下面开始正文。
为什么上边举例都是用BAT为1.7的英雄做例子?因为V社在处理BAT不等于1.7的英雄的时候用了一种看似高明实则愚蠢的方法:“为了让不同英雄间的攻击速度比较更直观”,他们将BAT不等于1.7的英雄的AS“换算”成BAT为1.7的英雄的AS。下面我们用炼金的例子看一下。
查表可知,炼金术士的BAT为1.7。
扣除所有敏捷后(后文会解释这样做的原因),未开大炼金AS为100,AT为1.7,符合实际情况。
开启1级大招。
保持其他情况不变,嗯?怎么AS变大了?怎么变成121了?
又,又变大了?
开启三级大招。
诶?好像发现了一些规律?
1.0=1.0*100/100=1.7*100/170!
我们在3级大招的时候发现了规律:为了保持相同的AT,系统将BAT不是1.7的英雄拥有AS换算成了一个BAT为1.7的英雄要达到当前的AT所需要的AS。(用汉语翻译一下:为了保持相同的攻击间隔,系统将基础攻击间隔不是1.7的英雄所拥有的攻击速度换算成了基础攻击间隔是1.7的英雄要达到当前攻击间隔所需的攻击速度)。
根据攻击速度公式:
解得x=121.4。
解得x=141.6。
解得x=170。
可以看出,与实际符合得很好。
如果您能坚持看到这里,请允许我表达对您的敬意,谢谢您并没有“太长不看”而是看了下去,谢谢您的支持。
下面我要解释一下为什么做上面测试的时候一定要把敏捷偷光。
我们看下图。
同样是3级大招,除了敏捷之外无其他IAS,此时我们拿出刚才的公式:
依图,AT为0.72,一个1.7秒的英雄想每0.72秒攻击一次,需要多少攻击速度呢?
解得x=236.1。
这与图中AS=210匹配得很不好,可以说差之千里。
这是为什么呢?
然而我们仔细一看,会发现:
170+40=210,170是经过换算后的基础攻击速度,40是敏捷提供的IAS。
原来是这样!V社的程序员并没有将所有的AS都做了“换算”处理,而只是将基础攻击速度做了“换算”处理。而如果不测试的话很难发现这一点,至少手选一个JUGG出门发现攻击速度不等于100+敏捷的时候是一脸懵逼的。
所以我们会发现,如果不把敏捷偷光(即把所有IAS都去掉只剩下基础攻击速度),直接用“换算”的方式来处理AS的话,是得不到正确的结果的。这就是我说 V社这样的处理方式“看似高明实则愚蠢”的原因。。。
接下来是攻击速度范围。
前文说过AS范围为20-600,那么对于BAT非1.7的单位来讲,以炼金为例,根据换算得到的AS范围应该是20*170%-600*170%,即34-1020。
那么实际情况是不是这样呢?
最低AS为90。
最高AS为670。
3级大的炼金攻速范围为90-670,而并不是34-1020。
不难看出,经过“换算”得到的AS中,只有基础攻击速度做了换算,IAS都没有换算。
也就是说,3级大招下的炼金要使攻击力面板上的攻击速度到达670才能到达满攻速(1秒攻击6次,0.167秒攻击一次),只有600的话不会到达最大攻速。