|
下击空挥 [Next Hit Always Miss]1 n. Q$ D9 C, V
我印象中这好像是一个大约在09年前后提出来的概念,这个BUG的表现形式为:
* Y) A9 g0 j) Z% n9 W, H一些直接作用于玩家角色的“可打断攻击类型的动画”,比如击退/眩晕/打击回复/格挡/躲避等等,必然会导致玩家角色的下一次攻击MISS掉攻击目标,这个BUG几乎没有例外,其中包括那些具备跳过HTC流程功能的技能,比如盾击等,也包括各种法术类技能,比如火球等。不过远程法术类的MISS相对特殊一些,体现在释放方向并不会沿着玩家角色的指定方向,而是实际会发生偏转。' G' X# {( ~; x1 L$ A
3 O( b' S6 i! U. F9 D1 D" N5 H) X H) a; M$ H9 P" f/ Y
很明显,这个BUG对于近战的影响相对于远程更加严重一些。对于需要冲进敌群砍杀的角色,被打击回复/格挡造成MISS的影响是很大的,下面是一个假想的100%空手接白刃的循环式场景:) }+ o6 f2 F) }; i9 L
1. 开始砍怪2 o2 u" }5 c+ r
2. 正在砍怪的过程中,被格挡打断5 z; ?; J; N; {* ~
3. 格挡动画完毕,继续开砍,但是这次攻击100%会MISS" M+ b1 l, z; x1 h* z
4. 砍怪的过程再次被打击回复中断& S* \+ L [3 @% R1 j
5. 打击回复动画完毕,继续开砍,再次发生100%的MISS
8 k; }$ G6 S3 b3 }& F' v0 D+ B1 w& E6 F) l0 _6 U' [) m [: S
, U0 Z% g3 J7 [3 ?0 y这个BUG的产生原因主要是服务端和客户端的异步问题,对于实际游戏的几乎全部攻击方式都会产生影响,只不过对于各种近战Build的影响更大一些,这其中也包括高防御高格挡的PAL。
$ | I: ^# n& i& R2 f4 t
' S, Q3 x; \- c$ T' R5 ^' P
6 @) [/ b; I+ b5 z/ u2 l6 X服务端D2Common functions相关的代码问题引起了很多BUG,包括再生尸BUG,击退(Fend)/热诚(Zeal)/炮轰(Strafe)的BUG,无形投射物或不可见的其他攻击,以及旋风(WW)和跳跃(Leap)的相关BUG等等。6 _& T- Z6 V6 a) K& x
1 w& V2 L' m5 I* t
) O3 Q3 y$ v8 k6 N大概原因就是服务端会根据当前模式的Animdata,为触发帧设置对应的事件,而完成这个触发事件后,会在结束帧后再加上一帧,而这一帧是另外一个事件,其功能是清除和结束,至于问题主要就是出现在这里,这里用1/256替代了0,所以当意外情况发生时就无法正常工作了,比如调用D2Common AnimClass时,最终的结果就是导致接下来的事件会停止工作。
# P9 g4 P# g v2 q! ]$ n% a/ C$ I |
|