|
下击空挥 [Next Hit Always Miss]* w8 T: l( Z m0 y
我印象中这好像是一个大约在09年前后提出来的概念,这个BUG的表现形式为:8 u3 ^2 r/ \/ p/ a: `$ w
一些直接作用于玩家角色的“可打断攻击类型的动画”,比如击退/眩晕/打击回复/格挡/躲避等等,必然会导致玩家角色的下一次攻击MISS掉攻击目标,这个BUG几乎没有例外,其中包括那些具备跳过HTC流程功能的技能,比如盾击等,也包括各种法术类技能,比如火球等。不过远程法术类的MISS相对特殊一些,体现在释放方向并不会沿着玩家角色的指定方向,而是实际会发生偏转。* X/ a7 P7 t8 R# Y7 z g
# O5 h, I) w' f4 p$ \: H: j& A; O# X; b* Y0 t' \
很明显,这个BUG对于近战的影响相对于远程更加严重一些。对于需要冲进敌群砍杀的角色,被打击回复/格挡造成MISS的影响是很大的,下面是一个假想的100%空手接白刃的循环式场景:& W" o! ?6 x+ X! e
1. 开始砍怪
& j" N3 t, j* x0 X7 A" W2. 正在砍怪的过程中,被格挡打断
' K% G' q9 A% `. ? v& z2 m. a3. 格挡动画完毕,继续开砍,但是这次攻击100%会MISS; f9 K- S6 p+ |0 [
4. 砍怪的过程再次被打击回复中断& |! |& ~* p# ^9 j6 T
5. 打击回复动画完毕,继续开砍,再次发生100%的MISS2 x- W) ?' ]% j9 x* d( n
4 X6 F$ P2 k! ~) Q* O1 Q# d
! w; G" C) N4 m& a& D这个BUG的产生原因主要是服务端和客户端的异步问题,对于实际游戏的几乎全部攻击方式都会产生影响,只不过对于各种近战Build的影响更大一些,这其中也包括高防御高格挡的PAL。6 H P/ y A, Y/ E9 v, }
V6 s# R8 T: S: H* B
% O4 Q- n& f) v( S' c/ k% O
服务端D2Common functions相关的代码问题引起了很多BUG,包括再生尸BUG,击退(Fend)/热诚(Zeal)/炮轰(Strafe)的BUG,无形投射物或不可见的其他攻击,以及旋风(WW)和跳跃(Leap)的相关BUG等等。
# z. j n o- F2 v7 T y& ~$ q; x
# z) m* f( E4 F4 U& N! Z( k2 i
1 C, f! X- E/ x5 w: h大概原因就是服务端会根据当前模式的Animdata,为触发帧设置对应的事件,而完成这个触发事件后,会在结束帧后再加上一帧,而这一帧是另外一个事件,其功能是清除和结束,至于问题主要就是出现在这里,这里用1/256替代了0,所以当意外情况发生时就无法正常工作了,比如调用D2Common AnimClass时,最终的结果就是导致接下来的事件会停止工作。
7 r6 L% U4 H, J$ X" W9 V |
|