你不知道的DOTA2细节:DOTA2中攻击速度的秘密

作者:韩松 来源:知乎 发布时间:2016-10-20 12:19:17 进入论坛

RPG TI6 视频

  继上一期的叠加问题后,今天知乎的韩松同学又同大家分享一波关于DOTA2中攻速问题的数据解读。

你可能不知道的DOTA2细节:DOTA2中攻击速度的秘密

  上一篇文章里讲的是几种常见的叠加机制,其中提到了攻击速度。今天我将把攻击速度讲得更详细一些(因为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=

你可能不知道的DOTA2细节:DOTA2中攻击速度的秘密

  或

你可能不知道的DOTA2细节:DOTA2中攻击速度的秘密

  每秒攻击次数=1/AT。

  好,以上为知识背景,下面开始正文。

  为什么上边举例都是用BAT为1.7的英雄做例子?因为V社在处理BAT不等于1.7的英雄的时候用了一种看似高明实则愚蠢的方法:“为了让不同英雄间的攻击速度比较更直观”,他们将BAT不等于1.7的英雄的AS“换算”成BAT为1.7的英雄的AS。下面我们用炼金的例子看一下。

你可能不知道的DOTA2细节:DOTA2中攻击速度的秘密

  查表可知,炼金术士的BAT为1.7。

你可能不知道的DOTA2细节:DOTA2中攻击速度的秘密

  扣除所有敏捷后(后文会解释这样做的原因),未开大炼金AS为100,AT为1.7,符合实际情况。

  开启1级大招。

你可能不知道的DOTA2细节:DOTA2中攻击速度的秘密

  保持其他情况不变,嗯?怎么AS变大了?怎么变成121了?

你可能不知道的DOTA2细节:DOTA2中攻击速度的秘密

  又,又变大了?

  开启三级大招。

你可能不知道的DOTA2细节:DOTA2中攻击速度的秘密

  诶?好像发现了一些规律?

  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的英雄要达到当前攻击间隔所需的攻击速度)。

  根据攻击速度公式:

你可能不知道的DOTA2细节:DOTA2中攻击速度的秘密

  解得x=121.4。

你可能不知道的DOTA2细节:DOTA2中攻击速度的秘密

  解得x=141.6。

你可能不知道的DOTA2细节:DOTA2中攻击速度的秘密

  解得x=170。

  可以看出,与实际符合得很好。

  如果您能坚持看到这里,请允许我表达对您的敬意,谢谢您并没有“太长不看”而是看了下去,谢谢您的支持。

  下面我要解释一下为什么做上面测试的时候一定要把敏捷偷光。

  我们看下图。

你可能不知道的DOTA2细节:DOTA2中攻击速度的秘密

  同样是3级大招,除了敏捷之外无其他IAS,此时我们拿出刚才的公式:

  依图,AT为0.72,一个1.7秒的英雄想每0.72秒攻击一次,需要多少攻击速度呢?

你可能不知道的DOTA2细节:DOTA2中攻击速度的秘密

  解得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。

  那么实际情况是不是这样呢?

你可能不知道的DOTA2细节:DOTA2中攻击速度的秘密

  最低AS为90。

你可能不知道的DOTA2细节:DOTA2中攻击速度的秘密

  最高AS为670。

  3级大的炼金攻速范围为90-670,而并不是34-1020。

  不难看出,经过“换算”得到的AS中,只有基础攻击速度做了换算,IAS都没有换算。

你可能不知道的DOTA2细节:DOTA2中攻击速度的秘密

  也就是说,3级大招下的炼金要使攻击力面板上的攻击速度到达670才能到达满攻速(1秒攻击6次,0.167秒攻击一次),只有600的话不会到达最大攻速。

更多TI66.88版本视频,关注http://dota2.178.com

766APP强势上线!数据游戏!这很电竞!