|
下击空挥 [Next Hit Always Miss]! C: L, j h1 ^. s
我印象中这好像是一个大约在09年前后提出来的概念,这个BUG的表现形式为:% k( S# K: |: f7 v# B e" j
一些直接作用于玩家角色的“可打断攻击类型的动画”,比如击退/眩晕/打击回复/格挡/躲避等等,必然会导致玩家角色的下一次攻击MISS掉攻击目标,这个BUG几乎没有例外,其中包括那些具备跳过HTC流程功能的技能,比如盾击等,也包括各种法术类技能,比如火球等。不过远程法术类的MISS相对特殊一些,体现在释放方向并不会沿着玩家角色的指定方向,而是实际会发生偏转。7 e' N0 H. ]* T% z5 D4 A
: N) f1 {1 k( {0 g- f0 M' u
1 M `+ n0 l3 f很明显,这个BUG对于近战的影响相对于远程更加严重一些。对于需要冲进敌群砍杀的角色,被打击回复/格挡造成MISS的影响是很大的,下面是一个假想的100%空手接白刃的循环式场景:9 m, z" A2 |6 U" t
1. 开始砍怪
) ?4 y. Y/ g/ s, F2. 正在砍怪的过程中,被格挡打断2 \- ~$ O. z" z* V3 @4 ?6 J' F# b" @
3. 格挡动画完毕,继续开砍,但是这次攻击100%会MISS
/ e% z: s6 I5 U) p4. 砍怪的过程再次被打击回复中断
! p& {. _, F m& C) b$ Y9 J5. 打击回复动画完毕,继续开砍,再次发生100%的MISS5 c' k$ |$ P7 ^9 B1 {7 V$ a9 s& |
' Y+ u9 k3 h( b4 B( O! L6 G) I1 [+ p% ~$ J: }
这个BUG的产生原因主要是服务端和客户端的异步问题,对于实际游戏的几乎全部攻击方式都会产生影响,只不过对于各种近战Build的影响更大一些,这其中也包括高防御高格挡的PAL。2 c Y- k! x8 H9 Q) g* \
0 B: g0 Y( B9 h$ y- X
( b& A% G2 Q; M1 c2 B( \7 K8 _服务端D2Common functions相关的代码问题引起了很多BUG,包括再生尸BUG,击退(Fend)/热诚(Zeal)/炮轰(Strafe)的BUG,无形投射物或不可见的其他攻击,以及旋风(WW)和跳跃(Leap)的相关BUG等等。
( k# V' w" f& g( \5 d0 F# |7 t$ @4 a, e( j
: O( n8 T9 E. A
大概原因就是服务端会根据当前模式的Animdata,为触发帧设置对应的事件,而完成这个触发事件后,会在结束帧后再加上一帧,而这一帧是另外一个事件,其功能是清除和结束,至于问题主要就是出现在这里,这里用1/256替代了0,所以当意外情况发生时就无法正常工作了,比如调用D2Common AnimClass时,最终的结果就是导致接下来的事件会停止工作。
$ c$ Z5 g0 s6 f! A |
|