- 欢迎加入国服 QQ群: 693091795
- ★---------->国服攻略<----------★
- ★---------->极品鉴赏<----------★
- 还可以在 KOOK (原 开黑啦) 上面提出建议
D2BarbarianIAS Whirlwind
暗黑2的时间单位是帧(F),1F=1/25秒
视频中说的原版双手武器要>=60应该有误实际上根据计算器来说应该是59就行了
注意:旋风的实际攻击范围两把武器时仅以主手武器为准
D2R攻速计算网站maxroll 此网站计算D2R单手或双持武器时旋风最高3F表格情况根据下面的原理推算暴雪对代码做了手脚强制限为4F
D2原版攻速计算器excel版下载 作者:diyer007
旋风两把(双持)武器的攻击方式
1.一把武器作为当前武器,另一把武器作为第二武器。WW起始时,右手为当前武器。(指手套上方位置也叫主手武器)
2.每次攻击时两把武器均会攻击敌人。打击范围内若有多个敌人,则两把武器不会同时攻击同一个敌人;若打击范围内只有一个敌人,则两把武器都会攻击敌人。但第一次攻击除外,第一次攻击仅当前武器攻击敌人。(重置版改为了每次都是双手同时攻击)
3.每次成功攻击后均会切换武器,原当前武器成为第二武器,而原第二武器成为当前武器。
D2原版旋风攻速简单计算
D2原版采用的是特殊公式:
最终攻速=武器攻速(IAS) - 底材攻速(WSM)
1)对于单手武器(包括双手剑)或者双持武器,武器的攻击速度(IAS)减去武器的基础攻击速度(WSM)如果大于等于34,则可以达到4f;(由于野蛮人可以单手拿双手剑,所以双手剑算成这一类)
2)对只能双手拿的武器,如双手长矛、长柄武器、锤子等,武器的攻击速度(IAS)减去基础攻速(WSM)差值如果大于等于59,则可以达到4f。
D2原版旋风速度仅仅和武器本身有关,和其他装备上的提速、技能提速等都无关(所以原版手套可以戴碎钢)
D2原版双手武器攻速上限是4F,双持武器4/2/2F(第一次攻击检测只有主手武器攻击)(本质上是叫4F但是是两把武器同时攻击算作单把时可以除2)
D2原版如果旋风不能达到4f攻速,那就只能6f甚至8f了(不存在5f、7f的情况)
注意:两把武器时副手武器也要达到4F不然主手砍两刀副手才砍一刀(4F+4F+8F)/3~=5.3F
D2R重置版旋风攻速简单计算
D2R在2.4.3版本之后改为了较为复杂的通用公式:
最终攻速=状态攻速+120*(装备攻速+武器攻速)/(120+装备攻速+武器攻速)- 底材攻速
SI=SIAS+120*IAS/(120+IAS)-WSM
SI要达到41以上才是极限攻速
双手武器攻速上限被砍到5F,双持武器2/2/2F(4F)因为第一刀由原版的仅主手武器攻击改为了双手同时攻击
双持时两把武器计算取两把武器最终攻速的平均值
(主手4F副手6F则最终攻速为(4+6)/2=5F)
(主手4F副手5F则最终攻速为(4+5)/2=4.5F但是向上取整为5F)
野蛮人旋风重置版需求攻速
上图来自视频作者其中的幻化15和121是错的应该是13和125请参考下图
以下来自作者:折磨者崔斯特
旋风分为双持旋风和双手旋风。配装时,都要把攻速堆到上限才算合格。
双持旋风:攻速上限是4f,左右手攻速分开计算,平均后再向上取整。只需记住:两把武器都要到4f才算合格;
双手旋风:和双持不同,只有剑类武器能到4f上限,其它类型武器只能到5f,因此只有双手剑能选;
如果不常驻超市和王座,不用刻意堆中衰老后的攻速档位,得不偿失;
注意:双持旋风是用两把武器交替攻击,旋风范围由右手(手套上)的武器决定,一把武器的攻速,ds,命中,双吸、cb和百分比命中,对另一把武器不生效,但是技能等级、光环和抗性同时生效;并且除武器以外的装备属性,如戒指的双吸,对两把武器同时生效。
举例1:右手巨神刃死亡呼吸+左手幻化悔恨,旋风的范围即为3,因为巨神刃距离为3。但只有死亡呼吸攻击时有双吸;
举例2:右手悔恨+左手碧蓝怒火,碧蓝怒火的1技能等级、10全属性以及避难所灵气对悔恨也生效。
一般来说,基础攻速慢的武器伤害更高,攻速快的武器搭配更灵活
几种终配对比图,所有底材并未完全列举
D2&D2R的不同之处
D2版本旋风不受加/减速影响(所以原版不戴乌鸦之霜)
D2R在2.4.3版本旋风是受狂热、狂乱、速度爆发、衰老、神圣冰冻加/减速影响的(所以重置版要戴乌鸦之霜)
D2&D2R的旋风野蛮人经典配装对比图(来自视频作者)(他这里不用蚀肉骑士是因为鞋子上面加了移速影响旋风的输出)
PD2的不同之处
PD2中所有的 IAS 对旋风技能均无效,帧数为固定算法
PD2因为为刺客的 RW 混沌 Chaos 上面有一个特殊的旋风技能 Blade Dance 以区别于野蛮人的旋风 Whirlwind 技能
所以有两种攻速
刀锋之舞 Blade Dance 使用单把武器时每 4 帧命中一次或双持武器时每 5 帧命中两次
Blade Dance hits once every 4 frames when using a single weapon or twice every 5 frames when dual-wielding
旋风 Whirlwind 使用单把武器时每 5 帧命中一次或双持武器时每 6 帧命中两次
Whirlwind hits once every 5 frames when using a single weapon or twice every 6 frames when dual-wielding
D2原版旋风攻速计算原理
作者:食不言
2024-2-19
一、原版旋风斩档位公式
武器的攻击间隔=Min(Max(({256*6/[256*17/Delay]}-2)*2,4),16)
其中:
Delay=[256*A1FramePerDirection/[AnimationSpeed*(100+wias-WSM)/100]]
[]表示向下取整,{}表示向上取整
1.关于动作参数
A1FramePerDirection为角色使用A1攻击时的初始总帧数,AnimationSpeed为对应的动画速度参数。
A1FramePerDirection/AnimationSpeed具体参数如下:
野蛮人持双手剑及单手武器:16/256
野蛮人持其他双手武器:19/256
野蛮人空手:19/256
刺客持爪:11/208
wias为武器上的提速,WSM为武器的基础速度。双持两把武器时,两把武器分别使用自身的参数计算攻击间隔。
注:野蛮人空手可以使用旋风,此时参数同双手武器,为19/256,并且因为空手,所以wsm=0,wias=0,计算可知武器攻击间隔固定10F。
2.关于武器攻击间隔公式
Delay=[256*A1FramePerDirection/[AnimationSpeed*(100+wias-WSM)/100]]
这个公式在计算原版变形术以及旋风攻速时都会用到。
武器的攻击间隔=Min(Max(({256*6/[256*17/Delay]}-2)*2,4),16)
这个公式之前无人得出。这里解释一下:
1)旋风档位均为偶数档位,没有奇数档位,所以公式中有*2。
2)旋风档位最快4帧,最慢16帧(16帧需要在修改实现)。
3)此公式解决了以前的查表求旋风攻速的问题。
以前的表格如下(from impk),现在则完全可以由我提出的公式计算得出。
==================== delay Real_Delay -------------------- 0 - 11 4 12 - 14 6 15 - 17 8 18 - 19 10 20 - 22 12 23 - 25 14 26及以上 16 ====================
此新公式与以前的计算完全不同,在此做一下解释:
17/Delay可以认为是新的攻速倍数,等价于(100+SI)/100,因此[256*17/Delay]表示的是旋风斩的计数增量。
但注意,此增量不同于以前的每帧增加一次,而是每2帧增加一次,因此旋风斩的档位只能是偶数。
256*6表示的是旋风斩的计数终止值。
但不同于一般的技能,该计数过程持续时间有上下限,最小4帧,不到4帧不会停止,最大16帧,到了16帧必定结束。
且会提前计算4帧以后的值。
二、双持两把武器时攻击帧计算
旋风斩固定在第3帧和第7帧进行攻击(而不是以前误传的第4帧和第8帧)。
之后的攻击帧则由上次攻击时的“档位武器决定”。具体过程如下:
(一)第3帧:
1.此时档位武器为主手,但下次攻击固定在第7帧。
2.主手攻击一次,档位武器切换为副手。
(二)从第7帧开始的每个攻击帧,执行两个操作:
1.先看当前档位武器决定下次攻击帧数;
2.然后根据有无目标在副手和主手之间切换当前武器,有目标攻击两次切换两次,没有目标则只切换一次。
第7帧:
1.此时档位武器为副手,以此计算下次档位为x。
2.如果有目标,则攻击两次(先副手后主手),档位武器切换两次,仍为副手;
如果没有目标,则档位武器切换一次,为主手。
(关于攻击两次的顺序测试:
主手旋风伤害2000,副手接近0伤害但100%CB,怪物0物抗,4600生命。
第3帧攻击伤害2000,第7帧如果先CB后伤害,则第7帧结束后怪物死亡,如果先伤害后CB则怪物不会死亡。
实测怪物在第7帧后立即死亡,证明攻击两次的顺序为副手-主手,其他攻击帧测试方法同理)
第7+x帧及之后的攻击帧:
1.根据当前档位武器计算下次档位。
2.根据目标情况,切换档位武器。
三、双持不同档位武器旋风攻速举例
1.主手4f+副手6f
如果一直不遇敌,则攻击帧为:3-7(副)-13(主)-17(副)-23(主)-27(副)-……
()内为当前档位计算使用的武器,决定了下次旋风的间隔。
例如,达到第7帧时,当前档位武器为副手,则按副手的6f计算,所以下一次攻击在第13f;
达到第13帧时,当前档位武器为主手,则按主手的4f计算,所以下一次攻击在第17帧……
即从第7帧之后,间隔分别为6-4-6-4-……,直到某个攻击帧时遇敌,则一直延续该帧的档位武器不变。
例如,第7帧遇敌,则此后一直用副手武器计算档位,即6f,为7-13-19-25-……;
第13帧遇敌,则为4f,13-17-21-25-……;
第17帧遇敌,又为6f,17-23-29-35-……。
以上过程直到某个攻击帧时失去目标,此时又开始4f-6f的循环。
2.主手6f+副手4f
如果一直不遇敌,则攻击帧为:3-7(副)-11(主)-17(副)-21(主)-27(副)-……
()内为当前档位计算使用的武器,决定了下次旋风的间隔。
例如,达到第7帧时,当前档位武器为副手,则按副手的4f计算,所以下一次攻击在第11f;
达到第11帧时,当前档位武器为主手,则按主手的6f计算,所以下一次攻击在第17帧……
即从第7帧之后,间隔分别为4-6-4-6-4-……,直到某个攻击帧时遇敌,则一直延续该帧的档位武器不变。
例如,第7帧遇敌,则此后一直用副手武器计算档位,即4f,为7-11-15-19-……;
第13帧遇敌,则为6f,13-19-25-31-……;
第17帧遇敌,又为4f,17-21-25-29-……。
以上过程直到某个攻击帧时失去敌人,此时又开始4f-6f的循环。
D2R重置版旋风攻速计算原理
作者:食不言
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档位表如下:
其中:SI=SIAS+EIAS-WSM
SIAS包括狂热、狂乱等技能提速,以及衰老、减速等效果。
EIAS=120*ias/(120+ias),ias为该武器提速+非武器提速。
WSM是武器基础攻速,幻化为-30。
双持两把武器时,分别计算档位,然后取平均值再向上取整。
github上ChthonVII在讨论roundup还是rounddown的问题。其实这个问题并不本质。
因为:
公式只是用来模拟游戏的情况,只要能够完美模拟游戏对应的帧数就够了。
游戏里实际计算并不是用rounddup和rounddown这种函数去计算帧数的,而是用counter去计算的。
举个例子,野蛮人单手武器需要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
counter>=1792
动作结束,寻找下一个动作,counter重新计数,下一个动作从这个tick开始。(因此实际为6个tick,即6帧。)
新旋风的前6个tick与上面基本相同,只是counter < 1792变为counter ≤ 1792
Game tick 7
counter增加, counter=1792
counter <=1792
Aframe = 07
Game tick 8
counter增加, counter=2048
counter>1792
动作结束,寻找下一个动作,counter重新计数,下一个动作从这个tick开始。(因此实际为7个tick,即7帧。)
总之,帧数计算结束的条件从counter>=256*FramePerDirection变为counter>256*FramePerDirection,
所以导致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表格:
标黄部分为与主贴不同的地方。都是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
(对应此楼计算方法)
所以,根据实测土耳其剑被衰老后的旋风档位,就能确定是哪种计算方式。