admin 发表于 2020-1-13 07:30:38

[1.10&1.11] Barbarian Whirlwind 修改细节补遗

原创作者:等风来
发布日期:2016-12-17


网上的旧资料很多都是基于1.09的分析,而新资料的分析大多数都是基于实际测试,虽然可信度比较高,但是我个人还是感觉有一些疑点存在,所以最后还是决定自己动手查代码来分析。
以下几个推论均来自对于1.10/1.11的代码分析。


资料片WW相対与1.09, 1.10和1.11的几个修改:   如果只有一个目标,可以在同一帧对同一个目标攻击两次。   旋风对于Finishing函数的调用从之前的4F修改为1F。   旋风特殊标注著修夏了火焰怒嚎和旋风之间的BUG,可是实际并没有,野蛮人/刺客_攻速档位的基本计算方式也没有改变。PS:在D2Common.dll中,WW使用的|l间序动作Seqnum=10,这个序列中有两个ArtionFlag(4F/8F),PtUnit(444)是WW的currentFrame特殊动画播放速度(300),也就是说WW的ActionFrame与AnimData.D2无关,而是由硬代码决定的。一个简单推论:WW的动画与实际攻击效果并无任何关系。资料片ww相対干1.11和1.10的几个区别:    在1.11之前,WW的init函数设置为4F,也就是每4F调用一次Finishing函数,这相当于ActionFlag=4F。    在1.11之后,WW的Finishing函数每帧都可以被触发,在对比nAttackFrame和CurrentFrame时,CurrentFrame会逐帧增加(CurrentFrame小于nAttackFrame时不攻击),这相当于ActionFlag=lF。PS:对于1.11的这个更改,我推测是为了令6F在内的几种攻速档位,都可以在正确的时间做出正确的攻击。一个简单的推论:相对于1.09版本的基本要求,双持两把武器需要全部达到急速(4F),而1.10之后的版本可以适当变通这个基本要求,可以一只手拿速度快的武器,而另一只手拿伤害高的武器。资料片ww 1.0和1.11选择目标的几个规则:    捜索目标的范围固定为5,即Range=5,这个范围和武器无关。    选择目标时,下一个目标ID将会与前一个目标ID相匹配。    如果没有新目标,则攻击同一个目标。资料片WW 1.10和1.11攻击目标的几种情况    如果没有可攻击目标,跳过攻击流程并且切换武器。    至少有一个目标的话,攻击两次,由于切换武器两次,基本相当于没有切换。两个简单的推论:   如果每次都目标可选的话,那么每次都是由同一把武器决定WW的攻击速度(第一击除外,因为只使用一把武器,然后切换)。   每次试图做出一个攻击并且却发有目标的时候,则切换武器(这里的切换武器指的是改变系统对于攻击速度计算的武器,而不是切换人物的左右手)。

admin 发表于 2020-1-13 07:30:56

1.暗吧【旋风理论】精华帖中有争议的例子——旋风是否存在最小攻击范围:
这里之所以说有争议,至少从代码中我没看到【最小范围】,关于范围设定只有搜索敌人的范围,Range=5,相当于约3.33码。
因为是固定索敌范围,所以个人认为也可以看作是WW的最大有效攻击范围。


2.暗吧【旋风理论】精华帖中有争议的例子——范围不同的双武 器旋风攻击范围计算:
目前存在两种观点,【每把武 器独立计算】和【只计算主手武 器】。
从代码来看是这样的:当前武 器如果没有检测到有效目标,则不再进行另一把武 器的检测,也就是说另一把武 器的攻击范围更大也没有用。
所以范围不同的双武 器旋风,其攻击范围只是基于武 器基本属性而已。


3.暗吧【旋风理论】精华帖中有争议的例子——双武 器旋风的ITD是否有效:
首先两把武 器都有ITD属性是确定有效的,目前的争议点在于双武 器只有一把有ITD属性时,ITD是否有效。
这里可以类比我举的【攻击范围】的例子,同时结合目标匹配规则,基本上是这样的:当前武 器如果没有命中目标,则不再进行另一把武 器的检测。
所以双武 器只有一把有ITD属性时,ITD也是有效的,但是另一把武 器的命中率不能太低。


4.暗吧【旋风理论】精华帖中有争议的例子——双武 器旋风的AR算法:
双武 器的面板AR显示为主手武 器AR,但是低AR武 器会拉低高AR武 器的命中率。
参考我之前举的【range】和【ITD】的例子,同时结合目标匹配规则,基本上是这样的:当前武 器如果没有命中目标,则不再进行另一把武 器的检测。
这就是为什么会出现类似于【命中惩罚】这样的情况的原因,但其实暗黑2是没有【双武 器命中惩罚】设定的。


5.关于目标选择的一个补充说明:
对于1.09之后的版本,这个目标选择的流程简单来说就是:
发现目标——攻击目标——发现目标(在1.09时范围内只有一个目标则跳过攻击目标,1.10/1.11直接攻击同一个目标)——攻击目标。


6.关于IMPK资料馆的旋风攻速计算器的一个补充说明:
资料馆精华帖的提供了一个旋风攻速计算器【Excel版的全面攻速计算器】,但是作者在理论方面存在疏漏,所以计算结果不具备参考价值。其实出现这种问题的根源是语言问题:
【旋风基本原理】的原作者是法国人,他用英语写了这篇文章,之后这篇文章被国人翻译了中文,所以很多基本概念才会出现诸多误解。
页: [1]
查看完整版本: [1.10&1.11] Barbarian Whirlwind 修改细节补遗