D2BarbarianIAS Whirlwind:修订间差异

Lil174留言 | 贡献
Lil174留言 | 贡献
无编辑摘要
 
(未显示同一用户的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}}
|}
|}
__NOTOC__


<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>
[https://maxroll.gg/d2/d2planner/ D2R攻速计算网站maxroll]
此网站计算D2R单手或双持武器时旋风能上3F与视频中说的重置版最高4F不相符所以待验证<br>
另外视频中说的原版双手武器要>=60应该有误实际上根据计算器来说应该是59就行了<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>D2原版旋风攻速计算法 =
= <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/8F~=5.3F<br>
注意:两把武器时副手武器也要达到4F不然主手砍两刀副手才砍一刀(4F+4F+8F)/3~=5.3F<br>


= <span class=d2-white>D2R旋风攻速计算法 =
= <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&D2R的旋风野蛮人经典配装对比图<br>
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 以区别与野蛮人的旋风 Whirlwind 技能<br>
PD2因为为刺客的 RW 混沌 Chaos 上面有一个特殊的旋风技能 Blade Dance 以区别于野蛮人的旋风 Whirlwind 技能<br>
所以有两种攻速 <br>
所以有两种攻速 <br>
刀锋之舞 Blade Dance 使用单把武器时旋风每 4 帧命中一次或双持武器时每 5 帧命中两次<br>
刀锋之舞 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 使用单把武器时旋风每 5 帧命中一次或双持武器时每 6 帧命中两次<br>
旋风 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及以上    16
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>
MediaWiki Appliance - Powered by TurnKey Linux