|
下击空挥 [Next Hit Always Miss]9 c, b9 K* v- M
我印象中这好像是一个大约在09年前后提出来的概念,这个BUG的表现形式为:
6 H+ E. \+ K3 [5 H. ]) r一些直接作用于玩家角色的“可打断攻击类型的动画”,比如击退/眩晕/打击回复/格挡/躲避等等,必然会导致玩家角色的下一次攻击MISS掉攻击目标,这个BUG几乎没有例外,其中包括那些具备跳过HTC流程功能的技能,比如盾击等,也包括各种法术类技能,比如火球等。不过远程法术类的MISS相对特殊一些,体现在释放方向并不会沿着玩家角色的指定方向,而是实际会发生偏转。
9 t2 e1 v1 z5 D8 ]7 \; Z$ v
6 I n7 _5 H/ Z* q9 N3 P6 E
* s2 n0 T4 S6 X: E很明显,这个BUG对于近战的影响相对于远程更加严重一些。对于需要冲进敌群砍杀的角色,被打击回复/格挡造成MISS的影响是很大的,下面是一个假想的100%空手接白刃的循环式场景:' j; s- |" X* c2 O! N
1. 开始砍怪
/ W Q8 I& l. h/ W: g/ O2. 正在砍怪的过程中,被格挡打断6 m4 Y+ h2 S8 P7 q' p$ H- }* C
3. 格挡动画完毕,继续开砍,但是这次攻击100%会MISS
1 _; q8 u7 ^4 R8 {4. 砍怪的过程再次被打击回复中断% ]4 ^$ l4 x* L) J7 S) |$ u
5. 打击回复动画完毕,继续开砍,再次发生100%的MISS
+ q d& ]/ M) ~1 b2 F; J9 T0 q. J p
8 _: `# V) U0 O' D0 d
: `. p9 D/ Z: U! H; q这个BUG的产生原因主要是服务端和客户端的异步问题,对于实际游戏的几乎全部攻击方式都会产生影响,只不过对于各种近战Build的影响更大一些,这其中也包括高防御高格挡的PAL。
9 }( Q5 I! a4 X# p& L) s3 B5 b- L2 j C/ n: }- h
- ], \1 v* T4 m
服务端D2Common functions相关的代码问题引起了很多BUG,包括再生尸BUG,击退(Fend)/热诚(Zeal)/炮轰(Strafe)的BUG,无形投射物或不可见的其他攻击,以及旋风(WW)和跳跃(Leap)的相关BUG等等。
9 R( Q& L7 w: ]; N6 m8 |* k
. T; s2 }8 N* N4 P- }4 L9 z8 `+ v7 |% \( P2 U' ~# f
大概原因就是服务端会根据当前模式的Animdata,为触发帧设置对应的事件,而完成这个触发事件后,会在结束帧后再加上一帧,而这一帧是另外一个事件,其功能是清除和结束,至于问题主要就是出现在这里,这里用1/256替代了0,所以当意外情况发生时就无法正常工作了,比如调用D2Common AnimClass时,最终的结果就是导致接下来的事件会停止工作。
& ~. ^; m- @5 B6 z! H3 v D |
|