当前位置:新浪DOTA2专区 >> 正文 作者:莫无煜 来源:MAX 时间:2019-04-18 13:17:09
为什么灰烬之灵烈火罩被一次普通攻击破掉
为什么灰烬之灵的烈火罩会被一次普通攻击破掉?

  这些天在社区看到了一个问题——为什么灰烬之灵的烈火罩会被普通攻击A掉。

A一下,火猫盾消失A一下,火猫盾消失

  “?”

  “咱也不知道刚刚发生了些什么,咱也不敢问。”

  没关系,今天我们就来聊一个知道了完全没有任何用途,但是就是能拿GIF图装逼的一个机制。

  简易分析

  第一张GIF的完整动作为

火猫盾消失完整动画火猫盾消失完整动画

  动图没有进行过任何修改,其中宙斯为7级无装备,4级雷击。灰烬之灵为任意等级,3级烈火罩无天赋。

  GIF的大致原理是:烈火罩在只剩下不到1点格挡量时,只要再受到任何伤害,烈火罩就会消失。

  已知宙斯为7级时,其智力为21+3.3*6=40.8,那么其技能增强为40.8*0.07%=2.856%。

  4级雷击的伤害为350,其受到技能增强后的伤害为359.996。

  3级烈火罩能吸收360点魔法伤害。

  可以看到,烈火罩恰好能把所有伤害吸收,然后剩下不到1点格挡量。在被A了一下后,便彻底消失了。

  而且在格挡量耗尽之际,受到任何形式的伤害都会消失,甚至包括八竿子打不着的竭心光环伤害。

火猫盾消失+竭心光环火猫盾消失+竭心光环

  但是唯独受到含有“生命消耗型、生命设定型生命移除标记”的伤害后不会消失。它们分别是

生命消耗型生命移除标记生命消耗型生命移除标记
生命设定型生命移除标记生命设定型生命移除标记

  这就是为什么会出现明明是格挡魔法伤害的技能,却被一个普通的平A给破了的奇妙景象。

  这个机制不仅仅对烈火罩有效,对于挑战头巾和洞察烟斗这类同样格挡魔法伤害的技能都有效。

洞察烟斗吃伤害,被A爆洞察烟斗吃伤害,被A爆

  至于下面一张GIF,其实是由第一张GIF的完整规则发展出来的,其具体原因将在下一章阐述。

雷霆之击A杖亚巴顿没有回血,大根回血雷霆之击A杖亚巴顿没有回血,大根回血

  严谨分析

  本章节的分析将较为严谨,且会完善上一章节中为了便于理解而作出的简化的内容。

  首先请看一个GIF

火猫盾+雷霆之击火猫盾+雷霆之击

  在以上GIF中,火猫盾的格挡量为200,而雷霆之击的伤害被修改为100次1点伤害,伤害间隔为0.01秒。

  可以计算得出,即使算上技能增强,伤害也不超过110点,但是却让一个能格挡200点伤害的烈火罩消失。

  这是什么原因呢?

  事实上,在上一章中提到的所谓的“不到1点格挡量”的情况是不存在的。

  像烈火罩这样的格挡魔法的技能,剩余的格挡量总是一个整数。即使受到1.01点伤害,其格挡量都会减少2点。如此一来,烈火罩-2减了100次,自然也就将烈火盾的格挡量完全消耗光了。

  那么为什么格挡量明明消耗光了,烈火罩却仍旧存在,没有消失呢?

  据笔者分析,烈火罩是否消失和烈火罩的格挡减少并不是同样的判断流程。判断烈火罩的格挡减少应该是先减去伤害值后,舍弃掉小数部分。而判断烈火罩消失则是判断剩余格挡量和伤害值哪个高。

  Floor(2-1.01) --> 0

  2<=1.1 --> false

  所以就会出现虽然剩余0点格挡量,但是烈火罩却并没有消失的原因。

  那么为什么被任意伤害打到,烈火罩就会消失呢?

  笔者分析,应该是因为任意伤害都会进入伤害结算流程,而进入流程后,都必然会对烈火罩的格挡进行判定。魔法伤害自不必说,如果是物理、纯粹伤害,那么魔法伤害为0,烈火罩进行了一次格挡量计算Floor(0-0) --> 0,伤害不会发生变化;同时进行一次存在性判断0<=0 --> true,判定正确,烈火罩消失。

  而这也就是为什么随便什么伤害都能使烈火罩消失的原因。

  同样的,这也解释了为什么含有“生命消耗型、生命设定型生命移除标记”的伤害不会把烈火罩打没,原因就是拥有这些标记的伤害根本不会进入伤害结算流程进行判定,自然也就不会打破烈火罩了。

  因此根据这一理论,自然也就解释了上一章中结论极为不合理的一点:为啥还有格挡量的烈火罩会被不包含魔法伤害的平A给打没了。

  而这一理论也衍生出了第二章GIF。须知在笔者的认知中,烈火罩和挑战笛子都是伤害格挡的一种,属于传统格挡中的魔法伤害格挡。那么既然这一类格挡有这种奇怪的性质,那么其他格挡呢?

  同样典型的格挡类技能,便是在伤害结算流程最后的“末端伤害格挡”

末端伤害格挡末端伤害格挡

  而第二张GIF便是亚巴顿的A杖效果:将光环内敌人受到的50%伤害转移到自己身上。

  在那张GIF中,修改了部分数据,其中雷霆之击的伤害为100次1点伤害,伤害间隔为0.01秒;亚巴顿的全属性成长为0。

  可以看到,虽然旁边有一个A杖亚巴顿,但是伤害并没有被吸收。普通亚巴顿仍旧被雷霆之击打击了100滴血,A杖亚巴顿也没有任何恢复。然而这并不是因为A杖失效了,因为之后的大根确实给A杖亚巴顿回了血。

  那么究竟发生了什么呢?末端伤害格挡在格挡时,也只会格挡一个整数。和魔法格挡不同的是,魔法格挡是进一法得出整数,而末端伤害格挡是去尾法得到整数。虽然雷霆之击的伤害大约1.06点,但是回光返照只吸收50%,也就是0.53点伤害,在去尾后就只剩下0点伤害。所以算下来,虽然享受到了伤害减免,但是算下来减少0点伤害,所以相当于没有减伤。

  这也就是发生第二张GIF的情形的原因。

  而这一特性也同样适用于其他的五个技能。

雷霆之击+幽灵船雷霆之击+幽灵船
雷霆之击+护卫雷霆之击+护卫

  只不过因为这个机制过于特殊,很难找到一些单次实际伤害量极低的技能,所以这个机制没有什么实战价值,知道就知道了,不知道也不妨事。

  总结

  利用伤害间隔短,伤害量低,伤害段数多的技能,可以以更“小”的代价破烈火盾、挑战头巾、洞察烟斗。

  例如枷锁(暗影萨满)的伤害为60/160/260/360,但是实际能减少护盾84/175/301/400点格挡量。离子外壳(黑暗贤者)的秒伤为30/50/70/90,但能每秒减少护盾40/60/80/100点格挡量。

  不过实战中这点额外减少的格挡量对于实战的影响较小,没什么太多影响。

  反倒是可以利用这个机制去反推哪些技能拥有“生命消耗型、生命设定型生命移除标记”,不过即便如此,也不过是些不太需要知道的边角机制,不足道也。

  所以还是选择拿这些GIF去装逼吧。

  全文完。

新浪声明:新浪网登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。

新浪游戏APP下载

新浪简介 | About Sina | 网站地图 | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 通行证注册 | 产品答疑


Copyright © 1996-2015 SINA Corporation, All Rights Reserved


新浪公司 版权所有