Site icon Want2PlayGame

撕裂伤口+刃甲=无敌? 浅谈此Bug原理

在昨天@1895西西鱼的微博中,出现了一个起死回生的情况,即冥魂状态结束后并没有死,而是活了下来。
其实关于这一点,相信各位早已从各种渠道了解了实现方法,即【撕裂伤口+刃甲】。


撕裂伤口+刃甲大家早就知道了,如果本站的水平仅仅是告诉大家实现的方式是撕裂伤口+刃甲的话,也太对不起大家的关注了。本微博讨论的是why,而不是how。以下的内容将浅谈【为什么】撕裂伤口+刃甲=死不了。

  1. 1.撕裂伤口为特殊的全类型吸血,包括攻击吸血和技能吸血,额外的,撕裂伤口还可以利用刃甲的伤害吸血(这是其他技能吸血做不到的),如图1。需要注意的是,具有生命移除标记的伤害不能通过撕裂伤口吸血,比如幽鬼的折射,宙斯的静电场等。


图1

  1. 2.在一个结算流程中,如果存在治疗,且治疗的结算顺序靠后,那么确实存在单位从0血回复到0以上血量的情况,如图2,图3。在图2中,残血斧王大根残血开大尸王,于是发生了如下事件:斧王指死尸王→尸王血量到0→尸王刃甲弹死斧王→斧王死亡,触发了尸王大招的回血→尸王生命值从0回复至556→结算结束,如图3中战斗记录所示。所以我们并不会在图2中看到双双殉情的尸王和斧王,而是会看到活到最后的尸王。


图2

图3

  1. 3.斧王大招的斩杀伤害和冥魂状态结束后的结算伤害具有一个共性,那就是它们造成的伤害都会被刃甲反弹一个伤害为0的实例,这个数值为0的反弹伤害不会触发闪烁匕首、打断恢复品,但可以打断光之守卫的传送,可以打断祸乱之源的噩梦,说明刃甲确实反弹了一个伤害,如图4,图5;


图4

图5

  1. 4.当刃甲反弹一个0伤害时,撕裂伤口总会回复1生命值。

那么通过上述4点,可以得出一个怎样的结论呢?
以西西鱼视频中的火猫为例分析。

  1. 1.火猫因DP的伤害进入了冥魂状态;
  2. 2.冥魂状态结束前,火猫开了刃甲,然后冥魂伤害结算,刃甲反弹了一个0伤害给DP;
  3. 3.小狗给DP一个撕裂伤口,这个伤害可以通过刃甲吸血,刃甲造成了一个0伤害,火猫通过撕裂伤口回复了1生命值;
  4. 4.此时结算流程结束,同一时刻再也没有其他技能对火猫造成伤害,因此火猫以1血活了下来。

可以看到,上述的分析与事实符合的非常好。
同样的道理可以解释斧王斩杀一个撕裂伤口+刃甲的小狗,小狗总会剩1滴血不死,大家感兴趣的话可以自己分析一下,如图6.

图6
P.S:
这个bug存在很久很久了,本人在15 16年的时候就研究过这个机制,dota2 dev论坛里也反馈了这个bug很久了,但一直都没有修复。曾经血魔也可以,但后来修复了。至于什么时候会修复?不知道。

Exit mobile version