撕裂傷口+刃甲=無敵?淺談此Bug的原理

在1895西西魚的微博中,出現了一個起死回生的情況,即冥魂狀態結束後並沒有死,而是活了下來。

其實關於這一點,相信各位早已從各種渠道瞭解了實現方法,即【撕裂傷口+刃甲】。

撕裂傷口+刃甲大家早就知道了,如果本站的水平僅僅是告訴大家實現的方式是撕裂傷口+刃甲的話,也太對不起大家的關注了。本微博討論的是why,而不是how。以下的內容將淺談【為什麼】撕裂傷口+刃甲=死不了。

1.撕裂傷口為特殊的全類型吸血,包括攻擊吸血和技能吸血,額外的,撕裂傷口還可以利用刃甲的傷害吸血(這是其他技能吸血做不到的),如圖1。需要注意的是,具有生命移除標記的傷害不能通過撕裂傷口吸血,比如幽鬼的折射,宙斯的靜電場等。

圖1

2.在一個結算流程中,如果存在治療,且治療的結算順序靠後,那麼確實存在單位從0血回覆到0以上血量的情況,如圖2,圖3。在圖2中,殘血斧王大根殘血開大屍王,於是發生瞭如下事件:斧王指死屍王→屍王血量到0→屍王刃甲彈死斧王→斧王死亡,觸發了屍王大招的回血→屍王生命值從0回覆至556→結算結束,如圖3中戰鬥記錄所示。所以我們並不會在圖2中看到雙雙殉情的屍王和斧王,而是會看到活到最後的屍王。

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

圖2

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

圖3

3.斧王大招的斬殺傷害和冥魂狀態結束後的結算傷害具有一個共性,那就是它們造成的傷害都會被刃甲反彈一個傷害為0的實例,這個數值為0的反彈傷害不會觸發閃爍匕首、打斷恢復品,但可以打斷光之守衛的傳送,可以打斷禍亂之源的噩夢,說明刃甲確實反彈了一個傷害,如圖4,圖5;

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

圖4

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

圖5

4.當刃甲反彈一個0傷害時,撕裂傷口總會回覆1生命值。

那麼通過上述4點,可以得出一個怎樣的結論呢?

以西西魚視頻中的火貓為例分析。

1.火貓因DP的傷害進入了冥魂狀態;

2.冥魂狀態結束前,火貓開了刃甲,然後冥魂傷害結算,刃甲反彈了一個0傷害給DP;

3.小狗給DP一個撕裂傷口,這個傷害可以通過刃甲吸血,刃甲造成了一個0傷害,火貓通過撕裂傷口回覆了1生命值;

4.此時結算流程結束,同一時刻再也沒有其他技能對火貓造成傷害,因此火貓以1血活了下來。

可以看到,上述的分析與事實符合的非常好。

同樣的道理可以解釋斧王斬殺一個撕裂傷口+刃甲的小狗,小狗總會剩1滴血不死,大家感興趣的話可以自己分析一下,如圖6.

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

圖6

P.S:

這個bug存在很久很久了,本人在15 16年的時候就研究過這個機制,dota2dev論壇裡也反饋了這個bug很久了,但一直都沒有修復。曾經血魔也可以,但後來修復了。至於什麼時候會修復?不知道。


分享到:


相關文章: