[YYer]DotA2攻速计算及攻速显示面板研究

对于基础攻击间隔不是1.7的英雄来说,补偿攻速CAS、攻击速度AS、攻击间隔AT、1.7这四个量有什么关系呢?经过多次实测,我总结出这个公式:


1.7/(1+CAS%)/(AS%-CAS%)=AT <=>1.7/(AS%+AS%*CAS%-CAS%*CAS%)=AT
其中,AS=100+IAS+CAS,因此这个公式又可以写成
1.7/(1+CAS%)/(1+IAS%)=1.7/(1+CAS%+IAS%+CAS%*IAS%)=AT


这就是补偿攻速CAS在面板显示中的作用。





举个栗子,上图中剑圣的攻击速度是100,而攻击间隔却是1.77,这正是因为存在补偿攻速这个常量,导致攻击间隔产生了偏移,利用上面的公式可以进行计算,AS是100,CAS是21,那么IAS=AS-100-CAS=-21,1.77≈1.7/(1+21%)/(1-21%)

楼主 康猩猩  发布于 2015-01-25 00:53:00 +0800 CST  



再来看这两张图,600攻速的剑圣,攻击间隔是0.24秒,AS=600,IAS=AS-100-21=479,0.24=1.7/(1+21%)/(600%-21%)=1.7/(1+21%)/(1+479%),

同理,621攻速的剑圣,攻击间隔是0.23秒,AS=621,IAS=AS-100-21=500,0.23=1.7/(1+21%)/(621%-21%)=1.7/(1+21%)/(1+500%)
充分说明这个算式是正确的。

楼主 康猩猩  发布于 2015-01-25 01:01:00 +0800 CST  
如果你曾经对dota2的攻速做过较为详细的研究,特别是测试中用到了基础攻击间隔不是1.7的英雄时,肯定遇到过面板上显示的攻击间隔和攻击速度与基础攻击间隔不对应的问题,然而,当攻击速度越大时,比如你在测试极限攻击间隔时,会发现貌似面板上显示的攻击间隔和攻击速度计算出来的基础攻击间隔越来越接近真正的基础攻击间隔,从1.7/(1+CAS%+IAS%+CAS%*IAS%)=AT这个公式也可以看出来,当IAS越来越大时,CAS的影响就越来越小。

楼主 康猩猩  发布于 2015-01-25 01:10:00 +0800 CST  
既然对于基础攻击间隔不是1.7的英雄来说,面板显示的攻击速度是错误的,那么正确显示的攻击速度应该是多少呢?
实际上很简单,攻击间隔是正确的,那么直接把1.7/AT就可以得出正确的AS了,只是这个正确的AS可以说毫无实战意义,甚至在研究的演算过程中,都没有存在意义,但这至少比错误的显示要好得多。

楼主 康猩猩  发布于 2015-01-25 01:25:00 +0800 CST  
最后献上总表截图


楼主 康猩猩  发布于 2015-01-25 01:26:00 +0800 CST  
最后的最后,再做个总结吧,进阶篇确实有点难以理解。


基础篇的内容很简单,大家只需要记住BAT÷(1+IAS%)=BAT÷AS%=AT这个公式就对了。
而进阶篇则主要讲了dota2攻速显示面板上的一个问题,由于所有英雄都是按照1.7的基础攻击间隔的模型来计算攻速和攻击间隔的,因此对于一些基础攻击间隔不是1.7的英雄来说,势必要引入一个特殊的常量,这个常量被本人命名为补偿攻速(或校准攻速)CAS,然而攻速面板显示的攻击速度却是直接把补偿攻速与其他攻速相加,这导致面板上显示的攻击速度和攻击间隔与基础攻击间隔无法对应,多次实验下,总结出了1.7/(1+CAS%)/(AS%-CAS%)=AT <=>1.7/(AS%+AS%*CAS%-CAS%*CAS%)=AT和1.7/(1+CAS%)/(1+IAS%)=1.7/(1+CAS%+IAS%+CAS%*IAS%)=AT这两个算式,解释了面板的显示问题。
对比较BAT=AS%*AT和1.7=(1+CAS%)/(AS%-CAS%)*AT这两个算式,你会发现前者其实就是后者在CAS为0的情况下化简得出的。

楼主 康猩猩  发布于 2015-01-25 01:42:00 +0800 CST  

楼主:康猩猩

字数:7312

发表时间:2015-01-25 05:45:00 +0800 CST

更新时间:2016-03-10 17:05:52 +0800 CST

评论数:427条评论

帖子来源:百度贴吧  访问原帖

 

热门帖子

随机列表

大家在看