D2BarbarianIAS Whirlwind:修订间差异
无编辑摘要 |
|||
| (未显示同一用户的15个中间版本) | |||
| 第1行: | 第1行: | ||
__TOC__ | |||
[https://maxroll.gg/d2/d2planner/ D2R攻速计算网站maxroll] 此网站计算D2R单手或双持武器时旋风最高3F表格情况根据下面的原理推算暴雪对代码做了手脚强制限为4F<br> | |||
[https://warren1001.github.io/IAS_Calculator/ D2R在线攻速计算器]<br> | |||
[https://bbs.d.163.com/forum.php?mod=attachment&aid=MzI2ODgyOXwxYTc2MDk1MnwxNjE0NDM0MDM2fDMwNDU2NTR8MTczOTE0MTY0 D2原版攻速计算器excel版下载] 作者:diyer007<br> | |||
{|class=notable style="width:800px;" | {|class=notable style="width:800px;" | ||
|{{Special:IframePage/bilib|path=?bvid=BV1sN4y1u7fq&autoplay=false}} | |{{Special:IframePage/bilib|path=?bvid=BV1sN4y1u7fq&autoplay=false}} | ||
|} | |} | ||
<span class=d2-red>暗黑2的时间单位是帧(F),1F=1/25秒</span><br> | <span class=d2-red>暗黑2的时间单位是帧(F),1F=1/25秒</span><br> | ||
视频中说的原版双手武器要>=60应该有误实际上根据计算器来说应该是59就行了<br> | |||
注意:旋风的实际攻击范围两把武器时仅以主手武器为准<br> | 注意:旋风的实际攻击范围两把武器时仅以主手武器为准<br> | ||
= <span class=d2-white>旋风两把(双持)武器的攻击方式 = | = <span class=d2-white>旋风两把(双持)武器的攻击方式 = | ||
1.一把武器作为当前武器,另一把武器作为第二武器。WW起始时,右手为当前武器。(指手套上方位置也叫主手武器)<br> | 1.一把武器作为当前武器,另一把武器作为第二武器。WW起始时,右手为当前武器。(指手套上方位置也叫主手武器)<br> | ||
2.每次攻击时两把武器均会攻击敌人。打击范围内若有多个敌人,则两把武器不会同时攻击同一个敌人;若打击范围内只有一个敌人,则两把武器都会攻击敌人。但第一次攻击除外,第一次攻击仅当前武器攻击敌人。<br> | 2.每次攻击时两把武器均会攻击敌人。打击范围内若有多个敌人,则两把武器不会同时攻击同一个敌人;若打击范围内只有一个敌人,则两把武器都会攻击敌人。但第一次攻击除外,第一次攻击仅当前武器攻击敌人。(重置版改为了每次都是双手同时攻击)<br> | ||
3.每次成功攻击后均会切换武器,原当前武器成为第二武器,而原第二武器成为当前武器。<br> | 3.每次成功攻击后均会切换武器,原当前武器成为第二武器,而原第二武器成为当前武器。<br> | ||
= <span class=d2-white> | = <span class=d2-white>D2原版旋风攻速简单计算 = | ||
D2原版采用的是特殊公式:<br> | D2原版采用的是特殊公式:<br> | ||
<span class=d2-red>最终攻速=武器攻速(IAS) - 底材攻速(WSM)</span><br> | <span class=d2-red>最终攻速=武器攻速(IAS) - 底材攻速(WSM)</span><br> | ||
| 第24行: | 第25行: | ||
D2原版双手武器攻速上限是4F,双持武器4/2/2F(第一次攻击检测只有主手武器攻击)(本质上是叫4F但是是两把武器同时攻击算作单把时可以除2) <br> | D2原版双手武器攻速上限是4F,双持武器4/2/2F(第一次攻击检测只有主手武器攻击)(本质上是叫4F但是是两把武器同时攻击算作单把时可以除2) <br> | ||
D2原版如果旋风不能达到4f攻速,那就只能6f甚至8f了(不存在5f、7f的情况)<br> | D2原版如果旋风不能达到4f攻速,那就只能6f甚至8f了(不存在5f、7f的情况)<br> | ||
注意:两把武器时副手武器也要达到4F不然主手砍两刀副手才砍一刀(4F+4F+8F)/3~=5.3F<br> | |||
= <span class=d2-white> | = <span class=d2-white>D2R重置版旋风攻速简单计算 = | ||
D2R在2.4.3版本之后改为了较为复杂的通用公式:<br> | D2R在2.4.3版本之后改为了较为复杂的通用公式:<br> | ||
<span class=d2-red>最终攻速=状态攻速+120*(装备攻速+武器攻速)/(120+装备攻速+武器攻速)- 底材攻速</span><br> | <span class=d2-red>最终攻速=状态攻速+120*(装备攻速+武器攻速)/(120+装备攻速+武器攻速)- 底材攻速</span><br> | ||
| 第37行: | 第38行: | ||
野蛮人旋风重置版需求攻速<br> | 野蛮人旋风重置版需求攻速<br> | ||
[[File:野蛮人旋风重置版需求攻速.png|800px]]<br> | [[File:野蛮人旋风重置版需求攻速.png|800px]]<br> | ||
上图来自视频作者其中的幻化15和121是错的应该是13和125请参考下图<br> | |||
以下来自作者:折磨者崔斯特<br> | |||
<span class=d2-white>旋风分为双持旋风和双手旋风。配装时,都要把攻速堆到上限才算合格。<br> | |||
双持旋风:攻速上限是4f,左右手攻速分开计算,平均后再向上取整。只需记住:两把武器都要到4f才算合格;<br> | |||
双手旋风:和双持不同,只有剑类武器能到4f上限,其它类型武器只能到5f,因此只有双手剑能选;<br> | |||
如果不常驻超市和王座,不用刻意堆中衰老后的攻速档位,得不偿失;<br> | |||
注意:双持旋风是用两把武器交替攻击,旋风范围由右手(手套上)的武器决定,一把武器的攻速,ds,命中,双吸、cb和百分比命中,对另一把武器不生效,但是技能等级、光环和抗性同时生效;并且除武器以外的装备属性,如戒指的双吸,对两把武器同时生效。<br> | |||
举例1:右手巨神刃死亡呼吸+左手幻化悔恨,旋风的范围即为3,因为巨神刃距离为3。但只有死亡呼吸攻击时有双吸;<br> | |||
举例2:右手悔恨+左手碧蓝怒火,碧蓝怒火的1技能等级、10全属性以及避难所灵气对悔恨也生效。<br> | |||
[[File:D2R旋风武器攻速表.jpg]]<br> | |||
一般来说,基础攻速慢的武器伤害更高,攻速快的武器搭配更灵活<br> | |||
几种终配对比图,所有底材并未完全列举<br> | |||
[[File:D2R旋风几种终配对比图.jpg]] | |||
= <span class=d2-white>D2&D2R的不同之处 = | = <span class=d2-white>D2&D2R的不同之处 = | ||
D2版本旋风不受加/减速影响(所以原版不戴乌鸦之霜)<br> | D2版本旋风不受加/减速影响(所以原版不戴乌鸦之霜)<br> | ||
D2R在2.4.3版本旋风是受狂热、狂乱、速度爆发、衰老、神圣冰冻加/减速影响的(所以重置版要戴乌鸦之霜)<br> | D2R在2.4.3版本旋风是受狂热、狂乱、速度爆发、衰老、神圣冰冻加/减速影响的(所以重置版要戴乌鸦之霜)<br> | ||
D2& | D2&D2R的旋风野蛮人经典配装对比图(来自视频作者)(他这里不用蚀肉骑士是因为鞋子上面加了移速影响旋风的输出)<br> | ||
[[File:野蛮人旋风配装(D2&D2R).png|800px]]<br> | [[File:野蛮人旋风配装(D2&D2R).png|800px]]<br> | ||
= <span class=d2-white>PD2的不同之处 = | = <span class=d2-white>PD2的不同之处 = | ||
PD2中所有的 IAS 对旋风技能均无效,帧数为固定算法<br> | PD2中所有的 IAS 对旋风技能均无效,帧数为固定算法<br> | ||
PD2因为为刺客的 RW 混沌 Chaos 上面有一个特殊的旋风技能 Blade Dance | PD2因为为刺客的 RW 混沌 Chaos 上面有一个特殊的旋风技能 Blade Dance 以区别于野蛮人的旋风 Whirlwind 技能<br> | ||
所以有两种攻速 <br> | 所以有两种攻速 <br> | ||
刀锋之舞 Blade Dance | 刀锋之舞 Blade Dance 使用单把武器时每 4 帧命中一次或双持武器时每 5 帧命中两次<br> | ||
Blade Dance hits once every 4 frames when using a single weapon or twice every 5 frames when dual-wielding<br> | Blade Dance hits once every 4 frames when using a single weapon or twice every 5 frames when dual-wielding<br> | ||
旋风 Whirlwind | 旋风 Whirlwind 使用单把武器时每 5 帧命中一次或双持武器时每 6 帧命中两次<br> | ||
Whirlwind hits once every 5 frames when using a single weapon or twice every 6 frames when dual-wielding<br> | Whirlwind hits once every 5 frames when using a single weapon or twice every 6 frames when dual-wielding<br> | ||
| 第98行: | 第112行: | ||
20 - 22 12 | 20 - 22 12 | ||
23 - 25 14 | 23 - 25 14 | ||
26及以上 | 26及以上 16 | ||
==================== | ==================== | ||
</pre><poem> | </pre><poem> | ||
| 第165行: | 第179行: | ||
第17帧遇敌,又为4f,17-21-25-29-……。 | 第17帧遇敌,又为4f,17-21-25-29-……。 | ||
以上过程直到某个攻击帧时失去敌人,此时又开始4f-6f的循环。</poem> | 以上过程直到某个攻击帧时失去敌人,此时又开始4f-6f的循环。</poem> | ||
= <span class=d2-white>D2R重置版旋风攻速计算原理 = | |||
<poem>作者:食不言 | |||
20220705更新: | |||
更新了ww计算公式。更正了之前野蛮人部分档位的si。增加了刺客使用混沌ww的si(刺客ww公式和si待实测验证)。 | |||
根据github上warren1001和ubeogesh的讨论,ww使用FrameDataActionFlag参数计算旋风档位。 | |||
则旋风(ww)的最终计算公式为: | |||
FPA=[256*FrameDataActionFlag/[AnimationSpeed*(1+SI/100)]],其中: | |||
野蛮人使用单手武器(使用双手剑按单手武器计算)的FrameDataActionFlag为7; | |||
野蛮人使用其他双手武器的FrameDataActionFlag为9; | |||
野蛮人的AnimationSpeed均为256。 | |||
刺客使用爪类武器的FrameDataActionFlag为6,AnimationSpeed为208。 | |||
公式形式与我前面所推测的完全一致。 | |||
进而得到最新的SI档位表如下: | |||
[[File:D2R旋风最新的SI档位表.png]] | |||
其中:SI=SIAS+EIAS-WSM | |||
SIAS包括狂热、狂乱等技能提速,以及衰老、减速等效果。 | |||
EIAS=120*ias/(120+ias),ias为该武器提速+非武器提速。 | |||
WSM是武器基础攻速,幻化为-30。 | |||
双持两把武器时,分别计算档位,然后取平均值再向上取整。 | |||
github上ChthonVII在讨论roundup还是rounddown的问题。其实这个问题并不本质。 | |||
因为: | |||
<span class=d2-red>公式只是用来模拟游戏的情况,只要能够完美模拟游戏对应的帧数就够了。 | |||
游戏里实际计算并不是用rounddup和rounddown这种函数去计算帧数的,而是用counter去计算的。</span> | |||
举个例子,野蛮人单手武器需要si=1才能达到6帧,而如果按照以前的公式模式则si=0即可达到6帧。 | |||
这里面的区别其实很简单,就是对counter判断时从≥变为>。 | |||
以前公式的游戏内部计算过程: | |||
AnimationSpeed = 256 | |||
FramePerDirection = 7( Aframe从00到06,共7个Aframe) | |||
BaseRate = 100 | |||
SpeedIncrease = 0 | |||
Terminating_value = 256* FramePerDirection = 256*7 = 1792 | |||
Increment = [AnimationSpeed * (BaseRate + SpeedIncrease) / 100] = 256*(100 + 0) / 100=256*100/100 = 256 | |||
从0开始计数,动作开始 | |||
Game tick 1 | |||
counter增加, counter=256 | |||
counter < 1792 动作继续 | |||
Aframe = 01(看上面的对照表counter=256时,Aframe = 01) | |||
Game tick 2 | |||
counter增加, counter=512 | |||
counter < 1792 | |||
Aframe = 02 | |||
Game tick 3 | |||
counter增加, counter=768 | |||
counter < 1792 | |||
Aframe = 03 | |||
Game tick 4 | |||
counter增加, counter=1024 | |||
counter < 1792 | |||
Aframe = 04 | |||
Game tick 5 | |||
counter增加, counter=1280 | |||
counter < 1792 | |||
Aframe = 05 | |||
Game tick 6 | |||
counter增加, counter=1536 | |||
counter < 1792 | |||
Aframe = 06 | |||
Game tick 7 | |||
counter增加, counter=1792 | |||
<span class=d2-red>counter>=1792</span> | |||
动作结束,寻找下一个动作,counter重新计数,下一个动作从这个tick开始。(因此实际为6个tick,即6帧。) | |||
<span style="color:#f46b63;">新旋风的前6个tick与上面基本相同,只是counter < 1792变为counter ≤ 1792</span> | |||
Game tick 7 | |||
counter增加, counter=1792 | |||
counter <=1792 | |||
Aframe = 07 | |||
Game tick 8 | |||
counter增加, counter=2048 | |||
<span class=d2-red>counter>1792</span> | |||
动作结束,寻找下一个动作,counter重新计数,下一个动作从这个tick开始。(因此实际为7个tick,即7帧。) | |||
总之,帧数计算结束的条件从<span class=d2-red>counter>=256*FramePerDirection</span>变为<span class=d2-red>counter>256*FramePerDirection</span>, | |||
所以导致si=0时由原来的6帧变为7帧。必须si=1才能达到6帧。 | |||
这么做就是一个目的,不让旋风达到3帧,但又能相对轻松达到4帧。 | |||
首先,如果按正常计算方式,达到actionflag后帧数只向上取整,不-1, | |||
(与顺序技能类似) | |||
这种情况下,只有si=75,才能达到4帧。条件苛刻,很难达到,与暴雪说的大部分武器档位不减是矛盾的。 | |||
因此必须想办法调整。 | |||
其次,如果达到actionflag后向上取整-1(与非顺序技能类似) | |||
那么si=75时就能达到3帧,这也是暴雪不愿意看到的。 | |||
而把≥变为>,就必须si=76才能达到3帧,游戏si上限是75,从而旋风最高4帧,和原来一致。 | |||
补充另外一种increment计算方法的SI表格: | |||
[[File:D2R旋风increment计算方法的SI表格.png]] | |||
标黄部分为与主贴不同的地方。都是si为负的部分的档位。 | |||
需要经过测试才知道哪个计算方法是暴雪实际使用的方法。 | |||
举个例子:野蛮人单手武器土耳其剑,wsm=-20,其他为0速。被衰老后si=-50-(-20)=-30。 | |||
此时increment有两种计算方式: | |||
一是[256*(1+si/100)]=[179.2]=179,对应的档位为[256*7/179]=[10.01]=10 | |||
(对应顶楼计算方法) | |||
二是256+[256*si/100]=256+[-76.8]=256+(-76)=180,对应的档位为[256*7/180]=[9.96]=9 | |||
(对应此楼计算方法) | |||
所以,根据实测土耳其剑被衰老后的旋风档位,就能确定是哪种计算方式。 | |||
</poem> | |||