二、守方伤害修正
我们继续上面的示例,假设守方是一个穿着板甲的人物,那么他的伤害减免能力应该如下图所示
图中的蓝圈部分列出了守方的伤害减免能力,“Damage Reduction:12”是通用伤害减免,这表示他可以将Raw伤害之外的所有类型的伤害降低12点。下面是三项特定伤害减免,其中对挥砍伤害减免15点、对穿刺伤害减免15点、对冲击伤害减免6点。注意,特定伤害减免与通用伤害减免不是叠加关系,而是替代关系,特定伤害减免的优先级高于通用伤害减免。那么我们可以这样描述这个人物的伤害减免能力:
除了Raw伤害之外,该人物对挥砍伤害减免15点、对穿刺伤害减免15点、对冲击伤害减免6点、对其他类型的伤害减免12点。
在攻方伤害修正的计算过程中,我们给出了一个战士攻击时的具体实例,那么在攻方伤害修正的过程结束之后,守方收到了一个穿刺类型的伤害值,我们用PierceDamage来表示。守方同时还收到了一个冲击类型的伤害值,我们以ShockDamage来表示。在守方进行伤害修正之前,PierceDamage和ShockDamage在数值上是相等的,那么守方如何对这些伤害进行修正呢?
很简单,守方将根据自身的伤害减免能力,使用同类型的伤害减免数值进行修正。计算过程也非常简单:修正之后的伤害值 = 攻方伤害值 - 守方减免值。那么:
( PierceDamage - 15 ) 就是修正过后的穿刺类型伤害值
( ShockDamage - 6 ) 就是修正过后的冲击类型伤害值
由于攻方对于冲击伤害值有25%的转化率,所以守方实际需要承受的冲击伤害为 ( ShockDamage - 6 ) * 0.25
那么经过守方的伤害修正之后,攻方的整体伤害值就变为
( PierceDamage - 15 ) + ( ShockDamage - 6 ) * 0.25
如果没有特殊情况的话,这就是伤害计算的最终值。但是,假如守方拥有极强的伤害减免能力,那么很可能会让攻方的伤害变得极低,甚至削减成负值。如果攻方的攻击不但不能伤害对方,反而会给对方加血,那显然是不合理的,所以在POE中规定:
A、对于任何有效的攻击,伤害减免之后的数据不可以是负值。
B、对于任何有效的攻击,主体伤害至少可以造成攻方修正值的20%伤害。
这又是什么意思,我们举例来说明:
在刚才的示例当中,假设守方依靠自身的伤害减免能力将 PierceDamage 和 ShockDamage 全部降为负值。那么由于穿刺类型的伤害直接源自攻方的武器,因此将被视为主体伤害,冲击伤害由主体伤害转化而来,所以视为附加伤害。根据上面两条规则的限制,穿刺伤害的最终修正值将变为 PierceDamage * 20% ,而 ShockDamage 将被减免为零。此时,游戏中的战斗记录会在修正伤害值的末尾加上(MIN)的标识加以区分,我把这个过程称为伤害最小值限定修正。如下图蓝圈部分所示:
我们可以用( PierceDamage - 15 ) < PierceDamage * 20% 这个不等式来计算发生伤害最小值限定修正的临界点,计算结果为 PierceDamage < 18.75,也就是说,如果攻方提供的伤害期望值小于18.75,那么经过守方伤害减免之后就会出现伤害最小值限定修正。
根据以上的各种计算,在我们所举出的示例当中,攻方对守方发动武器攻击之后,经过双方修正之后的最终伤害值范围如下,计算过程略过:
当攻击判定为擦伤时,伤害浮动范围是 5.0~9.5
当攻击判定为击中时,伤害浮动范围是 8.3~19.5
当攻击判定为暴击时,伤害浮动范围是 15.2~29.5
更多相关资讯请关注:永恒之柱专题